diff --git a/.gitignore b/.gitignore index be59d5e852..fbaba047c0 100644 --- a/.gitignore +++ b/.gitignore @@ -20,6 +20,7 @@ build/ baserom/ decomp/ asm/ +data/ expected/ nonmatchings/ diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 902e6288d2..add3307a03 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -98,7 +98,7 @@ void CollisionCheck_SpawnWaterDroplets(GlobalContext* globalCtx, Vec3f* v) { // ... } #else -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_collision_check/CollisionCheck_SpawnWaterDroplets.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/CollisionCheck_SpawnWaterDroplets.s") #endif ``` diff --git a/Jenkinsfile b/Jenkinsfile index 60fca320f3..7212f269ba 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -20,6 +20,16 @@ pipeline { sh 'python3 tools/warnings_count/compare_warnings.py tools/warnings_count/warnings_setup_current.txt tools/warnings_count/warnings_setup_new.txt' } } + stage('Disasm') { + steps { + sh 'bash -c "make -j disasm 2> >(tee tools/warnings_count/warnings_disasm_new.txt)"' + } + } + stage('Check disasm warnings') { + steps { + sh 'python3 tools/warnings_count/compare_warnings.py tools/warnings_count/warnings_disasm_current.txt tools/warnings_count/warnings_disasm_new.txt' + } + } stage('Build') { steps { sh 'bash -c "make -j all 2> >(tee tools/warnings_count/warnings_build_new.txt)"' diff --git a/Makefile b/Makefile index 207cdec25a..09bd6f6e64 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,7 @@ MAKEFLAGS += --no-builtin-rules +# Build options can either be changed by modifying the makefile, or by building with 'make SETTING=value' + # If COMPARE is 1, check the output md5sum after building COMPARE ?= 1 # If NON_MATCHING is 1, define the NON_MATCHING C flag when building @@ -13,31 +15,41 @@ ifeq ($(NON_MATCHING),1) COMPARE := 0 endif +PROJECT_DIR := $(dir $(realpath $(firstword $(MAKEFILE_LIST)))) + +MAKE = make +CPPFLAGS += -P + ifeq ($(OS),Windows_NT) - DETECTED_OS=windows + DETECTED_OS=windows else - UNAME_S := $(shell uname -s) - ifeq ($(UNAME_S),Linux) - DETECTED_OS=linux - endif - ifeq ($(UNAME_S),Darwin) - DETECTED_OS=macos - MAKE=gmake - CPPFLAGS += -xc++ - endif + UNAME_S := $(shell uname -s) + ifeq ($(UNAME_S),Linux) + DETECTED_OS=linux + endif + ifeq ($(UNAME_S),Darwin) + DETECTED_OS=macos + MAKE=gmake + CPPFLAGS += -xc++ + endif +endif + +# Threads to compress and extract assets with, TODO improve later +ifeq ($(DETECTED_OS),linux) + N_THREADS ?= $(shell nproc) +else + N_THREADS ?= 1 endif #### Tools #### ifeq ($(shell type mips-linux-gnu-ld >/dev/null 2>/dev/null; echo $$?), 0) MIPS_BINUTILS_PREFIX := mips-linux-gnu- else - MIPS_BINUTILS_PREFIX := mips64-elf- + $(error Please install or build mips-linux-gnu) endif CC := tools/ido_recomp/$(DETECTED_OS)/7.1/cc CC_OLD := tools/ido_recomp/$(DETECTED_OS)/5.3/cc -GCC := gcc -QEMU_IRIX ?= ./tools/qemu-mips # if ORIG_COMPILER is 1, check that either QEMU_IRIX is set or qemu-irix package installed ifeq ($(ORIG_COMPILER),1) @@ -51,66 +63,75 @@ ifeq ($(ORIG_COMPILER),1) CC_OLD = $(QEMU_IRIX) -L tools/ido5.3_compiler tools/ido5.3_compiler/usr/bin/cc endif -AS := $(MIPS_BINUTILS_PREFIX)as -LD := $(MIPS_BINUTILS_PREFIX)ld -OBJCOPY := $(MIPS_BINUTILS_PREFIX)objcopy -OBJDUMP := $(MIPS_BINUTILS_PREFIX)objdump +AS := $(MIPS_BINUTILS_PREFIX)as +LD := $(MIPS_BINUTILS_PREFIX)ld +OBJCOPY := $(MIPS_BINUTILS_PREFIX)objcopy +OBJDUMP := $(MIPS_BINUTILS_PREFIX)objdump -ZAPD := tools/ZAPD/ZAPD.out +# Check code syntax with host compiler +CHECK_WARNINGS := -Wall -Wextra -Wno-format-security -Wno-unknown-pragmas -Wno-unused-parameter -Wno-unused-variable -Wno-missing-braces -Wno-int-conversion -Wno-unused-but-set-variable -Wno-unused-label +CC_CHECK := gcc -fno-builtin -fsyntax-only -fsigned-char -std=gnu90 -D _LANGUAGE_C -D NON_MATCHING -Iinclude -Isrc -Iassets -Ibuild -include stdarg.h $(CHECK_WARNINGS) + +CPP := cpp +ELF2ROM := tools/buildtools/elf2rom +MKLDSCRIPT := tools/buildtools/mkldscript +YAZ0 := tools/buildtools/yaz0 +ZAPD := tools/ZAPD/ZAPD.out OPTFLAGS := -O2 -g3 -ASFLAGS := -march=vr4300 -32 +ASFLAGS := -march=vr4300 -32 -Iinclude MIPS_VERSION := -mips2 # we support Microsoft extensions such as anonymous structs, which the compiler does support but warns for their usage. Surpress the warnings with -woff. -CFLAGS += -G 0 -non_shared -Xfullwarn -Xcpluscomm -Iinclude -Isrc -Iassets -Ibuild -I./ -Isrc -Wab,-r4300_mul -woff 624,649,838,712 +CFLAGS += -G 0 -non_shared -Xfullwarn -Xcpluscomm -Iinclude -Isrc -Iassets -Ibuild -I. -Wab,-r4300_mul -woff 624,649,838,712 + +ifeq ($(shell getconf LONG_BIT), 32) + # Work around memory allocation bug in QEMU + export QEMU_GUEST_BASE := 1 +else + # Ensure that gcc treats the code as 32-bit + CC_CHECK += -m32 +endif #### Files #### # ROM image -MM_BASEROM ?= baserom.mm.us.rev1.z64 -MM_ROM_NAME ?= mm.us.rev1.rom -ROM := $(MM_ROM_NAME).z64 -UNCOMPRESSED_ROM := $(MM_ROM_NAME)_uncompressed.z64 -ELF := $(MM_ROM_NAME).elf +ROMC := mm.us.rev1.rom.z64 +ROM := $(ROMC:.rom.z64=.rom_uncompressed.z64) +ELF := $(ROM:.z64=.elf) +# description of ROM segments +SPEC := spec + +# create asm directories +$(shell mkdir -p asm data) SRC_DIRS := $(shell find src -type d) +ASM_DIRS := $(shell find asm -type d -not -path "asm/non_matchings*") $(shell find data -type d) ASSET_BIN_DIRS := $(shell find assets/* -type d -not -path "assets/xml*") BASEROM_DIRS := $(shell find baserom -type d 2>/dev/null) -COMP_DIRS := $(BASEROM_DIRS:baserom%=comp%) -BINARY_DIRS := $(BASEROM_DIRS:baserom%=binary%) ASSET_C_FILES := $(shell find assets/ -type f -name "*.c") ASSET_FILES_BIN := $(foreach dir,$(ASSET_BIN_DIRS),$(wildcard $(dir)/*.bin)) ASSET_FILES_OUT := $(foreach f,$(ASSET_FILES_BIN:.bin=.bin.inc.c),build/$f) -# Because we may not have disassembled the code files yet, there might not be any assembly files. -# Instead, generate a list of assembly files based on what's listed in the linker script. -S_FILES := $(shell grep build/asm ./linker_scripts/code_script.txt | sed 's/\s*build\///g; s/\.o(\..*)/\.asm/g') -C_FILES := $(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.c)) - -C_O_FILES := $(C_FILES:%.c=build/%.o) -S_O_FILES := $(S_FILES:asm/%.asm=build/asm/%.o) -ASSET_O_FILES := $(ASSET_C_FILES:%.c=build/%.o) -O_FILES := $(C_O_FILES) $(S_O_FILES) $(ASSET_O_FILES) - ## Assets binaries (PNGs, JPGs, etc) TEXTURE_FILES_PNG := $(foreach dir,$(ASSET_BIN_DIRS),$(wildcard $(dir)/*.png)) TEXTURE_FILES_JPG := $(foreach dir,$(ASSET_BIN_DIRS),$(wildcard $(dir)/*.jpg)) TEXTURE_FILES_OUT := $(foreach f,$(TEXTURE_FILES_PNG:.png=.inc.c),build/$f) \ $(foreach f,$(TEXTURE_FILES_JPG:.jpg=.jpg.inc.c),build/$f) \ -# create build directories -$(shell mkdir -p build/linker_scripts build/asm build/asm/boot build/asm/code build/asm/overlays $(foreach dir, $(COMP_DIRS) $(BINARY_DIRS) $(SRC_DIRS) $(ASSET_BIN_DIRS),$(shell mkdir -p build/$(dir)))) +C_FILES := $(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.c)) +S_FILES := $(foreach dir,$(ASM_DIRS),$(wildcard $(dir)/*.s)) +O_FILES := $(foreach f,$(S_FILES:.s=.o),build/$f) \ + $(foreach f,$(wildcard baserom/*),build/$f.o) \ + $(foreach f,$(C_FILES:.c=.o),build/$f) \ + $(foreach f,$(ASSET_C_FILES:.c=.o),build/$f) -# This file defines `ROM_FILES`, `UNCOMPRESSED_ROM_FILES`, and rules for generating `.yaz0` files -ifneq ($(MAKECMDGOALS), clean) -ifneq ($(MAKECMDGOALS), distclean) -$(shell tools/dmadata_dependencies.py \ - --dmadata-table=tables/dmadata_table.txt \ - --output-deps=build/rom_dependencies.d) --include build/rom_dependencies.d -endif -endif +# Automatic dependency files +# (Only asm_processor dependencies are handled for now) +DEP_FILES := $(O_FILES:.o=.asmproc.d) + +# create build directories +$(shell mkdir -p build/baserom $(foreach dir,$(SRC_DIRS) $(ASM_DIRS) $(ASSET_BIN_DIRS),build/$(dir))) build/src/libultra/os/%: OPTFLAGS := -O1 build/src/libultra/voice/%: OPTFLAGS := -O2 @@ -120,181 +141,134 @@ build/src/libultra/libc/ll%: OPTFLAGS := -O1 build/src/libultra/libc/ll%: MIPS_VERSION := -mips3 -32 build/src/libultra/gu/%: OPTFLAGS := -O2 build/src/libultra/rmon/%: OPTFLAGS := -O2 -build/src/boot_O1/%: OPTFLAGS := -O1 build/src/boot_O2/%: OPTFLAGS := -O2 build/src/boot_O2_g3/%: OPTFLAGS := -O2 -g3 -build/src/boot_O2_g3_trapuv/%: OPTFLAGS := -O2 -g3 -build/src/boot_O2_g3_trapuv/%: CFLAGS := $(CFLAGS) -trapuv + +build/src/boot_O2_g3/fault.o: CFLAGS += -trapuv +build/src/boot_O2_g3/fault_drawer.o: CFLAGS += -trapuv build/src/libultra/%: CC := $(CC_OLD) -build/src/libultra/io/%: CC := ./tools/preprocess.py $(CC_OLD) -- $(AS) $(ASFLAGS) -- -build/src/libultra/voice/%: CC := ./tools/preprocess.py $(CC_OLD) -- $(AS) $(ASFLAGS) -- +build/src/libultra/io/%: CC := python3 tools/asm-processor/build.py $(CC_OLD) -- $(AS) $(ASFLAGS) -- +build/src/libultra/os/%: CC := python3 tools/asm-processor/build.py $(CC_OLD) -- $(AS) $(ASFLAGS) -- +build/src/libultra/voice/%: CC := python3 tools/asm-processor/build.py $(CC_OLD) -- $(AS) $(ASFLAGS) -- -CC := ./tools/preprocess.py $(CC) -- $(AS) $(ASFLAGS) -- +CC := python3 tools/asm-processor/build.py $(CC) -- $(AS) $(ASFLAGS) -- -.PHONY: all clean setup diff-init init assetclean distclean assembly -# make will delete any generated assembly files that are not a prerequisite for anything, so keep it from doing so -.PRECIOUS: asm/%.asm -.DEFAULT_GOAL := $(UNCOMPRESSED_ROM) +#### Main Targets ### -# just using build/baserom still probably has some race condiction/dependency bug, but since -# it is first and should be completed relatively fast, it should not occur all that often. -$(UNCOMPRESSED_ROM): build/baserom $(TEXTURE_FILES_OUT) $(ASSET_FILES_OUT) $(UNCOMPRESSED_ROM_FILES) - ./tools/makerom.py ./tables/dmadata_table.txt $@ +uncompressed: $(ROM) ifeq ($(COMPARE),1) - @md5sum $(UNCOMPRESSED_ROM) + @md5sum $(ROM) @md5sum -c checksum_uncompressed.md5 endif -$(ROM): build/baserom $(ROM_FILES) - ./tools/makerom.py ./tables/dmadata_table.txt $@ -c +compressed: $(ROMC) ifeq ($(COMPARE),1) - @md5sum $(ROM) + @md5sum $(ROMC) @md5sum -c checksum.md5 endif -all: $(UNCOMPRESSED_ROM) $(ROM) ; +.PHONY: all uncompressed compressed clean assetclean distclean disasm init setup +.DEFAULT_GOAL := uncompressed +all: uncompressed compressed -build/code.elf: $(O_FILES) build/linker_scripts/code_script.ld undef.txt build/linker_scripts/object_script.ld build/dmadata_script.ld - $(LD) -T build/linker_scripts/code_script.ld -T undef.txt -T build/linker_scripts/object_script.ld -T build/dmadata_script.ld --no-check-sections --accept-unknown-input-arch -Map build/mm.map -N -o $@ +$(ROM): $(ELF) + $(ELF2ROM) -cic 6105 $< $@ -build/code_pre_dmadata.elf: $(O_FILES) build/linker_scripts/code_script.ld undef.txt build/linker_scripts/object_script.ld - $(LD) -r -T build/linker_scripts/code_script.ld -T undef.txt -T build/linker_scripts/object_script.ld --no-check-sections --accept-unknown-input-arch -N -o $@ +$(ROMC): $(ROM) + python3 tools/z64compress_wrapper.py --mb 32 --matching --threads $(N_THREADS) $< $@ $(ELF) build/$(SPEC) -build/dmadata_script.txt: tables/dmadata_table.txt build/code_pre_dmadata.elf - ./tools/dmadata.py ./tables/dmadata_table.txt /dev/null -u -l $@ -e build/code_pre_dmadata.elf - -build/dmadata: $(ROM_FILES:build/dmadata=) - ./tools/dmadata.py ./tables/dmadata_table.txt $@ - -build/uncompressed_dmadata: $(UNCOMPRESSED_ROM_FILES:build/uncompressed_dmadata=) - ./tools/dmadata.py ./tables/dmadata_table.txt $@ -u - -build/binary/boot build/binary/code: build/code.elf - $(OBJCOPY) --dump-section $(notdir $@)=$@ $< /dev/null - -build/binary/assets/scenes/%: build/code.elf - $(OBJCOPY) --dump-section $*=$@ $< /dev/null - -build/binary/overlays/%: build/code.elf - $(OBJCOPY) --dump-section $*=$@ $< /dev/null - - -#### ASM rules #### - -# Use an empty sentinel file (dep) to track the directory as a dependency, and -# emulate GNU Make's order-only dependency. -# The `touch $@; action || rm $@` pattern ensures that the `dep` file is older -# than the output files from `action`, and only exists if `action` succeeds. -asm/non_matchings/%/dep: asm/%.asm - @mkdir -p $(dir $@) - @touch $@ - ./tools/split_asm.py $< asm/non_matchings/$* || rm $@ - -asm/%.asm: asm/disasm.dep ; - -asm/disasm.dep: tables/files.txt tables/functions.txt tables/objects.txt tables/variables.txt tables/vrom_variables.txt - @mkdir -p asm - @touch $@ - ./tools/disasm.py -d ./asm -l ./tables/files.txt -f ./tables/functions.txt -o ./tables/objects.txt -v ./tables/variables.txt -v ./tables/vrom_variables.txt || rm $@ +$(ELF): $(TEXTURE_FILES_OUT) $(OVERLAY_RELOC_FILES) $(O_FILES) build/ldscript.txt build/undefined_syms.txt + $(LD) -T build/undefined_syms.txt -T build/ldscript.txt --no-check-sections --accept-unknown-input-arch --emit-relocs -Map build/mm.map -o $@ #### Main commands #### ## Cleaning ## clean: - $(RM) -rf $(ROM) $(UNCOMPRESSED_ROM) build + $(RM) -rf $(ROMC) $(ROM) $(ELF) build assetclean: $(RM) -rf $(ASSET_BIN_DIRS) $(RM) -rf build/assets + $(RM) -rf .extracted-assets.json distclean: assetclean clean - $(RM) -rf baserom/ asm/ expected/ + $(RM) -rf asm baserom data $(MAKE) -C tools clean ## Extraction step setup: $(MAKE) -C tools - ./tools/extract_rom.py $(MM_BASEROM) - python3 extract_assets.py + python3 tools/fixbaserom.py + python3 tools/extract_baserom.py + python3 extract_assets.py -t $(N_THREADS) ## Assembly generation -assembly: $(S_FILES) - @echo "Assembly generated." +disasm: + $(RM) -rf asm data + python3 tools/disasm/disasm.py diff-init: all $(RM) -rf expected/ mkdir -p expected/ cp -r build expected/build - cp $(UNCOMPRESSED_ROM) expected/$(UNCOMPRESSED_ROM) - cp $(ROM) expected/$(ROM) init: $(MAKE) distclean $(MAKE) setup - $(MAKE) assembly + $(MAKE) disasm $(MAKE) all $(MAKE) diff-init -# Recipes - -build/baserom: - cp -r baserom/ build/baserom/ - -# FIXME: The process of splitting rodata changes the assembly files, so we must avoid making .o files for them until that is done. -# The simplest way to do that is to give them an order dependency on .c files' .o files -build/asm/%.o: asm/%.asm | $(C_O_FILES) - iconv --from UTF-8 --to EUC-JP $^ | $(AS) $(ASFLAGS) -o $@ - -build/src/overlays/%.o: src/overlays/%.c - $(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $@ $< - ./tools/overlay.py $@ build/src/overlays/$*_overlay.s - $(AS) $(ASFLAGS) build/src/overlays/$*_overlay.s -o build/src/overlays/$*_overlay.o - -build/%.o: %.c - $(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $@ $< - build/assets/%.o: assets/%.c $(CC) -I build/ -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $@ $< +#### Various Recipes #### + +build/undefined_syms.txt: undefined_syms.txt + $(CPP) $(CPPFLAGS) $< > build/undefined_syms.txt + +build/ldscript.txt: $(SPEC) + $(CPP) $(CPPFLAGS) $< > build/spec + $(MKLDSCRIPT) build/spec $@ + +build/baserom/%.o: baserom/% + $(OBJCOPY) -I binary -O elf32-big $< $@ + +build/asm/%.o: asm/%.s + $(AS) $(ASFLAGS) $< -o $@ + +build/data/%.o: data/%.s + iconv --from UTF-8 --to EUC-JP $< | $(AS) $(ASFLAGS) -o $@ + +build/src/overlays/%.o: src/overlays/%.c + $(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $@ $< +# $(CC_CHECK) $< + @$(OBJDUMP) -d $@ > $(@:.o=.s) +# TODO: `() || true` is currently necessary to suppress `Error 1 (ignored)` make warnings caused by `test`, but this will go away if +# the following is moved to a separate rule that is only run once when all the required objects have been compiled. + $(ZAPD) bovl -eh -i $@ -cfg $< --outputpath $(@D)/$(notdir $(@D))_reloc.s + (test -f $(@D)/$(notdir $(@D))_reloc.s && $(AS) $(ASFLAGS) $(@D)/$(notdir $(@D))_reloc.s -o $(@D)/$(notdir $(@D))_reloc.o) || true + +build/src/%.o: src/%.c + $(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $@ $< +# $(CC_CHECK) $< + @$(OBJDUMP) -d $@ > $(@:.o=.s) + build/src/libultra/libc/ll.o: src/libultra/libc/ll.c $(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $@ $< - @./tools/set_o32abi_bit.py $@ +# $(CC_CHECK) $< + python3 tools/set_o32abi_bit.py $@ + @$(OBJDUMP) -d $@ > $(@:.o=.s) build/src/libultra/libc/llcvt.o: src/libultra/libc/llcvt.c $(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $@ $< - @./tools/set_o32abi_bit.py $@ - -build/comp/%.yaz0: build/binary/% - ./tools/yaz0 $< $@ - -build/comp/assets/audio/%.yaz0: build/baserom/assets/audio/% - ./tools/yaz0 $< $@ - -build/comp/assets/misc/%.yaz0: build/baserom/assets/misc/% - ./tools/yaz0 $< $@ - -build/comp/assets/objects/%.yaz0: build/baserom/assets/objects/% - ./tools/yaz0 $< $@ - -build/comp/assets/textures/%.yaz0: build/baserom/assets/textures/% - ./tools/yaz0 $< $@ - -build/%.d: %.c - ./tools/depend.py $< $@ - -build/dmadata_script.ld: build/dmadata_script.txt - $(GCC) -E -CC -x c -Iinclude $< | grep -v '^#' > $@ - -build/linker_scripts/%.ld: linker_scripts/%.txt - $(GCC) -E -CC -x c -Iinclude $< | grep -v '^#' > $@ - -build/assets/%.d: assets/%.c - $(GCC) $< -Iinclude -I./ -MM -MT 'build/assets/$*.o' > $@ - -## Build C files from assets +# $(CC_CHECK) $< + python3 tools/set_o32abi_bit.py $@ + @$(OBJDUMP) -d $@ > $(@:.o=.s) +# Build C files from assets build/%.inc.c: %.png $(ZAPD) btex -eh -tt $(lastword ,$(subst ., ,$(basename $<))) -i $< -o $@ @@ -304,9 +278,4 @@ build/assets/%.bin.inc.c: assets/%.bin build/assets/%.jpg.inc.c: assets/%.jpg $(ZAPD) bren -eh -i $< -o $@ -# Checks headers dependencies of each C file -ifneq ($(MAKECMDGOALS), clean) -ifneq ($(MAKECMDGOALS), distclean) --include $(C_FILES:%.c=build/%.d) -endif -endif +-include $(DEP_FILES) diff --git a/checksum_uncompressed.md5 b/checksum_uncompressed.md5 index 6b02e5c06b..b1248c6dcd 100644 --- a/checksum_uncompressed.md5 +++ b/checksum_uncompressed.md5 @@ -1 +1 @@ -7c6bfd6daf33ebfc0145a97c611cb3d8 mm.us.rev1.rom_uncompressed.z64 +F46493EAA0628827DBD6AD3ECD8D65D6 mm.us.rev1.rom_uncompressed.z64 diff --git a/diff_settings.py b/diff_settings.py index 7b3dc3df32..45d56dc2b2 100755 --- a/diff_settings.py +++ b/diff_settings.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 def apply(config, args): - config['baseimg'] = 'baserom.mm.us.rev1.z64' - config['myimg'] = 'mm.us.rev1.rom.z64' + config['baseimg'] = 'baserom_uncompressed.z64' + config['myimg'] = 'mm.us.rev1.rom_uncompressed.z64' config['mapfile'] = 'build/mm.map' config['source_directories'] = ['./src','./include'] diff --git a/extract_assets.py b/extract_assets.py index 90807be6a6..066c1de3cd 100755 --- a/extract_assets.py +++ b/extract_assets.py @@ -1,11 +1,7 @@ #!/usr/bin/env python3 -import argparse -from multiprocessing import Pool, cpu_count, Event, Manager -import os -import json -import time -import signal +import argparse, json, os, signal, time +from multiprocessing import Pool, Event, Manager EXTRACTED_ASSETS_NAMEFILE = ".extracted-assets.json" @@ -14,13 +10,13 @@ def SignalHandler(sig, frame): mainAbort.set() # Don't exit immediately to update the extracted assets file. -def ExtractFile(xmlPath, basromPath, outputPath, outputSourcePath): +def ExtractFile(xmlPath, outputPath, outputSourcePath): if globalAbort.is_set(): # Don't extract if another file wasn't extracted properly. return - execStr = "tools/ZAPD/ZAPD.out e -eh -i %s -b %s -o %s -osf %s -gsf 1 -rconf tools/ZAPDConfigs/MM/Config.xml" % (xmlPath, basromPath, outputPath, outputSourcePath) - # execStr = "tools/ZAPD/ZAPD.out e -eh -i %s -b baserom/ -o %s -osf %s -gsf 1 -rconf tools/ZAPDConfigs/MM/Config.xml" % (xmlPath, outputPath, outputSourcePath) + execStr = "tools/ZAPD/ZAPD.out e -eh -i %s -b baserom/ -o %s -osf %s -gsf 1 -rconf tools/ZAPDConfigs/MM/Config.xml" % (xmlPath, outputPath, outputSourcePath) + if globalUnaccounted: execStr += " -wu" @@ -42,11 +38,6 @@ def ExtractFunc(fullPath): else: outPath = os.path.join("assets", *pathList[2:], objectName) outSourcePath = outPath - # TODO: remove condition when NBS is merged - if "overlays" in pathList: - basromPath = os.path.join("baserom", *pathList[2:]) - else: - basromPath = os.path.join("baserom", "assets", *pathList[2:-1]) if fullPath in globalExtractedAssetsTracker: timestamp = globalExtractedAssetsTracker[fullPath]["timestamp"] @@ -57,7 +48,7 @@ def ExtractFunc(fullPath): currentTimeStamp = int(time.time()) - ExtractFile(fullPath, basromPath, outPath, outSourcePath) + ExtractFile(fullPath, outPath, outSourcePath) if not globalAbort.is_set(): # Only update timestamp on succesful extractions @@ -78,6 +69,7 @@ def initializeWorker(abort, unaccounted: bool, extractedAssetsTracker: dict, man def main(): parser = argparse.ArgumentParser(description="baserom asset extractor") parser.add_argument("-s", "--single", help="asset path relative to assets/, e.g. objects/gameplay_keep") + parser.add_argument("-t", "--threads", help="Number of cpu cores to extract with.") parser.add_argument("-f", "--force", help="Force the extraction of every xml instead of checking the touched ones.", action="store_true") parser.add_argument("-u", "--unaccounted", help="Enables ZAPD unaccounted detector warning system.", action="store_true") args = parser.parse_args() @@ -112,7 +104,9 @@ def main(): if file.endswith(".xml"): xmlFiles.append(fullPath) - numCores = cpu_count() + numCores = int(args.threads or 0) + if numCores <= 0: + numCores = 1 print("Extracting assets with " + str(numCores) + " CPU cores.") with Pool(numCores, initializer=initializeWorker, initargs=(mainAbort, args.unaccounted, extractedAssetsTracker, manager)) as p: p.map(ExtractFunc, xmlFiles) diff --git a/file_setup.sh b/file_setup.sh deleted file mode 100755 index 4de993e09a..0000000000 --- a/file_setup.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/bash - -if [ "$#" -lt "2" ]; -then - echo "usage: $0 file_name src_path [non_matching_path]" - echo "e.g. $0 z_actor code" - exit 1 -fi - -code_file=$1 -code_path=$2 - -# If there are only two arguments, then we will use the non_matchings path to be the same as src_path -if [ "$#" -eq "2" ]; -then - code_bucket=$code_path -else - code_bucket=$3 -fi - -echo "split_asm : $code_file : $code_path : $code_bucket" - -# Split asm file and create base c file -tools/split_asm.py -c "./src/$code_path/$code_file.c" "./asm/$code_bucket/$code_file.asm" "./asm/non_matchings/$code_bucket/$code_file" - -# Edit linker script to use new .c file -sed -i "s/asm\/$code_file.o/src\/${2//\//\\\/}\/$code_file.o/g" linker_scripts/code_script.txt - -# Build with new file -make -j diff-init diff --git a/first_diff.py b/first_diff.py index 9664b73491..7a3ea6f1d4 100755 --- a/first_diff.py +++ b/first_diff.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 -import os.path import argparse +import os.path from subprocess import check_call parser = argparse.ArgumentParser( @@ -34,7 +34,7 @@ diff_count = args.count if args.make: check_call(["make", "-j4", "COMPARE=0"]) -baseimg = f"expected/mm.us.rev1.rom_uncompressed.z64" +baseimg = f"baserom_uncompressed.z64" basemap = f"expected/build/mm.map" myimg = f"mm.us.rev1.rom_uncompressed.z64" diff --git a/include/PR/mbi.h b/include/PR/mbi.h index 2f88d6ef46..85410c9120 100644 --- a/include/PR/mbi.h +++ b/include/PR/mbi.h @@ -58,7 +58,7 @@ * **************************************************************************/ -#include +#include "PR/gbi.h" /************************************************************************** * @@ -66,7 +66,7 @@ * **************************************************************************/ -#include +#include "PR/abi.h" /************************************************************************** * diff --git a/include/PR/sched.h b/include/PR/sched.h index c051359abe..6d1de10942 100644 --- a/include/PR/sched.h +++ b/include/PR/sched.h @@ -1,8 +1,8 @@ #ifndef _SCHED_H_ #define _SCHED_H_ -#include -#include +#include "os.h" +#include "sptask.h" typedef struct { /* 0x0 */ short type; diff --git a/include/color.h b/include/color.h index 4d287c27fa..18fbe76c43 100644 --- a/include/color.h +++ b/include/color.h @@ -1,7 +1,7 @@ #ifndef _COLOR_H_ #define _COLOR_H_ -#include +#include "PR/ultratypes.h" typedef struct { /* 0x0 */ u8 r; diff --git a/include/functions.h b/include/functions.h index 95275236df..e4fa6fdc9a 100644 --- a/include/functions.h +++ b/include/functions.h @@ -1,7 +1,7 @@ #ifndef _FUNCTIONS_H_ #define _FUNCTIONS_H_ -#include +#include "z64.h" float fabsf(float f); #pragma intrinsic(fabsf) @@ -55,9 +55,9 @@ void CIC6105_PrintRomInfo(void); void CIC6105_AddRomInfoFaultPage(void); void CIC6105_RemoveRomInfoFaultPage(void); void func_800818F4(void); -void Fault_Nop80081920(UNK_TYPE4 param_1, ...); -void Fault_Log(char* str, ...); -void Fault_Nop80081958(UNK_TYPE4 param_1, ...); +void __osSyncVPrintf(UNK_TYPE4 param_1, ...); +void osSyncPrintf(char* str, ...); +void rmonPrintf(UNK_TYPE4 param_1, ...); void Fault_SleepImpl(u32 duration); void Fault_AddClient(FaultClient* client, fault_client_func callback, void* param0, void* param1); void Fault_RemoveClient(FaultClient* client); @@ -74,11 +74,11 @@ void Fault_FillScreenBlack(void); void Fault_FillScreenRed(void); void Fault_DrawCornerRec(u16 color); void Fault_PrintFReg(s32 idx, f32* value); -void Fault_LogFReg(s32 idx, f32* value); +void osSyncPrintfFReg(s32 idx, f32* value); void Fault_PrintFPCR(u32 value); -void Fault_LogFPCR(u32 value); +void osSyncPrintfFPCR(u32 value); void Fault_PrintThreadContext(OSThread* t); -void Fault_LogThreadContext(OSThread* t); +void osSyncPrintfThreadContext(OSThread* t); OSThread* Fault_FindFaultedThread(void); void Fault_Wait5Seconds(void); void Fault_WaitForButtonCombo(void); @@ -86,7 +86,7 @@ void Fault_DrawMemDumpPage(char* title, u32* addr, u32 param_3); void Fault_DrawMemDump(u32 pc, u32 sp, u32 unk0, u32 unk1); void Fault_FindNextStackCall(u32** sp, u32** pc, u32** ra); void Fault_DrawStackTrace(OSThread* t, u32 flags); -void Fault_LogStackTrace(OSThread* t, u32 flags); +void osSyncPrintfStackTrace(OSThread* t, u32 flags); void Fault_ResumeThread(OSThread* t); void Fault_CommitFB(void); void Fault_ProcessClients(void); @@ -164,7 +164,7 @@ void GfxPrint_PrintChar(GfxPrint* this, u8 c); // void GfxPrint_Printf(void); // void MtxConv_F2L(void); // void MtxConv_L2F(void); -void assert_fail(const char* file, u32 lineNum); +void __assert(const char* file, u32 lineNum); // void func_800862B4(void); void* StartHeap_AllocMin1(u32 size); void StartHeap_FreeNull(void* pvParm1); @@ -229,7 +229,7 @@ f32 Rand_Centered_Variable(u32* param_1); void ArenaImpl_LockInit(Arena* heap); void ArenaImpl_Lock(Arena* heap); void ArenaImpl_Unlock(Arena* heap); -ArenaNode* heap_get_tail(Arena* param_1); +ArenaNode* ArenaImpl_GetLastBlock(Arena* param_1); void __osMallocInit(Arena* heap, void* heapBase, u32 heapSize); void __osMallocAddBlock(Arena* heap, void* start, s32 size); void __osMallocCleanup(Arena* heap); @@ -243,17 +243,17 @@ u32 __osCheckArena(Arena* heap); void* proutSprintf(void* s, char* buf, size_t n); s32 vsprintf(char* dst, char* fmt, va_list args); s32 sprintf(char* s, char* fmt, ...); - void func_80087900(void* callback, const char* fmt, va_list args); -// void func_80087934(void); + void PrintUtils_VPrintf(void* callback, const char* fmt, va_list args); +// void PrintUtils_Printf(void); void Sleep_Cycles(OSTime time); -// void func_800879CC(void); -void func_80087A1C(s32); -void func_80087A6C(u32 param_1); -// void func_80087AC0(void); +// void Sleep_Nsec(void); +void Sleep_Usec(s32); +void Sleep_Msec(u32 param_1); +// void Sleep_Sec(void); // void __osSetCause(void); s32 osSendMesg(OSMesgQueue* mq, OSMesg msg, s32 flags); -// void func_80087C60(void); -void func_80087E00(u32 param_1); +// void osPfsFreeBlocks(void); +void osViExtendVStart(u32 param_1); void osStopThread(OSThread* t); s32 osRecvMesg(OSMesgQueue* mq, OSMesg* msg, s32 flags); OSIntMask osSetIntMask(OSIntMask im); @@ -277,30 +277,21 @@ long long __ll_mod(long long left, long long right); long long __ll_rshift(long long left, long long right); void __osExceptionPreamble(void); void __osException(void); -// void func_80088D48(void); -// void func_80088D54(void); -// void func_80088D60(void); -// void func_80088D80(void); -// void func_80088DC4(void); -// void func_80088F2C(void); -// void func_80088F88(void); -// void func_80088FA8(void); -// void func_80088FE0(void); // void send_mesg(void); // void handle_CpU(void); void __osEnqueueAndYield(OSThread** param_1); void __osEnqueueThread(OSThread** param_1, OSThread* param_2); OSThread* __osPopThread(OSThread** param_1); -// void func_8008929c(void); +// void __osNop(void); void __osDispatchThread(void); void __osCleanupThread(void); void __osDequeueThread(OSThread** param_1, OSThread* param_2); void osDestroyThread(OSThread* puParm1); // void __osVoiceCheckResult(void); void bzero(void* begin, s32 length); -// void func_800896D0(void); -// void func_80089838(void); -// void func_80089944(void); +// void osSetRumble(void); +// void osSetUpMempakWrite(void); +// void osProbeRumblePak(void); void __osSiCreateAccessQueue(void); void __osSiGetAccess(void); void __osSiRelAccess(void); @@ -311,37 +302,37 @@ void osCreateThread(OSThread* t, OSId id, void* entry, void* arg, void* sp, OSPr s32 osContStartReadData(OSMesgQueue* mq); void osContGetReadData(OSContPad* data); void __osPackReadData(void); -// void func_8008A170(void); +// void osVoiceGetReadData(void); uintptr_t osVirtualToPhysical(void* vaddr); u32 __osGetSR(void); void __osSetSR(u32 value); void osWritebackDCache(void* vaddr, s32 nbytes); -void func_8008A660(void); +void __createSpeedParam(void); void osInitialize(void); -void func_8008A9A8(void); +void __osInitialize_autodetect(void); void* osViGetNextFramebuffer(void); void guPerspectiveF(float mf[4][4], u16* perspNorm, f32 fovy, f32 aspect, f32 near, f32 far, f32 scale); void guPerspective(Mtx* m, u16* perspNorm, f32 fovy, f32 aspect, f32 near, f32 far, f32 scale); s32 __osSpRawStartDma(s32 direction, u32 devAddr, void* dramAddr, u32 size); s32 __osSiRawStartDma(s32 direction, void* dramAddr); -// void func_8008AE20(void); +// void osEPiLinkHandle(void); void osViBlack(u8 active); s32 __osSiRawReadIo(u32 devAddr, u32* data); OSId osGetThreadId(OSThread* t); void osSpTaskYield(void); -s32 __osPfsRWInode(OSPfs* param_1, __OSInode* param_2, u8 param_3, u8 param_4); +s32 __osPfsGetNextPage(OSPfs* param_1, __OSInode* param_2, u8 param_3, u8 param_4); s32 osPfsReadWriteFile(OSPfs* pfs, s32 file_no, u8 flag, s32 offset, s32 size_in_bytes, u8* data_buffer); -// void func_8008B3C0(void); -// void func_8008B490(void); -// void func_8008B554(void); +// void __osPfsGetStatus(void); +// void __osPfsRequestOneChannel(void); +// void __osPfsGetOneChannelData(void); void guMtxIdentF(float mf[4][4]); void osViSetMode(OSViMode* modep); // void __osGetConfig(void); // void __osSetConfig(void); void guLookAtF(float mf[4][4], f32 xEye, f32 yEye, f32 zEye, f32 xAt, f32 yAt, f32 zAt, f32 xUp, f32 yUp, f32 zUp); void guLookAt(Mtx* m, f32 xEye, f32 yEye, f32 zEye, f32 xAt, f32 yAt, f32 zAt, f32 xUp, f32 yUp, f32 zUp); -// void func_8008B9F0(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7); -// void func_8008BD24(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE1 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7); +// void osPfsAllocateFile(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7); +// void __osPfsDeclearPage(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE1 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7); s32 osStopTimer(OSTimer* t); u32 __osProbeTLB(void* param_1); void osCreatePiManager(OSPri pri, OSMesgQueue* cmdQ, OSMesg* cmdBuf, s32 cmdMsgCnt); @@ -351,17 +342,17 @@ void __osPiRelAccess(void); void __osDevMgrMain(void* arg); // void func_8008C640(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE1 param_5, UNK_TYPE1 param_6, UNK_TYPE1 param_7, UNK_TYPE1 param_8, UNK_TYPE4 param_9, UNK_TYPE4 param_10, UNK_TYPE4 param_11, UNK_TYPE4 param_12, UNK_TYPE4 param_13, UNK_TYPE4 param_14, UNK_TYPE4 param_15, UNK_TYPE4 param_16, UNK_TYPE4 param_17, UNK_TYPE4 param_18); s32 osPiRawStartDma(s32 direction, u32 devAddr, void* dramAddr, u32 size); -// void func_8008C740(void); -// void func_8008C7B4(void); -// void func_8008C8B0(void); -// void func_8008CC00(void); -// void func_8008CD64(void); -// void func_8008CF10(void); -// void func_8008CFE4(void); +// void __osSumcalc(void); +// void __osIdCheckSum(void); +// void __osRepairPackId(void); +// void __osCheckPackId(void); +// void __osGetId(void); +// void __osCheckId(void); +// void __osPfsRWInode(void); u32 osGetCount(void); void guMtxL2F(MtxF* m1, Mtx* m2); u32 osGetMemSize(void); -// void func_8008D470(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6); +// void osPfsFindFile(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6); void osSetEventMesg(OSEvent e, OSMesgQueue* mq, OSMesg m); f32 sqrtf(f32 __x); s32 osAfterPreNMI(void); @@ -371,11 +362,11 @@ void guLookAtHiliteF(float mf[4][4], LookAt* l, Hilite* h, f32 xEye, f32 yEye, f void guLookAtHilite(Mtx* m, LookAt* l, Hilite* h, f32 xEye, f32 yEye, f32 zEye, f32 xAt, f32 yAt, f32 zAt, f32 xUp, f32 yUp, f32 zUp, f32 xl1, f32 yl1, f32 zl1, f32 xl2, f32 yl2, f32 zl2, s32 twidth, s32 theight); s32 _Printf(printf_func pfn, void* arg, const char* fmt, va_list ap); void _Putfld(_Pft* px, va_list* pap, u8 code, u8* ac); -// void func_8008ED30(void); +// void osVoiceClearDictionary(void); void osUnmapTLBAll(void); s32 osEPiStartDma(OSPiHandle* pihandle, OSIoMesg* mb, s32 direction); -// void func_8008EED0(void); -// void func_8008F100(void); +// void __osVoiceContRead2(void); +// void __osVoiceContDataCrc(void); u8* strchr(u8* __s, s32 __c); size_t strlen(u8* __s); void* memcpy(void* __dest, void* __src, size_t __n); @@ -386,30 +377,30 @@ void __osTimerServicesInit(void); void __osTimerInterrupt(void); void __osSetTimerIntr(OSTime tim); OSTime __osInsertTimer(OSTimer* t); -// void func_8008F7D0(void); +// void __osVoiceContRead36(void); s32 __osSpDeviceBusy(void); s32 __osSiDeviceBusy(void); -// void func_8008FA60(void); +// void guMtxIdent(void); s32 osJamMesg(OSMesgQueue* mq, OSMesg msg, s32 flag); void osSetThreadPri(OSThread* t, OSPri pri); OSPri osGetThreadPri(OSThread* t); -s32 __osEPiRawReadIo (OSPiHandle* handle, u32 devAddr, u32* data); +s32 osEPiRawReadIo (OSPiHandle* handle, u32 devAddr, u32* data); void osViSwapBuffer(void* frameBufPtr); void guPositionF(float mf[4][4], f32 r, f32 p, f32 h, f32 s, f32 x, f32 y, f32 z); void guPosition(Mtx* m, f32 r, f32 p, f32 h, f32 s, f32 x, f32 y, f32 z); -void func_800900C0(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5); +void osEPiRawStartDma(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5); OSYieldResult osSpTaskYielded(OSTask* task); s32 memcmp(void* __s1, void* __s2, size_t __n); OSTime osGetTime(void); void guRotateF(float mf[4][4], f32 a, f32 x, f32 y, f32 z); void guRotate(Mtx* m, f32 a, f32 x, f32 y, f32 z); void __osSetGlobalIntMask(u32 mask); -// void func_800906D0(void); -// void func_80090810(void); -// void func_80090900(void); +// void osVoiceInit(void); +// void __osContChannelReset(void); +// void __osVoiceSetADConverter(void); s32 osAiSetFrequency(u32 frequency); s32 __osContRamRead(OSMesgQueue* mq, s32 channel, u16 address, u8* buffer); -// void func_80090E70(void); +// void __osVoiceContWrite20(void); u8 __osContAddressCrc(u16 addr); u8 __osContDataCrc(u8* data); OSThread* __osGetActiveQueue(void); @@ -420,8 +411,8 @@ u32 osDpGetStatus(void); void osDpSetStatus(u32 data); void bcopy(void* __src, void* __dest, size_t __n); void __osResetGlobalIntMask(u32 mask); -// void func_80091630(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5); -// void func_80091808(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5); +// void osPfsDeleteFile(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5); +// void __osPfsReleasePages(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5); void guOrthoF(float mf[4][4], f32 l, f32 r, f32 b, f32 t, f32 n, f32 f, f32 scale); void guOrtho(Mtx* m, f32 l, f32 r, f32 b, f32 t, f32 n, f32 f, f32 scale); OSIntMask __osDisableInt(void); @@ -430,33 +421,33 @@ void __osViInit(void); void __osViSwapContext(void); OSMesgQueue* osPiGetCmdQueue(void); f32 __cosf(f32 __x); -// void func_800920B0(void); +// void osEPiReadIo(void); void osViSetSpecialFeatures(u32 func); s16 coss(u16 x); void osSetTime(OSTime ticks); -// void func_800922C0(void); +// void osVoiceStopReadData(void); void osViSetEvent(OSMesgQueue* mq, OSMesg m, u32 retraceCount); s32 osPfsIsPlug(OSMesgQueue* queue, u8* pattern); -// void func_800925CC(void); -// void func_80092680(void); +// void __osPfsRequestData(void); +// void __osPfsGetInitData(void); s32 __osVoiceGetStatus(OSMesgQueue* mq, s32 port, u8* status); OSPiHandle* osCartRomInit(void); -// void func_80092A80(void); +// void guS2DInitBg(void); // s32 __osPfsSelectBank(OSPfs* pfs, UNK_TYPE4 param_2); s32 osContSetCh(u8 ch); u32 __osSetFpcCsr(u32 value); u32 __osGetFpcCsr(void); -// void func_80092D00(void); -// void func_80092EE0(void); -// void func_800930E8(void); -// void func_800931F0(void); -// void func_80093728(void); -// void func_80093A00(void); +// void osPfsFileState(void); +// void osPfsInitPak(void); +// void __osPfsCheckRamArea(void); +// void osPfsChecker(void); +// void corrupted_init(void); +// void corrupted(void); u32 osAiGetLength(void); -// void func_80093BB0(void); +// void osEPiWriteIo(void); void osMapTLBRdb(void); void osYieldThread(void); -// void func_80093CC0(void); +// void guTranslate(void); u32 __osGetCause(void); s32 __osContRamWrite(OSMesgQueue* mq, s32 channel, u16 address, u8* buffer, s32 force); s32 __osEPiRawWriteIo(OSPiHandle* handle, u32 devAddr, u32 data); @@ -475,7 +466,7 @@ void viMgrMain(OSDevMgr* iParm1); __OSViContext* __osViGetCurrentContext(void); void osWritebackDCacheAll(void); OSThread* __osGetCurrFaultedThread(void); -// void func_80095600(void); +// void osVoiceMaskDictionary(void); void guMtxF2L(float mf[4][4], Mtx* m); void osStartThread(OSThread* param_1); void osViSetYScale(f32 value); @@ -488,21 +479,21 @@ double __ll_to_d(long long l); float __ll_to_f(long long l); double __ull_to_d(unsigned long long l); float __ull_to_f(unsigned long long l); -// void func_80095C70(void); -// void func_80096360(void); -// void func_80096410(void); -// void func_800964D0(void); +// void osVoiceCheckWord(void); +// void osVoiceControlGain(void); +// void osVoiceStartReadData(void); +// void osViGetCurrentFramebuffer(void); s32 __osSpSetPc(u32 data); -// void func_80096540(void); +// void __osVoiceContWrite4(void); void __osGetHWIntrRoutine(s32 idx, OSMesgQueue** outQueue, OSMesg* outMsg); -// void func_800967A0(void); +// void __osSetHWIntrRoutine(void); // u32 __osGetWatchLo(void); void __osSetWatchLo(u32 value); -f32 func_80096830(f32 param_1, f32 param_2); -void* func_80096880(void* param_1, u8 param_2, s32 param_3); -s32 func_800968B0(const char* str1, const char* str2); -char* func_800968f0(char* param_1, char* param_2); -// void func_80096930(void); +f32 fmodf(f32 param_1, f32 param_2); +void* __osMemset(void* param_1, u8 param_2, s32 param_3); +s32 __osMemcmp(const char* str1, const char* str2); +char* __osStrcpy(char* param_1, char* param_2); +// void __osMemcpy(void); void EnAObj_Init(ActorEnAObj* this, GlobalContext* globalCtx); void EnAObj_Destroy(ActorEnAObj* this, GlobalContext* globalCtx); void EnAObj_Update1(ActorEnAObj* this, GlobalContext* globalCtx); @@ -2985,23 +2976,23 @@ void func_80163A38(GlobalContext* globalCtx); // void func_80164678(void); // void func_801647AC(void); // UNK_TYPE4 func_801647B8(void); -// void func_801647D0(void); -void* func_8016482C(void* param_1); -// void func_80164858(void); -// void func_80164864(void); -// void func_801649F4(void); -// void func_80164A80(void); -// void func_80164A8C(void); -// void func_80164A98(void); -// void func_80164AF0(void); -// void func_80164B40(void); -// void func_80164B94(void); -// void func_80164BA0(void); -// void func_80164BD4(void); -// void func_80164BE0(void); +// void TransitionFade_Start(void); +void* TransitionFade_Init(void* param_1); +// void TransitionFade_Destroy(void); +// void TransitionFade_Update(void); +// void TransitionFade_Draw(void); +// void TransitionFade_IsDone(void); +// void TransitionFade_SetColor(void); +// void TransitionFade_SetType(void); +// void TransitionCircle_Start(void); +// void TransitionCircle_Init(void); +// void TransitionCircle_Destroy(void); +// void TransitionCircle_Update(void); +// void TransitionCircle_SetColor(void); +// void TransitionCircle_SetType(void); // void func_80164C14(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7); -// void func_80165044(void); -// void func_80165198(void); +// void TransitionCircle_Draw(void); +// void TransitionCircle_IsDone(void); // void func_801651B0(void); // void func_80165224(void); // void func_80165288(void); @@ -3991,7 +3982,7 @@ void func_801A4D00(void); // void func_801A5080(void); // void func_801A5100(void); // void func_801A5118(void); -// void func_801A51F0(void); +UNK_TYPE func_801A51F0(UNK_TYPE arg0); // void func_801A5228(void); // void func_801A5390(void); // void func_801A53E8(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5); @@ -4056,8 +4047,4 @@ void func_801AA624(GlobalContext* globalCtx); // void func_801AA68C(UNK_TYPE4 ctxt); void nop_801AAAA0(GlobalContext* globalCtx); -// overlays - -void Title_Init(TitleContext* titleCtx); - #endif diff --git a/include/io/controller.h b/include/io/controller.h index 52ebc9914d..e976402ec1 100644 --- a/include/io/controller.h +++ b/include/io/controller.h @@ -1,7 +1,7 @@ #ifndef _CONTROLLER_H_ #define _CONTROLLER_H_ -#include +#include "PR/ultratypes.h" #include "PR/pfs.h" #define SIAccessQueueSize 2 diff --git a/include/macro.inc b/include/macro.inc new file mode 100644 index 0000000000..396a4cb687 --- /dev/null +++ b/include/macro.inc @@ -0,0 +1,39 @@ +.macro glabel label + .global \label + \label: +.endm + +# COP0 register aliases + +.set Index, $0 +.set Random, $1 +.set EntryLo0, $2 +.set EntryLo1, $3 +.set Context, $4 +.set PageMask, $5 +.set Wired, $6 +.set Reserved07, $7 +.set BadVaddr, $8 +.set Count, $9 +.set EntryHi, $10 +.set Compare, $11 +.set Status, $12 +.set Cause, $13 +.set EPC, $14 +.set PRevID, $15 +.set Config, $16 +.set LLAddr, $17 +.set WatchLo, $18 +.set WatchHi, $19 +.set XContext, $20 +.set Reserved21, $21 +.set Reserved22, $22 +.set Reserved23, $23 +.set Reserved24, $24 +.set Reserved25, $25 +.set PErr, $26 +.set CacheErr, $27 +.set TagLo, $28 +.set TagHi, $29 +.set ErrorEPC, $30 +.set Reserved31, $31 diff --git a/include/math.h b/include/math.h index 3334b7549b..a50d4178ce 100644 --- a/include/math.h +++ b/include/math.h @@ -1,7 +1,7 @@ #ifndef _MATH_H_ #define _MATH_H_ -#include +#include "PR/ultratypes.h" #define M_PI 3.14159265358979323846f #define M_SQRT2 1.41421356237309504880f diff --git a/include/os.h b/include/os.h index ccad96bd48..df47e52e75 100644 --- a/include/os.h +++ b/include/os.h @@ -1,7 +1,7 @@ #ifndef _OS_H_ #define _OS_H_ -#include +#include "PR/ultratypes.h" typedef s32 OSPri; @@ -100,31 +100,31 @@ typedef u32 OSPageMask; typedef void* OSMesg; typedef struct { - /* 0x0 */ OSThread* mtqueue; - /* 0x4 */ OSThread* fullqueue; - /* 0x8 */ s32 validCount; - /* 0xC */ s32 first; + /* 0x00 */ OSThread* mtqueue; + /* 0x04 */ OSThread* fullqueue; + /* 0x08 */ s32 validCount; + /* 0x0C */ s32 first; /* 0x10 */ s32 msgCount; /* 0x14 */ OSMesg* msg; -} OSMesgQueue; +} OSMesgQueue; // size = 0x20 typedef struct { - /* 0x0 */ u32 errStatus; - /* 0x4 */ void* dramAddr; - /* 0x8 */ void* C2Addr; - /* 0xC */ u32 sectorSize; + /* 0x00 */ u32 errStatus; + /* 0x04 */ void* dramAddr; + /* 0x08 */ void* C2Addr; + /* 0x0C */ u32 sectorSize; /* 0x10 */ u32 C1ErrNum; /* 0x14 */ u32 C1ErrSector[4]; } __OSBlockInfo; typedef struct { - /* 0x0 */ u32 cmdType; - /* 0x4 */ u16 transferMode; - /* 0x6 */ u16 blockNum; - /* 0x8 */ s32 sectorNum; - /* 0xC */ u32 devAddr; + /* 0x00 */ u32 cmdType; + /* 0x04 */ u16 transferMode; + /* 0x06 */ u16 blockNum; + /* 0x08 */ s32 sectorNum; + /* 0x0C */ u32 devAddr; /* 0x10 */ u32 bmCtlShadow; /* 0x14 */ u32 seqCtlShadow; /* 0x18 */ __OSBlockInfo block[2]; @@ -132,14 +132,14 @@ typedef struct { typedef struct OSPiHandle_s { - /* 0x0 */ struct OSPiHandle_s* next; - /* 0x4 */ u8 type; - /* 0x5 */ u8 latency; - /* 0x6 */ u8 pageSize; - /* 0x7 */ u8 relDuration; - /* 0x8 */ u8 pulse; - /* 0x9 */ u8 domain; - /* 0xC */ u32 baseAddress; + /* 0x00 */ struct OSPiHandle_s* next; + /* 0x04 */ u8 type; + /* 0x05 */ u8 latency; + /* 0x06 */ u8 pageSize; + /* 0x07 */ u8 relDuration; + /* 0x08 */ u8 pulse; + /* 0x09 */ u8 domain; + /* 0x0C */ u32 baseAddress; /* 0x10 */ u32 speed; /* 0x14 */ __OSTranxInfo transferInfo; } OSPiHandle; @@ -160,30 +160,30 @@ typedef struct { typedef struct { - /* 0x0 */ OSIoMesgHdr hdr; - /* 0x8 */ void* dramAddr; - /* 0xC */ u32 devAddr; + /* 0x00 */ OSIoMesgHdr hdr; + /* 0x08 */ void* dramAddr; + /* 0x0C */ u32 devAddr; /* 0x10 */ u32 size; /* 0x14 */ OSPiHandle* piHandle; } OSIoMesg; typedef struct { - /* 0x0 */ s32 active; - /* 0x4 */ OSThread* thread; - /* 0x8 */ OSMesgQueue* cmdQueue; - /* 0xC */ OSMesgQueue* evtQueue; + /* 0x00 */ s32 active; + /* 0x04 */ OSThread* thread; + /* 0x08 */ OSMesgQueue* cmdQueue; + /* 0x0C */ OSMesgQueue* evtQueue; /* 0x10 */ OSMesgQueue* acsQueue; /* 0x14 */ s32 (*dma)(void); - /* 0x14 */ s32 (*unk18)(void); + /* 0x18 */ s32 (*unk18)(void); } OSDevMgr; typedef struct { - /* 0x0 */ u32 ctrl; - /* 0x4 */ u32 width; - /* 0x8 */ u32 burst; - /* 0xC */ u32 vSync; + /* 0x00 */ u32 ctrl; + /* 0x04 */ u32 width; + /* 0x08 */ u32 burst; + /* 0x0C */ u32 vSync; /* 0x10 */ u32 hSync; /* 0x14 */ u32 leap; /* 0x18 */ u32 hStart; @@ -193,17 +193,17 @@ typedef struct { typedef struct { - /* 0x0 */ u32 origin; - /* 0x4 */ u32 yScale; - /* 0x8 */ u32 vStart; - /* 0xC */ u32 vBurst; + /* 0x00 */ u32 origin; + /* 0x04 */ u32 yScale; + /* 0x08 */ u32 vStart; + /* 0x0C */ u32 vBurst; /* 0x10 */ u32 vIntr; } OSViFieldRegs; typedef struct { - /* 0x0 */ u8 type; - /* 0x4 */ OSViCommonRegs comRegs; + /* 0x00 */ u8 type; + /* 0x04 */ OSViCommonRegs comRegs; /* 0x28 */ OSViFieldRegs fldRegs[2]; } OSViMode; @@ -211,9 +211,9 @@ typedef u64 OSTime; typedef struct OSTimer_s { - /* 0x0 */ struct OSTimer_s* next; - /* 0x4 */ struct OSTimer_s* prev; - /* 0x8 */ OSTime interval; + /* 0x00 */ struct OSTimer_s* next; + /* 0x04 */ struct OSTimer_s* prev; + /* 0x08 */ OSTime interval; /* 0x10 */ OSTime value; /* 0x18 */ OSMesgQueue* mq; /* 0x1C */ OSMesg msg; @@ -236,8 +236,8 @@ typedef struct { typedef struct { - /* 0x0 */ void* address; - /* 0x4 */ u8 databuffer[32]; + /* 0x00 */ void* address; + /* 0x04 */ u8 databuffer[32]; /* 0x24 */ u8 addressCrc; /* 0x25 */ u8 dataCrc; /* 0x26 */ u8 errno; diff --git a/include/osint.h b/include/osint.h index c78d0c963f..a5ef688727 100644 --- a/include/osint.h +++ b/include/osint.h @@ -3,12 +3,12 @@ // TODO should be in libultra/os -#include -#include -#include -#include -#include -#include +#include "stdarg.h" +#include "os.h" +#include "os_internal.h" +#include "ultraerror.h" +#include "ultralog.h" +#include "sptask.h" typedef struct { /* 0x0 */ OSMesgQueue* messageQueue; diff --git a/include/ramrom.h b/include/ramrom.h index be33d8dc89..6671b99311 100644 --- a/include/ramrom.h +++ b/include/ramrom.h @@ -1,7 +1,7 @@ #ifndef _RAMROM_H_ #define _RAMROM_H_ -#include +#include "PR/ultratypes.h" typedef struct { /* 0x0 */ long type; diff --git a/include/section.h b/include/section.h deleted file mode 100644 index 595f19f4dd..0000000000 --- a/include/section.h +++ /dev/null @@ -1,30 +0,0 @@ -#ifndef _SECTION_H_ -#define _SECTION_H_ - -#include - -extern u32 boot_text_start; -extern u32 boot_text_end; - -extern u32 boot_data_start; -extern u32 boot_data_end; - -extern u32 boot_rodata_start; -extern u32 boot_rodata_end; - -extern u32 boot_bss_start; -extern u32 boot_bss_end; - -extern u32 code_text_start; -extern u32 code_text_end; - -extern u32 code_data_start; -extern u32 code_data_end; - -extern u32 code_rodata_start; -extern u32 code_rodata_end; - -extern u32 code_bss_start; -extern u32 code_bss_end; - -#endif diff --git a/include/segment.h b/include/segment.h deleted file mode 100644 index c65af74507..0000000000 --- a/include/segment.h +++ /dev/null @@ -1,52 +0,0 @@ -#ifndef _SEGMENT_H_ -#define _SEGMENT_H_ - -#include - -extern Gfx D_040008D0[]; -extern Gfx D_04029CB0[]; -extern Gfx D_04029CF0[]; -extern Gfx D_04058BA0[]; -extern Gfx D_0405AAB0[]; -extern UNK_TYPE D_0405BEF0; -extern UNK_TYPE D_0405B6F0; -extern UNK_TYPE D_0405C6F0; -extern UNK_TYPE D_0405CEF0; -extern UNK_TYPE D_0405E6F0; -extern Gfx D_0405F6F0[]; -extern UNK_TYPE D_0405F7C0; -extern UNK_TYPE D_0405FFC0; -extern UNK_TYPE D_040607C0; -extern UNK_TYPE D_04060FC0; -extern UNK_TYPE D_040617C0; -extern UNK_TYPE D_04061FC0; -extern UNK_TYPE D_04061FE0; -extern UNK_TYPE D_04062000; -extern UNK_TYPE D_04062020; -extern UNK_TYPE D_04062040; -extern UNK_TYPE D_04062060; -extern Gfx D_040622C0[]; -extern Gfx D_04075A40[]; -extern Gfx D_04075B30[]; -extern Gfx D_04076BC0[]; -extern Gfx D_04077480[]; - -extern Gfx D_05000C40[]; -extern Gfx D_05017EA0[]; // pot displaylist -extern Gfx D_05018090[]; // pot break shard displaylist -extern Gfx D_0501D980[]; -extern Gfx D_050219E0[]; - -extern UNK_TYPE D_0E000048; -extern UNK_TYPE D_0E000088; -extern UNK_TYPE D_0E000140; -extern UNK_TYPE D_0E0001C8; -extern UNK_TYPE D_0E0002C8; - -extern Gfx object_ikana_obj_001100[]; -extern AnimatedMaterial object_ikana_obj_001228[]; - -extern Gfx object_fu_kaiten_0005D0[]; -extern CollisionHeader object_fu_kaiten_002D30; - -#endif diff --git a/include/segment_symbols.h b/include/segment_symbols.h index 7b41327780..7c8f4895a7 100644 --- a/include/segment_symbols.h +++ b/include/segment_symbols.h @@ -1,7 +1,7 @@ #ifndef _SEGMENT_SYMBOLS_H_ #define _SEGMENT_SYMBOLS_H_ -#include +#include "z64.h" #define DECLARE_SEGMENT(name) \ extern u8 _##name##SegmentStart[]; \ diff --git a/include/sptask.h b/include/sptask.h index f9846ee827..e88eb34215 100644 --- a/include/sptask.h +++ b/include/sptask.h @@ -1,7 +1,7 @@ #ifndef _SPTASK_H_ #define _SPTASK_H_ -#include +#include "PR/ultratypes.h" #define OS_YIELD_DATA_SIZE 0xC00 diff --git a/include/stdarg.h b/include/stdarg.h index 3303fdcb83..26a67e5801 100644 --- a/include/stdarg.h +++ b/include/stdarg.h @@ -1,7 +1,7 @@ #ifndef _STDARG_H_ #define _STDARG_H_ -#include +#include "ultra64.h" // When building with GCC, use the official vaarg macros to avoid warnings // and possibly bad codegen. diff --git a/include/stdint.h b/include/stdint.h index 03b2c99e17..67e9e68622 100644 --- a/include/stdint.h +++ b/include/stdint.h @@ -1,7 +1,7 @@ #ifndef _STDINT_H_ #define _STDINT_H_ -#include +#include "ultra64.h" typedef s32 intptr_t; typedef u32 uintptr_t; diff --git a/include/ultra64.h b/include/ultra64.h index 2e3a484d38..f19dc61fe7 100644 --- a/include/ultra64.h +++ b/include/ultra64.h @@ -1,7 +1,9 @@ #ifndef _ULTRA64_H_ #define _ULTRA64_H_ -#include +#include "PR/ultratypes.h" +#include "PR/gbi.h" + #include "unk.h" #endif diff --git a/include/ultralog.h b/include/ultralog.h index 401baf193f..ae052d91de 100644 --- a/include/ultralog.h +++ b/include/ultralog.h @@ -1,7 +1,7 @@ #ifndef _ULTRALOG_H_ #define _ULTRALOG_H_ -#include +#include "PR/ultratypes.h" typedef struct { /* 0x0 */ u32 magic; diff --git a/include/unk.h b/include/unk.h index ffc24d3608..eb31a3874a 100644 --- a/include/unk.h +++ b/include/unk.h @@ -1,7 +1,7 @@ #ifndef _UNK_H_ #define _UNK_H_ -#include +#include "PR/ultratypes.h" #define UNK_TYPE s32 #define UNK_TYPE1 s8 diff --git a/include/variables.h b/include/variables.h index 7f62cae1a0..4ff93950f9 100644 --- a/include/variables.h +++ b/include/variables.h @@ -1,22 +1,19 @@ #ifndef _VARIABLES_H_ #define _VARIABLES_H_ -#include -#include -#include -#include +#include "z64.h" +#include "segment_symbols.h" // pre-boot variables -extern UNK_TYPE osTvType; -extern UNK_TYPE osRomType; -extern UNK_TYPE osRomBase; -extern UNK_TYPE osResetType; -extern UNK_TYPE osCicId; -extern UNK_TYPE osVersion; -extern UNK_TYPE osMemSize; +extern u32 osTvType; +extern u32 osRomType; +extern u32 osRomBase; +extern u32 osResetType; +extern u32 osCicId; +extern u32 osVersion; +extern u32 osMemSize; extern s32 osAppNmiBuffer[0x10]; extern u16 gFramebuffer1[SCREEN_HEIGHT][SCREEN_WIDTH]; // at 0x80000500 -extern u16 gFramebufferHighRes1[SCREEN_HEIGHT_HIGH_RES][SCREEN_WIDTH_HIGH_RES]; // at 0x80000500 extern u8 D_80025D00[]; // data @@ -392,7 +389,7 @@ extern UNK_PTR D_801AE260[3]; // extern UNK_TYPE4 D_801AE2DC; extern F3DVertex sEffectShieldParticleVertices[4]; extern EffInfo sEffInfoTable[5]; -extern EffectTableInfo EffectSS2Info; +extern EffectSsInfo EffectSS2Info; // extern UNK_TYPE1 D_801AE3B0; // extern UNK_TYPE1 D_801AE3B4; // extern UNK_TYPE4 D_801AE3B8; @@ -420,7 +417,7 @@ extern EffectTableInfo EffectSS2Info; // extern UNK_TYPE1 D_801AE48A; // extern UNK_TYPE1 D_801AE48C; // extern UNK_TYPE1 D_801AE490; -extern ParticleOverlay particleOverlayTable[39]; +extern EffectSsOverlay particleOverlayTable[39]; extern UNK_PTR D_801AE8F0; // extern UNK_TYPE4 D_801AEC70; // extern UNK_TYPE4 D_801AEC74; @@ -442,8 +439,8 @@ extern Color_RGBA8 actorDefaultHitColor; // extern UNK_TYPE4 D_801AEE30; // extern UNK_TYPE4 D_801AEE38; // extern UNK_TYPE2 D_801AEE4C; -// extern UNK_TYPE1 D_801AEF88; -// extern UNK_TYPE1 D_801AEFA0; +extern Gfx D_801AEF88[]; +extern Gfx D_801AEFA0[]; // extern UNK_TYPE1 D_801AEFA8; // extern UNK_TYPE1 D_801AEFB8; // extern UNK_TYPE1 D_801AEFBC; @@ -940,7 +937,7 @@ extern s16 actorCutsceneReturnCamera; extern s16 D_801BD8C6; extern ColliderCylinderInit fireObjCollisionInit; extern FireObjLightParams D_801BD8FC[2]; -extern GameStateOverlay initialGameStateInfo; +extern GameStateOverlay gGameStateOverlayTable; extern GameStateOverlay D_801BD940; extern GameStateOverlay titleGameStateInfo; extern GameStateOverlay mainGameStateInfo; @@ -1602,9 +1599,9 @@ extern ActorInit Player_InitVars; // extern UNK_TYPE4 D_801D0BB0; // extern UNK_TYPE1 D_801D0C80; // extern UNK_TYPE1 D_801D0CB0; -extern UNK_PTR D_801D0CD8; +extern const TransitionInit TransitionFade_InitVars; // extern UNK_TYPE1 D_801D0D00; -extern UNK_PTR D_801D0D28; +extern const TransitionInit TransitionCircle_InitVars; extern UNK_TYPE4 D_801D0D50; // extern UNK_TYPE1 D_801D0D54; // extern UNK_TYPE2 D_801D0D58; @@ -3373,9 +3370,9 @@ extern s32* gNMIBuffer; // extern UNK_TYPE1 D_801F59F8; // extern QuakeRequest sQuakeRequest[4]; // extern Quake2Context sQuake2Context; -extern s32 sMatAnimStep; -extern u32 sMatAnimFlags; -extern f32 sMatAnimAlphaRatio; +// extern s32 sMatAnimStep; +// extern u32 sMatAnimFlags; +// extern f32 sMatAnimAlphaRatio; extern s32 D_801F5AB0; extern s32 D_801F5AB4; // extern UNK_TYPE1 D_801F5AC0; @@ -3855,15 +3852,260 @@ extern OSMesg D_80203290[1]; // extern UNK_TYPE1 D_80208E98; // extern UNK_TYPE1 D_80208E99; // extern UNK_TYPE1 D_80208E9C; + +// post-code buffers extern u8 gGfxSPTaskYieldBuffer[OS_YIELD_DATA_SIZE]; extern u8 gGfxSPTaskStack[0x400]; extern GfxPool gGfxPools[2]; extern u8 gAudioHeap[0x138000]; -extern u32 gSystemHeap[UNK_SIZE]; -extern u16 gFramebufferHighRes0[SCREEN_HEIGHT_HIGH_RES][SCREEN_WIDTH_HIGH_RES]; // at 0x80780000 +extern u8 gSystemHeap[UNK_SIZE]; + extern u8 D_80780000[0x4600]; extern u8 D_80784600[0x56200]; -extern u16 gFramebuffer0[SCREEN_HEIGHT][SCREEN_WIDTH]; // at 0x807DA800 +extern u16 gFramebuffer0[SCREEN_HEIGHT][SCREEN_WIDTH]; + +// keep objects + +extern Gfx D_040008D0[]; +extern UNK_TYPE D_040032B0; +extern UNK_TYPE D_0400CF58; +extern UNK_TYPE D_0400CF88; +extern UNK_TYPE D_0400CF98; +extern UNK_TYPE D_0400D0A8; +extern UNK_TYPE D_0400D0B0; +extern UNK_TYPE D_0400D0C8; +extern UNK_TYPE D_0400D100; +extern UNK_TYPE D_0400D218; +extern UNK_TYPE D_0400D220; +extern UNK_TYPE D_0400D228; +extern UNK_TYPE D_0400D2D0; +extern UNK_TYPE D_0400D3E8; +extern UNK_TYPE D_0400D3F8; +extern UNK_TYPE D_0400D488; +extern UNK_TYPE D_0400D490; +extern UNK_TYPE D_0400D500; +extern UNK_TYPE D_0400D520; +extern UNK_TYPE D_0400D568; +extern UNK_TYPE D_0400D638; +extern UNK_TYPE D_0400D660; +extern UNK_TYPE D_0400D698; +extern UNK_TYPE D_0400D728; +extern UNK_TYPE D_0400D9C8; +extern UNK_TYPE D_0400D9D0; +extern UNK_TYPE D_0400DA70; +extern UNK_TYPE D_0400DA88; +extern UNK_TYPE D_0400DAA8; +extern UNK_TYPE D_0400DAC0; +extern UNK_TYPE D_0400DAC8; +extern UNK_TYPE D_0400DAD8; +extern UNK_TYPE D_0400DAE0; +extern UNK_TYPE D_0400DAF0; +extern UNK_TYPE D_0400DB10; +extern UNK_TYPE D_0400DB18; +extern UNK_TYPE D_0400DB30; +extern UNK_TYPE D_0400DBB0; +extern UNK_TYPE D_0400DBE8; +extern UNK_TYPE D_0400DC48; +extern UNK_TYPE D_0400DC50; +extern UNK_TYPE D_0400DCA8; +extern UNK_TYPE D_0400DCD0; +extern UNK_TYPE D_0400DCD8; +extern UNK_TYPE D_0400DCF8; +extern UNK_TYPE D_0400DD30; +extern UNK_TYPE D_0400DD38; +extern UNK_TYPE D_0400DD40; +extern UNK_TYPE D_0400DD50; +extern UNK_TYPE D_0400DD58; +extern UNK_TYPE D_0400DD80; +extern UNK_TYPE D_0400DDB0; +extern UNK_TYPE D_0400DDF8; +extern UNK_TYPE D_0400DE00; +extern UNK_TYPE D_0400DE08; +extern UNK_TYPE D_0400DE10; +extern UNK_TYPE D_0400DE28; +extern UNK_TYPE D_0400DE30; +extern UNK_TYPE D_0400DE58; +extern UNK_TYPE D_0400DE60; +extern UNK_TYPE D_0400DEA0; +extern UNK_TYPE D_0400DEA8; +extern UNK_TYPE D_0400DF78; +extern UNK_TYPE D_0400DF90; +extern UNK_TYPE D_0400DFA0; +extern UNK_TYPE D_0400DFD0; +extern UNK_TYPE D_0400DFE0; +extern UNK_TYPE D_0400DFE8; +extern UNK_TYPE D_0400DFF8; +extern UNK_TYPE D_0400E000; +extern UNK_TYPE D_0400E070; +extern UNK_TYPE D_0400E088; +extern UNK_TYPE D_0400E120; +extern UNK_TYPE D_0400E150; +extern UNK_TYPE D_0400E1F0; +extern UNK_TYPE D_0400E200; +extern UNK_TYPE D_0400E208; +extern UNK_TYPE D_0400E270; +extern UNK_TYPE D_0400E290; +extern UNK_TYPE D_0400E2A8; +extern UNK_TYPE D_0400E2B8; +extern UNK_TYPE D_0400E2C0; +extern UNK_TYPE D_0400E2D0; +extern UNK_TYPE D_0400E2D8; +extern UNK_TYPE D_0400E2E8; +extern UNK_TYPE D_0400E318; +extern UNK_TYPE D_0400E398; +extern UNK_TYPE D_0400E3A0; +extern UNK_TYPE D_0400E3A8; +extern UNK_TYPE D_0400E3C0; +extern UNK_TYPE D_0400E3D8; +extern UNK_TYPE D_0400E408; +extern UNK_TYPE D_0400E410; +extern UNK_TYPE D_0400E418; +extern UNK_TYPE D_0400EB7C; +extern UNK_TYPE D_040117A8; +extern UNK_TYPE D_04012860; +extern UNK_TYPE D_040128BC; +extern UNK_TYPE D_04015FA0; +extern UNK_TYPE D_04016360; +extern UNK_TYPE D_0401A4D0; +extern UNK_TYPE D_0401A538; +extern UNK_TYPE D_0401A620; +extern Gfx D_0401C430[]; +extern UNK_TYPE D_0401F740; +extern UNK_TYPE D_0401F7C0; +extern UNK_TYPE D_0401F8C0; +extern UNK_TYPE D_0401FA40; +extern UNK_TYPE D_04020BB8; +extern UNK_TYPE D_040221B8; +extern UNK_TYPE D_04023100; +extern UNK_TYPE D_04023130; +extern Gfx D_04023210[]; +extern UNK_TYPE D_04023288; +extern UNK_TYPE D_04023348; +extern UNK_TYPE D_04025850; +extern UNK_TYPE D_04025DD0; +extern UNK_TYPE D_040281DC; +extern UNK_TYPE D_04028FEC; +extern UNK_TYPE D_04029140; +extern Gfx D_04029CB0[]; +extern Gfx D_04029CF0[]; +extern UNK_TYPE D_04029D20; +extern UNK_TYPE D_0402B494; +extern UNK_TYPE D_0402C908; +extern Gfx D_0402E510[]; +extern UNK_TYPE D_0402E65C; +extern UNK_TYPE D_0402F0EC; +extern Gfx D_04030100[]; // Floor shockwave ring +extern UNK_TYPE D_040301B0; +extern UNK_TYPE D_04032270; +extern UNK_TYPE D_04035710; +extern UNK_TYPE D_040367B0; +extern UNK_TYPE D_040377B0; +extern UNK_TYPE D_04037850; +extern Gfx D_040378F0[]; // gExplosionSplashTex1 +extern Gfx D_04037DF0[]; // gExplosionSplashTex2 +extern Gfx D_040382F0[]; // gExplosionSplashTex3 +extern Gfx D_040387F0[]; // gExplosionSplashTex4 +extern Gfx D_04038CF0[]; // gExplosionSplashTex5 +extern Gfx D_040391F0[]; // gExplosionSplashTex6 +extern Gfx D_040396F0[]; // gExplosionSplashTex7 +extern Gfx D_04039BF0[]; // gExplosionSplashTex8 +extern Gfx D_0403A0F0[]; // gExplosionSplashDL +extern UNK_TYPE D_0403C190; +extern UNK_TYPE D_0403F230; +extern UNK_TYPE D_04044300; +extern Gfx D_04048DF0[]; +extern UNK_TYPE D_04050D10; +extern UNK_TYPE D_04051180; +extern UNK_TYPE D_04051238; +extern UNK_TYPE D_0405140C; +extern UNK_TYPE D_040527F0; +extern UNK_TYPE D_040528B0; +extern Gfx D_04054A90[]; +extern UNK_TYPE D_04055628; +extern Gfx D_04057B10[]; +extern Gfx D_04058BA0[]; +extern Gfx D_04089070[]; +extern u64 D_0408DBE0[]; // gDust1Tex +extern u64 D_0408DFE0[]; // gDust2Tex +extern u64 D_0408E3E0[]; // gDust3Tex +extern u64 D_0408E7E0[]; // gDust4Tex +extern u64 D_0408EBE0[]; // gDust5Tex +extern u64 D_0408EFE0[]; // gDust6Tex +extern u64 D_0408F3E0[]; // gDust7Tex +extern u64 D_0408F7E0[]; // gDust8Tex +extern UNK_TYPE D_04050550; +extern UNK_TYPE D_04050648; +extern UNK_TYPE D_040510B0; +extern UNK_TYPE D_04054940; +extern Gfx D_0405AAB0[]; +extern UNK_TYPE D_0405B6F0; +extern UNK_TYPE D_0405BEF0; +extern UNK_TYPE D_0405C6F0; +extern UNK_TYPE D_0405CEF0; +extern UNK_TYPE D_0405E6F0; +extern Gfx D_0405F6F0[]; +extern UNK_TYPE D_0405F7C0; +extern UNK_TYPE D_0405FFC0; +extern UNK_TYPE D_040607C0; +extern UNK_TYPE D_04060FC0; +extern UNK_TYPE D_040617C0; +extern UNK_TYPE D_04061FC0; +extern UNK_TYPE D_04061FE0; +extern UNK_TYPE D_04062000; +extern UNK_TYPE D_04062020; +extern UNK_TYPE D_04062040; +extern UNK_TYPE D_04062060; +extern Gfx D_040622C0[]; +extern UNK_TYPE D_0406AB30; +extern UNK_TYPE D_0406B730; +extern UNK_TYPE D_0406BB0C; +extern UNK_TYPE D_0406F380; +extern UNK_TYPE D_04073F00; +extern UNK_TYPE D_04075400; +extern Gfx D_04075A40[]; +extern Gfx D_04075B30[]; +extern Gfx D_04076BC0[]; +extern Gfx D_04077480[]; +extern UNK_TYPE D_04079B10; +extern UNK_TYPE D_0407AB10; +extern UNK_TYPE D_0407AFB0; +extern UNK_TYPE D_0407D590; +extern UNK_TYPE D_0407D650; +extern UNK_TYPE D_0407F218; +extern UNK_TYPE D_040815D0; +extern UNK_TYPE D_04081628; +extern UNK_TYPE D_04083534; +extern UNK_TYPE D_04091BE0; +extern UNK_TYPE D_04091CE0; + +extern Gfx D_05000C40[]; +extern UNK_TYPE D_05001D20; +extern UNK_TYPE D_050061E8; +extern UNK_TYPE D_05006420; +extern UNK_TYPE D_050066B0; +extern UNK_TYPE D_05007498; +extern Gfx D_05007890[]; +extern UNK_TYPE D_050078A0; +extern UNK_TYPE D_05007938; +extern Gfx D_05007980[]; +extern UNK_TYPE D_05007E00; +extern UNK_TYPE D_05008018; +extern UNK_TYPE D_050085F0; +extern Gfx D_05017EA0[]; // pot displaylist +extern Gfx D_05018090[]; // pot break shard displaylist +extern UNK_TYPE D_050182A8; +extern UNK_TYPE D_0501B508; +extern UNK_TYPE D_0501C058; +extern Gfx D_0501D980[]; +extern Gfx D_050219E0[]; +extern UNK_TYPE D_05023008; +extern UNK_TYPE D_0502324C; + +// other segments +extern UNK_TYPE D_0E000048; +extern UNK_TYPE D_0E000088; +extern UNK_TYPE D_0E000140; +extern UNK_TYPE D_0E0001C8; +extern UNK_TYPE D_0E0002C8; #endif - diff --git a/include/viint.h b/include/viint.h index 2952a4ec7e..790bed47bf 100644 --- a/include/viint.h +++ b/include/viint.h @@ -3,8 +3,8 @@ // TODO should be in libultra/io -#include -#include +#include "PR/ultratypes.h" +#include "os.h" typedef struct { /* 0x0 */ f32 factor; diff --git a/include/vt.h b/include/vt.h new file mode 100644 index 0000000000..46cbf05e73 --- /dev/null +++ b/include/vt.h @@ -0,0 +1,35 @@ +#ifndef VT_H +#define VT_H + +#define VT_COLOR_BLACK 0 +#define VT_COLOR_RED 1 +#define VT_COLOR_GREEN 2 +#define VT_COLOR_YELLOW 3 +#define VT_COLOR_BLUE 4 +#define VT_COLOR_PURPLE 5 +#define VT_COLOR_CYAN 6 +#define VT_COLOR_WHITE 7 +#define VT_COLOR_LIGHTGRAY 8 +#define VT_COLOR_DARKGRAY 9 + +#define VT_COLOR_FOREGROUND 3 +#define VT_COLOR_BACKGROUND 4 + +#define VT_COLOR_EXPAND0(type, color) #type #color +#define VT_COLOR_EXPAND1(type, color) VT_COLOR_EXPAND0(type, color) +#define VT_COLOR(type, color) VT_COLOR_EXPAND1(VT_COLOR_##type, VT_COLOR_##color) + +#define VT_ESC "\x1b" +#define VT_CSI "[" +#define VT_CUP(x, y) VT_ESC VT_CSI y ";" x "H" +#define VT_ED(n) VT_ESC VT_CSI #n "J" +#define VT_SGR(n) VT_ESC VT_CSI n "m" + +// Add more macros if necessary +#define VT_COL(back, fore) VT_SGR(VT_COLOR(BACKGROUND, back) ";" VT_COLOR(FOREGROUND, fore)) +#define VT_FGCOL(color) VT_SGR(VT_COLOR(FOREGROUND, color)) +#define VT_BGCOL(color) VT_SGR(VT_COLOR(BACKGROUND, color)) +#define VT_RST VT_SGR("") +#define VT_CLS VT_ED(2) + +#endif diff --git a/include/z64.h b/include/z64.h index 9423136146..5a16de4ace 100644 --- a/include/z64.h +++ b/include/z64.h @@ -1,40 +1,41 @@ #ifndef _Z64_H_ #define _Z64_H_ -#include -#include -#include +#include "stdarg.h" +#include "stdbool.h" +#include "stdint.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include "PR/ultratypes.h" +#include "PR/gbi.h" +#include "PR/sched.h" +#include "io/controller.h" +#include "osint.h" +#include "viint.h" +#include "math.h" +#include "os.h" +#include "stdlib.h" +#include "xstdio.h" +#include "unk.h" -#include -#include -#include +#include "sfx.h" +#include "color.h" +#include "ichain.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include "z64actor.h" +#include "z64animation.h" +#include "z64bgcheck.h" +#include "z64collision_check.h" +#include "z64cutscene.h" +#include "z64dma.h" +#include "z64effect.h" +#include "z64item.h" +#include "z64light.h" +#include "z64math.h" +#include "z64object.h" #include "z64player.h" -#include -#include +#include "z64scene.h" +#include "z64save.h" +#include "z64transition.h" #define SCREEN_WIDTH 320 #define SCREEN_HEIGHT 240 @@ -321,7 +322,8 @@ typedef struct { /* 0x08 */ u32 rodataSize; /* 0x0C */ u32 bssSize; /* 0x10 */ u32 nRelocations; -} OverlayRelocationSection; // size = 0x14 + /* 0x14 */ u32 relocations[1]; +} OverlayRelocationSection; // size >= 0x18 typedef struct { /* 0x00 */ s16 intPart[16]; @@ -988,8 +990,6 @@ typedef struct ActorEnFirefly ActorEnFirefly; typedef struct ActorObjBell ActorObjBell; -typedef struct DaytelopContext DaytelopContext; - typedef struct ActorBgIknvObj ActorBgIknvObj; typedef struct FaultAddrConvClient FaultAddrConvClient; @@ -1027,10 +1027,6 @@ typedef struct { /* 0x844 */ void* fb; } FaultThreadStruct; // size = 0x848 -typedef struct FileChooseContext FileChooseContext; - -typedef void(*filechoose_update_func)(FileChooseContext* globalCtx); - typedef struct FireObj FireObj; typedef struct FireObjLight FireObjLight; @@ -1039,12 +1035,8 @@ typedef struct GameAlloc GameAlloc; typedef struct GameState GameState; -typedef struct OpeningContext OpeningContext; - typedef struct PreNMIContext PreNMIContext; -typedef struct TitleContext TitleContext; - typedef struct GameAllocNode GameAllocNode; struct GameAllocNode { @@ -1078,137 +1070,12 @@ struct GameState { /* 0xA3 */ UNK_TYPE1 unkA3; }; // size = 0xA4 -struct OpeningContext { - /* 0x000 */ GameState common; - /* 0x0A4 */ UNK_TYPE1 padA4[0x4]; - /* 0x0A8 */ View view; -}; // size = 0x210 - struct PreNMIContext { /* 0x00 */ GameState state; /* 0xA4 */ u32 timer; /* 0xA8 */ UNK_TYPE4 unkA8; }; // size = 0xAC -struct TitleContext { - /* 0x000 */ GameState state; - /* 0x0A4 */ u8* staticSegment; - /* 0x0A8 */ View view; - /* 0x210 */ SramContext sramCtx; - /* 0x238 */ s16 mode; - /* 0x23A */ s16 timer; - /* 0x23C */ s16 coverAlpha; - /* 0x23E */ s16 addAlpha; - /* 0x240 */ s16 visibleDuration; - /* 0x242 */ s16 ult; - /* 0x244 */ s16 uls; - /* 0x246 */ u8 exit; -}; // size = 0x248 - -struct DaytelopContext { - /* 0x000 */ GameState common; - /* 0x0A4 */ UNK_TYPE1 padA4[0xC]; - /* 0x0B0 */ View view; - /* 0x218 */ UNK_TYPE1 pad218[0x28]; - /* 0x240 */ s16 transitionCountdown; - /* 0x242 */ s16 unk242; - /* 0x244 */ s16 unk244; - /* 0x246 */ UNK_TYPE1 pad246[0x2]; -}; // size = 0x248 - -struct FileChooseContext { - /* 0x00000 */ GameState state; - /* 0x000A8 */ u8* staticSegment; - /* 0x000AC */ u8* parameterSegment; - /* 0x000B0 */ u8* titleSegment; - /* 0x000B8 */ View view; - /* 0x00220 */ SramContext sramCtx; - /* 0x00248 */ SkyboxContext skyboxCtx; - /* 0x00470 */ MessageContext msgCtx; - /* 0x12550 */ Font font; - /* 0x242E0 */ EnvironmentContext envCtx; - /* 0x243E0 */ Vtx* unk_243E0; - /* 0x243E4 */ Vtx* unk_243E4; - /* 0x243E8 */ Vtx* unk_243E8; - /* 0x243EC */ Vtx* unk_243EC; - /* 0x243F0 */ Vtx* unk_243F0; - /* 0x243F4 */ u8 newf[6][4]; - /* 0x2440C */ u16 unk_2440C[4]; - /* 0x24414 */ u8 unk_24414[8][4]; - /* 0x24434 */ s16 healthCapacity[4]; - /* 0x2443C */ s16 health[4]; - /* 0x24444 */ u32 unk_24444[4]; - /* 0x24454 */ s8 unk_24454[4]; - /* 0x24458 */ u16 unk_24458[4]; - /* 0x24460 */ s16 unk_24460[4]; - /* 0x24468 */ u8 unk_24468[4]; - /* 0x2446C */ s16 rupees[4]; - /* 0x24474 */ u8 unk_24474[4]; - /* 0x24478 */ u8 unk_24478[4]; - /* 0x2447C */ u8 unk_2447C[4]; - /* 0x24480 */ s16 unk_24480; - /* 0x24482 */ s16 unk_24482; - /* 0x24484 */ s16 unk_24484; - /* 0x24486 */ s16 unk_24486; - /* 0x24488 */ s16 unk_24488; - /* 0x2448A */ s16 unk_2448A; - /* 0x2448C */ s16 unk_2448C; - /* 0x2448E */ s16 unk_2448E; - /* 0x24490 */ s16 unk_24490; - /* 0x24492 */ s16 unk_24492[3]; - /* 0x24498 */ s16 unk_24498; - /* 0x2449A */ s16 unk_2449A[6]; - /* 0x244A6 */ s16 unk_244A6; - /* 0x244A8 */ s16 unk_244A8; - /* 0x244AA */ s16 unk_244AA; - /* 0x244AC */ s16 unk_244AC; - /* 0x244AE */ s16 unk_244AE; - /* 0x244B0 */ s16 unk_244B0[3]; - /* 0x244B6 */ s16 unk_244B6[2]; - /* 0x244BA */ s16 unk_244BA; - /* 0x244BC */ s16 unk_244BC[3]; - /* 0x244C2 */ s16 unk_244C2[3]; - /* 0x244C8 */ s16 unk_244C8[3]; - /* 0x244CE */ s16 unk_244CE[3]; - /* 0x244D4 */ s16 unk_244D4[3]; - /* 0x244DA */ s16 unk_244DA[4]; - /* 0x244E2 */ s16 unk_244E2; - /* 0x244E4 */ s16 unk_244E4; - /* 0x244E6 */ s16 unk_244E6; - /* 0x244E8 */ s16 unk_244E8; - /* 0x244EA */ s16 unk_244EA[4]; - /* 0x244F2 */ s16 unk_244F2; - /* 0x244F4 */ s16 unk_244F4; - /* 0x244F6 */ s16 unk_244F6[2]; - /* 0x244FA */ s16 unk_244FA; - /* 0x244FC */ s16 unk_244FC; - /* 0x244FE */ s16 unk_244FE; - /* 0x24500 */ s16 unk_24500; - /* 0x24502 */ s16 unk_24502; - /* 0x24504 */ s16 unk_24504; - /* 0x24506 */ s16 unk_24506; - /* 0x24508 */ s16 unk_24508; - /* 0x2450A */ s16 unk_2450A; - /* 0x2450C */ f32 unk_2450C; - /* 0x24510 */ s16 unk_24510; - /* 0x24512 */ s16 unk_24512; - /* 0x24514 */ s16 unk_24514; - /* 0x24516 */ s16 unk_24516; - /* 0x24518 */ s16 unk_24518; - /* 0x2451A */ s16 unk_2451A; - /* 0x2451C */ s16 unk_2451C; - /* 0x2451E */ s16 unk_2451E[5]; - /* 0x24528 */ s16 unk_24528; - /* 0x2452A */ s16 unk_2452A; - /* 0x2452C */ s16 unk_2452C[4]; - /* 0x24534 */ s16 unk_24534[4]; - /* 0x2453C */ s16 unk_2453C[4]; - /* 0x24544 */ s16 unk_24544[4]; - /* 0x2454C */ s16 unk_2454C; - /* 0x2454E */ s16 unk_2454E; - /* 0x24550 */ s16 unk_24550; -}; // size = 0x24558 - typedef struct GlobalContext GlobalContext; typedef s32 (*ColChkResetFunc)(GlobalContext*, Collider*); diff --git a/include/z64actor.h b/include/z64actor.h index 71378f7ab9..ad35478867 100644 --- a/include/z64actor.h +++ b/include/z64actor.h @@ -1,11 +1,11 @@ #ifndef _Z64ACTOR_H_ #define _Z64ACTOR_H_ -#include -#include -#include -#include -#include +#include "PR/ultratypes.h" +#include "z64math.h" +#include "z64animation.h" +#include "z64collision_check.h" +#include "unk.h" #define MASS_IMMOVABLE 0xFF // Cannot be pushed by OC collisions #define MASS_HEAVY 0xFE // Can only be pushed by OC collisions with IMMOVABLE and HEAVY objects. diff --git a/include/z64animation.h b/include/z64animation.h index 38eb8f7533..1e5b8b0ed4 100644 --- a/include/z64animation.h +++ b/include/z64animation.h @@ -1,10 +1,10 @@ #ifndef _Z64_ANIMATION_H #define _Z64_ANIMATION_H -#include -#include -#include -#include +#include "PR/ultratypes.h" +#include "PR/gbi.h" +#include "z64dma.h" +#include "z64math.h" #define LINK_ANIMETION_OFFSET(addr, offset) \ (((u32)&_link_animetionSegmentRomStart) + ((u32)addr & 0xFFFFFF) + ((u32)offset)) diff --git a/include/z64collision_check.h b/include/z64collision_check.h index de97ad4639..fbfcff7ae9 100644 --- a/include/z64collision_check.h +++ b/include/z64collision_check.h @@ -1,9 +1,9 @@ #ifndef _Z_COLLISION_CHECK_H_ #define _Z_COLLISION_CHECK_H_ -#include -#include -#include +#include "PR/ultratypes.h" +#include "z64math.h" +#include "unk.h" struct Actor; diff --git a/include/z64cutscene.h b/include/z64cutscene.h index 4ef0cc3522..3629aba74a 100644 --- a/include/z64cutscene.h +++ b/include/z64cutscene.h @@ -1,8 +1,8 @@ #ifndef _Z64CUTSCENE_H_ #define _Z64CUTSCENE_H_ -#include -#include +#include "ultra64.h" +#include "unk.h" typedef struct { /* 0x00 */ s8 continueFlag; diff --git a/include/z64dma.h b/include/z64dma.h index 001c629fa7..570aa84320 100644 --- a/include/z64dma.h +++ b/include/z64dma.h @@ -1,7 +1,7 @@ #ifndef _Z64_DMA_H_ #define _Z64_DMA_H_ -#include +#include "ultra64.h" typedef struct { /* 0x00 */ u32 vromAddr; // VROM address (source) diff --git a/include/z64effect.h b/include/z64effect.h index 213c3294ce..9bb4f1ea2a 100644 --- a/include/z64effect.h +++ b/include/z64effect.h @@ -1,15 +1,14 @@ #ifndef _Z64EFFECT_H_ #define _Z64EFFECT_H_ -#include -#include -#include -#include -#include +#include "PR/ultratypes.h" +#include "color.h" +#include "z64light.h" +#include "z64math.h" +#include "unk.h" struct GraphicsContext; struct GlobalContext; -struct EffectSs; typedef void(*eff_destroy_func)(void* params); @@ -223,23 +222,29 @@ typedef struct { /* 0x3DF0 */ EffTireMark tireMarks[TIRE_MARK_COUNT]; } EffTables; // size = 0x98E0 -typedef struct { - /* 0x00 */ Vec3f position; - /* 0x0C */ Vec3f velocity; - /* 0x18 */ Vec3f acceleration; - /* 0x24 */ Color_RGBA8 color1; - /* 0x28 */ Color_RGBA8 color2; - /* 0x2C */ s16 scale; - /* 0x2E */ s16 scaleChangePerFrame; - /* 0x30 */ s16 life; - /* 0x32 */ u16 flags; // bit0: ? bit1: ? bit2: randomize colors - /* 0x34 */ u8 type; // type0: start small, get big, fade away type1: start big, fade away -} EffectDustInit; // size = 0x35 +/* Effect Soft Sprites */ + +struct EffectSs; typedef u32 (*EffectSsInitFunc)(struct GlobalContext* globalCtx, u32 index, struct EffectSs* effectSs, void* initParams); typedef void(*EffectSsUpdateFunc)(struct GlobalContext* globalCtx, u32 index, struct EffectSs* particle); typedef void(*EffectSsDrawFunc)(struct GlobalContext* globalCtx, u32 index, struct EffectSs* particle); +typedef struct { + /* 0x00 */ u32 type; + /* 0x04 */ EffectSsInitFunc init; +} EffectSsInit; // size = 0x08 + +typedef struct { + /* 0x00 */ u32 vromStart; + /* 0x04 */ u32 vromEnd; + /* 0x08 */ void* vramStart; + /* 0x0C */ void* vramEnd; + /* 0x10 */ void* loadedRamAddr; + /* 0x14 */ EffectSsInit* initInfo; + /* 0x18 */ u32 unk18; // Always 0x01000000? +} EffectSsOverlay; // size = 0x1C + typedef struct EffectSs { /* 0x00 */ Vec3f pos; /* 0x0C */ Vec3f velocity; @@ -260,87 +265,29 @@ typedef struct { /* 0x0 */ EffectSs* data_table; // Name from debug assert /* 0x4 */ s32 searchIndex; /* 0x8 */ s32 size; -} EffectTableInfo; // size = 0xC - -typedef struct { - /* 0x0 */ UNK_TYPE4 unk0; - /* 0x4 */ EffectSsInitFunc init; -} ParticleOverlayInfo; // size = 0x8 - -typedef struct { - /* 0x00 */ u32 vromStart; - /* 0x04 */ u32 vromEnd; - /* 0x08 */ void* vramStart; - /* 0x0C */ void* vramEnd; - /* 0x10 */ void* loadedRamAddr; - /* 0x14 */ ParticleOverlayInfo* overlayInfo; - /* 0x18 */ u32 unk18; // Always 0x01000000? -} ParticleOverlay; // size = 0x1C - -typedef enum EffectSSType { - EFFECT_SS2_TYPE_DUST = 0x0, - EFFECT_SS2_TYPE_SPARKLE = 0x1, - EFFECT_SS2_TYPE_DELETED_2 = 0x2, - EFFECT_SS2_TYPE_BOMB2 = 0x3, - EFFECT_SS2_TYPE_BLAST = 0x4, - EFFECT_SS2_TYPE_G_SPARK = 0x5, - EFFECT_SS2_TYPE_DODONGO_FIRE = 0x6, - EFFECT_SS2_TYPE_BUBBLE = 0x7, - EFFECT_SS2_TYPE_DELETED_8 = 0x8, - EFFECT_SS2_TYPE_G_RIPPLE = 0x9, - EFFECT_SS2_TYPE_G_SPLASH = 0xA, - EFFECT_SS2_TYPE_DELETED_B = 0xB, - EFFECT_SS2_TYPE_G_FIRE = 0xC, - EFFECT_SS2_TYPE_LIGHTNING = 0xD, - EFFECT_SS2_TYPE_BIG_OCTO_BUBBLE = 0xE, - EFFECT_SS2_TYPE_FRAGMENT = 0xF, - EFFECT_SS2_TYPE_STICK = 0x10, - EFFECT_SS2_TYPE_SPLASH = 0x11, - EFFECT_SS2_TYPE_DELETED_12 = 0x12, - EFFECT_SS2_TYPE_DELETED_13 = 0x13, - EFFECT_SS2_TYPE_STONE1 = 0x14, - EFFECT_SS2_TYPE_HIT_MARK = 0x15, - EFFECT_SS2_TYPE_PHANTOM_GANON_FLASH = 0x16, - EFFECT_SS2_TYPE_KAKARIKO_FIRE = 0x17, - EFFECT_SS2_TYPE_SOLDIER_SEARCH_BALL = 0x18, - EFFECT_SS2_TYPE_SHARD = 0x19, - EFFECT_SS2_TYPE_ICE_PIECE = 0x1A, - EFFECT_SS2_TYPE_ENEMY_ICE = 0x1B, - EFFECT_SS2_TYPE_FIRE_TAIL = 0x1C, - EFFECT_SS2_TYPE_ENEMY_FIRE = 0x1D, - EFFECT_SS2_TYPE_EXTRA = 0x1E, - EFFECT_SS2_TYPE_DELETED_1F = 0x1F, - EFFECT_SS2_TYPE_DEAD_DEKU_BABA = 0x20, - EFFECT_SS2_TYPE_DEAD_DODONGO = 0x21, - EFFECT_SS2_TYPE_DEAD_DEKU_SCRUB = 0x22, - EFFECT_SS2_TYPE_DELETED_23 = 0x23, - EFFECT_SS2_TYPE_ICE_SMOKE = 0x24, - EFFECT_SS2_TYPE_ICE_BLOCK = 0x25, - EFFECT_SS2_TYPE_SBN = 0x26, - EFFECT_SS2_TYPE_LAST_LABEL = 0x27 -} EffectSSType; +} EffectSsInfo; // size = 0xC typedef enum { /* 0x00 */ EFFECT_SS_DUST, /* 0x01 */ EFFECT_SS_KIRAKIRA, - /* 0x02 */ EFFECT_SS_BOMB, + /* 0x02 */ EFFECT_SS_UNSET_02, /* 0x03 */ EFFECT_SS_BOMB2, /* 0x04 */ EFFECT_SS_BLAST, /* 0x05 */ EFFECT_SS_G_SPK, /* 0x06 */ EFFECT_SS_D_FIRE, /* 0x07 */ EFFECT_SS_BUBBLE, - /* 0x08 */ EFFECT_SS_UNSET, + /* 0x08 */ EFFECT_SS_UNSET_08, /* 0x09 */ EFFECT_SS_G_RIPPLE, /* 0x0A */ EFFECT_SS_G_SPLASH, - /* 0x0B */ EFFECT_SS_G_MAGMA, + /* 0x0B */ EFFECT_SS_UNSET_0B, /* 0x0C */ EFFECT_SS_G_FIRE, /* 0x0D */ EFFECT_SS_LIGHTNING, /* 0x0E */ EFFECT_SS_DT_BUBBLE, /* 0x0F */ EFFECT_SS_HAHEN, /* 0x10 */ EFFECT_SS_STICK, /* 0x11 */ EFFECT_SS_SIBUKI, - /* 0x12 */ EFFECT_SS_SIBUKI2, - /* 0x13 */ EFFECT_SS_G_MAGMA2, + /* 0x12 */ EFFECT_SS_UNSET_12, + /* 0x13 */ EFFECT_SS_UNSET_13, /* 0x14 */ EFFECT_SS_STONE1, /* 0x15 */ EFFECT_SS_HITMARK, /* 0x16 */ EFFECT_SS_FHG_FLASH, @@ -352,365 +299,15 @@ typedef enum { /* 0x1C */ EFFECT_SS_FIRE_TAIL, /* 0x1D */ EFFECT_SS_EN_FIRE, /* 0x1E */ EFFECT_SS_EXTRA, - /* 0x1F */ EFFECT_SS_FCIRCLE, + /* 0x1F */ EFFECT_SS_UNSET_1F, /* 0x20 */ EFFECT_SS_DEAD_DB, /* 0x21 */ EFFECT_SS_DEAD_DD, /* 0x22 */ EFFECT_SS_DEAD_DS, - /* 0x23 */ EFFECT_SS_DEAD_SOUND, + /* 0x23 */ EFFECT_SS_UNSET_23, /* 0x24 */ EFFECT_SS_ICE_SMOKE, - /* 0x25 */ EFFECT_SS_ICE_BLOCK + /* 0x25 */ EFFECT_EN_ICE_BLOCK, + /* 0x26 */ EFFECT_SS_SBN, + /* 0x27 */ EFFECT_SS_MAX } EffectSsType; -/* Init param structs, split into overlay headers when effects folder is made */ - -typedef struct { - /* 0x00 */ Vec3f pos; - /* 0x0C */ Vec3f velocity; - /* 0x18 */ Vec3f accel; - /* 0x24 */ Color_RGBA8 primColor; - /* 0x28 */ Color_RGBA8 envColor; - /* 0x2C */ s16 scale; - /* 0x2E */ s16 scaleStep; - /* 0x30 */ s16 life; - /* 0x32 */ u16 drawFlags; - /* 0x34 */ u8 updateMode; -} EffectSsDustInitParams; // size = 0x38 - -typedef struct { - /* 0x00 */ Vec3f pos; - /* 0x0C */ Vec3f velocity; - /* 0x18 */ Vec3f accel; - /* 0x24 */ Color_RGBA8 primColor; - /* 0x28 */ Color_RGBA8 envColor; - /* 0x2C */ s16 alphaStep; - /* 0x2E */ s16 scale; - /* 0x30 */ s32 life; - /* 0x34 */ s16 rotSpeed; - /* 0x36 */ s16 yaw; - /* 0x38 */ u8 updateMode; -} EffectSsKiraKiraInitParams; // size = 0x3C - -typedef struct { - /* 0x00 */ Vec3f pos; - /* 0x0C */ Vec3f velocity; - /* 0x18 */ Vec3f accel; - /* 0x24 */ s16 scale; - /* 0x26 */ s16 scaleStep; - /* 0x28 */ u8 drawMode; -} EffectSsBomb2InitParams; // size = 0x30 - -typedef struct { - /* 0x00 */ Vec3f pos; - /* 0x0C */ Vec3f velocity; - /* 0x18 */ Vec3f accel; - /* 0x24 */ Color_RGBA8 primColor; - /* 0x28 */ Color_RGBA8 envColor; - /* 0x2C */ s16 scale; - /* 0x2E */ s16 scaleStep; - /* 0x30 */ s16 sclaeStepDecay; - /* 0x32 */ s16 life; -} EffectSsBlastInitParams; // size = 0x34 - -typedef struct { - /* 0x00 */ Actor* actor; - /* 0x04 */ Vec3f pos; - /* 0x10 */ Vec3f velocity; - /* 0x1C */ Vec3f accel; - /* 0x28 */ Color_RGBA8 primColor; - /* 0x2C */ Color_RGBA8 envColor; - /* 0x30 */ s16 scale; - /* 0x32 */ s16 scaleStep; - /* 0x34 */ u8 updateMode; -} EffectSsGSpkInitParams; // size = 0x38 - -typedef struct { - /* 0x00 */ Vec3f pos; - /* 0x0C */ Vec3f velocity; - /* 0x18 */ Vec3f accel; - /* 0x24 */ s16 scale; - /* 0x26 */ s16 scaleStep; - /* 0x28 */ s16 alpha; - /* 0x2A */ s16 fadeDelay; - /* 0x2C */ s32 life; -} EffectSsDFireInitParams; // size = 0x30 - -typedef struct { - /* 0x00 */ Vec3f pos; - /* 0x0C */ f32 yPosOffset; - /* 0x10 */ f32 yPosRandScale; - /* 0x14 */ f32 xzPosRandScale; - /* 0x18 */ f32 scale; -} EffectSsBubbleInitParams; // size = 0x1C - -typedef struct { - /* 0x00 */ Vec3f pos; - /* 0x0C */ s16 radius; - /* 0x0E */ s16 radiusMax; - /* 0x10 */ s16 life; -} EffectSsGRippleInitParams; // size = 0x14 - -typedef struct { - /* 0x00 */ Vec3f pos; - /* 0x0C */ u8 type; - /* 0x0D */ u8 customColor; - /* 0x0E */ s16 scale; - /* 0x10 */ Color_RGBA8 primColor; - /* 0x14 */ Color_RGBA8 envColor; -} EffectSsGSplashInitParams; // size = 0x18 - -typedef struct { - /* 0x00 */ Vec3f pos; -} EffectSsGFireInitParams; // size = 0xC - -typedef struct { - /* 0x00 */ Vec3f pos; - /* 0x0C */ Color_RGBA8 primColor; - /* 0x10 */ Color_RGBA8 envColor; - /* 0x14 */ s16 scale; - /* 0x16 */ s16 yaw; - /* 0x18 */ s16 life; - /* 0x1A */ s16 numBolts; -} EffectSsLightningInitParams; // size = 0x1C - -typedef struct { - /* 0x00 */ Vec3f pos; - /* 0x0C */ Vec3f velocity; - /* 0x18 */ Vec3f accel; - /* 0x24 */ Color_RGBA8 primColor; - /* 0x28 */ Color_RGBA8 envColor; - /* 0x2C */ s16 scale; - /* 0x2E */ s16 life; - /* 0x30 */ s16 colorProfile; - /* 0x32 */ s16 randXZ; // randomly moves in the xz plane if true - /* 0x34 */ u8 customColor; -} EffectSsDtBubbleInitParams; // size = 0x3C - -typedef struct { - /* 0x00 */ Vec3f pos; - /* 0x0C */ Vec3f velocity; - /* 0x18 */ Vec3f accel; - /* 0x24 */ Gfx* dList; - /* 0x28 */ s16 unused; - /* 0x2A */ s16 scale; - /* 0x2C */ s16 objId; - /* 0x2C */ s16 life; -} EffectSsHahenInitParams; // size = 0x30 - -#define HAHEN_OBJECT_DEFAULT -1 - -typedef struct { - /* 0x00 */ Vec3f pos; - /* 0x0C */ s16 yaw; -} EffectSsStickInitParams; // size = 0x10 - -typedef struct { - /* 0x00 */ Vec3f pos; - /* 0x0C */ Vec3f velocity; - /* 0x18 */ Vec3f accel; - /* 0x24 */ s16 moveDelay; - /* 0x26 */ s16 direction; - /* 0x28 */ s16 scale; -} EffectSsSibukiInitParams; // size = 0x2C - -typedef struct { - /* 0x00 */ Vec3f pos; - /* 0x00 */ s32 unk_C; -} EffectSsStone1InitParams; // size = 0x - -typedef struct { - /* 0x00 */ s32 type; - /* 0x04 */ s16 scale; - /* 0x08 */ Vec3f pos; -} EffectSsHitMarkInitParams; // size = 0x14 - -typedef enum { - EFFECT_HITMARK_WHITE, - EFFECT_HITMARK_DUST, - EFFECT_HITMARK_RED, - EFFECT_HITMARK_METAL -} EffectSsHitmarkType; - -typedef struct { - /* 0x00 */ Vec3f pos; - /* 0x0C */ Vec3f velocity; - /* 0x18 */ Vec3f accel; - /* 0x24 */ s16 scale; - /* 0x26 */ u8 param; - /* 0x28 */ Actor* actor; - /* 0x2C */ u8 type; -} EffectSsFhgFlashInitParams; // size = 0x30 - -typedef enum { - /* 0x00 */ FHGFLASH_LIGHTBALL, - /* 0x01 */ FHGFLASH_SHOCK -} FhgFlashType; - -typedef enum { - /* 0x00 */ FHGFLASH_LIGHTBALL_GREEN, - /* 0x01 */ FHGFLASH_LIGHTBALL_LIGHTBLUE, - /* 0x02 */ FHGFLASH_LIGHTBALL_RED, - /* 0x03 */ FHGFLASH_LIGHTBALL_YELLOW, - /* 0x04 */ FHGFLASH_LIGHTBALL_BLUE, - /* 0x05 */ FHGFLASH_LIGHTBALL_PURPLE, - /* 0x06 */ FHGFLASH_LIGHTBALL_ORANGE, - /* 0x07 */ FHGFLASH_LIGHTBALL_WHITE1, - /* 0x08 */ FHGFLASH_LIGHTBALL_WHITE2 -} FhgFlashLightBallParam; - -typedef enum { - /* 0x00 */ FHGFLASH_SHOCK_NO_ACTOR, - /* 0x01 */ FHGFLASH_SHOCK_PLAYER, - /* 0x02 */ FHGFLASH_SHOCK_PG -} FhgFlashLightningParam; - -typedef struct { - /* 0x00 */ Vec3f pos; - /* 0x0C */ Vec3f velocity; - /* 0x18 */ Vec3f accel; - /* 0x24 */ s16 scaleMax; - /* 0x26 */ u8 type; -} EffectSsKFireInitParams; // size = 0x28 - -typedef struct { - /* 0x00 */ Vec3f pos; - /* 0x0C */ Vec3f velocity; - /* 0x18 */ Vec3f accel; - /* 0x24 */ s16 unused; - /* 0x28 */ s16* linkDetected; - /* 0x2C */ s16 drawFlag; -} EffectSsSolderSrchBallInitParams; - -typedef struct { - /* 0x00 */ Vec3f pos; - /* 0x0C */ Vec3f velocity; - /* 0x18 */ Vec3f unk_18; - /* 0x24 */ s16 gravity; - /* 0x26 */ s16 unk_26; - /* 0x28 */ s16 unk_28; - /* 0x2A */ s16 unk_2A; - /* 0x2C */ s16 unk_2C; - /* 0x2E */ s16 scale; - /* 0x30 */ s16 unk_30; - /* 0x32 */ s16 unk_32; - /* 0x34 */ s32 life; - /* 0x38 */ s16 colorIdx; - /* 0x3A */ s16 objId; - /* 0x3C */ Gfx* dList; -} EffectSsKakeraInitParams; // size = 0x40 - -#define KAKERA_OBJECT_DEFAULT -1 - -typedef enum { - /* -1 */ KAKERA_COLOR_NONE = -1, - /* 0 */ KAKERA_COLOR_WHITE, - /* 1 */ KAKERA_COLOR_BROWN -} KakeraColorIndex; - -typedef struct { - /* 0x00 */ Vec3f pos; - /* 0x0C */ f32 scale; - /* 0x10 */ Vec3f velocity; - /* 0x1C */ Vec3f accel; - /* 0x28 */ s32 life; -} EffectSsIcePieceInitParams; // size = 0xC - -typedef struct { - /* 0x00 */ Actor* actor; - /* 0x04 */ Vec3f pos; - /* 0x10 */ f32 scale; - /* 0x14 */ Vec3f velocity; - /* 0x20 */ Vec3f accel; - /* 0x2C */ Color_RGBA8 primColor; - /* 0x30 */ Color_RGBA8 envColor; - /* 0x34 */ s32 life; - /* 0x38 */ s16 type; -} EffectSsEnIceInitParams; // size = 0x3C - -typedef struct { - /* 0x00 */ Actor* actor; - /* 0x04 */ Vec3f pos; - /* 0x10 */ f32 scale; - /* 0x14 */ Vec3f unk_14; - /* 0x20 */ s16 unk_20; - /* 0x22 */ Color_RGBA8 primColor; - /* 0x26 */ Color_RGBA8 envColor; - /* 0x2A */ s16 type; - /* 0x2C */ s16 bodyPart; - /* 0x30 */ s32 life; -} EffectSsFireTailInitParams; // size = 0x34 - -typedef struct { - /* 0x00 */ Actor* actor; - /* 0x04 */ Vec3f pos; - /* 0x10 */ s16 scale; - /* 0x12 */ s16 unk_12; - /* 0x14 */ s16 flags; - /* 0x16 */ s16 bodyPart; -} EffectSsEnFireInitParams; // size = 0x18 - -typedef struct { - /* 0x00 */ Vec3f pos; - /* 0x0C */ Vec3f velocity; - /* 0x18 */ Vec3f accel; - /* 0x24 */ s16 scale; - /* 0x26 */ s16 scoreIdx; -} EffectSsExtraInitParams; // size = 0x28 - -typedef enum { - /* 0 */ EXTRA_SCORE_30, - /* 1 */ EXTRA_SCORE_60, - /* 2 */ EXTRA_SCORE_100 -} ExtraScoreIdx; - -typedef struct { - /* 0x00 */ Vec3f pos; - /* 0x0C */ Vec3f velocity; - /* 0x18 */ Vec3f accel; - /* 0x24 */ s16 scale; - /* 0x26 */ s16 scaleStep; - /* 0x28 */ Color_RGBA8 primColor; - /* 0x2C */ Color_RGBA8 envColor; - /* 0x30 */ s32 unk_30; -} EffectSsDeadDbInitParams; // size = 0x30 - -typedef struct { - /* 0x00 */ Vec3f pos; - /* 0x0C */ Vec3f velocity; - /* 0x18 */ Vec3f accel; - /* 0x24 */ s16 scale; - /* 0x26 */ s16 scaleStep; - /* 0x28 */ Color_RGBA8 primColor; - /* 0x2C */ Color_RGBA8 envColor; - /* 0x30 */ s16 alphaStep; - /* 0x34 */ s32 life; - /* 0x38 */ f32 randPosScale; - /* 0x3C */ s32 randIter; - /* 0x40 */ u8 type; -} EffectSsDeadDdInitParams; // size = 0x44 - -typedef struct { - /* 0x00 */ Vec3f pos; - /* 0x0C */ Vec3f velocity; - /* 0x18 */ Vec3f accel; - /* 0x24 */ s16 scale; - /* 0x26 */ s16 scaleStep; - /* 0x28 */ s16 alpha; - /* 0x2C */ s32 life; -} EffectSsDeadDsInitParams; // size = 0x30 - -typedef struct { - /* 0x00 */ Vec3f pos; - /* 0x0C */ Vec3f velocity; - /* 0x18 */ Vec3f accel; - /* 0x24 */ s16 scale; -} EffectSsIceSmokeInitParams; // size = 0x28 - -typedef struct { - /* 0x00 */ Actor* actor; - /* 0x04 */ Vec3f pos; - /* 0x10 */ Vec3f velocity; - /* 0x1C */ Vec3f accel; - /* 0x28 */ s16 scale; -} EffectSsIceBlockInitParams; // size = 0x2A - #endif diff --git a/include/z64light.h b/include/z64light.h index c891d25ddc..567fb84e6f 100644 --- a/include/z64light.h +++ b/include/z64light.h @@ -1,9 +1,9 @@ #ifndef _Z64LIGHT_H_ #define _Z64LIGHT_H_ -#include -#include -#include +#include "ultra64.h" +#include "PR/gbi.h" +#include "color.h" typedef struct { /* 0x00 */ u8 ambientColor[3]; diff --git a/include/z64math.h b/include/z64math.h index 43e8f5a0a0..c458cf24ee 100644 --- a/include/z64math.h +++ b/include/z64math.h @@ -1,7 +1,7 @@ #ifndef _Z64MATH_H_ #define _Z64MATH_H_ -#include +#include "ultra64.h" #define VEC_SET(V,X,Y,Z) V.x=X;V.y=Y;V.z=Z diff --git a/include/z64save.h b/include/z64save.h index 25ec9f72c9..c25bd8b0e2 100644 --- a/include/z64save.h +++ b/include/z64save.h @@ -3,7 +3,7 @@ #include "ultra64.h" #include "z64math.h" -#include +#include "os.h" typedef struct { /* 0x00 */ u8 buttonItems[4][4]; @@ -188,7 +188,7 @@ typedef enum { /* 0x05 */ RESPAWN_MODE_DEKU, /* 0x06 */ RESPAWN_MODE_CHILD_LINK, /* 0x07 */ RESPAWN_MODE_UNK_7, - /* 0x07 */ RESPAWN_MODE_UNK_8, + /* 0x07 */ RESPAWN_MODE_UNK_8 } RespawnMode; typedef enum { diff --git a/include/z64scene.h b/include/z64scene.h index afab46ec44..5427d473bd 100644 --- a/include/z64scene.h +++ b/include/z64scene.h @@ -1,9 +1,9 @@ #ifndef _Z64SCENE_H_ #define _Z64SCENE_H_ -#include -#include -#include +#include "ultra64.h" +#include "z64dma.h" +#include "unk.h" #define SPAWN_ROT_FLAGS(rotation, flags) (((rotation) << 7) | (flags)) @@ -349,7 +349,6 @@ typedef struct { /* 0xA */ u8 unk_A; /* 0xB */ u8 drawConfig; /* 0xC */ u8 unk_C; - /* 0xD */ char pad_D[3]; } SceneTableEntry; // size = 0x10; typedef struct { diff --git a/include/z64transition.h b/include/z64transition.h new file mode 100644 index 0000000000..998dd9198f --- /dev/null +++ b/include/z64transition.h @@ -0,0 +1,30 @@ +#ifndef _Z64_TRANSITION_H_ +#define _Z64_TRANSITION_H_ + +#include "ultra64.h" + +typedef struct { + /* 0x00 */ void* (*init)(void* transition); + /* 0x04 */ void (*destroy)(void* transition); + /* 0x08 */ void (*update)(void* transition, s32 updateRate); + /* 0x0C */ void (*draw)(void* transition, Gfx** gfxP); + /* 0x10 */ void (*start)(void* transition); + /* 0x14 */ void (*setType)(void* transition, s32 type); + /* 0x18 */ void (*setColor)(void* transition, u32 color); + /* 0x1C */ void (*setEnvColor)(void* transition, u32 color); + /* 0x20 */ s32 (*isDone)(void* transition); +} TransitionInit; + +typedef struct { + /* 0x000 */ char unk_0[0xC]; +} TransitionFade; // size = 0xC + +extern const TransitionInit TransitionFade_InitVars; + +typedef struct { + /* 0x000 */ char unk_0[0x20]; +} TransitionCircle; // size = 0x20 + +extern const TransitionInit TransitionCircle_InitVars; + +#endif diff --git a/linker_scripts/code_script.txt b/linker_scripts/code_script.txt deleted file mode 100644 index c2bdabfee9..0000000000 --- a/linker_scripts/code_script.txt +++ /dev/null @@ -1,9936 +0,0 @@ -#define DECL_SEG(_Name, _Folder, _Location) \ - _##_Name##SegmentStart = .; \ - _Name _Location : AT(RomLocation) \ - { \ - _Folder/_Name.o(.data) \ - } \ - RomLocation += . - _##_Name##SegmentStart; \ - _##_Name##SegmentEnd = .; - -#define DECL_SEG_SCENE(_SceneName) DECL_SEG(_SceneName, build/assets/scenes/_SceneName, 0x02000000) -#define DECL_SEG_ROOM(_SceneName, _RoomNum) DECL_SEG(_SceneName##_room_##_RoomNum, build/assets/scenes/_SceneName, 0x03000000) - -#define DECL_ACTOR(_ActorName, _File) \ - _ovl_##_ActorName##SegmentStart = .; \ - ovl_##_ActorName : AT(RomLocation) \ - { \ - build/src/overlays/actors/ovl_##_ActorName/_File.o(.text) \ - build/src/overlays/actors/ovl_##_ActorName/_File.o(.data) \ - build/src/overlays/actors/ovl_##_ActorName/_File.o(.rodata) \ - build/src/overlays/actors/ovl_##_ActorName/_File##_overlay.o(.ovl) \ - } \ - ovl_##_ActorName.bss : AT(RomLocation) \ - { \ - build/src/overlays/actors/ovl_##_ActorName/_File.o(.bss) \ - } \ - RomLocation += . - _ovl_##_ActorName##SegmentStart; \ - _ovl_##_ActorName##SegmentEnd = .; - -SECTIONS -{ - /* Objects with .gptab.* sections error if they are not referenced, for some reason */ - /DISCARD/ : { *(.gptab.data) } - /DISCARD/ : { *(.gptab.bss) } - - RomLocation = 0x1060; - . = 0x80080060; - SegmentStart = .; - _bootSegmentStart = SegmentStart; - boot : AT(RomLocation) - { - boot_text_start = .; - build/src/boot_O2_g3/boot_main.o(.text) - build/src/boot_O2_g3/idle.o(.text) - build/src/boot_O2_g3/viconfig.o(.text) - build/src/boot_O2_g3/z_std_dma.o(.text) - build/src/boot_O2_g3/yaz0.o(.text) - build/src/boot_O2_g3/irqmgr.o(.text) - build/src/boot_O2_g3/CIC6105.o(.text) - build/src/boot_O2_g3/boot_0x80081920.o(.text) - build/src/boot_O2_g3_trapuv/fault.o(.text) - build/src/boot_O2_g3_trapuv/fault_drawer.o(.text) - build/src/boot_O1/boot_0x80084940.o(.text) - build/asm/boot/loadfragment.o(.text) - build/src/boot_O2/loadfragment2.o(.text) - build/src/boot_O2/padutils.o(.text) - build/src/boot_O2/stackcheck.o(.text) - build/src/boot_O2/gfxprint.o(.text) - build/src/boot_O2/mtxuty-cvt.o(.text) - build/src/boot_O2/boot_0x80086280.o(.text) - build/src/boot_O2/boot_0x800862E0.o(.text) - build/asm/boot/boot_0x80086760.o(.text) - build/asm/boot/boot_0x80086DD0.o(.text) - build/src/boot_O2/boot_0x80086FA0.o(.text) - build/src/boot_O2/__osMalloc.o(.text) - build/src/libultra/rmon/sprintf.o(.text) - build/asm/boot/boot_0x80087900.o(.text) - build/asm/boot/setcause.o(.text) - build/src/libultra/os/sendmesg.o(.text) - build/asm/boot/boot_0x80087C60.o(.text) - build/src/boot_O1/boot_0x80087E00.o(.text) - build/src/libultra/os/stopthread.o(.text) - build/src/libultra/os/recvmesg.o(.text) - build/asm/boot/setintmask.o(.text) - build/asm/boot/getintmask.o(.text) - build/src/libultra/voice/voicesetword.o(.text) - build/asm/boot/scale.o(.text) - build/src/libultra/gu/sinf.o(.text) - build/src/libultra/gu/sins.o(.text) - build/src/libultra/io/sptask.o(.text) - build/src/libultra/libc/ll.o(.text) - build/asm/boot/exceptasm.o(.text) - build/src/libultra/os/thread.o(.text) - build/src/libultra/os/destroythread.o(.text) - build/src/libultra/voice/voicecheckresult.o(.text) - build/asm/boot/bzero.o(.text) - build/asm/boot/boot_0x800896D0.o(.text) - build/src/libultra/io/siacs.o(.text) - build/src/libultra/io/controller.o(.text) - build/src/libultra/os/createthread.o(.text) - build/src/libultra/io/contreaddata.o(.text) - build/asm/boot/boot_0x8008A170.o(.text) - build/src/libultra/os/virtualtophysical.o(.text) - build/asm/boot/getsr.o(.text) - build/asm/boot/setsr.o(.text) - build/asm/boot/writebackdcache.o(.text) - build/asm/boot/initialize.o(.text) - build/src/libultra/io/vigetnextframebuf.o(.text) - build/src/libultra/gu/perspective.o(.text) - build/src/libultra/io/sprawdma.o(.text) - build/src/libultra/io/sirawdma.o(.text) - build/asm/boot/boot_0x8008AE20.o(.text) - build/src/libultra/io/viblack.o(.text) - build/src/libultra/io/sirawread.o(.text) - build/src/libultra/os/getthreadid.o(.text) - build/src/libultra/io/sptaskyield.o(.text) - build/asm/boot/pfsreadwritefile.o(.text) - build/asm/boot/boot_0x8008B3C0.o(.text) - build/asm/boot/boot_0x8008B600.o(.text) - build/src/libultra/io/visetmode.o(.text) - build/asm/boot/getconfig.o(.text) - build/asm/boot/setconfig.o(.text) - build/src/libultra/gu/lookat.o(.text) - build/asm/boot/boot_0x8008B9F0.o(.text) - build/src/libultra/os/stoptimer.o(.text) - build/asm/boot/probetlb.o(.text) - build/src/libultra/io/pimgr.o(.text) - build/src/libultra/io/piacs.o(.text) - . += 0x10; - build/asm/boot/devmgr.o(.text) - build/asm/boot/boot_0x8008C640.o(.text) - build/src/libultra/io/pirawdma.o(.text) - build/asm/boot/boot_0x8008C740.o(.text) - build/asm/boot/getcount.o(.text) - build/asm/boot/boot_0x8008D2E0.o(.text) - build/src/libultra/os/getmemsize.o(.text) - build/asm/boot/pfssearchfile.o(.text) - build/src/libultra/os/seteventmesg.o(.text) - build/asm/boot/sqrtf.o(.text) - build/asm/boot/afterprenmi.o(.text) - build/src/libultra/io/contquery.o(.text) - build/src/libultra/gu/lookathil.o(.text) - build/src/libultra/rmon/xprintf.o(.text) - build/asm/boot/boot_0x8008ED30.o(.text) - build/asm/boot/unmaptlball.o(.text) - build/src/libultra/io/epidma.o(.text) - build/asm/boot/boot_0x8008EED0.o(.text) - build/asm/boot/boot_0x8008F100.o(.text) - build/src/libultra/libc/string.o(.text) - build/src/libultra/os/createmesgqueue.o(.text) - build/asm/boot/invalicache.o(.text) - build/asm/boot/invaldcache.o(.text) - build/src/libultra/os/timerintr.o(.text) - build/asm/boot/boot_0x8008F7D0.o(.text) - build/asm/boot/boot_0x8008FA00.o(.text) - build/src/libultra/io/si.o(.text) - build/asm/boot/boot_0x8008FA60.o(.text) - build/src/libultra/os/jammesg.o(.text) - build/src/libultra/os/setthreadpri.o(.text) - build/src/libultra/os/getthreadpri.o(.text) - build/asm/boot/boot_0x8008FD00.o(.text) - build/src/libultra/io/viswapbuf.o(.text) - build/asm/boot/position.o(.text) - build/asm/boot/boot_0x800900C0.o(.text) - build/src/libultra/io/sptaskyielded.o(.text) - build/asm/boot/memcmp.o(.text) - build/src/libultra/os/gettime.o(.text) - build/src/libultra/gu/rotate.o(.text) - build/asm/boot/setglobalintmask.o(.text) - build/asm/boot/boot_0x800906D0.o(.text) - build/asm/boot/boot_0x80090810.o(.text) - build/asm/boot/boot_0x80090900.o(.text) - build/asm/boot/aisetfreq.o(.text) - build/asm/boot/contramread.o(.text) - build/asm/boot/boot_0x80090E70.o(.text) - build/asm/boot/crc.o(.text) - build/src/libultra/os/getactivequeue.o(.text) - build/asm/boot/normalize.o(.text) - build/asm/boot/setcompare.o(.text) - build/asm/boot/getcompare.o(.text) - build/src/libultra/io/dpgetstat.o(.text) - build/src/libultra/io/dpsetstat.o(.text) - build/asm/boot/bcopy.o(.text) - build/asm/boot/resetglobalintmask.o(.text) - build/asm/boot/boot_0x80091630.o(.text) - build/src/libultra/gu/ortho.o(.text) - build/asm/boot/interrupt.o(.text) - build/src/libultra/io/vi.o(.text) - build/asm/boot/viswapcontext.o(.text) - build/src/libultra/io/pigetcmdq.o(.text) - build/asm/boot/cosf.o(.text) - build/asm/boot/boot_0x800920B0.o(.text) - build/src/libultra/io/visetspecial.o(.text) - build/src/libultra/gu/coss.o(.text) - build/src/libultra/os/settime.o(.text) - build/asm/boot/boot_0x800922C0.o(.text) - build/src/libultra/gu/visetevent.o(.text) - build/asm/boot/pfsisplug.o(.text) - build/src/libultra/voice/voicegetstatus.o(.text) - build/asm/boot/cartrominit.o(.text) - build/asm/boot/boot_0x80092A80.o(.text) - build/asm/boot/boot_0x80092C00.o(.text) - build/src/libultra/io/contsetch.o(.text) - build/asm/boot/setfpccsr.o(.text) - build/asm/boot/getfpccsr.o(.text) - build/asm/boot/boot_0x80092D00.o(.text) - build/asm/boot/boot_0x80092EE0.o(.text) - build/asm/boot/boot_0x800931F0.o(.text) - build/src/libultra/io/aigetlen.o(.text) - build/asm/boot/boot_0x80093BB0.o(.text) - build/asm/boot/maptlbrdb.o(.text) - build/src/libultra/os/yieldthread.o(.text) - . += 0x10; - build/asm/boot/boot_0x80093CC0.o(.text) - build/asm/boot/getcause.o(.text) - build/asm/boot/contramwrite.o(.text) - build/src/libultra/io/epirawwrite.o(.text) - build/src/libultra/os/settimer.o(.text) - build/asm/boot/xldtob.o(.text) - build/src/libultra/libc/ldiv.o(.text) - build/asm/boot/xlitob.o(.text) - build/src/libultra/io/sirawwrite.o(.text) - build/src/libultra/io/spgetstat.o(.text) - build/src/libultra/io/spsetstat.o(.text) - . += 0x10; - build/src/libultra/io/vimgr.o(.text) - build/src/libultra/io/vigetcurrcontext.o(.text) - build/asm/boot/writebackdcacheall.o(.text) - build/src/libultra/os/getcurrfaultthread.o(.text) - build/asm/boot/boot_0x80095600.o(.text) - build/asm/boot/boot_0x80095740.o(.text) - build/src/libultra/os/startthread.o(.text) - build/src/libultra/io/visetyscale.o(.text) - build/src/libultra/io/visetxscale.o(.text) - build/src/libultra/libc/llcvt.o(.text) - build/asm/boot/boot_0x80095C70.o(.text) - build/asm/boot/boot_0x80096360.o(.text) - build/asm/boot/boot_0x80096410.o(.text) - build/asm/boot/boot_0x800964D0.o(.text) - build/asm/boot/spsetpc.o(.text) - build/asm/boot/boot_0x80096540.o(.text) - build/src/boot_O1/gethwintrroutine.o(.text) - build/asm/boot/boot_0x800967A0.o(.text) - build/asm/boot/boot_0x80096810.o(.text) - build/asm/boot/boot_0x80096820.o(.text) - build/asm/boot/boot_0x80096880.o(.text) - build/src/boot_O2_g3/boot_0x800968B0.o(.text) - build/asm/boot/boot_0x800968F0.o(.text) - build/asm/boot/boot_0x80096930.o(.text) - boot_text_end = .; - - boot_data_start = .; - build/asm/boot/boot_data_0x800969C0.o(.data) - build/src/boot_O2_g3/idle.o(.data) - build/asm/boot/boot_data_0x80096B40.o(.data) - build/src/boot_O2_g3/z_std_dma.o(.data) - build/src/boot_O2_g3/irqmgr.o(.data) - build/asm/boot/boot_data_fault.o(.data) - build/src/boot_O2_g3_trapuv/fault_drawer.o(.data) - build/asm/boot/boot_data_loadfragment.o(.data) - build/src/boot_O2/loadfragment2.o(.data) - build/src/boot_O2/stackcheck.o(.data) - build/asm/boot/boot_data_0x80085570.o(.data) - build/asm/boot/boot_data_0x800862E0.o(.data) - build/asm/boot/boot_data_0x80086FA0.o(.data) - build/asm/boot/boot_data_0x80097540.o(.data) - build/src/libultra/gu/sins.o(.data) - build/asm/boot/boot_data_0x80097DE0.o(.data) - build/src/libultra/os/thread.o(.data) - build/src/libultra/io/siacs.o(.data) - build/src/libultra/io/controller.o(.data) - build/asm/boot/boot_data_initialize.o(.data) - build/asm/boot/boot_data_pimgr.o(.data) - build/src/libultra/io/piacs.o(.data) - build/asm/boot/boot_data_0x80097EB0.o(.data) - build/src/libultra/os/seteventmesg.o(.data) - build/src/libultra/rmon/xprintf.o(.data) - build/src/libultra/os/timerintr.o(.data) - build/asm/boot/boot_data_position.o(.data) - build/src/libultra/gu/rotate.o(.data) - build/asm/boot/boot_data_0x800906D0.o(.data) - build/asm/boot/boot_data_contramread.o(.data) - build/asm/boot/boot_data_vi.o(.data) - build/asm/boot/boot_data_cartrominit.o(.data) - build/asm/boot/boot_data_0x800980E0.o(.data) - build/asm/boot/boot_data_xldtob.o(.data) - build/asm/boot/boot_data_vimgr.o(.data) - boot_data_end = .; - - boot_rodata_start = .; - build/src/boot_O2_g3/boot_main.o(.rodata) - build/src/boot_O2_g3/idle.o(.rodata) - build/src/boot_O2_g3/z_std_dma.o(.rodata) - build/src/boot_O2_g3/yaz0.o(.rodata) - build/src/boot_O2_g3/irqmgr.o(.rodata) - build/src/boot_O2_g3/CIC6105.o(.rodata) - build/asm/boot/boot_rodata_fault.o(.rodata) - build/asm/boot/boot_rodata_fault_drawer.o(.rodata) - build/asm/boot/boot_rodata_0x80085570.o(.rodata) - build/src/boot_O2/boot_0x80086280.o(.rodata) - build/asm/boot/boot_rodata_0x80086760.o(.rodata) - build/asm/boot/boot_rodata___osMalloc.o(.rodata) - build/asm/boot/boot_rodata_setintmask.o(.rodata) - build/src/libultra/gu/sinf.o(.rodata) - build/asm/boot/boot_rodata_exceptasm.o(.rodata) - build/src/libultra/gu/perspective.o(.rodata) - build/asm/boot/boot_rodata_0x8008C260.o(.rodata) - build/asm/boot/boot_rodata_lookathil.o(.rodata) - build/src/libultra/rmon/xprintf.o(.rodata) - build/asm/boot/boot_rodata_cosf.o(.rodata) - build/asm/boot/boot_rodata___libm_qnan_f.o(.rodata) - build/asm/boot/boot_rodata_xldtob.o(.rodata) - build/src/libultra/libc/llcvt.o(.rodata) - build/asm/boot/boot_rodata_build_date.o(.rodata) - boot_rodata_end = .; - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _bootSegmentEnd = SegmentEnd; - - boot_bss_start = .; - . += 0x1C60; /* boot_main */ - . += 0x140; /* idle */ - . += 0x770; /* z_std_dma */ - . += 0x420; /* yaz0 */ - . += 0x20; /* CIC6105 */ - . += 0xE80; /* fault */ - . += 0x40; /* fault_drawer */ - . += 0x10; /* 0x80086760 */ - . += 0x30; /* 0x80086DD0 */ - . += 0x10; /* 0x80086FA0 */ - . += 0x10; /* __osMalloc */ - . += 0x40; /* sptask */ - . += 0x100; /* 0x800896D0 */ - . += 0x20; /* siacs */ - . += 0x90; /* controller */ - . += 0x10; /* 0x8008A170 */ - . += 0x10; /* initialize */ - . += 0x2A0; /* ??? */ - . += 0x11D0; /* pimgr */ - . += 0x20; /* piacs */ - . += 0x100; /* devmgr */ - . += 0x80; /* seteventmesg */ - . += 0x40; /* timerintr */ - . += 0x40; /* pfsisplug */ - . += 0x80; /* cartrominit */ - . += 0x1220; /* vimgr */ - . += 0x6200; /* dmadata */ - . += 0x10; - boot_bss_end = .; - - RomLocation = 0xA8BB20; - . = 0x800A5AC0; - SegmentStart = .; - _codeSegmentStart = SegmentStart; - code : AT(RomLocation) - { - code_text_start = .; - build/src/code/code_0x800A5AC0.o(.text) - build/src/code/z_en_item00.o(.text) - build/src/code/z_eff_blure.o(.text) - build/asm/code/z_eff_shield_particle.o(.text) - build/asm/code/z_eff_spark.o(.text) - build/asm/code/z_eff_ss_dead.o(.text) - build/asm/code/z_eff_tire_mark.o(.text) - build/src/code/z_effect.o(.text) - build/src/code/z_effect_soft_sprite.o(.text) - build/src/code/z_effect_soft_sprite_old_init.o(.text) - build/asm/code/flg_set.o(.text) - build/asm/code/z_DLF.o(.text) - build/src/code/z_actor.o(.text) - build/src/code/z_actor_dlftbls.o(.text) - build/src/code/z_bgcheck.o(.text) - build/src/code/code_0x800CAAD0.o(.text) - build/src/code/code_0x800CAE10.o(.text) - build/asm/code/code_0x800CB000.o(.text) - build/asm/code/z_camera.o(.text) - build/src/code/z_collision_btltbls.o(.text) - . += 0x10; - build/src/code/z_collision_check.o(.text) - build/src/code/code_0x800E8EA0.o(.text) - build/asm/code/code_0x800E9360.o(.text) - build/asm/code/z_debug.o(.text) - build/asm/code/z_debug_display.o(.text) - build/asm/code/z_debug_mode.o(.text) - build/asm/code/z_draw.o(.text) - build/src/code/z_eff_footmark.o(.text) - build/asm/code/code_0x800F0390.o(.text) - build/asm/code/code_0x800F05C0.o(.text) - build/asm/code/code_0x800F07C0.o(.text) - build/asm/code/code_0x800F1250.o(.text) - build/asm/code/code_0x800F1460.o(.text) - build/asm/code/code_0x800F23E0.o(.text) - build/asm/code/z_fcurve_data_skelanime.o(.text) - build/asm/code/z_fireobj.o(.text) - build/asm/code/z_horse.o(.text) - build/asm/code/z_jpeg.o(.text) - build/asm/code/code_0x800F4A10.o(.text) - build/src/code/z_kanfont.o(.text) - build/asm/code/z_kankyo.o(.text) - build/src/code/z_lib.o(.text) - build/asm/code/z_lifemeter.o(.text) - build/src/code/z_lights.o(.text) - build/asm/code/code_0x80102C60.o(.text) - build/asm/code/z_map_disp.o(.text) - build/asm/code/z_map_data.o(.text) - build/asm/code/z_map_exp.o(.text) - build/asm/code/z_msgevent.o(.text) - build/asm/code/code_0x8010C0C0.o(.text) - build/src/code/z_olib.o(.text) - . += 0x10; - build/asm/code/z_parameter.o(.text) - build/asm/code/code_0x801224E0.o(.text) - build/asm/code/code_0x80122660.o(.text) - build/asm/code/z_player_lib.o(.text) - build/src/code/z_prenmi.o(.text) - build/src/code/z_quake.o(.text) - build/src/code/z_rcp.o(.text) - . += 0x10; - build/src/code/z_room.o(.text) - build/src/code/code_0x8012EC80.o(.text) - build/src/code/z_scene.o(.text) - build/src/code/z_scene_proc.o(.text) - build/src/code/z_scene_table.o(.text) - build/asm/code/code_0x801323D0.o(.text) - build/src/code/z_skelanime.o(.text) - build/asm/code/z_skin.o(.text) - build/asm/code/z_skin_awb.o(.text) - build/src/code/z_skin_matrix.o(.text) - build/src/code/z_snap.o(.text) - build/asm/code/z_sub_s.o(.text) - build/asm/code/code_0x8013EC10.o(.text) - build/src/code/z_view.o(.text) - build/asm/code/z_vimode.o(.text) - build/asm/code/code_0x80140E80.o(.text) - build/asm/code/z_vismono.o(.text) - build/asm/code/code_0x801420C0.o(.text) - build/src/code/z_vr_box.o(.text) - build/asm/code/z_vr_box_draw.o(.text) - build/asm/code/z_sram_NES.o(.text) - build/asm/code/z_message.o(.text) - build/asm/code/z_message_nes.o(.text) - build/asm/code/z_message_staff.o(.text) - build/asm/code/code_0x80160A90.o(.text) - build/asm/code/z_shrink_window.o(.text) - build/asm/code/code_0x80161180.o(.text) - build/asm/code/z_kaleido_manager.o(.text) - build/asm/code/code_0x801639A0.o(.text) - build/asm/code/code_0x80163C90.o(.text) - build/asm/code/z_fbdemo.o(.text) - build/asm/code/code_0x801647D0.o(.text) - build/asm/code/z_fbdemo_circle.o(.text) - build/asm/code/z_overlay.o(.text) - build/asm/code/z_play.o(.text) - build/asm/code/z_play_hireso.o(.text) - build/src/code/PreRender.o(.text) - build/src/code/TwoHeadGfxArena.o(.text) - build/src/code/TwoHeadArena.o(.text) - build/asm/code/code_0x80172BC0.o(.text) - build/src/code/audioMgr.o(.text) - build/src/code/title_setup.o(.text) - build/src/code/game.o(.text) - build/asm/code/gamealloc.o(.text) - build/asm/code/graph.o(.text) - build/asm/code/code_0x80174A40.o(.text) - build/asm/code/listalloc.o(.text) - build/asm/code/main.o(.text) - build/asm/code/padmgr.o(.text) - build/asm/code/sched.o(.text) - build/asm/code/speed_meter.o(.text) - build/asm/code/sys_cmpdma.o(.text) - build/asm/code/sys_initial_check.o(.text) - build/asm/code/code_0x80179300.o(.text) - build/asm/code/code_0x801795F0.o(.text) - build/src/code/sys_math_atan.o(.text) - build/src/code/sys_matrix.o(.text) - build/asm/code/code_0x80182CE0.o(.text) - build/src/code/code_0x80183070.o(.text) - build/asm/code/code_0x801830A0.o(.text) - build/src/code/sys_slowly.o(.text) - build/asm/code/sys_flashrom.o(.text) - build/asm/code/code_0x80185F90.o(.text) - build/asm/code/code_0x801877D0.o(.text) - build/asm/code/code_0x8018B0F0.o(.text) - build/asm/code/code_0x8018EB60.o(.text) - build/asm/code/code_0x80192BE0.o(.text) - build/asm/code/code_0x80194710.o(.text) - build/asm/code/code_0x80194930.o(.text) - build/asm/code/code_0x801974D0.o(.text) - build/asm/code/code_0x8019AE40.o(.text) - build/asm/code/code_0x8019AEC0.o(.text) - build/asm/code/code_0x8019AF00.o(.text) - build/asm/code/code_0x801A51F0.o(.text) - build/asm/code/code_0x801A5BD0.o(.text) - build/asm/code/code_0x801A7B10.o(.text) - build/asm/code/code_0x801AA020.o(.text) - build/asm/code/code_0x801AA610.o(.text) - build/asm/code/code_0x801AAAA0.o(.text) - code_text_end = .; - - code_data_start = .; - build/asm/code/code_data_0x801AAAB0.o(.data) - build/asm/code/code_data_0x800A5AC0.o(.data) - build/src/code/z_en_item00.o(.data) - build/asm/code/code_data_z_eff_blure.o(.data) - build/asm/code/code_data_z_eff_shield_particle.o(.data) - build/src/code/z_effect.o(.data) - build/asm/code/code_data_z_effect_soft_sprite.o(.data) - build/asm/code/code_data_z_effect_soft_sprite_old_init.o(.data) - build/asm/code/code_data_flg_set_table.o(.data) - build/asm/code/code_data_flg_set.o(.data) - build/asm/code/code_data_z_actor.o(.data) - build/src/code/z_actor_dlftbls.o(.data) - build/asm/code/code_data_z_bgcheck.o(.data) - build/asm/code/code_data_z_camera.o(.data) - build/src/code/z_collision_btltbls.o(.data) - build/src/code/z_collision_check.o(.data) - build/asm/code/code_data_z_debug_display.o(.data) - build/asm/code/code_data_z_debug_mode.o(.data) - build/asm/code/code_data_z_draw.o(.data) - build/asm/code/code_data_z_eff_footmark.o(.data) - build/asm/code/code_data_0x800F07C0.o(.data) - build/asm/code/code_data_0x800F1460.o(.data) - build/asm/code/code_data_z_fireobj.o(.data) - build/asm/code/code_data_0x801BD910.o(.data) - build/asm/code/code_data_z_horse.o(.data) - build/asm/code/code_data_z_jpeg.o(.data) - build/src/code/z_kanfont.o(.data) - build/asm/code/code_data_z_kankyo.o(.data) - build/src/code/z_lib.o(.data) - build/asm/code/code_data_z_lifemeter.o(.data) - build/src/code/z_lights.o(.data) - build/asm/code/code_data_z_map_disp.o(.data) - build/asm/code/code_data_z_map_exp.o(.data) - build/asm/code/code_data_z_msgevent.o(.data) - build/asm/code/code_data_z_parameter.o(.data) - build/asm/code/code_data_z_player_lib.o(.data) - build/src/code/z_quake.o(.data) - build/src/code/z_rcp.o(.data) - build/asm/code/code_data_z_room.o(.data) - build/src/code/code_0x8012EC80.o(.data) - build/src/code/z_scene.o(.data) - build/asm/code/code_data_0x801C2730.o(.data) - build/src/code/z_scene_proc.o(.data) - build/src/code/z_scene_table.o(.data) - build/asm/code/code_data_0x801323D0.o(.data) - build/src/code/z_skelanime.o(.data) - build/src/code/z_skin_matrix.o(.data) - build/asm/code/code_data_z_sub_s.o(.data) - build/asm/code/code_data_z_vimode.o(.data) - build/src/code/z_vr_box.o(.data) - build/asm/code/code_data_z_vr_box_draw.o(.data) - build/asm/code/code_data_z_sram_NES.o(.data) - build/asm/code/code_data_z_message_nes.o(.data) - build/asm/code/code_data_0x80160A90.o(.data) - build/asm/code/code_data_z_kaleido_manager.o(.data) - build/asm/code/code_data_0x80163C90.o(.data) - build/asm/code/code_data_z_fbdemo.o(.data) - build/asm/code/code_data_z_fbdemo_circle.o(.data) - build/asm/code/code_data_z_play.o(.data) - build/asm/code/code_data_z_play_hireso.o(.data) - build/src/code/audioMgr.o(.data) - build/src/code/game.o(.data) - build/asm/code/code_data_graph.o(.data) - build/asm/code/code_data_padmgr.o(.data) - build/asm/code/code_data_speed_meter.o(.data) - build/asm/code/code_data_0x80179300.o(.data) - build/asm/code/code_data_0x801D15B0.o(.data) - build/src/code/sys_math_atan.o(.data) - build/asm/code/code_data_sys_matrix.o(.data) - build/asm/code/code_data_0x80182CE0.o(.data) - build/asm/code/code_data_0x8018B0F0.o(.data) - build/asm/code/code_data_0x80194930.o(.data) - build/asm/code/code_data_0x8019AF00.o(.data) - build/asm/code/code_data_0x801A51F0.o(.data) - build/asm/code/code_data_0x801A5BD0.o(.data) - code_data_end = .; - - code_rodata_start = .; - build/src/code/z_en_item00.o(.rodata) - build/asm/code/code_rodata_z_eff_blure.o(.rodata) - build/asm/code/code_rodata_z_eff_shield_particle.o(.rodata) - build/asm/code/code_rodata_z_eff_spark.o(.rodata) - build/asm/code/code_rodata_z_eff_ss_dead.o(.rodata) - build/src/code/z_effect.o(.rodata) - build/asm/code/code_rodata_z_effect_soft_sprite_old_init.o(.rodata) - build/asm/code/code_rodata_flg_set.o(.rodata) - . += 0x10; - build/asm/code/code_rodata_z_actor.o(.rodata) - build/src/code/z_actor_dlftbls.o(.rodata) - build/asm/code/code_rodata_z_bgcheck.o(.rodata) - build/asm/code/code_rodata_0x800CB000.o(.rodata) - build/asm/code/code_rodata_z_camera.o(.rodata) - build/src/code/z_collision_check.o(.rodata) - build/asm/code/code_rodata_0x800E8EA0.o(.rodata) - build/asm/code/code_rodata_z_debug_mode.o(.rodata) - build/asm/code/code_rodata_z_draw.o(.rodata) - build/src/code/z_eff_footmark.o(.rodata) - build/asm/code/code_rodata_0x800F1460.o(.rodata) - build/asm/code/code_rodata_0x800F23E0.o(.rodata) - build/asm/code/code_rodata_z_fcurve_data_skelanime.o(.rodata) - build/asm/code/code_rodata_z_fireobj.o(.rodata) - build/asm/code/code_rodata_z_horse.o(.rodata) - build/asm/code/code_rodata_z_jpeg.o(.rodata) - build/asm/code/code_rodata_z_kankyo.o(.rodata) - build/src/code/z_lib.o(.rodata) - build/asm/code/code_rodata_z_lifemeter.o(.rodata) - build/src/code/z_lights.o(.rodata) - build/asm/code/code_rodata_z_map_disp.o(.rodata) - build/src/code/z_olib.o(.rodata) - build/asm/code/code_rodata_z_parameter.o(.rodata) - build/asm/code/code_rodata_z_player_lib.o(.rodata) - build/src/code/z_quake.o(.rodata) - build/asm/code/code_rodata_z_room.o(.rodata) - build/src/code/code_0x8012EC80.o(.rodata) - build/src/code/z_scene_proc.o(.rodata) - build/src/code/z_scene_table.o(.rodata) - build/asm/code/code_rodata_z_skin.o(.rodata) - build/src/code/z_skin_matrix.o(.rodata) - build/asm/code/code_rodata_z_sub_s.o(.rodata) - build/asm/code/code_rodata_0x8013EC10.o(.rodata) - build/src/code/z_view.o(.rodata) - build/asm/code/code_rodata_z_vimode.o(.rodata) - build/asm/code/code_rodata_0x80140E80.o(.rodata) - build/asm/code/code_rodata_z_vr_box.o(.rodata) - build/asm/code/code_rodata_z_message.o(.rodata) - build/asm/code/code_rodata_z_message_nes.o(.rodata) - build/asm/code/code_rodata_z_message_staff.o(.rodata) - build/asm/code/code_rodata_0x80160A90.o(.rodata) - build/asm/code/code_rodata_z_kaleido_manager.o(.rodata) - build/asm/code/code_rodata_z_fbdemo_circle.o(.rodata) - build/asm/code/code_rodata_z_play.o(.rodata) - build/asm/code/code_rodata_z_play_hireso.o(.rodata) - build/asm/code/code_rodata_PreRender.o(.rodata) - build/asm/code/code_rodata_0x80172BC0.o(.rodata) - build/src/code/audioMgr.o(.rodata) - build/src/code/game.o(.rodata) - build/asm/code/code_rodata_graph.o(.rodata) - build/asm/code/code_rodata_main.o(.rodata) - build/asm/code/code_rodata_padmgr.o(.rodata) - build/asm/code/code_rodata_sched.o(.rodata) - build/asm/code/code_rodata_0x80179300.o(.rodata) - build/asm/code/code_rodata_0x801795F0.o(.rodata) - build/src/code/sys_math_atan.o(.rodata) - build/asm/code/code_rodata_sys_matrix.o(.rodata) - build/asm/code/code_rodata_0x801830A0.o(.rodata) - build/asm/code/code_rodata_sys_flashrom.o(.rodata) - build/asm/code/code_rodata_0x801877D0.o(.rodata) - build/asm/code/code_rodata_0x8018B0F0.o(.rodata) - build/asm/code/code_rodata_0x8018EB60.o(.rodata) - build/asm/code/code_rodata_0x80192BE0.o(.rodata) - build/asm/code/code_rodata_0x80194930.o(.rodata) - build/asm/code/code_rodata_0x801974D0.o(.rodata) - build/asm/code/code_rodata_0x8019AF00.o(.rodata) - build/asm/code/code_rodata_0x801A51F0.o(.rodata) - build/asm/code/code_rodata_0x801A5BD0.o(.rodata) - build/asm/code/code_rodata_0x801A7B10.o(.rodata) - build/asm/code/code_rodata_0x801AA610.o(.rodata) - code_rodata_end = .; - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _codeSegmentEnd = SegmentEnd; - - code_bss_start = .; - . += 0x10; - . += 0x98F0; /* z_effect */ - . += 0x90; /* z_actor */ - . += 0x20; /* z_actor_dlftbls */ - . += 0x2A0; /* z_bgcheck */ - . += 0x210; /* z_camera */ - . += 0x1870; /* z_collision_check */ - . += 0x48D0; /* code_0x800E9360 */ - . += 0x20; - . += 0x10; /* z_debug */ - . += 0x10; /* z_debug_display */ - . += 0xE70; /* z_debug_mode */ - . += 0x40; /* code_0x800F1460 */ - . += 0x110; /* z_kankyo */ - . += 0x30; /* z_lifemeter */ - . += 0x190; /* z_lights */ - . += 0x30; /* code_0x80102C60 */ - . += 0x710; /* z_map_disp */ - . += 0x10; /* code_0x8010C0C0 */ - . += 0x60; /* z_parameter */ - . += 0x150; /* z_player_lib */ - . += 0xA0; /* z_quake */ - . += 0x10; /* z_scene_proc */ - . += 0x10; /* z_skelanime */ - . += 0xF10; /* z_skin */ - . += 0x110; - . += 0x10; /* z_vr_box_draw */ - . += 0x10; /* z_sram_NES */ - . += 0x30; /* z_message */ - . += 0x10; /* code_0x80160A90 */ - . += 0x10; /* z_shrink_window */ - . += 0xA0; /* code_0x80161180 */ - . += 0x10; /* z_kaleido_manager */ - . += 0x10; /* code_0x801639A0 */ - . += 0x1F0; /* z_play */ - . += 0x11F0; /* PreRender */ - . += 0xE0; /* game */ - . += 0x90; /* graph */ - . += 0x31E0; /* main */ - . += 0x760; - . += 0x90; /* sched */ - . += 0x50; - . += 0x70; /* sys_cmpdma */ - . += 0x210; /* code_0x801795F0 */ - . += 0x10; /* sys_matrix */ - . += 0x1230; /* sys_flashrom */ - . += 0xE0; /* code_0x80185F90 */ - . += 0xBD70; /* code_0x8018B0F0 */ - . += 0x10; /* code_0x801AA020 */ - code_bss_end = .; - - buffers ALIGN(0x10): - { - build/src/buffers/gfxbuffers.o(.bss) - build/src/buffers/heaps.o(.bss) - } - - /* Framebuffers */ - gFramebuffer1 = 0x80000500; - gFramebuffer0 = 0x80800000 - 320*240*2; /* SCREEN_WIDTH*SCREEN_HEIGHT*sizeof(s16) */ - gFramebufferHighRes1 = 0x80000500; - gFramebufferHighRes0 = 0x80780000; - - /* Unknown buffers */ - D_80025D00 = 0x80025D00; /* Used in z_vr_box.c */ - D_801C1E2C = 0x801C1E2C; /* Used in z_en_ginko_man.c */ - D_80780000 = 0x80780000; - D_80784600 = 0x80784600; - - . = 0x80800000; - SegmentStart = .; - _ovl_titleSegmentStart = SegmentStart; - ovl_title : AT(RomLocation) - { - build/asm/overlays/ovl_title_0x80800000.o(.text) - build/asm/overlays/ovl_title_data.o(.data) - build/asm/overlays/ovl_title_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_titleSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_selectSegmentStart = SegmentStart; - ovl_select : AT(RomLocation) - { - build/asm/overlays/ovl_select_0x80800910.o(.text) - build/asm/overlays/ovl_select_data.o(.data) - build/asm/overlays/ovl_select_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_selectSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_openingSegmentStart = SegmentStart; - ovl_opening : AT(RomLocation) - { - build/asm/overlays/ovl_opening_0x80803DF0.o(.text) - build/asm/overlays/ovl_opening_data.o(.data) - build/asm/overlays/ovl_opening_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_openingSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_file_chooseSegmentStart = SegmentStart; - ovl_file_choose : AT(RomLocation) - { - build/asm/overlays/ovl_file_choose_0x80804010.o(.text) - build/asm/overlays/ovl_file_choose_0x80807940.o(.text) - build/asm/overlays/ovl_file_choose_0x8080BC20.o(.text) - build/asm/overlays/ovl_file_choose_data.o(.data) - build/asm/overlays/ovl_file_choose_rodata.o(.rodata) - ovl_file_choose_bss_start = .; - } - . += 0x30; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_file_chooseSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_daytelopSegmentStart = SegmentStart; - ovl_daytelop : AT(RomLocation) - { - build/asm/overlays/ovl_daytelop_0x80814EB0.o(.text) - build/asm/overlays/ovl_daytelop_data.o(.data) - build/asm/overlays/ovl_daytelop_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_daytelopSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_kaleido_scopeSegmentStart = SegmentStart; - ovl_kaleido_scope : AT(RomLocation) - { - build/asm/overlays/ovl_kaleido_scope_0x808160A0.o(.text) - build/asm/overlays/ovl_kaleido_scope_0x8081D240.o(.text) - build/asm/overlays/ovl_kaleido_scope_0x8081FF80.o(.text) - build/asm/overlays/ovl_kaleido_scope_data.o(.data) - ovl_kaleido_scope_bss_start = .; - } - . += 0x40; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_kaleido_scopeSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Player_ActorSegmentStart = SegmentStart; - ovl_Player_Actor : AT(RomLocation) - { - build/src/overlays/actors/ovl_Player_Actor/z_player.o(.text) - build/asm/overlays/ovl_Player_Actor_data.o(.data) - build/src/overlays/actors/ovl_Player_Actor/z_player.o(.rodata) - build/asm/overlays/ovl_Player_Actor_rodata.o(.rodata) - ovl_Player_Actor_bss_start = .; - } - . += 0x80; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Player_ActorSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_TestSegmentStart = SegmentStart; - ovl_En_Test : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Test/z_en_test.o(.text) - build/asm/overlays/ovl_En_Test_data.o(.data) - build/src/overlays/actors/ovl_En_Test/z_en_test.o(.rodata) - build/asm/overlays/ovl_En_Test_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_TestSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_GirlASegmentStart = SegmentStart; - ovl_En_GirlA : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_GirlA/z_en_girla.o(.text) - build/src/overlays/actors/ovl_En_GirlA/z_en_girla.o(.data) - build/src/overlays/actors/ovl_En_GirlA/z_en_girla.o(.rodata) - build/src/overlays/actors/ovl_En_GirlA/z_en_girla_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_GirlASegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_PartSegmentStart = SegmentStart; - ovl_En_Part : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Part/z_en_part.o(.text) - build/asm/overlays/ovl_En_Part_data.o(.data) - build/src/overlays/actors/ovl_En_Part/z_en_part.o(.rodata) - build/asm/overlays/ovl_En_Part_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_PartSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_LightSegmentStart = SegmentStart; - ovl_En_Light : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Light/z_en_light.o(.text) - build/asm/overlays/ovl_En_Light_data.o(.data) - build/src/overlays/actors/ovl_En_Light/z_en_light.o(.rodata) - build/asm/overlays/ovl_En_Light_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_LightSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_DoorSegmentStart = SegmentStart; - ovl_En_Door : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Door/z_en_door.o(.text) - build/asm/overlays/ovl_En_Door_data.o(.data) - build/src/overlays/actors/ovl_En_Door/z_en_door.o(.rodata) - build/asm/overlays/ovl_En_Door_rodata.o(.rodata) - ovl_En_Door_bss_start = .; - } - . += 0x10; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_DoorSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_BoxSegmentStart = SegmentStart; - ovl_En_Box : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Box/z_en_box.o(.text) - build/asm/overlays/ovl_En_Box_data.o(.data) - build/src/overlays/actors/ovl_En_Box/z_en_box.o(.rodata) - build/asm/overlays/ovl_En_Box_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_BoxSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_PametfrogSegmentStart = SegmentStart; - ovl_En_Pametfrog : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Pametfrog/z_en_pametfrog.o(.text) - build/src/overlays/actors/ovl_En_Pametfrog/z_en_pametfrog.o(.data) - build/src/overlays/actors/ovl_En_Pametfrog/z_en_pametfrog.o(.rodata) - build/src/overlays/actors/ovl_En_Pametfrog/z_en_pametfrog_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_PametfrogSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_OkutaSegmentStart = SegmentStart; - ovl_En_Okuta : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Okuta/z_en_okuta.o(.text) - build/asm/overlays/ovl_En_Okuta_data.o(.data) - build/src/overlays/actors/ovl_En_Okuta/z_en_okuta.o(.rodata) - build/asm/overlays/ovl_En_Okuta_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_OkutaSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_BomSegmentStart = SegmentStart; - ovl_En_Bom : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Bom/z_en_bom.o(.text) - build/asm/overlays/ovl_En_Bom_data.o(.data) - build/src/overlays/actors/ovl_En_Bom/z_en_bom.o(.rodata) - build/asm/overlays/ovl_En_Bom_rodata.o(.rodata) - ovl_En_Bom_bss_start = .; - } - . += 0x1C0; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_BomSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_WallmasSegmentStart = SegmentStart; - ovl_En_Wallmas : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.o(.text) - build/asm/overlays/ovl_En_Wallmas_data.o(.data) - build/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.o(.rodata) - build/asm/overlays/ovl_En_Wallmas_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_WallmasSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_DodongoSegmentStart = SegmentStart; - ovl_En_Dodongo : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.o(.text) - build/asm/overlays/ovl_En_Dodongo_data.o(.data) - build/src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.o(.rodata) - build/asm/overlays/ovl_En_Dodongo_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_DodongoSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_FireflySegmentStart = SegmentStart; - ovl_En_Firefly : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Firefly/z_en_firefly.o(.text) - build/src/overlays/actors/ovl_En_Firefly/z_en_firefly.o(.data) - build/src/overlays/actors/ovl_En_Firefly/z_en_firefly.o(.rodata) - build/src/overlays/actors/ovl_En_Firefly/z_en_firefly_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_FireflySegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_HorseSegmentStart = SegmentStart; - ovl_En_Horse : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Horse/z_en_horse.o(.text) - build/asm/overlays/ovl_En_Horse_data.o(.data) - build/src/overlays/actors/ovl_En_Horse/z_en_horse.o(.rodata) - build/asm/overlays/ovl_En_Horse_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_HorseSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_ArrowSegmentStart = SegmentStart; - ovl_En_Arrow : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Arrow/z_en_arrow.o(.text) - build/asm/overlays/ovl_En_Arrow_data.o(.data) - build/src/overlays/actors/ovl_En_Arrow/z_en_arrow.o(.rodata) - build/asm/overlays/ovl_En_Arrow_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_ArrowSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_ElfSegmentStart = SegmentStart; - ovl_En_Elf : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Elf/z_en_elf.o(.text) - build/asm/overlays/ovl_En_Elf_data.o(.data) - build/src/overlays/actors/ovl_En_Elf/z_en_elf.o(.rodata) - build/asm/overlays/ovl_En_Elf_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_ElfSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_NiwSegmentStart = SegmentStart; - ovl_En_Niw : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Niw/z_en_niw.o(.text) - build/src/overlays/actors/ovl_En_Niw/z_en_niw.o(.data) - build/src/overlays/actors/ovl_En_Niw/z_en_niw.o(.rodata) - build/src/overlays/actors/ovl_En_Niw/z_en_niw_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_NiwSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_TiteSegmentStart = SegmentStart; - ovl_En_Tite : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Tite/z_en_tite.o(.text) - build/asm/overlays/ovl_En_Tite_data.o(.data) - build/src/overlays/actors/ovl_En_Tite/z_en_tite.o(.rodata) - build/asm/overlays/ovl_En_Tite_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_TiteSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_PeehatSegmentStart = SegmentStart; - ovl_En_Peehat : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Peehat/z_en_peehat.o(.text) - build/asm/overlays/ovl_En_Peehat_data.o(.data) - build/src/overlays/actors/ovl_En_Peehat/z_en_peehat.o(.rodata) - build/asm/overlays/ovl_En_Peehat_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_PeehatSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_HollSegmentStart = SegmentStart; - ovl_En_Holl : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Holl/z_en_holl.o(.text) - build/asm/overlays/ovl_En_Holl_data.o(.data) - build/src/overlays/actors/ovl_En_Holl/z_en_holl.o(.rodata) - build/asm/overlays/ovl_En_Holl_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_HollSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_DinofosSegmentStart = SegmentStart; - ovl_En_Dinofos : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.o(.text) - build/asm/overlays/ovl_En_Dinofos_data.o(.data) - build/src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.o(.rodata) - build/asm/overlays/ovl_En_Dinofos_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_DinofosSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_HataSegmentStart = SegmentStart; - ovl_En_Hata : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Hata/z_en_hata.o(.text) - build/asm/overlays/ovl_En_Hata_data.o(.data) - build/src/overlays/actors/ovl_En_Hata/z_en_hata.o(.rodata) - build/asm/overlays/ovl_En_Hata_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_HataSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Zl1SegmentStart = SegmentStart; - ovl_En_Zl1 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Zl1/z_en_zl1.o(.text) - build/src/overlays/actors/ovl_En_Zl1/z_en_zl1.o(.data) - build/src/overlays/actors/ovl_En_Zl1/z_en_zl1.o(.rodata) - build/src/overlays/actors/ovl_En_Zl1/z_en_zl1.o(.rodata) - build/src/overlays/actors/ovl_En_Zl1/z_en_zl1_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Zl1SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_ViewerSegmentStart = SegmentStart; - ovl_En_Viewer : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Viewer/z_en_viewer.o(.text) - build/asm/overlays/ovl_En_Viewer_data.o(.data) - build/src/overlays/actors/ovl_En_Viewer/z_en_viewer.o(.rodata) - build/asm/overlays/ovl_En_Viewer_rodata.o(.rodata) - ovl_En_Viewer_bss_start = .; - } - . += 0x10; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_ViewerSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_BubbleSegmentStart = SegmentStart; - ovl_En_Bubble : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Bubble/z_en_bubble.o(.text) - build/asm/overlays/ovl_En_Bubble_data.o(.data) - build/src/overlays/actors/ovl_En_Bubble/z_en_bubble.o(.rodata) - build/asm/overlays/ovl_En_Bubble_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_BubbleSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Door_ShutterSegmentStart = SegmentStart; - ovl_Door_Shutter : AT(RomLocation) - { - build/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.o(.text) - build/asm/overlays/ovl_Door_Shutter_data.o(.data) - build/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.o(.rodata) - build/asm/overlays/ovl_Door_Shutter_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Door_ShutterSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_BoomSegmentStart = SegmentStart; - ovl_En_Boom : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Boom/z_en_boom.o(.text) - build/asm/overlays/ovl_En_Boom_data.o(.data) - build/src/overlays/actors/ovl_En_Boom/z_en_boom.o(.rodata) - build/asm/overlays/ovl_En_Boom_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_BoomSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Torch2SegmentStart = SegmentStart; - ovl_En_Torch2 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Torch2/z_en_torch2.o(.text) - build/src/overlays/actors/ovl_En_Torch2/z_en_torch2.o(.data) - build/src/overlays/actors/ovl_En_Torch2/z_en_torch2.o(.rodata) - build/src/overlays/actors/ovl_En_Torch2/z_en_torch2_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Torch2SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_MinifrogSegmentStart = SegmentStart; - ovl_En_Minifrog : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Minifrog/z_en_minifrog.o(.text) - build/src/overlays/actors/ovl_En_Minifrog/z_en_minifrog.o(.data) - build/src/overlays/actors/ovl_En_Minifrog/z_en_minifrog.o(.rodata) - build/src/overlays/actors/ovl_En_Minifrog/z_en_minifrog_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_MinifrogSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_StSegmentStart = SegmentStart; - ovl_En_St : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_St/z_en_st.o(.text) - build/asm/overlays/ovl_En_St_data.o(.data) - build/src/overlays/actors/ovl_En_St/z_en_st.o(.rodata) - build/asm/overlays/ovl_En_St_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_StSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_WturnSegmentStart = SegmentStart; - ovl_Obj_Wturn : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Wturn/z_obj_wturn.o(.text) - build/asm/overlays/ovl_Obj_Wturn_data.o(.data) - build/src/overlays/actors/ovl_Obj_Wturn/z_obj_wturn.o(.rodata) - build/asm/overlays/ovl_Obj_Wturn_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_WturnSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_River_SoundSegmentStart = SegmentStart; - ovl_En_River_Sound : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_River_Sound/z_en_river_sound.o(.text) - build/asm/overlays/ovl_En_River_Sound_data.o(.data) - build/src/overlays/actors/ovl_En_River_Sound/z_en_river_sound.o(.rodata) - build/asm/overlays/ovl_En_River_Sound_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_River_SoundSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_OssanSegmentStart = SegmentStart; - ovl_En_Ossan : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Ossan/z_en_ossan.o(.text) - build/src/overlays/actors/ovl_En_Ossan/z_en_ossan.o(.data) - build/src/overlays/actors/ovl_En_Ossan/z_en_ossan.o(.rodata) - build/src/overlays/actors/ovl_En_Ossan/z_en_ossan_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_OssanSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_FamosSegmentStart = SegmentStart; - ovl_En_Famos : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Famos/z_en_famos.o(.text) - build/asm/overlays/ovl_En_Famos_data.o(.data) - build/src/overlays/actors/ovl_En_Famos/z_en_famos.o(.rodata) - build/asm/overlays/ovl_En_Famos_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_FamosSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_BombfSegmentStart = SegmentStart; - ovl_En_Bombf : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Bombf/z_en_bombf.o(.text) - build/asm/overlays/ovl_En_Bombf_data.o(.data) - build/src/overlays/actors/ovl_En_Bombf/z_en_bombf.o(.rodata) - build/asm/overlays/ovl_En_Bombf_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_BombfSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_AmSegmentStart = SegmentStart; - ovl_En_Am : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Am/z_en_am.o(.text) - build/asm/overlays/ovl_En_Am_data.o(.data) - build/src/overlays/actors/ovl_En_Am/z_en_am.o(.rodata) - build/asm/overlays/ovl_En_Am_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_AmSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_DekubabaSegmentStart = SegmentStart; - ovl_En_Dekubaba : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Dekubaba/z_en_dekubaba.o(.text) - build/asm/overlays/ovl_En_Dekubaba_data.o(.data) - build/src/overlays/actors/ovl_En_Dekubaba/z_en_dekubaba.o(.rodata) - build/asm/overlays/ovl_En_Dekubaba_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_DekubabaSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_M_Fire1SegmentStart = SegmentStart; - ovl_En_M_Fire1 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_M_Fire1/z_en_m_fire1.o(.text) - build/src/overlays/actors/ovl_En_M_Fire1/z_en_m_fire1.o(.data) - build/src/overlays/actors/ovl_En_M_Fire1/z_en_m_fire1.o(.rodata) - build/src/overlays/actors/ovl_En_M_Fire1/z_en_m_fire1_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_M_Fire1SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_M_ThunderSegmentStart = SegmentStart; - ovl_En_M_Thunder : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_M_Thunder/z_en_m_thunder.o(.text) - build/asm/overlays/ovl_En_M_Thunder_data.o(.data) - build/src/overlays/actors/ovl_En_M_Thunder/z_en_m_thunder.o(.rodata) - build/asm/overlays/ovl_En_M_Thunder_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_M_ThunderSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_BreakwallSegmentStart = SegmentStart; - ovl_Bg_Breakwall : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Breakwall/z_bg_breakwall.o(.text) - build/asm/overlays/ovl_Bg_Breakwall_data.o(.data) - build/src/overlays/actors/ovl_Bg_Breakwall/z_bg_breakwall.o(.rodata) - build/asm/overlays/ovl_Bg_Breakwall_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_BreakwallSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Door_Warp1SegmentStart = SegmentStart; - ovl_Door_Warp1 : AT(RomLocation) - { - build/src/overlays/actors/ovl_Door_Warp1/z_door_warp1.o(.text) - build/asm/overlays/ovl_Door_Warp1_data.o(.data) - build/src/overlays/actors/ovl_Door_Warp1/z_door_warp1.o(.rodata) - build/asm/overlays/ovl_Door_Warp1_rodata.o(.rodata) - ovl_Door_Warp1_bss_start = .; - } - . += 0x10; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Door_Warp1SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_SyokudaiSegmentStart = SegmentStart; - ovl_Obj_Syokudai : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Syokudai/z_obj_syokudai.o(.text) - build/asm/overlays/ovl_Obj_Syokudai_data.o(.data) - build/src/overlays/actors/ovl_Obj_Syokudai/z_obj_syokudai.o(.rodata) - build/asm/overlays/ovl_Obj_Syokudai_rodata.o(.rodata) - ovl_Obj_Syokudai_bss_start = .; - } - . += 0x10; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_SyokudaiSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Item_B_HeartSegmentStart = SegmentStart; - ovl_Item_B_Heart : AT(RomLocation) - { - build/src/overlays/actors/ovl_Item_B_Heart/z_item_b_heart.o(.text) - build/src/overlays/actors/ovl_Item_B_Heart/z_item_b_heart.o(.data) - build/src/overlays/actors/ovl_Item_B_Heart/z_item_b_heart.o(.rodata) - build/src/overlays/actors/ovl_Item_B_Heart/z_item_b_heart_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Item_B_HeartSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_DekunutsSegmentStart = SegmentStart; - ovl_En_Dekunuts : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Dekunuts/z_en_dekunuts.o(.text) - build/asm/overlays/ovl_En_Dekunuts_data.o(.data) - build/src/overlays/actors/ovl_En_Dekunuts/z_en_dekunuts.o(.rodata) - build/asm/overlays/ovl_En_Dekunuts_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_DekunutsSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_BbfallSegmentStart = SegmentStart; - ovl_En_Bbfall : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Bbfall/z_en_bbfall.o(.text) - build/asm/overlays/ovl_En_Bbfall_data.o(.data) - build/src/overlays/actors/ovl_En_Bbfall/z_en_bbfall.o(.rodata) - build/asm/overlays/ovl_En_Bbfall_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_BbfallSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Arms_HookSegmentStart = SegmentStart; - ovl_Arms_Hook : AT(RomLocation) - { - build/src/overlays/actors/ovl_Arms_Hook/z_arms_hook.o(.text) - build/src/overlays/actors/ovl_Arms_Hook/z_arms_hook.o(.data) - build/src/overlays/actors/ovl_Arms_Hook/z_arms_hook.o(.rodata) - build/src/overlays/actors/ovl_Arms_Hook/z_arms_hook.o(.rodata) - build/src/overlays/actors/ovl_Arms_Hook/z_arms_hook_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Arms_HookSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_BbSegmentStart = SegmentStart; - ovl_En_Bb : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Bb/z_en_bb.o(.text) - build/asm/overlays/ovl_En_Bb_data.o(.data) - build/src/overlays/actors/ovl_En_Bb/z_en_bb.o(.rodata) - build/asm/overlays/ovl_En_Bb_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_BbSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Keikoku_SprSegmentStart = SegmentStart; - ovl_Bg_Keikoku_Spr : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Keikoku_Spr/z_bg_keikoku_spr.o(.text) - build/src/overlays/actors/ovl_Bg_Keikoku_Spr/z_bg_keikoku_spr.o(.data) - build/src/overlays/actors/ovl_Bg_Keikoku_Spr/z_bg_keikoku_spr.o(.rodata) - build/src/overlays/actors/ovl_Bg_Keikoku_Spr/z_bg_keikoku_spr_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Keikoku_SprSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Wood02SegmentStart = SegmentStart; - ovl_En_Wood02 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Wood02/z_en_wood02.o(.text) - build/asm/overlays/ovl_En_Wood02_data.o(.data) - build/src/overlays/actors/ovl_En_Wood02/z_en_wood02.o(.rodata) - build/asm/overlays/ovl_En_Wood02_rodata.o(.rodata) - ovl_En_Wood02_bss_start = .; - } - . += 0x10; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Wood02SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_DeathSegmentStart = SegmentStart; - ovl_En_Death : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Death/z_en_death.o(.text) - build/asm/overlays/ovl_En_Death_data.o(.data) - build/src/overlays/actors/ovl_En_Death/z_en_death.o(.rodata) - build/asm/overlays/ovl_En_Death_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_DeathSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_MinideathSegmentStart = SegmentStart; - ovl_En_Minideath : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Minideath/z_en_minideath.o(.text) - build/asm/overlays/ovl_En_Minideath_data.o(.data) - build/src/overlays/actors/ovl_En_Minideath/z_en_minideath.o(.rodata) - build/asm/overlays/ovl_En_Minideath_rodata.o(.rodata) - ovl_En_Minideath_bss_start = .; - } - . += 0x10; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_MinideathSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_VmSegmentStart = SegmentStart; - ovl_En_Vm : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Vm/z_en_vm.o(.text) - build/asm/overlays/ovl_En_Vm_data.o(.data) - build/src/overlays/actors/ovl_En_Vm/z_en_vm.o(.rodata) - build/asm/overlays/ovl_En_Vm_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_VmSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Demo_EffectSegmentStart = SegmentStart; - ovl_Demo_Effect : AT(RomLocation) - { - build/src/overlays/actors/ovl_Demo_Effect/z_demo_effect.o(.text) - build/asm/overlays/ovl_Demo_Effect_data.o(.data) - build/src/overlays/actors/ovl_Demo_Effect/z_demo_effect.o(.rodata) - build/asm/overlays/ovl_Demo_Effect_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Demo_EffectSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Demo_KankyoSegmentStart = SegmentStart; - ovl_Demo_Kankyo : AT(RomLocation) - { - build/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo.o(.text) - build/asm/overlays/ovl_Demo_Kankyo_data.o(.data) - build/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo.o(.rodata) - build/asm/overlays/ovl_Demo_Kankyo_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Demo_KankyoSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_FloormasSegmentStart = SegmentStart; - ovl_En_Floormas : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Floormas/z_en_floormas.o(.text) - build/asm/overlays/ovl_En_Floormas_data.o(.data) - build/src/overlays/actors/ovl_En_Floormas/z_en_floormas.o(.rodata) - build/asm/overlays/ovl_En_Floormas_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_FloormasSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_RdSegmentStart = SegmentStart; - ovl_En_Rd : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Rd/z_en_rd.o(.text) - build/asm/overlays/ovl_En_Rd_data.o(.data) - build/src/overlays/actors/ovl_En_Rd/z_en_rd.o(.rodata) - build/asm/overlays/ovl_En_Rd_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_RdSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_F40_FliftSegmentStart = SegmentStart; - ovl_Bg_F40_Flift : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_F40_Flift/z_bg_f40_flift.o(.text) - build/asm/overlays/ovl_Bg_F40_Flift_data.o(.data) - build/src/overlays/actors/ovl_Bg_F40_Flift/z_bg_f40_flift.o(.rodata) - build/asm/overlays/ovl_Bg_F40_Flift_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_F40_FliftSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_MureSegmentStart = SegmentStart; - ovl_Obj_Mure : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Mure/z_obj_mure.o(.text) - build/asm/overlays/ovl_Obj_Mure_data.o(.data) - build/asm/overlays/ovl_Obj_Mure_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_MureSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_SwSegmentStart = SegmentStart; - ovl_En_Sw : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Sw/z_en_sw.o(.text) - build/asm/overlays/ovl_En_Sw_data.o(.data) - build/src/overlays/actors/ovl_En_Sw/z_en_sw.o(.rodata) - build/asm/overlays/ovl_En_Sw_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_SwSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Object_KankyoSegmentStart = SegmentStart; - ovl_Object_Kankyo : AT(RomLocation) - { - build/src/overlays/actors/ovl_Object_Kankyo/z_object_kankyo.o(.text) - build/asm/overlays/ovl_Object_Kankyo_data.o(.data) - build/src/overlays/actors/ovl_Object_Kankyo/z_object_kankyo.o(.rodata) - build/asm/overlays/ovl_Object_Kankyo_rodata.o(.rodata) - ovl_Object_Kankyo_bss_start = .; - } - . += 0x10; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Object_KankyoSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Horse_Link_ChildSegmentStart = SegmentStart; - ovl_En_Horse_Link_Child : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Horse_Link_Child/z_en_horse_link_child.o(.text) - build/asm/overlays/ovl_En_Horse_Link_Child_data.o(.data) - build/src/overlays/actors/ovl_En_Horse_Link_Child/z_en_horse_link_child.o(.rodata) - build/asm/overlays/ovl_En_Horse_Link_Child_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Horse_Link_ChildSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Door_AnaSegmentStart = SegmentStart; - ovl_Door_Ana : AT(RomLocation) - { - build/src/overlays/actors/ovl_Door_Ana/z_door_ana.o(.text) - build/src/overlays/actors/ovl_Door_Ana/z_door_ana.o(.data) - build/src/overlays/actors/ovl_Door_Ana/z_door_ana.o(.rodata) - build/src/overlays/actors/ovl_Door_Ana/z_door_ana_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Door_AnaSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Encount1SegmentStart = SegmentStart; - ovl_En_Encount1 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Encount1/z_en_encount1.o(.text) - build/asm/overlays/ovl_En_Encount1_data.o(.data) - build/src/overlays/actors/ovl_En_Encount1/z_en_encount1.o(.rodata) - build/asm/overlays/ovl_En_Encount1_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Encount1SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Demo_Tre_LgtSegmentStart = SegmentStart; - ovl_Demo_Tre_Lgt : AT(RomLocation) - { - build/src/overlays/actors/ovl_Demo_Tre_Lgt/z_demo_tre_lgt.o(.text) - build/asm/overlays/ovl_Demo_Tre_Lgt_data.o(.data) - build/src/overlays/actors/ovl_Demo_Tre_Lgt/z_demo_tre_lgt.o(.rodata) - build/asm/overlays/ovl_Demo_Tre_Lgt_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Demo_Tre_LgtSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Encount2SegmentStart = SegmentStart; - ovl_En_Encount2 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Encount2/z_en_encount2.o(.text) - build/src/overlays/actors/ovl_En_Encount2/z_en_encount2.o(.data) - build/src/overlays/actors/ovl_En_Encount2/z_en_encount2.o(.rodata) - build/asm/overlays/ovl_En_Encount2_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Encount2SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Fire_RockSegmentStart = SegmentStart; - ovl_En_Fire_Rock : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Fire_Rock/z_en_fire_rock.o(.text) - build/src/overlays/actors/ovl_En_Fire_Rock/z_en_fire_rock.o(.data) - build/src/overlays/actors/ovl_En_Fire_Rock/z_en_fire_rock.o(.rodata) - build/src/overlays/actors/ovl_En_Fire_Rock/z_en_fire_rock.o(.rodata) - build/src/overlays/actors/ovl_En_Fire_Rock/z_en_fire_rock_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Fire_RockSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Ctower_RotSegmentStart = SegmentStart; - ovl_Bg_Ctower_Rot : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Ctower_Rot/z_bg_ctower_rot.o(.text) - build/src/overlays/actors/ovl_Bg_Ctower_Rot/z_bg_ctower_rot.o(.data) - build/src/overlays/actors/ovl_Bg_Ctower_Rot/z_bg_ctower_rot.o(.rodata) - build/src/overlays/actors/ovl_Bg_Ctower_Rot/z_bg_ctower_rot_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Ctower_RotSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Mir_RaySegmentStart = SegmentStart; - ovl_Mir_Ray : AT(RomLocation) - { - build/src/overlays/actors/ovl_Mir_Ray/z_mir_ray.o(.text) - build/asm/overlays/ovl_Mir_Ray_data.o(.data) - build/src/overlays/actors/ovl_Mir_Ray/z_mir_ray.o(.rodata) - build/asm/overlays/ovl_Mir_Ray_rodata.o(.rodata) - build/asm/overlays/ovl_Mir_Ray_late_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Mir_RaySegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_SbSegmentStart = SegmentStart; - ovl_En_Sb : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Sb/z_en_sb.o(.text) - build/src/overlays/actors/ovl_En_Sb/z_en_sb.o(.data) - build/src/overlays/actors/ovl_En_Sb/z_en_sb.o(.rodata) - build/src/overlays/actors/ovl_En_Sb/z_en_sb_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_SbSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_BigslimeSegmentStart = SegmentStart; - ovl_En_Bigslime : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Bigslime/z_en_bigslime.o(.text) - build/asm/overlays/ovl_En_Bigslime_data.o(.data) - build/src/overlays/actors/ovl_En_Bigslime/z_en_bigslime.o(.rodata) - build/asm/overlays/ovl_En_Bigslime_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_BigslimeSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_KarebabaSegmentStart = SegmentStart; - ovl_En_Karebaba : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Karebaba/z_en_karebaba.o(.text) - build/asm/overlays/ovl_En_Karebaba_data.o(.data) - build/src/overlays/actors/ovl_En_Karebaba/z_en_karebaba.o(.rodata) - build/asm/overlays/ovl_En_Karebaba_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_KarebabaSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_InSegmentStart = SegmentStart; - ovl_En_In : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_In/z_en_in.o(.text) - build/src/overlays/actors/ovl_En_In/z_en_in.o(.data) - build/src/overlays/actors/ovl_En_In/z_en_in.o(.rodata) - build/src/overlays/actors/ovl_En_In/z_en_in_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_InSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Bom_ChuSegmentStart = SegmentStart; - ovl_En_Bom_Chu : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Bom_Chu/z_en_bom_chu.o(.text) - build/asm/overlays/ovl_En_Bom_Chu_data.o(.data) - build/src/overlays/actors/ovl_En_Bom_Chu/z_en_bom_chu.o(.rodata) - build/asm/overlays/ovl_En_Bom_Chu_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Bom_ChuSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Horse_Game_CheckSegmentStart = SegmentStart; - ovl_En_Horse_Game_Check : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Horse_Game_Check/z_en_horse_game_check.o(.text) - build/asm/overlays/ovl_En_Horse_Game_Check_data.o(.data) - build/asm/overlays/ovl_En_Horse_Game_Check_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Horse_Game_CheckSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_RrSegmentStart = SegmentStart; - ovl_En_Rr : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Rr/z_en_rr.o(.text) - build/asm/overlays/ovl_En_Rr_data.o(.data) - build/src/overlays/actors/ovl_En_Rr/z_en_rr.o(.rodata) - build/asm/overlays/ovl_En_Rr_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_RrSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_FrSegmentStart = SegmentStart; - ovl_En_Fr : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Fr/z_en_fr.o(.text) - build/asm/overlays/ovl_En_Fr_data.o(.data) - build/src/overlays/actors/ovl_En_Fr/z_en_fr.o(.rodata) - build/asm/overlays/ovl_En_Fr_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_FrSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_FishingSegmentStart = SegmentStart; - ovl_En_Fishing : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Fishing/z_en_fishing.o(.text) - build/asm/overlays/ovl_En_Fishing_data.o(.data) - build/src/overlays/actors/ovl_En_Fishing/z_en_fishing.o(.rodata) - build/asm/overlays/ovl_En_Fishing_rodata.o(.rodata) - ovl_En_Fishing_bss_start = .; - } - . += 0x70E0; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_FishingSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_OshihikiSegmentStart = SegmentStart; - ovl_Obj_Oshihiki : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Oshihiki/z_obj_oshihiki.o(.text) - build/asm/overlays/ovl_Obj_Oshihiki_data.o(.data) - build/src/overlays/actors/ovl_Obj_Oshihiki/z_obj_oshihiki.o(.rodata) - build/asm/overlays/ovl_Obj_Oshihiki_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_OshihikiSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Eff_DustSegmentStart = SegmentStart; - ovl_Eff_Dust : AT(RomLocation) - { - build/src/overlays/actors/ovl_Eff_Dust/z_eff_dust.o(.text) - build/src/overlays/actors/ovl_Eff_Dust/z_eff_dust.o(.data) - build/src/overlays/actors/ovl_Eff_Dust/z_eff_dust.o(.rodata) - build/src/overlays/actors/ovl_Eff_Dust/z_eff_dust_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Eff_DustSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_UmajumpSegmentStart = SegmentStart; - ovl_Bg_Umajump : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Umajump/z_bg_umajump.o(.text) - build/asm/overlays/ovl_Bg_Umajump_data.o(.data) - build/src/overlays/actors/ovl_Bg_Umajump/z_bg_umajump.o(.rodata) - build/asm/overlays/ovl_Bg_Umajump_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_UmajumpSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_InsectSegmentStart = SegmentStart; - ovl_En_Insect : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Insect/z_en_insect.o(.text) - build/asm/overlays/ovl_En_Insect_data.o(.data) - build/src/overlays/actors/ovl_En_Insect/z_en_insect.o(.rodata) - build/asm/overlays/ovl_En_Insect_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_InsectSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_ButteSegmentStart = SegmentStart; - ovl_En_Butte : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Butte/z_en_butte.o(.text) - build/asm/overlays/ovl_En_Butte_data.o(.data) - build/src/overlays/actors/ovl_En_Butte/z_en_butte.o(.rodata) - build/asm/overlays/ovl_En_Butte_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_ButteSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_FishSegmentStart = SegmentStart; - ovl_En_Fish : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Fish/z_en_fish.o(.text) - build/asm/overlays/ovl_En_Fish_data.o(.data) - build/src/overlays/actors/ovl_En_Fish/z_en_fish.o(.rodata) - build/asm/overlays/ovl_En_Fish_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_FishSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Item_EtceteraSegmentStart = SegmentStart; - ovl_Item_Etcetera : AT(RomLocation) - { - build/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.o(.text) - build/asm/overlays/ovl_Item_Etcetera_data.o(.data) - build/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.o(.rodata) - build/asm/overlays/ovl_Item_Etcetera_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Item_EtceteraSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Arrow_FireSegmentStart = SegmentStart; - ovl_Arrow_Fire : AT(RomLocation) - { - build/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.o(.text) - build/asm/overlays/ovl_Arrow_Fire_data.o(.data) - build/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.o(.rodata) - build/asm/overlays/ovl_Arrow_Fire_rodata.o(.rodata) - ovl_Arrow_Fire_bss_start = .; - } - . += 0x10; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Arrow_FireSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Arrow_IceSegmentStart = SegmentStart; - ovl_Arrow_Ice : AT(RomLocation) - { - build/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.o(.text) - build/asm/overlays/ovl_Arrow_Ice_data.o(.data) - build/asm/overlays/ovl_Arrow_Ice_rodata.o(.rodata) - build/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.o(.rodata) - build/asm/overlays/ovl_Arrow_Ice_late_rodata.o(.rodata) - ovl_Arrow_Ice_bss_start = .; - } - . += 0x10; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Arrow_IceSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Arrow_LightSegmentStart = SegmentStart; - ovl_Arrow_Light : AT(RomLocation) - { - build/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.o(.text) - build/asm/overlays/ovl_Arrow_Light_data.o(.data) - build/asm/overlays/ovl_Arrow_Light_rodata.o(.rodata) - build/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.o(.rodata) - build/asm/overlays/ovl_Arrow_Light_late_rodata.o(.rodata) - ovl_Arrow_Light_bss_start = .; - } - . += 0x10; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Arrow_LightSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_KibakoSegmentStart = SegmentStart; - ovl_Obj_Kibako : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Kibako/z_obj_kibako.o(.text) - build/src/overlays/actors/ovl_Obj_Kibako/z_obj_kibako.o(.data) - build/src/overlays/actors/ovl_Obj_Kibako/z_obj_kibako.o(.rodata) - build/src/overlays/actors/ovl_Obj_Kibako/z_obj_kibako_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_KibakoSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_TsuboSegmentStart = SegmentStart; - ovl_Obj_Tsubo : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Tsubo/z_obj_tsubo.o(.text) - build/asm/overlays/ovl_Obj_Tsubo_data.o(.data) - build/src/overlays/actors/ovl_Obj_Tsubo/z_obj_tsubo.o(.rodata) - build/asm/overlays/ovl_Obj_Tsubo_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_TsuboSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_IkSegmentStart = SegmentStart; - ovl_En_Ik : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Ik/z_en_ik.o(.text) - build/asm/overlays/ovl_En_Ik_data.o(.data) - build/src/overlays/actors/ovl_En_Ik/z_en_ik.o(.rodata) - build/asm/overlays/ovl_En_Ik_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_IkSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Demo_ShdSegmentStart = SegmentStart; - ovl_Demo_Shd : AT(RomLocation) - { - build/src/overlays/actors/ovl_Demo_Shd/z_demo_shd.o(.text) - build/src/overlays/actors/ovl_Demo_Shd/z_demo_shd.o(.data) - build/src/overlays/actors/ovl_Demo_Shd/z_demo_shd.o(.rodata) - build/src/overlays/actors/ovl_Demo_Shd/z_demo_shd.o(.rodata) - build/src/overlays/actors/ovl_Demo_Shd/z_demo_shd_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Demo_ShdSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_DnsSegmentStart = SegmentStart; - ovl_En_Dns : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Dns/z_en_dns.o(.text) - build/asm/overlays/ovl_En_Dns_data.o(.data) - build/src/overlays/actors/ovl_En_Dns/z_en_dns.o(.rodata) - build/asm/overlays/ovl_En_Dns_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_DnsSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Elf_MsgSegmentStart = SegmentStart; - ovl_Elf_Msg : AT(RomLocation) - { - build/src/overlays/actors/ovl_Elf_Msg/z_elf_msg.o(.text) - build/asm/overlays/ovl_Elf_Msg_data.o(.data) - build/src/overlays/actors/ovl_Elf_Msg/z_elf_msg.o(.rodata) - build/asm/overlays/ovl_Elf_Msg_rodata.o(.rodata) - build/asm/overlays/ovl_Elf_Msg_late_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Elf_MsgSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_HonotrapSegmentStart = SegmentStart; - ovl_En_Honotrap : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Honotrap/z_en_honotrap.o(.text) - build/asm/overlays/ovl_En_Honotrap_data.o(.data) - build/src/overlays/actors/ovl_En_Honotrap/z_en_honotrap.o(.rodata) - build/asm/overlays/ovl_En_Honotrap_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_HonotrapSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Tubo_TrapSegmentStart = SegmentStart; - ovl_En_Tubo_Trap : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Tubo_Trap/z_en_tubo_trap.o(.text) - build/src/overlays/actors/ovl_En_Tubo_Trap/z_en_tubo_trap.o(.data) - build/src/overlays/actors/ovl_En_Tubo_Trap/z_en_tubo_trap.o(.rodata) - build/src/overlays/actors/ovl_En_Tubo_Trap/z_en_tubo_trap_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Tubo_TrapSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_Ice_PolySegmentStart = SegmentStart; - ovl_Obj_Ice_Poly : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Ice_Poly/z_obj_ice_poly.o(.text) - build/asm/overlays/ovl_Obj_Ice_Poly_data.o(.data) - build/src/overlays/actors/ovl_Obj_Ice_Poly/z_obj_ice_poly.o(.rodata) - build/asm/overlays/ovl_Obj_Ice_Poly_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_Ice_PolySegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_FzSegmentStart = SegmentStart; - ovl_En_Fz : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Fz/z_en_fz.o(.text) - build/asm/overlays/ovl_En_Fz_data.o(.data) - build/src/overlays/actors/ovl_En_Fz/z_en_fz.o(.rodata) - build/asm/overlays/ovl_En_Fz_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_FzSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_KusaSegmentStart = SegmentStart; - ovl_En_Kusa : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Kusa/z_en_kusa.o(.text) - build/asm/overlays/ovl_En_Kusa_data.o(.data) - build/src/overlays/actors/ovl_En_Kusa/z_en_kusa.o(.rodata) - build/asm/overlays/ovl_En_Kusa_rodata.o(.rodata) - ovl_En_Kusa_bss_start = .; - } - . += 0x220; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_KusaSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_BeanSegmentStart = SegmentStart; - ovl_Obj_Bean : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Bean/z_obj_bean.o(.text) - build/asm/overlays/ovl_Obj_Bean_data.o(.data) - build/src/overlays/actors/ovl_Obj_Bean/z_obj_bean.o(.rodata) - build/asm/overlays/ovl_Obj_Bean_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_BeanSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_BombiwaSegmentStart = SegmentStart; - ovl_Obj_Bombiwa : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Bombiwa/z_obj_bombiwa.o(.text) - build/asm/overlays/ovl_Obj_Bombiwa_data.o(.data) - build/asm/overlays/ovl_Obj_Bombiwa_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_BombiwaSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_SwitchSegmentStart = SegmentStart; - ovl_Obj_Switch : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Switch/z_obj_switch.o(.text) - build/asm/overlays/ovl_Obj_Switch_data.o(.data) - build/src/overlays/actors/ovl_Obj_Switch/z_obj_switch.o(.rodata) - build/asm/overlays/ovl_Obj_Switch_rodata.o(.rodata) - ovl_Obj_Switch_bss_start = .; - } - . += 0x10; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_SwitchSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_LiftSegmentStart = SegmentStart; - ovl_Obj_Lift : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Lift/z_obj_lift.o(.text) - build/asm/overlays/ovl_Obj_Lift_data.o(.data) - build/src/overlays/actors/ovl_Obj_Lift/z_obj_lift.o(.rodata) - build/asm/overlays/ovl_Obj_Lift_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_LiftSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_HsblockSegmentStart = SegmentStart; - ovl_Obj_Hsblock : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Hsblock/z_obj_hsblock.o(.text) - build/asm/overlays/ovl_Obj_Hsblock_data.o(.data) - build/src/overlays/actors/ovl_Obj_Hsblock/z_obj_hsblock.o(.rodata) - build/asm/overlays/ovl_Obj_Hsblock_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_HsblockSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Okarina_TagSegmentStart = SegmentStart; - ovl_En_Okarina_Tag : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.o(.text) - build/asm/overlays/ovl_En_Okarina_Tag_data.o(.data) - build/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.o(.rodata) - build/asm/overlays/ovl_En_Okarina_Tag_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Okarina_TagSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_GoroiwaSegmentStart = SegmentStart; - ovl_En_Goroiwa : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Goroiwa/z_en_goroiwa.o(.text) - build/asm/overlays/ovl_En_Goroiwa_data.o(.data) - build/src/overlays/actors/ovl_En_Goroiwa/z_en_goroiwa.o(.rodata) - build/asm/overlays/ovl_En_Goroiwa_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_GoroiwaSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_DaikuSegmentStart = SegmentStart; - ovl_En_Daiku : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Daiku/z_en_daiku.o(.text) - build/asm/overlays/ovl_En_Daiku_data.o(.data) - build/src/overlays/actors/ovl_En_Daiku/z_en_daiku.o(.rodata) - build/asm/overlays/ovl_En_Daiku_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_DaikuSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_NwcSegmentStart = SegmentStart; - ovl_En_Nwc : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Nwc/z_en_nwc.o(.text) - build/asm/overlays/ovl_En_Nwc_data.o(.data) - build/src/overlays/actors/ovl_En_Nwc/z_en_nwc.o(.rodata) - build/asm/overlays/ovl_En_Nwc_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_NwcSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Item_InboxSegmentStart = SegmentStart; - ovl_Item_Inbox : AT(RomLocation) - { - build/src/overlays/actors/ovl_Item_Inbox/z_item_inbox.o(.text) - build/src/overlays/actors/ovl_Item_Inbox/z_item_inbox.o(.data) - build/src/overlays/actors/ovl_Item_Inbox/z_item_inbox.o(.rodata) - build/src/overlays/actors/ovl_Item_Inbox/z_item_inbox_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Item_InboxSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Ge1SegmentStart = SegmentStart; - ovl_En_Ge1 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Ge1/z_en_ge1.o(.text) - build/asm/overlays/ovl_En_Ge1_data.o(.data) - build/src/overlays/actors/ovl_En_Ge1/z_en_ge1.o(.rodata) - build/asm/overlays/ovl_En_Ge1_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Ge1SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_BlockstopSegmentStart = SegmentStart; - ovl_Obj_Blockstop : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Blockstop/z_obj_blockstop.o(.text) - build/asm/overlays/ovl_Obj_Blockstop_data.o(.data) - build/src/overlays/actors/ovl_Obj_Blockstop/z_obj_blockstop.o(.rodata) - build/asm/overlays/ovl_Obj_Blockstop_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_BlockstopSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_SdaSegmentStart = SegmentStart; - ovl_En_Sda : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Sda/z_en_sda.o(.text) - build/asm/overlays/ovl_En_Sda_data.o(.data) - build/src/overlays/actors/ovl_En_Sda/z_en_sda.o(.rodata) - build/asm/overlays/ovl_En_Sda_rodata.o(.rodata) - ovl_En_Sda_bss_start = .; - } - . += 0xC0; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_SdaSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Clear_TagSegmentStart = SegmentStart; - ovl_En_Clear_Tag : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.o(.text) - build/src/overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.o(.data) - build/src/overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.o(.rodata) - build/src/overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Clear_TagSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_GmSegmentStart = SegmentStart; - ovl_En_Gm : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Gm/z_en_gm.o(.text) - build/asm/overlays/ovl_En_Gm_data.o(.data) - build/src/overlays/actors/ovl_En_Gm/z_en_gm.o(.rodata) - build/asm/overlays/ovl_En_Gm_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_GmSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_MsSegmentStart = SegmentStart; - ovl_En_Ms : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Ms/z_en_ms.o(.text) - build/asm/overlays/ovl_En_Ms_data.o(.data) - build/src/overlays/actors/ovl_En_Ms/z_en_ms.o(.rodata) - build/asm/overlays/ovl_En_Ms_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_MsSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_HsSegmentStart = SegmentStart; - ovl_En_Hs : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Hs/z_en_hs.o(.text) - build/asm/overlays/ovl_En_Hs_data.o(.data) - build/src/overlays/actors/ovl_En_Hs/z_en_hs.o(.rodata) - build/asm/overlays/ovl_En_Hs_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_HsSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_IngateSegmentStart = SegmentStart; - ovl_Bg_Ingate : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Ingate/z_bg_ingate.o(.text) - build/asm/overlays/ovl_Bg_Ingate_data.o(.data) - build/src/overlays/actors/ovl_Bg_Ingate/z_bg_ingate.o(.rodata) - build/asm/overlays/ovl_Bg_Ingate_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_IngateSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_KanbanSegmentStart = SegmentStart; - ovl_En_Kanban : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Kanban/z_en_kanban.o(.text) - build/asm/overlays/ovl_En_Kanban_data.o(.data) - build/src/overlays/actors/ovl_En_Kanban/z_en_kanban.o(.rodata) - build/asm/overlays/ovl_En_Kanban_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_KanbanSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Attack_NiwSegmentStart = SegmentStart; - ovl_En_Attack_Niw : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Attack_Niw/z_en_attack_niw.o(.text) - build/asm/overlays/ovl_En_Attack_Niw_data.o(.data) - build/src/overlays/actors/ovl_En_Attack_Niw/z_en_attack_niw.o(.rodata) - build/asm/overlays/ovl_En_Attack_Niw_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Attack_NiwSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_MkSegmentStart = SegmentStart; - ovl_En_Mk : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Mk/z_en_mk.o(.text) - build/asm/overlays/ovl_En_Mk_data.o(.data) - build/src/overlays/actors/ovl_En_Mk/z_en_mk.o(.rodata) - build/asm/overlays/ovl_En_Mk_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_MkSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_OwlSegmentStart = SegmentStart; - ovl_En_Owl : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Owl/z_en_owl.o(.text) - build/asm/overlays/ovl_En_Owl_data.o(.data) - build/src/overlays/actors/ovl_En_Owl/z_en_owl.o(.rodata) - build/asm/overlays/ovl_En_Owl_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_OwlSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_IshiSegmentStart = SegmentStart; - ovl_En_Ishi : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Ishi/z_en_ishi.o(.text) - build/asm/overlays/ovl_En_Ishi_data.o(.data) - build/src/overlays/actors/ovl_En_Ishi/z_en_ishi.o(.rodata) - build/asm/overlays/ovl_En_Ishi_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_IshiSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_HanaSegmentStart = SegmentStart; - ovl_Obj_Hana : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Hana/z_obj_hana.o(.text) - build/src/overlays/actors/ovl_Obj_Hana/z_obj_hana.o(.data) - build/src/overlays/actors/ovl_Obj_Hana/z_obj_hana.o(.rodata) - build/src/overlays/actors/ovl_Obj_Hana/z_obj_hana_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_HanaSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_LightswitchSegmentStart = SegmentStart; - ovl_Obj_Lightswitch : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Lightswitch/z_obj_lightswitch.o(.text) - build/src/overlays/actors/ovl_Obj_Lightswitch/z_obj_lightswitch.o(.data) - build/src/overlays/actors/ovl_Obj_Lightswitch/z_obj_lightswitch.o(.rodata) - build/src/overlays/actors/ovl_Obj_Lightswitch/z_obj_lightswitch_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_LightswitchSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_Mure2SegmentStart = SegmentStart; - ovl_Obj_Mure2 : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Mure2/z_obj_mure2.o(.text) - build/asm/overlays/ovl_Obj_Mure2_data.o(.data) - build/asm/overlays/ovl_Obj_Mure2_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_Mure2SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_FuSegmentStart = SegmentStart; - ovl_En_Fu : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Fu/z_en_fu.o(.text) - build/asm/overlays/ovl_En_Fu_data.o(.data) - build/src/overlays/actors/ovl_En_Fu/z_en_fu.o(.rodata) - build/asm/overlays/ovl_En_Fu_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_FuSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_StreamSegmentStart = SegmentStart; - ovl_En_Stream : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Stream/z_en_stream.o(.text) - build/asm/overlays/ovl_En_Stream_data.o(.data) - build/src/overlays/actors/ovl_En_Stream/z_en_stream.o(.rodata) - build/asm/overlays/ovl_En_Stream_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_StreamSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_MmSegmentStart = SegmentStart; - ovl_En_Mm : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Mm/z_en_mm.o(.text) - build/asm/overlays/ovl_En_Mm_data.o(.data) - build/src/overlays/actors/ovl_En_Mm/z_en_mm.o(.rodata) - build/asm/overlays/ovl_En_Mm_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_MmSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Weather_TagSegmentStart = SegmentStart; - ovl_En_Weather_Tag : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Weather_Tag/z_en_weather_tag.o(.text) - build/src/overlays/actors/ovl_En_Weather_Tag/z_en_weather_tag.o(.data) - build/src/overlays/actors/ovl_En_Weather_Tag/z_en_weather_tag.o(.rodata) - build/src/overlays/actors/ovl_En_Weather_Tag/z_en_weather_tag_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Weather_TagSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_AniSegmentStart = SegmentStart; - ovl_En_Ani : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Ani/z_en_ani.o(.text) - build/asm/overlays/ovl_En_Ani_data.o(.data) - build/src/overlays/actors/ovl_En_Ani/z_en_ani.o(.rodata) - build/asm/overlays/ovl_En_Ani_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_AniSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_JsSegmentStart = SegmentStart; - ovl_En_Js : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Js/z_en_js.o(.text) - build/asm/overlays/ovl_En_Js_data.o(.data) - build/src/overlays/actors/ovl_En_Js/z_en_js.o(.rodata) - build/asm/overlays/ovl_En_Js_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_JsSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Okarina_EffectSegmentStart = SegmentStart; - ovl_En_Okarina_Effect : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Okarina_Effect/z_en_okarina_effect.o(.text) - build/src/overlays/actors/ovl_En_Okarina_Effect/z_en_okarina_effect.o(.data) - build/src/overlays/actors/ovl_En_Okarina_Effect/z_en_okarina_effect.o(.rodata) - build/src/overlays/actors/ovl_En_Okarina_Effect/z_en_okarina_effect_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Okarina_EffectSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_MagSegmentStart = SegmentStart; - ovl_En_Mag : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Mag/z_en_mag.o(.text) - build/asm/overlays/ovl_En_Mag_data.o(.data) - build/src/overlays/actors/ovl_En_Mag/z_en_mag.o(.rodata) - build/asm/overlays/ovl_En_Mag_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_MagSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Elf_Msg2SegmentStart = SegmentStart; - ovl_Elf_Msg2 : AT(RomLocation) - { - build/src/overlays/actors/ovl_Elf_Msg2/z_elf_msg2.o(.text) - build/asm/overlays/ovl_Elf_Msg2_data.o(.data) - build/asm/overlays/ovl_Elf_Msg2_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Elf_Msg2SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_F40_SwliftSegmentStart = SegmentStart; - ovl_Bg_F40_Swlift : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_F40_Swlift/z_bg_f40_swlift.o(.text) - build/asm/overlays/ovl_Bg_F40_Swlift_data.o(.data) - build/src/overlays/actors/ovl_Bg_F40_Swlift/z_bg_f40_swlift.o(.rodata) - build/asm/overlays/ovl_Bg_F40_Swlift_rodata.o(.rodata) - ovl_Bg_F40_Swlift_bss_start = .; - } - . += 0x10; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_F40_SwliftSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_KakasiSegmentStart = SegmentStart; - ovl_En_Kakasi : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.o(.text) - build/asm/overlays/ovl_En_Kakasi_data.o(.data) - build/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.o(.rodata) - build/asm/overlays/ovl_En_Kakasi_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_KakasiSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_MakeoshihikiSegmentStart = SegmentStart; - ovl_Obj_Makeoshihiki : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Makeoshihiki/z_obj_makeoshihiki.o(.text) - build/asm/overlays/ovl_Obj_Makeoshihiki_data.o(.data) - build/src/overlays/actors/ovl_Obj_Makeoshihiki/z_obj_makeoshihiki.o(.rodata) - build/asm/overlays/ovl_Obj_Makeoshihiki_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_MakeoshihikiSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Oceff_SpotSegmentStart = SegmentStart; - ovl_Oceff_Spot : AT(RomLocation) - { - build/src/overlays/actors/ovl_Oceff_Spot/z_oceff_spot.o(.text) - build/asm/overlays/ovl_Oceff_Spot_data.o(.data) - build/src/overlays/actors/ovl_Oceff_Spot/z_oceff_spot.o(.rodata) - build/asm/overlays/ovl_Oceff_Spot_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Oceff_SpotSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_TorchSegmentStart = SegmentStart; - ovl_En_Torch : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Torch/z_en_torch.o(.text) - build/src/overlays/actors/ovl_En_Torch/z_en_torch.o(.data) - build/src/overlays/actors/ovl_En_Torch/z_en_torch.o(.rodata) - build/src/overlays/actors/ovl_En_Torch/z_en_torch.o(.rodata) - build/src/overlays/actors/ovl_En_Torch/z_en_torch_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_TorchSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Shot_SunSegmentStart = SegmentStart; - ovl_Shot_Sun : AT(RomLocation) - { - build/src/overlays/actors/ovl_Shot_Sun/z_shot_sun.o(.text) - build/asm/overlays/ovl_Shot_Sun_data.o(.data) - build/src/overlays/actors/ovl_Shot_Sun/z_shot_sun.o(.rodata) - build/asm/overlays/ovl_Shot_Sun_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Shot_SunSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_RoomtimerSegmentStart = SegmentStart; - ovl_Obj_Roomtimer : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Roomtimer/z_obj_roomtimer.o(.text) - build/asm/overlays/ovl_Obj_Roomtimer_data.o(.data) - build/src/overlays/actors/ovl_Obj_Roomtimer/z_obj_roomtimer.o(.rodata) - build/asm/overlays/ovl_Obj_Roomtimer_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_RoomtimerSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_SshSegmentStart = SegmentStart; - ovl_En_Ssh : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Ssh/z_en_ssh.o(.text) - build/asm/overlays/ovl_En_Ssh_data.o(.data) - build/src/overlays/actors/ovl_En_Ssh/z_en_ssh.o(.rodata) - build/asm/overlays/ovl_En_Ssh_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_SshSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Oceff_WipeSegmentStart = SegmentStart; - ovl_Oceff_Wipe : AT(RomLocation) - { - build/src/overlays/actors/ovl_Oceff_Wipe/z_oceff_wipe.o(.text) - build/asm/overlays/ovl_Oceff_Wipe_data.o(.data) - build/src/overlays/actors/ovl_Oceff_Wipe/z_oceff_wipe.o(.rodata) - build/asm/overlays/ovl_Oceff_Wipe_rodata.o(.rodata) - ovl_Oceff_Wipe_bss_start = .; - } - . += 0x10; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Oceff_WipeSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Effect_Ss_DustSegmentStart = SegmentStart; - ovl_Effect_Ss_Dust : AT(RomLocation) - { - build/asm/overlays/ovl_Effect_Ss_Dust_0x80977210.o(.text) - build/asm/overlays/ovl_Effect_Ss_Dust_data.o(.data) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Effect_Ss_DustSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Effect_Ss_KirakiraSegmentStart = SegmentStart; - ovl_Effect_Ss_Kirakira : AT(RomLocation) - { - build/asm/overlays/ovl_Effect_Ss_Kirakira_0x80977A00.o(.text) - build/asm/overlays/ovl_Effect_Ss_Kirakira_data.o(.data) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Effect_Ss_KirakiraSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Effect_Ss_Bomb2SegmentStart = SegmentStart; - ovl_Effect_Ss_Bomb2 : AT(RomLocation) - { - build/asm/overlays/ovl_Effect_Ss_Bomb2_0x80978070.o(.text) - build/asm/overlays/ovl_Effect_Ss_Bomb2_data.o(.data) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Effect_Ss_Bomb2SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Effect_Ss_BlastSegmentStart = SegmentStart; - ovl_Effect_Ss_Blast : AT(RomLocation) - { - build/asm/overlays/ovl_Effect_Ss_Blast_0x809788D0.o(.text) - build/asm/overlays/ovl_Effect_Ss_Blast_data.o(.data) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Effect_Ss_BlastSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Effect_Ss_G_SpkSegmentStart = SegmentStart; - ovl_Effect_Ss_G_Spk : AT(RomLocation) - { - build/asm/overlays/ovl_Effect_Ss_G_Spk_0x80978C30.o(.text) - build/asm/overlays/ovl_Effect_Ss_G_Spk_data.o(.data) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Effect_Ss_G_SpkSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Effect_Ss_D_FireSegmentStart = SegmentStart; - ovl_Effect_Ss_D_Fire : AT(RomLocation) - { - build/asm/overlays/ovl_Effect_Ss_D_Fire_0x809791B0.o(.text) - build/asm/overlays/ovl_Effect_Ss_D_Fire_data.o(.data) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Effect_Ss_D_FireSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Effect_Ss_BubbleSegmentStart = SegmentStart; - ovl_Effect_Ss_Bubble : AT(RomLocation) - { - build/asm/overlays/ovl_Effect_Ss_Bubble_0x809795C0.o(.text) - build/asm/overlays/ovl_Effect_Ss_Bubble_data.o(.data) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Effect_Ss_BubbleSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Effect_Ss_G_RippleSegmentStart = SegmentStart; - ovl_Effect_Ss_G_Ripple : AT(RomLocation) - { - build/asm/overlays/ovl_Effect_Ss_G_Ripple_0x80979B30.o(.text) - build/asm/overlays/ovl_Effect_Ss_G_Ripple_data.o(.data) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Effect_Ss_G_RippleSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Effect_Ss_G_SplashSegmentStart = SegmentStart; - ovl_Effect_Ss_G_Splash : AT(RomLocation) - { - build/asm/overlays/ovl_Effect_Ss_G_Splash_0x8097A050.o(.text) - build/asm/overlays/ovl_Effect_Ss_G_Splash_data.o(.data) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Effect_Ss_G_SplashSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Effect_Ss_G_FireSegmentStart = SegmentStart; - ovl_Effect_Ss_G_Fire : AT(RomLocation) - { - build/asm/overlays/ovl_Effect_Ss_G_Fire_0x8097A470.o(.text) - build/asm/overlays/ovl_Effect_Ss_G_Fire_data.o(.data) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Effect_Ss_G_FireSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Effect_Ss_LightningSegmentStart = SegmentStart; - ovl_Effect_Ss_Lightning : AT(RomLocation) - { - build/asm/overlays/ovl_Effect_Ss_Lightning_0x8097A680.o(.text) - build/asm/overlays/ovl_Effect_Ss_Lightning_data.o(.data) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Effect_Ss_LightningSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Effect_Ss_Dt_BubbleSegmentStart = SegmentStart; - ovl_Effect_Ss_Dt_Bubble : AT(RomLocation) - { - build/asm/overlays/ovl_Effect_Ss_Dt_Bubble_0x8097AD60.o(.text) - build/asm/overlays/ovl_Effect_Ss_Dt_Bubble_data.o(.data) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Effect_Ss_Dt_BubbleSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Effect_Ss_HahenSegmentStart = SegmentStart; - ovl_Effect_Ss_Hahen : AT(RomLocation) - { - build/asm/overlays/ovl_Effect_Ss_Hahen_0x8097B270.o(.text) - build/asm/overlays/ovl_Effect_Ss_Hahen_data.o(.data) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Effect_Ss_HahenSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Effect_Ss_StickSegmentStart = SegmentStart; - ovl_Effect_Ss_Stick : AT(RomLocation) - { - build/asm/overlays/ovl_Effect_Ss_Stick_0x8097B810.o(.text) - build/asm/overlays/ovl_Effect_Ss_Stick_data.o(.data) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Effect_Ss_StickSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Effect_Ss_SibukiSegmentStart = SegmentStart; - ovl_Effect_Ss_Sibuki : AT(RomLocation) - { - build/asm/overlays/ovl_Effect_Ss_Sibuki_0x8097BAD0.o(.text) - build/asm/overlays/ovl_Effect_Ss_Sibuki_data.o(.data) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Effect_Ss_SibukiSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Effect_Ss_Stone1SegmentStart = SegmentStart; - ovl_Effect_Ss_Stone1 : AT(RomLocation) - { - build/asm/overlays/ovl_Effect_Ss_Stone1_0x8097C130.o(.text) - build/asm/overlays/ovl_Effect_Ss_Stone1_data.o(.data) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Effect_Ss_Stone1SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Effect_Ss_HitmarkSegmentStart = SegmentStart; - ovl_Effect_Ss_Hitmark : AT(RomLocation) - { - build/asm/overlays/ovl_Effect_Ss_Hitmark_0x8097C490.o(.text) - build/asm/overlays/ovl_Effect_Ss_Hitmark_data.o(.data) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Effect_Ss_HitmarkSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Effect_Ss_Fhg_FlashSegmentStart = SegmentStart; - ovl_Effect_Ss_Fhg_Flash : AT(RomLocation) - { - build/asm/overlays/ovl_Effect_Ss_Fhg_Flash_0x8097C990.o(.text) - build/asm/overlays/ovl_Effect_Ss_Fhg_Flash_data.o(.data) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Effect_Ss_Fhg_FlashSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Effect_Ss_K_FireSegmentStart = SegmentStart; - ovl_Effect_Ss_K_Fire : AT(RomLocation) - { - build/asm/overlays/ovl_Effect_Ss_K_Fire_0x8097D410.o(.text) - build/asm/overlays/ovl_Effect_Ss_K_Fire_data.o(.data) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Effect_Ss_K_FireSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Effect_Ss_Solder_Srch_BallSegmentStart = SegmentStart; - ovl_Effect_Ss_Solder_Srch_Ball : AT(RomLocation) - { - build/asm/overlays/ovl_Effect_Ss_Solder_Srch_Ball_0x8097D850.o(.text) - build/asm/overlays/ovl_Effect_Ss_Solder_Srch_Ball_data.o(.data) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Effect_Ss_Solder_Srch_BallSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Effect_Ss_KakeraSegmentStart = SegmentStart; - ovl_Effect_Ss_Kakera : AT(RomLocation) - { - build/asm/overlays/ovl_Effect_Ss_Kakera_0x8097DCA0.o(.text) - build/asm/overlays/ovl_Effect_Ss_Kakera_data.o(.data) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Effect_Ss_KakeraSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Effect_Ss_Ice_PieceSegmentStart = SegmentStart; - ovl_Effect_Ss_Ice_Piece : AT(RomLocation) - { - build/asm/overlays/ovl_Effect_Ss_Ice_Piece_0x8097ECD0.o(.text) - build/asm/overlays/ovl_Effect_Ss_Ice_Piece_data.o(.data) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Effect_Ss_Ice_PieceSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Effect_Ss_En_IceSegmentStart = SegmentStart; - ovl_Effect_Ss_En_Ice : AT(RomLocation) - { - build/asm/overlays/ovl_Effect_Ss_En_Ice_0x8097F0D0.o(.text) - build/asm/overlays/ovl_Effect_Ss_En_Ice_data.o(.data) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Effect_Ss_En_IceSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Effect_Ss_Fire_TailSegmentStart = SegmentStart; - ovl_Effect_Ss_Fire_Tail : AT(RomLocation) - { - build/asm/overlays/ovl_Effect_Ss_Fire_Tail_0x8097F880.o(.text) - build/asm/overlays/ovl_Effect_Ss_Fire_Tail_data.o(.data) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Effect_Ss_Fire_TailSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Effect_Ss_En_FireSegmentStart = SegmentStart; - ovl_Effect_Ss_En_Fire : AT(RomLocation) - { - build/asm/overlays/ovl_Effect_Ss_En_Fire_0x8097FF60.o(.text) - build/asm/overlays/ovl_Effect_Ss_En_Fire_data.o(.data) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Effect_Ss_En_FireSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Effect_Ss_ExtraSegmentStart = SegmentStart; - ovl_Effect_Ss_Extra : AT(RomLocation) - { - build/asm/overlays/ovl_Effect_Ss_Extra_0x809805D0.o(.text) - build/asm/overlays/ovl_Effect_Ss_Extra_data.o(.data) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Effect_Ss_ExtraSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Effect_Ss_Dead_DbSegmentStart = SegmentStart; - ovl_Effect_Ss_Dead_Db : AT(RomLocation) - { - build/asm/overlays/ovl_Effect_Ss_Dead_Db_0x80980940.o(.text) - build/asm/overlays/ovl_Effect_Ss_Dead_Db_data.o(.data) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Effect_Ss_Dead_DbSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Effect_Ss_Dead_DdSegmentStart = SegmentStart; - ovl_Effect_Ss_Dead_Dd : AT(RomLocation) - { - build/asm/overlays/ovl_Effect_Ss_Dead_Dd_0x80980D50.o(.text) - build/asm/overlays/ovl_Effect_Ss_Dead_Dd_data.o(.data) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Effect_Ss_Dead_DdSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Effect_Ss_Dead_DsSegmentStart = SegmentStart; - ovl_Effect_Ss_Dead_Ds : AT(RomLocation) - { - build/asm/overlays/ovl_Effect_Ss_Dead_Ds_0x809812E0.o(.text) - build/asm/overlays/ovl_Effect_Ss_Dead_Ds_data.o(.data) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Effect_Ss_Dead_DsSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Oceff_StormSegmentStart = SegmentStart; - ovl_Oceff_Storm : AT(RomLocation) - { - build/src/overlays/actors/ovl_Oceff_Storm/z_oceff_storm.o(.text) - build/asm/overlays/ovl_Oceff_Storm_data.o(.data) - build/src/overlays/actors/ovl_Oceff_Storm/z_oceff_storm.o(.rodata) - build/asm/overlays/ovl_Oceff_Storm_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Oceff_StormSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_DemoSegmentStart = SegmentStart; - ovl_Obj_Demo : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Demo/z_obj_demo.o(.text) - build/asm/overlays/ovl_Obj_Demo_data.o(.data) - build/src/overlays/actors/ovl_Obj_Demo/z_obj_demo.o(.rodata) - build/asm/overlays/ovl_Obj_Demo_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_DemoSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_MinislimeSegmentStart = SegmentStart; - ovl_En_Minislime : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Minislime/z_en_minislime.o(.text) - build/src/overlays/actors/ovl_En_Minislime/z_en_minislime.o(.data) - build/src/overlays/actors/ovl_En_Minislime/z_en_minislime.o(.rodata) - build/src/overlays/actors/ovl_En_Minislime/z_en_minislime_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_MinislimeSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_NutsballSegmentStart = SegmentStart; - ovl_En_Nutsball : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Nutsball/z_en_nutsball.o(.text) - build/src/overlays/actors/ovl_En_Nutsball/z_en_nutsball.o(.data) - build/src/overlays/actors/ovl_En_Nutsball/z_en_nutsball.o(.rodata) - build/src/overlays/actors/ovl_En_Nutsball/z_en_nutsball_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_NutsballSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Oceff_Wipe2SegmentStart = SegmentStart; - ovl_Oceff_Wipe2 : AT(RomLocation) - { - build/src/overlays/actors/ovl_Oceff_Wipe2/z_oceff_wipe2.o(.text) - build/asm/overlays/ovl_Oceff_Wipe2_data.o(.data) - build/src/overlays/actors/ovl_Oceff_Wipe2/z_oceff_wipe2.o(.rodata) - build/asm/overlays/ovl_Oceff_Wipe2_rodata.o(.rodata) - ovl_Oceff_Wipe2_bss_start = .; - } - . += 0x10; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Oceff_Wipe2SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Oceff_Wipe3SegmentStart = SegmentStart; - ovl_Oceff_Wipe3 : AT(RomLocation) - { - build/src/overlays/actors/ovl_Oceff_Wipe3/z_oceff_wipe3.o(.text) - build/asm/overlays/ovl_Oceff_Wipe3_data.o(.data) - build/src/overlays/actors/ovl_Oceff_Wipe3/z_oceff_wipe3.o(.rodata) - build/asm/overlays/ovl_Oceff_Wipe3_rodata.o(.rodata) - ovl_Oceff_Wipe3_bss_start = .; - } - . += 0x10; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Oceff_Wipe3SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_DgSegmentStart = SegmentStart; - ovl_En_Dg : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Dg/z_en_dg.o(.text) - build/asm/overlays/ovl_En_Dg_data.o(.data) - build/src/overlays/actors/ovl_En_Dg/z_en_dg.o(.rodata) - build/asm/overlays/ovl_En_Dg_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_DgSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_SiSegmentStart = SegmentStart; - ovl_En_Si : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Si/z_en_si.o(.text) - build/asm/overlays/ovl_En_Si_data.o(.data) - build/src/overlays/actors/ovl_En_Si/z_en_si.o(.rodata) - build/asm/overlays/ovl_En_Si_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_SiSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_CombSegmentStart = SegmentStart; - ovl_Obj_Comb : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Comb/z_obj_comb.o(.text) - build/asm/overlays/ovl_Obj_Comb_data.o(.data) - build/src/overlays/actors/ovl_Obj_Comb/z_obj_comb.o(.rodata) - build/asm/overlays/ovl_Obj_Comb_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_CombSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_Kibako2SegmentStart = SegmentStart; - ovl_Obj_Kibako2 : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Kibako2/z_obj_kibako2.o(.text) - build/asm/overlays/ovl_Obj_Kibako2_data.o(.data) - build/src/overlays/actors/ovl_Obj_Kibako2/z_obj_kibako2.o(.rodata) - build/asm/overlays/ovl_Obj_Kibako2_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_Kibako2SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Hs2SegmentStart = SegmentStart; - ovl_En_Hs2 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Hs2/z_en_hs2.o(.text) - build/src/overlays/actors/ovl_En_Hs2/z_en_hs2.o(.data) - build/src/overlays/actors/ovl_En_Hs2/z_en_hs2.o(.rodata) - build/src/overlays/actors/ovl_En_Hs2/z_en_hs2_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Hs2SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_Mure3SegmentStart = SegmentStart; - ovl_Obj_Mure3 : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Mure3/z_obj_mure3.o(.text) - build/asm/overlays/ovl_Obj_Mure3_data.o(.data) - build/asm/overlays/ovl_Obj_Mure3_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_Mure3SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_TgSegmentStart = SegmentStart; - ovl_En_Tg : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Tg/z_en_tg.o(.text) - build/asm/overlays/ovl_En_Tg_data.o(.data) - build/src/overlays/actors/ovl_En_Tg/z_en_tg.o(.rodata) - build/asm/overlays/ovl_En_Tg_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_TgSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_WfSegmentStart = SegmentStart; - ovl_En_Wf : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Wf/z_en_wf.o(.text) - build/asm/overlays/ovl_En_Wf_data.o(.data) - build/src/overlays/actors/ovl_En_Wf/z_en_wf.o(.rodata) - build/asm/overlays/ovl_En_Wf_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_WfSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_SkbSegmentStart = SegmentStart; - ovl_En_Skb : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Skb/z_en_skb.o(.text) - build/asm/overlays/ovl_En_Skb_data.o(.data) - build/src/overlays/actors/ovl_En_Skb/z_en_skb.o(.rodata) - build/asm/overlays/ovl_En_Skb_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_SkbSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_GsSegmentStart = SegmentStart; - ovl_En_Gs : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Gs/z_en_gs.o(.text) - build/asm/overlays/ovl_En_Gs_data.o(.data) - build/src/overlays/actors/ovl_En_Gs/z_en_gs.o(.rodata) - build/asm/overlays/ovl_En_Gs_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_GsSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_SoundSegmentStart = SegmentStart; - ovl_Obj_Sound : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Sound/z_obj_sound.o(.text) - build/asm/overlays/ovl_Obj_Sound_data.o(.data) - build/src/overlays/actors/ovl_Obj_Sound/z_obj_sound.o(.rodata) - build/asm/overlays/ovl_Obj_Sound_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_SoundSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_CrowSegmentStart = SegmentStart; - ovl_En_Crow : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Crow/z_en_crow.o(.text) - build/asm/overlays/ovl_En_Crow_data.o(.data) - build/src/overlays/actors/ovl_En_Crow/z_en_crow.o(.rodata) - build/asm/overlays/ovl_En_Crow_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_CrowSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_CowSegmentStart = SegmentStart; - ovl_En_Cow : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Cow/z_en_cow.o(.text) - build/asm/overlays/ovl_En_Cow_data.o(.data) - build/src/overlays/actors/ovl_En_Cow/z_en_cow.o(.rodata) - build/asm/overlays/ovl_En_Cow_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_CowSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Oceff_Wipe4SegmentStart = SegmentStart; - ovl_Oceff_Wipe4 : AT(RomLocation) - { - build/src/overlays/actors/ovl_Oceff_Wipe4/z_oceff_wipe4.o(.text) - build/asm/overlays/ovl_Oceff_Wipe4_data.o(.data) - build/src/overlays/actors/ovl_Oceff_Wipe4/z_oceff_wipe4.o(.rodata) - build/asm/overlays/ovl_Oceff_Wipe4_rodata.o(.rodata) - ovl_Oceff_Wipe4_bss_start = .; - } - . += 0x10; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Oceff_Wipe4SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_ZoSegmentStart = SegmentStart; - ovl_En_Zo : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Zo/z_en_zo.o(.text) - build/asm/overlays/ovl_En_Zo_data.o(.data) - build/src/overlays/actors/ovl_En_Zo/z_en_zo.o(.rodata) - build/asm/overlays/ovl_En_Zo_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_ZoSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Effect_Ss_Ice_SmokeSegmentStart = SegmentStart; - ovl_Effect_Ss_Ice_Smoke : AT(RomLocation) - { - build/asm/overlays/ovl_Effect_Ss_Ice_Smoke_0x8099F730.o(.text) - build/asm/overlays/ovl_Effect_Ss_Ice_Smoke_data.o(.data) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Effect_Ss_Ice_SmokeSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_MakekinsutaSegmentStart = SegmentStart; - ovl_Obj_Makekinsuta : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Makekinsuta/z_obj_makekinsuta.o(.text) - build/asm/overlays/ovl_Obj_Makekinsuta_data.o(.data) - build/src/overlays/actors/ovl_Obj_Makekinsuta/z_obj_makekinsuta.o(.rodata) - build/asm/overlays/ovl_Obj_Makekinsuta_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_MakekinsutaSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Ge3SegmentStart = SegmentStart; - ovl_En_Ge3 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Ge3/z_en_ge3.o(.text) - build/asm/overlays/ovl_En_Ge3_data.o(.data) - build/src/overlays/actors/ovl_En_Ge3/z_en_ge3.o(.rodata) - build/asm/overlays/ovl_En_Ge3_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Ge3SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_HamishiSegmentStart = SegmentStart; - ovl_Obj_Hamishi : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Hamishi/z_obj_hamishi.o(.text) - build/asm/overlays/ovl_Obj_Hamishi_data.o(.data) - build/src/overlays/actors/ovl_Obj_Hamishi/z_obj_hamishi.o(.rodata) - build/asm/overlays/ovl_Obj_Hamishi_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_HamishiSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Zl4SegmentStart = SegmentStart; - ovl_En_Zl4 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Zl4/z_en_zl4.o(.text) - build/asm/overlays/ovl_En_Zl4_data.o(.data) - build/src/overlays/actors/ovl_En_Zl4/z_en_zl4.o(.rodata) - build/asm/overlays/ovl_En_Zl4_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Zl4SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Mm2SegmentStart = SegmentStart; - ovl_En_Mm2 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Mm2/z_en_mm2.o(.text) - build/asm/overlays/ovl_En_Mm2_data.o(.data) - build/src/overlays/actors/ovl_En_Mm2/z_en_mm2.o(.rodata) - build/asm/overlays/ovl_En_Mm2_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Mm2SegmentEnd = SegmentEnd; - - - DECL_ACTOR(Door_Spiral, z_door_spiral) - - SegmentStart = .; - _ovl_Obj_PzlblockSegmentStart = SegmentStart; - ovl_Obj_Pzlblock : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Pzlblock/z_obj_pzlblock.o(.text) - build/asm/overlays/ovl_Obj_Pzlblock_data.o(.data) - build/src/overlays/actors/ovl_Obj_Pzlblock/z_obj_pzlblock.o(.rodata) - build/asm/overlays/ovl_Obj_Pzlblock_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_PzlblockSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_TogeSegmentStart = SegmentStart; - ovl_Obj_Toge : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Toge/z_obj_toge.o(.text) - build/asm/overlays/ovl_Obj_Toge_data.o(.data) - build/src/overlays/actors/ovl_Obj_Toge/z_obj_toge.o(.rodata) - build/asm/overlays/ovl_Obj_Toge_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_TogeSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_ArmosSegmentStart = SegmentStart; - ovl_Obj_Armos : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Armos/z_obj_armos.o(.text) - build/asm/overlays/ovl_Obj_Armos_data.o(.data) - build/src/overlays/actors/ovl_Obj_Armos/z_obj_armos.o(.rodata) - build/asm/overlays/ovl_Obj_Armos_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_ArmosSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_BoyoSegmentStart = SegmentStart; - ovl_Obj_Boyo : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Boyo/z_obj_boyo.o(.text) - build/src/overlays/actors/ovl_Obj_Boyo/z_obj_boyo.o(.data) - build/src/overlays/actors/ovl_Obj_Boyo/z_obj_boyo.o(.rodata) - build/src/overlays/actors/ovl_Obj_Boyo/z_obj_boyo_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_BoyoSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_GrasshopperSegmentStart = SegmentStart; - ovl_En_Grasshopper : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Grasshopper/z_en_grasshopper.o(.text) - build/asm/overlays/ovl_En_Grasshopper_data.o(.data) - build/src/overlays/actors/ovl_En_Grasshopper/z_en_grasshopper.o(.rodata) - build/asm/overlays/ovl_En_Grasshopper_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_GrasshopperSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_GrassSegmentStart = SegmentStart; - ovl_Obj_Grass : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Grass/z_obj_grass.o(.text) - build/asm/overlays/ovl_Obj_Grass_data.o(.data) - build/src/overlays/actors/ovl_Obj_Grass/z_obj_grass.o(.rodata) - build/asm/overlays/ovl_Obj_Grass_rodata.o(.rodata) - ovl_Obj_Grass_bss_start = .; - } - . += 0xC0; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_GrassSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_Grass_CarrySegmentStart = SegmentStart; - ovl_Obj_Grass_Carry : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Grass_Carry/z_obj_grass_carry.o(.text) - build/asm/overlays/ovl_Obj_Grass_Carry_data.o(.data) - build/src/overlays/actors/ovl_Obj_Grass_Carry/z_obj_grass_carry.o(.rodata) - build/asm/overlays/ovl_Obj_Grass_Carry_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_Grass_CarrySegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_Grass_UnitSegmentStart = SegmentStart; - ovl_Obj_Grass_Unit : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Grass_Unit/z_obj_grass_unit.o(.text) - build/asm/overlays/ovl_Obj_Grass_Unit_data.o(.data) - build/src/overlays/actors/ovl_Obj_Grass_Unit/z_obj_grass_unit.o(.rodata) - build/asm/overlays/ovl_Obj_Grass_Unit_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_Grass_UnitSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Fire_WallSegmentStart = SegmentStart; - ovl_Bg_Fire_Wall : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Fire_Wall/z_bg_fire_wall.o(.text) - build/asm/overlays/ovl_Bg_Fire_Wall_data.o(.data) - build/src/overlays/actors/ovl_Bg_Fire_Wall/z_bg_fire_wall.o(.rodata) - build/asm/overlays/ovl_Bg_Fire_Wall_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Fire_WallSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_BuSegmentStart = SegmentStart; - ovl_En_Bu : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Bu/z_en_bu.o(.text) - build/src/overlays/actors/ovl_En_Bu/z_en_bu.o(.data) - build/src/overlays/actors/ovl_En_Bu/z_en_bu.o(.rodata) - build/src/overlays/actors/ovl_En_Bu/z_en_bu_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_BuSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Encount3SegmentStart = SegmentStart; - ovl_En_Encount3 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Encount3/z_en_encount3.o(.text) - build/asm/overlays/ovl_En_Encount3_data.o(.data) - build/src/overlays/actors/ovl_En_Encount3/z_en_encount3.o(.rodata) - build/asm/overlays/ovl_En_Encount3_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Encount3SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_JsoSegmentStart = SegmentStart; - ovl_En_Jso : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Jso/z_en_jso.o(.text) - build/asm/overlays/ovl_En_Jso_data.o(.data) - build/src/overlays/actors/ovl_En_Jso/z_en_jso.o(.rodata) - build/asm/overlays/ovl_En_Jso_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_JsoSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_ChikuwaSegmentStart = SegmentStart; - ovl_Obj_Chikuwa : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Chikuwa/z_obj_chikuwa.o(.text) - build/asm/overlays/ovl_Obj_Chikuwa_data.o(.data) - build/src/overlays/actors/ovl_Obj_Chikuwa/z_obj_chikuwa.o(.rodata) - build/asm/overlays/ovl_Obj_Chikuwa_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_ChikuwaSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_KnightSegmentStart = SegmentStart; - ovl_En_Knight : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Knight/z_en_knight.o(.text) - build/asm/overlays/ovl_En_Knight_data.o(.data) - build/src/overlays/actors/ovl_En_Knight/z_en_knight.o(.rodata) - build/asm/overlays/ovl_En_Knight_rodata.o(.rodata) - ovl_En_Knight_bss_start = .; - } - . += 0x1790; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_KnightSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Warp_tagSegmentStart = SegmentStart; - ovl_En_Warp_tag : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Warp_tag/z_en_warp_tag.o(.text) - build/asm/overlays/ovl_En_Warp_tag_data.o(.data) - build/src/overlays/actors/ovl_En_Warp_tag/z_en_warp_tag.o(.rodata) - build/asm/overlays/ovl_En_Warp_tag_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Warp_tagSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Aob_01SegmentStart = SegmentStart; - ovl_En_Aob_01 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Aob_01/z_en_aob_01.o(.text) - build/asm/overlays/ovl_En_Aob_01_data.o(.data) - build/src/overlays/actors/ovl_En_Aob_01/z_en_aob_01.o(.rodata) - build/asm/overlays/ovl_En_Aob_01_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Aob_01SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Boj_01SegmentStart = SegmentStart; - ovl_En_Boj_01 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Boj_01/z_en_boj_01.o(.text) - build/src/overlays/actors/ovl_En_Boj_01/z_en_boj_01.o(.data) - build/src/overlays/actors/ovl_En_Boj_01/z_en_boj_01.o(.rodata) - build/src/overlays/actors/ovl_En_Boj_01/z_en_boj_01.o(.rodata) - build/src/overlays/actors/ovl_En_Boj_01/z_en_boj_01_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Boj_01SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Boj_02SegmentStart = SegmentStart; - ovl_En_Boj_02 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Boj_02/z_en_boj_02.o(.text) - build/src/overlays/actors/ovl_En_Boj_02/z_en_boj_02.o(.data) - build/src/overlays/actors/ovl_En_Boj_02/z_en_boj_02.o(.rodata) - build/src/overlays/actors/ovl_En_Boj_02/z_en_boj_02.o(.rodata) - build/src/overlays/actors/ovl_En_Boj_02/z_en_boj_02_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Boj_02SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Boj_03SegmentStart = SegmentStart; - ovl_En_Boj_03 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Boj_03/z_en_boj_03.o(.text) - build/src/overlays/actors/ovl_En_Boj_03/z_en_boj_03.o(.data) - build/src/overlays/actors/ovl_En_Boj_03/z_en_boj_03.o(.rodata) - build/src/overlays/actors/ovl_En_Boj_03/z_en_boj_03.o(.rodata) - build/src/overlays/actors/ovl_En_Boj_03/z_en_boj_03_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Boj_03SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Encount4SegmentStart = SegmentStart; - ovl_En_Encount4 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Encount4/z_en_encount4.o(.text) - build/asm/overlays/ovl_En_Encount4_data.o(.data) - build/asm/overlays/ovl_En_Encount4_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Encount4SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Bom_Bowl_ManSegmentStart = SegmentStart; - ovl_En_Bom_Bowl_Man : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.o(.text) - build/asm/overlays/ovl_En_Bom_Bowl_Man_data.o(.data) - build/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.o(.rodata) - build/asm/overlays/ovl_En_Bom_Bowl_Man_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Bom_Bowl_ManSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Syateki_ManSegmentStart = SegmentStart; - ovl_En_Syateki_Man : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.o(.text) - build/asm/overlays/ovl_En_Syateki_Man_data.o(.data) - build/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.o(.rodata) - build/asm/overlays/ovl_En_Syateki_Man_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Syateki_ManSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_IcicleSegmentStart = SegmentStart; - ovl_Bg_Icicle : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Icicle/z_bg_icicle.o(.text) - build/src/overlays/actors/ovl_Bg_Icicle/z_bg_icicle.o(.data) - build/src/overlays/actors/ovl_Bg_Icicle/z_bg_icicle.o(.rodata) - build/src/overlays/actors/ovl_Bg_Icicle/z_bg_icicle_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_IcicleSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Syateki_CrowSegmentStart = SegmentStart; - ovl_En_Syateki_Crow : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Syateki_Crow/z_en_syateki_crow.o(.text) - build/asm/overlays/ovl_En_Syateki_Crow_data.o(.data) - build/src/overlays/actors/ovl_En_Syateki_Crow/z_en_syateki_crow.o(.rodata) - build/asm/overlays/ovl_En_Syateki_Crow_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Syateki_CrowSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Boj_04SegmentStart = SegmentStart; - ovl_En_Boj_04 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Boj_04/z_en_boj_04.o(.text) - build/src/overlays/actors/ovl_En_Boj_04/z_en_boj_04.o(.data) - build/src/overlays/actors/ovl_En_Boj_04/z_en_boj_04.o(.rodata) - build/src/overlays/actors/ovl_En_Boj_04/z_en_boj_04.o(.rodata) - build/src/overlays/actors/ovl_En_Boj_04/z_en_boj_04_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Boj_04SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Cne_01SegmentStart = SegmentStart; - ovl_En_Cne_01 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Cne_01/z_en_cne_01.o(.text) - build/asm/overlays/ovl_En_Cne_01_data.o(.data) - build/src/overlays/actors/ovl_En_Cne_01/z_en_cne_01.o(.rodata) - build/asm/overlays/ovl_En_Cne_01_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Cne_01SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Bba_01SegmentStart = SegmentStart; - ovl_En_Bba_01 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Bba_01/z_en_bba_01.o(.text) - build/asm/overlays/ovl_En_Bba_01_data.o(.data) - build/src/overlays/actors/ovl_En_Bba_01/z_en_bba_01.o(.rodata) - build/asm/overlays/ovl_En_Bba_01_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Bba_01SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Bji_01SegmentStart = SegmentStart; - ovl_En_Bji_01 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Bji_01/z_en_bji_01.o(.text) - build/src/overlays/actors/ovl_En_Bji_01/z_en_bji_01.o(.data) - build/src/overlays/actors/ovl_En_Bji_01/z_en_bji_01.o(.rodata) - build/src/overlays/actors/ovl_En_Bji_01/z_en_bji_01_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Bji_01SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_SpdwebSegmentStart = SegmentStart; - ovl_Bg_Spdweb : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Spdweb/z_bg_spdweb.o(.text) - build/asm/overlays/ovl_Bg_Spdweb_data.o(.data) - build/src/overlays/actors/ovl_Bg_Spdweb/z_bg_spdweb.o(.rodata) - build/asm/overlays/ovl_Bg_Spdweb_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_SpdwebSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Mt_tagSegmentStart = SegmentStart; - ovl_En_Mt_tag : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Mt_tag/z_en_mt_tag.o(.text) - build/asm/overlays/ovl_En_Mt_tag_data.o(.data) - build/src/overlays/actors/ovl_En_Mt_tag/z_en_mt_tag.o(.rodata) - build/asm/overlays/ovl_En_Mt_tag_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Mt_tagSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Boss_01SegmentStart = SegmentStart; - ovl_Boss_01 : AT(RomLocation) - { - build/src/overlays/actors/ovl_Boss_01/z_boss_01.o(.text) - build/asm/overlays/ovl_Boss_01_data.o(.data) - build/src/overlays/actors/ovl_Boss_01/z_boss_01.o(.rodata) - build/asm/overlays/ovl_Boss_01_rodata.o(.rodata) - ovl_Boss_01_bss_start = .; - } - . += 0x17C0; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Boss_01SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Boss_02SegmentStart = SegmentStart; - ovl_Boss_02 : AT(RomLocation) - { - build/src/overlays/actors/ovl_Boss_02/z_boss_02.o(.text) - build/asm/overlays/ovl_Boss_02_data.o(.data) - build/src/overlays/actors/ovl_Boss_02/z_boss_02.o(.rodata) - build/asm/overlays/ovl_Boss_02_rodata.o(.rodata) - ovl_Boss_02_bss_start = .; - } - . += 0x2340; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Boss_02SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Boss_03SegmentStart = SegmentStart; - ovl_Boss_03 : AT(RomLocation) - { - build/src/overlays/actors/ovl_Boss_03/z_boss_03.o(.text) - build/asm/overlays/ovl_Boss_03_data.o(.data) - build/src/overlays/actors/ovl_Boss_03/z_boss_03.o(.rodata) - build/asm/overlays/ovl_Boss_03_rodata.o(.rodata) - ovl_Boss_03_bss_start = .; - } - . += 0x2800; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Boss_03SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Boss_04SegmentStart = SegmentStart; - ovl_Boss_04 : AT(RomLocation) - { - build/src/overlays/actors/ovl_Boss_04/z_boss_04.o(.text) - build/asm/overlays/ovl_Boss_04_data.o(.data) - build/src/overlays/actors/ovl_Boss_04/z_boss_04.o(.rodata) - build/asm/overlays/ovl_Boss_04_rodata.o(.rodata) - ovl_Boss_04_bss_start = .; - } - . += 0x10; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Boss_04SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Boss_05SegmentStart = SegmentStart; - ovl_Boss_05 : AT(RomLocation) - { - build/src/overlays/actors/ovl_Boss_05/z_boss_05.o(.text) - build/asm/overlays/ovl_Boss_05_data.o(.data) - build/src/overlays/actors/ovl_Boss_05/z_boss_05.o(.rodata) - build/asm/overlays/ovl_Boss_05_rodata.o(.rodata) - ovl_Boss_05_bss_start = .; - } - . += 0x10; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Boss_05SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Boss_06SegmentStart = SegmentStart; - ovl_Boss_06 : AT(RomLocation) - { - build/src/overlays/actors/ovl_Boss_06/z_boss_06.o(.text) - build/asm/overlays/ovl_Boss_06_data.o(.data) - build/src/overlays/actors/ovl_Boss_06/z_boss_06.o(.rodata) - build/asm/overlays/ovl_Boss_06_rodata.o(.rodata) - ovl_Boss_06_bss_start = .; - } - . += 0x610; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Boss_06SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Boss_07SegmentStart = SegmentStart; - ovl_Boss_07 : AT(RomLocation) - { - build/src/overlays/actors/ovl_Boss_07/z_boss_07.o(.text) - build/asm/overlays/ovl_Boss_07_data.o(.data) - build/src/overlays/actors/ovl_Boss_07/z_boss_07.o(.rodata) - build/asm/overlays/ovl_Boss_07_rodata.o(.rodata) - ovl_Boss_07_bss_start = .; - } - . += 0xE60; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Boss_07SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Dy_YoseizoSegmentStart = SegmentStart; - ovl_Bg_Dy_Yoseizo : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.o(.text) - build/asm/overlays/ovl_Bg_Dy_Yoseizo_data.o(.data) - build/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.o(.rodata) - build/asm/overlays/ovl_Bg_Dy_Yoseizo_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Dy_YoseizoSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Boj_05SegmentStart = SegmentStart; - ovl_En_Boj_05 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Boj_05/z_en_boj_05.o(.text) - build/src/overlays/actors/ovl_En_Boj_05/z_en_boj_05.o(.data) - build/src/overlays/actors/ovl_En_Boj_05/z_en_boj_05.o(.rodata) - build/src/overlays/actors/ovl_En_Boj_05/z_en_boj_05.o(.rodata) - build/src/overlays/actors/ovl_En_Boj_05/z_en_boj_05_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Boj_05SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Sob1SegmentStart = SegmentStart; - ovl_En_Sob1 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Sob1/z_en_sob1.o(.text) - build/src/overlays/actors/ovl_En_Sob1/z_en_sob1.o(.data) - build/src/overlays/actors/ovl_En_Sob1/z_en_sob1.o(.rodata) - build/src/overlays/actors/ovl_En_Sob1/z_en_sob1_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Sob1SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_GoSegmentStart = SegmentStart; - ovl_En_Go : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Go/z_en_go.o(.text) - build/asm/overlays/ovl_En_Go_data.o(.data) - build/src/overlays/actors/ovl_En_Go/z_en_go.o(.rodata) - build/asm/overlays/ovl_En_Go_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_GoSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_RafSegmentStart = SegmentStart; - ovl_En_Raf : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Raf/z_en_raf.o(.text) - build/asm/overlays/ovl_En_Raf_data.o(.data) - build/src/overlays/actors/ovl_En_Raf/z_en_raf.o(.rodata) - build/asm/overlays/ovl_En_Raf_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_RafSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_FunenSegmentStart = SegmentStart; - ovl_Obj_Funen : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Funen/z_obj_funen.o(.text) - build/src/overlays/actors/ovl_Obj_Funen/z_obj_funen.o(.data) - build/src/overlays/actors/ovl_Obj_Funen/z_obj_funen.o(.rodata) - build/src/overlays/actors/ovl_Obj_Funen/z_obj_funen_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_FunenSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_RailliftSegmentStart = SegmentStart; - ovl_Obj_Raillift : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Raillift/z_obj_raillift.o(.text) - build/src/overlays/actors/ovl_Obj_Raillift/z_obj_raillift.o(.data) - build/src/overlays/actors/ovl_Obj_Raillift/z_obj_raillift.o(.rodata) - build/src/overlays/actors/ovl_Obj_Raillift/z_obj_raillift_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_RailliftSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Numa_HanaSegmentStart = SegmentStart; - ovl_Bg_Numa_Hana : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Numa_Hana/z_bg_numa_hana.o(.text) - build/asm/overlays/ovl_Bg_Numa_Hana_data.o(.data) - build/src/overlays/actors/ovl_Bg_Numa_Hana/z_bg_numa_hana.o(.rodata) - build/asm/overlays/ovl_Bg_Numa_Hana_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Numa_HanaSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_FlowerpotSegmentStart = SegmentStart; - ovl_Obj_Flowerpot : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Flowerpot/z_obj_flowerpot.o(.text) - build/asm/overlays/ovl_Obj_Flowerpot_data.o(.data) - build/src/overlays/actors/ovl_Obj_Flowerpot/z_obj_flowerpot.o(.rodata) - build/asm/overlays/ovl_Obj_Flowerpot_rodata.o(.rodata) - ovl_Obj_Flowerpot_bss_start = .; - } - . += 0x220; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_FlowerpotSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_SpinyrollSegmentStart = SegmentStart; - ovl_Obj_Spinyroll : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Spinyroll/z_obj_spinyroll.o(.text) - build/asm/overlays/ovl_Obj_Spinyroll_data.o(.data) - build/src/overlays/actors/ovl_Obj_Spinyroll/z_obj_spinyroll.o(.rodata) - build/asm/overlays/ovl_Obj_Spinyroll_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_SpinyrollSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Dm_HinaSegmentStart = SegmentStart; - ovl_Dm_Hina : AT(RomLocation) - { - build/src/overlays/actors/ovl_Dm_Hina/z_dm_hina.o(.text) - build/asm/overlays/ovl_Dm_Hina_data.o(.data) - build/src/overlays/actors/ovl_Dm_Hina/z_dm_hina.o(.rodata) - build/asm/overlays/ovl_Dm_Hina_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Dm_HinaSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Syateki_WfSegmentStart = SegmentStart; - ovl_En_Syateki_Wf : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Syateki_Wf/z_en_syateki_wf.o(.text) - build/asm/overlays/ovl_En_Syateki_Wf_data.o(.data) - build/src/overlays/actors/ovl_En_Syateki_Wf/z_en_syateki_wf.o(.rodata) - build/asm/overlays/ovl_En_Syateki_Wf_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Syateki_WfSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_SkateblockSegmentStart = SegmentStart; - ovl_Obj_Skateblock : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Skateblock/z_obj_skateblock.o(.text) - build/asm/overlays/ovl_Obj_Skateblock_data.o(.data) - build/src/overlays/actors/ovl_Obj_Skateblock/z_obj_skateblock.o(.rodata) - build/asm/overlays/ovl_Obj_Skateblock_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_SkateblockSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Effect_En_Ice_BlockSegmentStart = SegmentStart; - ovl_Effect_En_Ice_Block : AT(RomLocation) - { - build/asm/overlays/ovl_Effect_En_Ice_Block_0x80A22D40.o(.text) - build/asm/overlays/ovl_Effect_En_Ice_Block_data.o(.data) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Effect_En_Ice_BlockSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_IceblockSegmentStart = SegmentStart; - ovl_Obj_Iceblock : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Iceblock/z_obj_iceblock.o(.text) - build/asm/overlays/ovl_Obj_Iceblock_data.o(.data) - build/src/overlays/actors/ovl_Obj_Iceblock/z_obj_iceblock.o(.rodata) - build/asm/overlays/ovl_Obj_Iceblock_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_IceblockSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_BigpametSegmentStart = SegmentStart; - ovl_En_Bigpamet : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Bigpamet/z_en_bigpamet.o(.text) - build/asm/overlays/ovl_En_Bigpamet_data.o(.data) - build/src/overlays/actors/ovl_En_Bigpamet/z_en_bigpamet.o(.rodata) - build/asm/overlays/ovl_En_Bigpamet_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_BigpametSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Dblue_MovebgSegmentStart = SegmentStart; - ovl_Bg_Dblue_Movebg : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Dblue_Movebg/z_bg_dblue_movebg.o(.text) - build/asm/overlays/ovl_Bg_Dblue_Movebg_data.o(.data) - build/src/overlays/actors/ovl_Bg_Dblue_Movebg/z_bg_dblue_movebg.o(.rodata) - build/asm/overlays/ovl_Bg_Dblue_Movebg_rodata.o(.rodata) - ovl_Bg_Dblue_Movebg_bss_start = .; - } - . += 0x10; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Dblue_MovebgSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Syateki_DekunutsSegmentStart = SegmentStart; - ovl_En_Syateki_Dekunuts : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Syateki_Dekunuts/z_en_syateki_dekunuts.o(.text) - build/asm/overlays/ovl_En_Syateki_Dekunuts_data.o(.data) - build/src/overlays/actors/ovl_En_Syateki_Dekunuts/z_en_syateki_dekunuts.o(.rodata) - build/asm/overlays/ovl_En_Syateki_Dekunuts_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Syateki_DekunutsSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Elf_Msg3SegmentStart = SegmentStart; - ovl_Elf_Msg3 : AT(RomLocation) - { - build/src/overlays/actors/ovl_Elf_Msg3/z_elf_msg3.o(.text) - build/asm/overlays/ovl_Elf_Msg3_data.o(.data) - build/src/overlays/actors/ovl_Elf_Msg3/z_elf_msg3.o(.rodata) - build/asm/overlays/ovl_Elf_Msg3_rodata.o(.rodata) - build/asm/overlays/ovl_Elf_Msg3_late_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Elf_Msg3SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_FgSegmentStart = SegmentStart; - ovl_En_Fg : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Fg/z_en_fg.o(.text) - build/src/overlays/actors/ovl_En_Fg/z_en_fg.o(.data) - build/src/overlays/actors/ovl_En_Fg/z_en_fg.o(.rodata) - build/src/overlays/actors/ovl_En_Fg/z_en_fg_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_FgSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Dm_RavineSegmentStart = SegmentStart; - ovl_Dm_Ravine : AT(RomLocation) - { - build/src/overlays/actors/ovl_Dm_Ravine/z_dm_ravine.o(.text) - build/src/overlays/actors/ovl_Dm_Ravine/z_dm_ravine.o(.data) - build/src/overlays/actors/ovl_Dm_Ravine/z_dm_ravine.o(.rodata) - build/src/overlays/actors/ovl_Dm_Ravine/z_dm_ravine_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Dm_RavineSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Dm_SaSegmentStart = SegmentStart; - ovl_Dm_Sa : AT(RomLocation) - { - build/src/overlays/actors/ovl_Dm_Sa/z_dm_sa.o(.text) - build/src/overlays/actors/ovl_Dm_Sa/z_dm_sa.o(.data) - build/src/overlays/actors/ovl_Dm_Sa/z_dm_sa.o(.rodata) - build/src/overlays/actors/ovl_Dm_Sa/z_dm_sa_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Dm_SaSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_SlimeSegmentStart = SegmentStart; - ovl_En_Slime : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Slime/z_en_slime.o(.text) - build/asm/overlays/ovl_En_Slime_data.o(.data) - build/asm/overlays/ovl_En_Slime_rodata.o(.rodata) - ovl_En_Slime_bss_start = .; - } - . += 0x10; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_SlimeSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_PrSegmentStart = SegmentStart; - ovl_En_Pr : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Pr/z_en_pr.o(.text) - build/asm/overlays/ovl_En_Pr_data.o(.data) - build/src/overlays/actors/ovl_En_Pr/z_en_pr.o(.rodata) - build/asm/overlays/ovl_En_Pr_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_PrSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_ToudaiSegmentStart = SegmentStart; - ovl_Obj_Toudai : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Toudai/z_obj_toudai.o(.text) - build/asm/overlays/ovl_Obj_Toudai_data.o(.data) - build/asm/overlays/ovl_Obj_Toudai_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_ToudaiSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_EntotuSegmentStart = SegmentStart; - ovl_Obj_Entotu : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Entotu/z_obj_entotu.o(.text) - build/asm/overlays/ovl_Obj_Entotu_data.o(.data) - build/src/overlays/actors/ovl_Obj_Entotu/z_obj_entotu.o(.rodata) - build/asm/overlays/ovl_Obj_Entotu_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_EntotuSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_BellSegmentStart = SegmentStart; - ovl_Obj_Bell : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Bell/z_obj_bell.o(.text) - build/src/overlays/actors/ovl_Obj_Bell/z_obj_bell.o(.data) - build/src/overlays/actors/ovl_Obj_Bell/z_obj_bell.o(.rodata) - build/src/overlays/actors/ovl_Obj_Bell/z_obj_bell_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_BellSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Syateki_OkutaSegmentStart = SegmentStart; - ovl_En_Syateki_Okuta : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Syateki_Okuta/z_en_syateki_okuta.o(.text) - build/asm/overlays/ovl_En_Syateki_Okuta_data.o(.data) - build/src/overlays/actors/ovl_En_Syateki_Okuta/z_en_syateki_okuta.o(.rodata) - build/asm/overlays/ovl_En_Syateki_Okuta_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Syateki_OkutaSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_ShutterSegmentStart = SegmentStart; - ovl_Obj_Shutter : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Shutter/z_obj_shutter.o(.text) - build/asm/overlays/ovl_Obj_Shutter_data.o(.data) - build/src/overlays/actors/ovl_Obj_Shutter/z_obj_shutter.o(.rodata) - build/asm/overlays/ovl_Obj_Shutter_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_ShutterSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Dm_ZlSegmentStart = SegmentStart; - ovl_Dm_Zl : AT(RomLocation) - { - build/src/overlays/actors/ovl_Dm_Zl/z_dm_zl.o(.text) - build/asm/overlays/ovl_Dm_Zl_data.o(.data) - build/src/overlays/actors/ovl_Dm_Zl/z_dm_zl.o(.rodata) - build/asm/overlays/ovl_Dm_Zl_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Dm_ZlSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_RuSegmentStart = SegmentStart; - ovl_En_Ru : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Ru/z_en_ru.o(.text) - build/asm/overlays/ovl_En_Ru_data.o(.data) - build/src/overlays/actors/ovl_En_Ru/z_en_ru.o(.rodata) - build/asm/overlays/ovl_En_Ru_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_RuSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_ElfgrpSegmentStart = SegmentStart; - ovl_En_Elfgrp : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Elfgrp/z_en_elfgrp.o(.text) - build/asm/overlays/ovl_En_Elfgrp_data.o(.data) - build/src/overlays/actors/ovl_En_Elfgrp/z_en_elfgrp.o(.rodata) - build/asm/overlays/ovl_En_Elfgrp_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_ElfgrpSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Dm_TsgSegmentStart = SegmentStart; - ovl_Dm_Tsg : AT(RomLocation) - { - build/src/overlays/actors/ovl_Dm_Tsg/z_dm_tsg.o(.text) - build/asm/overlays/ovl_Dm_Tsg_data.o(.data) - build/src/overlays/actors/ovl_Dm_Tsg/z_dm_tsg.o(.rodata) - build/asm/overlays/ovl_Dm_Tsg_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Dm_TsgSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_BaguoSegmentStart = SegmentStart; - ovl_En_Baguo : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Baguo/z_en_baguo.o(.text) - build/asm/overlays/ovl_En_Baguo_data.o(.data) - build/src/overlays/actors/ovl_En_Baguo/z_en_baguo.o(.rodata) - build/asm/overlays/ovl_En_Baguo_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_BaguoSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_VspinyrollSegmentStart = SegmentStart; - ovl_Obj_Vspinyroll : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Vspinyroll/z_obj_vspinyroll.o(.text) - build/asm/overlays/ovl_Obj_Vspinyroll_data.o(.data) - build/src/overlays/actors/ovl_Obj_Vspinyroll/z_obj_vspinyroll.o(.rodata) - build/asm/overlays/ovl_Obj_Vspinyroll_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_VspinyrollSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_SmorkSegmentStart = SegmentStart; - ovl_Obj_Smork : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Smork/z_obj_smork.o(.text) - build/asm/overlays/ovl_Obj_Smork_data.o(.data) - build/src/overlays/actors/ovl_Obj_Smork/z_obj_smork.o(.rodata) - build/asm/overlays/ovl_Obj_Smork_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_SmorkSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Test2SegmentStart = SegmentStart; - ovl_En_Test2 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Test2/z_en_test2.o(.text) - build/asm/overlays/ovl_En_Test2_data.o(.data) - build/src/overlays/actors/ovl_En_Test2/z_en_test2.o(.rodata) - build/asm/overlays/ovl_En_Test2_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Test2SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Test3SegmentStart = SegmentStart; - ovl_En_Test3 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Test3/z_en_test3.o(.text) - build/asm/overlays/ovl_En_Test3_data.o(.data) - build/src/overlays/actors/ovl_En_Test3/z_en_test3.o(.rodata) - build/asm/overlays/ovl_En_Test3_rodata.o(.rodata) - ovl_En_Test3_bss_start = .; - } - . += 0x50; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Test3SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Test4SegmentStart = SegmentStart; - ovl_En_Test4 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Test4/z_en_test4.o(.text) - build/asm/overlays/ovl_En_Test4_data.o(.data) - ovl_En_Test4_bss_start = .; - } - . += 0x10; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Test4SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_BatSegmentStart = SegmentStart; - ovl_En_Bat : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Bat/z_en_bat.o(.text) - build/asm/overlays/ovl_En_Bat_data.o(.data) - build/src/overlays/actors/ovl_En_Bat/z_en_bat.o(.rodata) - build/asm/overlays/ovl_En_Bat_rodata.o(.rodata) - ovl_En_Bat_bss_start = .; - } - . += 0x10; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_BatSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_SekihiSegmentStart = SegmentStart; - ovl_En_Sekihi : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Sekihi/z_en_sekihi.o(.text) - build/asm/overlays/ovl_En_Sekihi_data.o(.data) - build/src/overlays/actors/ovl_En_Sekihi/z_en_sekihi.o(.rodata) - build/asm/overlays/ovl_En_Sekihi_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_SekihiSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_WizSegmentStart = SegmentStart; - ovl_En_Wiz : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Wiz/z_en_wiz.o(.text) - build/asm/overlays/ovl_En_Wiz_data.o(.data) - build/src/overlays/actors/ovl_En_Wiz/z_en_wiz.o(.rodata) - build/asm/overlays/ovl_En_Wiz_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_WizSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Wiz_BrockSegmentStart = SegmentStart; - ovl_En_Wiz_Brock : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Wiz_Brock/z_en_wiz_brock.o(.text) - build/asm/overlays/ovl_En_Wiz_Brock_data.o(.data) - build/src/overlays/actors/ovl_En_Wiz_Brock/z_en_wiz_brock.o(.rodata) - build/asm/overlays/ovl_En_Wiz_Brock_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Wiz_BrockSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Wiz_FireSegmentStart = SegmentStart; - ovl_En_Wiz_Fire : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Wiz_Fire/z_en_wiz_fire.o(.text) - build/asm/overlays/ovl_En_Wiz_Fire_data.o(.data) - build/src/overlays/actors/ovl_En_Wiz_Fire/z_en_wiz_fire.o(.rodata) - build/asm/overlays/ovl_En_Wiz_Fire_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Wiz_FireSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Eff_ChangeSegmentStart = SegmentStart; - ovl_Eff_Change : AT(RomLocation) - { - build/src/overlays/actors/ovl_Eff_Change/z_eff_change.o(.text) - build/asm/overlays/ovl_Eff_Change_data.o(.data) - build/src/overlays/actors/ovl_Eff_Change/z_eff_change.o(.rodata) - build/asm/overlays/ovl_Eff_Change_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Eff_ChangeSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Dm_StatueSegmentStart = SegmentStart; - ovl_Dm_Statue : AT(RomLocation) - { - build/src/overlays/actors/ovl_Dm_Statue/z_dm_statue.o(.text) - build/src/overlays/actors/ovl_Dm_Statue/z_dm_statue.o(.data) - build/src/overlays/actors/ovl_Dm_Statue/z_dm_statue.o(.rodata) - build/src/overlays/actors/ovl_Dm_Statue/z_dm_statue_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Dm_StatueSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_FireshieldSegmentStart = SegmentStart; - ovl_Obj_Fireshield : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Fireshield/z_obj_fireshield.o(.text) - build/asm/overlays/ovl_Obj_Fireshield_data.o(.data) - build/src/overlays/actors/ovl_Obj_Fireshield/z_obj_fireshield.o(.rodata) - build/asm/overlays/ovl_Obj_Fireshield_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_FireshieldSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_LadderSegmentStart = SegmentStart; - ovl_Bg_Ladder : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Ladder/z_bg_ladder.o(.text) - build/src/overlays/actors/ovl_Bg_Ladder/z_bg_ladder.o(.data) - build/src/overlays/actors/ovl_Bg_Ladder/z_bg_ladder.o(.rodata) - build/src/overlays/actors/ovl_Bg_Ladder/z_bg_ladder_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_LadderSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_MkkSegmentStart = SegmentStart; - ovl_En_Mkk : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Mkk/z_en_mkk.o(.text) - build/asm/overlays/ovl_En_Mkk_data.o(.data) - build/src/overlays/actors/ovl_En_Mkk/z_en_mkk.o(.rodata) - build/asm/overlays/ovl_En_Mkk_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_MkkSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Demo_GetitemSegmentStart = SegmentStart; - ovl_Demo_Getitem : AT(RomLocation) - { - build/src/overlays/actors/ovl_Demo_Getitem/z_demo_getitem.o(.text) - build/asm/overlays/ovl_Demo_Getitem_data.o(.data) - build/src/overlays/actors/ovl_Demo_Getitem/z_demo_getitem.o(.rodata) - build/asm/overlays/ovl_Demo_Getitem_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Demo_GetitemSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_DnbSegmentStart = SegmentStart; - ovl_En_Dnb : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Dnb/z_en_dnb.o(.text) - build/asm/overlays/ovl_En_Dnb_data.o(.data) - build/src/overlays/actors/ovl_En_Dnb/z_en_dnb.o(.rodata) - build/asm/overlays/ovl_En_Dnb_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_DnbSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_DnhSegmentStart = SegmentStart; - ovl_En_Dnh : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Dnh/z_en_dnh.o(.text) - build/asm/overlays/ovl_En_Dnh_data.o(.data) - build/src/overlays/actors/ovl_En_Dnh/z_en_dnh.o(.rodata) - build/asm/overlays/ovl_En_Dnh_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_DnhSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_DnkSegmentStart = SegmentStart; - ovl_En_Dnk : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Dnk/z_en_dnk.o(.text) - build/asm/overlays/ovl_En_Dnk_data.o(.data) - build/src/overlays/actors/ovl_En_Dnk/z_en_dnk.o(.rodata) - build/asm/overlays/ovl_En_Dnk_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_DnkSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_DnqSegmentStart = SegmentStart; - ovl_En_Dnq : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Dnq/z_en_dnq.o(.text) - build/asm/overlays/ovl_En_Dnq_data.o(.data) - build/src/overlays/actors/ovl_En_Dnq/z_en_dnq.o(.rodata) - build/asm/overlays/ovl_En_Dnq_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_DnqSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Keikoku_SakuSegmentStart = SegmentStart; - ovl_Bg_Keikoku_Saku : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Keikoku_Saku/z_bg_keikoku_saku.o(.text) - build/asm/overlays/ovl_Bg_Keikoku_Saku_data.o(.data) - build/src/overlays/actors/ovl_Bg_Keikoku_Saku/z_bg_keikoku_saku.o(.rodata) - build/asm/overlays/ovl_Bg_Keikoku_Saku_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Keikoku_SakuSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_HugebombiwaSegmentStart = SegmentStart; - ovl_Obj_Hugebombiwa : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Hugebombiwa/z_obj_hugebombiwa.o(.text) - build/asm/overlays/ovl_Obj_Hugebombiwa_data.o(.data) - build/src/overlays/actors/ovl_Obj_Hugebombiwa/z_obj_hugebombiwa.o(.rodata) - build/asm/overlays/ovl_Obj_Hugebombiwa_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_HugebombiwaSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Firefly2SegmentStart = SegmentStart; - ovl_En_Firefly2 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Firefly2/z_en_firefly2.o(.text) - build/src/overlays/actors/ovl_En_Firefly2/z_en_firefly2.o(.data) - build/src/overlays/actors/ovl_En_Firefly2/z_en_firefly2.o(.rodata) - build/src/overlays/actors/ovl_En_Firefly2/z_en_firefly2.o(.rodata) - build/src/overlays/actors/ovl_En_Firefly2/z_en_firefly2_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Firefly2SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_RatSegmentStart = SegmentStart; - ovl_En_Rat : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Rat/z_en_rat.o(.text) - build/asm/overlays/ovl_En_Rat_data.o(.data) - build/src/overlays/actors/ovl_En_Rat/z_en_rat.o(.rodata) - build/asm/overlays/ovl_En_Rat_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_RatSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Water_EffectSegmentStart = SegmentStart; - ovl_En_Water_Effect : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Water_Effect/z_en_water_effect.o(.text) - build/asm/overlays/ovl_En_Water_Effect_data.o(.data) - build/src/overlays/actors/ovl_En_Water_Effect/z_en_water_effect.o(.rodata) - build/asm/overlays/ovl_En_Water_Effect_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Water_EffectSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Kusa2SegmentStart = SegmentStart; - ovl_En_Kusa2 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Kusa2/z_en_kusa2.o(.text) - build/asm/overlays/ovl_En_Kusa2_data.o(.data) - build/src/overlays/actors/ovl_En_Kusa2/z_en_kusa2.o(.rodata) - build/asm/overlays/ovl_En_Kusa2_rodata.o(.rodata) - ovl_En_Kusa2_bss_start = .; - } - . += 0x1960; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Kusa2SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Spout_FireSegmentStart = SegmentStart; - ovl_Bg_Spout_Fire : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Spout_Fire/z_bg_spout_fire.o(.text) - build/asm/overlays/ovl_Bg_Spout_Fire_data.o(.data) - build/src/overlays/actors/ovl_Bg_Spout_Fire/z_bg_spout_fire.o(.rodata) - build/asm/overlays/ovl_Bg_Spout_Fire_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Spout_FireSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Dy_ExtraSegmentStart = SegmentStart; - ovl_En_Dy_Extra : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Dy_Extra/z_en_dy_extra.o(.text) - build/src/overlays/actors/ovl_En_Dy_Extra/z_en_dy_extra.o(.data) - build/src/overlays/actors/ovl_En_Dy_Extra/z_en_dy_extra.o(.rodata) - build/src/overlays/actors/ovl_En_Dy_Extra/z_en_dy_extra.o(.rodata) - build/src/overlays/actors/ovl_En_Dy_Extra/z_en_dy_extra_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Dy_ExtraSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_BalSegmentStart = SegmentStart; - ovl_En_Bal : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Bal/z_en_bal.o(.text) - build/asm/overlays/ovl_En_Bal_data.o(.data) - build/src/overlays/actors/ovl_En_Bal/z_en_bal.o(.rodata) - build/asm/overlays/ovl_En_Bal_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_BalSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Ginko_ManSegmentStart = SegmentStart; - ovl_En_Ginko_Man : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Ginko_Man/z_en_ginko_man.o(.text) - build/src/overlays/actors/ovl_En_Ginko_Man/z_en_ginko_man.o(.data) - build/src/overlays/actors/ovl_En_Ginko_Man/z_en_ginko_man.o(.rodata) - build/src/overlays/actors/ovl_En_Ginko_Man/z_en_ginko_man_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Ginko_ManSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Warp_UzuSegmentStart = SegmentStart; - ovl_En_Warp_Uzu : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Warp_Uzu/z_en_warp_uzu.o(.text) - build/src/overlays/actors/ovl_En_Warp_Uzu/z_en_warp_uzu.o(.data) - build/src/overlays/actors/ovl_En_Warp_Uzu/z_en_warp_uzu.o(.rodata) - build/src/overlays/actors/ovl_En_Warp_Uzu/z_en_warp_uzu_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Warp_UzuSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_DrifticeSegmentStart = SegmentStart; - ovl_Obj_Driftice : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Driftice/z_obj_driftice.o(.text) - build/asm/overlays/ovl_Obj_Driftice_data.o(.data) - build/src/overlays/actors/ovl_Obj_Driftice/z_obj_driftice.o(.rodata) - build/asm/overlays/ovl_Obj_Driftice_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_DrifticeSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Look_NutsSegmentStart = SegmentStart; - ovl_En_Look_Nuts : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Look_Nuts/z_en_look_nuts.o(.text) - build/asm/overlays/ovl_En_Look_Nuts_data.o(.data) - build/src/overlays/actors/ovl_En_Look_Nuts/z_en_look_nuts.o(.rodata) - build/asm/overlays/ovl_En_Look_Nuts_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Look_NutsSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Mushi2SegmentStart = SegmentStart; - ovl_En_Mushi2 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Mushi2/z_en_mushi2.o(.text) - build/asm/overlays/ovl_En_Mushi2_data.o(.data) - build/src/overlays/actors/ovl_En_Mushi2/z_en_mushi2.o(.rodata) - build/asm/overlays/ovl_En_Mushi2_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Mushi2SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_FallSegmentStart = SegmentStart; - ovl_En_Fall : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Fall/z_en_fall.o(.text) - build/asm/overlays/ovl_En_Fall_data.o(.data) - build/src/overlays/actors/ovl_En_Fall/z_en_fall.o(.rodata) - build/asm/overlays/ovl_En_Fall_rodata.o(.rodata) - ovl_En_Fall_bss_start = .; - } - . += 0x710; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_FallSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Mm3SegmentStart = SegmentStart; - ovl_En_Mm3 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Mm3/z_en_mm3.o(.text) - build/asm/overlays/ovl_En_Mm3_data.o(.data) - build/src/overlays/actors/ovl_En_Mm3/z_en_mm3.o(.rodata) - build/asm/overlays/ovl_En_Mm3_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Mm3SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Crace_MovebgSegmentStart = SegmentStart; - ovl_Bg_Crace_Movebg : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Crace_Movebg/z_bg_crace_movebg.o(.text) - build/asm/overlays/ovl_Bg_Crace_Movebg_data.o(.data) - build/src/overlays/actors/ovl_Bg_Crace_Movebg/z_bg_crace_movebg.o(.rodata) - build/asm/overlays/ovl_Bg_Crace_Movebg_rodata.o(.rodata) - ovl_Bg_Crace_Movebg_bss_start = .; - } - . += 0x20; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Crace_MovebgSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_DnoSegmentStart = SegmentStart; - ovl_En_Dno : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Dno/z_en_dno.o(.text) - build/asm/overlays/ovl_En_Dno_data.o(.data) - build/src/overlays/actors/ovl_En_Dno/z_en_dno.o(.rodata) - build/asm/overlays/ovl_En_Dno_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_DnoSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Pr2SegmentStart = SegmentStart; - ovl_En_Pr2 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Pr2/z_en_pr2.o(.text) - build/asm/overlays/ovl_En_Pr2_data.o(.data) - build/src/overlays/actors/ovl_En_Pr2/z_en_pr2.o(.rodata) - build/asm/overlays/ovl_En_Pr2_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Pr2SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_PrzSegmentStart = SegmentStart; - ovl_En_Prz : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Prz/z_en_prz.o(.text) - build/asm/overlays/ovl_En_Prz_data.o(.data) - build/src/overlays/actors/ovl_En_Prz/z_en_prz.o(.rodata) - build/asm/overlays/ovl_En_Prz_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_PrzSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Jso2SegmentStart = SegmentStart; - ovl_En_Jso2 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Jso2/z_en_jso2.o(.text) - build/asm/overlays/ovl_En_Jso2_data.o(.data) - build/src/overlays/actors/ovl_En_Jso2/z_en_jso2.o(.rodata) - build/asm/overlays/ovl_En_Jso2_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Jso2SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_EtceteraSegmentStart = SegmentStart; - ovl_Obj_Etcetera : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Etcetera/z_obj_etcetera.o(.text) - build/asm/overlays/ovl_Obj_Etcetera_data.o(.data) - build/src/overlays/actors/ovl_Obj_Etcetera/z_obj_etcetera.o(.rodata) - build/asm/overlays/ovl_Obj_Etcetera_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_EtceteraSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_EgolSegmentStart = SegmentStart; - ovl_En_Egol : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Egol/z_en_egol.o(.text) - build/asm/overlays/ovl_En_Egol_data.o(.data) - build/src/overlays/actors/ovl_En_Egol/z_en_egol.o(.rodata) - build/asm/overlays/ovl_En_Egol_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_EgolSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_MineSegmentStart = SegmentStart; - ovl_Obj_Mine : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Mine/z_obj_mine.o(.text) - build/asm/overlays/ovl_Obj_Mine_data.o(.data) - build/src/overlays/actors/ovl_Obj_Mine/z_obj_mine.o(.rodata) - build/asm/overlays/ovl_Obj_Mine_rodata.o(.rodata) - ovl_Obj_Mine_bss_start = .; - } - . += 0x300; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_MineSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_PurifySegmentStart = SegmentStart; - ovl_Obj_Purify : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Purify/z_obj_purify.o(.text) - build/asm/overlays/ovl_Obj_Purify_data.o(.data) - build/src/overlays/actors/ovl_Obj_Purify/z_obj_purify.o(.rodata) - build/asm/overlays/ovl_Obj_Purify_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_PurifySegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_TruSegmentStart = SegmentStart; - ovl_En_Tru : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Tru/z_en_tru.o(.text) - build/asm/overlays/ovl_En_Tru_data.o(.data) - build/src/overlays/actors/ovl_En_Tru/z_en_tru.o(.rodata) - build/asm/overlays/ovl_En_Tru_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_TruSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_TrtSegmentStart = SegmentStart; - ovl_En_Trt : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Trt/z_en_trt.o(.text) - build/src/overlays/actors/ovl_En_Trt/z_en_trt.o(.data) - build/src/overlays/actors/ovl_En_Trt/z_en_trt.o(.rodata) - build/src/overlays/actors/ovl_En_Trt/z_en_trt_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_TrtSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Test5SegmentStart = SegmentStart; - ovl_En_Test5 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Test5/z_en_test5.o(.text) - build/asm/overlays/ovl_En_Test5_data.o(.data) - build/src/overlays/actors/ovl_En_Test5/z_en_test5.o(.rodata) - build/asm/overlays/ovl_En_Test5_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Test5SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Test6SegmentStart = SegmentStart; - ovl_En_Test6 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Test6/z_en_test6.o(.text) - build/asm/overlays/ovl_En_Test6_data.o(.data) - build/src/overlays/actors/ovl_En_Test6/z_en_test6.o(.rodata) - build/asm/overlays/ovl_En_Test6_rodata.o(.rodata) - ovl_En_Test6_bss_start = .; - } - . += 0x120; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Test6SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_AzSegmentStart = SegmentStart; - ovl_En_Az : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Az/z_en_az.o(.text) - build/asm/overlays/ovl_En_Az_data.o(.data) - build/src/overlays/actors/ovl_En_Az/z_en_az.o(.rodata) - build/asm/overlays/ovl_En_Az_rodata.o(.rodata) - ovl_En_Az_bss_start = .; - } - . += 0x20; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_AzSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_EstoneSegmentStart = SegmentStart; - ovl_En_Estone : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Estone/z_en_estone.o(.text) - build/asm/overlays/ovl_En_Estone_data.o(.data) - build/src/overlays/actors/ovl_En_Estone/z_en_estone.o(.rodata) - build/asm/overlays/ovl_En_Estone_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_EstoneSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Hakugin_PostSegmentStart = SegmentStart; - ovl_Bg_Hakugin_Post : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Hakugin_Post/z_bg_hakugin_post.o(.text) - build/asm/overlays/ovl_Bg_Hakugin_Post_data.o(.data) - build/src/overlays/actors/ovl_Bg_Hakugin_Post/z_bg_hakugin_post.o(.rodata) - build/asm/overlays/ovl_Bg_Hakugin_Post_rodata.o(.rodata) - ovl_Bg_Hakugin_Post_bss_start = .; - } - . += 0x1B90; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Hakugin_PostSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Dm_OpstageSegmentStart = SegmentStart; - ovl_Dm_Opstage : AT(RomLocation) - { - build/src/overlays/actors/ovl_Dm_Opstage/z_dm_opstage.o(.text) - build/asm/overlays/ovl_Dm_Opstage_data.o(.data) - build/src/overlays/actors/ovl_Dm_Opstage/z_dm_opstage.o(.rodata) - build/asm/overlays/ovl_Dm_Opstage_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Dm_OpstageSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Dm_StkSegmentStart = SegmentStart; - ovl_Dm_Stk : AT(RomLocation) - { - build/src/overlays/actors/ovl_Dm_Stk/z_dm_stk.o(.text) - build/asm/overlays/ovl_Dm_Stk_data.o(.data) - build/src/overlays/actors/ovl_Dm_Stk/z_dm_stk.o(.rodata) - build/asm/overlays/ovl_Dm_Stk_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Dm_StkSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Dm_Char00SegmentStart = SegmentStart; - ovl_Dm_Char00 : AT(RomLocation) - { - build/src/overlays/actors/ovl_Dm_Char00/z_dm_char00.o(.text) - build/asm/overlays/ovl_Dm_Char00_data.o(.data) - build/src/overlays/actors/ovl_Dm_Char00/z_dm_char00.o(.rodata) - build/asm/overlays/ovl_Dm_Char00_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Dm_Char00SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Dm_Char01SegmentStart = SegmentStart; - ovl_Dm_Char01 : AT(RomLocation) - { - build/src/overlays/actors/ovl_Dm_Char01/z_dm_char01.o(.text) - build/asm/overlays/ovl_Dm_Char01_data.o(.data) - build/src/overlays/actors/ovl_Dm_Char01/z_dm_char01.o(.rodata) - build/asm/overlays/ovl_Dm_Char01_rodata.o(.rodata) - ovl_Dm_Char01_bss_start = .; - } - . += 0x10; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Dm_Char01SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Dm_Char02SegmentStart = SegmentStart; - ovl_Dm_Char02 : AT(RomLocation) - { - build/src/overlays/actors/ovl_Dm_Char02/z_dm_char02.o(.text) - build/asm/overlays/ovl_Dm_Char02_data.o(.data) - build/src/overlays/actors/ovl_Dm_Char02/z_dm_char02.o(.rodata) - build/asm/overlays/ovl_Dm_Char02_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Dm_Char02SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Dm_Char03SegmentStart = SegmentStart; - ovl_Dm_Char03 : AT(RomLocation) - { - build/src/overlays/actors/ovl_Dm_Char03/z_dm_char03.o(.text) - build/asm/overlays/ovl_Dm_Char03_data.o(.data) - build/src/overlays/actors/ovl_Dm_Char03/z_dm_char03.o(.rodata) - build/asm/overlays/ovl_Dm_Char03_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Dm_Char03SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Dm_Char04SegmentStart = SegmentStart; - ovl_Dm_Char04 : AT(RomLocation) - { - build/src/overlays/actors/ovl_Dm_Char04/z_dm_char04.o(.text) - build/asm/overlays/ovl_Dm_Char04_data.o(.data) - build/src/overlays/actors/ovl_Dm_Char04/z_dm_char04.o(.rodata) - build/asm/overlays/ovl_Dm_Char04_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Dm_Char04SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Dm_Char05SegmentStart = SegmentStart; - ovl_Dm_Char05 : AT(RomLocation) - { - build/src/overlays/actors/ovl_Dm_Char05/z_dm_char05.o(.text) - build/asm/overlays/ovl_Dm_Char05_data.o(.data) - build/src/overlays/actors/ovl_Dm_Char05/z_dm_char05.o(.rodata) - build/asm/overlays/ovl_Dm_Char05_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Dm_Char05SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Dm_Char06SegmentStart = SegmentStart; - ovl_Dm_Char06 : AT(RomLocation) - { - build/src/overlays/actors/ovl_Dm_Char06/z_dm_char06.o(.text) - build/asm/overlays/ovl_Dm_Char06_data.o(.data) - build/src/overlays/actors/ovl_Dm_Char06/z_dm_char06.o(.rodata) - build/asm/overlays/ovl_Dm_Char06_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Dm_Char06SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Dm_Char07SegmentStart = SegmentStart; - ovl_Dm_Char07 : AT(RomLocation) - { - build/src/overlays/actors/ovl_Dm_Char07/z_dm_char07.o(.text) - build/src/overlays/actors/ovl_Dm_Char07/z_dm_char07.o(.data) - build/src/overlays/actors/ovl_Dm_Char07/z_dm_char07.o(.rodata) - build/src/overlays/actors/ovl_Dm_Char07/z_dm_char07_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Dm_Char07SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Dm_Char08SegmentStart = SegmentStart; - ovl_Dm_Char08 : AT(RomLocation) - { - build/src/overlays/actors/ovl_Dm_Char08/z_dm_char08.o(.text) - build/asm/overlays/ovl_Dm_Char08_data.o(.data) - build/src/overlays/actors/ovl_Dm_Char08/z_dm_char08.o(.rodata) - build/asm/overlays/ovl_Dm_Char08_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Dm_Char08SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Dm_Char09SegmentStart = SegmentStart; - ovl_Dm_Char09 : AT(RomLocation) - { - build/src/overlays/actors/ovl_Dm_Char09/z_dm_char09.o(.text) - build/asm/overlays/ovl_Dm_Char09_data.o(.data) - build/src/overlays/actors/ovl_Dm_Char09/z_dm_char09.o(.rodata) - build/asm/overlays/ovl_Dm_Char09_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Dm_Char09SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_TokeidaiSegmentStart = SegmentStart; - ovl_Obj_Tokeidai : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Tokeidai/z_obj_tokeidai.o(.text) - build/asm/overlays/ovl_Obj_Tokeidai_data.o(.data) - build/src/overlays/actors/ovl_Obj_Tokeidai/z_obj_tokeidai.o(.rodata) - build/asm/overlays/ovl_Obj_Tokeidai_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_TokeidaiSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_MnkSegmentStart = SegmentStart; - ovl_En_Mnk : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Mnk/z_en_mnk.o(.text) - build/asm/overlays/ovl_En_Mnk_data.o(.data) - build/src/overlays/actors/ovl_En_Mnk/z_en_mnk.o(.rodata) - build/asm/overlays/ovl_En_Mnk_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_MnkSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_EgblockSegmentStart = SegmentStart; - ovl_En_Egblock : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Egblock/z_en_egblock.o(.text) - build/asm/overlays/ovl_En_Egblock_data.o(.data) - build/src/overlays/actors/ovl_En_Egblock/z_en_egblock.o(.rodata) - build/asm/overlays/ovl_En_Egblock_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_EgblockSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Guard_NutsSegmentStart = SegmentStart; - ovl_En_Guard_Nuts : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Guard_Nuts/z_en_guard_nuts.o(.text) - build/asm/overlays/ovl_En_Guard_Nuts_data.o(.data) - build/src/overlays/actors/ovl_En_Guard_Nuts/z_en_guard_nuts.o(.rodata) - build/asm/overlays/ovl_En_Guard_Nuts_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Guard_NutsSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Hakugin_BombwallSegmentStart = SegmentStart; - ovl_Bg_Hakugin_Bombwall : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Hakugin_Bombwall/z_bg_hakugin_bombwall.o(.text) - build/asm/overlays/ovl_Bg_Hakugin_Bombwall_data.o(.data) - build/src/overlays/actors/ovl_Bg_Hakugin_Bombwall/z_bg_hakugin_bombwall.o(.rodata) - build/asm/overlays/ovl_Bg_Hakugin_Bombwall_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Hakugin_BombwallSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_Tokei_TobiraSegmentStart = SegmentStart; - ovl_Obj_Tokei_Tobira : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Tokei_Tobira/z_obj_tokei_tobira.o(.text) - build/asm/overlays/ovl_Obj_Tokei_Tobira_data.o(.data) - build/src/overlays/actors/ovl_Obj_Tokei_Tobira/z_obj_tokei_tobira.o(.rodata) - build/asm/overlays/ovl_Obj_Tokei_Tobira_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_Tokei_TobiraSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Hakugin_ElvpoleSegmentStart = SegmentStart; - ovl_Bg_Hakugin_Elvpole : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Hakugin_Elvpole/z_bg_hakugin_elvpole.o(.text) - build/asm/overlays/ovl_Bg_Hakugin_Elvpole_data.o(.data) - build/src/overlays/actors/ovl_Bg_Hakugin_Elvpole/z_bg_hakugin_elvpole.o(.rodata) - build/asm/overlays/ovl_Bg_Hakugin_Elvpole_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Hakugin_ElvpoleSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Ma4SegmentStart = SegmentStart; - ovl_En_Ma4 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Ma4/z_en_ma4.o(.text) - build/src/overlays/actors/ovl_En_Ma4/z_en_ma4.o(.data) - build/src/overlays/actors/ovl_En_Ma4/z_en_ma4.o(.rodata) - build/src/overlays/actors/ovl_En_Ma4/z_en_ma4_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Ma4SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_TwigSegmentStart = SegmentStart; - ovl_En_Twig : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Twig/z_en_twig.o(.text) - build/asm/overlays/ovl_En_Twig_data.o(.data) - build/src/overlays/actors/ovl_En_Twig/z_en_twig.o(.rodata) - build/asm/overlays/ovl_En_Twig_rodata.o(.rodata) - ovl_En_Twig_bss_start = .; - } - . += 0x40; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_TwigSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Po_FusenSegmentStart = SegmentStart; - ovl_En_Po_Fusen : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Po_Fusen/z_en_po_fusen.o(.text) - build/src/overlays/actors/ovl_En_Po_Fusen/z_en_po_fusen.o(.data) - build/src/overlays/actors/ovl_En_Po_Fusen/z_en_po_fusen.o(.rodata) - build/src/overlays/actors/ovl_En_Po_Fusen/z_en_po_fusen_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Po_FusenSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Door_EtcSegmentStart = SegmentStart; - ovl_En_Door_Etc : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Door_Etc/z_en_door_etc.o(.text) - build/asm/overlays/ovl_En_Door_Etc_data.o(.data) - build/src/overlays/actors/ovl_En_Door_Etc/z_en_door_etc.o(.rodata) - build/asm/overlays/ovl_En_Door_Etc_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Door_EtcSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_BigokutaSegmentStart = SegmentStart; - ovl_En_Bigokuta : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.o(.text) - build/asm/overlays/ovl_En_Bigokuta_data.o(.data) - build/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.o(.rodata) - build/asm/overlays/ovl_En_Bigokuta_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_BigokutaSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_IcefloeSegmentStart = SegmentStart; - ovl_Bg_Icefloe : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Icefloe/z_bg_icefloe.o(.text) - build/asm/overlays/ovl_Bg_Icefloe_data.o(.data) - build/src/overlays/actors/ovl_Bg_Icefloe/z_bg_icefloe.o(.rodata) - build/asm/overlays/ovl_Bg_Icefloe_rodata.o(.rodata) - ovl_Bg_Icefloe_bss_start = .; - } - . += 0x10; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_IcefloeSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_fbdemo_triforceSegmentStart = SegmentStart; - ovl_fbdemo_triforce : - { - build/asm/overlays/ovl_fbdemo_triforce_0x80AC5070.o(.text) - build/asm/overlays/ovl_fbdemo_triforce_data.o(.data) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_fbdemo_triforceSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_fbdemo_wipe1SegmentStart = SegmentStart; - ovl_fbdemo_wipe1 : - { - build/asm/overlays/ovl_fbdemo_wipe1_0x80AC57B0.o(.text) - build/asm/overlays/ovl_fbdemo_wipe1_data.o(.data) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_fbdemo_wipe1SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_fbdemo_wipe3SegmentStart = SegmentStart; - ovl_fbdemo_wipe3 : - { - build/asm/overlays/ovl_fbdemo_wipe3_0x80AC6740.o(.text) - build/asm/overlays/ovl_fbdemo_wipe3_data.o(.data) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_fbdemo_wipe3SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_fbdemo_wipe4SegmentStart = SegmentStart; - ovl_fbdemo_wipe4 : - { - build/asm/overlays/ovl_fbdemo_wipe4_0x80AC8430.o(.text) - build/asm/overlays/ovl_fbdemo_wipe4_data.o(.data) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_fbdemo_wipe4SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_fbdemo_wipe5SegmentStart = SegmentStart; - ovl_fbdemo_wipe5 : - { - build/asm/overlays/ovl_fbdemo_wipe5_0x80AC86F0.o(.text) - build/asm/overlays/ovl_fbdemo_wipe5_data.o(.data) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_fbdemo_wipe5SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Effect_Ss_SbnSegmentStart = SegmentStart; - ovl_Effect_Ss_Sbn : AT(RomLocation) - { - build/asm/overlays/ovl_Effect_Ss_Sbn_0x80AC8B50.o(.text) - build/asm/overlays/ovl_Effect_Ss_Sbn_data.o(.data) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Effect_Ss_SbnSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_OcarinaliftSegmentStart = SegmentStart; - ovl_Obj_Ocarinalift : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Ocarinalift/z_obj_ocarinalift.o(.text) - build/asm/overlays/ovl_Obj_Ocarinalift_data.o(.data) - build/src/overlays/actors/ovl_Obj_Ocarinalift/z_obj_ocarinalift.o(.rodata) - build/asm/overlays/ovl_Obj_Ocarinalift_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_OcarinaliftSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Time_TagSegmentStart = SegmentStart; - ovl_En_Time_Tag : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Time_Tag/z_en_time_tag.o(.text) - build/asm/overlays/ovl_En_Time_Tag_data.o(.data) - build/src/overlays/actors/ovl_En_Time_Tag/z_en_time_tag.o(.rodata) - build/asm/overlays/ovl_En_Time_Tag_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Time_TagSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Open_ShutterSegmentStart = SegmentStart; - ovl_Bg_Open_Shutter : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Open_Shutter/z_bg_open_shutter.o(.text) - build/asm/overlays/ovl_Bg_Open_Shutter_data.o(.data) - build/src/overlays/actors/ovl_Bg_Open_Shutter/z_bg_open_shutter.o(.rodata) - build/asm/overlays/ovl_Bg_Open_Shutter_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Open_ShutterSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Open_SpotSegmentStart = SegmentStart; - ovl_Bg_Open_Spot : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Open_Spot/z_bg_open_spot.o(.text) - build/asm/overlays/ovl_Bg_Open_Spot_data.o(.data) - build/src/overlays/actors/ovl_Bg_Open_Spot/z_bg_open_spot.o(.rodata) - build/asm/overlays/ovl_Bg_Open_Spot_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Open_SpotSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Fu_KaitenSegmentStart = SegmentStart; - ovl_Bg_Fu_Kaiten : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Fu_Kaiten/z_bg_fu_kaiten.o(.text) - build/src/overlays/actors/ovl_Bg_Fu_Kaiten/z_bg_fu_kaiten.o(.data) - build/src/overlays/actors/ovl_Bg_Fu_Kaiten/z_bg_fu_kaiten.o(.rodata) - build/src/overlays/actors/ovl_Bg_Fu_Kaiten/z_bg_fu_kaiten.o(.rodata) - build/src/overlays/actors/ovl_Bg_Fu_Kaiten/z_bg_fu_kaiten_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Fu_KaitenSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_AquaSegmentStart = SegmentStart; - ovl_Obj_Aqua : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Aqua/z_obj_aqua.o(.text) - build/asm/overlays/ovl_Obj_Aqua_data.o(.data) - build/src/overlays/actors/ovl_Obj_Aqua/z_obj_aqua.o(.rodata) - build/asm/overlays/ovl_Obj_Aqua_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_AquaSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_ElforgSegmentStart = SegmentStart; - ovl_En_Elforg : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Elforg/z_en_elforg.o(.text) - build/asm/overlays/ovl_En_Elforg_data.o(.data) - build/src/overlays/actors/ovl_En_Elforg/z_en_elforg.o(.rodata) - build/asm/overlays/ovl_En_Elforg_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_ElforgSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_ElfbubSegmentStart = SegmentStart; - ovl_En_Elfbub : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Elfbub/z_en_elfbub.o(.text) - build/asm/overlays/ovl_En_Elfbub_data.o(.data) - build/src/overlays/actors/ovl_En_Elfbub/z_en_elfbub.o(.rodata) - build/asm/overlays/ovl_En_Elfbub_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_ElfbubSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Fu_MatoSegmentStart = SegmentStart; - ovl_En_Fu_Mato : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Fu_Mato/z_en_fu_mato.o(.text) - build/asm/overlays/ovl_En_Fu_Mato_data.o(.data) - build/src/overlays/actors/ovl_En_Fu_Mato/z_en_fu_mato.o(.rodata) - build/asm/overlays/ovl_En_Fu_Mato_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Fu_MatoSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Fu_KagoSegmentStart = SegmentStart; - ovl_En_Fu_Kago : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Fu_Kago/z_en_fu_kago.o(.text) - build/asm/overlays/ovl_En_Fu_Kago_data.o(.data) - build/src/overlays/actors/ovl_En_Fu_Kago/z_en_fu_kago.o(.rodata) - build/asm/overlays/ovl_En_Fu_Kago_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Fu_KagoSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_OsnSegmentStart = SegmentStart; - ovl_En_Osn : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Osn/z_en_osn.o(.text) - build/asm/overlays/ovl_En_Osn_data.o(.data) - build/src/overlays/actors/ovl_En_Osn/z_en_osn.o(.rodata) - build/asm/overlays/ovl_En_Osn_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_OsnSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Ctower_GearSegmentStart = SegmentStart; - ovl_Bg_Ctower_Gear : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Ctower_Gear/z_bg_ctower_gear.o(.text) - build/src/overlays/actors/ovl_Bg_Ctower_Gear/z_bg_ctower_gear.o(.data) - build/src/overlays/actors/ovl_Bg_Ctower_Gear/z_bg_ctower_gear.o(.rodata) - build/src/overlays/actors/ovl_Bg_Ctower_Gear/z_bg_ctower_gear_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Ctower_GearSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Trt2SegmentStart = SegmentStart; - ovl_En_Trt2 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Trt2/z_en_trt2.o(.text) - build/asm/overlays/ovl_En_Trt2_data.o(.data) - build/src/overlays/actors/ovl_En_Trt2/z_en_trt2.o(.rodata) - build/asm/overlays/ovl_En_Trt2_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Trt2SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_Tokei_StepSegmentStart = SegmentStart; - ovl_Obj_Tokei_Step : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Tokei_Step/z_obj_tokei_step.o(.text) - build/src/overlays/actors/ovl_Obj_Tokei_Step/z_obj_tokei_step.o(.data) - build/src/overlays/actors/ovl_Obj_Tokei_Step/z_obj_tokei_step.o(.rodata) - build/src/overlays/actors/ovl_Obj_Tokei_Step/z_obj_tokei_step_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_Tokei_StepSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_LotusSegmentStart = SegmentStart; - ovl_Bg_Lotus : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Lotus/z_bg_lotus.o(.text) - build/src/overlays/actors/ovl_Bg_Lotus/z_bg_lotus.o(.data) - build/src/overlays/actors/ovl_Bg_Lotus/z_bg_lotus.o(.rodata) - build/src/overlays/actors/ovl_Bg_Lotus/z_bg_lotus_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_LotusSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_KameSegmentStart = SegmentStart; - ovl_En_Kame : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Kame/z_en_kame.o(.text) - build/asm/overlays/ovl_En_Kame_data.o(.data) - build/src/overlays/actors/ovl_En_Kame/z_en_kame.o(.rodata) - build/asm/overlays/ovl_En_Kame_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_KameSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_Takaraya_WallSegmentStart = SegmentStart; - ovl_Obj_Takaraya_Wall : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Takaraya_Wall/z_obj_takaraya_wall.o(.text) - build/asm/overlays/ovl_Obj_Takaraya_Wall_data.o(.data) - build/src/overlays/actors/ovl_Obj_Takaraya_Wall/z_obj_takaraya_wall.o(.rodata) - build/asm/overlays/ovl_Obj_Takaraya_Wall_rodata.o(.rodata) - ovl_Obj_Takaraya_Wall_bss_start = .; - } - . += 0x6A0; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_Takaraya_WallSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Fu_MizuSegmentStart = SegmentStart; - ovl_Bg_Fu_Mizu : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Fu_Mizu/z_bg_fu_mizu.o(.text) - build/asm/overlays/ovl_Bg_Fu_Mizu_data.o(.data) - build/src/overlays/actors/ovl_Bg_Fu_Mizu/z_bg_fu_mizu.o(.rodata) - build/asm/overlays/ovl_Bg_Fu_Mizu_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Fu_MizuSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_SellnutsSegmentStart = SegmentStart; - ovl_En_Sellnuts : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Sellnuts/z_en_sellnuts.o(.text) - build/asm/overlays/ovl_En_Sellnuts_data.o(.data) - build/src/overlays/actors/ovl_En_Sellnuts/z_en_sellnuts.o(.rodata) - build/asm/overlays/ovl_En_Sellnuts_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_SellnutsSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Dkjail_IvySegmentStart = SegmentStart; - ovl_Bg_Dkjail_Ivy : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Dkjail_Ivy/z_bg_dkjail_ivy.o(.text) - build/asm/overlays/ovl_Bg_Dkjail_Ivy_data.o(.data) - build/src/overlays/actors/ovl_Bg_Dkjail_Ivy/z_bg_dkjail_ivy.o(.rodata) - build/asm/overlays/ovl_Bg_Dkjail_Ivy_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Dkjail_IvySegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_VisiblockSegmentStart = SegmentStart; - ovl_Obj_Visiblock : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Visiblock/z_obj_visiblock.o(.text) - build/src/overlays/actors/ovl_Obj_Visiblock/z_obj_visiblock.o(.data) - build/src/overlays/actors/ovl_Obj_Visiblock/z_obj_visiblock.o(.rodata) - build/src/overlays/actors/ovl_Obj_Visiblock/z_obj_visiblock_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_VisiblockSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_TakarayaSegmentStart = SegmentStart; - ovl_En_Takaraya : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Takaraya/z_en_takaraya.o(.text) - build/asm/overlays/ovl_En_Takaraya_data.o(.data) - build/src/overlays/actors/ovl_En_Takaraya/z_en_takaraya.o(.rodata) - build/asm/overlays/ovl_En_Takaraya_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_TakarayaSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_TsnSegmentStart = SegmentStart; - ovl_En_Tsn : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Tsn/z_en_tsn.o(.text) - build/asm/overlays/ovl_En_Tsn_data.o(.data) - build/src/overlays/actors/ovl_En_Tsn/z_en_tsn.o(.rodata) - build/asm/overlays/ovl_En_Tsn_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_TsnSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Ds2nSegmentStart = SegmentStart; - ovl_En_Ds2n : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Ds2n/z_en_ds2n.o(.text) - build/asm/overlays/ovl_En_Ds2n_data.o(.data) - build/src/overlays/actors/ovl_En_Ds2n/z_en_ds2n.o(.rodata) - build/asm/overlays/ovl_En_Ds2n_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Ds2nSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_FsnSegmentStart = SegmentStart; - ovl_En_Fsn : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Fsn/z_en_fsn.o(.text) - build/src/overlays/actors/ovl_En_Fsn/z_en_fsn.o(.data) - build/src/overlays/actors/ovl_En_Fsn/z_en_fsn.o(.rodata) - build/src/overlays/actors/ovl_En_Fsn/z_en_fsn_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_FsnSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_ShnSegmentStart = SegmentStart; - ovl_En_Shn : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Shn/z_en_shn.o(.text) - build/asm/overlays/ovl_En_Shn_data.o(.data) - build/src/overlays/actors/ovl_En_Shn/z_en_shn.o(.rodata) - build/asm/overlays/ovl_En_Shn_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_ShnSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Stop_heishiSegmentStart = SegmentStart; - ovl_En_Stop_heishi : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Stop_heishi/z_en_stop_heishi.o(.text) - build/asm/overlays/ovl_En_Stop_heishi_data.o(.data) - build/src/overlays/actors/ovl_En_Stop_heishi/z_en_stop_heishi.o(.rodata) - build/asm/overlays/ovl_En_Stop_heishi_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Stop_heishiSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_BigicicleSegmentStart = SegmentStart; - ovl_Obj_Bigicicle : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Bigicicle/z_obj_bigicicle.o(.text) - build/asm/overlays/ovl_Obj_Bigicicle_data.o(.data) - build/src/overlays/actors/ovl_Obj_Bigicicle/z_obj_bigicicle.o(.rodata) - build/asm/overlays/ovl_Obj_Bigicicle_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_BigicicleSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Lift_NutsSegmentStart = SegmentStart; - ovl_En_Lift_Nuts : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Lift_Nuts/z_en_lift_nuts.o(.text) - build/asm/overlays/ovl_En_Lift_Nuts_data.o(.data) - build/src/overlays/actors/ovl_En_Lift_Nuts/z_en_lift_nuts.o(.rodata) - build/asm/overlays/ovl_En_Lift_Nuts_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Lift_NutsSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_TkSegmentStart = SegmentStart; - ovl_En_Tk : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Tk/z_en_tk.o(.text) - build/asm/overlays/ovl_En_Tk_data.o(.data) - build/src/overlays/actors/ovl_En_Tk/z_en_tk.o(.rodata) - build/asm/overlays/ovl_En_Tk_rodata.o(.rodata) - ovl_En_Tk_bss_start = .; - } - . += 0x10; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_TkSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Market_StepSegmentStart = SegmentStart; - ovl_Bg_Market_Step : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Market_Step/z_bg_market_step.o(.text) - build/src/overlays/actors/ovl_Bg_Market_Step/z_bg_market_step.o(.data) - build/src/overlays/actors/ovl_Bg_Market_Step/z_bg_market_step.o(.rodata) - build/src/overlays/actors/ovl_Bg_Market_Step/z_bg_market_step.o(.rodata) - build/src/overlays/actors/ovl_Bg_Market_Step/z_bg_market_step_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Market_StepSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_LupygameliftSegmentStart = SegmentStart; - ovl_Obj_Lupygamelift : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Lupygamelift/z_obj_lupygamelift.o(.text) - build/asm/overlays/ovl_Obj_Lupygamelift_data.o(.data) - build/src/overlays/actors/ovl_Obj_Lupygamelift/z_obj_lupygamelift.o(.rodata) - build/asm/overlays/ovl_Obj_Lupygamelift_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_LupygameliftSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Test7SegmentStart = SegmentStart; - ovl_En_Test7 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Test7/z_en_test7.o(.text) - build/asm/overlays/ovl_En_Test7_data.o(.data) - build/src/overlays/actors/ovl_En_Test7/z_en_test7.o(.rodata) - build/asm/overlays/ovl_En_Test7_rodata.o(.rodata) - ovl_En_Test7_bss_start = .; - } - . += 0x60; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Test7SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_LightblockSegmentStart = SegmentStart; - ovl_Obj_Lightblock : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Lightblock/z_obj_lightblock.o(.text) - build/asm/overlays/ovl_Obj_Lightblock_data.o(.data) - build/src/overlays/actors/ovl_Obj_Lightblock/z_obj_lightblock.o(.rodata) - build/asm/overlays/ovl_Obj_Lightblock_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_LightblockSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Mir_Ray2SegmentStart = SegmentStart; - ovl_Mir_Ray2 : AT(RomLocation) - { - build/src/overlays/actors/ovl_Mir_Ray2/z_mir_ray2.o(.text) - build/asm/overlays/ovl_Mir_Ray2_data.o(.data) - build/src/overlays/actors/ovl_Mir_Ray2/z_mir_ray2.o(.rodata) - build/asm/overlays/ovl_Mir_Ray2_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Mir_Ray2SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_WdhandSegmentStart = SegmentStart; - ovl_En_Wdhand : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Wdhand/z_en_wdhand.o(.text) - build/asm/overlays/ovl_En_Wdhand_data.o(.data) - build/src/overlays/actors/ovl_En_Wdhand/z_en_wdhand.o(.rodata) - build/asm/overlays/ovl_En_Wdhand_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_WdhandSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_GamelupySegmentStart = SegmentStart; - ovl_En_Gamelupy : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Gamelupy/z_en_gamelupy.o(.text) - build/asm/overlays/ovl_En_Gamelupy_data.o(.data) - build/src/overlays/actors/ovl_En_Gamelupy/z_en_gamelupy.o(.rodata) - build/asm/overlays/ovl_En_Gamelupy_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_GamelupySegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Danpei_MovebgSegmentStart = SegmentStart; - ovl_Bg_Danpei_Movebg : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Danpei_Movebg/z_bg_danpei_movebg.o(.text) - build/asm/overlays/ovl_Bg_Danpei_Movebg_data.o(.data) - build/src/overlays/actors/ovl_Bg_Danpei_Movebg/z_bg_danpei_movebg.o(.rodata) - build/asm/overlays/ovl_Bg_Danpei_Movebg_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Danpei_MovebgSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_SnowwdSegmentStart = SegmentStart; - ovl_En_Snowwd : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Snowwd/z_en_snowwd.o(.text) - build/asm/overlays/ovl_En_Snowwd_data.o(.data) - build/src/overlays/actors/ovl_En_Snowwd/z_en_snowwd.o(.rodata) - build/asm/overlays/ovl_En_Snowwd_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_SnowwdSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_PmSegmentStart = SegmentStart; - ovl_En_Pm : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Pm/z_en_pm.o(.text) - build/asm/overlays/ovl_En_Pm_data.o(.data) - build/src/overlays/actors/ovl_En_Pm/z_en_pm.o(.rodata) - build/asm/overlays/ovl_En_Pm_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_PmSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_GakufuSegmentStart = SegmentStart; - ovl_En_Gakufu : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Gakufu/z_en_gakufu.o(.text) - build/asm/overlays/ovl_En_Gakufu_data.o(.data) - build/src/overlays/actors/ovl_En_Gakufu/z_en_gakufu.o(.rodata) - build/asm/overlays/ovl_En_Gakufu_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_GakufuSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Elf_Msg4SegmentStart = SegmentStart; - ovl_Elf_Msg4 : AT(RomLocation) - { - build/src/overlays/actors/ovl_Elf_Msg4/z_elf_msg4.o(.text) - build/asm/overlays/ovl_Elf_Msg4_data.o(.data) - build/src/overlays/actors/ovl_Elf_Msg4/z_elf_msg4.o(.rodata) - build/asm/overlays/ovl_Elf_Msg4_rodata.o(.rodata) - build/asm/overlays/ovl_Elf_Msg4_late_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Elf_Msg4SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Elf_Msg5SegmentStart = SegmentStart; - ovl_Elf_Msg5 : AT(RomLocation) - { - build/src/overlays/actors/ovl_Elf_Msg5/z_elf_msg5.o(.text) - build/asm/overlays/ovl_Elf_Msg5_data.o(.data) - build/asm/overlays/ovl_Elf_Msg5_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Elf_Msg5SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Col_ManSegmentStart = SegmentStart; - ovl_En_Col_Man : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Col_Man/z_en_col_man.o(.text) - build/asm/overlays/ovl_En_Col_Man_data.o(.data) - build/src/overlays/actors/ovl_En_Col_Man/z_en_col_man.o(.rodata) - build/asm/overlays/ovl_En_Col_Man_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Col_ManSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Talk_GibudSegmentStart = SegmentStart; - ovl_En_Talk_Gibud : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Talk_Gibud/z_en_talk_gibud.o(.text) - build/asm/overlays/ovl_En_Talk_Gibud_data.o(.data) - build/src/overlays/actors/ovl_En_Talk_Gibud/z_en_talk_gibud.o(.rodata) - build/asm/overlays/ovl_En_Talk_Gibud_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Talk_GibudSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_GiantSegmentStart = SegmentStart; - ovl_En_Giant : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Giant/z_en_giant.o(.text) - build/asm/overlays/ovl_En_Giant_data.o(.data) - build/src/overlays/actors/ovl_En_Giant/z_en_giant.o(.rodata) - build/asm/overlays/ovl_En_Giant_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_GiantSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_SnowballSegmentStart = SegmentStart; - ovl_Obj_Snowball : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Snowball/z_obj_snowball.o(.text) - build/asm/overlays/ovl_Obj_Snowball_data.o(.data) - build/src/overlays/actors/ovl_Obj_Snowball/z_obj_snowball.o(.rodata) - build/asm/overlays/ovl_Obj_Snowball_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_SnowballSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Boss_HakuginSegmentStart = SegmentStart; - ovl_Boss_Hakugin : AT(RomLocation) - { - build/src/overlays/actors/ovl_Boss_Hakugin/z_boss_hakugin.o(.text) - build/asm/overlays/ovl_Boss_Hakugin_data.o(.data) - build/src/overlays/actors/ovl_Boss_Hakugin/z_boss_hakugin.o(.rodata) - build/asm/overlays/ovl_Boss_Hakugin_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Boss_HakuginSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Gb2SegmentStart = SegmentStart; - ovl_En_Gb2 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Gb2/z_en_gb2.o(.text) - build/asm/overlays/ovl_En_Gb2_data.o(.data) - build/src/overlays/actors/ovl_En_Gb2/z_en_gb2.o(.rodata) - build/asm/overlays/ovl_En_Gb2_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Gb2SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_OnpumanSegmentStart = SegmentStart; - ovl_En_Onpuman : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Onpuman/z_en_onpuman.o(.text) - build/asm/overlays/ovl_En_Onpuman_data.o(.data) - build/src/overlays/actors/ovl_En_Onpuman/z_en_onpuman.o(.rodata) - build/asm/overlays/ovl_En_Onpuman_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_OnpumanSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Tobira01SegmentStart = SegmentStart; - ovl_Bg_Tobira01 : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Tobira01/z_bg_tobira01.o(.text) - build/src/overlays/actors/ovl_Bg_Tobira01/z_bg_tobira01.o(.data) - build/src/overlays/actors/ovl_Bg_Tobira01/z_bg_tobira01.o(.rodata) - build/src/overlays/actors/ovl_Bg_Tobira01/z_bg_tobira01_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Tobira01SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Tag_ObjSegmentStart = SegmentStart; - ovl_En_Tag_Obj : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Tag_Obj/z_en_tag_obj.o(.text) - build/src/overlays/actors/ovl_En_Tag_Obj/z_en_tag_obj.o(.data) - build/src/overlays/actors/ovl_En_Tag_Obj/z_en_tag_obj.o(.rodata) - build/src/overlays/actors/ovl_En_Tag_Obj/z_en_tag_obj_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Tag_ObjSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_DhouseSegmentStart = SegmentStart; - ovl_Obj_Dhouse : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Dhouse/z_obj_dhouse.o(.text) - build/asm/overlays/ovl_Obj_Dhouse_data.o(.data) - build/src/overlays/actors/ovl_Obj_Dhouse/z_obj_dhouse.o(.rodata) - build/asm/overlays/ovl_Obj_Dhouse_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_DhouseSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_HakaisiSegmentStart = SegmentStart; - ovl_Obj_Hakaisi : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Hakaisi/z_obj_hakaisi.o(.text) - build/asm/overlays/ovl_Obj_Hakaisi_data.o(.data) - build/src/overlays/actors/ovl_Obj_Hakaisi/z_obj_hakaisi.o(.rodata) - build/asm/overlays/ovl_Obj_Hakaisi_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_HakaisiSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Hakugin_SwitchSegmentStart = SegmentStart; - ovl_Bg_Hakugin_Switch : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Hakugin_Switch/z_bg_hakugin_switch.o(.text) - build/asm/overlays/ovl_Bg_Hakugin_Switch_data.o(.data) - build/src/overlays/actors/ovl_Bg_Hakugin_Switch/z_bg_hakugin_switch.o(.rodata) - build/asm/overlays/ovl_Bg_Hakugin_Switch_rodata.o(.rodata) - ovl_Bg_Hakugin_Switch_bss_start = .; - } - . += 0x10; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Hakugin_SwitchSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_SnowmanSegmentStart = SegmentStart; - ovl_En_Snowman : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Snowman/z_en_snowman.o(.text) - build/asm/overlays/ovl_En_Snowman_data.o(.data) - build/src/overlays/actors/ovl_En_Snowman/z_en_snowman.o(.rodata) - build/asm/overlays/ovl_En_Snowman_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_SnowmanSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_TG_SwSegmentStart = SegmentStart; - ovl_TG_Sw : AT(RomLocation) - { - build/src/overlays/actors/ovl_TG_Sw/z_tg_sw.o(.text) - build/src/overlays/actors/ovl_TG_Sw/z_tg_sw.o(.data) - build/src/overlays/actors/ovl_TG_Sw/z_tg_sw.o(.rodata) - build/src/overlays/actors/ovl_TG_Sw/z_tg_sw.o(.rodata) - build/src/overlays/actors/ovl_TG_Sw/z_tg_sw_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_TG_SwSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Po_SistersSegmentStart = SegmentStart; - ovl_En_Po_Sisters : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Po_Sisters/z_en_po_sisters.o(.text) - build/asm/overlays/ovl_En_Po_Sisters_data.o(.data) - build/src/overlays/actors/ovl_En_Po_Sisters/z_en_po_sisters.o(.rodata) - build/asm/overlays/ovl_En_Po_Sisters_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Po_SistersSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_PpSegmentStart = SegmentStart; - ovl_En_Pp : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Pp/z_en_pp.o(.text) - build/asm/overlays/ovl_En_Pp_data.o(.data) - build/src/overlays/actors/ovl_En_Pp/z_en_pp.o(.rodata) - build/asm/overlays/ovl_En_Pp_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_PpSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_HakurockSegmentStart = SegmentStart; - ovl_En_Hakurock : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Hakurock/z_en_hakurock.o(.text) - build/asm/overlays/ovl_En_Hakurock_data.o(.data) - build/src/overlays/actors/ovl_En_Hakurock/z_en_hakurock.o(.rodata) - build/asm/overlays/ovl_En_Hakurock_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_HakurockSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_HanabiSegmentStart = SegmentStart; - ovl_En_Hanabi : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Hanabi/z_en_hanabi.o(.text) - build/asm/overlays/ovl_En_Hanabi_data.o(.data) - build/src/overlays/actors/ovl_En_Hanabi/z_en_hanabi.o(.rodata) - build/asm/overlays/ovl_En_Hanabi_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_HanabiSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_DowsingSegmentStart = SegmentStart; - ovl_Obj_Dowsing : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Dowsing/z_obj_dowsing.o(.text) - build/asm/overlays/ovl_Obj_Dowsing_data.o(.data) - build/src/overlays/actors/ovl_Obj_Dowsing/z_obj_dowsing.o(.rodata) - build/asm/overlays/ovl_Obj_Dowsing_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_DowsingSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_WindSegmentStart = SegmentStart; - ovl_Obj_Wind : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Wind/z_obj_wind.o(.text) - build/asm/overlays/ovl_Obj_Wind_data.o(.data) - build/src/overlays/actors/ovl_Obj_Wind/z_obj_wind.o(.rodata) - build/asm/overlays/ovl_Obj_Wind_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_WindSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_RacedogSegmentStart = SegmentStart; - ovl_En_Racedog : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Racedog/z_en_racedog.o(.text) - build/asm/overlays/ovl_En_Racedog_data.o(.data) - build/src/overlays/actors/ovl_En_Racedog/z_en_racedog.o(.rodata) - build/asm/overlays/ovl_En_Racedog_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_RacedogSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Kendo_JsSegmentStart = SegmentStart; - ovl_En_Kendo_Js : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Kendo_Js/z_en_kendo_js.o(.text) - build/asm/overlays/ovl_En_Kendo_Js_data.o(.data) - build/src/overlays/actors/ovl_En_Kendo_Js/z_en_kendo_js.o(.rodata) - build/asm/overlays/ovl_En_Kendo_Js_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Kendo_JsSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_BotihasiraSegmentStart = SegmentStart; - ovl_Bg_Botihasira : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Botihasira/z_bg_botihasira.o(.text) - build/asm/overlays/ovl_Bg_Botihasira_data.o(.data) - build/src/overlays/actors/ovl_Bg_Botihasira/z_bg_botihasira.o(.rodata) - build/asm/overlays/ovl_Bg_Botihasira_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_BotihasiraSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Fish2SegmentStart = SegmentStart; - ovl_En_Fish2 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Fish2/z_en_fish2.o(.text) - build/asm/overlays/ovl_En_Fish2_data.o(.data) - build/src/overlays/actors/ovl_En_Fish2/z_en_fish2.o(.rodata) - build/asm/overlays/ovl_En_Fish2_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Fish2SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_PstSegmentStart = SegmentStart; - ovl_En_Pst : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Pst/z_en_pst.o(.text) - build/asm/overlays/ovl_En_Pst_data.o(.data) - build/src/overlays/actors/ovl_En_Pst/z_en_pst.o(.rodata) - build/asm/overlays/ovl_En_Pst_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_PstSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_PohSegmentStart = SegmentStart; - ovl_En_Poh : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Poh/z_en_poh.o(.text) - build/asm/overlays/ovl_En_Poh_data.o(.data) - build/src/overlays/actors/ovl_En_Poh/z_en_poh.o(.rodata) - build/asm/overlays/ovl_En_Poh_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_PohSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_SpidertentSegmentStart = SegmentStart; - ovl_Obj_Spidertent : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Spidertent/z_obj_spidertent.o(.text) - build/asm/overlays/ovl_Obj_Spidertent_data.o(.data) - build/src/overlays/actors/ovl_Obj_Spidertent/z_obj_spidertent.o(.rodata) - build/asm/overlays/ovl_Obj_Spidertent_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_SpidertentSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_ZoraeggSegmentStart = SegmentStart; - ovl_En_Zoraegg : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Zoraegg/z_en_zoraegg.o(.text) - build/asm/overlays/ovl_En_Zoraegg_data.o(.data) - build/src/overlays/actors/ovl_En_Zoraegg/z_en_zoraegg.o(.rodata) - build/asm/overlays/ovl_En_Zoraegg_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_ZoraeggSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_KbtSegmentStart = SegmentStart; - ovl_En_Kbt : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Kbt/z_en_kbt.o(.text) - build/asm/overlays/ovl_En_Kbt_data.o(.data) - build/src/overlays/actors/ovl_En_Kbt/z_en_kbt.o(.rodata) - build/asm/overlays/ovl_En_Kbt_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_KbtSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_GgSegmentStart = SegmentStart; - ovl_En_Gg : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Gg/z_en_gg.o(.text) - build/asm/overlays/ovl_En_Gg_data.o(.data) - build/src/overlays/actors/ovl_En_Gg/z_en_gg.o(.rodata) - build/asm/overlays/ovl_En_Gg_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_GgSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_MarutaSegmentStart = SegmentStart; - ovl_En_Maruta : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Maruta/z_en_maruta.o(.text) - build/asm/overlays/ovl_En_Maruta_data.o(.data) - build/src/overlays/actors/ovl_En_Maruta/z_en_maruta.o(.rodata) - build/asm/overlays/ovl_En_Maruta_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_MarutaSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_Snowball2SegmentStart = SegmentStart; - ovl_Obj_Snowball2 : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Snowball2/z_obj_snowball2.o(.text) - build/asm/overlays/ovl_Obj_Snowball2_data.o(.data) - build/src/overlays/actors/ovl_Obj_Snowball2/z_obj_snowball2.o(.rodata) - build/asm/overlays/ovl_Obj_Snowball2_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_Snowball2SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Gg2SegmentStart = SegmentStart; - ovl_En_Gg2 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Gg2/z_en_gg2.o(.text) - build/asm/overlays/ovl_En_Gg2_data.o(.data) - build/src/overlays/actors/ovl_En_Gg2/z_en_gg2.o(.rodata) - build/asm/overlays/ovl_En_Gg2_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Gg2SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_GhakaSegmentStart = SegmentStart; - ovl_Obj_Ghaka : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Ghaka/z_obj_ghaka.o(.text) - build/src/overlays/actors/ovl_Obj_Ghaka/z_obj_ghaka.o(.data) - build/src/overlays/actors/ovl_Obj_Ghaka/z_obj_ghaka.o(.rodata) - build/src/overlays/actors/ovl_Obj_Ghaka/z_obj_ghaka_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_GhakaSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_DnpSegmentStart = SegmentStart; - ovl_En_Dnp : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Dnp/z_en_dnp.o(.text) - build/asm/overlays/ovl_En_Dnp_data.o(.data) - build/src/overlays/actors/ovl_En_Dnp/z_en_dnp.o(.rodata) - build/asm/overlays/ovl_En_Dnp_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_DnpSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_DaiSegmentStart = SegmentStart; - ovl_En_Dai : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Dai/z_en_dai.o(.text) - build/asm/overlays/ovl_En_Dai_data.o(.data) - build/src/overlays/actors/ovl_En_Dai/z_en_dai.o(.rodata) - build/asm/overlays/ovl_En_Dai_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_DaiSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Goron_OyuSegmentStart = SegmentStart; - ovl_Bg_Goron_Oyu : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Goron_Oyu/z_bg_goron_oyu.o(.text) - build/asm/overlays/ovl_Bg_Goron_Oyu_data.o(.data) - build/src/overlays/actors/ovl_Bg_Goron_Oyu/z_bg_goron_oyu.o(.rodata) - build/asm/overlays/ovl_Bg_Goron_Oyu_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Goron_OyuSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_KgySegmentStart = SegmentStart; - ovl_En_Kgy : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Kgy/z_en_kgy.o(.text) - build/asm/overlays/ovl_En_Kgy_data.o(.data) - build/src/overlays/actors/ovl_En_Kgy/z_en_kgy.o(.rodata) - build/asm/overlays/ovl_En_Kgy_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_KgySegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_InvadepohSegmentStart = SegmentStart; - ovl_En_Invadepoh : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Invadepoh/z_en_invadepoh.o(.text) - build/src/overlays/actors/ovl_En_Invadepoh/z_en_invadepoh.o(.data) - build/src/overlays/actors/ovl_En_Invadepoh/z_en_invadepoh.o(.rodata) - build/src/overlays/actors/ovl_En_Invadepoh/z_en_invadepoh_overlay.o(.ovl) - ovl_En_Invadepoh_bss_start = .; - } - . += 0x170; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_InvadepohSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_GkSegmentStart = SegmentStart; - ovl_En_Gk : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Gk/z_en_gk.o(.text) - build/asm/overlays/ovl_En_Gk_data.o(.data) - build/src/overlays/actors/ovl_En_Gk/z_en_gk.o(.rodata) - build/asm/overlays/ovl_En_Gk_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_GkSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_AnSegmentStart = SegmentStart; - ovl_En_An : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_An/z_en_an.o(.text) - build/asm/overlays/ovl_En_An_data.o(.data) - build/src/overlays/actors/ovl_En_An/z_en_an.o(.rodata) - build/asm/overlays/ovl_En_An_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_AnSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_BeeSegmentStart = SegmentStart; - ovl_En_Bee : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Bee/z_en_bee.o(.text) - build/asm/overlays/ovl_En_Bee_data.o(.data) - build/src/overlays/actors/ovl_En_Bee/z_en_bee.o(.rodata) - build/asm/overlays/ovl_En_Bee_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_BeeSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_OtSegmentStart = SegmentStart; - ovl_En_Ot : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Ot/z_en_ot.o(.text) - build/asm/overlays/ovl_En_Ot_data.o(.data) - build/src/overlays/actors/ovl_En_Ot/z_en_ot.o(.rodata) - build/asm/overlays/ovl_En_Ot_rodata.o(.rodata) - ovl_En_Ot_bss_start = .; - } - . += 0x10; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_OtSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_DragonSegmentStart = SegmentStart; - ovl_En_Dragon : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Dragon/z_en_dragon.o(.text) - build/asm/overlays/ovl_En_Dragon_data.o(.data) - build/src/overlays/actors/ovl_En_Dragon/z_en_dragon.o(.rodata) - build/asm/overlays/ovl_En_Dragon_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_DragonSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_DoraSegmentStart = SegmentStart; - ovl_Obj_Dora : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Dora/z_obj_dora.o(.text) - build/asm/overlays/ovl_Obj_Dora_data.o(.data) - build/src/overlays/actors/ovl_Obj_Dora/z_obj_dora.o(.rodata) - build/asm/overlays/ovl_Obj_Dora_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_DoraSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_BigpoSegmentStart = SegmentStart; - ovl_En_Bigpo : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Bigpo/z_en_bigpo.o(.text) - build/asm/overlays/ovl_En_Bigpo_data.o(.data) - build/src/overlays/actors/ovl_En_Bigpo/z_en_bigpo.o(.rodata) - build/asm/overlays/ovl_En_Bigpo_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_BigpoSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_Kendo_KanbanSegmentStart = SegmentStart; - ovl_Obj_Kendo_Kanban : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Kendo_Kanban/z_obj_kendo_kanban.o(.text) - build/asm/overlays/ovl_Obj_Kendo_Kanban_data.o(.data) - build/src/overlays/actors/ovl_Obj_Kendo_Kanban/z_obj_kendo_kanban.o(.rodata) - build/asm/overlays/ovl_Obj_Kendo_Kanban_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_Kendo_KanbanSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_HarikoSegmentStart = SegmentStart; - ovl_Obj_Hariko : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Hariko/z_obj_hariko.o(.text) - build/asm/overlays/ovl_Obj_Hariko_data.o(.data) - build/asm/overlays/ovl_Obj_Hariko_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_HarikoSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_SthSegmentStart = SegmentStart; - ovl_En_Sth : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Sth/z_en_sth.o(.text) - build/asm/overlays/ovl_En_Sth_data.o(.data) - build/src/overlays/actors/ovl_En_Sth/z_en_sth.o(.rodata) - build/asm/overlays/ovl_En_Sth_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_SthSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Sinkai_KabeSegmentStart = SegmentStart; - ovl_Bg_Sinkai_Kabe : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Sinkai_Kabe/z_bg_sinkai_kabe.o(.text) - build/asm/overlays/ovl_Bg_Sinkai_Kabe_data.o(.data) - build/src/overlays/actors/ovl_Bg_Sinkai_Kabe/z_bg_sinkai_kabe.o(.rodata) - build/asm/overlays/ovl_Bg_Sinkai_Kabe_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Sinkai_KabeSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Haka_CurtainSegmentStart = SegmentStart; - ovl_Bg_Haka_Curtain : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Haka_Curtain/z_bg_haka_curtain.o(.text) - build/src/overlays/actors/ovl_Bg_Haka_Curtain/z_bg_haka_curtain.o(.data) - build/src/overlays/actors/ovl_Bg_Haka_Curtain/z_bg_haka_curtain.o(.rodata) - build/src/overlays/actors/ovl_Bg_Haka_Curtain/z_bg_haka_curtain.o(.rodata) - build/src/overlays/actors/ovl_Bg_Haka_Curtain/z_bg_haka_curtain_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Haka_CurtainSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Kin2_BombwallSegmentStart = SegmentStart; - ovl_Bg_Kin2_Bombwall : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Kin2_Bombwall/z_bg_kin2_bombwall.o(.text) - build/asm/overlays/ovl_Bg_Kin2_Bombwall_data.o(.data) - build/src/overlays/actors/ovl_Bg_Kin2_Bombwall/z_bg_kin2_bombwall.o(.rodata) - build/asm/overlays/ovl_Bg_Kin2_Bombwall_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Kin2_BombwallSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Kin2_FenceSegmentStart = SegmentStart; - ovl_Bg_Kin2_Fence : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Kin2_Fence/z_bg_kin2_fence.o(.text) - build/src/overlays/actors/ovl_Bg_Kin2_Fence/z_bg_kin2_fence.o(.data) - build/src/overlays/actors/ovl_Bg_Kin2_Fence/z_bg_kin2_fence.o(.rodata) - build/src/overlays/actors/ovl_Bg_Kin2_Fence/z_bg_kin2_fence_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Kin2_FenceSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Kin2_PictureSegmentStart = SegmentStart; - ovl_Bg_Kin2_Picture : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Kin2_Picture/z_bg_kin2_picture.o(.text) - build/asm/overlays/ovl_Bg_Kin2_Picture_data.o(.data) - build/src/overlays/actors/ovl_Bg_Kin2_Picture/z_bg_kin2_picture.o(.rodata) - build/asm/overlays/ovl_Bg_Kin2_Picture_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Kin2_PictureSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Kin2_ShelfSegmentStart = SegmentStart; - ovl_Bg_Kin2_Shelf : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Kin2_Shelf/z_bg_kin2_shelf.o(.text) - build/asm/overlays/ovl_Bg_Kin2_Shelf_data.o(.data) - build/src/overlays/actors/ovl_Bg_Kin2_Shelf/z_bg_kin2_shelf.o(.rodata) - build/asm/overlays/ovl_Bg_Kin2_Shelf_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Kin2_ShelfSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Rail_SkbSegmentStart = SegmentStart; - ovl_En_Rail_Skb : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Rail_Skb/z_en_rail_skb.o(.text) - build/asm/overlays/ovl_En_Rail_Skb_data.o(.data) - build/src/overlays/actors/ovl_En_Rail_Skb/z_en_rail_skb.o(.rodata) - build/asm/overlays/ovl_En_Rail_Skb_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Rail_SkbSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_JgSegmentStart = SegmentStart; - ovl_En_Jg : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Jg/z_en_jg.o(.text) - build/asm/overlays/ovl_En_Jg_data.o(.data) - build/src/overlays/actors/ovl_En_Jg/z_en_jg.o(.rodata) - build/asm/overlays/ovl_En_Jg_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_JgSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Tru_MtSegmentStart = SegmentStart; - ovl_En_Tru_Mt : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Tru_Mt/z_en_tru_mt.o(.text) - build/asm/overlays/ovl_En_Tru_Mt_data.o(.data) - build/src/overlays/actors/ovl_En_Tru_Mt/z_en_tru_mt.o(.rodata) - build/asm/overlays/ovl_En_Tru_Mt_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Tru_MtSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_UmSegmentStart = SegmentStart; - ovl_Obj_Um : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Um/z_obj_um.o(.text) - build/asm/overlays/ovl_Obj_Um_data.o(.data) - build/src/overlays/actors/ovl_Obj_Um/z_obj_um.o(.rodata) - build/asm/overlays/ovl_Obj_Um_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_UmSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Neo_ReebaSegmentStart = SegmentStart; - ovl_En_Neo_Reeba : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Neo_Reeba/z_en_neo_reeba.o(.text) - build/asm/overlays/ovl_En_Neo_Reeba_data.o(.data) - build/src/overlays/actors/ovl_En_Neo_Reeba/z_en_neo_reeba.o(.rodata) - build/asm/overlays/ovl_En_Neo_Reeba_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Neo_ReebaSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Mbar_ChairSegmentStart = SegmentStart; - ovl_Bg_Mbar_Chair : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Mbar_Chair/z_bg_mbar_chair.o(.text) - build/src/overlays/actors/ovl_Bg_Mbar_Chair/z_bg_mbar_chair.o(.data) - build/src/overlays/actors/ovl_Bg_Mbar_Chair/z_bg_mbar_chair.o(.rodata) - build/src/overlays/actors/ovl_Bg_Mbar_Chair/z_bg_mbar_chair.o(.rodata) - build/src/overlays/actors/ovl_Bg_Mbar_Chair/z_bg_mbar_chair_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Mbar_ChairSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Ikana_BlockSegmentStart = SegmentStart; - ovl_Bg_Ikana_Block : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Ikana_Block/z_bg_ikana_block.o(.text) - build/asm/overlays/ovl_Bg_Ikana_Block_data.o(.data) - build/src/overlays/actors/ovl_Bg_Ikana_Block/z_bg_ikana_block.o(.rodata) - build/asm/overlays/ovl_Bg_Ikana_Block_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Ikana_BlockSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Ikana_MirrorSegmentStart = SegmentStart; - ovl_Bg_Ikana_Mirror : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Ikana_Mirror/z_bg_ikana_mirror.o(.text) - build/asm/overlays/ovl_Bg_Ikana_Mirror_data.o(.data) - build/src/overlays/actors/ovl_Bg_Ikana_Mirror/z_bg_ikana_mirror.o(.rodata) - build/asm/overlays/ovl_Bg_Ikana_Mirror_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Ikana_MirrorSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Ikana_RotaryroomSegmentStart = SegmentStart; - ovl_Bg_Ikana_Rotaryroom : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Ikana_Rotaryroom/z_bg_ikana_rotaryroom.o(.text) - build/asm/overlays/ovl_Bg_Ikana_Rotaryroom_data.o(.data) - build/src/overlays/actors/ovl_Bg_Ikana_Rotaryroom/z_bg_ikana_rotaryroom.o(.rodata) - build/asm/overlays/ovl_Bg_Ikana_Rotaryroom_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Ikana_RotaryroomSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Dblue_BalanceSegmentStart = SegmentStart; - ovl_Bg_Dblue_Balance : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Dblue_Balance/z_bg_dblue_balance.o(.text) - build/asm/overlays/ovl_Bg_Dblue_Balance_data.o(.data) - build/src/overlays/actors/ovl_Bg_Dblue_Balance/z_bg_dblue_balance.o(.rodata) - build/asm/overlays/ovl_Bg_Dblue_Balance_rodata.o(.rodata) - ovl_Bg_Dblue_Balance_bss_start = .; - } - . += 0x10; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Dblue_BalanceSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Dblue_WaterfallSegmentStart = SegmentStart; - ovl_Bg_Dblue_Waterfall : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Dblue_Waterfall/z_bg_dblue_waterfall.o(.text) - build/asm/overlays/ovl_Bg_Dblue_Waterfall_data.o(.data) - build/src/overlays/actors/ovl_Bg_Dblue_Waterfall/z_bg_dblue_waterfall.o(.rodata) - build/asm/overlays/ovl_Bg_Dblue_Waterfall_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Dblue_WaterfallSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_KaizokuSegmentStart = SegmentStart; - ovl_En_Kaizoku : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Kaizoku/z_en_kaizoku.o(.text) - build/asm/overlays/ovl_En_Kaizoku_data.o(.data) - build/src/overlays/actors/ovl_En_Kaizoku/z_en_kaizoku.o(.rodata) - build/asm/overlays/ovl_En_Kaizoku_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_KaizokuSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Ge2SegmentStart = SegmentStart; - ovl_En_Ge2 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Ge2/z_en_ge2.o(.text) - build/asm/overlays/ovl_En_Ge2_data.o(.data) - build/src/overlays/actors/ovl_En_Ge2/z_en_ge2.o(.rodata) - build/asm/overlays/ovl_En_Ge2_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Ge2SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Ma_YtsSegmentStart = SegmentStart; - ovl_En_Ma_Yts : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Ma_Yts/z_en_ma_yts.o(.text) - build/src/overlays/actors/ovl_En_Ma_Yts/z_en_ma_yts.o(.data) - build/src/overlays/actors/ovl_En_Ma_Yts/z_en_ma_yts.o(.rodata) - build/src/overlays/actors/ovl_En_Ma_Yts/z_en_ma_yts_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Ma_YtsSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Ma_YtoSegmentStart = SegmentStart; - ovl_En_Ma_Yto : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Ma_Yto/z_en_ma_yto.o(.text) - build/src/overlays/actors/ovl_En_Ma_Yto/z_en_ma_yto.o(.data) - build/src/overlays/actors/ovl_En_Ma_Yto/z_en_ma_yto.o(.rodata) - build/src/overlays/actors/ovl_En_Ma_Yto/z_en_ma_yto_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Ma_YtoSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_Tokei_TurretSegmentStart = SegmentStart; - ovl_Obj_Tokei_Turret : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Tokei_Turret/z_obj_tokei_turret.o(.text) - build/asm/overlays/ovl_Obj_Tokei_Turret_data.o(.data) - build/src/overlays/actors/ovl_Obj_Tokei_Turret/z_obj_tokei_turret.o(.rodata) - build/asm/overlays/ovl_Obj_Tokei_Turret_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_Tokei_TurretSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Dblue_ElevatorSegmentStart = SegmentStart; - ovl_Bg_Dblue_Elevator : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Dblue_Elevator/z_bg_dblue_elevator.o(.text) - build/asm/overlays/ovl_Bg_Dblue_Elevator_data.o(.data) - build/src/overlays/actors/ovl_Bg_Dblue_Elevator/z_bg_dblue_elevator.o(.rodata) - build/asm/overlays/ovl_Bg_Dblue_Elevator_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Dblue_ElevatorSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_WarpstoneSegmentStart = SegmentStart; - ovl_Obj_Warpstone : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Warpstone/z_obj_warpstone.o(.text) - build/asm/overlays/ovl_Obj_Warpstone_data.o(.data) - build/src/overlays/actors/ovl_Obj_Warpstone/z_obj_warpstone.o(.rodata) - build/asm/overlays/ovl_Obj_Warpstone_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_WarpstoneSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_ZogSegmentStart = SegmentStart; - ovl_En_Zog : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Zog/z_en_zog.o(.text) - build/asm/overlays/ovl_En_Zog_data.o(.data) - build/src/overlays/actors/ovl_En_Zog/z_en_zog.o(.rodata) - build/asm/overlays/ovl_En_Zog_rodata.o(.rodata) - ovl_En_Zog_bss_start = .; - } - . += 0x10; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_ZogSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_RotliftSegmentStart = SegmentStart; - ovl_Obj_Rotlift : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Rotlift/z_obj_rotlift.o(.text) - build/asm/overlays/ovl_Obj_Rotlift_data.o(.data) - build/src/overlays/actors/ovl_Obj_Rotlift/z_obj_rotlift.o(.rodata) - build/asm/overlays/ovl_Obj_Rotlift_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_RotliftSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_Jg_GakkiSegmentStart = SegmentStart; - ovl_Obj_Jg_Gakki : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Jg_Gakki/z_obj_jg_gakki.o(.text) - build/asm/overlays/ovl_Obj_Jg_Gakki_data.o(.data) - build/src/overlays/actors/ovl_Obj_Jg_Gakki/z_obj_jg_gakki.o(.rodata) - build/asm/overlays/ovl_Obj_Jg_Gakki_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_Jg_GakkiSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Inibs_MovebgSegmentStart = SegmentStart; - ovl_Bg_Inibs_Movebg : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Inibs_Movebg/z_bg_inibs_movebg.o(.text) - build/asm/overlays/ovl_Bg_Inibs_Movebg_data.o(.data) - build/src/overlays/actors/ovl_Bg_Inibs_Movebg/z_bg_inibs_movebg.o(.rodata) - build/asm/overlays/ovl_Bg_Inibs_Movebg_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Inibs_MovebgSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_ZotSegmentStart = SegmentStart; - ovl_En_Zot : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Zot/z_en_zot.o(.text) - build/asm/overlays/ovl_En_Zot_data.o(.data) - build/src/overlays/actors/ovl_En_Zot/z_en_zot.o(.rodata) - build/asm/overlays/ovl_En_Zot_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_ZotSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_TreeSegmentStart = SegmentStart; - ovl_Obj_Tree : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Tree/z_obj_tree.o(.text) - build/asm/overlays/ovl_Obj_Tree_data.o(.data) - build/src/overlays/actors/ovl_Obj_Tree/z_obj_tree.o(.rodata) - build/asm/overlays/ovl_Obj_Tree_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_TreeSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_Y2liftSegmentStart = SegmentStart; - ovl_Obj_Y2lift : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Y2lift/z_obj_y2lift.o(.text) - build/asm/overlays/ovl_Obj_Y2lift_data.o(.data) - build/src/overlays/actors/ovl_Obj_Y2lift/z_obj_y2lift.o(.rodata) - build/asm/overlays/ovl_Obj_Y2lift_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_Y2liftSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_Y2shutterSegmentStart = SegmentStart; - ovl_Obj_Y2shutter : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Y2shutter/z_obj_y2shutter.o(.text) - build/asm/overlays/ovl_Obj_Y2shutter_data.o(.data) - build/src/overlays/actors/ovl_Obj_Y2shutter/z_obj_y2shutter.o(.rodata) - build/asm/overlays/ovl_Obj_Y2shutter_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_Y2shutterSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_BoatSegmentStart = SegmentStart; - ovl_Obj_Boat : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Boat/z_obj_boat.o(.text) - build/asm/overlays/ovl_Obj_Boat_data.o(.data) - build/src/overlays/actors/ovl_Obj_Boat/z_obj_boat.o(.rodata) - build/asm/overlays/ovl_Obj_Boat_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_BoatSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_TaruSegmentStart = SegmentStart; - ovl_Obj_Taru : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Taru/z_obj_taru.o(.text) - build/asm/overlays/ovl_Obj_Taru_data.o(.data) - build/src/overlays/actors/ovl_Obj_Taru/z_obj_taru.o(.rodata) - build/asm/overlays/ovl_Obj_Taru_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_TaruSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_HunsuiSegmentStart = SegmentStart; - ovl_Obj_Hunsui : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Hunsui/z_obj_hunsui.o(.text) - build/asm/overlays/ovl_Obj_Hunsui_data.o(.data) - build/src/overlays/actors/ovl_Obj_Hunsui/z_obj_hunsui.o(.rodata) - build/asm/overlays/ovl_Obj_Hunsui_rodata.o(.rodata) - ovl_Obj_Hunsui_bss_start = .; - } - . += 0x10; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_HunsuiSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Jc_MatoSegmentStart = SegmentStart; - ovl_En_Jc_Mato : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Jc_Mato/z_en_jc_mato.o(.text) - build/src/overlays/actors/ovl_En_Jc_Mato/z_en_jc_mato.o(.data) - build/src/overlays/actors/ovl_En_Jc_Mato/z_en_jc_mato.o(.rodata) - build/src/overlays/actors/ovl_En_Jc_Mato/z_en_jc_mato_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Jc_MatoSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Mir_Ray3SegmentStart = SegmentStart; - ovl_Mir_Ray3 : AT(RomLocation) - { - build/src/overlays/actors/ovl_Mir_Ray3/z_mir_ray3.o(.text) - build/asm/overlays/ovl_Mir_Ray3_data.o(.data) - build/src/overlays/actors/ovl_Mir_Ray3/z_mir_ray3.o(.rodata) - build/asm/overlays/ovl_Mir_Ray3_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Mir_Ray3SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_ZobSegmentStart = SegmentStart; - ovl_En_Zob : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Zob/z_en_zob.o(.text) - build/asm/overlays/ovl_En_Zob_data.o(.data) - build/src/overlays/actors/ovl_En_Zob/z_en_zob.o(.rodata) - build/asm/overlays/ovl_En_Zob_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_ZobSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Elf_Msg6SegmentStart = SegmentStart; - ovl_Elf_Msg6 : AT(RomLocation) - { - build/src/overlays/actors/ovl_Elf_Msg6/z_elf_msg6.o(.text) - build/asm/overlays/ovl_Elf_Msg6_data.o(.data) - build/src/overlays/actors/ovl_Elf_Msg6/z_elf_msg6.o(.rodata) - build/asm/overlays/ovl_Elf_Msg6_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Elf_Msg6SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_NozokiSegmentStart = SegmentStart; - ovl_Obj_Nozoki : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Nozoki/z_obj_nozoki.o(.text) - build/asm/overlays/ovl_Obj_Nozoki_data.o(.data) - build/src/overlays/actors/ovl_Obj_Nozoki/z_obj_nozoki.o(.rodata) - build/asm/overlays/ovl_Obj_Nozoki_rodata.o(.rodata) - ovl_Obj_Nozoki_bss_start = .; - } - . += 0x10; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_NozokiSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_TotoSegmentStart = SegmentStart; - ovl_En_Toto : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Toto/z_en_toto.o(.text) - build/src/overlays/actors/ovl_En_Toto/z_en_toto.o(.data) - build/src/overlays/actors/ovl_En_Toto/z_en_toto.o(.rodata) - build/src/overlays/actors/ovl_En_Toto/z_en_toto_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_TotoSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_RailgibudSegmentStart = SegmentStart; - ovl_En_Railgibud : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Railgibud/z_en_railgibud.o(.text) - build/asm/overlays/ovl_En_Railgibud_data.o(.data) - build/src/overlays/actors/ovl_En_Railgibud/z_en_railgibud.o(.rodata) - build/asm/overlays/ovl_En_Railgibud_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_RailgibudSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_BabaSegmentStart = SegmentStart; - ovl_En_Baba : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Baba/z_en_baba.o(.text) - build/asm/overlays/ovl_En_Baba_data.o(.data) - build/src/overlays/actors/ovl_En_Baba/z_en_baba.o(.rodata) - build/asm/overlays/ovl_En_Baba_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_BabaSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_SuttariSegmentStart = SegmentStart; - ovl_En_Suttari : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Suttari/z_en_suttari.o(.text) - build/src/overlays/actors/ovl_En_Suttari/z_en_suttari.o(.data) - build/src/overlays/actors/ovl_En_Suttari/z_en_suttari.o(.rodata) - build/src/overlays/actors/ovl_En_Suttari/z_en_suttari_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_SuttariSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_ZodSegmentStart = SegmentStart; - ovl_En_Zod : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Zod/z_en_zod.o(.text) - build/asm/overlays/ovl_En_Zod_data.o(.data) - build/src/overlays/actors/ovl_En_Zod/z_en_zod.o(.rodata) - build/asm/overlays/ovl_En_Zod_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_ZodSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_KujiyaSegmentStart = SegmentStart; - ovl_En_Kujiya : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Kujiya/z_en_kujiya.o(.text) - build/asm/overlays/ovl_En_Kujiya_data.o(.data) - build/src/overlays/actors/ovl_En_Kujiya/z_en_kujiya.o(.rodata) - build/asm/overlays/ovl_En_Kujiya_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_KujiyaSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_GegSegmentStart = SegmentStart; - ovl_En_Geg : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Geg/z_en_geg.o(.text) - build/asm/overlays/ovl_En_Geg_data.o(.data) - build/src/overlays/actors/ovl_En_Geg/z_en_geg.o(.rodata) - build/asm/overlays/ovl_En_Geg_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_GegSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_KinokoSegmentStart = SegmentStart; - ovl_Obj_Kinoko : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Kinoko/z_obj_kinoko.o(.text) - build/asm/overlays/ovl_Obj_Kinoko_data.o(.data) - build/src/overlays/actors/ovl_Obj_Kinoko/z_obj_kinoko.o(.rodata) - build/asm/overlays/ovl_Obj_Kinoko_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_KinokoSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_YasiSegmentStart = SegmentStart; - ovl_Obj_Yasi : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Yasi/z_obj_yasi.o(.text) - build/asm/overlays/ovl_Obj_Yasi_data.o(.data) - build/src/overlays/actors/ovl_Obj_Yasi/z_obj_yasi.o(.rodata) - build/asm/overlays/ovl_Obj_Yasi_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_YasiSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Tanron1SegmentStart = SegmentStart; - ovl_En_Tanron1 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Tanron1/z_en_tanron1.o(.text) - build/asm/overlays/ovl_En_Tanron1_data.o(.data) - build/src/overlays/actors/ovl_En_Tanron1/z_en_tanron1.o(.rodata) - build/asm/overlays/ovl_En_Tanron1_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Tanron1SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Tanron2SegmentStart = SegmentStart; - ovl_En_Tanron2 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Tanron2/z_en_tanron2.o(.text) - build/asm/overlays/ovl_En_Tanron2_data.o(.data) - build/src/overlays/actors/ovl_En_Tanron2/z_en_tanron2.o(.rodata) - build/asm/overlays/ovl_En_Tanron2_rodata.o(.rodata) - ovl_En_Tanron2_bss_start = .; - } - . += 0x150; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Tanron2SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Tanron3SegmentStart = SegmentStart; - ovl_En_Tanron3 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Tanron3/z_en_tanron3.o(.text) - build/asm/overlays/ovl_En_Tanron3_data.o(.data) - build/src/overlays/actors/ovl_En_Tanron3/z_en_tanron3.o(.rodata) - build/asm/overlays/ovl_En_Tanron3_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Tanron3SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_ChanSegmentStart = SegmentStart; - ovl_Obj_Chan : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Chan/z_obj_chan.o(.text) - build/asm/overlays/ovl_Obj_Chan_data.o(.data) - build/src/overlays/actors/ovl_Obj_Chan/z_obj_chan.o(.rodata) - build/asm/overlays/ovl_Obj_Chan_rodata.o(.rodata) - ovl_Obj_Chan_bss_start = .; - } - . += 0x10; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_ChanSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_ZosSegmentStart = SegmentStart; - ovl_En_Zos : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Zos/z_en_zos.o(.text) - build/asm/overlays/ovl_En_Zos_data.o(.data) - build/src/overlays/actors/ovl_En_Zos/z_en_zos.o(.rodata) - build/asm/overlays/ovl_En_Zos_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_ZosSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_S_GoroSegmentStart = SegmentStart; - ovl_En_S_Goro : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_S_Goro/z_en_s_goro.o(.text) - build/asm/overlays/ovl_En_S_Goro_data.o(.data) - build/src/overlays/actors/ovl_En_S_Goro/z_en_s_goro.o(.rodata) - build/asm/overlays/ovl_En_S_Goro_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_S_GoroSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_NbSegmentStart = SegmentStart; - ovl_En_Nb : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Nb/z_en_nb.o(.text) - build/asm/overlays/ovl_En_Nb_data.o(.data) - build/src/overlays/actors/ovl_En_Nb/z_en_nb.o(.rodata) - build/asm/overlays/ovl_En_Nb_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_NbSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_JaSegmentStart = SegmentStart; - ovl_En_Ja : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Ja/z_en_ja.o(.text) - build/asm/overlays/ovl_En_Ja_data.o(.data) - build/src/overlays/actors/ovl_En_Ja/z_en_ja.o(.rodata) - build/asm/overlays/ovl_En_Ja_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_JaSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_F40_BlockSegmentStart = SegmentStart; - ovl_Bg_F40_Block : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_F40_Block/z_bg_f40_block.o(.text) - build/asm/overlays/ovl_Bg_F40_Block_data.o(.data) - build/src/overlays/actors/ovl_Bg_F40_Block/z_bg_f40_block.o(.rodata) - build/asm/overlays/ovl_Bg_F40_Block_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_F40_BlockSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_F40_SwitchSegmentStart = SegmentStart; - ovl_Bg_F40_Switch : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_F40_Switch/z_bg_f40_switch.o(.text) - build/asm/overlays/ovl_Bg_F40_Switch_data.o(.data) - build/src/overlays/actors/ovl_Bg_F40_Switch/z_bg_f40_switch.o(.rodata) - build/asm/overlays/ovl_Bg_F40_Switch_rodata.o(.rodata) - ovl_Bg_F40_Switch_bss_start = .; - } - . += 0x10; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_F40_SwitchSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Po_ComposerSegmentStart = SegmentStart; - ovl_En_Po_Composer : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Po_Composer/z_en_po_composer.o(.text) - build/asm/overlays/ovl_En_Po_Composer_data.o(.data) - build/src/overlays/actors/ovl_En_Po_Composer/z_en_po_composer.o(.rodata) - build/asm/overlays/ovl_En_Po_Composer_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Po_ComposerSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_GuruguruSegmentStart = SegmentStart; - ovl_En_Guruguru : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Guruguru/z_en_guruguru.o(.text) - build/src/overlays/actors/ovl_En_Guruguru/z_en_guruguru.o(.data) - build/src/overlays/actors/ovl_En_Guruguru/z_en_guruguru.o(.rodata) - build/src/overlays/actors/ovl_En_Guruguru/z_en_guruguru_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_GuruguruSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Oceff_Wipe5SegmentStart = SegmentStart; - ovl_Oceff_Wipe5 : AT(RomLocation) - { - build/src/overlays/actors/ovl_Oceff_Wipe5/z_oceff_wipe5.o(.text) - build/asm/overlays/ovl_Oceff_Wipe5_data.o(.data) - build/src/overlays/actors/ovl_Oceff_Wipe5/z_oceff_wipe5.o(.rodata) - build/asm/overlays/ovl_Oceff_Wipe5_rodata.o(.rodata) - ovl_Oceff_Wipe5_bss_start = .; - } - . += 0x10; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Oceff_Wipe5SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Stone_heishiSegmentStart = SegmentStart; - ovl_En_Stone_heishi : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Stone_heishi/z_en_stone_heishi.o(.text) - build/asm/overlays/ovl_En_Stone_heishi_data.o(.data) - build/src/overlays/actors/ovl_En_Stone_heishi/z_en_stone_heishi.o(.rodata) - build/asm/overlays/ovl_En_Stone_heishi_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Stone_heishiSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Oceff_Wipe6SegmentStart = SegmentStart; - ovl_Oceff_Wipe6 : AT(RomLocation) - { - build/src/overlays/actors/ovl_Oceff_Wipe6/z_oceff_wipe6.o(.text) - build/asm/overlays/ovl_Oceff_Wipe6_data.o(.data) - build/src/overlays/actors/ovl_Oceff_Wipe6/z_oceff_wipe6.o(.rodata) - build/asm/overlays/ovl_Oceff_Wipe6_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Oceff_Wipe6SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_ScopenutsSegmentStart = SegmentStart; - ovl_En_Scopenuts : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Scopenuts/z_en_scopenuts.o(.text) - build/asm/overlays/ovl_En_Scopenuts_data.o(.data) - build/src/overlays/actors/ovl_En_Scopenuts/z_en_scopenuts.o(.rodata) - build/asm/overlays/ovl_En_Scopenuts_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_ScopenutsSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_ScopecrowSegmentStart = SegmentStart; - ovl_En_Scopecrow : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Scopecrow/z_en_scopecrow.o(.text) - build/asm/overlays/ovl_En_Scopecrow_data.o(.data) - build/src/overlays/actors/ovl_En_Scopecrow/z_en_scopecrow.o(.rodata) - build/asm/overlays/ovl_En_Scopecrow_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_ScopecrowSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Oceff_Wipe7SegmentStart = SegmentStart; - ovl_Oceff_Wipe7 : AT(RomLocation) - { - build/src/overlays/actors/ovl_Oceff_Wipe7/z_oceff_wipe7.o(.text) - build/asm/overlays/ovl_Oceff_Wipe7_data.o(.data) - build/src/overlays/actors/ovl_Oceff_Wipe7/z_oceff_wipe7.o(.rodata) - build/asm/overlays/ovl_Oceff_Wipe7_rodata.o(.rodata) - ovl_Oceff_Wipe7_bss_start = .; - } - . += 0x10; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Oceff_Wipe7SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Eff_Kamejima_WaveSegmentStart = SegmentStart; - ovl_Eff_Kamejima_Wave : AT(RomLocation) - { - build/src/overlays/actors/ovl_Eff_Kamejima_Wave/z_eff_kamejima_wave.o(.text) - build/asm/overlays/ovl_Eff_Kamejima_Wave_data.o(.data) - build/src/overlays/actors/ovl_Eff_Kamejima_Wave/z_eff_kamejima_wave.o(.rodata) - build/asm/overlays/ovl_Eff_Kamejima_Wave_rodata.o(.rodata) - ovl_Eff_Kamejima_Wave_bss_start = .; - } - . += 0x10; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Eff_Kamejima_WaveSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_HgSegmentStart = SegmentStart; - ovl_En_Hg : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Hg/z_en_hg.o(.text) - build/src/overlays/actors/ovl_En_Hg/z_en_hg.o(.data) - build/src/overlays/actors/ovl_En_Hg/z_en_hg.o(.rodata) - build/src/overlays/actors/ovl_En_Hg/z_en_hg_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_HgSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_HgoSegmentStart = SegmentStart; - ovl_En_Hgo : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Hgo/z_en_hgo.o(.text) - build/asm/overlays/ovl_En_Hgo_data.o(.data) - build/src/overlays/actors/ovl_En_Hgo/z_en_hgo.o(.rodata) - build/asm/overlays/ovl_En_Hgo_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_HgoSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_ZovSegmentStart = SegmentStart; - ovl_En_Zov : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Zov/z_en_zov.o(.text) - build/asm/overlays/ovl_En_Zov_data.o(.data) - build/src/overlays/actors/ovl_En_Zov/z_en_zov.o(.rodata) - build/asm/overlays/ovl_En_Zov_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_ZovSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_AhSegmentStart = SegmentStart; - ovl_En_Ah : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Ah/z_en_ah.o(.text) - build/asm/overlays/ovl_En_Ah_data.o(.data) - build/src/overlays/actors/ovl_En_Ah/z_en_ah.o(.rodata) - build/asm/overlays/ovl_En_Ah_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_AhSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_HgdoorSegmentStart = SegmentStart; - ovl_Obj_Hgdoor : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Hgdoor/z_obj_hgdoor.o(.text) - build/src/overlays/actors/ovl_Obj_Hgdoor/z_obj_hgdoor.o(.data) - build/src/overlays/actors/ovl_Obj_Hgdoor/z_obj_hgdoor.o(.rodata) - build/src/overlays/actors/ovl_Obj_Hgdoor/z_obj_hgdoor_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_HgdoorSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Ikana_BombwallSegmentStart = SegmentStart; - ovl_Bg_Ikana_Bombwall : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Ikana_Bombwall/z_bg_ikana_bombwall.o(.text) - build/asm/overlays/ovl_Bg_Ikana_Bombwall_data.o(.data) - build/src/overlays/actors/ovl_Bg_Ikana_Bombwall/z_bg_ikana_bombwall.o(.rodata) - build/asm/overlays/ovl_Bg_Ikana_Bombwall_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Ikana_BombwallSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Ikana_RaySegmentStart = SegmentStart; - ovl_Bg_Ikana_Ray : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Ikana_Ray/z_bg_ikana_ray.o(.text) - build/src/overlays/actors/ovl_Bg_Ikana_Ray/z_bg_ikana_ray.o(.data) - build/src/overlays/actors/ovl_Bg_Ikana_Ray/z_bg_ikana_ray.o(.rodata) - build/src/overlays/actors/ovl_Bg_Ikana_Ray/z_bg_ikana_ray.o(.rodata) - build/src/overlays/actors/ovl_Bg_Ikana_Ray/z_bg_ikana_ray_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Ikana_RaySegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Ikana_ShutterSegmentStart = SegmentStart; - ovl_Bg_Ikana_Shutter : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Ikana_Shutter/z_bg_ikana_shutter.o(.text) - build/src/overlays/actors/ovl_Bg_Ikana_Shutter/z_bg_ikana_shutter.o(.data) - build/src/overlays/actors/ovl_Bg_Ikana_Shutter/z_bg_ikana_shutter.o(.rodata) - build/src/overlays/actors/ovl_Bg_Ikana_Shutter/z_bg_ikana_shutter_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Ikana_ShutterSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Haka_BombwallSegmentStart = SegmentStart; - ovl_Bg_Haka_Bombwall : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Haka_Bombwall/z_bg_haka_bombwall.o(.text) - build/asm/overlays/ovl_Bg_Haka_Bombwall_data.o(.data) - build/src/overlays/actors/ovl_Bg_Haka_Bombwall/z_bg_haka_bombwall.o(.rodata) - build/asm/overlays/ovl_Bg_Haka_Bombwall_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Haka_BombwallSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Haka_TombSegmentStart = SegmentStart; - ovl_Bg_Haka_Tomb : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Haka_Tomb/z_bg_haka_tomb.o(.text) - build/src/overlays/actors/ovl_Bg_Haka_Tomb/z_bg_haka_tomb.o(.data) - build/src/overlays/actors/ovl_Bg_Haka_Tomb/z_bg_haka_tomb.o(.rodata) - build/src/overlays/actors/ovl_Bg_Haka_Tomb/z_bg_haka_tomb_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Haka_TombSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Sc_RuppeSegmentStart = SegmentStart; - ovl_En_Sc_Ruppe : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Sc_Ruppe/z_en_sc_ruppe.o(.text) - build/asm/overlays/ovl_En_Sc_Ruppe_data.o(.data) - build/src/overlays/actors/ovl_En_Sc_Ruppe/z_en_sc_ruppe.o(.rodata) - build/asm/overlays/ovl_En_Sc_Ruppe_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Sc_RuppeSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Iknv_DoukutuSegmentStart = SegmentStart; - ovl_Bg_Iknv_Doukutu : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Iknv_Doukutu/z_bg_iknv_doukutu.o(.text) - build/asm/overlays/ovl_Bg_Iknv_Doukutu_data.o(.data) - build/src/overlays/actors/ovl_Bg_Iknv_Doukutu/z_bg_iknv_doukutu.o(.rodata) - build/asm/overlays/ovl_Bg_Iknv_Doukutu_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Iknv_DoukutuSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Iknv_ObjSegmentStart = SegmentStart; - ovl_Bg_Iknv_Obj : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Iknv_Obj/z_bg_iknv_obj.o(.text) - build/src/overlays/actors/ovl_Bg_Iknv_Obj/z_bg_iknv_obj.o(.data) - build/src/overlays/actors/ovl_Bg_Iknv_Obj/z_bg_iknv_obj.o(.rodata) - build/src/overlays/actors/ovl_Bg_Iknv_Obj/z_bg_iknv_obj_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Iknv_ObjSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_PameraSegmentStart = SegmentStart; - ovl_En_Pamera : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Pamera/z_en_pamera.o(.text) - build/src/overlays/actors/ovl_En_Pamera/z_en_pamera.o(.data) - build/src/overlays/actors/ovl_En_Pamera/z_en_pamera.o(.rodata) - build/src/overlays/actors/ovl_En_Pamera/z_en_pamera_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_PameraSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_HsStumpSegmentStart = SegmentStart; - ovl_Obj_HsStump : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_HsStump/z_obj_hsstump.o(.text) - build/src/overlays/actors/ovl_Obj_HsStump/z_obj_hsstump.o(.data) - build/src/overlays/actors/ovl_Obj_HsStump/z_obj_hsstump.o(.rodata) - build/src/overlays/actors/ovl_Obj_HsStump/z_obj_hsstump_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_HsStumpSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Hidden_NutsSegmentStart = SegmentStart; - ovl_En_Hidden_Nuts : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Hidden_Nuts/z_en_hidden_nuts.o(.text) - build/asm/overlays/ovl_En_Hidden_Nuts_data.o(.data) - build/src/overlays/actors/ovl_En_Hidden_Nuts/z_en_hidden_nuts.o(.rodata) - build/asm/overlays/ovl_En_Hidden_Nuts_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Hidden_NutsSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_ZowSegmentStart = SegmentStart; - ovl_En_Zow : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Zow/z_en_zow.o(.text) - build/asm/overlays/ovl_En_Zow_data.o(.data) - build/src/overlays/actors/ovl_En_Zow/z_en_zow.o(.rodata) - build/asm/overlays/ovl_En_Zow_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_ZowSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_TalkSegmentStart = SegmentStart; - ovl_En_Talk : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Talk/z_en_talk.o(.text) - build/asm/overlays/ovl_En_Talk_data.o(.data) - build/src/overlays/actors/ovl_En_Talk/z_en_talk.o(.rodata) - build/asm/overlays/ovl_En_Talk_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_TalkSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_AlSegmentStart = SegmentStart; - ovl_En_Al : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Al/z_en_al.o(.text) - build/asm/overlays/ovl_En_Al_data.o(.data) - build/src/overlays/actors/ovl_En_Al/z_en_al.o(.rodata) - build/asm/overlays/ovl_En_Al_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_AlSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_TabSegmentStart = SegmentStart; - ovl_En_Tab : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Tab/z_en_tab.o(.text) - build/asm/overlays/ovl_En_Tab_data.o(.data) - build/src/overlays/actors/ovl_En_Tab/z_en_tab.o(.rodata) - build/asm/overlays/ovl_En_Tab_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_TabSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_NimotsuSegmentStart = SegmentStart; - ovl_En_Nimotsu : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Nimotsu/z_en_nimotsu.o(.text) - build/asm/overlays/ovl_En_Nimotsu_data.o(.data) - build/src/overlays/actors/ovl_En_Nimotsu/z_en_nimotsu.o(.rodata) - build/asm/overlays/ovl_En_Nimotsu_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_NimotsuSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Hit_TagSegmentStart = SegmentStart; - ovl_En_Hit_Tag : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Hit_Tag/z_en_hit_tag.o(.text) - build/asm/overlays/ovl_En_Hit_Tag_data.o(.data) - build/src/overlays/actors/ovl_En_Hit_Tag/z_en_hit_tag.o(.rodata) - build/asm/overlays/ovl_En_Hit_Tag_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Hit_TagSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_RuppecrowSegmentStart = SegmentStart; - ovl_En_Ruppecrow : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Ruppecrow/z_en_ruppecrow.o(.text) - build/asm/overlays/ovl_En_Ruppecrow_data.o(.data) - build/src/overlays/actors/ovl_En_Ruppecrow/z_en_ruppecrow.o(.rodata) - build/asm/overlays/ovl_En_Ruppecrow_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_RuppecrowSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Tanron4SegmentStart = SegmentStart; - ovl_En_Tanron4 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Tanron4/z_en_tanron4.o(.text) - build/asm/overlays/ovl_En_Tanron4_data.o(.data) - build/src/overlays/actors/ovl_En_Tanron4/z_en_tanron4.o(.rodata) - build/asm/overlays/ovl_En_Tanron4_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Tanron4SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Tanron5SegmentStart = SegmentStart; - ovl_En_Tanron5 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Tanron5/z_en_tanron5.o(.text) - build/asm/overlays/ovl_En_Tanron5_data.o(.data) - build/src/overlays/actors/ovl_En_Tanron5/z_en_tanron5.o(.rodata) - build/asm/overlays/ovl_En_Tanron5_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Tanron5SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Tanron6SegmentStart = SegmentStart; - ovl_En_Tanron6 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Tanron6/z_en_tanron6.o(.text) - build/src/overlays/actors/ovl_En_Tanron6/z_en_tanron6.o(.data) - build/src/overlays/actors/ovl_En_Tanron6/z_en_tanron6.o(.rodata) - build/src/overlays/actors/ovl_En_Tanron6/z_en_tanron6.o(.rodata) - build/src/overlays/actors/ovl_En_Tanron6/z_en_tanron6_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Tanron6SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Daiku2SegmentStart = SegmentStart; - ovl_En_Daiku2 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Daiku2/z_en_daiku2.o(.text) - build/asm/overlays/ovl_En_Daiku2_data.o(.data) - build/src/overlays/actors/ovl_En_Daiku2/z_en_daiku2.o(.rodata) - build/asm/overlays/ovl_En_Daiku2_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Daiku2SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_MutoSegmentStart = SegmentStart; - ovl_En_Muto : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Muto/z_en_muto.o(.text) - build/asm/overlays/ovl_En_Muto_data.o(.data) - build/src/overlays/actors/ovl_En_Muto/z_en_muto.o(.rodata) - build/asm/overlays/ovl_En_Muto_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_MutoSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_BaisenSegmentStart = SegmentStart; - ovl_En_Baisen : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Baisen/z_en_baisen.o(.text) - build/src/overlays/actors/ovl_En_Baisen/z_en_baisen.o(.data) - build/src/overlays/actors/ovl_En_Baisen/z_en_baisen.o(.rodata) - build/src/overlays/actors/ovl_En_Baisen/z_en_baisen_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_BaisenSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_HeishiSegmentStart = SegmentStart; - ovl_En_Heishi : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Heishi/z_en_heishi.o(.text) - build/asm/overlays/ovl_En_Heishi_data.o(.data) - build/src/overlays/actors/ovl_En_Heishi/z_en_heishi.o(.rodata) - build/asm/overlays/ovl_En_Heishi_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_HeishiSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Demo_heishiSegmentStart = SegmentStart; - ovl_En_Demo_heishi : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Demo_heishi/z_en_demo_heishi.o(.text) - build/asm/overlays/ovl_En_Demo_heishi_data.o(.data) - build/src/overlays/actors/ovl_En_Demo_heishi/z_en_demo_heishi.o(.rodata) - build/asm/overlays/ovl_En_Demo_heishi_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Demo_heishiSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_DtSegmentStart = SegmentStart; - ovl_En_Dt : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Dt/z_en_dt.o(.text) - build/asm/overlays/ovl_En_Dt_data.o(.data) - build/src/overlays/actors/ovl_En_Dt/z_en_dt.o(.rodata) - build/asm/overlays/ovl_En_Dt_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_DtSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_ChaSegmentStart = SegmentStart; - ovl_En_Cha : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Cha/z_en_cha.o(.text) - build/src/overlays/actors/ovl_En_Cha/z_en_cha.o(.data) - build/src/overlays/actors/ovl_En_Cha/z_en_cha.o(.rodata) - build/src/overlays/actors/ovl_En_Cha/z_en_cha_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_ChaSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_DinnerSegmentStart = SegmentStart; - ovl_Obj_Dinner : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Dinner/z_obj_dinner.o(.text) - build/src/overlays/actors/ovl_Obj_Dinner/z_obj_dinner.o(.data) - build/src/overlays/actors/ovl_Obj_Dinner/z_obj_dinner.o(.rodata) - build/src/overlays/actors/ovl_Obj_Dinner/z_obj_dinner.o(.rodata) - build/src/overlays/actors/ovl_Obj_Dinner/z_obj_dinner_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_DinnerSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Eff_LastdaySegmentStart = SegmentStart; - ovl_Eff_Lastday : AT(RomLocation) - { - build/src/overlays/actors/ovl_Eff_Lastday/z_eff_lastday.o(.text) - build/asm/overlays/ovl_Eff_Lastday_data.o(.data) - build/src/overlays/actors/ovl_Eff_Lastday/z_eff_lastday.o(.rodata) - build/asm/overlays/ovl_Eff_Lastday_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Eff_LastdaySegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Ikana_DharmaSegmentStart = SegmentStart; - ovl_Bg_Ikana_Dharma : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Ikana_Dharma/z_bg_ikana_dharma.o(.text) - build/asm/overlays/ovl_Bg_Ikana_Dharma_data.o(.data) - build/src/overlays/actors/ovl_Bg_Ikana_Dharma/z_bg_ikana_dharma.o(.rodata) - build/asm/overlays/ovl_Bg_Ikana_Dharma_rodata.o(.rodata) - ovl_Bg_Ikana_Dharma_bss_start = .; - } - . += 0x10; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Ikana_DharmaSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_AkindonutsSegmentStart = SegmentStart; - ovl_En_Akindonuts : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Akindonuts/z_en_akindonuts.o(.text) - build/asm/overlays/ovl_En_Akindonuts_data.o(.data) - build/src/overlays/actors/ovl_En_Akindonuts/z_en_akindonuts.o(.rodata) - build/asm/overlays/ovl_En_Akindonuts_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_AkindonutsSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Eff_StkSegmentStart = SegmentStart; - ovl_Eff_Stk : AT(RomLocation) - { - build/src/overlays/actors/ovl_Eff_Stk/z_eff_stk.o(.text) - build/asm/overlays/ovl_Eff_Stk_data.o(.data) - build/src/overlays/actors/ovl_Eff_Stk/z_eff_stk.o(.rodata) - build/asm/overlays/ovl_Eff_Stk_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Eff_StkSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_IgSegmentStart = SegmentStart; - ovl_En_Ig : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Ig/z_en_ig.o(.text) - build/asm/overlays/ovl_En_Ig_data.o(.data) - build/src/overlays/actors/ovl_En_Ig/z_en_ig.o(.rodata) - build/asm/overlays/ovl_En_Ig_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_IgSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_RgSegmentStart = SegmentStart; - ovl_En_Rg : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Rg/z_en_rg.o(.text) - build/asm/overlays/ovl_En_Rg_data.o(.data) - build/src/overlays/actors/ovl_En_Rg/z_en_rg.o(.rodata) - build/asm/overlays/ovl_En_Rg_rodata.o(.rodata) - ovl_En_Rg_bss_start = .; - } - . += 0x10; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_RgSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_OskSegmentStart = SegmentStart; - ovl_En_Osk : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Osk/z_en_osk.o(.text) - build/asm/overlays/ovl_En_Osk_data.o(.data) - build/src/overlays/actors/ovl_En_Osk/z_en_osk.o(.rodata) - build/asm/overlays/ovl_En_Osk_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_OskSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Sth2SegmentStart = SegmentStart; - ovl_En_Sth2 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Sth2/z_en_sth2.o(.text) - build/asm/overlays/ovl_En_Sth2_data.o(.data) - build/src/overlays/actors/ovl_En_Sth2/z_en_sth2.o(.rodata) - build/asm/overlays/ovl_En_Sth2_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Sth2SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_YbSegmentStart = SegmentStart; - ovl_En_Yb : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Yb/z_en_yb.o(.text) - build/asm/overlays/ovl_En_Yb_data.o(.data) - build/src/overlays/actors/ovl_En_Yb/z_en_yb.o(.rodata) - build/asm/overlays/ovl_En_Yb_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_YbSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_RzSegmentStart = SegmentStart; - ovl_En_Rz : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Rz/z_en_rz.o(.text) - build/asm/overlays/ovl_En_Rz_data.o(.data) - build/src/overlays/actors/ovl_En_Rz/z_en_rz.o(.rodata) - build/asm/overlays/ovl_En_Rz_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_RzSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_ScopecoinSegmentStart = SegmentStart; - ovl_En_Scopecoin : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Scopecoin/z_en_scopecoin.o(.text) - build/src/overlays/actors/ovl_En_Scopecoin/z_en_scopecoin.o(.data) - build/src/overlays/actors/ovl_En_Scopecoin/z_en_scopecoin.o(.rodata) - build/src/overlays/actors/ovl_En_Scopecoin/z_en_scopecoin.o(.rodata) - build/src/overlays/actors/ovl_En_Scopecoin/z_en_scopecoin_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_ScopecoinSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_BjtSegmentStart = SegmentStart; - ovl_En_Bjt : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Bjt/z_en_bjt.o(.text) - build/asm/overlays/ovl_En_Bjt_data.o(.data) - build/src/overlays/actors/ovl_En_Bjt/z_en_bjt.o(.rodata) - build/asm/overlays/ovl_En_Bjt_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_BjtSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_BomjimaSegmentStart = SegmentStart; - ovl_En_Bomjima : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Bomjima/z_en_bomjima.o(.text) - build/asm/overlays/ovl_En_Bomjima_data.o(.data) - build/src/overlays/actors/ovl_En_Bomjima/z_en_bomjima.o(.rodata) - build/asm/overlays/ovl_En_Bomjima_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_BomjimaSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_BomjimbSegmentStart = SegmentStart; - ovl_En_Bomjimb : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Bomjimb/z_en_bomjimb.o(.text) - build/asm/overlays/ovl_En_Bomjimb_data.o(.data) - build/src/overlays/actors/ovl_En_Bomjimb/z_en_bomjimb.o(.rodata) - build/asm/overlays/ovl_En_Bomjimb_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_BomjimbSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_BombersSegmentStart = SegmentStart; - ovl_En_Bombers : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Bombers/z_en_bombers.o(.text) - build/asm/overlays/ovl_En_Bombers_data.o(.data) - build/src/overlays/actors/ovl_En_Bombers/z_en_bombers.o(.rodata) - build/asm/overlays/ovl_En_Bombers_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_BombersSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Bombers2SegmentStart = SegmentStart; - ovl_En_Bombers2 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Bombers2/z_en_bombers2.o(.text) - build/asm/overlays/ovl_En_Bombers2_data.o(.data) - build/src/overlays/actors/ovl_En_Bombers2/z_en_bombers2.o(.rodata) - build/asm/overlays/ovl_En_Bombers2_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Bombers2SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_BombalSegmentStart = SegmentStart; - ovl_En_Bombal : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Bombal/z_en_bombal.o(.text) - build/asm/overlays/ovl_En_Bombal_data.o(.data) - build/src/overlays/actors/ovl_En_Bombal/z_en_bombal.o(.rodata) - build/asm/overlays/ovl_En_Bombal_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_BombalSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_Moon_StoneSegmentStart = SegmentStart; - ovl_Obj_Moon_Stone : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Moon_Stone/z_obj_moon_stone.o(.text) - build/src/overlays/actors/ovl_Obj_Moon_Stone/z_obj_moon_stone.o(.data) - build/src/overlays/actors/ovl_Obj_Moon_Stone/z_obj_moon_stone.o(.rodata) - build/src/overlays/actors/ovl_Obj_Moon_Stone/z_obj_moon_stone_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_Moon_StoneSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_Mu_PictSegmentStart = SegmentStart; - ovl_Obj_Mu_Pict : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Mu_Pict/z_obj_mu_pict.o(.text) - build/src/overlays/actors/ovl_Obj_Mu_Pict/z_obj_mu_pict.o(.data) - build/src/overlays/actors/ovl_Obj_Mu_Pict/z_obj_mu_pict.o(.rodata) - build/src/overlays/actors/ovl_Obj_Mu_Pict/z_obj_mu_pict_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_Mu_PictSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_IkninsideSegmentStart = SegmentStart; - ovl_Bg_Ikninside : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Ikninside/z_bg_ikninside.o(.text) - build/asm/overlays/ovl_Bg_Ikninside_data.o(.data) - build/src/overlays/actors/ovl_Bg_Ikninside/z_bg_ikninside.o(.rodata) - build/asm/overlays/ovl_Bg_Ikninside_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_IkninsideSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Eff_ZorabandSegmentStart = SegmentStart; - ovl_Eff_Zoraband : AT(RomLocation) - { - build/src/overlays/actors/ovl_Eff_Zoraband/z_eff_zoraband.o(.text) - build/asm/overlays/ovl_Eff_Zoraband_data.o(.data) - build/src/overlays/actors/ovl_Eff_Zoraband/z_eff_zoraband.o(.rodata) - build/asm/overlays/ovl_Eff_Zoraband_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Eff_ZorabandSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_Kepn_KoyaSegmentStart = SegmentStart; - ovl_Obj_Kepn_Koya : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Kepn_Koya/z_obj_kepn_koya.o(.text) - build/src/overlays/actors/ovl_Obj_Kepn_Koya/z_obj_kepn_koya.o(.data) - build/src/overlays/actors/ovl_Obj_Kepn_Koya/z_obj_kepn_koya.o(.rodata) - build/src/overlays/actors/ovl_Obj_Kepn_Koya/z_obj_kepn_koya_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_Kepn_KoyaSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_UsiyaneSegmentStart = SegmentStart; - ovl_Obj_Usiyane : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Usiyane/z_obj_usiyane.o(.text) - build/asm/overlays/ovl_Obj_Usiyane_data.o(.data) - build/src/overlays/actors/ovl_Obj_Usiyane/z_obj_usiyane.o(.rodata) - build/asm/overlays/ovl_Obj_Usiyane_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_UsiyaneSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_NnhSegmentStart = SegmentStart; - ovl_En_Nnh : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Nnh/z_en_nnh.o(.text) - build/src/overlays/actors/ovl_En_Nnh/z_en_nnh.o(.data) - build/src/overlays/actors/ovl_En_Nnh/z_en_nnh.o(.rodata) - build/src/overlays/actors/ovl_En_Nnh/z_en_nnh_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_NnhSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_KzsakuSegmentStart = SegmentStart; - ovl_Obj_Kzsaku : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Kzsaku/z_obj_kzsaku.o(.text) - build/asm/overlays/ovl_Obj_Kzsaku_data.o(.data) - build/src/overlays/actors/ovl_Obj_Kzsaku/z_obj_kzsaku.o(.rodata) - build/asm/overlays/ovl_Obj_Kzsaku_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_KzsakuSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_Milk_BinSegmentStart = SegmentStart; - ovl_Obj_Milk_Bin : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Milk_Bin/z_obj_milk_bin.o(.text) - build/src/overlays/actors/ovl_Obj_Milk_Bin/z_obj_milk_bin.o(.data) - build/src/overlays/actors/ovl_Obj_Milk_Bin/z_obj_milk_bin.o(.rodata) - build/src/overlays/actors/ovl_Obj_Milk_Bin/z_obj_milk_bin_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_Milk_BinSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_KitanSegmentStart = SegmentStart; - ovl_En_Kitan : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Kitan/z_en_kitan.o(.text) - build/asm/overlays/ovl_En_Kitan_data.o(.data) - build/src/overlays/actors/ovl_En_Kitan/z_en_kitan.o(.rodata) - build/asm/overlays/ovl_En_Kitan_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_KitanSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Astr_BombwallSegmentStart = SegmentStart; - ovl_Bg_Astr_Bombwall : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Astr_Bombwall/z_bg_astr_bombwall.o(.text) - build/asm/overlays/ovl_Bg_Astr_Bombwall_data.o(.data) - build/src/overlays/actors/ovl_Bg_Astr_Bombwall/z_bg_astr_bombwall.o(.rodata) - build/asm/overlays/ovl_Bg_Astr_Bombwall_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Astr_BombwallSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Iknin_SusceilSegmentStart = SegmentStart; - ovl_Bg_Iknin_Susceil : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Iknin_Susceil/z_bg_iknin_susceil.o(.text) - build/src/overlays/actors/ovl_Bg_Iknin_Susceil/z_bg_iknin_susceil.o(.data) - build/src/overlays/actors/ovl_Bg_Iknin_Susceil/z_bg_iknin_susceil.o(.rodata) - build/src/overlays/actors/ovl_Bg_Iknin_Susceil/z_bg_iknin_susceil_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Iknin_SusceilSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_BsbSegmentStart = SegmentStart; - ovl_En_Bsb : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Bsb/z_en_bsb.o(.text) - build/asm/overlays/ovl_En_Bsb_data.o(.data) - build/src/overlays/actors/ovl_En_Bsb/z_en_bsb.o(.rodata) - build/asm/overlays/ovl_En_Bsb_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_BsbSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_RecepgirlSegmentStart = SegmentStart; - ovl_En_Recepgirl : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Recepgirl/z_en_recepgirl.o(.text) - build/asm/overlays/ovl_En_Recepgirl_data.o(.data) - build/src/overlays/actors/ovl_En_Recepgirl/z_en_recepgirl.o(.rodata) - build/asm/overlays/ovl_En_Recepgirl_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_RecepgirlSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_ThiefbirdSegmentStart = SegmentStart; - ovl_En_Thiefbird : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Thiefbird/z_en_thiefbird.o(.text) - build/asm/overlays/ovl_En_Thiefbird_data.o(.data) - build/src/overlays/actors/ovl_En_Thiefbird/z_en_thiefbird.o(.rodata) - build/asm/overlays/ovl_En_Thiefbird_rodata.o(.rodata) - ovl_En_Thiefbird_bss_start = .; - } - . += 0x10; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_ThiefbirdSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Jgame_TsnSegmentStart = SegmentStart; - ovl_En_Jgame_Tsn : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Jgame_Tsn/z_en_jgame_tsn.o(.text) - build/asm/overlays/ovl_En_Jgame_Tsn_data.o(.data) - build/src/overlays/actors/ovl_En_Jgame_Tsn/z_en_jgame_tsn.o(.rodata) - build/asm/overlays/ovl_En_Jgame_Tsn_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Jgame_TsnSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_Jgame_LightSegmentStart = SegmentStart; - ovl_Obj_Jgame_Light : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Jgame_Light/z_obj_jgame_light.o(.text) - build/asm/overlays/ovl_Obj_Jgame_Light_data.o(.data) - build/src/overlays/actors/ovl_Obj_Jgame_Light/z_obj_jgame_light.o(.rodata) - build/asm/overlays/ovl_Obj_Jgame_Light_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_Jgame_LightSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_YadoSegmentStart = SegmentStart; - ovl_Obj_Yado : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Yado/z_obj_yado.o(.text) - build/asm/overlays/ovl_Obj_Yado_data.o(.data) - ovl_Obj_Yado_bss_start = .; - } - . += 0x10; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_YadoSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Demo_SyotenSegmentStart = SegmentStart; - ovl_Demo_Syoten : AT(RomLocation) - { - build/src/overlays/actors/ovl_Demo_Syoten/z_demo_syoten.o(.text) - build/asm/overlays/ovl_Demo_Syoten_data.o(.data) - build/src/overlays/actors/ovl_Demo_Syoten/z_demo_syoten.o(.rodata) - build/asm/overlays/ovl_Demo_Syoten_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Demo_SyotenSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Demo_MoonendSegmentStart = SegmentStart; - ovl_Demo_Moonend : AT(RomLocation) - { - build/src/overlays/actors/ovl_Demo_Moonend/z_demo_moonend.o(.text) - build/asm/overlays/ovl_Demo_Moonend_data.o(.data) - build/src/overlays/actors/ovl_Demo_Moonend/z_demo_moonend.o(.rodata) - build/asm/overlays/ovl_Demo_Moonend_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Demo_MoonendSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_LbfshotSegmentStart = SegmentStart; - ovl_Bg_Lbfshot : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Lbfshot/z_bg_lbfshot.o(.text) - build/src/overlays/actors/ovl_Bg_Lbfshot/z_bg_lbfshot.o(.data) - build/src/overlays/actors/ovl_Bg_Lbfshot/z_bg_lbfshot.o(.rodata) - build/src/overlays/actors/ovl_Bg_Lbfshot/z_bg_lbfshot_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_LbfshotSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Bg_Last_BwallSegmentStart = SegmentStart; - ovl_Bg_Last_Bwall : AT(RomLocation) - { - build/src/overlays/actors/ovl_Bg_Last_Bwall/z_bg_last_bwall.o(.text) - build/asm/overlays/ovl_Bg_Last_Bwall_data.o(.data) - build/src/overlays/actors/ovl_Bg_Last_Bwall/z_bg_last_bwall.o(.rodata) - build/asm/overlays/ovl_Bg_Last_Bwall_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Bg_Last_BwallSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_AndSegmentStart = SegmentStart; - ovl_En_And : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_And/z_en_and.o(.text) - build/asm/overlays/ovl_En_And_data.o(.data) - build/src/overlays/actors/ovl_En_And/z_en_and.o(.rodata) - build/asm/overlays/ovl_En_And_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_AndSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Invadepoh_DemoSegmentStart = SegmentStart; - ovl_En_Invadepoh_Demo : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Invadepoh_Demo/z_en_invadepoh_demo.o(.text) - build/asm/overlays/ovl_En_Invadepoh_Demo_data.o(.data) - build/src/overlays/actors/ovl_En_Invadepoh_Demo/z_en_invadepoh_demo.o(.rodata) - build/asm/overlays/ovl_En_Invadepoh_Demo_rodata.o(.rodata) - ovl_En_Invadepoh_Demo_bss_start = .; - } - . += 0x80; - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Invadepoh_DemoSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_DanpeiliftSegmentStart = SegmentStart; - ovl_Obj_Danpeilift : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Danpeilift/z_obj_danpeilift.o(.text) - build/asm/overlays/ovl_Obj_Danpeilift_data.o(.data) - build/src/overlays/actors/ovl_Obj_Danpeilift/z_obj_danpeilift.o(.rodata) - build/asm/overlays/ovl_Obj_Danpeilift_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_DanpeiliftSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Fall2SegmentStart = SegmentStart; - ovl_En_Fall2 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Fall2/z_en_fall2.o(.text) - build/asm/overlays/ovl_En_Fall2_data.o(.data) - build/src/overlays/actors/ovl_En_Fall2/z_en_fall2.o(.rodata) - build/asm/overlays/ovl_En_Fall2_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Fall2SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Dm_AlSegmentStart = SegmentStart; - ovl_Dm_Al : AT(RomLocation) - { - build/src/overlays/actors/ovl_Dm_Al/z_dm_al.o(.text) - build/asm/overlays/ovl_Dm_Al_data.o(.data) - build/src/overlays/actors/ovl_Dm_Al/z_dm_al.o(.rodata) - build/asm/overlays/ovl_Dm_Al_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Dm_AlSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Dm_AnSegmentStart = SegmentStart; - ovl_Dm_An : AT(RomLocation) - { - build/src/overlays/actors/ovl_Dm_An/z_dm_an.o(.text) - build/asm/overlays/ovl_Dm_An_data.o(.data) - build/src/overlays/actors/ovl_Dm_An/z_dm_an.o(.rodata) - build/asm/overlays/ovl_Dm_An_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Dm_AnSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Dm_AhSegmentStart = SegmentStart; - ovl_Dm_Ah : AT(RomLocation) - { - build/src/overlays/actors/ovl_Dm_Ah/z_dm_ah.o(.text) - build/asm/overlays/ovl_Dm_Ah_data.o(.data) - build/src/overlays/actors/ovl_Dm_Ah/z_dm_ah.o(.rodata) - build/asm/overlays/ovl_Dm_Ah_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Dm_AhSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Dm_NbSegmentStart = SegmentStart; - ovl_Dm_Nb : AT(RomLocation) - { - build/src/overlays/actors/ovl_Dm_Nb/z_dm_nb.o(.text) - build/src/overlays/actors/ovl_Dm_Nb/z_dm_nb.o(.data) - build/src/overlays/actors/ovl_Dm_Nb/z_dm_nb.o(.rodata) - build/src/overlays/actors/ovl_Dm_Nb/z_dm_nb_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Dm_NbSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_DrsSegmentStart = SegmentStart; - ovl_En_Drs : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Drs/z_en_drs.o(.text) - build/asm/overlays/ovl_En_Drs_data.o(.data) - build/src/overlays/actors/ovl_En_Drs/z_en_drs.o(.rodata) - build/asm/overlays/ovl_En_Drs_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_DrsSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Ending_HeroSegmentStart = SegmentStart; - ovl_En_Ending_Hero : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Ending_Hero/z_en_ending_hero.o(.text) - build/src/overlays/actors/ovl_En_Ending_Hero/z_en_ending_hero.o(.data) - build/src/overlays/actors/ovl_En_Ending_Hero/z_en_ending_hero.o(.rodata) - build/src/overlays/actors/ovl_En_Ending_Hero/z_en_ending_hero.o(.rodata) - build/src/overlays/actors/ovl_En_Ending_Hero/z_en_ending_hero_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Ending_HeroSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Dm_BalSegmentStart = SegmentStart; - ovl_Dm_Bal : AT(RomLocation) - { - build/src/overlays/actors/ovl_Dm_Bal/z_dm_bal.o(.text) - build/asm/overlays/ovl_Dm_Bal_data.o(.data) - build/src/overlays/actors/ovl_Dm_Bal/z_dm_bal.o(.rodata) - build/asm/overlays/ovl_Dm_Bal_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Dm_BalSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_PaperSegmentStart = SegmentStart; - ovl_En_Paper : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Paper/z_en_paper.o(.text) - build/asm/overlays/ovl_En_Paper_data.o(.data) - build/src/overlays/actors/ovl_En_Paper/z_en_paper.o(.rodata) - build/asm/overlays/ovl_En_Paper_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_PaperSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Hint_SkbSegmentStart = SegmentStart; - ovl_En_Hint_Skb : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Hint_Skb/z_en_hint_skb.o(.text) - build/asm/overlays/ovl_En_Hint_Skb_data.o(.data) - build/src/overlays/actors/ovl_En_Hint_Skb/z_en_hint_skb.o(.rodata) - build/asm/overlays/ovl_En_Hint_Skb_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Hint_SkbSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Dm_TagSegmentStart = SegmentStart; - ovl_Dm_Tag : AT(RomLocation) - { - build/src/overlays/actors/ovl_Dm_Tag/z_dm_tag.o(.text) - build/asm/overlays/ovl_Dm_Tag_data.o(.data) - build/src/overlays/actors/ovl_Dm_Tag/z_dm_tag.o(.rodata) - build/asm/overlays/ovl_Dm_Tag_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Dm_TagSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_BhSegmentStart = SegmentStart; - ovl_En_Bh : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Bh/z_en_bh.o(.text) - build/asm/overlays/ovl_En_Bh_data.o(.data) - build/src/overlays/actors/ovl_En_Bh/z_en_bh.o(.rodata) - build/asm/overlays/ovl_En_Bh_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_BhSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Ending_Hero2SegmentStart = SegmentStart; - ovl_En_Ending_Hero2 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Ending_Hero2/z_en_ending_hero2.o(.text) - build/src/overlays/actors/ovl_En_Ending_Hero2/z_en_ending_hero2.o(.data) - build/src/overlays/actors/ovl_En_Ending_Hero2/z_en_ending_hero2.o(.rodata) - build/src/overlays/actors/ovl_En_Ending_Hero2/z_en_ending_hero2.o(.rodata) - build/src/overlays/actors/ovl_En_Ending_Hero2/z_en_ending_hero2_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Ending_Hero2SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Ending_Hero3SegmentStart = SegmentStart; - ovl_En_Ending_Hero3 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Ending_Hero3/z_en_ending_hero3.o(.text) - build/src/overlays/actors/ovl_En_Ending_Hero3/z_en_ending_hero3.o(.data) - build/src/overlays/actors/ovl_En_Ending_Hero3/z_en_ending_hero3.o(.rodata) - build/src/overlays/actors/ovl_En_Ending_Hero3/z_en_ending_hero3.o(.rodata) - build/src/overlays/actors/ovl_En_Ending_Hero3/z_en_ending_hero3_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Ending_Hero3SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Ending_Hero4SegmentStart = SegmentStart; - ovl_En_Ending_Hero4 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Ending_Hero4/z_en_ending_hero4.o(.text) - build/src/overlays/actors/ovl_En_Ending_Hero4/z_en_ending_hero4.o(.data) - build/src/overlays/actors/ovl_En_Ending_Hero4/z_en_ending_hero4.o(.rodata) - build/src/overlays/actors/ovl_En_Ending_Hero4/z_en_ending_hero4.o(.rodata) - build/src/overlays/actors/ovl_En_Ending_Hero4/z_en_ending_hero4_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Ending_Hero4SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Ending_Hero5SegmentStart = SegmentStart; - ovl_En_Ending_Hero5 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Ending_Hero5/z_en_ending_hero5.o(.text) - build/src/overlays/actors/ovl_En_Ending_Hero5/z_en_ending_hero5.o(.data) - build/src/overlays/actors/ovl_En_Ending_Hero5/z_en_ending_hero5.o(.rodata) - build/src/overlays/actors/ovl_En_Ending_Hero5/z_en_ending_hero5.o(.rodata) - build/src/overlays/actors/ovl_En_Ending_Hero5/z_en_ending_hero5_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Ending_Hero5SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Ending_Hero6SegmentStart = SegmentStart; - ovl_En_Ending_Hero6 : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Ending_Hero6/z_en_ending_hero6.o(.text) - build/asm/overlays/ovl_En_Ending_Hero6_data.o(.data) - build/src/overlays/actors/ovl_En_Ending_Hero6/z_en_ending_hero6.o(.rodata) - build/asm/overlays/ovl_En_Ending_Hero6_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Ending_Hero6SegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Dm_GmSegmentStart = SegmentStart; - ovl_Dm_Gm : AT(RomLocation) - { - build/src/overlays/actors/ovl_Dm_Gm/z_dm_gm.o(.text) - build/asm/overlays/ovl_Dm_Gm_data.o(.data) - build/src/overlays/actors/ovl_Dm_Gm/z_dm_gm.o(.rodata) - build/asm/overlays/ovl_Dm_Gm_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Dm_GmSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_SwprizeSegmentStart = SegmentStart; - ovl_Obj_Swprize : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Swprize/z_obj_swprize.o(.text) - build/asm/overlays/ovl_Obj_Swprize_data.o(.data) - build/src/overlays/actors/ovl_Obj_Swprize/z_obj_swprize.o(.rodata) - build/asm/overlays/ovl_Obj_Swprize_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_SwprizeSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_Invisible_RuppeSegmentStart = SegmentStart; - ovl_En_Invisible_Ruppe : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Invisible_Ruppe/z_en_invisible_ruppe.o(.text) - build/asm/overlays/ovl_En_Invisible_Ruppe_data.o(.data) - build/src/overlays/actors/ovl_En_Invisible_Ruppe/z_en_invisible_ruppe.o(.rodata) - build/asm/overlays/ovl_En_Invisible_Ruppe_rodata.o(.rodata) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_Invisible_RuppeSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_Obj_EndingSegmentStart = SegmentStart; - ovl_Obj_Ending : AT(RomLocation) - { - build/src/overlays/actors/ovl_Obj_Ending/z_obj_ending.o(.text) - build/src/overlays/actors/ovl_Obj_Ending/z_obj_ending.o(.data) - build/src/overlays/actors/ovl_Obj_Ending/z_obj_ending.o(.rodata) - build/src/overlays/actors/ovl_Obj_Ending/z_obj_ending_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_Obj_EndingSegmentEnd = SegmentEnd; - - SegmentStart = .; - _ovl_En_RsnSegmentStart = SegmentStart; - ovl_En_Rsn : AT(RomLocation) - { - build/src/overlays/actors/ovl_En_Rsn/z_en_rsn.o(.text) - build/src/overlays/actors/ovl_En_Rsn/z_en_rsn.o(.data) - build/src/overlays/actors/ovl_En_Rsn/z_en_rsn.o(.rodata) - build/src/overlays/actors/ovl_En_Rsn/z_en_rsn_overlay.o(.ovl) - } - SegmentEnd = .; - SegmentSize = SegmentEnd - SegmentStart; - RomLocation += SegmentSize; - _ovl_En_RsnSegmentEnd = SegmentEnd; - - RomLocation = 0x01654830; - - DECL_SEG_SCENE(Z2_20SICHITAI2) - DECL_SEG_ROOM(Z2_20SICHITAI2, 00) - DECL_SEG_ROOM(Z2_20SICHITAI2, 01) - DECL_SEG_ROOM(Z2_20SICHITAI2, 02) - - DECL_SEG_SCENE(Z2_WITCH_SHOP) - DECL_SEG_ROOM(Z2_WITCH_SHOP, 00) - - DECL_SEG_SCENE(Z2_LAST_BS) - DECL_SEG_ROOM(Z2_LAST_BS, 00) - - DECL_SEG_SCENE(Z2_HAKASHITA) - DECL_SEG_ROOM(Z2_HAKASHITA, 00) - DECL_SEG_ROOM(Z2_HAKASHITA, 01) - DECL_SEG_ROOM(Z2_HAKASHITA, 02) - DECL_SEG_ROOM(Z2_HAKASHITA, 03) - DECL_SEG_ROOM(Z2_HAKASHITA, 04) - - DECL_SEG_SCENE(Z2_AYASHIISHOP) - DECL_SEG_ROOM(Z2_AYASHIISHOP, 00) - DECL_SEG_ROOM(Z2_AYASHIISHOP, 01) - - DECL_SEG_SCENE(Z2_OMOYA) - DECL_SEG_ROOM(Z2_OMOYA, 00) - DECL_SEG_ROOM(Z2_OMOYA, 01) - DECL_SEG_ROOM(Z2_OMOYA, 02) - - DECL_SEG_SCENE(Z2_BOWLING) - DECL_SEG_ROOM(Z2_BOWLING, 00) - - DECL_SEG_SCENE(Z2_SONCHONOIE) - DECL_SEG_ROOM(Z2_SONCHONOIE, 00) - DECL_SEG_ROOM(Z2_SONCHONOIE, 01) - DECL_SEG_ROOM(Z2_SONCHONOIE, 02) - DECL_SEG_ROOM(Z2_SONCHONOIE, 03) - - DECL_SEG_SCENE(Z2_IKANA) - DECL_SEG_ROOM(Z2_IKANA, 00) - DECL_SEG_ROOM(Z2_IKANA, 01) - DECL_SEG_ROOM(Z2_IKANA, 02) - DECL_SEG_ROOM(Z2_IKANA, 03) - DECL_SEG_ROOM(Z2_IKANA, 04) - - DECL_SEG_SCENE(Z2_KAIZOKU) - DECL_SEG_ROOM(Z2_KAIZOKU, 00) - - DECL_SEG_SCENE(Z2_MILK_BAR) - DECL_SEG_ROOM(Z2_MILK_BAR, 00) - - DECL_SEG_SCENE(Z2_INISIE_N) - DECL_SEG_ROOM(Z2_INISIE_N, 00) - DECL_SEG_ROOM(Z2_INISIE_N, 01) - DECL_SEG_ROOM(Z2_INISIE_N, 02) - DECL_SEG_ROOM(Z2_INISIE_N, 03) - DECL_SEG_ROOM(Z2_INISIE_N, 04) - DECL_SEG_ROOM(Z2_INISIE_N, 05) - DECL_SEG_ROOM(Z2_INISIE_N, 06) - DECL_SEG_ROOM(Z2_INISIE_N, 07) - DECL_SEG_ROOM(Z2_INISIE_N, 08) - DECL_SEG_ROOM(Z2_INISIE_N, 09) - DECL_SEG_ROOM(Z2_INISIE_N, 10) - DECL_SEG_ROOM(Z2_INISIE_N, 11) - - DECL_SEG_SCENE(Z2_TAKARAYA) - DECL_SEG_ROOM(Z2_TAKARAYA, 00) - - DECL_SEG_SCENE(Z2_INISIE_R) - DECL_SEG_ROOM(Z2_INISIE_R, 00) - DECL_SEG_ROOM(Z2_INISIE_R, 01) - DECL_SEG_ROOM(Z2_INISIE_R, 02) - DECL_SEG_ROOM(Z2_INISIE_R, 03) - DECL_SEG_ROOM(Z2_INISIE_R, 04) - DECL_SEG_ROOM(Z2_INISIE_R, 05) - DECL_SEG_ROOM(Z2_INISIE_R, 06) - DECL_SEG_ROOM(Z2_INISIE_R, 07) - DECL_SEG_ROOM(Z2_INISIE_R, 08) - DECL_SEG_ROOM(Z2_INISIE_R, 09) - DECL_SEG_ROOM(Z2_INISIE_R, 10) - DECL_SEG_ROOM(Z2_INISIE_R, 11) - - DECL_SEG_SCENE(Z2_OKUJOU) - DECL_SEG_ROOM(Z2_OKUJOU, 00) - - DECL_SEG_SCENE(Z2_OPENINGDAN) - DECL_SEG_ROOM(Z2_OPENINGDAN, 00) - DECL_SEG_ROOM(Z2_OPENINGDAN, 01) - - DECL_SEG_SCENE(Z2_MITURIN) - DECL_SEG_ROOM(Z2_MITURIN, 00) - DECL_SEG_ROOM(Z2_MITURIN, 01) - DECL_SEG_ROOM(Z2_MITURIN, 02) - DECL_SEG_ROOM(Z2_MITURIN, 03) - DECL_SEG_ROOM(Z2_MITURIN, 04) - DECL_SEG_ROOM(Z2_MITURIN, 05) - DECL_SEG_ROOM(Z2_MITURIN, 06) - DECL_SEG_ROOM(Z2_MITURIN, 07) - DECL_SEG_ROOM(Z2_MITURIN, 08) - DECL_SEG_ROOM(Z2_MITURIN, 09) - DECL_SEG_ROOM(Z2_MITURIN, 10) - DECL_SEG_ROOM(Z2_MITURIN, 11) - DECL_SEG_ROOM(Z2_MITURIN, 12) - - DECL_SEG_SCENE(Z2_13HUBUKINOMITI) - DECL_SEG_ROOM(Z2_13HUBUKINOMITI, 00) - - DECL_SEG_SCENE(Z2_CASTLE) - DECL_SEG_ROOM(Z2_CASTLE, 00) - DECL_SEG_ROOM(Z2_CASTLE, 01) - DECL_SEG_ROOM(Z2_CASTLE, 02) - DECL_SEG_ROOM(Z2_CASTLE, 03) - DECL_SEG_ROOM(Z2_CASTLE, 04) - DECL_SEG_ROOM(Z2_CASTLE, 05) - DECL_SEG_ROOM(Z2_CASTLE, 06) - DECL_SEG_ROOM(Z2_CASTLE, 07) - DECL_SEG_ROOM(Z2_CASTLE, 08) - DECL_SEG_ROOM(Z2_CASTLE, 09) - - DECL_SEG_SCENE(Z2_DEKUTES) - DECL_SEG_ROOM(Z2_DEKUTES, 00) - - DECL_SEG_SCENE(Z2_MITURIN_BS) - DECL_SEG_ROOM(Z2_MITURIN_BS, 00) - - DECL_SEG_SCENE(Z2_SYATEKI_MIZU) - DECL_SEG_ROOM(Z2_SYATEKI_MIZU, 00) - - DECL_SEG_SCENE(Z2_HAKUGIN) - DECL_SEG_ROOM(Z2_HAKUGIN, 00) - DECL_SEG_ROOM(Z2_HAKUGIN, 01) - DECL_SEG_ROOM(Z2_HAKUGIN, 02) - DECL_SEG_ROOM(Z2_HAKUGIN, 03) - DECL_SEG_ROOM(Z2_HAKUGIN, 04) - DECL_SEG_ROOM(Z2_HAKUGIN, 05) - DECL_SEG_ROOM(Z2_HAKUGIN, 06) - DECL_SEG_ROOM(Z2_HAKUGIN, 07) - DECL_SEG_ROOM(Z2_HAKUGIN, 08) - DECL_SEG_ROOM(Z2_HAKUGIN, 09) - DECL_SEG_ROOM(Z2_HAKUGIN, 10) - DECL_SEG_ROOM(Z2_HAKUGIN, 11) - DECL_SEG_ROOM(Z2_HAKUGIN, 12) - DECL_SEG_ROOM(Z2_HAKUGIN, 13) - - DECL_SEG_SCENE(Z2_ROMANYMAE) - DECL_SEG_ROOM(Z2_ROMANYMAE, 00) - - DECL_SEG_SCENE(Z2_PIRATE) - DECL_SEG_ROOM(Z2_PIRATE, 00) - DECL_SEG_ROOM(Z2_PIRATE, 01) - DECL_SEG_ROOM(Z2_PIRATE, 02) - DECL_SEG_ROOM(Z2_PIRATE, 03) - DECL_SEG_ROOM(Z2_PIRATE, 04) - DECL_SEG_ROOM(Z2_PIRATE, 05) - DECL_SEG_ROOM(Z2_PIRATE, 06) - DECL_SEG_ROOM(Z2_PIRATE, 07) - DECL_SEG_ROOM(Z2_PIRATE, 08) - DECL_SEG_ROOM(Z2_PIRATE, 09) - DECL_SEG_ROOM(Z2_PIRATE, 10) - DECL_SEG_ROOM(Z2_PIRATE, 11) - DECL_SEG_ROOM(Z2_PIRATE, 12) - DECL_SEG_ROOM(Z2_PIRATE, 13) - DECL_SEG_ROOM(Z2_PIRATE, 14) - - DECL_SEG_SCENE(Z2_SYATEKI_MORI) - DECL_SEG_ROOM(Z2_SYATEKI_MORI, 00) - - DECL_SEG_SCENE(Z2_SINKAI) - DECL_SEG_ROOM(Z2_SINKAI, 00) - - DECL_SEG_SCENE(Z2_YOUSEI_IZUMI) - DECL_SEG_ROOM(Z2_YOUSEI_IZUMI, 00) - DECL_SEG_ROOM(Z2_YOUSEI_IZUMI, 01) - DECL_SEG_ROOM(Z2_YOUSEI_IZUMI, 02) - DECL_SEG_ROOM(Z2_YOUSEI_IZUMI, 03) - DECL_SEG_ROOM(Z2_YOUSEI_IZUMI, 04) - - DECL_SEG_SCENE(Z2_KINSTA1) - DECL_SEG_ROOM(Z2_KINSTA1, 00) - DECL_SEG_ROOM(Z2_KINSTA1, 01) - DECL_SEG_ROOM(Z2_KINSTA1, 02) - DECL_SEG_ROOM(Z2_KINSTA1, 03) - DECL_SEG_ROOM(Z2_KINSTA1, 04) - DECL_SEG_ROOM(Z2_KINSTA1, 05) - - DECL_SEG_SCENE(Z2_KINDAN2) - DECL_SEG_ROOM(Z2_KINDAN2, 00) - DECL_SEG_ROOM(Z2_KINDAN2, 01) - DECL_SEG_ROOM(Z2_KINDAN2, 02) - DECL_SEG_ROOM(Z2_KINDAN2, 03) - DECL_SEG_ROOM(Z2_KINDAN2, 04) - DECL_SEG_ROOM(Z2_KINDAN2, 05) - - DECL_SEG_SCENE(Z2_TENMON_DAI) - DECL_SEG_ROOM(Z2_TENMON_DAI, 00) - DECL_SEG_ROOM(Z2_TENMON_DAI, 01) - - DECL_SEG_SCENE(Z2_LAST_DEKU) - DECL_SEG_ROOM(Z2_LAST_DEKU, 00) - DECL_SEG_ROOM(Z2_LAST_DEKU, 01) - - DECL_SEG_SCENE(Z2_22DEKUCITY) - DECL_SEG_ROOM(Z2_22DEKUCITY, 00) - DECL_SEG_ROOM(Z2_22DEKUCITY, 01) - DECL_SEG_ROOM(Z2_22DEKUCITY, 02) - - DECL_SEG_SCENE(Z2_KAJIYA) - DECL_SEG_ROOM(Z2_KAJIYA, 00) - - DECL_SEG_SCENE(Z2_00KEIKOKU) - DECL_SEG_ROOM(Z2_00KEIKOKU, 00) - - DECL_SEG_SCENE(Z2_POSTHOUSE) - DECL_SEG_ROOM(Z2_POSTHOUSE, 00) - - DECL_SEG_SCENE(Z2_LABO) - DECL_SEG_ROOM(Z2_LABO, 00) - - DECL_SEG_SCENE(Z2_DANPEI2TEST) - DECL_SEG_ROOM(Z2_DANPEI2TEST, 00) - DECL_SEG_ROOM(Z2_DANPEI2TEST, 01) - - DECL_SEG_SCENE(Z2_16GORON_HOUSE) - DECL_SEG_ROOM(Z2_16GORON_HOUSE, 00) - DECL_SEG_ROOM(Z2_16GORON_HOUSE, 01) - - DECL_SEG_SCENE(Z2_33ZORACITY) - DECL_SEG_ROOM(Z2_33ZORACITY, 00) - - DECL_SEG_SCENE(Z2_8ITEMSHOP) - DECL_SEG_ROOM(Z2_8ITEMSHOP, 00) - - DECL_SEG_SCENE(Z2_F01) - DECL_SEG_ROOM(Z2_F01, 00) - - DECL_SEG_SCENE(Z2_INISIE_BS) - DECL_SEG_ROOM(Z2_INISIE_BS, 00) - - DECL_SEG_SCENE(Z2_30GYOSON) - DECL_SEG_ROOM(Z2_30GYOSON, 00) - - DECL_SEG_SCENE(Z2_31MISAKI) - DECL_SEG_ROOM(Z2_31MISAKI, 00) - - DECL_SEG_SCENE(Z2_TAKARAKUJI) - DECL_SEG_ROOM(Z2_TAKARAKUJI, 00) - - DECL_SEG_SCENE(Z2_TORIDE) - DECL_SEG_ROOM(Z2_TORIDE, 00) - - DECL_SEG_SCENE(Z2_FISHERMAN) - DECL_SEG_ROOM(Z2_FISHERMAN, 00) - - DECL_SEG_SCENE(Z2_GORONSHOP) - DECL_SEG_ROOM(Z2_GORONSHOP, 00) - - DECL_SEG_SCENE(Z2_DEKU_KING) - DECL_SEG_ROOM(Z2_DEKU_KING, 00) - - DECL_SEG_SCENE(Z2_LAST_GORON) - DECL_SEG_ROOM(Z2_LAST_GORON, 00) - DECL_SEG_ROOM(Z2_LAST_GORON, 01) - - DECL_SEG_SCENE(Z2_24KEMONOMITI) - DECL_SEG_ROOM(Z2_24KEMONOMITI, 00) - - DECL_SEG_SCENE(Z2_F01_B) - DECL_SEG_ROOM(Z2_F01_B, 00) - - DECL_SEG_SCENE(Z2_F01C) - DECL_SEG_ROOM(Z2_F01C, 00) - - DECL_SEG_SCENE(Z2_BOTI) - DECL_SEG_ROOM(Z2_BOTI, 00) - DECL_SEG_ROOM(Z2_BOTI, 01) - - DECL_SEG_SCENE(Z2_HAKUGIN_BS) - DECL_SEG_ROOM(Z2_HAKUGIN_BS, 00) - - DECL_SEG_SCENE(Z2_20SICHITAI) - DECL_SEG_ROOM(Z2_20SICHITAI, 00) - DECL_SEG_ROOM(Z2_20SICHITAI, 01) - DECL_SEG_ROOM(Z2_20SICHITAI, 02) - - DECL_SEG_SCENE(Z2_21MITURINMAE) - DECL_SEG_ROOM(Z2_21MITURINMAE, 00) - - DECL_SEG_SCENE(Z2_LAST_ZORA) - DECL_SEG_ROOM(Z2_LAST_ZORA, 00) - - DECL_SEG_SCENE(Z2_11GORONNOSATO2) - DECL_SEG_ROOM(Z2_11GORONNOSATO2, 00) - DECL_SEG_ROOM(Z2_11GORONNOSATO2, 01) - - DECL_SEG_SCENE(Z2_SEA) - DECL_SEG_ROOM(Z2_SEA, 00) - DECL_SEG_ROOM(Z2_SEA, 01) - DECL_SEG_ROOM(Z2_SEA, 02) - DECL_SEG_ROOM(Z2_SEA, 03) - DECL_SEG_ROOM(Z2_SEA, 04) - DECL_SEG_ROOM(Z2_SEA, 05) - DECL_SEG_ROOM(Z2_SEA, 06) - DECL_SEG_ROOM(Z2_SEA, 07) - DECL_SEG_ROOM(Z2_SEA, 08) - DECL_SEG_ROOM(Z2_SEA, 09) - DECL_SEG_ROOM(Z2_SEA, 10) - DECL_SEG_ROOM(Z2_SEA, 11) - DECL_SEG_ROOM(Z2_SEA, 12) - DECL_SEG_ROOM(Z2_SEA, 13) - DECL_SEG_ROOM(Z2_SEA, 14) - DECL_SEG_ROOM(Z2_SEA, 15) - - DECL_SEG_SCENE(Z2_35TAKI) - DECL_SEG_ROOM(Z2_35TAKI, 00) - - DECL_SEG_SCENE(Z2_REDEAD) - DECL_SEG_ROOM(Z2_REDEAD, 00) - DECL_SEG_ROOM(Z2_REDEAD, 01) - DECL_SEG_ROOM(Z2_REDEAD, 02) - DECL_SEG_ROOM(Z2_REDEAD, 03) - DECL_SEG_ROOM(Z2_REDEAD, 04) - DECL_SEG_ROOM(Z2_REDEAD, 05) - DECL_SEG_ROOM(Z2_REDEAD, 06) - DECL_SEG_ROOM(Z2_REDEAD, 07) - DECL_SEG_ROOM(Z2_REDEAD, 08) - DECL_SEG_ROOM(Z2_REDEAD, 09) - DECL_SEG_ROOM(Z2_REDEAD, 10) - DECL_SEG_ROOM(Z2_REDEAD, 11) - DECL_SEG_ROOM(Z2_REDEAD, 12) - DECL_SEG_ROOM(Z2_REDEAD, 13) - - DECL_SEG_SCENE(Z2_BANDROOM) - DECL_SEG_ROOM(Z2_BANDROOM, 00) - DECL_SEG_ROOM(Z2_BANDROOM, 01) - DECL_SEG_ROOM(Z2_BANDROOM, 02) - DECL_SEG_ROOM(Z2_BANDROOM, 03) - DECL_SEG_ROOM(Z2_BANDROOM, 04) - - DECL_SEG_SCENE(Z2_11GORONNOSATO) - DECL_SEG_ROOM(Z2_11GORONNOSATO, 00) - DECL_SEG_ROOM(Z2_11GORONNOSATO, 01) - - DECL_SEG_SCENE(Z2_GORON_HAKA) - DECL_SEG_ROOM(Z2_GORON_HAKA, 00) - - DECL_SEG_SCENE(Z2_SECOM) - DECL_SEG_ROOM(Z2_SECOM, 00) - DECL_SEG_ROOM(Z2_SECOM, 01) - - DECL_SEG_SCENE(Z2_10YUKIYAMANOMURA) - DECL_SEG_ROOM(Z2_10YUKIYAMANOMURA, 00) - - DECL_SEG_SCENE(Z2_TOUGITES) - DECL_SEG_ROOM(Z2_TOUGITES, 00) - - DECL_SEG_SCENE(Z2_DANPEI) - DECL_SEG_ROOM(Z2_DANPEI, 00) - DECL_SEG_ROOM(Z2_DANPEI, 01) - DECL_SEG_ROOM(Z2_DANPEI, 02) - DECL_SEG_ROOM(Z2_DANPEI, 03) - DECL_SEG_ROOM(Z2_DANPEI, 04) - DECL_SEG_ROOM(Z2_DANPEI, 05) - DECL_SEG_ROOM(Z2_DANPEI, 06) - DECL_SEG_ROOM(Z2_DANPEI, 07) - DECL_SEG_ROOM(Z2_DANPEI, 08) - - DECL_SEG_SCENE(Z2_IKANAMAE) - DECL_SEG_ROOM(Z2_IKANAMAE, 00) - - DECL_SEG_SCENE(Z2_DOUJOU) - DECL_SEG_ROOM(Z2_DOUJOU, 00) - - DECL_SEG_SCENE(Z2_MUSICHOUSE) - DECL_SEG_ROOM(Z2_MUSICHOUSE, 00) - - DECL_SEG_SCENE(Z2_IKNINSIDE) - DECL_SEG_ROOM(Z2_IKNINSIDE, 00) - DECL_SEG_ROOM(Z2_IKNINSIDE, 01) - - DECL_SEG_SCENE(Z2_MAP_SHOP) - DECL_SEG_ROOM(Z2_MAP_SHOP, 00) - - DECL_SEG_SCENE(Z2_F40) - DECL_SEG_ROOM(Z2_F40, 00) - - DECL_SEG_SCENE(Z2_F41) - DECL_SEG_ROOM(Z2_F41, 00) - - DECL_SEG_SCENE(Z2_10YUKIYAMANOMURA2) - DECL_SEG_ROOM(Z2_10YUKIYAMANOMURA2, 00) - DECL_SEG_ROOM(Z2_10YUKIYAMANOMURA2, 01) - - DECL_SEG_SCENE(Z2_14YUKIDAMANOMITI) - DECL_SEG_ROOM(Z2_14YUKIDAMANOMITI, 00) - - DECL_SEG_SCENE(Z2_12HAKUGINMAE) - DECL_SEG_ROOM(Z2_12HAKUGINMAE, 00) - - DECL_SEG_SCENE(Z2_17SETUGEN) - DECL_SEG_ROOM(Z2_17SETUGEN, 00) - - DECL_SEG_SCENE(Z2_17SETUGEN2) - DECL_SEG_ROOM(Z2_17SETUGEN2, 00) - - DECL_SEG_SCENE(Z2_SEA_BS) - DECL_SEG_ROOM(Z2_SEA_BS, 00) - - DECL_SEG_SCENE(Z2_RANDOM) - DECL_SEG_ROOM(Z2_RANDOM, 00) - DECL_SEG_ROOM(Z2_RANDOM, 01) - DECL_SEG_ROOM(Z2_RANDOM, 02) - DECL_SEG_ROOM(Z2_RANDOM, 03) - DECL_SEG_ROOM(Z2_RANDOM, 04) - DECL_SEG_ROOM(Z2_RANDOM, 05) - - DECL_SEG_SCENE(Z2_YADOYA) - DECL_SEG_ROOM(Z2_YADOYA, 00) - DECL_SEG_ROOM(Z2_YADOYA, 01) - DECL_SEG_ROOM(Z2_YADOYA, 02) - DECL_SEG_ROOM(Z2_YADOYA, 03) - DECL_SEG_ROOM(Z2_YADOYA, 04) - - DECL_SEG_SCENE(Z2_KONPEKI_ENT) - DECL_SEG_ROOM(Z2_KONPEKI_ENT, 00) - - DECL_SEG_SCENE(Z2_INSIDETOWER) - DECL_SEG_ROOM(Z2_INSIDETOWER, 00) - DECL_SEG_ROOM(Z2_INSIDETOWER, 01) - - DECL_SEG_SCENE(Z2_26SARUNOMORI) - DECL_SEG_ROOM(Z2_26SARUNOMORI, 00) - DECL_SEG_ROOM(Z2_26SARUNOMORI, 01) - DECL_SEG_ROOM(Z2_26SARUNOMORI, 02) - DECL_SEG_ROOM(Z2_26SARUNOMORI, 03) - DECL_SEG_ROOM(Z2_26SARUNOMORI, 04) - DECL_SEG_ROOM(Z2_26SARUNOMORI, 05) - DECL_SEG_ROOM(Z2_26SARUNOMORI, 06) - DECL_SEG_ROOM(Z2_26SARUNOMORI, 07) - DECL_SEG_ROOM(Z2_26SARUNOMORI, 08) - - DECL_SEG_SCENE(Z2_LOST_WOODS) - DECL_SEG_ROOM(Z2_LOST_WOODS, 00) - DECL_SEG_ROOM(Z2_LOST_WOODS, 01) - DECL_SEG_ROOM(Z2_LOST_WOODS, 02) - - DECL_SEG_SCENE(Z2_LAST_LINK) - DECL_SEG_ROOM(Z2_LAST_LINK, 00) - DECL_SEG_ROOM(Z2_LAST_LINK, 01) - DECL_SEG_ROOM(Z2_LAST_LINK, 02) - DECL_SEG_ROOM(Z2_LAST_LINK, 03) - DECL_SEG_ROOM(Z2_LAST_LINK, 04) - DECL_SEG_ROOM(Z2_LAST_LINK, 05) - DECL_SEG_ROOM(Z2_LAST_LINK, 06) - DECL_SEG_ROOM(Z2_LAST_LINK, 07) - - DECL_SEG_SCENE(Z2_SOUGEN) - DECL_SEG_ROOM(Z2_SOUGEN, 00) - - DECL_SEG_SCENE(Z2_BOMYA) - DECL_SEG_ROOM(Z2_BOMYA, 00) - - DECL_SEG_SCENE(Z2_KYOJINNOMA) - DECL_SEG_ROOM(Z2_KYOJINNOMA, 00) - - DECL_SEG_SCENE(Z2_KOEPONARACE) - DECL_SEG_ROOM(Z2_KOEPONARACE, 00) - - DECL_SEG_SCENE(Z2_GORONRACE) - DECL_SEG_ROOM(Z2_GORONRACE, 00) - - DECL_SEG_SCENE(Z2_TOWN) - DECL_SEG_ROOM(Z2_TOWN, 00) - - DECL_SEG_SCENE(Z2_ICHIBA) - DECL_SEG_ROOM(Z2_ICHIBA, 00) - - DECL_SEG_SCENE(Z2_BACKTOWN) - DECL_SEG_ROOM(Z2_BACKTOWN, 00) - - DECL_SEG_SCENE(Z2_CLOCKTOWER) - DECL_SEG_ROOM(Z2_CLOCKTOWER, 00) - - DECL_SEG_SCENE(Z2_ALLEY) - DECL_SEG_ROOM(Z2_ALLEY, 00) - - DECL_SEG_SCENE(SPOT00) - DECL_SEG_ROOM(SPOT00, 00) - - DECL_SEG_SCENE(KAKUSIANA) - DECL_SEG_ROOM(KAKUSIANA, 00) - DECL_SEG_ROOM(KAKUSIANA, 01) - DECL_SEG_ROOM(KAKUSIANA, 02) - DECL_SEG_ROOM(KAKUSIANA, 03) - DECL_SEG_ROOM(KAKUSIANA, 04) - DECL_SEG_ROOM(KAKUSIANA, 05) - DECL_SEG_ROOM(KAKUSIANA, 06) - DECL_SEG_ROOM(KAKUSIANA, 07) - DECL_SEG_ROOM(KAKUSIANA, 08) - DECL_SEG_ROOM(KAKUSIANA, 09) - DECL_SEG_ROOM(KAKUSIANA, 10) - DECL_SEG_ROOM(KAKUSIANA, 11) - DECL_SEG_ROOM(KAKUSIANA, 12) - DECL_SEG_ROOM(KAKUSIANA, 13) - DECL_SEG_ROOM(KAKUSIANA, 14) -} diff --git a/linker_scripts/object_script.txt b/linker_scripts/object_script.txt deleted file mode 100644 index cc8e1d3fc2..0000000000 --- a/linker_scripts/object_script.txt +++ /dev/null @@ -1,825 +0,0 @@ -/* KEEPS */ - -/* gameplay_keep (segment 04) */ - -D_040008D0 = 0x040008D0; -D_0400DEA8 = 0x0400DEA8; -D_0400E2A8 = 0x0400E2A8; -D_04023210 = 0x04023210; -D_0402E510 = 0x0402E510; -D_04029CB0 = 0x04029CB0; -D_04029CF0 = 0x04029CF0; -D_04029CB0 = 0x04029CB0; -D_04029CF0 = 0x04029CF0; -D_04030100 = 0x04030100; -D_040378F0 = 0x040378F0; -D_04037DF0 = 0x04037DF0; -D_040382F0 = 0x040382F0; -D_040387F0 = 0x040387F0; -D_04038CF0 = 0x04038CF0; -D_040391F0 = 0x040391F0; -D_040396F0 = 0x040396F0; -D_04039BF0 = 0x04039BF0; -D_0403A0F0 = 0x0403A0F0; -D_04058BA0 = 0x04058BA0; -D_0405AAB0 = 0x0405AAB0; -D_0405BEF0 = 0x0405BEF0; -D_0405B6F0 = 0x0405B6F0; -D_0405C6F0 = 0x0405C6F0; -D_0405CEF0 = 0x0405CEF0; -D_0405E6F0 = 0x0405E6F0; -D_0405F6F0 = 0x0405F6F0; -D_0405F7C0 = 0x0405F7C0; -D_0405FFC0 = 0x0405FFC0; -D_040607C0 = 0x040607C0; -D_04060FC0 = 0x04060FC0; -D_040617C0 = 0x040617C0; -D_04061FC0 = 0x04061FC0; -D_04061FE0 = 0x04061FE0; -D_04062000 = 0x04062000; -D_04062020 = 0x04062020; -D_04062040 = 0x04062040; -D_04062060 = 0x04062060; -D_040622C0 = 0x040622C0; -D_04076BC0 = 0x04076BC0; -D_04075A40 = 0x04075A40; -D_04077480 = 0x04077480; -D_04075B30 = 0x04075B30; -D_0408DBE0 = 0x0408DBE0; -D_0408DFE0 = 0x0408DFE0; -D_0408E3E0 = 0x0408E3E0; -D_0408E7E0 = 0x0408E7E0; -D_0408EBE0 = 0x0408EBE0; -D_0408EFE0 = 0x0408EFE0; -D_0408F3E0 = 0x0408F3E0; -D_0408F7E0 = 0x0408F7E0; -D_0401F740 = 0x0401F740; -D_0401F7C0 = 0x0401F7C0; -D_0401F8C0 = 0x0401F8C0; - -/* gameplay_dangeon_keep (segment 05) */ -D_05018090 = 0x05018090; -D_05017EA0 = 0x05017EA0; -D_0501D980 = 0x0501D980; -D_050219E0 = 0x050219E0; - -/* gameplay_field_keep (segment 05) */ -D_05000C40 = 0x05000C40; - - -/* CODE */ - -/* z_en_item00 */ -D_06001290 = 0x06001290; -D_06001470 = 0x06001470; - -/* z_rcp */ -D_0E000048 = 0x0E000048; -D_0E000088 = 0x0E000088; -D_0E000140 = 0x0E000140; -D_0E0001C8 = 0x0E0001C8; -D_0E0002C8 = 0x0E0002C8; - - -/* OVERLAYS */ - -/* z_arms_hook */ -D_0601D960 = 0x0601D960; - -/* z_bg_ctower_gear */ -D_06010828 = 0x06010828; -D_06015F30 = 0x06015F30; -D_060160A0 = 0x060160A0; -D_06016E70 = 0x06016E70; -D_06017018 = 0x06017018; -D_06018118 = 0x06018118; -D_06018588 = 0x06018588; - -/* z_bg_ctower_rot */ -D_060129D0 = 0x060129D0; -D_06012DA0 = 0x06012DA0; -D_060142E8 = 0x060142E8; -D_06017220 = 0x06017220; -D_06017410 = 0x06017410; -D_060174E0 = 0x060174E0; -D_06017650 = 0x06017650; - -/* z_bg_fu_kaiten */ -object_fu_kaiten_0005D0 = 0x060005D0; -object_fu_kaiten_002D30 = 0x06002D30; - -/* z_bg_haka_curtain */ -D_06001410 = 0x06001410; -D_06001588 = 0x06001588; - -/* z_bg_haka_tomb */ -D_060007B0 = 0x060007B0; -D_06000EE8 = 0x06000EE8; - -/* z_bg_icicle */ -D_060000D0 = 0x060000D0; -D_06000294 = 0x06000294; - -/* z_bg_ikana_ray */ -object_ikana_obj_001100 = 0x06001100; -object_ikana_obj_001228 = 0x06001228; - -/* z_bg_ikana_shutter */ -D_06000F28 = 0x06000F28; -D_06000CE8 = 0x06000CE8; - -/* z_bg_iknin_susceil */ -D_0600CBAC = 0x0600CBAC; -D_0600C670 = 0x0600C670; -D_0600C308 = 0x0600C308; - -/* z_bg_iknv_obj */ -D_060119D4 = 0x060119D4; -D_06012CA4 = 0x06012CA4; -D_06011880 = 0x06011880; -D_060129C8 = 0x060129C8; -D_06013058 = 0x06013058; - -/* z_bg_keikoku_spr */ -D_06000100 = 0x06000100; -D_060001F8 = 0x060001F8; -D_06000300 = 0x06000300; -D_060003F8 = 0x060003F8; -D_06000500 = 0x06000500; -D_060005F8 = 0x060005F8; - -/* z_bg_kin2_fence */ -D_06000828 = 0x06000828; -D_06000908 = 0x06000908; - -/* z_bg_ladder */ -D_060000A0 = 0x060000A0; -D_060001D8 = 0x060001D8; -D_060002D0 = 0x060002D0; -D_06000408 = 0x06000408; -D_06000500 = 0x06000500; -D_06000638 = 0x06000638; -D_06000730 = 0x06000730; -D_06000868 = 0x06000868; - -/* z_bg_lbfshot */ -D_060014D8 = 0x060014D8; -D_06000228 = 0x06000228; - -/* z_bg_lotus */ -D_06000A20 = 0x06000A20; -D_06000040 = 0x06000040; - -/* z_bg_market_step */ -D_0601F050 = 0x0601F050; -D_06018DA0 = 0x06018DA0; -D_0601EF10 = 0x0601EF10; -D_06018C60 = 0x06018C60; - -/* z_bg_mbar */ -D_06000288 = 0x06000288; -D_060019B4 = 0x060019B4; - -/* z_bg_tobira01 */ -D_060011C0 = 0x060011C0; -D_06000088 = 0x06000088; - -/* dm_char07 */ -D_06000100 = 0x06000100; -D_06000240 = 0x06000240; -D_06000650 = 0x06000650; -D_06000790 = 0x06000790; -D_06000B80 = 0x06000B80; -D_06000CC0 = 0x06000CC0; -D_060010D0 = 0x060010D0; -D_06001210 = 0x06001210; -D_060015E0 = 0x060015E0; -D_060016B8 = 0x060016B8; -D_06002BA0 = 0x06002BA0; -D_06002CD0 = 0x06002CD0; -D_06006688 = 0x06006688; -D_060076A0 = 0x060076A0; -D_06007918 = 0x06007918; -D_060105F8 = 0x060105F8; -D_06010D68 = 0x06010D68; - -/* z_dm_nb */ -D_06000990 = 0x06000990; -D_06008C40 = 0x06008C40; - -/* z_dm_sa */ -D_06013328 = 0x06013328; -D_0600CC94 = 0x0600CC94; - -/* z_dm_statue */ -D_06001788 = 0x06001788; -D_06000520 = 0x06000520; - - -/* z_door_spiral */ -/* these are symbols from other objects based on the type of door */ -D_06000590 = 0x06000590; -D_060007A8 = 0x060007A8; -D_06000EA0 = 0x06000EA0; -D_060012C0 = 0x060012C0; -D_060014C8 = 0x060014C8; -D_06002110 = 0x06002110; -D_06004448 = 0x06004448; -D_060051B8 = 0x060051B8; -D_06006128 = 0x06006128; -D_06009278 = 0x06009278; -D_06012B70 = 0x06012B70; -D_06013EA8 = 0x06013EA8; - -/* z_eff_dust */ -D_04054A90 = 0x04054A90; - -/* z_en_baisen */ -D_060011C0 = 0x060011C0; -D_060008B4 = 0x060008B4; -D_06008198 = 0x06008198; - -/* z_en_bji_01 */ -D_06000FDC = 0x06000FDC; -D_06005B58 = 0x06005B58; -D_06000AB0 = 0x06000AB0; -D_0600066C = 0x0600066C; -D_060049F0 = 0x060049F0; -D_06004E70 = 0x06004E70; -D_06005270 = 0x06005270; -D_0600578C = 0x0600578C; - -/* z_en_cha */ -D_06000710 = 0x06000710; -D_06000958 = 0x06000958; - -/* z_en_dy_extra */ -D_0600DD40 = 0x0600DD40; -D_0600DEF0 = 0x0600DEF0; - -/* z_en_encount2 */ -D_06000A00 = 0x6000A00; -D_06000D78 = 0x6000D78; -D_06002420 = 0x6002420; - -/* z_en_ending_hero */ -D_0600B0CC = 0x0600B0CC; -D_06000BE0 = 0x06000BE0; -D_06007350 = 0x06007350; -D_06009590 = 0x06009590; -D_06009F90 = 0x06009F90; -D_0600A790 = 0x0600A790; -D_0600AB90 = 0x0600AB90; -D_06007750 = 0x06007750; -D_0600A390 = 0x0600A390; -D_0600A490 = 0x0600A490; - -/* z_en_ending_hero2 */ -D_06007908 = 0x06007908; -D_060011C0 = 0x060011C0; - -/* z_en_ending_hero3 */ -D_06007150 = 0x06007150; -D_06000E50 = 0x06000E50; - -/* z_en_ending_hero4 */ -D_0600D640 = 0x0600D640; -D_06002A84 = 0x06002A84; - -/* z_en_ending_hero5 */ -D_0600A850 = 0x0600A850; -D_06002FA0 = 0x06002FA0; -D_060070C0 = 0x060070C0; -D_06006FB0 = 0x06006FB0; -D_06006E80 = 0x06006E80; -D_06006D70 = 0x06006D70; -D_0600A390 = 0x0600A390; - -/* z_en_fg */ -D_06001534 = 0x06001534; -D_060011C0 = 0x060011C0; -D_060007BC = 0x060007BC; -D_060059A0 = 0x060059A0; -D_0600B328 = 0x0600B328; -D_0600B338 = 0x0600B338; -D_0600B538 = 0x0600B538; - -/* z_en_firefly */ -D_060018B8 = 0x060018B8; -D_0600017C = 0x0600017C; -D_06001678 = 0x06001678; - -/* z_en_fsn */ -D_06012C34 = 0x06012C34; -D_06013320 = 0x06013320; -D_060131FC = 0x060131FC; -D_0600C58C = 0x0600C58C; -D_0600E3EC = 0x0600E3EC; -D_0600F00C = 0x0600F00C; -D_0600CB3C = 0x0600CB3C; -D_0600D354 = 0x0600D354; -D_060138B0 = 0x060138B0; -D_0601430C = 0x0601430C; -D_0600B9D8 = 0x0600B9D8; -D_0600C26C = 0x0600C26C; -D_0600DE34 = 0x0600DE34; -D_06005BC0 = 0x06005BC0; -D_06006D40 = 0x06006D40; -D_06007140 = 0x06007140; -D_0600F180 = 0x0600F180; -D_0600F218 = 0x0600F218; - -/* z_en_ginko_man */ -object_ginko_skeleton = 0x0600C240; -object_ginko_limb15_dlist = 0x0600B1D8; -object_ginko_sitting_anim = 0x060043F0; -object_ginko_stamp_reach_anim = 0x06004F40; -object_ginko_floorsmacking_anim = 0x060008C0; -object_ginko_amazed_anim = 0x06004A7C; -object_ginko_advertising_anim = 0x06000AC4; - -/* z_en_guruguru */ -D_06006C90 = 0x06006C90; -D_06000B04 = 0x06000B04; -D_0600057C = 0x0600057C; -D_06005F20 = 0x06005F20; -D_06006320 = 0x06006320; -D_06006720 = 0x06006720; -D_06006920 = 0x06006920; - -/* z_en_hg */ -D_06008580 = 0x06008580; -D_0600260C = 0x0600260C; -D_06005E28 = 0x06005E28; -D_06009D44 = 0x06009D44; -D_0600A164 = 0x0600A164; -D_06000370 = 0x06000370; -D_06001138 = 0x06001138; -D_060015D4 = 0x060015D4; -D_06001960 = 0x06001960; -D_0600AE1C = 0x0600AE1C; - -/* z_en_in */ -D_06014EA8 = 0x06014EA8; -D_06015E38 = 0x06015E38; -D_06016484 = 0x06016484; -D_06016A60 = 0x06016A60; -D_060170DC = 0x060170DC; -D_060177AC = 0x060177AC; -D_06018240 = 0x06018240; -D_060187C8 = 0x060187C8; -D_060198A8 = 0x060198A8; -D_06007A70 = 0x06007A70; -D_06007C48 = 0x06007C48; -D_0601C528 = 0x0601C528; -D_06001C30 = 0x06001C30; -D_06003520 = 0x06003520; -D_060035E0 = 0x060035E0; -D_06004820 = 0x06004820; -D_06004C20 = 0x06004C20; -D_060043E0 = 0x060043E0; -D_06001D10 = 0x06001D10; -D_06014F8C = 0x06014F8C; -D_06000CB0 = 0x06000CB0; -D_060003B4 = 0x060003B4; -D_06001BE0 = 0x06001BE0; -D_06015918 = 0x06015918; -D_0601C0B0 = 0x0601C0B0; -D_0601A140 = 0x0601A140; -D_0601B904 = 0x0601B904; -D_0601B3C4 = 0x0601B3C4; -D_06019EB4 = 0x06019EB4; -D_06014C30 = 0x06014C30; -D_060138D0 = 0x060138D0; -D_060149A8 = 0x060149A8; -D_06014710 = 0x06014710; -D_06013DE0 = 0x06013DE0; -D_06014420 = 0x06014420; -D_06014040 = 0x06014040; -D_06013A00 = 0x06013A00; -D_06013440 = 0x06013440; -D_06013670 = 0x06013670; -D_060145D8 = 0x060145D8; -D_06013F10 = 0x06013F10; -D_06013540 = 0x06013540; -D_06012DF8 = 0x06012DF8; -D_06014AE0 = 0x06014AE0; -D_06012A78 = 0x06012A78; -D_060137A0 = 0x060137A0; -D_06014860 = 0x06014860; - -/* z_en_invadepoh */ -D_06000080 = 0x06000080; -D_06000550 = 0x06000550; -D_06000560 = 0x06000560; -D_06000608 = 0x06000608; -D_060006C8 = 0x060006C8; -D_06000720 = 0x06000720; -D_06000998 = 0x06000998; -D_06001560 = 0x06001560; -D_06001674 = 0x06001674; -D_06001BD8 = 0x06001BD8; -D_06001D80 = 0x06001D80; -D_060021C8 = 0x060021C8; -D_06002A8C = 0x06002A8C; -D_06004010 = 0x06004010; -D_06004264 = 0x06004264; -D_06004C30 = 0x06004C30; -D_06004E50 = 0x06004E50; -D_06004E98 = 0x06004E98; -D_06007328 = 0x06007328; -D_060080F0 = 0x060080F0; -D_06009E58 = 0x06009E58; -D_0600A174 = 0x0600A174; -D_0600FFC8 = 0x0600FFC8; -D_060107C8 = 0x060107C8; -D_06010FC8 = 0x06010FC8; -D_060117C8 = 0x060117C8; -D_06011AD8 = 0x06011AD8; -D_06011FC8 = 0x06011FC8; -D_060122D8 = 0x060122D8; -D_060127C8 = 0x060127C8; -D_06012AD8 = 0x06012AD8; -D_06012BC8 = 0x06012BC8; -D_06012FC8 = 0x06012FC8; -D_060132D8 = 0x060132D8; -D_060133C8 = 0x060133C8; -D_06013928 = 0x06013928; -D_06013AD8 = 0x06013AD8; -D_06014088 = 0x06014088; -D_060142D8 = 0x060142D8; -D_06014AD8 = 0x06014AD8; -D_06014ED8 = 0x06014ED8; -D_060152D8 = 0x060152D8; -D_06015C28 = 0x06015C28; -D_060156D8 = 0x060156D8; -D_06016720 = 0x06016720; - -/* z_en_jc_mato */ -D_06000390 = 0x06000390; - -/* z_en_ma_yto */ -D_06007E28 = 0x06007E28; -D_06003D54 = 0x06003D54; -D_0600A174 = 0x0600A174; -D_060070EC = 0x060070EC; -D_06003D54 = 0x06003D54; -D_06015C28 = 0x06015C28; -D_06005430 = 0x06005430; -D_0600AF7C = 0x0600AF7C; -D_06014AD8 = 0x06014AD8; -D_06014ED8 = 0x06014ED8; -D_060152D8 = 0x060152D8; -D_060156D8 = 0x060156D8; -D_06001FD0 = 0x06001FD0; -D_06014AD8 = 0x06014AD8; -D_06014ED8 = 0x06014ED8; -D_060152D8 = 0x060152D8; -D_060156D8 = 0x060156D8; -D_06011AD8 = 0x06011AD8; -D_060122D8 = 0x060122D8; -D_06012AD8 = 0x06012AD8; -D_060132D8 = 0x060132D8; -D_06013AD8 = 0x06013AD8; -D_060142D8 = 0x060142D8; -D_0600A174 = 0x0600A174; -D_0600AF7C = 0x0600AF7C; -D_06000CC0 = 0x06000CC0; -D_06016720 = 0x06016720; -D_06005314 = 0x06005314; -D_060093E8 = 0x060093E8; -D_06007E28 = 0x06007E28; -D_060070EC = 0x060070EC; -D_06003D54 = 0x06003D54; -D_06001FD0 = 0x06001FD0; -D_060030B4 = 0x060030B4; -D_06004370 = 0x06004370; - -/* z_en_ma_yts */ -D_06009E58 = 0x06009E58; -D_06007D98 = 0x06007D98; -D_060003B0 = 0x060003B0; -D_060043A0 = 0x060043A0; -D_06013928 = 0x06013928; -D_06009E58 = 0x06009E58; -D_06009E58 = 0x06009E58; -D_06018948 = 0x06018948; -D_06018948 = 0x06018948; -D_0601B76C = 0x0601B76C; -D_0601B76C = 0x0601B76C; -D_06007328 = 0x06007328; -D_06007328 = 0x06007328; -D_06014088 = 0x06014088; -D_06014088 = 0x06014088; -D_06002A8C = 0x06002A8C; -D_06002A8C = 0x06002A8C; -D_06015B7C = 0x06015B7C; -D_06015B7C = 0x06015B7C; -D_06007D98 = 0x06007D98; -D_06007D98 = 0x06007D98; -D_0600852C = 0x0600852C; -D_0600852C = 0x0600852C; -D_06008F6C = 0x06008F6C; -D_06008F6C = 0x06008F6C; -D_060180DC = 0x060180DC; -D_060180DC = 0x060180DC; -D_060127C8 = 0x060127C8; -D_06012BC8 = 0x06012BC8; -D_06012FC8 = 0x06012FC8; -D_060133C8 = 0x060133C8; -D_0600FFC8 = 0x0600FFC8; -D_060107C8 = 0x060107C8; -D_06010FC8 = 0x06010FC8; -D_060117C8 = 0x060117C8; -D_06011FC8 = 0x06011FC8; - -/* z_en_ma4 */ -D_060003B0 = 0x060003B0; -D_06007328 = 0x06007328; -D_06002A8C = 0x06002A8C; -D_06015B7C = 0x06015B7C; -D_06013928 = 0x06013928; -D_0600FFC8 = 0x0600FFC8; -D_060107C8 = 0x060107C8; -D_06010FC8 = 0x06010FC8; -D_060117C8 = 0x060117C8; -D_06011FC8 = 0x06011FC8; -D_060127C8 = 0x060127C8; -D_06012BC8 = 0x06012BC8; -D_06012FC8 = 0x06012FC8; -D_060133C8 = 0x060133C8; -D_06009E58 = 0x06009E58; -D_06002A8C = 0x06002A8C; -D_06018948 = 0x06018948; -D_0601B76C = 0x0601B76C; -D_06007328 = 0x06007328; -D_06014088 = 0x06014088; -D_06015B7C = 0x06015B7C; -D_06007D98 = 0x06007D98; -D_0600852C = 0x0600852C; -D_06008F6C = 0x06008F6C; - -/* z_en_minifrog */ -D_060007BC = 0x060007BC; -D_06001534 = 0x06001534; -D_060059A0 = 0x060059A0; -D_06005BA0 = 0x06005BA0; -D_0600B538 = 0x0600B538; - -/* en_niw */ -D_060000E8 = 0x060000E8; -D_060023B0 = 0x060023B0; -D_06002428 = 0x06002428; -D_06002530 = 0x06002530; - -/* z_en_nnh */ -D_06001510 = 0x06001510; - -/* z_en_ossan */ -D_06013320 = 0x06013320; -D_06012C34 = 0x06012C34; -D_060028A0 = 0x060028A0; -D_06009D34 = 0x06009D34; -D_0600CB3C = 0x0600CB3C; -D_0600DE34 = 0x0600DE34; -D_0600E3EC = 0x0600E3EC; -D_0600C58C = 0x0600C58C; -D_0600F00C = 0x0600F00C; -D_0600B9D8 = 0x0600B9D8; -D_0600C26C = 0x0600C26C; -D_0600D354 = 0x0600D354; -D_060131FC = 0x060131FC; -D_0601430C = 0x0601430C; -D_060138B0 = 0x060138B0; -D_0600A460 = 0x0600A460; -D_06006498 = 0x06006498; -D_06007140 = 0x06007140; -D_06006D40 = 0x06006D40; -D_06005BC0 = 0x06005BC0; -D_06006F18 = 0x06006F18; -D_06006B18 = 0x06006B18; - -/* z_en_pamera */ -D_06008448 = 0x06008448; -D_060005BC = 0x060005BC; -D_06008AE0 = 0x06008AE0; -D_06008E38 = 0x06008E38; -D_0600A844 = 0x0600A844; -D_0600B0C4 = 0x0600B0C4; -D_06009870 = 0x06009870; -D_06009F54 = 0x06009F54; -D_0600B5B0 = 0x0600B5B0; -D_0600BCC4 = 0x0600BCC4; -D_0600D9DC = 0x0600D9DC; -D_0600E16C = 0x0600E16C; -D_0600C9F4 = 0x0600C9F4; -D_0600D0F0 = 0x0600D0F0; -D_060074E8 = 0x060074E8; -D_060078E8 = 0x060078E8; -D_060066E8 = 0x060066E8; -D_06006AE8 = 0x06006AE8; -D_06006EE8 = 0x06006EE8; -D_060072E8 = 0x060072E8; -D_060073E8 = 0x060073E8; - -/* z_en_pametfrog */ -D_06000994 = 0x06000994; -D_06001B08 = 0x06001B08; -D_06001E14 = 0x06001E14; -D_06001F20 = 0x06001F20; -D_060030E4 = 0x060030E4; -D_0600347C = 0x0600347C; -D_060039C4 = 0x060039C4; -D_06003F28 = 0x06003F28; -D_06004298 = 0x06004298; -D_06004680 = 0x06004680; -D_06004894 = 0x06004894; -D_06004D50 = 0x06004D50; -D_060050B8 = 0x060050B8; -D_060052EC = 0x060052EC; -D_06005694 = 0x06005694; -D_06005D54 = 0x06005D54; -D_060066B4 = 0x060066B4; -D_060070C4 = 0x060070C4; -D_0600DF98 = 0x0600DF98; -D_0600F990 = 0x0600F990; -D_0600F048 = 0x0600F048; - -/* z_en_po_fusen */ -D_06000040 = 0x06000040; -D_060024F0 = 0x060024F0; - -/* z_en_rsn */ -D_06009220 = 0x06009220; -D_06009120 = 0x06009120; -D_06005458 = 0x06005458; -D_0600788C = 0x0600788C; - -/* z_en_sb */ -D_06000194 = 0x06000194; -D_0600004C = 0x0600004C; -D_06000124 = 0x06000124; -D_06002C8C = 0x06002C8C; -D_060000B4 = 0x060000B4; -D_06002BF0 = 0x06002BF0; - -/* z_en_sob1 */ -D_06008268 = 0x06008268; -D_0600D208 = 0x0600D208; -D_0600078C = 0x0600078C; -D_06011AC8 = 0x06011AC8; -D_060000FC = 0x060000FC; -D_06000970 = 0x06000970; -D_060087BC = 0x060087BC; -D_060050A0 = 0x060050A0; -D_060058A0 = 0x060058A0; -D_060060A0 = 0x060060A0; -D_06010438 = 0x06010438; -D_06010C38 = 0x06010C38; -D_06011038 = 0x06011038; - -/* z_en_suttari */ -D_0600C240 = 0x0600C240; -D_0600071C = 0x0600071C; -D_060128F4 = 0x060128F4; -D_06011F84 = 0x06011F84; -D_06012E84 = 0x06012E84; -D_0601139C = 0x0601139C; -D_06011C38 = 0x06011C38; -D_06010BDC = 0x06010BDC; -D_0600AF90 = 0x0600AF90; -D_06013380 = 0x06013380; - -/* z_en_torch2 */ -D_0401C430 = 0x0401C430; -D_04048DF0 = 0x04048DF0; -D_04057B10 = 0x04057B10; -D_04089070 = 0x04089070; - -/* z_en_toto */ -D_06000C80 = 0x06000C80; -D_06001324 = 0x06001324; -D_060016A4 = 0x060016A4; -D_06001DF0 = 0x06001DF0; -D_060022C8 = 0x060022C8; -D_060028B8 = 0x060028B8; -D_06002F20 = 0x06002F20; -D_06003AA8 = 0x06003AA8; -D_06008AE8 = 0x06008AE8; -D_0600A068 = 0x0600A068; -D_0600A468 = 0x0600A468; -D_0600A978 = 0x0600A978; -D_0600B3E0 = 0x0600B3E0; -D_0600B894 = 0x0600B894; -D_0600BC08 = 0x0600BC08; -D_0600C880 = 0x0600C880; - -/* z_en_trt */ -D_0600FEF0 = 0x0600FEF0; -D_0600FD34 = 0x0600FD34; -D_0600DE68 = 0x0600DE68; -D_06002224 = 0x06002224; -D_06001EF4 = 0x06001EF4; -D_060030EC = 0x060030EC; -D_0600D52C = 0x0600D52C; -D_06002CB0 = 0x06002CB0; -D_0600EE98 = 0x0600EE98; -D_06003D78 = 0x06003D78; -D_06000A44 = 0x06000A44; -D_0600B0B8 = 0x0600B0B8; -D_0600B8B8 = 0x0600B8B8; -D_0600C0B8 = 0x0600C0B8; - -/* z_en_warp_uzu */ -D_06000EC0 = 0x06000EC0; - -/* z_item_b_heart */ -D_06001290 = 0x06001290; -D_06001470 = 0x06001470; - -/* z_obj_bell */ -D_06001BA8 = 0x06001BA8; -D_06000840 = 0x06000840; -D_06000570 = 0x06000570; -D_06000698 = 0x06000698; -D_060008D0 = 0x060008D0; -D_06000960 = 0x06000960; -D_060007A8 = 0x060007A8; - -/* z_obj_boyo */ -D_06000300 = 0x06000300; -D_06000E88 = 0x06000E88; - -/* z_obj_dinner */ -D_060011E0 = 0x060011E0; - -/* z_obj_ending */ -D_060003D0 = 0x060003D0; -D_060031A0 = 0x060031A0; -D_06003440 = 0x06003440; -D_06001FF8 = 0x06001FF8; - -/* z_obj_funen */ -D_060000D0 = 0x060000D0; - -/* z_obj_ghaka */ -D_06001A20 = 0x06001A20; -D_06001980 = 0x06001980; -D_06003CD0 = 0x06003CD0; - -/* z_obj_hana */ -D_06000500 = 0x06000500; - -/* z_obj_hgdoor */ -D_06001D10 = 0x06001D10; -D_060018C0 = 0x060018C0; -D_06001AB0 = 0x06001AB0; -D_06001BA8 = 0x06001BA8; -D_06001670 = 0x06001670; -D_06001768 = 0x06001768; - -/* z_obj_hsstump */ -D_060003B8 = 0x060003B8; -D_060011B0 = 0x060011B0; - -/* z_obj_kepn_koya */ -D_0600805C = 0x0600805C; -D_06003478 = 0x06003478; - -/* z_obj_kibako */ -D_05007890 = 0x05007890; -D_05007980 = 0x05007980; -D_06001180 = 0x06001180; -D_06001A70 = 0x06001A70; - -/* z_obj_lightswitch */ -D_06000260 = 0x06000260; -D_06000398 = 0x06000398; -D_06000408 = 0x06000408; -D_06000420 = 0x06000420; -D_06000C20 = 0x06000C20; -D_06001420 = 0x06001420; - -/* z_obj_milk_bin */ -D_060004B0 = 0x060004B0; - -/* z_obj_moon_stone */ -D_06001C60 = 0x06001C60; -D_06000D78 = 0x06000D78; -D_06000C80 = 0x06000C80; - -/* z_obj_raillift */ -D_06004FF8 = 0x06004FF8; -D_060048D0 = 0x060048D0; -D_06004BF0 = 0x06004BF0; -D_060071B8 = 0x060071B8; -D_06000208 = 0x06000208; - -/* z_obj_tokei_step */ -D_06000088 = 0x06000088; -D_06000968 = 0x06000968; - -/* z_obj_visiblock */ -D_06000AD0 = 0x06000AD0; -D_06000140 = 0x06000140; - diff --git a/spec b/spec new file mode 100644 index 0000000000..e803a28e16 --- /dev/null +++ b/spec @@ -0,0 +1,12322 @@ +/* + * ROM spec file + */ + +beginseg + name "makerom" + address 0x8007F000 + include "build/asm/makerom/rom_header.o" + include "build/asm/makerom/ipl3.o" + include "build/asm/makerom/entry.o" +endseg + +beginseg + name "boot" + address 0x80080060 + include "build/src/boot_O2_g3/boot_main.o" + include "build/data/boot/boot_main.bss.o" + include "build/data/boot/rsp_boot.data.o" + include "build/src/boot_O2_g3/idle.o" + include "build/data/boot/idle.bss.o" + include "build/src/boot_O2_g3/viconfig.o" + include "build/data/boot/viconfig.data.o" + include "build/src/boot_O2_g3/z_std_dma.o" + include "build/data/boot/z_std_dma.bss.o" + include "build/src/boot_O2_g3/yaz0.o" + include "build/src/boot_O2_g3/irqmgr.o" + include "build/src/boot_O2_g3/CIC6105.o" + include "build/data/boot/CIC6105.bss.o" + include "build/src/boot_O2_g3/syncprintf.o" + include "build/src/boot_O2_g3/fault.o" + include "build/data/boot/fault.data.o" + include "build/data/boot/fault.bss.o" + include "build/src/boot_O2_g3/fault_drawer.o" + include "build/data/boot/fault_drawer.bss.o" + include "build/src/boot_O2/boot_80084940.o" + include "build/src/boot/loadfragment.o" + include "build/data/boot/loadfragment.data.o" + include "build/src/boot_O2/loadfragment2.o" + include "build/src/boot_O2/padutils.o" + include "build/src/boot_O2/stackcheck.o" + include "build/src/boot_O2/gfxprint.o" + include "build/data/boot/gfxprint.data.o" + include "build/src/boot_O2/mtxuty-cvt.o" + include "build/src/boot_O2/assert.o" + include "build/src/boot_O2/boot_800862E0.o" + include "build/src/boot_O2/padsetup.o" + include "build/src/boot/boot_80086760.o" + include "build/data/boot/boot_80086760.bss.o" + include "build/asm/boot/fp.text.o" + include "build/src/boot/system_malloc.o" + include "build/data/boot/system_malloc.data.o" + include "build/data/boot/system_malloc.bss.o" + include "build/src/boot_O2/rand.o" + include "build/data/boot/rand.data.o" + include "build/data/boot/rand.bss.o" + include "build/src/boot_O2/__osMalloc.o" + include "build/data/boot/__osMalloc.bss.o" + include "build/src/libultra/rmon/sprintf.o" + include "build/src/boot/printutils.o" + include "build/asm/boot/setcause.text.o" + include "build/src/libultra/os/sendmesg.o" + include "build/src/boot/pfsfreeblocks.o" + include "build/src/libultra/os/viextend.o" + include "build/src/libultra/os/stopthread.o" + include "build/src/libultra/os/recvmesg.o" + include "build/asm/boot/setintmask.text.o" + include "build/data/boot/setintmask.rodata.o" + include "build/asm/boot/getintmask.text.o" + include "build/src/libultra/voice/voicesetword.o" + include "build/data/boot/vimodeHpf.data.o" + include "build/asm/boot/guScale.text.o" + include "build/src/libultra/gu/sinf.o" + include "build/src/libultra/gu/sins.o" + include "build/src/libultra/io/sptask.o" + include "build/data/boot/sptask.bss.o" + include "build/src/libultra/libc/ll.o" + include "build/asm/boot/exceptasm.text.o" + include "build/data/boot/exceptasm.data.o" + include "build/data/boot/exceptasm.rodata.o" + include "build/src/libultra/os/thread.o" + include "build/src/libultra/os/destroythread.o" + include "build/src/libultra/voice/voicecheckresult.o" + include "build/asm/boot/bzero.text.o" + include "build/src/boot/rumblepak.o" + include "build/data/boot/rumblepak.bss.o" + include "build/src/libultra/io/siacs.o" + include "build/data/boot/siacs.bss.o" + include "build/src/libultra/io/controller.o" + include "build/data/boot/controller.bss.o" + include "build/src/libultra/os/createthread.o" + include "build/src/libultra/io/contreaddata.o" + include "build/src/boot/voicegetreaddata.o" + include "build/src/libultra/os/virtualtophysical.o" + include "build/asm/boot/getsr.text.o" + include "build/asm/boot/setsr.text.o" + include "build/src/boot/writebackdcache.o" + include "build/data/boot/threadsave.bss.o" + include "build/src/libultra/os/initialize.o" + include "build/data/boot/initialize.bss.o" + pad_text + pad_text + pad_text + pad_text + pad_text + pad_text + include "build/src/libultra/io/vigetnextframebuf.o" + include "build/src/libultra/gu/perspective.o" + include "build/src/libultra/io/sprawdma.o" + include "build/src/libultra/io/sirawdma.o" + include "build/src/boot/epilinkhandle.o" + include "build/src/libultra/io/viblack.o" + include "build/src/libultra/io/sirawread.o" + include "build/src/libultra/os/getthreadid.o" + include "build/src/libultra/io/sptaskyield.o" + include "build/src/boot/pfsreadwritefile.o" + include "build/src/boot/pfsgetstatus.o" + pad_text + include "build/asm/boot/guMtxIdentF.text.o" + include "build/src/libultra/io/visetmode.o" + include "build/asm/boot/getconfig.text.o" + include "build/asm/boot/setconfig.text.o" + include "build/src/libultra/gu/lookat.o" + include "build/src/boot/pfsallocatefile.o" + include "build/src/libultra/os/stoptimer.o" + include "build/asm/boot/probetlb.text.o" + include "build/src/libultra/io/pimgr.o" + include "build/data/boot/pimgr.data.o" + include "build/data/boot/pimgr.bss.o" + include "build/src/libultra/io/piacs.o" + pad_text + include "build/src/boot/devmgr.o" + include "build/src/libultra/io/pirawdma.o" + include "build/src/boot/contpfs.o" + include "build/data/boot/contpfs.data.o" + include "build/asm/boot/getcount.text.o" + pad_text + include "build/asm/boot/guMtxL2F.text.o" + include "build/src/libultra/os/getmemsize.o" + include "build/src/boot/pfssearchfile.o" + include "build/src/libultra/os/seteventmesg.o" + include "build/data/boot/seteventmesg.bss.o" + include "build/src/boot/sqrtf.o" + include "build/src/boot/afterprenmi.o" + include "build/src/libultra/io/contquery.o" + include "build/src/libultra/gu/lookathil.o" + include "build/src/libultra/rmon/xprintf.o" + include "build/src/boot/voicecleardictionary.o" + include "build/asm/boot/unmaptlball.text.o" + include "build/src/libultra/io/epidma.o" + include "build/src/boot/voicecontread2.o" + include "build/src/boot/voicecrc.o" + include "build/src/libultra/libc/string.o" + include "build/src/libultra/os/createmesgqueue.o" + include "build/src/boot/invalicache.o" + include "build/src/boot/invaldcache.o" + include "build/src/libultra/os/timerintr.o" + include "build/src/boot/voicecontread36.o" + include "build/src/boot/sp.o" + include "build/src/libultra/io/si.o" + include "build/asm/boot/guMtxIdent.text.o" + include "build/src/libultra/os/jammesg.o" + include "build/src/libultra/os/setthreadpri.o" + include "build/src/libultra/os/getthreadpri.o" + include "build/src/boot/epirawread.o" + include "build/src/libultra/io/viswapbuf.o" + include "build/src/boot/position.o" + include "build/data/boot/position.data.o" + include "build/src/boot/epirawdma.o" + include "build/src/libultra/io/sptaskyielded.o" + include "build/src/boot/memcmp.o" + include "build/src/libultra/os/gettime.o" + include "build/src/libultra/gu/rotate.o" + include "build/src/boot/setglobalintmask.o" + include "build/src/boot/voiceinit.o" + include "build/data/boot/voiceinit.data.o" + include "build/src/boot/contchannelreset.o" + include "build/src/boot/voicesetadconverter.o" + include "build/src/boot/aisetfreq.o" + include "build/src/boot/contramread.o" + include "build/data/boot/contramread.data.o" + include "build/src/boot/voicecontwrite20.o" + include "build/src/boot/crc.o" + include "build/src/libultra/os/getactivequeue.o" + include "build/src/boot/normalize.o" + include "build/asm/boot/setcompare.text.o" + include "build/asm/boot/getcompare.text.o" + include "build/src/libultra/io/dpgetstat.o" + include "build/src/libultra/io/dpsetstat.o" + include "build/src/boot/bcopy.o" + include "build/src/boot/resetglobalintmask.o" + include "build/src/boot/pfsdeletefile.o" + include "build/src/libultra/gu/ortho.o" + include "build/asm/boot/interrupt.text.o" + include "build/src/libultra/io/vi.o" + include "build/data/boot/vi.data.o" + include "build/src/boot/viswapcontext.o" + include "build/src/libultra/io/pigetcmdq.o" + include "build/src/boot/cosf.o" + include "build/src/boot/epiread.o" + include "build/src/libultra/io/visetspecial.o" + include "build/src/libultra/gu/coss.o" + include "build/src/libultra/os/settime.o" + include "build/src/boot/voicestopread.o" + include "build/src/libultra/gu/visetevent.o" + include "build/src/boot/pfsisplug.o" + include "build/src/libultra/voice/voicegetstatus.o" + include "build/src/boot/cartrominit.o" + include "build/data/boot/cartrominit.data.o" + include "build/data/boot/cartrominit.bss.o" + include "build/src/boot/guS2DInitBg.o" + include "build/data/boot/guS2DInitBg.data.o" + include "build/src/boot/pfsselectbank.o" + include "build/src/libultra/io/contsetch.o" + include "build/src/boot/setfpccsr.o" + include "build/src/boot/getfpccsr.o" + include "build/src/boot/pfsfilestate.o" + include "build/src/boot/pfsinitpak.o" + include "build/src/boot/pfschecker.o" + include "build/src/libultra/io/aigetlen.o" + include "build/src/boot/epiwrite.o" + include "build/asm/boot/maptlbrdb.text.o" + include "build/src/libultra/os/yieldthread.o" + pad_text + include "build/asm/boot/guTranslate.text.o" + include "build/asm/boot/getcause.text.o" + include "build/src/boot/contramwrite.o" + include "build/src/libultra/io/epirawwrite.o" + include "build/src/libultra/os/settimer.o" + include "build/data/boot/__libm_qnan_f.rodata.o" + include "build/src/boot/xldtob.o" + include "build/data/boot/xldtob.data.o" + include "build/src/libultra/libc/ldiv.o" + include "build/src/boot/xlitob.o" + include "build/src/libultra/io/sirawwrite.o" + include "build/src/libultra/io/spgetstat.o" + include "build/src/libultra/io/spsetstat.o" + pad_text + include "build/src/libultra/io/vimgr.o" + include "build/data/boot/vimgr.data.o" + include "build/data/boot/vimgr.bss.o" + include "build/src/libultra/io/vigetcurrcontext.o" + include "build/src/boot/writebackdcacheall.o" + include "build/src/libultra/os/getcurrfaultthread.o" + include "build/src/boot/voicemaskdictionary.o" + pad_text + include "build/asm/boot/guMtxF2L.text.o" + include "build/src/libultra/os/startthread.o" + include "build/src/libultra/io/visetyscale.o" + include "build/src/libultra/io/visetxscale.o" + include "build/src/libultra/libc/llcvt.o" + include "build/src/boot/voicecheckword.o" + include "build/src/boot/voicecontrolgain.o" + include "build/src/boot/voicestartreaddata.o" + include "build/src/boot/vigetcurrframebuf.o" + include "build/src/boot/spsetpc.o" + include "build/src/boot/voicecontwrite4.o" + include "build/src/libultra/os/gethwinterrupt.o" + include "build/src/boot/sethwinterrupt.o" + include "build/asm/boot/getwatchlo.text.o" + include "build/asm/boot/setwatchlo.text.o" + include "build/src/boot/fmodf.o" + include "build/src/boot/__osMemset.o" + include "build/src/boot_O2_g3/__osMemcmp.o" + include "build/src/boot/__osStrcpy.o" + include "build/src/boot/__osMemcpy.o" + include "build/data/boot/build.rodata.o" +endseg + +beginseg + name "dmadata" + include "build/asm/dmadata/dmadata.o" +endseg + +beginseg + name "Audiobank" + address 0x10 # fake address to avoid map lookup inaccuracies + include "build/baserom/Audiobank.o" +endseg + +beginseg + name "Audioseq" + include "build/baserom/Audioseq.o" +endseg + +beginseg + name "Audiotable" + include "build/baserom/Audiotable.o" +endseg + +beginseg + name "kanji" + include "build/baserom/kanji.o" +endseg + +beginseg + name "link_animetion" + romalign 0x1000 + include "build/baserom/link_animetion.o" +endseg + +beginseg + name "icon_item_static_old" + romalign 0x1000 + include "build/baserom/icon_item_static_old.o" +endseg + +beginseg + name "icon_item_24_static_old" + romalign 0x1000 + include "build/baserom/icon_item_24_static_old.o" +endseg + +beginseg + name "icon_item_field_static" + compress + romalign 0x1000 + include "build/baserom/icon_item_field_static.o" +endseg + +beginseg + name "icon_item_dungeon_static" + compress + romalign 0x1000 + include "build/baserom/icon_item_dungeon_static.o" +endseg + +beginseg + name "icon_item_gameover_static" + compress + romalign 0x1000 + include "build/baserom/icon_item_gameover_static.o" +endseg + +beginseg + name "icon_item_jpn_static" + compress + romalign 0x1000 + include "build/baserom/icon_item_jpn_static.o" +endseg + +beginseg + name "icon_item_vtx_static" + compress + romalign 0x1000 + include "build/baserom/icon_item_vtx_static.o" +endseg + +beginseg + name "map_i_static" + include "build/baserom/map_i_static.o" +endseg + +beginseg + name "map_grand_static" + include "build/baserom/map_grand_static.o" +endseg + +beginseg + name "item_name_static" + include "build/baserom/item_name_static.o" +endseg + +beginseg + name "map_name_static" + include "build/baserom/map_name_static.o" +endseg + +beginseg + name "icon_item_static_test" + include "build/baserom/icon_item_static_test.o" +endseg + +beginseg + name "icon_item_24_static_test" + include "build/baserom/icon_item_24_static_test.o" +endseg + +beginseg + name "schedule_dma_static_old" + include "build/baserom/schedule_dma_static_old.o" +endseg + +beginseg + name "schedule_dma_static_test" + increment 0x1000 + include "build/baserom/schedule_dma_static_test.o" +endseg + +beginseg + name "schedule_static" + compress + include "build/baserom/schedule_static.o" +endseg + +beginseg + name "story_static" + compress + romalign 0x1000 + include "build/baserom/story_static.o" +endseg + +beginseg + name "do_action_static" + romalign 0x1000 + include "build/baserom/do_action_static.o" +endseg + +beginseg + name "message_static" + romalign 0x1000 + include "build/baserom/message_static.o" +endseg + +beginseg + name "message_texture_static" + romalign 0x1000 + include "build/baserom/message_texture_static.o" +endseg + +beginseg + name "nes_font_static" + romalign 0x1000 + include "build/baserom/nes_font_static.o" +endseg + +beginseg + name "message_data_static" + romalign 0x1000 + include "build/baserom/message_data_static.o" +endseg + +beginseg + name "staff_message_data_static" + romalign 0x1000 + include "build/baserom/staff_message_data_static.o" +endseg + +beginseg + name "code" + compress + after "dmadata" + include "build/src/code/z_en_a_keep.o" + include "build/data/code/z_en_a_keep.data.o" + include "build/data/code/code_801ADE60.data.o" + include "build/data/code/code_801E3FA0.bss.o" + include "build/src/code/z_en_item00.o" + include "build/src/code/z_eff_blure.o" + include "build/data/code/z_eff_blure.data.o" + include "build/src/code/z_eff_shield_particle.o" + include "build/data/code/z_eff_shield_particle.data.o" + include "build/src/code/z_eff_spark.o" + include "build/src/code/z_eff_ss_dead.o" + include "build/src/code/z_eff_tire_mark.o" + include "build/src/code/z_effect.o" + include "build/data/code/z_effect.bss.o" + include "build/src/code/z_effect_soft_sprite.o" + include "build/data/code/z_effect_soft_sprite.data.o" + include "build/src/code/z_effect_soft_sprite_old_init.o" + include "build/data/code/z_effect_soft_sprite_old_init.data.o" + include "build/data/code/flg_set_table.data.o" + include "build/src/code/flg_set.o" + include "build/data/code/flg_set.data.o" + include "build/src/code/z_DLF.o" + include "build/src/code/z_actor.o" + include "build/data/code/z_actor.data.o" + include "build/data/code/z_actor.bss.o" + include "build/src/code/z_actor_dlftbls.o" + include "build/src/code/z_bgcheck.o" + include "build/data/code/z_bgcheck.data.o" + include "build/data/code/z_bgcheck.bss.o" + include "build/src/code/z_bg_collect.o" + include "build/src/code/z_bg_item.o" + include "build/src/code/code_800CB000.o" + include "build/src/code/z_camera.o" + include "build/data/code/z_camera.data.o" + include "build/data/code/z_camera.bss.o" + include "build/src/code/z_collision_btltbls.o" + pad_text + include "build/src/code/z_collision_check.o" + include "build/src/code/code_800E8EA0.o" + include "build/src/code/z_common_data.o" + include "build/data/code/z_common_data.bss.o" + include "build/src/code/z_debug.o" + include "build/data/code/z_debug.bss.o" + include "build/src/code/z_debug_display.o" + include "build/data/code/z_debug_display.data.o" + include "build/data/code/z_debug_display.bss.o" + include "build/src/code/z_debug_mode.o" + include "build/data/code/z_debug_mode.data.o" + include "build/data/code/z_debug_mode.bss.o" + include "build/src/code/z_demo.o" + include "build/data/code/z_demo.bss.o" + include "build/src/code/z_draw.o" + include "build/data/code/z_draw.data.o" + include "build/src/code/z_eff_footmark.o" + include "build/data/code/z_eff_footmark.data.o" + include "build/src/code/code_800F0390.o" + include "build/src/code/z_elf_message.o" + include "build/src/code/code_800F07C0.o" + include "build/src/code/z_face_reaction.o" + include "build/src/code/code_800F12D0.o" + include "build/src/code/z_eventmgr.o" + include "build/data/code/z_eventmgr.bss.o" + include "build/src/code/code_800F23E0.o" + include "build/src/code/z_fcurve_data_skelanime.o" + include "build/data/code/code_801BC2A0.data.o" + include "build/data/code/code_801BD830.data.o" + include "build/src/code/z_fireobj.o" + include "build/data/code/z_fireobj.data.o" + include "build/data/code/code_801BD910.data.o" + include "build/src/code/z_horse.o" + include "build/data/code/z_horse.data.o" + include "build/src/code/z_jpeg.o" + include "build/data/code/z_jpeg.data.o" + include "build/src/code/z_kaleido_setup.o" + include "build/src/code/z_kanfont.o" + include "build/src/code/z_kankyo.o" + include "build/data/code/z_kankyo.data.o" + include "build/data/code/z_kankyo.bss.o" + include "build/src/code/z_lib.o" + include "build/src/code/z_lifemeter.o" + include "build/data/code/z_lifemeter.data.o" + include "build/data/code/z_lifemeter.bss.o" + include "build/src/code/z_lights.o" + include "build/data/code/z_lights.bss.o" + include "build/src/code/z_malloc.o" + include "build/data/code/z_malloc.bss.o" + include "build/src/code/z_map_disp.o" + include "build/data/code/z_map_disp.data.o" + include "build/data/code/z_map_disp.bss.o" + include "build/src/code/z_map_data.o" + include "build/src/code/z_map_exp.o" + include "build/data/code/z_map_exp.data.o" + include "build/src/code/z_msgevent.o" + include "build/data/code/z_msgevent.data.o" + include "build/src/code/z_nmi_buff.o" + include "build/data/code/z_nmi_buff.bss.o" + include "build/src/code/z_olib.o" + pad_text + include "build/src/code/z_parameter.o" + include "build/data/code/z_parameter.data.o" + include "build/data/code/z_parameter.bss.o" + include "build/src/code/z_path.o" + include "build/src/code/code_80122660.o" + include "build/src/code/z_player_lib.o" + include "build/data/code/z_player_lib.data.o" + include "build/data/code/z_player_lib.bss.o" + include "build/src/code/z_prenmi.o" + include "build/src/code/z_quake.o" + include "build/src/code/z_rcp.o" + pad_text + include "build/src/code/z_room.o" + include "build/data/code/z_room.data.o" + include "build/src/code/code_8012EC80.o" + pad_text + include "build/data/code/code_801C2410.data.o" + include "build/src/code/z_scene.o" + include "build/data/code/code_801C2730.data.o" + include "build/src/code/z_scene_proc.o" + include "build/src/code/z_scene_table.o" + include "build/src/code/code_801323D0.o" + include "build/data/code/code_801C5C50.data.o" + include "build/src/code/z_skelanime.o" + include "build/src/code/z_skin.o" + include "build/data/code/z_skin.bss.o" + include "build/src/code/z_skin_awb.o" + include "build/src/code/z_skin_matrix.o" + include "build/src/code/z_snap.o" + include "build/src/code/z_sub_s.o" + include "build/data/code/z_sub_s.data.o" + include "build/data/code/code_801DE890.rodata.o" + include "build/src/code/code_8013EC10.o" + include "build/data/code/code_8013EC10.bss.o" + include "build/src/code/z_view.o" + include "build/src/code/z_vimode.o" + include "build/data/code/z_vimode.data.o" + include "build/src/code/code_80140E80.o" + include "build/src/code/z_vismono.o" + include "build/src/code/code_801420C0.o" + include "build/src/code/z_vr_box.o" + include "build/src/code/z_vr_box_draw.o" + include "build/data/code/z_vr_box_draw.data.o" + include "build/data/code/z_vr_box_draw.bss.o" + include "build/src/code/z_sram_NES.o" + include "build/data/code/z_sram_NES.data.o" + include "build/data/code/z_sram_NES.bss.o" + include "build/src/code/z_message.o" + include "build/data/code/z_message.bss.o" + include "build/src/code/z_message_nes.o" + include "build/data/code/z_message_nes.data.o" + include "build/src/code/z_message_staff.o" + include "build/src/code/z_player_call.o" + include "build/data/code/z_player_call.bss.o" + include "build/src/code/z_shrink_window.o" + include "build/data/code/z_shrink_window.bss.o" + include "build/src/code/db_camera.o" + include "build/data/code/db_camera.bss.o" + include "build/data/code/code_801D0B50.data.o" + include "build/src/code/z_kaleido_manager.o" + include "build/data/code/z_kaleido_manager.data.o" + include "build/data/code/z_kaleido_manager.bss.o" + include "build/src/code/z_kaleido_scope_call.o" + include "build/data/code/z_kaleido_scope_call.bss.o" + include "build/src/code/z_fbdemo_dlftbls.o" + include "build/data/code/code_801D0BB0.data.o" + include "build/src/code/z_fbdemo.o" + include "build/data/code/z_fbdemo.data.o" + include "build/src/code/z_fbdemo_fade.o" + include "build/src/code/z_fbdemo_circle.o" + include "build/data/code/z_fbdemo_circle.data.o" + include "build/src/code/z_overlay.o" + include "build/src/code/z_play.o" + include "build/data/code/z_play.data.o" + include "build/data/code/z_play.bss.o" + include "build/src/code/z_play_hireso.o" + include "build/data/code/z_play_hireso.data.o" + include "build/src/code/PreRender.o" + include "build/data/code/PreRender.bss.o" + include "build/src/code/TwoHeadGfxArena.o" + include "build/src/code/TwoHeadArena.o" + include "build/src/code/code_80172BC0.o" + include "build/src/code/audioMgr.o" + include "build/src/code/title_setup.o" + include "build/src/code/game.o" + include "build/data/code/game.bss.o" + include "build/src/code/gamealloc.o" + include "build/src/code/graph.o" + include "build/data/code/graph.data.o" + include "build/data/code/graph.bss.o" + include "build/src/code/code_80174A40.o" + include "build/src/code/listalloc.o" + include "build/src/code/main.o" + include "build/data/code/main.bss.o" + include "build/src/code/padmgr.o" + include "build/data/code/padmgr.data.o" + include "build/src/code/sched.o" + include "build/data/code/sched.bss.o" + include "build/src/code/speed_meter.o" + include "build/data/code/speed_meter.data.o" + include "build/data/code/speed_meter.bss.o" + include "build/data/code/sys_cfb.bss.o" + include "build/src/code/sys_cmpdma.o" + include "build/data/code/sys_cmpdma.bss.o" + include "build/src/code/sys_initial_check.o" + include "build/src/code/sys_math.o" + include "build/src/code/sys_math3d.o" + include "build/data/code/sys_math3d.bss.o" + include "build/data/code/code_801D1570.data.o" + include "build/data/code/code_801D15B0.data.o" + include "build/src/code/sys_math_atan.o" + include "build/src/code/sys_matrix.o" + include "build/data/code/sys_matrix.data.o" + include "build/data/code/sys_matrix.bss.o" + include "build/src/code/sys_ucode.o" + include "build/data/code/code_801D1E70.data.o" + include "build/src/code/code_80183070.o" + include "build/src/code/c_keyframe.o" + include "build/src/code/sys_slowly.o" + include "build/src/code/sys_flashrom.o" + include "build/data/code/sys_flashrom.bss.o" + include "build/asm/code/code_80185F90.text.o" // handwritten + include "build/src/code/osFlash.o" + include "build/data/code/osFlash.bss.o" + pad_text + pad_text + pad_text + include "build/src/code/audio_synthesis.o" + include "build/src/code/audio_heap.o" + include "build/data/code/code_801D2E80.data.o" + include "build/data/code/audio_heap.bss.o" + include "build/data/code/code_801D3D90.data.o" + include "build/src/code/audio_load.o" + include "build/data/code/audio_load.bss.o" + include "build/src/code/code_80192BE0.o" + include "build/src/code/code_80194710.o" + include "build/src/code/audio_playback.o" + include "build/src/code/audio_effects.o" + include "build/src/code/audio_seqplayer.o" + include "build/asm/code/code_8019AE40.text.o" // handwritten + pad_text + include "build/asm/code/code_8019AEC0.text.o" // handwritten + include "build/src/code/code_8019AF00.o" + include "build/data/code/code_8019AF00.bss.o" + include "build/data/code/code_801D55B0.data.o" + include "build/src/code/code_801A51F0.o" + include "build/data/code/code_801A51F0.data.o" + include "build/data/code/code_801A51F0.bss.o" + pad_text + include "build/src/code/code_801A5BD0.o" + include "build/data/code/code_801A5BD0.bss.o" + include "build/src/code/code_801A7B10.o" + include "build/data/code/code_801A7B10.bss.o" + include "build/src/code/code_801AA020.o" + include "build/data/code/code_801AA020.bss.o" + include "build/src/code/z_game_over.o" + include "build/src/code/z_construct.o" + include "build/data/code/code_801D9090.data.o" + include "build/data/code/code_801E1180.rodata.o" +endseg + +beginseg + name "buffers" + flags NOLOAD + include "build/src/buffers/gfxbuffers.o" + include "build/data/code/buffers.bss.o" +endseg + +beginseg + name "ovl_title" + compress + address 0x80800000 + include "build/src/overlays/gamestates/ovl_title/z_title.o" + include "build/data/ovl_title/ovl_title.data.o" + include "build/data/ovl_title/ovl_title.reloc.o" +endseg + +beginseg + name "ovl_select" + compress + include "build/src/overlays/gamestates/ovl_select/z_select.o" + include "build/data/ovl_select/ovl_select.data.o" + include "build/data/ovl_select/ovl_select.reloc.o" +endseg + +beginseg + name "ovl_opening" + compress + include "build/src/overlays/gamestates/ovl_opening/z_opening.o" + include "build/data/ovl_opening/ovl_opening.data.o" + include "build/data/ovl_opening/ovl_opening.reloc.o" +endseg + +beginseg + name "ovl_file_choose" + compress + include "build/src/overlays/gamestates/ovl_file_choose/z_file_nameset_NES.o" + include "build/src/overlays/gamestates/ovl_file_choose/z_file_choose_80807940.o" + include "build/src/overlays/gamestates/ovl_file_choose/z_file_choose_NES.o" + include "build/data/ovl_file_choose/ovl_file_choose.data.o" + include "build/data/ovl_file_choose/ovl_file_choose.bss.o" + include "build/data/ovl_file_choose/ovl_file_choose.reloc.o" +endseg + +beginseg + name "ovl_daytelop" + compress + include "build/src/overlays/gamestates/ovl_daytelop/z_daytelop.o" + include "build/data/ovl_daytelop/ovl_daytelop.data.o" + include "build/data/ovl_daytelop/ovl_daytelop.reloc.o" +endseg + +beginseg + name "ovl_kaleido_scope" + compress + include "build/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_collect.o" + include "build/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_debug.o" + include "build/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_item.o" + include "build/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_map.o" + include "build/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_mask.o" + include "build/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_scope_NES.o" + include "build/data/ovl_kaleido_scope/ovl_kaleido_scope.data.o" + include "build/data/ovl_kaleido_scope/ovl_kaleido_scope.bss.o" + include "build/data/ovl_kaleido_scope/ovl_kaleido_scope.reloc.o" +endseg + +beginseg + name "ovl_Player_Actor" + compress + include "build/src/overlays/actors/ovl_Player_Actor/z_player.o" + include "build/data/ovl_Player_Actor/ovl_Player_Actor.data.o" + include "build/data/ovl_Player_Actor/ovl_Player_Actor.bss.o" + include "build/data/ovl_Player_Actor/ovl_Player_Actor.reloc.o" +endseg + +beginseg + name "ovl_En_Test" + compress + include "build/src/overlays/actors/ovl_En_Test/z_en_test.o" + include "build/data/ovl_En_Test/ovl_En_Test.data.o" + include "build/data/ovl_En_Test/ovl_En_Test.reloc.o" +endseg + +beginseg + name "ovl_En_GirlA" + compress + include "build/src/overlays/actors/ovl_En_GirlA/z_en_girla.o" + include "build/src/overlays/actors/ovl_En_GirlA/ovl_En_GirlA_reloc.o" +endseg + +beginseg + name "ovl_En_Part" + compress + include "build/src/overlays/actors/ovl_En_Part/z_en_part.o" + include "build/data/ovl_En_Part/ovl_En_Part.data.o" + include "build/data/ovl_En_Part/ovl_En_Part.reloc.o" +endseg + +beginseg + name "ovl_En_Light" + compress + include "build/src/overlays/actors/ovl_En_Light/z_en_light.o" + include "build/data/ovl_En_Light/ovl_En_Light.data.o" + include "build/data/ovl_En_Light/ovl_En_Light.reloc.o" +endseg + +beginseg + name "ovl_En_Door" + compress + include "build/src/overlays/actors/ovl_En_Door/z_en_door.o" + include "build/data/ovl_En_Door/ovl_En_Door.data.o" + include "build/data/ovl_En_Door/ovl_En_Door.bss.o" + include "build/data/ovl_En_Door/ovl_En_Door.reloc.o" +endseg + +beginseg + name "ovl_En_Box" + compress + include "build/src/overlays/actors/ovl_En_Box/z_en_box.o" + include "build/data/ovl_En_Box/ovl_En_Box.data.o" + include "build/data/ovl_En_Box/ovl_En_Box.reloc.o" +endseg + +beginseg + name "ovl_En_Pametfrog" + compress + include "build/src/overlays/actors/ovl_En_Pametfrog/z_en_pametfrog.o" + include "build/src/overlays/actors/ovl_En_Pametfrog/ovl_En_Pametfrog_reloc.o" +endseg + +beginseg + name "ovl_En_Okuta" + compress + include "build/src/overlays/actors/ovl_En_Okuta/z_en_okuta.o" + include "build/data/ovl_En_Okuta/ovl_En_Okuta.data.o" + include "build/data/ovl_En_Okuta/ovl_En_Okuta.reloc.o" +endseg + +beginseg + name "ovl_En_Bom" + compress + include "build/src/overlays/actors/ovl_En_Bom/z_en_bom.o" + include "build/data/ovl_En_Bom/ovl_En_Bom.data.o" + include "build/data/ovl_En_Bom/ovl_En_Bom.bss.o" + include "build/data/ovl_En_Bom/ovl_En_Bom.reloc.o" +endseg + +beginseg + name "ovl_En_Wallmas" + compress + include "build/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.o" + include "build/data/ovl_En_Wallmas/ovl_En_Wallmas.data.o" + include "build/data/ovl_En_Wallmas/ovl_En_Wallmas.reloc.o" +endseg + +beginseg + name "ovl_En_Dodongo" + compress + include "build/src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.o" + include "build/data/ovl_En_Dodongo/ovl_En_Dodongo.data.o" + include "build/data/ovl_En_Dodongo/ovl_En_Dodongo.reloc.o" +endseg + +beginseg + name "ovl_En_Firefly" + compress + include "build/src/overlays/actors/ovl_En_Firefly/z_en_firefly.o" + include "build/src/overlays/actors/ovl_En_Firefly/ovl_En_Firefly_reloc.o" +endseg + +beginseg + name "ovl_En_Horse" + compress + include "build/src/overlays/actors/ovl_En_Horse/z_en_horse.o" + include "build/data/ovl_En_Horse/ovl_En_Horse.data.o" + include "build/data/ovl_En_Horse/ovl_En_Horse.reloc.o" +endseg + +beginseg + name "ovl_En_Arrow" + compress + include "build/src/overlays/actors/ovl_En_Arrow/z_en_arrow.o" + include "build/data/ovl_En_Arrow/ovl_En_Arrow.data.o" + include "build/data/ovl_En_Arrow/ovl_En_Arrow.reloc.o" +endseg + +beginseg + name "ovl_En_Elf" + compress + include "build/src/overlays/actors/ovl_En_Elf/z_en_elf.o" + include "build/data/ovl_En_Elf/ovl_En_Elf.data.o" + include "build/data/ovl_En_Elf/ovl_En_Elf.reloc.o" +endseg + +beginseg + name "ovl_En_Niw" + compress + include "build/src/overlays/actors/ovl_En_Niw/z_en_niw.o" + include "build/src/overlays/actors/ovl_En_Niw/ovl_En_Niw_reloc.o" +endseg + +beginseg + name "ovl_En_Tite" + compress + include "build/src/overlays/actors/ovl_En_Tite/z_en_tite.o" + include "build/data/ovl_En_Tite/ovl_En_Tite.data.o" + include "build/data/ovl_En_Tite/ovl_En_Tite.reloc.o" +endseg + +beginseg + name "ovl_En_Peehat" + compress + include "build/src/overlays/actors/ovl_En_Peehat/z_en_peehat.o" + include "build/data/ovl_En_Peehat/ovl_En_Peehat.data.o" + include "build/data/ovl_En_Peehat/ovl_En_Peehat.reloc.o" +endseg + +beginseg + name "ovl_En_Holl" + compress + include "build/src/overlays/actors/ovl_En_Holl/z_en_holl.o" + include "build/data/ovl_En_Holl/ovl_En_Holl.data.o" + include "build/data/ovl_En_Holl/ovl_En_Holl.reloc.o" +endseg + +beginseg + name "ovl_En_Dinofos" + compress + include "build/src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.o" + include "build/data/ovl_En_Dinofos/ovl_En_Dinofos.data.o" + include "build/data/ovl_En_Dinofos/ovl_En_Dinofos.reloc.o" +endseg + +beginseg + name "ovl_En_Hata" + compress + include "build/src/overlays/actors/ovl_En_Hata/z_en_hata.o" + include "build/data/ovl_En_Hata/ovl_En_Hata.data.o" + include "build/data/ovl_En_Hata/ovl_En_Hata.reloc.o" +endseg + +beginseg + name "ovl_En_Zl1" + compress + include "build/src/overlays/actors/ovl_En_Zl1/z_en_zl1.o" + include "build/src/overlays/actors/ovl_En_Zl1/ovl_En_Zl1_reloc.o" +endseg + +beginseg + name "ovl_En_Viewer" + compress + include "build/src/overlays/actors/ovl_En_Viewer/z_en_viewer.o" + include "build/data/ovl_En_Viewer/ovl_En_Viewer.data.o" + include "build/data/ovl_En_Viewer/ovl_En_Viewer.bss.o" + include "build/data/ovl_En_Viewer/ovl_En_Viewer.reloc.o" +endseg + +beginseg + name "ovl_En_Bubble" + compress + include "build/src/overlays/actors/ovl_En_Bubble/z_en_bubble.o" + include "build/data/ovl_En_Bubble/ovl_En_Bubble.data.o" + include "build/data/ovl_En_Bubble/ovl_En_Bubble.reloc.o" +endseg + +beginseg + name "ovl_Door_Shutter" + compress + include "build/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.o" + include "build/data/ovl_Door_Shutter/ovl_Door_Shutter.data.o" + include "build/data/ovl_Door_Shutter/ovl_Door_Shutter.reloc.o" +endseg + +beginseg + name "ovl_En_Boom" + compress + include "build/src/overlays/actors/ovl_En_Boom/z_en_boom.o" + include "build/data/ovl_En_Boom/ovl_En_Boom.data.o" + include "build/data/ovl_En_Boom/ovl_En_Boom.reloc.o" +endseg + +beginseg + name "ovl_En_Torch2" + compress + include "build/src/overlays/actors/ovl_En_Torch2/z_en_torch2.o" + include "build/src/overlays/actors/ovl_En_Torch2/ovl_En_Torch2_reloc.o" +endseg + +beginseg + name "ovl_En_Minifrog" + compress + include "build/src/overlays/actors/ovl_En_Minifrog/z_en_minifrog.o" + include "build/src/overlays/actors/ovl_En_Minifrog/ovl_En_Minifrog_reloc.o" +endseg + +beginseg + name "ovl_En_St" + compress + include "build/src/overlays/actors/ovl_En_St/z_en_st.o" + include "build/data/ovl_En_St/ovl_En_St.data.o" + include "build/data/ovl_En_St/ovl_En_St.reloc.o" +endseg + +beginseg + name "ovl_Obj_Wturn" + compress + include "build/src/overlays/actors/ovl_Obj_Wturn/z_obj_wturn.o" + include "build/data/ovl_Obj_Wturn/ovl_Obj_Wturn.data.o" + include "build/data/ovl_Obj_Wturn/ovl_Obj_Wturn.reloc.o" +endseg + +beginseg + name "ovl_En_River_Sound" + compress + include "build/src/overlays/actors/ovl_En_River_Sound/z_en_river_sound.o" + include "build/data/ovl_En_River_Sound/ovl_En_River_Sound.data.o" + include "build/data/ovl_En_River_Sound/ovl_En_River_Sound.reloc.o" +endseg + +beginseg + name "ovl_En_Ossan" + compress + include "build/src/overlays/actors/ovl_En_Ossan/z_en_ossan.o" + include "build/src/overlays/actors/ovl_En_Ossan/ovl_En_Ossan_reloc.o" +endseg + +beginseg + name "ovl_En_Famos" + compress + include "build/src/overlays/actors/ovl_En_Famos/z_en_famos.o" + include "build/data/ovl_En_Famos/ovl_En_Famos.data.o" + include "build/data/ovl_En_Famos/ovl_En_Famos.reloc.o" +endseg + +beginseg + name "ovl_En_Bombf" + compress + include "build/src/overlays/actors/ovl_En_Bombf/z_en_bombf.o" + include "build/data/ovl_En_Bombf/ovl_En_Bombf.data.o" + include "build/data/ovl_En_Bombf/ovl_En_Bombf.reloc.o" +endseg + +beginseg + name "ovl_En_Am" + compress + include "build/src/overlays/actors/ovl_En_Am/z_en_am.o" + include "build/data/ovl_En_Am/ovl_En_Am.data.o" + include "build/data/ovl_En_Am/ovl_En_Am.reloc.o" +endseg + +beginseg + name "ovl_En_Dekubaba" + compress + include "build/src/overlays/actors/ovl_En_Dekubaba/z_en_dekubaba.o" + include "build/data/ovl_En_Dekubaba/ovl_En_Dekubaba.data.o" + include "build/data/ovl_En_Dekubaba/ovl_En_Dekubaba.reloc.o" +endseg + +beginseg + name "ovl_En_M_Fire1" + compress + include "build/src/overlays/actors/ovl_En_M_Fire1/z_en_m_fire1.o" + include "build/src/overlays/actors/ovl_En_M_Fire1/ovl_En_M_Fire1_reloc.o" +endseg + +beginseg + name "ovl_En_M_Thunder" + compress + include "build/src/overlays/actors/ovl_En_M_Thunder/z_en_m_thunder.o" + include "build/data/ovl_En_M_Thunder/ovl_En_M_Thunder.data.o" + include "build/data/ovl_En_M_Thunder/ovl_En_M_Thunder.reloc.o" +endseg + +beginseg + name "ovl_Bg_Breakwall" + compress + include "build/src/overlays/actors/ovl_Bg_Breakwall/z_bg_breakwall.o" + include "build/data/ovl_Bg_Breakwall/ovl_Bg_Breakwall.data.o" + include "build/data/ovl_Bg_Breakwall/ovl_Bg_Breakwall.reloc.o" +endseg + +beginseg + name "ovl_Door_Warp1" + compress + include "build/src/overlays/actors/ovl_Door_Warp1/z_door_warp1.o" + include "build/data/ovl_Door_Warp1/ovl_Door_Warp1.data.o" + include "build/data/ovl_Door_Warp1/ovl_Door_Warp1.bss.o" + include "build/data/ovl_Door_Warp1/ovl_Door_Warp1.reloc.o" +endseg + +beginseg + name "ovl_Obj_Syokudai" + compress + include "build/src/overlays/actors/ovl_Obj_Syokudai/z_obj_syokudai.o" + include "build/data/ovl_Obj_Syokudai/ovl_Obj_Syokudai.data.o" + include "build/data/ovl_Obj_Syokudai/ovl_Obj_Syokudai.bss.o" + include "build/data/ovl_Obj_Syokudai/ovl_Obj_Syokudai.reloc.o" +endseg + +beginseg + name "ovl_Item_B_Heart" + compress + include "build/src/overlays/actors/ovl_Item_B_Heart/z_item_b_heart.o" + include "build/src/overlays/actors/ovl_Item_B_Heart/ovl_Item_B_Heart_reloc.o" +endseg + +beginseg + name "ovl_En_Dekunuts" + compress + include "build/src/overlays/actors/ovl_En_Dekunuts/z_en_dekunuts.o" + include "build/data/ovl_En_Dekunuts/ovl_En_Dekunuts.data.o" + include "build/data/ovl_En_Dekunuts/ovl_En_Dekunuts.reloc.o" +endseg + +beginseg + name "ovl_En_Bbfall" + compress + include "build/src/overlays/actors/ovl_En_Bbfall/z_en_bbfall.o" + include "build/data/ovl_En_Bbfall/ovl_En_Bbfall.data.o" + include "build/data/ovl_En_Bbfall/ovl_En_Bbfall.reloc.o" +endseg + +beginseg + name "ovl_Arms_Hook" + compress + include "build/src/overlays/actors/ovl_Arms_Hook/z_arms_hook.o" + include "build/src/overlays/actors/ovl_Arms_Hook/ovl_Arms_Hook_reloc.o" +endseg + +beginseg + name "ovl_En_Bb" + compress + include "build/src/overlays/actors/ovl_En_Bb/z_en_bb.o" + include "build/data/ovl_En_Bb/ovl_En_Bb.data.o" + include "build/data/ovl_En_Bb/ovl_En_Bb.reloc.o" +endseg + +beginseg + name "ovl_Bg_Keikoku_Spr" + compress + include "build/src/overlays/actors/ovl_Bg_Keikoku_Spr/z_bg_keikoku_spr.o" + include "build/src/overlays/actors/ovl_Bg_Keikoku_Spr/ovl_Bg_Keikoku_Spr_reloc.o" +endseg + +beginseg + name "ovl_En_Wood02" + compress + include "build/src/overlays/actors/ovl_En_Wood02/z_en_wood02.o" + include "build/data/ovl_En_Wood02/ovl_En_Wood02.data.o" + include "build/data/ovl_En_Wood02/ovl_En_Wood02.bss.o" + include "build/data/ovl_En_Wood02/ovl_En_Wood02.reloc.o" +endseg + +beginseg + name "ovl_En_Death" + compress + include "build/src/overlays/actors/ovl_En_Death/z_en_death.o" + include "build/data/ovl_En_Death/ovl_En_Death.data.o" + include "build/data/ovl_En_Death/ovl_En_Death.reloc.o" +endseg + +beginseg + name "ovl_En_Minideath" + compress + include "build/src/overlays/actors/ovl_En_Minideath/z_en_minideath.o" + include "build/data/ovl_En_Minideath/ovl_En_Minideath.data.o" + include "build/data/ovl_En_Minideath/ovl_En_Minideath.bss.o" + include "build/data/ovl_En_Minideath/ovl_En_Minideath.reloc.o" +endseg + +beginseg + name "ovl_En_Vm" + compress + include "build/src/overlays/actors/ovl_En_Vm/z_en_vm.o" + include "build/data/ovl_En_Vm/ovl_En_Vm.data.o" + include "build/data/ovl_En_Vm/ovl_En_Vm.reloc.o" +endseg + +beginseg + name "ovl_Demo_Effect" + compress + include "build/src/overlays/actors/ovl_Demo_Effect/z_demo_effect.o" + include "build/data/ovl_Demo_Effect/ovl_Demo_Effect.data.o" + include "build/data/ovl_Demo_Effect/ovl_Demo_Effect.reloc.o" +endseg + +beginseg + name "ovl_Demo_Kankyo" + compress + include "build/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo.o" + include "build/data/ovl_Demo_Kankyo/ovl_Demo_Kankyo.data.o" + include "build/data/ovl_Demo_Kankyo/ovl_Demo_Kankyo.reloc.o" +endseg + +beginseg + name "ovl_En_Floormas" + compress + include "build/src/overlays/actors/ovl_En_Floormas/z_en_floormas.o" + include "build/data/ovl_En_Floormas/ovl_En_Floormas.data.o" + include "build/data/ovl_En_Floormas/ovl_En_Floormas.reloc.o" +endseg + +beginseg + name "ovl_En_Rd" + compress + include "build/src/overlays/actors/ovl_En_Rd/z_en_rd.o" + include "build/data/ovl_En_Rd/ovl_En_Rd.data.o" + include "build/data/ovl_En_Rd/ovl_En_Rd.reloc.o" +endseg + +beginseg + name "ovl_Bg_F40_Flift" + compress + include "build/src/overlays/actors/ovl_Bg_F40_Flift/z_bg_f40_flift.o" + include "build/data/ovl_Bg_F40_Flift/ovl_Bg_F40_Flift.data.o" + include "build/data/ovl_Bg_F40_Flift/ovl_Bg_F40_Flift.reloc.o" +endseg + +beginseg + name "ovl_Obj_Mure" + compress + include "build/src/overlays/actors/ovl_Obj_Mure/z_obj_mure.o" + include "build/data/ovl_Obj_Mure/ovl_Obj_Mure.data.o" + include "build/data/ovl_Obj_Mure/ovl_Obj_Mure.reloc.o" +endseg + +beginseg + name "ovl_En_Sw" + compress + include "build/src/overlays/actors/ovl_En_Sw/z_en_sw.o" + include "build/data/ovl_En_Sw/ovl_En_Sw.data.o" + include "build/data/ovl_En_Sw/ovl_En_Sw.reloc.o" +endseg + +beginseg + name "ovl_Object_Kankyo" + compress + include "build/src/overlays/actors/ovl_Object_Kankyo/z_object_kankyo.o" + include "build/data/ovl_Object_Kankyo/ovl_Object_Kankyo.data.o" + include "build/data/ovl_Object_Kankyo/ovl_Object_Kankyo.bss.o" + include "build/data/ovl_Object_Kankyo/ovl_Object_Kankyo.reloc.o" +endseg + +beginseg + name "ovl_En_Horse_Link_Child" + compress + include "build/src/overlays/actors/ovl_En_Horse_Link_Child/z_en_horse_link_child.o" + include "build/data/ovl_En_Horse_Link_Child/ovl_En_Horse_Link_Child.data.o" + include "build/data/ovl_En_Horse_Link_Child/ovl_En_Horse_Link_Child.reloc.o" +endseg + +beginseg + name "ovl_Door_Ana" + compress + include "build/src/overlays/actors/ovl_Door_Ana/z_door_ana.o" + include "build/src/overlays/actors/ovl_Door_Ana/ovl_Door_Ana_reloc.o" +endseg + +beginseg + name "ovl_En_Encount1" + compress + include "build/src/overlays/actors/ovl_En_Encount1/z_en_encount1.o" + include "build/data/ovl_En_Encount1/ovl_En_Encount1.data.o" + include "build/data/ovl_En_Encount1/ovl_En_Encount1.reloc.o" +endseg + +beginseg + name "ovl_Demo_Tre_Lgt" + compress + include "build/src/overlays/actors/ovl_Demo_Tre_Lgt/z_demo_tre_lgt.o" + include "build/data/ovl_Demo_Tre_Lgt/ovl_Demo_Tre_Lgt.data.o" + include "build/data/ovl_Demo_Tre_Lgt/ovl_Demo_Tre_Lgt.reloc.o" +endseg + +beginseg + name "ovl_En_Encount2" + compress + include "build/src/overlays/actors/ovl_En_Encount2/z_en_encount2.o" + include "build/data/ovl_En_Encount2/ovl_En_Encount2.reloc.o" +endseg + +beginseg + name "ovl_En_Fire_Rock" + compress + include "build/src/overlays/actors/ovl_En_Fire_Rock/z_en_fire_rock.o" + include "build/src/overlays/actors/ovl_En_Fire_Rock/ovl_En_Fire_Rock_reloc.o" +endseg + +beginseg + name "ovl_Bg_Ctower_Rot" + compress + include "build/src/overlays/actors/ovl_Bg_Ctower_Rot/z_bg_ctower_rot.o" + include "build/src/overlays/actors/ovl_Bg_Ctower_Rot/ovl_Bg_Ctower_Rot_reloc.o" +endseg + +beginseg + name "ovl_Mir_Ray" + compress + include "build/src/overlays/actors/ovl_Mir_Ray/z_mir_ray.o" + include "build/data/ovl_Mir_Ray/ovl_Mir_Ray.data.o" + include "build/data/ovl_Mir_Ray/ovl_Mir_Ray.reloc.o" +endseg + +beginseg + name "ovl_En_Sb" + compress + include "build/src/overlays/actors/ovl_En_Sb/z_en_sb.o" + include "build/src/overlays/actors/ovl_En_Sb/ovl_En_Sb_reloc.o" +endseg + +beginseg + name "ovl_En_Bigslime" + compress + include "build/src/overlays/actors/ovl_En_Bigslime/z_en_bigslime.o" + include "build/data/ovl_En_Bigslime/ovl_En_Bigslime.data.o" + include "build/data/ovl_En_Bigslime/ovl_En_Bigslime.reloc.o" +endseg + +beginseg + name "ovl_En_Karebaba" + compress + include "build/src/overlays/actors/ovl_En_Karebaba/z_en_karebaba.o" + include "build/data/ovl_En_Karebaba/ovl_En_Karebaba.data.o" + include "build/data/ovl_En_Karebaba/ovl_En_Karebaba.reloc.o" +endseg + +beginseg + name "ovl_En_In" + compress + include "build/src/overlays/actors/ovl_En_In/z_en_in.o" + include "build/src/overlays/actors/ovl_En_In/ovl_En_In_reloc.o" +endseg + +beginseg + name "ovl_En_Bom_Chu" + compress + include "build/src/overlays/actors/ovl_En_Bom_Chu/z_en_bom_chu.o" + include "build/data/ovl_En_Bom_Chu/ovl_En_Bom_Chu.data.o" + include "build/data/ovl_En_Bom_Chu/ovl_En_Bom_Chu.reloc.o" +endseg + +beginseg + name "ovl_En_Horse_Game_Check" + compress + include "build/src/overlays/actors/ovl_En_Horse_Game_Check/z_en_horse_game_check.o" + include "build/data/ovl_En_Horse_Game_Check/ovl_En_Horse_Game_Check.data.o" + include "build/data/ovl_En_Horse_Game_Check/ovl_En_Horse_Game_Check.reloc.o" +endseg + +beginseg + name "ovl_En_Rr" + compress + include "build/src/overlays/actors/ovl_En_Rr/z_en_rr.o" + include "build/data/ovl_En_Rr/ovl_En_Rr.data.o" + include "build/data/ovl_En_Rr/ovl_En_Rr.reloc.o" +endseg + +beginseg + name "ovl_En_Fr" + compress + include "build/src/overlays/actors/ovl_En_Fr/z_en_fr.o" + include "build/data/ovl_En_Fr/ovl_En_Fr.data.o" + include "build/data/ovl_En_Fr/ovl_En_Fr.reloc.o" +endseg + +beginseg + name "ovl_En_Fishing" + compress + include "build/src/overlays/actors/ovl_En_Fishing/z_en_fishing.o" + include "build/data/ovl_En_Fishing/ovl_En_Fishing.data.o" + include "build/data/ovl_En_Fishing/ovl_En_Fishing.bss.o" + include "build/data/ovl_En_Fishing/ovl_En_Fishing.reloc.o" +endseg + +beginseg + name "ovl_Obj_Oshihiki" + compress + include "build/src/overlays/actors/ovl_Obj_Oshihiki/z_obj_oshihiki.o" + include "build/data/ovl_Obj_Oshihiki/ovl_Obj_Oshihiki.data.o" + include "build/data/ovl_Obj_Oshihiki/ovl_Obj_Oshihiki.reloc.o" +endseg + +beginseg + name "ovl_Eff_Dust" + compress + include "build/src/overlays/actors/ovl_Eff_Dust/z_eff_dust.o" + include "build/src/overlays/actors/ovl_Eff_Dust/ovl_Eff_Dust_reloc.o" +endseg + +beginseg + name "ovl_Bg_Umajump" + compress + include "build/src/overlays/actors/ovl_Bg_Umajump/z_bg_umajump.o" + include "build/data/ovl_Bg_Umajump/ovl_Bg_Umajump.data.o" + include "build/data/ovl_Bg_Umajump/ovl_Bg_Umajump.reloc.o" +endseg + +beginseg + name "ovl_En_Insect" + compress + include "build/src/overlays/actors/ovl_En_Insect/z_en_insect.o" + include "build/data/ovl_En_Insect/ovl_En_Insect.data.o" + include "build/data/ovl_En_Insect/ovl_En_Insect.reloc.o" +endseg + +beginseg + name "ovl_En_Butte" + compress + include "build/src/overlays/actors/ovl_En_Butte/z_en_butte.o" + include "build/data/ovl_En_Butte/ovl_En_Butte.data.o" + include "build/data/ovl_En_Butte/ovl_En_Butte.reloc.o" +endseg + +beginseg + name "ovl_En_Fish" + compress + include "build/src/overlays/actors/ovl_En_Fish/z_en_fish.o" + include "build/data/ovl_En_Fish/ovl_En_Fish.data.o" + include "build/data/ovl_En_Fish/ovl_En_Fish.reloc.o" +endseg + +beginseg + name "ovl_Item_Etcetera" + compress + include "build/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.o" + include "build/data/ovl_Item_Etcetera/ovl_Item_Etcetera.data.o" + include "build/data/ovl_Item_Etcetera/ovl_Item_Etcetera.reloc.o" +endseg + +beginseg + name "ovl_Arrow_Fire" + compress + include "build/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.o" + include "build/data/ovl_Arrow_Fire/ovl_Arrow_Fire.data.o" + include "build/data/ovl_Arrow_Fire/ovl_Arrow_Fire.bss.o" + include "build/data/ovl_Arrow_Fire/ovl_Arrow_Fire.reloc.o" +endseg + +beginseg + name "ovl_Arrow_Ice" + compress + include "build/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.o" + include "build/data/ovl_Arrow_Ice/ovl_Arrow_Ice.data.o" + include "build/data/ovl_Arrow_Ice/ovl_Arrow_Ice.bss.o" + include "build/data/ovl_Arrow_Ice/ovl_Arrow_Ice.reloc.o" +endseg + +beginseg + name "ovl_Arrow_Light" + compress + include "build/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.o" + include "build/data/ovl_Arrow_Light/ovl_Arrow_Light.data.o" + include "build/data/ovl_Arrow_Light/ovl_Arrow_Light.bss.o" + include "build/data/ovl_Arrow_Light/ovl_Arrow_Light.reloc.o" +endseg + +beginseg + name "ovl_Obj_Kibako" + compress + include "build/src/overlays/actors/ovl_Obj_Kibako/z_obj_kibako.o" + include "build/src/overlays/actors/ovl_Obj_Kibako/ovl_Obj_Kibako_reloc.o" +endseg + +beginseg + name "ovl_Obj_Tsubo" + compress + include "build/src/overlays/actors/ovl_Obj_Tsubo/z_obj_tsubo.o" + include "build/data/ovl_Obj_Tsubo/ovl_Obj_Tsubo.data.o" + include "build/data/ovl_Obj_Tsubo/ovl_Obj_Tsubo.reloc.o" +endseg + +beginseg + name "ovl_En_Ik" + compress + include "build/src/overlays/actors/ovl_En_Ik/z_en_ik.o" + include "build/data/ovl_En_Ik/ovl_En_Ik.data.o" + include "build/data/ovl_En_Ik/ovl_En_Ik.reloc.o" +endseg + +beginseg + name "ovl_Demo_Shd" + compress + include "build/src/overlays/actors/ovl_Demo_Shd/z_demo_shd.o" + include "build/src/overlays/actors/ovl_Demo_Shd/ovl_Demo_Shd_reloc.o" +endseg + +beginseg + name "ovl_En_Dns" + compress + include "build/src/overlays/actors/ovl_En_Dns/z_en_dns.o" + include "build/data/ovl_En_Dns/ovl_En_Dns.data.o" + include "build/data/ovl_En_Dns/ovl_En_Dns.reloc.o" +endseg + +beginseg + name "ovl_Elf_Msg" + compress + include "build/src/overlays/actors/ovl_Elf_Msg/z_elf_msg.o" + include "build/data/ovl_Elf_Msg/ovl_Elf_Msg.data.o" + include "build/data/ovl_Elf_Msg/ovl_Elf_Msg.reloc.o" +endseg + +beginseg + name "ovl_En_Honotrap" + compress + include "build/src/overlays/actors/ovl_En_Honotrap/z_en_honotrap.o" + include "build/data/ovl_En_Honotrap/ovl_En_Honotrap.data.o" + include "build/data/ovl_En_Honotrap/ovl_En_Honotrap.reloc.o" +endseg + +beginseg + name "ovl_En_Tubo_Trap" + compress + include "build/src/overlays/actors/ovl_En_Tubo_Trap/z_en_tubo_trap.o" + include "build/src/overlays/actors/ovl_En_Tubo_Trap/ovl_En_Tubo_Trap_reloc.o" +endseg + +beginseg + name "ovl_Obj_Ice_Poly" + compress + include "build/src/overlays/actors/ovl_Obj_Ice_Poly/z_obj_ice_poly.o" + include "build/data/ovl_Obj_Ice_Poly/ovl_Obj_Ice_Poly.data.o" + include "build/data/ovl_Obj_Ice_Poly/ovl_Obj_Ice_Poly.reloc.o" +endseg + +beginseg + name "ovl_En_Fz" + compress + include "build/src/overlays/actors/ovl_En_Fz/z_en_fz.o" + include "build/data/ovl_En_Fz/ovl_En_Fz.data.o" + include "build/data/ovl_En_Fz/ovl_En_Fz.reloc.o" +endseg + +beginseg + name "ovl_En_Kusa" + compress + include "build/src/overlays/actors/ovl_En_Kusa/z_en_kusa.o" + include "build/data/ovl_En_Kusa/ovl_En_Kusa.data.o" + include "build/data/ovl_En_Kusa/ovl_En_Kusa.bss.o" + include "build/data/ovl_En_Kusa/ovl_En_Kusa.reloc.o" +endseg + +beginseg + name "ovl_Obj_Bean" + compress + include "build/src/overlays/actors/ovl_Obj_Bean/z_obj_bean.o" + include "build/data/ovl_Obj_Bean/ovl_Obj_Bean.data.o" + include "build/data/ovl_Obj_Bean/ovl_Obj_Bean.reloc.o" +endseg + +beginseg + name "ovl_Obj_Bombiwa" + compress + include "build/src/overlays/actors/ovl_Obj_Bombiwa/z_obj_bombiwa.o" + include "build/data/ovl_Obj_Bombiwa/ovl_Obj_Bombiwa.data.o" + include "build/data/ovl_Obj_Bombiwa/ovl_Obj_Bombiwa.reloc.o" +endseg + +beginseg + name "ovl_Obj_Switch" + compress + include "build/src/overlays/actors/ovl_Obj_Switch/z_obj_switch.o" + include "build/data/ovl_Obj_Switch/ovl_Obj_Switch.data.o" + include "build/data/ovl_Obj_Switch/ovl_Obj_Switch.bss.o" + include "build/data/ovl_Obj_Switch/ovl_Obj_Switch.reloc.o" +endseg + +beginseg + name "ovl_Obj_Lift" + compress + include "build/src/overlays/actors/ovl_Obj_Lift/z_obj_lift.o" + include "build/data/ovl_Obj_Lift/ovl_Obj_Lift.data.o" + include "build/data/ovl_Obj_Lift/ovl_Obj_Lift.reloc.o" +endseg + +beginseg + name "ovl_Obj_Hsblock" + compress + include "build/src/overlays/actors/ovl_Obj_Hsblock/z_obj_hsblock.o" + include "build/data/ovl_Obj_Hsblock/ovl_Obj_Hsblock.data.o" + include "build/data/ovl_Obj_Hsblock/ovl_Obj_Hsblock.reloc.o" +endseg + +beginseg + name "ovl_En_Okarina_Tag" + compress + include "build/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.o" + include "build/data/ovl_En_Okarina_Tag/ovl_En_Okarina_Tag.data.o" + include "build/data/ovl_En_Okarina_Tag/ovl_En_Okarina_Tag.reloc.o" +endseg + +beginseg + name "ovl_En_Goroiwa" + compress + include "build/src/overlays/actors/ovl_En_Goroiwa/z_en_goroiwa.o" + include "build/data/ovl_En_Goroiwa/ovl_En_Goroiwa.data.o" + include "build/data/ovl_En_Goroiwa/ovl_En_Goroiwa.reloc.o" +endseg + +beginseg + name "ovl_En_Daiku" + compress + include "build/src/overlays/actors/ovl_En_Daiku/z_en_daiku.o" + include "build/data/ovl_En_Daiku/ovl_En_Daiku.data.o" + include "build/data/ovl_En_Daiku/ovl_En_Daiku.reloc.o" +endseg + +beginseg + name "ovl_En_Nwc" + compress + include "build/src/overlays/actors/ovl_En_Nwc/z_en_nwc.o" + include "build/data/ovl_En_Nwc/ovl_En_Nwc.data.o" + include "build/data/ovl_En_Nwc/ovl_En_Nwc.reloc.o" +endseg + +beginseg + name "ovl_Item_Inbox" + compress + include "build/src/overlays/actors/ovl_Item_Inbox/z_item_inbox.o" + include "build/src/overlays/actors/ovl_Item_Inbox/ovl_Item_Inbox_reloc.o" +endseg + +beginseg + name "ovl_En_Ge1" + compress + include "build/src/overlays/actors/ovl_En_Ge1/z_en_ge1.o" + include "build/data/ovl_En_Ge1/ovl_En_Ge1.data.o" + include "build/data/ovl_En_Ge1/ovl_En_Ge1.reloc.o" +endseg + +beginseg + name "ovl_Obj_Blockstop" + compress + include "build/src/overlays/actors/ovl_Obj_Blockstop/z_obj_blockstop.o" + include "build/data/ovl_Obj_Blockstop/ovl_Obj_Blockstop.data.o" + include "build/data/ovl_Obj_Blockstop/ovl_Obj_Blockstop.reloc.o" +endseg + +beginseg + name "ovl_En_Sda" + compress + include "build/src/overlays/actors/ovl_En_Sda/z_en_sda.o" + include "build/data/ovl_En_Sda/ovl_En_Sda.data.o" + include "build/data/ovl_En_Sda/ovl_En_Sda.bss.o" + include "build/data/ovl_En_Sda/ovl_En_Sda.reloc.o" +endseg + +beginseg + name "ovl_En_Clear_Tag" + compress + include "build/src/overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.o" + include "build/src/overlays/actors/ovl_En_Clear_Tag/ovl_En_Clear_Tag_reloc.o" +endseg + +beginseg + name "ovl_En_Gm" + compress + include "build/src/overlays/actors/ovl_En_Gm/z_en_gm.o" + include "build/data/ovl_En_Gm/ovl_En_Gm.data.o" + include "build/data/ovl_En_Gm/ovl_En_Gm.reloc.o" +endseg + +beginseg + name "ovl_En_Ms" + compress + include "build/src/overlays/actors/ovl_En_Ms/z_en_ms.o" + include "build/data/ovl_En_Ms/ovl_En_Ms.data.o" + include "build/data/ovl_En_Ms/ovl_En_Ms.reloc.o" +endseg + +beginseg + name "ovl_En_Hs" + compress + include "build/src/overlays/actors/ovl_En_Hs/z_en_hs.o" + include "build/data/ovl_En_Hs/ovl_En_Hs.data.o" + include "build/data/ovl_En_Hs/ovl_En_Hs.reloc.o" +endseg + +beginseg + name "ovl_Bg_Ingate" + compress + include "build/src/overlays/actors/ovl_Bg_Ingate/z_bg_ingate.o" + include "build/data/ovl_Bg_Ingate/ovl_Bg_Ingate.data.o" + include "build/data/ovl_Bg_Ingate/ovl_Bg_Ingate.reloc.o" +endseg + +beginseg + name "ovl_En_Kanban" + compress + include "build/src/overlays/actors/ovl_En_Kanban/z_en_kanban.o" + include "build/data/ovl_En_Kanban/ovl_En_Kanban.data.o" + include "build/data/ovl_En_Kanban/ovl_En_Kanban.reloc.o" +endseg + +beginseg + name "ovl_En_Attack_Niw" + compress + include "build/src/overlays/actors/ovl_En_Attack_Niw/z_en_attack_niw.o" + include "build/data/ovl_En_Attack_Niw/ovl_En_Attack_Niw.data.o" + include "build/data/ovl_En_Attack_Niw/ovl_En_Attack_Niw.reloc.o" +endseg + +beginseg + name "ovl_En_Mk" + compress + include "build/src/overlays/actors/ovl_En_Mk/z_en_mk.o" + include "build/data/ovl_En_Mk/ovl_En_Mk.data.o" + include "build/data/ovl_En_Mk/ovl_En_Mk.reloc.o" +endseg + +beginseg + name "ovl_En_Owl" + compress + include "build/src/overlays/actors/ovl_En_Owl/z_en_owl.o" + include "build/data/ovl_En_Owl/ovl_En_Owl.data.o" + include "build/data/ovl_En_Owl/ovl_En_Owl.reloc.o" +endseg + +beginseg + name "ovl_En_Ishi" + compress + include "build/src/overlays/actors/ovl_En_Ishi/z_en_ishi.o" + include "build/data/ovl_En_Ishi/ovl_En_Ishi.data.o" + include "build/data/ovl_En_Ishi/ovl_En_Ishi.reloc.o" +endseg + +beginseg + name "ovl_Obj_Hana" + compress + include "build/src/overlays/actors/ovl_Obj_Hana/z_obj_hana.o" + include "build/src/overlays/actors/ovl_Obj_Hana/ovl_Obj_Hana_reloc.o" +endseg + +beginseg + name "ovl_Obj_Lightswitch" + compress + include "build/src/overlays/actors/ovl_Obj_Lightswitch/z_obj_lightswitch.o" + include "build/src/overlays/actors/ovl_Obj_Lightswitch/ovl_Obj_Lightswitch_reloc.o" +endseg + +beginseg + name "ovl_Obj_Mure2" + compress + include "build/src/overlays/actors/ovl_Obj_Mure2/z_obj_mure2.o" + include "build/data/ovl_Obj_Mure2/ovl_Obj_Mure2.data.o" + include "build/data/ovl_Obj_Mure2/ovl_Obj_Mure2.reloc.o" +endseg + +beginseg + name "ovl_En_Fu" + compress + include "build/src/overlays/actors/ovl_En_Fu/z_en_fu.o" + include "build/data/ovl_En_Fu/ovl_En_Fu.data.o" + include "build/data/ovl_En_Fu/ovl_En_Fu.reloc.o" +endseg + +beginseg + name "ovl_En_Stream" + compress + include "build/src/overlays/actors/ovl_En_Stream/z_en_stream.o" + include "build/data/ovl_En_Stream/ovl_En_Stream.data.o" + include "build/data/ovl_En_Stream/ovl_En_Stream.reloc.o" +endseg + +beginseg + name "ovl_En_Mm" + compress + include "build/src/overlays/actors/ovl_En_Mm/z_en_mm.o" + include "build/data/ovl_En_Mm/ovl_En_Mm.data.o" + include "build/data/ovl_En_Mm/ovl_En_Mm.reloc.o" +endseg + +beginseg + name "ovl_En_Weather_Tag" + compress + include "build/src/overlays/actors/ovl_En_Weather_Tag/z_en_weather_tag.o" +#ifdef NON_MATCHING + // TODO +#else + include "build/src/overlays/actors/ovl_En_Weather_Tag/ovl_En_Weather_Tag_reloc.o" +#endif +endseg + +beginseg + name "ovl_En_Ani" + compress + include "build/src/overlays/actors/ovl_En_Ani/z_en_ani.o" + include "build/data/ovl_En_Ani/ovl_En_Ani.data.o" + include "build/data/ovl_En_Ani/ovl_En_Ani.reloc.o" +endseg + +beginseg + name "ovl_En_Js" + compress + include "build/src/overlays/actors/ovl_En_Js/z_en_js.o" + include "build/data/ovl_En_Js/ovl_En_Js.data.o" + include "build/data/ovl_En_Js/ovl_En_Js.reloc.o" +endseg + +beginseg + name "ovl_En_Okarina_Effect" + compress + include "build/src/overlays/actors/ovl_En_Okarina_Effect/z_en_okarina_effect.o" + include "build/src/overlays/actors/ovl_En_Okarina_Effect/ovl_En_Okarina_Effect_reloc.o" +endseg + +beginseg + name "ovl_En_Mag" + compress + include "build/src/overlays/actors/ovl_En_Mag/z_en_mag.o" + include "build/data/ovl_En_Mag/ovl_En_Mag.data.o" + include "build/data/ovl_En_Mag/ovl_En_Mag.reloc.o" +endseg + +beginseg + name "ovl_Elf_Msg2" + compress + include "build/src/overlays/actors/ovl_Elf_Msg2/z_elf_msg2.o" + include "build/data/ovl_Elf_Msg2/ovl_Elf_Msg2.data.o" + include "build/data/ovl_Elf_Msg2/ovl_Elf_Msg2.reloc.o" +endseg + +beginseg + name "ovl_Bg_F40_Swlift" + compress + include "build/src/overlays/actors/ovl_Bg_F40_Swlift/z_bg_f40_swlift.o" + include "build/data/ovl_Bg_F40_Swlift/ovl_Bg_F40_Swlift.data.o" + include "build/data/ovl_Bg_F40_Swlift/ovl_Bg_F40_Swlift.bss.o" + include "build/data/ovl_Bg_F40_Swlift/ovl_Bg_F40_Swlift.reloc.o" +endseg + +beginseg + name "ovl_En_Kakasi" + compress + include "build/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.o" + include "build/data/ovl_En_Kakasi/ovl_En_Kakasi.data.o" + include "build/data/ovl_En_Kakasi/ovl_En_Kakasi.reloc.o" +endseg + +beginseg + name "ovl_Obj_Makeoshihiki" + compress + include "build/src/overlays/actors/ovl_Obj_Makeoshihiki/z_obj_makeoshihiki.o" + include "build/data/ovl_Obj_Makeoshihiki/ovl_Obj_Makeoshihiki.data.o" + include "build/data/ovl_Obj_Makeoshihiki/ovl_Obj_Makeoshihiki.reloc.o" +endseg + +beginseg + name "ovl_Oceff_Spot" + compress + include "build/src/overlays/actors/ovl_Oceff_Spot/z_oceff_spot.o" + include "build/data/ovl_Oceff_Spot/ovl_Oceff_Spot.data.o" + include "build/data/ovl_Oceff_Spot/ovl_Oceff_Spot.reloc.o" +endseg + +beginseg + name "ovl_En_Torch" + compress + include "build/src/overlays/actors/ovl_En_Torch/z_en_torch.o" + include "build/src/overlays/actors/ovl_En_Torch/ovl_En_Torch_reloc.o" +endseg + +beginseg + name "ovl_Shot_Sun" + compress + include "build/src/overlays/actors/ovl_Shot_Sun/z_shot_sun.o" + include "build/data/ovl_Shot_Sun/ovl_Shot_Sun.data.o" + include "build/data/ovl_Shot_Sun/ovl_Shot_Sun.reloc.o" +endseg + +beginseg + name "ovl_Obj_Roomtimer" + compress + include "build/src/overlays/actors/ovl_Obj_Roomtimer/z_obj_roomtimer.o" + include "build/data/ovl_Obj_Roomtimer/ovl_Obj_Roomtimer.data.o" + include "build/data/ovl_Obj_Roomtimer/ovl_Obj_Roomtimer.reloc.o" +endseg + +beginseg + name "ovl_En_Ssh" + compress + include "build/src/overlays/actors/ovl_En_Ssh/z_en_ssh.o" + include "build/data/ovl_En_Ssh/ovl_En_Ssh.data.o" + include "build/data/ovl_En_Ssh/ovl_En_Ssh.reloc.o" +endseg + +beginseg + name "ovl_Oceff_Wipe" + compress + include "build/src/overlays/actors/ovl_Oceff_Wipe/z_oceff_wipe.o" + include "build/data/ovl_Oceff_Wipe/ovl_Oceff_Wipe.data.o" + include "build/data/ovl_Oceff_Wipe/ovl_Oceff_Wipe.bss.o" + include "build/data/ovl_Oceff_Wipe/ovl_Oceff_Wipe.reloc.o" +endseg + +beginseg + name "ovl_Effect_Ss_Dust" + compress + include "build/src/overlays/effects/ovl_Effect_Ss_Dust/z_eff_ss_dust.o" + include "build/data/ovl_Effect_Ss_Dust/ovl_Effect_Ss_Dust.data.o" + include "build/data/ovl_Effect_Ss_Dust/ovl_Effect_Ss_Dust.reloc.o" +endseg + +beginseg + name "ovl_Effect_Ss_Kirakira" + compress + include "build/src/overlays/effects/ovl_Effect_Ss_Kirakira/z_eff_ss_kirakira.o" + include "build/data/ovl_Effect_Ss_Kirakira/ovl_Effect_Ss_Kirakira.data.o" + include "build/data/ovl_Effect_Ss_Kirakira/ovl_Effect_Ss_Kirakira.reloc.o" +endseg + +beginseg + name "ovl_Effect_Ss_Bomb2" + compress + include "build/src/overlays/effects/ovl_Effect_Ss_Bomb2/z_eff_ss_bomb2.o" + include "build/data/ovl_Effect_Ss_Bomb2/ovl_Effect_Ss_Bomb2.data.o" + include "build/data/ovl_Effect_Ss_Bomb2/ovl_Effect_Ss_Bomb2.reloc.o" +endseg + +beginseg + name "ovl_Effect_Ss_Blast" + compress + include "build/src/overlays/effects/ovl_Effect_Ss_Blast/z_eff_ss_blast.o" + include "build/data/ovl_Effect_Ss_Blast/ovl_Effect_Ss_Blast.data.o" + include "build/data/ovl_Effect_Ss_Blast/ovl_Effect_Ss_Blast.reloc.o" +endseg + +beginseg + name "ovl_Effect_Ss_G_Spk" + compress + include "build/src/overlays/effects/ovl_Effect_Ss_G_Spk/z_eff_ss_g_spk.o" + include "build/data/ovl_Effect_Ss_G_Spk/ovl_Effect_Ss_G_Spk.data.o" + include "build/data/ovl_Effect_Ss_G_Spk/ovl_Effect_Ss_G_Spk.reloc.o" +endseg + +beginseg + name "ovl_Effect_Ss_D_Fire" + compress + include "build/src/overlays/effects/ovl_Effect_Ss_D_Fire/z_eff_ss_d_fire.o" + include "build/data/ovl_Effect_Ss_D_Fire/ovl_Effect_Ss_D_Fire.data.o" + include "build/data/ovl_Effect_Ss_D_Fire/ovl_Effect_Ss_D_Fire.reloc.o" +endseg + +beginseg + name "ovl_Effect_Ss_Bubble" + compress + include "build/src/overlays/effects/ovl_Effect_Ss_Bubble/z_eff_ss_bubble.o" + include "build/data/ovl_Effect_Ss_Bubble/ovl_Effect_Ss_Bubble.data.o" + include "build/data/ovl_Effect_Ss_Bubble/ovl_Effect_Ss_Bubble.reloc.o" +endseg + +beginseg + name "ovl_Effect_Ss_G_Ripple" + compress + include "build/src/overlays/effects/ovl_Effect_Ss_G_Ripple/z_eff_ss_g_ripple.o" + include "build/data/ovl_Effect_Ss_G_Ripple/ovl_Effect_Ss_G_Ripple.data.o" + include "build/data/ovl_Effect_Ss_G_Ripple/ovl_Effect_Ss_G_Ripple.reloc.o" +endseg + +beginseg + name "ovl_Effect_Ss_G_Splash" + compress + include "build/src/overlays/effects/ovl_Effect_Ss_G_Splash/z_eff_ss_g_splash.o" + include "build/data/ovl_Effect_Ss_G_Splash/ovl_Effect_Ss_G_Splash.data.o" + include "build/data/ovl_Effect_Ss_G_Splash/ovl_Effect_Ss_G_Splash.reloc.o" +endseg + +beginseg + name "ovl_Effect_Ss_G_Fire" + compress + include "build/src/overlays/effects/ovl_Effect_Ss_G_Fire/z_eff_ss_g_fire.o" + include "build/data/ovl_Effect_Ss_G_Fire/ovl_Effect_Ss_G_Fire.data.o" + include "build/data/ovl_Effect_Ss_G_Fire/ovl_Effect_Ss_G_Fire.reloc.o" +endseg + +beginseg + name "ovl_Effect_Ss_Lightning" + compress + include "build/src/overlays/effects/ovl_Effect_Ss_Lightning/z_eff_ss_lightning.o" + include "build/data/ovl_Effect_Ss_Lightning/ovl_Effect_Ss_Lightning.data.o" + include "build/data/ovl_Effect_Ss_Lightning/ovl_Effect_Ss_Lightning.reloc.o" +endseg + +beginseg + name "ovl_Effect_Ss_Dt_Bubble" + compress + include "build/src/overlays/effects/ovl_Effect_Ss_Dt_Bubble/z_eff_ss_dt_bubble.o" + include "build/data/ovl_Effect_Ss_Dt_Bubble/ovl_Effect_Ss_Dt_Bubble.data.o" + include "build/data/ovl_Effect_Ss_Dt_Bubble/ovl_Effect_Ss_Dt_Bubble.reloc.o" +endseg + +beginseg + name "ovl_Effect_Ss_Hahen" + compress + include "build/src/overlays/effects/ovl_Effect_Ss_Hahen/z_eff_ss_hahen.o" + include "build/data/ovl_Effect_Ss_Hahen/ovl_Effect_Ss_Hahen.data.o" + include "build/data/ovl_Effect_Ss_Hahen/ovl_Effect_Ss_Hahen.reloc.o" +endseg + +beginseg + name "ovl_Effect_Ss_Stick" + compress + include "build/src/overlays/effects/ovl_Effect_Ss_Stick/z_eff_ss_stick.o" + include "build/data/ovl_Effect_Ss_Stick/ovl_Effect_Ss_Stick.data.o" + include "build/data/ovl_Effect_Ss_Stick/ovl_Effect_Ss_Stick.reloc.o" +endseg + +beginseg + name "ovl_Effect_Ss_Sibuki" + compress + include "build/src/overlays/effects/ovl_Effect_Ss_Sibuki/z_eff_ss_sibuki.o" + include "build/data/ovl_Effect_Ss_Sibuki/ovl_Effect_Ss_Sibuki.data.o" + include "build/data/ovl_Effect_Ss_Sibuki/ovl_Effect_Ss_Sibuki.reloc.o" +endseg + +beginseg + name "ovl_Effect_Ss_Stone1" + compress + include "build/src/overlays/effects/ovl_Effect_Ss_Stone1/z_eff_ss_stone1.o" + include "build/data/ovl_Effect_Ss_Stone1/ovl_Effect_Ss_Stone1.data.o" + include "build/data/ovl_Effect_Ss_Stone1/ovl_Effect_Ss_Stone1.reloc.o" +endseg + +beginseg + name "ovl_Effect_Ss_Hitmark" + compress + include "build/src/overlays/effects/ovl_Effect_Ss_Hitmark/z_eff_ss_hitmark.o" + include "build/data/ovl_Effect_Ss_Hitmark/ovl_Effect_Ss_Hitmark.data.o" + include "build/data/ovl_Effect_Ss_Hitmark/ovl_Effect_Ss_Hitmark.reloc.o" +endseg + +beginseg + name "ovl_Effect_Ss_Fhg_Flash" + compress + include "build/src/overlays/effects/ovl_Effect_Ss_Fhg_Flash/z_eff_ss_fhg_flash.o" + include "build/data/ovl_Effect_Ss_Fhg_Flash/ovl_Effect_Ss_Fhg_Flash.data.o" + include "build/data/ovl_Effect_Ss_Fhg_Flash/ovl_Effect_Ss_Fhg_Flash.reloc.o" +endseg + +beginseg + name "ovl_Effect_Ss_K_Fire" + compress + include "build/src/overlays/effects/ovl_Effect_Ss_K_Fire/z_eff_ss_k_fire.o" + include "build/data/ovl_Effect_Ss_K_Fire/ovl_Effect_Ss_K_Fire.data.o" + include "build/data/ovl_Effect_Ss_K_Fire/ovl_Effect_Ss_K_Fire.reloc.o" +endseg + +beginseg + name "ovl_Effect_Ss_Solder_Srch_Ball" + compress + include "build/src/overlays/effects/ovl_Effect_Ss_Solder_Srch_Ball/z_eff_ss_solder_srch_ball.o" + include "build/data/ovl_Effect_Ss_Solder_Srch_Ball/ovl_Effect_Ss_Solder_Srch_Ball.data.o" + include "build/data/ovl_Effect_Ss_Solder_Srch_Ball/ovl_Effect_Ss_Solder_Srch_Ball.reloc.o" +endseg + +beginseg + name "ovl_Effect_Ss_Kakera" + compress + include "build/src/overlays/effects/ovl_Effect_Ss_Kakera/z_eff_ss_kakera.o" + include "build/data/ovl_Effect_Ss_Kakera/ovl_Effect_Ss_Kakera.data.o" + include "build/data/ovl_Effect_Ss_Kakera/ovl_Effect_Ss_Kakera.reloc.o" +endseg + +beginseg + name "ovl_Effect_Ss_Ice_Piece" + compress + include "build/src/overlays/effects/ovl_Effect_Ss_Ice_Piece/z_eff_ss_ice_piece.o" + include "build/data/ovl_Effect_Ss_Ice_Piece/ovl_Effect_Ss_Ice_Piece.data.o" + include "build/data/ovl_Effect_Ss_Ice_Piece/ovl_Effect_Ss_Ice_Piece.reloc.o" +endseg + +beginseg + name "ovl_Effect_Ss_En_Ice" + compress + include "build/src/overlays/effects/ovl_Effect_Ss_En_Ice/z_eff_ss_en_ice.o" + include "build/data/ovl_Effect_Ss_En_Ice/ovl_Effect_Ss_En_Ice.data.o" + include "build/data/ovl_Effect_Ss_En_Ice/ovl_Effect_Ss_En_Ice.reloc.o" +endseg + +beginseg + name "ovl_Effect_Ss_Fire_Tail" + compress + include "build/src/overlays/effects/ovl_Effect_Ss_Fire_Tail/z_eff_ss_fire_tail.o" + include "build/data/ovl_Effect_Ss_Fire_Tail/ovl_Effect_Ss_Fire_Tail.data.o" + include "build/data/ovl_Effect_Ss_Fire_Tail/ovl_Effect_Ss_Fire_Tail.reloc.o" +endseg + +beginseg + name "ovl_Effect_Ss_En_Fire" + compress + include "build/src/overlays/effects/ovl_Effect_Ss_En_Fire/z_eff_ss_en_fire.o" + include "build/data/ovl_Effect_Ss_En_Fire/ovl_Effect_Ss_En_Fire.data.o" + include "build/data/ovl_Effect_Ss_En_Fire/ovl_Effect_Ss_En_Fire.reloc.o" +endseg + +beginseg + name "ovl_Effect_Ss_Extra" + compress + include "build/src/overlays/effects/ovl_Effect_Ss_Extra/z_eff_ss_extra.o" + include "build/data/ovl_Effect_Ss_Extra/ovl_Effect_Ss_Extra.data.o" + include "build/data/ovl_Effect_Ss_Extra/ovl_Effect_Ss_Extra.reloc.o" +endseg + +beginseg + name "ovl_Effect_Ss_Dead_Db" + compress + include "build/src/overlays/effects/ovl_Effect_Ss_Dead_Db/z_eff_ss_dead_db.o" + include "build/data/ovl_Effect_Ss_Dead_Db/ovl_Effect_Ss_Dead_Db.data.o" + include "build/data/ovl_Effect_Ss_Dead_Db/ovl_Effect_Ss_Dead_Db.reloc.o" +endseg + +beginseg + name "ovl_Effect_Ss_Dead_Dd" + compress + include "build/src/overlays/effects/ovl_Effect_Ss_Dead_Dd/z_eff_ss_dead_dd.o" + include "build/data/ovl_Effect_Ss_Dead_Dd/ovl_Effect_Ss_Dead_Dd.data.o" + include "build/data/ovl_Effect_Ss_Dead_Dd/ovl_Effect_Ss_Dead_Dd.reloc.o" +endseg + +beginseg + name "ovl_Effect_Ss_Dead_Ds" + compress + include "build/src/overlays/effects/ovl_Effect_Ss_Dead_Ds/z_eff_ss_dead_ds.o" + include "build/data/ovl_Effect_Ss_Dead_Ds/ovl_Effect_Ss_Dead_Ds.data.o" + include "build/data/ovl_Effect_Ss_Dead_Ds/ovl_Effect_Ss_Dead_Ds.reloc.o" +endseg + +beginseg + name "ovl_Oceff_Storm" + compress + include "build/src/overlays/actors/ovl_Oceff_Storm/z_oceff_storm.o" + include "build/data/ovl_Oceff_Storm/ovl_Oceff_Storm.data.o" + include "build/data/ovl_Oceff_Storm/ovl_Oceff_Storm.reloc.o" +endseg + +beginseg + name "ovl_Obj_Demo" + compress + include "build/src/overlays/actors/ovl_Obj_Demo/z_obj_demo.o" + include "build/data/ovl_Obj_Demo/ovl_Obj_Demo.data.o" + include "build/data/ovl_Obj_Demo/ovl_Obj_Demo.reloc.o" +endseg + +beginseg + name "ovl_En_Minislime" + compress + include "build/src/overlays/actors/ovl_En_Minislime/z_en_minislime.o" + include "build/src/overlays/actors/ovl_En_Minislime/ovl_En_Minislime_reloc.o" +endseg + +beginseg + name "ovl_En_Nutsball" + compress + include "build/src/overlays/actors/ovl_En_Nutsball/z_en_nutsball.o" + include "build/src/overlays/actors/ovl_En_Nutsball/ovl_En_Nutsball_reloc.o" +endseg + +beginseg + name "ovl_Oceff_Wipe2" + compress + include "build/src/overlays/actors/ovl_Oceff_Wipe2/z_oceff_wipe2.o" + include "build/data/ovl_Oceff_Wipe2/ovl_Oceff_Wipe2.data.o" + include "build/data/ovl_Oceff_Wipe2/ovl_Oceff_Wipe2.bss.o" + include "build/data/ovl_Oceff_Wipe2/ovl_Oceff_Wipe2.reloc.o" +endseg + +beginseg + name "ovl_Oceff_Wipe3" + compress + include "build/src/overlays/actors/ovl_Oceff_Wipe3/z_oceff_wipe3.o" + include "build/data/ovl_Oceff_Wipe3/ovl_Oceff_Wipe3.data.o" + include "build/data/ovl_Oceff_Wipe3/ovl_Oceff_Wipe3.bss.o" + include "build/data/ovl_Oceff_Wipe3/ovl_Oceff_Wipe3.reloc.o" +endseg + +beginseg + name "ovl_En_Dg" + compress + include "build/src/overlays/actors/ovl_En_Dg/z_en_dg.o" + include "build/data/ovl_En_Dg/ovl_En_Dg.data.o" + include "build/data/ovl_En_Dg/ovl_En_Dg.reloc.o" +endseg + +beginseg + name "ovl_En_Si" + compress + include "build/src/overlays/actors/ovl_En_Si/z_en_si.o" + include "build/data/ovl_En_Si/ovl_En_Si.data.o" + include "build/data/ovl_En_Si/ovl_En_Si.reloc.o" +endseg + +beginseg + name "ovl_Obj_Comb" + compress + include "build/src/overlays/actors/ovl_Obj_Comb/z_obj_comb.o" + include "build/data/ovl_Obj_Comb/ovl_Obj_Comb.data.o" + include "build/data/ovl_Obj_Comb/ovl_Obj_Comb.reloc.o" +endseg + +beginseg + name "ovl_Obj_Kibako2" + compress + include "build/src/overlays/actors/ovl_Obj_Kibako2/z_obj_kibako2.o" + include "build/data/ovl_Obj_Kibako2/ovl_Obj_Kibako2.data.o" + include "build/data/ovl_Obj_Kibako2/ovl_Obj_Kibako2.reloc.o" +endseg + +beginseg + name "ovl_En_Hs2" + compress + include "build/src/overlays/actors/ovl_En_Hs2/z_en_hs2.o" + include "build/src/overlays/actors/ovl_En_Hs2/ovl_En_Hs2_reloc.o" +endseg + +beginseg + name "ovl_Obj_Mure3" + compress + include "build/src/overlays/actors/ovl_Obj_Mure3/z_obj_mure3.o" + include "build/data/ovl_Obj_Mure3/ovl_Obj_Mure3.data.o" + include "build/data/ovl_Obj_Mure3/ovl_Obj_Mure3.reloc.o" +endseg + +beginseg + name "ovl_En_Tg" + compress + include "build/src/overlays/actors/ovl_En_Tg/z_en_tg.o" + include "build/data/ovl_En_Tg/ovl_En_Tg.data.o" + include "build/data/ovl_En_Tg/ovl_En_Tg.reloc.o" +endseg + +beginseg + name "ovl_En_Wf" + compress + include "build/src/overlays/actors/ovl_En_Wf/z_en_wf.o" + include "build/data/ovl_En_Wf/ovl_En_Wf.data.o" + include "build/data/ovl_En_Wf/ovl_En_Wf.reloc.o" +endseg + +beginseg + name "ovl_En_Skb" + compress + include "build/src/overlays/actors/ovl_En_Skb/z_en_skb.o" + include "build/data/ovl_En_Skb/ovl_En_Skb.data.o" + include "build/data/ovl_En_Skb/ovl_En_Skb.reloc.o" +endseg + +beginseg + name "ovl_En_Gs" + compress + include "build/src/overlays/actors/ovl_En_Gs/z_en_gs.o" + include "build/data/ovl_En_Gs/ovl_En_Gs.data.o" + include "build/data/ovl_En_Gs/ovl_En_Gs.reloc.o" +endseg + +beginseg + name "ovl_Obj_Sound" + compress + include "build/src/overlays/actors/ovl_Obj_Sound/z_obj_sound.o" + include "build/data/ovl_Obj_Sound/ovl_Obj_Sound.data.o" + include "build/data/ovl_Obj_Sound/ovl_Obj_Sound.reloc.o" +endseg + +beginseg + name "ovl_En_Crow" + compress + include "build/src/overlays/actors/ovl_En_Crow/z_en_crow.o" + include "build/data/ovl_En_Crow/ovl_En_Crow.data.o" + include "build/data/ovl_En_Crow/ovl_En_Crow.reloc.o" +endseg + +beginseg + name "ovl_En_Cow" + compress + include "build/src/overlays/actors/ovl_En_Cow/z_en_cow.o" + include "build/data/ovl_En_Cow/ovl_En_Cow.data.o" + include "build/data/ovl_En_Cow/ovl_En_Cow.reloc.o" +endseg + +beginseg + name "ovl_Oceff_Wipe4" + compress + include "build/src/overlays/actors/ovl_Oceff_Wipe4/z_oceff_wipe4.o" + include "build/data/ovl_Oceff_Wipe4/ovl_Oceff_Wipe4.data.o" + include "build/data/ovl_Oceff_Wipe4/ovl_Oceff_Wipe4.bss.o" + include "build/data/ovl_Oceff_Wipe4/ovl_Oceff_Wipe4.reloc.o" +endseg + +beginseg + name "ovl_En_Zo" + compress + include "build/src/overlays/actors/ovl_En_Zo/z_en_zo.o" + include "build/data/ovl_En_Zo/ovl_En_Zo.data.o" + include "build/data/ovl_En_Zo/ovl_En_Zo.reloc.o" +endseg + +beginseg + name "ovl_Effect_Ss_Ice_Smoke" + compress + include "build/src/overlays/effects/ovl_Effect_Ss_Ice_Smoke/z_eff_ss_ice_smoke.o" + include "build/data/ovl_Effect_Ss_Ice_Smoke/ovl_Effect_Ss_Ice_Smoke.data.o" + include "build/data/ovl_Effect_Ss_Ice_Smoke/ovl_Effect_Ss_Ice_Smoke.reloc.o" +endseg + +beginseg + name "ovl_Obj_Makekinsuta" + compress + include "build/src/overlays/actors/ovl_Obj_Makekinsuta/z_obj_makekinsuta.o" + include "build/data/ovl_Obj_Makekinsuta/ovl_Obj_Makekinsuta.data.o" + include "build/data/ovl_Obj_Makekinsuta/ovl_Obj_Makekinsuta.reloc.o" +endseg + +beginseg + name "ovl_En_Ge3" + compress + include "build/src/overlays/actors/ovl_En_Ge3/z_en_ge3.o" + include "build/data/ovl_En_Ge3/ovl_En_Ge3.data.o" + include "build/data/ovl_En_Ge3/ovl_En_Ge3.reloc.o" +endseg + +beginseg + name "ovl_Obj_Hamishi" + compress + include "build/src/overlays/actors/ovl_Obj_Hamishi/z_obj_hamishi.o" + include "build/data/ovl_Obj_Hamishi/ovl_Obj_Hamishi.data.o" + include "build/data/ovl_Obj_Hamishi/ovl_Obj_Hamishi.reloc.o" +endseg + +beginseg + name "ovl_En_Zl4" + compress + include "build/src/overlays/actors/ovl_En_Zl4/z_en_zl4.o" + include "build/data/ovl_En_Zl4/ovl_En_Zl4.data.o" + include "build/data/ovl_En_Zl4/ovl_En_Zl4.reloc.o" +endseg + +beginseg + name "ovl_En_Mm2" + compress + include "build/src/overlays/actors/ovl_En_Mm2/z_en_mm2.o" + include "build/data/ovl_En_Mm2/ovl_En_Mm2.data.o" + include "build/data/ovl_En_Mm2/ovl_En_Mm2.reloc.o" +endseg + +beginseg + name "ovl_Door_Spiral" + compress + include "build/src/overlays/actors/ovl_Door_Spiral/z_door_spiral.o" + include "build/src/overlays/actors/ovl_Door_Spiral/ovl_Door_Spiral_reloc.o" +endseg + +beginseg + name "ovl_Obj_Pzlblock" + compress + include "build/src/overlays/actors/ovl_Obj_Pzlblock/z_obj_pzlblock.o" + include "build/data/ovl_Obj_Pzlblock/ovl_Obj_Pzlblock.data.o" + include "build/data/ovl_Obj_Pzlblock/ovl_Obj_Pzlblock.reloc.o" +endseg + +beginseg + name "ovl_Obj_Toge" + compress + include "build/src/overlays/actors/ovl_Obj_Toge/z_obj_toge.o" + include "build/data/ovl_Obj_Toge/ovl_Obj_Toge.data.o" + include "build/data/ovl_Obj_Toge/ovl_Obj_Toge.reloc.o" +endseg + +beginseg + name "ovl_Obj_Armos" + compress + include "build/src/overlays/actors/ovl_Obj_Armos/z_obj_armos.o" + include "build/data/ovl_Obj_Armos/ovl_Obj_Armos.data.o" + include "build/data/ovl_Obj_Armos/ovl_Obj_Armos.reloc.o" +endseg + +beginseg + name "ovl_Obj_Boyo" + compress + include "build/src/overlays/actors/ovl_Obj_Boyo/z_obj_boyo.o" + include "build/src/overlays/actors/ovl_Obj_Boyo/ovl_Obj_Boyo_reloc.o" +endseg + +beginseg + name "ovl_En_Grasshopper" + compress + include "build/src/overlays/actors/ovl_En_Grasshopper/z_en_grasshopper.o" + include "build/data/ovl_En_Grasshopper/ovl_En_Grasshopper.data.o" + include "build/data/ovl_En_Grasshopper/ovl_En_Grasshopper.reloc.o" +endseg + +beginseg + name "ovl_Obj_Grass" + compress + include "build/src/overlays/actors/ovl_Obj_Grass/z_obj_grass.o" + include "build/data/ovl_Obj_Grass/ovl_Obj_Grass.data.o" + include "build/data/ovl_Obj_Grass/ovl_Obj_Grass.bss.o" + include "build/data/ovl_Obj_Grass/ovl_Obj_Grass.reloc.o" +endseg + +beginseg + name "ovl_Obj_Grass_Carry" + compress + include "build/src/overlays/actors/ovl_Obj_Grass_Carry/z_obj_grass_carry.o" + include "build/data/ovl_Obj_Grass_Carry/ovl_Obj_Grass_Carry.data.o" + include "build/data/ovl_Obj_Grass_Carry/ovl_Obj_Grass_Carry.reloc.o" +endseg + +beginseg + name "ovl_Obj_Grass_Unit" + compress + include "build/src/overlays/actors/ovl_Obj_Grass_Unit/z_obj_grass_unit.o" + include "build/data/ovl_Obj_Grass_Unit/ovl_Obj_Grass_Unit.data.o" + include "build/data/ovl_Obj_Grass_Unit/ovl_Obj_Grass_Unit.reloc.o" +endseg + +beginseg + name "ovl_Bg_Fire_Wall" + compress + include "build/src/overlays/actors/ovl_Bg_Fire_Wall/z_bg_fire_wall.o" + include "build/data/ovl_Bg_Fire_Wall/ovl_Bg_Fire_Wall.data.o" + include "build/data/ovl_Bg_Fire_Wall/ovl_Bg_Fire_Wall.reloc.o" +endseg + +beginseg + name "ovl_En_Bu" + compress + include "build/src/overlays/actors/ovl_En_Bu/z_en_bu.o" + include "build/src/overlays/actors/ovl_En_Bu/ovl_En_Bu_reloc.o" +endseg + +beginseg + name "ovl_En_Encount3" + compress + include "build/src/overlays/actors/ovl_En_Encount3/z_en_encount3.o" + include "build/data/ovl_En_Encount3/ovl_En_Encount3.data.o" + include "build/data/ovl_En_Encount3/ovl_En_Encount3.reloc.o" +endseg + +beginseg + name "ovl_En_Jso" + compress + include "build/src/overlays/actors/ovl_En_Jso/z_en_jso.o" + include "build/data/ovl_En_Jso/ovl_En_Jso.data.o" + include "build/data/ovl_En_Jso/ovl_En_Jso.reloc.o" +endseg + +beginseg + name "ovl_Obj_Chikuwa" + compress + include "build/src/overlays/actors/ovl_Obj_Chikuwa/z_obj_chikuwa.o" + include "build/data/ovl_Obj_Chikuwa/ovl_Obj_Chikuwa.data.o" + include "build/data/ovl_Obj_Chikuwa/ovl_Obj_Chikuwa.reloc.o" +endseg + +beginseg + name "ovl_En_Knight" + compress + include "build/src/overlays/actors/ovl_En_Knight/z_en_knight.o" + include "build/data/ovl_En_Knight/ovl_En_Knight.data.o" + include "build/data/ovl_En_Knight/ovl_En_Knight.bss.o" + include "build/data/ovl_En_Knight/ovl_En_Knight.reloc.o" +endseg + +beginseg + name "ovl_En_Warp_tag" + compress + include "build/src/overlays/actors/ovl_En_Warp_tag/z_en_warp_tag.o" + include "build/data/ovl_En_Warp_tag/ovl_En_Warp_tag.data.o" + include "build/data/ovl_En_Warp_tag/ovl_En_Warp_tag.reloc.o" +endseg + +beginseg + name "ovl_En_Aob_01" + compress + include "build/src/overlays/actors/ovl_En_Aob_01/z_en_aob_01.o" + include "build/data/ovl_En_Aob_01/ovl_En_Aob_01.data.o" + include "build/data/ovl_En_Aob_01/ovl_En_Aob_01.reloc.o" +endseg + +beginseg + name "ovl_En_Boj_01" + compress + include "build/src/overlays/actors/ovl_En_Boj_01/z_en_boj_01.o" + include "build/src/overlays/actors/ovl_En_Boj_01/ovl_En_Boj_01_reloc.o" +endseg + +beginseg + name "ovl_En_Boj_02" + compress + include "build/src/overlays/actors/ovl_En_Boj_02/z_en_boj_02.o" + include "build/src/overlays/actors/ovl_En_Boj_02/ovl_En_Boj_02_reloc.o" +endseg + +beginseg + name "ovl_En_Boj_03" + compress + include "build/src/overlays/actors/ovl_En_Boj_03/z_en_boj_03.o" + include "build/src/overlays/actors/ovl_En_Boj_03/ovl_En_Boj_03_reloc.o" +endseg + +beginseg + name "ovl_En_Encount4" + compress + include "build/src/overlays/actors/ovl_En_Encount4/z_en_encount4.o" + include "build/data/ovl_En_Encount4/ovl_En_Encount4.data.o" + include "build/data/ovl_En_Encount4/ovl_En_Encount4.reloc.o" +endseg + +beginseg + name "ovl_En_Bom_Bowl_Man" + compress + include "build/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.o" + include "build/data/ovl_En_Bom_Bowl_Man/ovl_En_Bom_Bowl_Man.data.o" + include "build/data/ovl_En_Bom_Bowl_Man/ovl_En_Bom_Bowl_Man.reloc.o" +endseg + +beginseg + name "ovl_En_Syateki_Man" + compress + include "build/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.o" + include "build/data/ovl_En_Syateki_Man/ovl_En_Syateki_Man.data.o" + include "build/data/ovl_En_Syateki_Man/ovl_En_Syateki_Man.reloc.o" +endseg + +beginseg + name "ovl_Bg_Icicle" + compress + include "build/src/overlays/actors/ovl_Bg_Icicle/z_bg_icicle.o" + include "build/src/overlays/actors/ovl_Bg_Icicle/ovl_Bg_Icicle_reloc.o" +endseg + +beginseg + name "ovl_En_Syateki_Crow" + compress + include "build/src/overlays/actors/ovl_En_Syateki_Crow/z_en_syateki_crow.o" + include "build/data/ovl_En_Syateki_Crow/ovl_En_Syateki_Crow.data.o" + include "build/data/ovl_En_Syateki_Crow/ovl_En_Syateki_Crow.reloc.o" +endseg + +beginseg + name "ovl_En_Boj_04" + compress + include "build/src/overlays/actors/ovl_En_Boj_04/z_en_boj_04.o" + include "build/src/overlays/actors/ovl_En_Boj_04/ovl_En_Boj_04_reloc.o" +endseg + +beginseg + name "ovl_En_Cne_01" + compress + include "build/src/overlays/actors/ovl_En_Cne_01/z_en_cne_01.o" + include "build/data/ovl_En_Cne_01/ovl_En_Cne_01.data.o" + include "build/data/ovl_En_Cne_01/ovl_En_Cne_01.reloc.o" +endseg + +beginseg + name "ovl_En_Bba_01" + compress + include "build/src/overlays/actors/ovl_En_Bba_01/z_en_bba_01.o" + include "build/data/ovl_En_Bba_01/ovl_En_Bba_01.data.o" + include "build/data/ovl_En_Bba_01/ovl_En_Bba_01.reloc.o" +endseg + +beginseg + name "ovl_En_Bji_01" + compress + include "build/src/overlays/actors/ovl_En_Bji_01/z_en_bji_01.o" + include "build/src/overlays/actors/ovl_En_Bji_01/ovl_En_Bji_01_reloc.o" +endseg + +beginseg + name "ovl_Bg_Spdweb" + compress + include "build/src/overlays/actors/ovl_Bg_Spdweb/z_bg_spdweb.o" + include "build/data/ovl_Bg_Spdweb/ovl_Bg_Spdweb.data.o" + include "build/data/ovl_Bg_Spdweb/ovl_Bg_Spdweb.reloc.o" +endseg + +beginseg + name "ovl_En_Mt_tag" + compress + include "build/src/overlays/actors/ovl_En_Mt_tag/z_en_mt_tag.o" + include "build/data/ovl_En_Mt_tag/ovl_En_Mt_tag.data.o" + include "build/data/ovl_En_Mt_tag/ovl_En_Mt_tag.reloc.o" +endseg + +beginseg + name "ovl_Boss_01" + compress + include "build/src/overlays/actors/ovl_Boss_01/z_boss_01.o" + include "build/data/ovl_Boss_01/ovl_Boss_01.data.o" + include "build/data/ovl_Boss_01/ovl_Boss_01.bss.o" + include "build/data/ovl_Boss_01/ovl_Boss_01.reloc.o" +endseg + +beginseg + name "ovl_Boss_02" + compress + include "build/src/overlays/actors/ovl_Boss_02/z_boss_02.o" + include "build/data/ovl_Boss_02/ovl_Boss_02.data.o" + include "build/data/ovl_Boss_02/ovl_Boss_02.bss.o" + include "build/data/ovl_Boss_02/ovl_Boss_02.reloc.o" +endseg + +beginseg + name "ovl_Boss_03" + compress + include "build/src/overlays/actors/ovl_Boss_03/z_boss_03.o" + include "build/data/ovl_Boss_03/ovl_Boss_03.data.o" + include "build/data/ovl_Boss_03/ovl_Boss_03.bss.o" + include "build/data/ovl_Boss_03/ovl_Boss_03.reloc.o" +endseg + +beginseg + name "ovl_Boss_04" + compress + include "build/src/overlays/actors/ovl_Boss_04/z_boss_04.o" + include "build/data/ovl_Boss_04/ovl_Boss_04.data.o" + include "build/data/ovl_Boss_04/ovl_Boss_04.bss.o" + include "build/data/ovl_Boss_04/ovl_Boss_04.reloc.o" +endseg + +beginseg + name "ovl_Boss_05" + compress + include "build/src/overlays/actors/ovl_Boss_05/z_boss_05.o" + include "build/data/ovl_Boss_05/ovl_Boss_05.data.o" + include "build/data/ovl_Boss_05/ovl_Boss_05.bss.o" + include "build/data/ovl_Boss_05/ovl_Boss_05.reloc.o" +endseg + +beginseg + name "ovl_Boss_06" + compress + include "build/src/overlays/actors/ovl_Boss_06/z_boss_06.o" + include "build/data/ovl_Boss_06/ovl_Boss_06.data.o" + include "build/data/ovl_Boss_06/ovl_Boss_06.bss.o" + include "build/data/ovl_Boss_06/ovl_Boss_06.reloc.o" +endseg + +beginseg + name "ovl_Boss_07" + compress + include "build/src/overlays/actors/ovl_Boss_07/z_boss_07.o" + include "build/data/ovl_Boss_07/ovl_Boss_07.data.o" + include "build/data/ovl_Boss_07/ovl_Boss_07.bss.o" + include "build/data/ovl_Boss_07/ovl_Boss_07.reloc.o" +endseg + +beginseg + name "ovl_Bg_Dy_Yoseizo" + compress + include "build/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.o" + include "build/data/ovl_Bg_Dy_Yoseizo/ovl_Bg_Dy_Yoseizo.data.o" + include "build/data/ovl_Bg_Dy_Yoseizo/ovl_Bg_Dy_Yoseizo.reloc.o" +endseg + +beginseg + name "ovl_En_Boj_05" + compress + include "build/src/overlays/actors/ovl_En_Boj_05/z_en_boj_05.o" + include "build/src/overlays/actors/ovl_En_Boj_05/ovl_En_Boj_05_reloc.o" +endseg + +beginseg + name "ovl_En_Sob1" + compress + include "build/src/overlays/actors/ovl_En_Sob1/z_en_sob1.o" + include "build/src/overlays/actors/ovl_En_Sob1/ovl_En_Sob1_reloc.o" +endseg + +beginseg + name "ovl_En_Go" + compress + include "build/src/overlays/actors/ovl_En_Go/z_en_go.o" + include "build/data/ovl_En_Go/ovl_En_Go.data.o" + include "build/data/ovl_En_Go/ovl_En_Go.reloc.o" +endseg + +beginseg + name "ovl_En_Raf" + compress + include "build/src/overlays/actors/ovl_En_Raf/z_en_raf.o" + include "build/data/ovl_En_Raf/ovl_En_Raf.data.o" + include "build/data/ovl_En_Raf/ovl_En_Raf.reloc.o" +endseg + +beginseg + name "ovl_Obj_Funen" + compress + include "build/src/overlays/actors/ovl_Obj_Funen/z_obj_funen.o" + include "build/src/overlays/actors/ovl_Obj_Funen/ovl_Obj_Funen_reloc.o" +endseg + +beginseg + name "ovl_Obj_Raillift" + compress + include "build/src/overlays/actors/ovl_Obj_Raillift/z_obj_raillift.o" + include "build/src/overlays/actors/ovl_Obj_Raillift/ovl_Obj_Raillift_reloc.o" +endseg + +beginseg + name "ovl_Bg_Numa_Hana" + compress + include "build/src/overlays/actors/ovl_Bg_Numa_Hana/z_bg_numa_hana.o" + include "build/data/ovl_Bg_Numa_Hana/ovl_Bg_Numa_Hana.data.o" + include "build/data/ovl_Bg_Numa_Hana/ovl_Bg_Numa_Hana.reloc.o" +endseg + +beginseg + name "ovl_Obj_Flowerpot" + compress + include "build/src/overlays/actors/ovl_Obj_Flowerpot/z_obj_flowerpot.o" + include "build/data/ovl_Obj_Flowerpot/ovl_Obj_Flowerpot.data.o" + include "build/data/ovl_Obj_Flowerpot/ovl_Obj_Flowerpot.bss.o" + include "build/data/ovl_Obj_Flowerpot/ovl_Obj_Flowerpot.reloc.o" +endseg + +beginseg + name "ovl_Obj_Spinyroll" + compress + include "build/src/overlays/actors/ovl_Obj_Spinyroll/z_obj_spinyroll.o" + include "build/data/ovl_Obj_Spinyroll/ovl_Obj_Spinyroll.data.o" + include "build/data/ovl_Obj_Spinyroll/ovl_Obj_Spinyroll.reloc.o" +endseg + +beginseg + name "ovl_Dm_Hina" + compress + include "build/src/overlays/actors/ovl_Dm_Hina/z_dm_hina.o" + include "build/data/ovl_Dm_Hina/ovl_Dm_Hina.data.o" + include "build/data/ovl_Dm_Hina/ovl_Dm_Hina.reloc.o" +endseg + +beginseg + name "ovl_En_Syateki_Wf" + compress + include "build/src/overlays/actors/ovl_En_Syateki_Wf/z_en_syateki_wf.o" + include "build/data/ovl_En_Syateki_Wf/ovl_En_Syateki_Wf.data.o" + include "build/data/ovl_En_Syateki_Wf/ovl_En_Syateki_Wf.reloc.o" +endseg + +beginseg + name "ovl_Obj_Skateblock" + compress + include "build/src/overlays/actors/ovl_Obj_Skateblock/z_obj_skateblock.o" + include "build/data/ovl_Obj_Skateblock/ovl_Obj_Skateblock.data.o" + include "build/data/ovl_Obj_Skateblock/ovl_Obj_Skateblock.reloc.o" +endseg + +beginseg + name "ovl_Effect_En_Ice_Block" + compress + include "build/src/overlays/effects/ovl_Effect_En_Ice_Block/z_eff_en_ice_block.o" + include "build/data/ovl_Effect_En_Ice_Block/ovl_Effect_En_Ice_Block.data.o" + include "build/data/ovl_Effect_En_Ice_Block/ovl_Effect_En_Ice_Block.reloc.o" +endseg + +beginseg + name "ovl_Obj_Iceblock" + compress + include "build/src/overlays/actors/ovl_Obj_Iceblock/z_obj_iceblock.o" + include "build/data/ovl_Obj_Iceblock/ovl_Obj_Iceblock.data.o" + include "build/data/ovl_Obj_Iceblock/ovl_Obj_Iceblock.reloc.o" +endseg + +beginseg + name "ovl_En_Bigpamet" + compress + include "build/src/overlays/actors/ovl_En_Bigpamet/z_en_bigpamet.o" + include "build/data/ovl_En_Bigpamet/ovl_En_Bigpamet.data.o" + include "build/data/ovl_En_Bigpamet/ovl_En_Bigpamet.reloc.o" +endseg + +beginseg + name "ovl_Bg_Dblue_Movebg" + compress + include "build/src/overlays/actors/ovl_Bg_Dblue_Movebg/z_bg_dblue_movebg.o" + include "build/data/ovl_Bg_Dblue_Movebg/ovl_Bg_Dblue_Movebg.data.o" + include "build/data/ovl_Bg_Dblue_Movebg/ovl_Bg_Dblue_Movebg.bss.o" + include "build/data/ovl_Bg_Dblue_Movebg/ovl_Bg_Dblue_Movebg.reloc.o" +endseg + +beginseg + name "ovl_En_Syateki_Dekunuts" + compress + include "build/src/overlays/actors/ovl_En_Syateki_Dekunuts/z_en_syateki_dekunuts.o" + include "build/data/ovl_En_Syateki_Dekunuts/ovl_En_Syateki_Dekunuts.data.o" + include "build/data/ovl_En_Syateki_Dekunuts/ovl_En_Syateki_Dekunuts.reloc.o" +endseg + +beginseg + name "ovl_Elf_Msg3" + compress + include "build/src/overlays/actors/ovl_Elf_Msg3/z_elf_msg3.o" + include "build/data/ovl_Elf_Msg3/ovl_Elf_Msg3.data.o" + include "build/data/ovl_Elf_Msg3/ovl_Elf_Msg3.reloc.o" +endseg + +beginseg + name "ovl_En_Fg" + compress + include "build/src/overlays/actors/ovl_En_Fg/z_en_fg.o" + include "build/src/overlays/actors/ovl_En_Fg/ovl_En_Fg_reloc.o" +endseg + +beginseg + name "ovl_Dm_Ravine" + compress + include "build/src/overlays/actors/ovl_Dm_Ravine/z_dm_ravine.o" + include "build/src/overlays/actors/ovl_Dm_Ravine/ovl_Dm_Ravine_reloc.o" +endseg + +beginseg + name "ovl_Dm_Sa" + compress + include "build/src/overlays/actors/ovl_Dm_Sa/z_dm_sa.o" + include "build/src/overlays/actors/ovl_Dm_Sa/ovl_Dm_Sa_reloc.o" +endseg + +beginseg + name "ovl_En_Slime" + compress + include "build/src/overlays/actors/ovl_En_Slime/z_en_slime.o" + include "build/data/ovl_En_Slime/ovl_En_Slime.data.o" + include "build/data/ovl_En_Slime/ovl_En_Slime.bss.o" + include "build/data/ovl_En_Slime/ovl_En_Slime.reloc.o" +endseg + +beginseg + name "ovl_En_Pr" + compress + include "build/src/overlays/actors/ovl_En_Pr/z_en_pr.o" + include "build/data/ovl_En_Pr/ovl_En_Pr.data.o" + include "build/data/ovl_En_Pr/ovl_En_Pr.reloc.o" +endseg + +beginseg + name "ovl_Obj_Toudai" + compress + include "build/src/overlays/actors/ovl_Obj_Toudai/z_obj_toudai.o" + include "build/data/ovl_Obj_Toudai/ovl_Obj_Toudai.data.o" + include "build/data/ovl_Obj_Toudai/ovl_Obj_Toudai.reloc.o" +endseg + +beginseg + name "ovl_Obj_Entotu" + compress + include "build/src/overlays/actors/ovl_Obj_Entotu/z_obj_entotu.o" + include "build/data/ovl_Obj_Entotu/ovl_Obj_Entotu.data.o" + include "build/data/ovl_Obj_Entotu/ovl_Obj_Entotu.reloc.o" +endseg + +beginseg + name "ovl_Obj_Bell" + compress + include "build/src/overlays/actors/ovl_Obj_Bell/z_obj_bell.o" + include "build/src/overlays/actors/ovl_Obj_Bell/ovl_Obj_Bell_reloc.o" +endseg + +beginseg + name "ovl_En_Syateki_Okuta" + compress + include "build/src/overlays/actors/ovl_En_Syateki_Okuta/z_en_syateki_okuta.o" + include "build/data/ovl_En_Syateki_Okuta/ovl_En_Syateki_Okuta.data.o" + include "build/data/ovl_En_Syateki_Okuta/ovl_En_Syateki_Okuta.reloc.o" +endseg + +beginseg + name "ovl_Obj_Shutter" + compress + include "build/src/overlays/actors/ovl_Obj_Shutter/z_obj_shutter.o" + include "build/data/ovl_Obj_Shutter/ovl_Obj_Shutter.data.o" + include "build/data/ovl_Obj_Shutter/ovl_Obj_Shutter.reloc.o" +endseg + +beginseg + name "ovl_Dm_Zl" + compress + include "build/src/overlays/actors/ovl_Dm_Zl/z_dm_zl.o" + include "build/data/ovl_Dm_Zl/ovl_Dm_Zl.data.o" + include "build/data/ovl_Dm_Zl/ovl_Dm_Zl.reloc.o" +endseg + +beginseg + name "ovl_En_Ru" + compress + include "build/src/overlays/actors/ovl_En_Ru/z_en_ru.o" + include "build/data/ovl_En_Ru/ovl_En_Ru.data.o" + include "build/data/ovl_En_Ru/ovl_En_Ru.reloc.o" +endseg + +beginseg + name "ovl_En_Elfgrp" + compress + include "build/src/overlays/actors/ovl_En_Elfgrp/z_en_elfgrp.o" + include "build/data/ovl_En_Elfgrp/ovl_En_Elfgrp.data.o" + include "build/data/ovl_En_Elfgrp/ovl_En_Elfgrp.reloc.o" +endseg + +beginseg + name "ovl_Dm_Tsg" + compress + include "build/src/overlays/actors/ovl_Dm_Tsg/z_dm_tsg.o" + include "build/data/ovl_Dm_Tsg/ovl_Dm_Tsg.data.o" + include "build/data/ovl_Dm_Tsg/ovl_Dm_Tsg.reloc.o" +endseg + +beginseg + name "ovl_En_Baguo" + compress + include "build/src/overlays/actors/ovl_En_Baguo/z_en_baguo.o" + include "build/data/ovl_En_Baguo/ovl_En_Baguo.data.o" + include "build/data/ovl_En_Baguo/ovl_En_Baguo.reloc.o" +endseg + +beginseg + name "ovl_Obj_Vspinyroll" + compress + include "build/src/overlays/actors/ovl_Obj_Vspinyroll/z_obj_vspinyroll.o" + include "build/data/ovl_Obj_Vspinyroll/ovl_Obj_Vspinyroll.data.o" + include "build/data/ovl_Obj_Vspinyroll/ovl_Obj_Vspinyroll.reloc.o" +endseg + +beginseg + name "ovl_Obj_Smork" + compress + include "build/src/overlays/actors/ovl_Obj_Smork/z_obj_smork.o" + include "build/data/ovl_Obj_Smork/ovl_Obj_Smork.data.o" + include "build/data/ovl_Obj_Smork/ovl_Obj_Smork.reloc.o" +endseg + +beginseg + name "ovl_En_Test2" + compress + include "build/src/overlays/actors/ovl_En_Test2/z_en_test2.o" + include "build/data/ovl_En_Test2/ovl_En_Test2.data.o" + include "build/data/ovl_En_Test2/ovl_En_Test2.reloc.o" +endseg + +beginseg + name "ovl_En_Test3" + compress + include "build/src/overlays/actors/ovl_En_Test3/z_en_test3.o" + include "build/data/ovl_En_Test3/ovl_En_Test3.data.o" + include "build/data/ovl_En_Test3/ovl_En_Test3.bss.o" + include "build/data/ovl_En_Test3/ovl_En_Test3.reloc.o" +endseg + +beginseg + name "ovl_En_Test4" + compress + include "build/src/overlays/actors/ovl_En_Test4/z_en_test4.o" + include "build/data/ovl_En_Test4/ovl_En_Test4.data.o" + include "build/data/ovl_En_Test4/ovl_En_Test4.bss.o" + include "build/data/ovl_En_Test4/ovl_En_Test4.reloc.o" +endseg + +beginseg + name "ovl_En_Bat" + compress + include "build/src/overlays/actors/ovl_En_Bat/z_en_bat.o" + include "build/data/ovl_En_Bat/ovl_En_Bat.data.o" + include "build/data/ovl_En_Bat/ovl_En_Bat.bss.o" + include "build/data/ovl_En_Bat/ovl_En_Bat.reloc.o" +endseg + +beginseg + name "ovl_En_Sekihi" + compress + include "build/src/overlays/actors/ovl_En_Sekihi/z_en_sekihi.o" + include "build/data/ovl_En_Sekihi/ovl_En_Sekihi.data.o" + include "build/data/ovl_En_Sekihi/ovl_En_Sekihi.reloc.o" +endseg + +beginseg + name "ovl_En_Wiz" + compress + include "build/src/overlays/actors/ovl_En_Wiz/z_en_wiz.o" + include "build/data/ovl_En_Wiz/ovl_En_Wiz.data.o" + include "build/data/ovl_En_Wiz/ovl_En_Wiz.reloc.o" +endseg + +beginseg + name "ovl_En_Wiz_Brock" + compress + include "build/src/overlays/actors/ovl_En_Wiz_Brock/z_en_wiz_brock.o" + include "build/data/ovl_En_Wiz_Brock/ovl_En_Wiz_Brock.data.o" + include "build/data/ovl_En_Wiz_Brock/ovl_En_Wiz_Brock.reloc.o" +endseg + +beginseg + name "ovl_En_Wiz_Fire" + compress + include "build/src/overlays/actors/ovl_En_Wiz_Fire/z_en_wiz_fire.o" + include "build/data/ovl_En_Wiz_Fire/ovl_En_Wiz_Fire.data.o" + include "build/data/ovl_En_Wiz_Fire/ovl_En_Wiz_Fire.reloc.o" +endseg + +beginseg + name "ovl_Eff_Change" + compress + include "build/src/overlays/actors/ovl_Eff_Change/z_eff_change.o" + include "build/data/ovl_Eff_Change/ovl_Eff_Change.data.o" + include "build/data/ovl_Eff_Change/ovl_Eff_Change.reloc.o" +endseg + +beginseg + name "ovl_Dm_Statue" + compress + include "build/src/overlays/actors/ovl_Dm_Statue/z_dm_statue.o" + include "build/src/overlays/actors/ovl_Dm_Statue/ovl_Dm_Statue_reloc.o" +endseg + +beginseg + name "ovl_Obj_Fireshield" + compress + include "build/src/overlays/actors/ovl_Obj_Fireshield/z_obj_fireshield.o" + include "build/data/ovl_Obj_Fireshield/ovl_Obj_Fireshield.data.o" + include "build/data/ovl_Obj_Fireshield/ovl_Obj_Fireshield.reloc.o" +endseg + +beginseg + name "ovl_Bg_Ladder" + compress + include "build/src/overlays/actors/ovl_Bg_Ladder/z_bg_ladder.o" + include "build/src/overlays/actors/ovl_Bg_Ladder/ovl_Bg_Ladder_reloc.o" +endseg + +beginseg + name "ovl_En_Mkk" + compress + include "build/src/overlays/actors/ovl_En_Mkk/z_en_mkk.o" + include "build/data/ovl_En_Mkk/ovl_En_Mkk.data.o" + include "build/data/ovl_En_Mkk/ovl_En_Mkk.reloc.o" +endseg + +beginseg + name "ovl_Demo_Getitem" + compress + include "build/src/overlays/actors/ovl_Demo_Getitem/z_demo_getitem.o" + include "build/data/ovl_Demo_Getitem/ovl_Demo_Getitem.data.o" + include "build/data/ovl_Demo_Getitem/ovl_Demo_Getitem.reloc.o" +endseg + +beginseg + name "ovl_En_Dnb" + compress + include "build/src/overlays/actors/ovl_En_Dnb/z_en_dnb.o" + include "build/data/ovl_En_Dnb/ovl_En_Dnb.data.o" + include "build/data/ovl_En_Dnb/ovl_En_Dnb.reloc.o" +endseg + +beginseg + name "ovl_En_Dnh" + compress + include "build/src/overlays/actors/ovl_En_Dnh/z_en_dnh.o" + include "build/data/ovl_En_Dnh/ovl_En_Dnh.data.o" + include "build/data/ovl_En_Dnh/ovl_En_Dnh.reloc.o" +endseg + +beginseg + name "ovl_En_Dnk" + compress + include "build/src/overlays/actors/ovl_En_Dnk/z_en_dnk.o" + include "build/data/ovl_En_Dnk/ovl_En_Dnk.data.o" + include "build/data/ovl_En_Dnk/ovl_En_Dnk.reloc.o" +endseg + +beginseg + name "ovl_En_Dnq" + compress + include "build/src/overlays/actors/ovl_En_Dnq/z_en_dnq.o" + include "build/data/ovl_En_Dnq/ovl_En_Dnq.data.o" + include "build/data/ovl_En_Dnq/ovl_En_Dnq.reloc.o" +endseg + +beginseg + name "ovl_Bg_Keikoku_Saku" + compress + include "build/src/overlays/actors/ovl_Bg_Keikoku_Saku/z_bg_keikoku_saku.o" + include "build/data/ovl_Bg_Keikoku_Saku/ovl_Bg_Keikoku_Saku.data.o" + include "build/data/ovl_Bg_Keikoku_Saku/ovl_Bg_Keikoku_Saku.reloc.o" +endseg + +beginseg + name "ovl_Obj_Hugebombiwa" + compress + include "build/src/overlays/actors/ovl_Obj_Hugebombiwa/z_obj_hugebombiwa.o" + include "build/data/ovl_Obj_Hugebombiwa/ovl_Obj_Hugebombiwa.data.o" + include "build/data/ovl_Obj_Hugebombiwa/ovl_Obj_Hugebombiwa.reloc.o" +endseg + +beginseg + name "ovl_En_Firefly2" + compress + include "build/src/overlays/actors/ovl_En_Firefly2/z_en_firefly2.o" + include "build/src/overlays/actors/ovl_En_Firefly2/ovl_En_Firefly2_reloc.o" +endseg + +beginseg + name "ovl_En_Rat" + compress + include "build/src/overlays/actors/ovl_En_Rat/z_en_rat.o" + include "build/data/ovl_En_Rat/ovl_En_Rat.data.o" + include "build/data/ovl_En_Rat/ovl_En_Rat.reloc.o" +endseg + +beginseg + name "ovl_En_Water_Effect" + compress + include "build/src/overlays/actors/ovl_En_Water_Effect/z_en_water_effect.o" + include "build/data/ovl_En_Water_Effect/ovl_En_Water_Effect.data.o" + include "build/data/ovl_En_Water_Effect/ovl_En_Water_Effect.reloc.o" +endseg + +beginseg + name "ovl_En_Kusa2" + compress + include "build/src/overlays/actors/ovl_En_Kusa2/z_en_kusa2.o" + include "build/data/ovl_En_Kusa2/ovl_En_Kusa2.data.o" + include "build/data/ovl_En_Kusa2/ovl_En_Kusa2.bss.o" + include "build/data/ovl_En_Kusa2/ovl_En_Kusa2.reloc.o" +endseg + +beginseg + name "ovl_Bg_Spout_Fire" + compress + include "build/src/overlays/actors/ovl_Bg_Spout_Fire/z_bg_spout_fire.o" + include "build/data/ovl_Bg_Spout_Fire/ovl_Bg_Spout_Fire.data.o" + include "build/data/ovl_Bg_Spout_Fire/ovl_Bg_Spout_Fire.reloc.o" +endseg + +beginseg + name "ovl_En_Dy_Extra" + compress + include "build/src/overlays/actors/ovl_En_Dy_Extra/z_en_dy_extra.o" + include "build/src/overlays/actors/ovl_En_Dy_Extra/ovl_En_Dy_Extra_reloc.o" +endseg + +beginseg + name "ovl_En_Bal" + compress + include "build/src/overlays/actors/ovl_En_Bal/z_en_bal.o" + include "build/data/ovl_En_Bal/ovl_En_Bal.data.o" + include "build/data/ovl_En_Bal/ovl_En_Bal.reloc.o" +endseg + +beginseg + name "ovl_En_Ginko_Man" + compress + include "build/src/overlays/actors/ovl_En_Ginko_Man/z_en_ginko_man.o" + include "build/src/overlays/actors/ovl_En_Ginko_Man/ovl_En_Ginko_Man_reloc.o" +endseg + +beginseg + name "ovl_En_Warp_Uzu" + compress + include "build/src/overlays/actors/ovl_En_Warp_Uzu/z_en_warp_uzu.o" + include "build/src/overlays/actors/ovl_En_Warp_Uzu/ovl_En_Warp_Uzu_reloc.o" +endseg + +beginseg + name "ovl_Obj_Driftice" + compress + include "build/src/overlays/actors/ovl_Obj_Driftice/z_obj_driftice.o" + include "build/data/ovl_Obj_Driftice/ovl_Obj_Driftice.data.o" + include "build/data/ovl_Obj_Driftice/ovl_Obj_Driftice.reloc.o" +endseg + +beginseg + name "ovl_En_Look_Nuts" + compress + include "build/src/overlays/actors/ovl_En_Look_Nuts/z_en_look_nuts.o" + include "build/data/ovl_En_Look_Nuts/ovl_En_Look_Nuts.data.o" + include "build/data/ovl_En_Look_Nuts/ovl_En_Look_Nuts.reloc.o" +endseg + +beginseg + name "ovl_En_Mushi2" + compress + include "build/src/overlays/actors/ovl_En_Mushi2/z_en_mushi2.o" + include "build/data/ovl_En_Mushi2/ovl_En_Mushi2.data.o" + include "build/data/ovl_En_Mushi2/ovl_En_Mushi2.reloc.o" +endseg + +beginseg + name "ovl_En_Fall" + compress + include "build/src/overlays/actors/ovl_En_Fall/z_en_fall.o" + include "build/data/ovl_En_Fall/ovl_En_Fall.data.o" + include "build/data/ovl_En_Fall/ovl_En_Fall.bss.o" + include "build/data/ovl_En_Fall/ovl_En_Fall.reloc.o" +endseg + +beginseg + name "ovl_En_Mm3" + compress + include "build/src/overlays/actors/ovl_En_Mm3/z_en_mm3.o" + include "build/data/ovl_En_Mm3/ovl_En_Mm3.data.o" + include "build/data/ovl_En_Mm3/ovl_En_Mm3.reloc.o" +endseg + +beginseg + name "ovl_Bg_Crace_Movebg" + compress + include "build/src/overlays/actors/ovl_Bg_Crace_Movebg/z_bg_crace_movebg.o" + include "build/data/ovl_Bg_Crace_Movebg/ovl_Bg_Crace_Movebg.data.o" + include "build/data/ovl_Bg_Crace_Movebg/ovl_Bg_Crace_Movebg.bss.o" + include "build/data/ovl_Bg_Crace_Movebg/ovl_Bg_Crace_Movebg.reloc.o" +endseg + +beginseg + name "ovl_En_Dno" + compress + include "build/src/overlays/actors/ovl_En_Dno/z_en_dno.o" + include "build/data/ovl_En_Dno/ovl_En_Dno.data.o" + include "build/data/ovl_En_Dno/ovl_En_Dno.reloc.o" +endseg + +beginseg + name "ovl_En_Pr2" + compress + include "build/src/overlays/actors/ovl_En_Pr2/z_en_pr2.o" + include "build/data/ovl_En_Pr2/ovl_En_Pr2.data.o" + include "build/data/ovl_En_Pr2/ovl_En_Pr2.reloc.o" +endseg + +beginseg + name "ovl_En_Prz" + compress + include "build/src/overlays/actors/ovl_En_Prz/z_en_prz.o" + include "build/data/ovl_En_Prz/ovl_En_Prz.data.o" + include "build/data/ovl_En_Prz/ovl_En_Prz.reloc.o" +endseg + +beginseg + name "ovl_En_Jso2" + compress + include "build/src/overlays/actors/ovl_En_Jso2/z_en_jso2.o" + include "build/data/ovl_En_Jso2/ovl_En_Jso2.data.o" + include "build/data/ovl_En_Jso2/ovl_En_Jso2.reloc.o" +endseg + +beginseg + name "ovl_Obj_Etcetera" + compress + include "build/src/overlays/actors/ovl_Obj_Etcetera/z_obj_etcetera.o" + include "build/data/ovl_Obj_Etcetera/ovl_Obj_Etcetera.data.o" + include "build/data/ovl_Obj_Etcetera/ovl_Obj_Etcetera.reloc.o" +endseg + +beginseg + name "ovl_En_Egol" + compress + include "build/src/overlays/actors/ovl_En_Egol/z_en_egol.o" + include "build/data/ovl_En_Egol/ovl_En_Egol.data.o" + include "build/data/ovl_En_Egol/ovl_En_Egol.reloc.o" +endseg + +beginseg + name "ovl_Obj_Mine" + compress + include "build/src/overlays/actors/ovl_Obj_Mine/z_obj_mine.o" + include "build/data/ovl_Obj_Mine/ovl_Obj_Mine.data.o" + include "build/data/ovl_Obj_Mine/ovl_Obj_Mine.bss.o" + include "build/data/ovl_Obj_Mine/ovl_Obj_Mine.reloc.o" +endseg + +beginseg + name "ovl_Obj_Purify" + compress + include "build/src/overlays/actors/ovl_Obj_Purify/z_obj_purify.o" + include "build/data/ovl_Obj_Purify/ovl_Obj_Purify.data.o" + include "build/data/ovl_Obj_Purify/ovl_Obj_Purify.reloc.o" +endseg + +beginseg + name "ovl_En_Tru" + compress + include "build/src/overlays/actors/ovl_En_Tru/z_en_tru.o" + include "build/data/ovl_En_Tru/ovl_En_Tru.data.o" + include "build/data/ovl_En_Tru/ovl_En_Tru.reloc.o" +endseg + +beginseg + name "ovl_En_Trt" + compress + include "build/src/overlays/actors/ovl_En_Trt/z_en_trt.o" + include "build/src/overlays/actors/ovl_En_Trt/ovl_En_Trt_reloc.o" +endseg + +beginseg + name "ovl_En_Test5" + compress + include "build/src/overlays/actors/ovl_En_Test5/z_en_test5.o" + include "build/data/ovl_En_Test5/ovl_En_Test5.data.o" + include "build/data/ovl_En_Test5/ovl_En_Test5.reloc.o" +endseg + +beginseg + name "ovl_En_Test6" + compress + include "build/src/overlays/actors/ovl_En_Test6/z_en_test6.o" + include "build/data/ovl_En_Test6/ovl_En_Test6.data.o" + include "build/data/ovl_En_Test6/ovl_En_Test6.bss.o" + include "build/data/ovl_En_Test6/ovl_En_Test6.reloc.o" +endseg + +beginseg + name "ovl_En_Az" + compress + include "build/src/overlays/actors/ovl_En_Az/z_en_az.o" + include "build/data/ovl_En_Az/ovl_En_Az.data.o" + include "build/data/ovl_En_Az/ovl_En_Az.bss.o" + include "build/data/ovl_En_Az/ovl_En_Az.reloc.o" +endseg + +beginseg + name "ovl_En_Estone" + compress + include "build/src/overlays/actors/ovl_En_Estone/z_en_estone.o" + include "build/data/ovl_En_Estone/ovl_En_Estone.data.o" + include "build/data/ovl_En_Estone/ovl_En_Estone.reloc.o" +endseg + +beginseg + name "ovl_Bg_Hakugin_Post" + compress + include "build/src/overlays/actors/ovl_Bg_Hakugin_Post/z_bg_hakugin_post.o" + include "build/data/ovl_Bg_Hakugin_Post/ovl_Bg_Hakugin_Post.data.o" + include "build/data/ovl_Bg_Hakugin_Post/ovl_Bg_Hakugin_Post.bss.o" + include "build/data/ovl_Bg_Hakugin_Post/ovl_Bg_Hakugin_Post.reloc.o" +endseg + +beginseg + name "ovl_Dm_Opstage" + compress + include "build/src/overlays/actors/ovl_Dm_Opstage/z_dm_opstage.o" + include "build/data/ovl_Dm_Opstage/ovl_Dm_Opstage.data.o" + include "build/data/ovl_Dm_Opstage/ovl_Dm_Opstage.reloc.o" +endseg + +beginseg + name "ovl_Dm_Stk" + compress + include "build/src/overlays/actors/ovl_Dm_Stk/z_dm_stk.o" + include "build/data/ovl_Dm_Stk/ovl_Dm_Stk.data.o" + include "build/data/ovl_Dm_Stk/ovl_Dm_Stk.reloc.o" +endseg + +beginseg + name "ovl_Dm_Char00" + compress + include "build/src/overlays/actors/ovl_Dm_Char00/z_dm_char00.o" + include "build/data/ovl_Dm_Char00/ovl_Dm_Char00.data.o" + include "build/data/ovl_Dm_Char00/ovl_Dm_Char00.reloc.o" +endseg + +beginseg + name "ovl_Dm_Char01" + compress + include "build/src/overlays/actors/ovl_Dm_Char01/z_dm_char01.o" + include "build/data/ovl_Dm_Char01/ovl_Dm_Char01.data.o" + include "build/data/ovl_Dm_Char01/ovl_Dm_Char01.bss.o" + include "build/data/ovl_Dm_Char01/ovl_Dm_Char01.reloc.o" +endseg + +beginseg + name "ovl_Dm_Char02" + compress + include "build/src/overlays/actors/ovl_Dm_Char02/z_dm_char02.o" + include "build/data/ovl_Dm_Char02/ovl_Dm_Char02.data.o" + include "build/data/ovl_Dm_Char02/ovl_Dm_Char02.reloc.o" +endseg + +beginseg + name "ovl_Dm_Char03" + compress + include "build/src/overlays/actors/ovl_Dm_Char03/z_dm_char03.o" + include "build/data/ovl_Dm_Char03/ovl_Dm_Char03.data.o" + include "build/data/ovl_Dm_Char03/ovl_Dm_Char03.reloc.o" +endseg + +beginseg + name "ovl_Dm_Char04" + compress + include "build/src/overlays/actors/ovl_Dm_Char04/z_dm_char04.o" + include "build/data/ovl_Dm_Char04/ovl_Dm_Char04.data.o" + include "build/data/ovl_Dm_Char04/ovl_Dm_Char04.reloc.o" +endseg + +beginseg + name "ovl_Dm_Char05" + compress + include "build/src/overlays/actors/ovl_Dm_Char05/z_dm_char05.o" + include "build/data/ovl_Dm_Char05/ovl_Dm_Char05.data.o" + include "build/data/ovl_Dm_Char05/ovl_Dm_Char05.reloc.o" +endseg + +beginseg + name "ovl_Dm_Char06" + compress + include "build/src/overlays/actors/ovl_Dm_Char06/z_dm_char06.o" + include "build/data/ovl_Dm_Char06/ovl_Dm_Char06.data.o" + include "build/data/ovl_Dm_Char06/ovl_Dm_Char06.reloc.o" +endseg + +beginseg + name "ovl_Dm_Char07" + compress + include "build/src/overlays/actors/ovl_Dm_Char07/z_dm_char07.o" + include "build/src/overlays/actors/ovl_Dm_Char07/ovl_Dm_Char07_reloc.o" +endseg + +beginseg + name "ovl_Dm_Char08" + compress + include "build/src/overlays/actors/ovl_Dm_Char08/z_dm_char08.o" + include "build/data/ovl_Dm_Char08/ovl_Dm_Char08.data.o" + include "build/data/ovl_Dm_Char08/ovl_Dm_Char08.reloc.o" +endseg + +beginseg + name "ovl_Dm_Char09" + compress + include "build/src/overlays/actors/ovl_Dm_Char09/z_dm_char09.o" + include "build/data/ovl_Dm_Char09/ovl_Dm_Char09.data.o" + include "build/data/ovl_Dm_Char09/ovl_Dm_Char09.reloc.o" +endseg + +beginseg + name "ovl_Obj_Tokeidai" + compress + include "build/src/overlays/actors/ovl_Obj_Tokeidai/z_obj_tokeidai.o" + include "build/data/ovl_Obj_Tokeidai/ovl_Obj_Tokeidai.data.o" + include "build/data/ovl_Obj_Tokeidai/ovl_Obj_Tokeidai.reloc.o" +endseg + +beginseg + name "ovl_En_Mnk" + compress + include "build/src/overlays/actors/ovl_En_Mnk/z_en_mnk.o" + include "build/data/ovl_En_Mnk/ovl_En_Mnk.data.o" + include "build/data/ovl_En_Mnk/ovl_En_Mnk.reloc.o" +endseg + +beginseg + name "ovl_En_Egblock" + compress + include "build/src/overlays/actors/ovl_En_Egblock/z_en_egblock.o" + include "build/data/ovl_En_Egblock/ovl_En_Egblock.data.o" + include "build/data/ovl_En_Egblock/ovl_En_Egblock.reloc.o" +endseg + +beginseg + name "ovl_En_Guard_Nuts" + compress + include "build/src/overlays/actors/ovl_En_Guard_Nuts/z_en_guard_nuts.o" + include "build/data/ovl_En_Guard_Nuts/ovl_En_Guard_Nuts.data.o" + include "build/data/ovl_En_Guard_Nuts/ovl_En_Guard_Nuts.reloc.o" +endseg + +beginseg + name "ovl_Bg_Hakugin_Bombwall" + compress + include "build/src/overlays/actors/ovl_Bg_Hakugin_Bombwall/z_bg_hakugin_bombwall.o" + include "build/data/ovl_Bg_Hakugin_Bombwall/ovl_Bg_Hakugin_Bombwall.data.o" + include "build/data/ovl_Bg_Hakugin_Bombwall/ovl_Bg_Hakugin_Bombwall.reloc.o" +endseg + +beginseg + name "ovl_Obj_Tokei_Tobira" + compress + include "build/src/overlays/actors/ovl_Obj_Tokei_Tobira/z_obj_tokei_tobira.o" + include "build/data/ovl_Obj_Tokei_Tobira/ovl_Obj_Tokei_Tobira.data.o" + include "build/data/ovl_Obj_Tokei_Tobira/ovl_Obj_Tokei_Tobira.reloc.o" +endseg + +beginseg + name "ovl_Bg_Hakugin_Elvpole" + compress + include "build/src/overlays/actors/ovl_Bg_Hakugin_Elvpole/z_bg_hakugin_elvpole.o" + include "build/data/ovl_Bg_Hakugin_Elvpole/ovl_Bg_Hakugin_Elvpole.data.o" + include "build/data/ovl_Bg_Hakugin_Elvpole/ovl_Bg_Hakugin_Elvpole.reloc.o" +endseg + +beginseg + name "ovl_En_Ma4" + compress + include "build/src/overlays/actors/ovl_En_Ma4/z_en_ma4.o" + include "build/src/overlays/actors/ovl_En_Ma4/ovl_En_Ma4_reloc.o" +endseg + +beginseg + name "ovl_En_Twig" + compress + include "build/src/overlays/actors/ovl_En_Twig/z_en_twig.o" + include "build/data/ovl_En_Twig/ovl_En_Twig.data.o" + include "build/data/ovl_En_Twig/ovl_En_Twig.bss.o" + include "build/data/ovl_En_Twig/ovl_En_Twig.reloc.o" +endseg + +beginseg + name "ovl_En_Po_Fusen" + compress + include "build/src/overlays/actors/ovl_En_Po_Fusen/z_en_po_fusen.o" + include "build/src/overlays/actors/ovl_En_Po_Fusen/ovl_En_Po_Fusen_reloc.o" +endseg + +beginseg + name "ovl_En_Door_Etc" + compress + include "build/src/overlays/actors/ovl_En_Door_Etc/z_en_door_etc.o" + include "build/data/ovl_En_Door_Etc/ovl_En_Door_Etc.data.o" + include "build/data/ovl_En_Door_Etc/ovl_En_Door_Etc.reloc.o" +endseg + +beginseg + name "ovl_En_Bigokuta" + compress + include "build/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.o" + include "build/data/ovl_En_Bigokuta/ovl_En_Bigokuta.data.o" + include "build/data/ovl_En_Bigokuta/ovl_En_Bigokuta.reloc.o" +endseg + +beginseg + name "ovl_Bg_Icefloe" + compress + include "build/src/overlays/actors/ovl_Bg_Icefloe/z_bg_icefloe.o" + include "build/data/ovl_Bg_Icefloe/ovl_Bg_Icefloe.data.o" + include "build/data/ovl_Bg_Icefloe/ovl_Bg_Icefloe.bss.o" + include "build/data/ovl_Bg_Icefloe/ovl_Bg_Icefloe.reloc.o" +endseg + +beginseg + name "ovl_fbdemo_triforce" + compress + include "build/src/overlays/fbdemos/ovl_fbdemo_triforce/z_fbdemo_triforce.o" + include "build/data/ovl_fbdemo_triforce/ovl_fbdemo_triforce.data.o" + include "build/data/ovl_fbdemo_triforce/ovl_fbdemo_triforce.reloc.o" +endseg + +beginseg + name "ovl_fbdemo_wipe1" + compress + include "build/src/overlays/fbdemos/ovl_fbdemo_wipe1/z_fbdemo_wipe1.o" + include "build/data/ovl_fbdemo_wipe1/ovl_fbdemo_wipe1.data.o" + include "build/data/ovl_fbdemo_wipe1/ovl_fbdemo_wipe1.reloc.o" +endseg + +beginseg + name "ovl_fbdemo_wipe3" + compress + include "build/src/overlays/fbdemos/ovl_fbdemo_wipe3/z_fbdemo_wipe3.o" + include "build/data/ovl_fbdemo_wipe3/ovl_fbdemo_wipe3.data.o" + include "build/data/ovl_fbdemo_wipe3/ovl_fbdemo_wipe3.reloc.o" +endseg + +beginseg + name "ovl_fbdemo_wipe4" + compress + include "build/src/overlays/fbdemos/ovl_fbdemo_wipe4/z_fbdemo_wipe4.o" + include "build/data/ovl_fbdemo_wipe4/ovl_fbdemo_wipe4.data.o" + include "build/data/ovl_fbdemo_wipe4/ovl_fbdemo_wipe4.reloc.o" +endseg + +beginseg + name "ovl_fbdemo_wipe5" + compress + include "build/src/overlays/fbdemos/ovl_fbdemo_wipe5/z_fbdemo_wipe5.o" + include "build/data/ovl_fbdemo_wipe5/ovl_fbdemo_wipe5.data.o" + include "build/data/ovl_fbdemo_wipe5/ovl_fbdemo_wipe5.reloc.o" +endseg + +beginseg + name "ovl_Effect_Ss_Sbn" + compress + include "build/src/overlays/effects/ovl_Effect_Ss_Sbn/z_eff_ss_sbn.o" + include "build/data/ovl_Effect_Ss_Sbn/ovl_Effect_Ss_Sbn.data.o" + include "build/data/ovl_Effect_Ss_Sbn/ovl_Effect_Ss_Sbn.reloc.o" +endseg + +beginseg + name "ovl_Obj_Ocarinalift" + compress + include "build/src/overlays/actors/ovl_Obj_Ocarinalift/z_obj_ocarinalift.o" + include "build/data/ovl_Obj_Ocarinalift/ovl_Obj_Ocarinalift.data.o" + include "build/data/ovl_Obj_Ocarinalift/ovl_Obj_Ocarinalift.reloc.o" +endseg + +beginseg + name "ovl_En_Time_Tag" + compress + include "build/src/overlays/actors/ovl_En_Time_Tag/z_en_time_tag.o" + include "build/data/ovl_En_Time_Tag/ovl_En_Time_Tag.data.o" + include "build/data/ovl_En_Time_Tag/ovl_En_Time_Tag.reloc.o" +endseg + +beginseg + name "ovl_Bg_Open_Shutter" + compress + include "build/src/overlays/actors/ovl_Bg_Open_Shutter/z_bg_open_shutter.o" + include "build/data/ovl_Bg_Open_Shutter/ovl_Bg_Open_Shutter.data.o" + include "build/data/ovl_Bg_Open_Shutter/ovl_Bg_Open_Shutter.reloc.o" +endseg + +beginseg + name "ovl_Bg_Open_Spot" + compress + include "build/src/overlays/actors/ovl_Bg_Open_Spot/z_bg_open_spot.o" + include "build/data/ovl_Bg_Open_Spot/ovl_Bg_Open_Spot.data.o" + include "build/data/ovl_Bg_Open_Spot/ovl_Bg_Open_Spot.reloc.o" +endseg + +beginseg + name "ovl_Bg_Fu_Kaiten" + compress + include "build/src/overlays/actors/ovl_Bg_Fu_Kaiten/z_bg_fu_kaiten.o" + include "build/src/overlays/actors/ovl_Bg_Fu_Kaiten/ovl_Bg_Fu_Kaiten_reloc.o" +endseg + +beginseg + name "ovl_Obj_Aqua" + compress + include "build/src/overlays/actors/ovl_Obj_Aqua/z_obj_aqua.o" + include "build/data/ovl_Obj_Aqua/ovl_Obj_Aqua.data.o" + include "build/data/ovl_Obj_Aqua/ovl_Obj_Aqua.reloc.o" +endseg + +beginseg + name "ovl_En_Elforg" + compress + include "build/src/overlays/actors/ovl_En_Elforg/z_en_elforg.o" + include "build/data/ovl_En_Elforg/ovl_En_Elforg.data.o" + include "build/data/ovl_En_Elforg/ovl_En_Elforg.reloc.o" +endseg + +beginseg + name "ovl_En_Elfbub" + compress + include "build/src/overlays/actors/ovl_En_Elfbub/z_en_elfbub.o" + include "build/data/ovl_En_Elfbub/ovl_En_Elfbub.data.o" + include "build/data/ovl_En_Elfbub/ovl_En_Elfbub.reloc.o" +endseg + +beginseg + name "ovl_En_Fu_Mato" + compress + include "build/src/overlays/actors/ovl_En_Fu_Mato/z_en_fu_mato.o" + include "build/data/ovl_En_Fu_Mato/ovl_En_Fu_Mato.data.o" + include "build/data/ovl_En_Fu_Mato/ovl_En_Fu_Mato.reloc.o" +endseg + +beginseg + name "ovl_En_Fu_Kago" + compress + include "build/src/overlays/actors/ovl_En_Fu_Kago/z_en_fu_kago.o" + include "build/data/ovl_En_Fu_Kago/ovl_En_Fu_Kago.data.o" + include "build/data/ovl_En_Fu_Kago/ovl_En_Fu_Kago.reloc.o" +endseg + +beginseg + name "ovl_En_Osn" + compress + include "build/src/overlays/actors/ovl_En_Osn/z_en_osn.o" + include "build/data/ovl_En_Osn/ovl_En_Osn.data.o" + include "build/data/ovl_En_Osn/ovl_En_Osn.reloc.o" +endseg + +beginseg + name "ovl_Bg_Ctower_Gear" + compress + include "build/src/overlays/actors/ovl_Bg_Ctower_Gear/z_bg_ctower_gear.o" + include "build/src/overlays/actors/ovl_Bg_Ctower_Gear/ovl_Bg_Ctower_Gear_reloc.o" +endseg + +beginseg + name "ovl_En_Trt2" + compress + include "build/src/overlays/actors/ovl_En_Trt2/z_en_trt2.o" + include "build/data/ovl_En_Trt2/ovl_En_Trt2.data.o" + include "build/data/ovl_En_Trt2/ovl_En_Trt2.reloc.o" +endseg + +beginseg + name "ovl_Obj_Tokei_Step" + compress + include "build/src/overlays/actors/ovl_Obj_Tokei_Step/z_obj_tokei_step.o" + include "build/src/overlays/actors/ovl_Obj_Tokei_Step/ovl_Obj_Tokei_Step_reloc.o" +endseg + +beginseg + name "ovl_Bg_Lotus" + compress + include "build/src/overlays/actors/ovl_Bg_Lotus/z_bg_lotus.o" + include "build/src/overlays/actors/ovl_Bg_Lotus/ovl_Bg_Lotus_reloc.o" +endseg + +beginseg + name "ovl_En_Kame" + compress + include "build/src/overlays/actors/ovl_En_Kame/z_en_kame.o" + include "build/data/ovl_En_Kame/ovl_En_Kame.data.o" + include "build/data/ovl_En_Kame/ovl_En_Kame.reloc.o" +endseg + +beginseg + name "ovl_Obj_Takaraya_Wall" + compress + include "build/src/overlays/actors/ovl_Obj_Takaraya_Wall/z_obj_takaraya_wall.o" + include "build/data/ovl_Obj_Takaraya_Wall/ovl_Obj_Takaraya_Wall.data.o" + include "build/data/ovl_Obj_Takaraya_Wall/ovl_Obj_Takaraya_Wall.bss.o" + include "build/data/ovl_Obj_Takaraya_Wall/ovl_Obj_Takaraya_Wall.reloc.o" +endseg + +beginseg + name "ovl_Bg_Fu_Mizu" + compress + include "build/src/overlays/actors/ovl_Bg_Fu_Mizu/z_bg_fu_mizu.o" + include "build/data/ovl_Bg_Fu_Mizu/ovl_Bg_Fu_Mizu.data.o" + include "build/data/ovl_Bg_Fu_Mizu/ovl_Bg_Fu_Mizu.reloc.o" +endseg + +beginseg + name "ovl_En_Sellnuts" + compress + include "build/src/overlays/actors/ovl_En_Sellnuts/z_en_sellnuts.o" + include "build/data/ovl_En_Sellnuts/ovl_En_Sellnuts.data.o" + include "build/data/ovl_En_Sellnuts/ovl_En_Sellnuts.reloc.o" +endseg + +beginseg + name "ovl_Bg_Dkjail_Ivy" + compress + include "build/src/overlays/actors/ovl_Bg_Dkjail_Ivy/z_bg_dkjail_ivy.o" + include "build/data/ovl_Bg_Dkjail_Ivy/ovl_Bg_Dkjail_Ivy.data.o" + include "build/data/ovl_Bg_Dkjail_Ivy/ovl_Bg_Dkjail_Ivy.reloc.o" +endseg + +beginseg + name "ovl_Obj_Visiblock" + compress + include "build/src/overlays/actors/ovl_Obj_Visiblock/z_obj_visiblock.o" + include "build/src/overlays/actors/ovl_Obj_Visiblock/ovl_Obj_Visiblock_reloc.o" +endseg + +beginseg + name "ovl_En_Takaraya" + compress + include "build/src/overlays/actors/ovl_En_Takaraya/z_en_takaraya.o" + include "build/data/ovl_En_Takaraya/ovl_En_Takaraya.data.o" + include "build/data/ovl_En_Takaraya/ovl_En_Takaraya.reloc.o" +endseg + +beginseg + name "ovl_En_Tsn" + compress + include "build/src/overlays/actors/ovl_En_Tsn/z_en_tsn.o" + include "build/data/ovl_En_Tsn/ovl_En_Tsn.data.o" + include "build/data/ovl_En_Tsn/ovl_En_Tsn.reloc.o" +endseg + +beginseg + name "ovl_En_Ds2n" + compress + include "build/src/overlays/actors/ovl_En_Ds2n/z_en_ds2n.o" + include "build/data/ovl_En_Ds2n/ovl_En_Ds2n.data.o" + include "build/data/ovl_En_Ds2n/ovl_En_Ds2n.reloc.o" +endseg + +beginseg + name "ovl_En_Fsn" + compress + include "build/src/overlays/actors/ovl_En_Fsn/z_en_fsn.o" + include "build/src/overlays/actors/ovl_En_Fsn/ovl_En_Fsn_reloc.o" +endseg + +beginseg + name "ovl_En_Shn" + compress + include "build/src/overlays/actors/ovl_En_Shn/z_en_shn.o" + include "build/data/ovl_En_Shn/ovl_En_Shn.data.o" + include "build/data/ovl_En_Shn/ovl_En_Shn.reloc.o" +endseg + +beginseg + name "ovl_En_Stop_heishi" + compress + include "build/src/overlays/actors/ovl_En_Stop_heishi/z_en_stop_heishi.o" + include "build/data/ovl_En_Stop_heishi/ovl_En_Stop_heishi.data.o" + include "build/data/ovl_En_Stop_heishi/ovl_En_Stop_heishi.reloc.o" +endseg + +beginseg + name "ovl_Obj_Bigicicle" + compress + include "build/src/overlays/actors/ovl_Obj_Bigicicle/z_obj_bigicicle.o" + include "build/data/ovl_Obj_Bigicicle/ovl_Obj_Bigicicle.data.o" + include "build/data/ovl_Obj_Bigicicle/ovl_Obj_Bigicicle.reloc.o" +endseg + +beginseg + name "ovl_En_Lift_Nuts" + compress + include "build/src/overlays/actors/ovl_En_Lift_Nuts/z_en_lift_nuts.o" + include "build/data/ovl_En_Lift_Nuts/ovl_En_Lift_Nuts.data.o" + include "build/data/ovl_En_Lift_Nuts/ovl_En_Lift_Nuts.reloc.o" +endseg + +beginseg + name "ovl_En_Tk" + compress + include "build/src/overlays/actors/ovl_En_Tk/z_en_tk.o" + include "build/data/ovl_En_Tk/ovl_En_Tk.data.o" + include "build/data/ovl_En_Tk/ovl_En_Tk.bss.o" + include "build/data/ovl_En_Tk/ovl_En_Tk.reloc.o" +endseg + +beginseg + name "ovl_Bg_Market_Step" + compress + include "build/src/overlays/actors/ovl_Bg_Market_Step/z_bg_market_step.o" + include "build/src/overlays/actors/ovl_Bg_Market_Step/ovl_Bg_Market_Step_reloc.o" +endseg + +beginseg + name "ovl_Obj_Lupygamelift" + compress + include "build/src/overlays/actors/ovl_Obj_Lupygamelift/z_obj_lupygamelift.o" + include "build/data/ovl_Obj_Lupygamelift/ovl_Obj_Lupygamelift.data.o" + include "build/data/ovl_Obj_Lupygamelift/ovl_Obj_Lupygamelift.reloc.o" +endseg + +beginseg + name "ovl_En_Test7" + compress + include "build/src/overlays/actors/ovl_En_Test7/z_en_test7.o" + include "build/data/ovl_En_Test7/ovl_En_Test7.data.o" + include "build/data/ovl_En_Test7/ovl_En_Test7.bss.o" + include "build/data/ovl_En_Test7/ovl_En_Test7.reloc.o" +endseg + +beginseg + name "ovl_Obj_Lightblock" + compress + include "build/src/overlays/actors/ovl_Obj_Lightblock/z_obj_lightblock.o" + include "build/data/ovl_Obj_Lightblock/ovl_Obj_Lightblock.data.o" + include "build/data/ovl_Obj_Lightblock/ovl_Obj_Lightblock.reloc.o" +endseg + +beginseg + name "ovl_Mir_Ray2" + compress + include "build/src/overlays/actors/ovl_Mir_Ray2/z_mir_ray2.o" + include "build/data/ovl_Mir_Ray2/ovl_Mir_Ray2.data.o" + include "build/data/ovl_Mir_Ray2/ovl_Mir_Ray2.reloc.o" +endseg + +beginseg + name "ovl_En_Wdhand" + compress + include "build/src/overlays/actors/ovl_En_Wdhand/z_en_wdhand.o" + include "build/data/ovl_En_Wdhand/ovl_En_Wdhand.data.o" + include "build/data/ovl_En_Wdhand/ovl_En_Wdhand.reloc.o" +endseg + +beginseg + name "ovl_En_Gamelupy" + compress + include "build/src/overlays/actors/ovl_En_Gamelupy/z_en_gamelupy.o" + include "build/data/ovl_En_Gamelupy/ovl_En_Gamelupy.data.o" + include "build/data/ovl_En_Gamelupy/ovl_En_Gamelupy.reloc.o" +endseg + +beginseg + name "ovl_Bg_Danpei_Movebg" + compress + include "build/src/overlays/actors/ovl_Bg_Danpei_Movebg/z_bg_danpei_movebg.o" + include "build/data/ovl_Bg_Danpei_Movebg/ovl_Bg_Danpei_Movebg.data.o" + include "build/data/ovl_Bg_Danpei_Movebg/ovl_Bg_Danpei_Movebg.reloc.o" +endseg + +beginseg + name "ovl_En_Snowwd" + compress + include "build/src/overlays/actors/ovl_En_Snowwd/z_en_snowwd.o" + include "build/data/ovl_En_Snowwd/ovl_En_Snowwd.data.o" + include "build/data/ovl_En_Snowwd/ovl_En_Snowwd.reloc.o" +endseg + +beginseg + name "ovl_En_Pm" + compress + include "build/src/overlays/actors/ovl_En_Pm/z_en_pm.o" + include "build/data/ovl_En_Pm/ovl_En_Pm.data.o" + include "build/data/ovl_En_Pm/ovl_En_Pm.reloc.o" +endseg + +beginseg + name "ovl_En_Gakufu" + compress + include "build/src/overlays/actors/ovl_En_Gakufu/z_en_gakufu.o" + include "build/data/ovl_En_Gakufu/ovl_En_Gakufu.data.o" + include "build/data/ovl_En_Gakufu/ovl_En_Gakufu.reloc.o" +endseg + +beginseg + name "ovl_Elf_Msg4" + compress + include "build/src/overlays/actors/ovl_Elf_Msg4/z_elf_msg4.o" + include "build/data/ovl_Elf_Msg4/ovl_Elf_Msg4.data.o" + include "build/data/ovl_Elf_Msg4/ovl_Elf_Msg4.reloc.o" +endseg + +beginseg + name "ovl_Elf_Msg5" + compress + include "build/src/overlays/actors/ovl_Elf_Msg5/z_elf_msg5.o" + include "build/data/ovl_Elf_Msg5/ovl_Elf_Msg5.data.o" + include "build/data/ovl_Elf_Msg5/ovl_Elf_Msg5.reloc.o" +endseg + +beginseg + name "ovl_En_Col_Man" + compress + include "build/src/overlays/actors/ovl_En_Col_Man/z_en_col_man.o" + include "build/data/ovl_En_Col_Man/ovl_En_Col_Man.data.o" + include "build/data/ovl_En_Col_Man/ovl_En_Col_Man.reloc.o" +endseg + +beginseg + name "ovl_En_Talk_Gibud" + compress + include "build/src/overlays/actors/ovl_En_Talk_Gibud/z_en_talk_gibud.o" + include "build/data/ovl_En_Talk_Gibud/ovl_En_Talk_Gibud.data.o" + include "build/data/ovl_En_Talk_Gibud/ovl_En_Talk_Gibud.reloc.o" +endseg + +beginseg + name "ovl_En_Giant" + compress + include "build/src/overlays/actors/ovl_En_Giant/z_en_giant.o" + include "build/data/ovl_En_Giant/ovl_En_Giant.data.o" + include "build/data/ovl_En_Giant/ovl_En_Giant.reloc.o" +endseg + +beginseg + name "ovl_Obj_Snowball" + compress + include "build/src/overlays/actors/ovl_Obj_Snowball/z_obj_snowball.o" + include "build/data/ovl_Obj_Snowball/ovl_Obj_Snowball.data.o" + include "build/data/ovl_Obj_Snowball/ovl_Obj_Snowball.reloc.o" +endseg + +beginseg + name "ovl_Boss_Hakugin" + compress + include "build/src/overlays/actors/ovl_Boss_Hakugin/z_boss_hakugin.o" + include "build/data/ovl_Boss_Hakugin/ovl_Boss_Hakugin.data.o" + include "build/data/ovl_Boss_Hakugin/ovl_Boss_Hakugin.reloc.o" +endseg + +beginseg + name "ovl_En_Gb2" + compress + include "build/src/overlays/actors/ovl_En_Gb2/z_en_gb2.o" + include "build/data/ovl_En_Gb2/ovl_En_Gb2.data.o" + include "build/data/ovl_En_Gb2/ovl_En_Gb2.reloc.o" +endseg + +beginseg + name "ovl_En_Onpuman" + compress + include "build/src/overlays/actors/ovl_En_Onpuman/z_en_onpuman.o" + include "build/data/ovl_En_Onpuman/ovl_En_Onpuman.data.o" + include "build/data/ovl_En_Onpuman/ovl_En_Onpuman.reloc.o" +endseg + +beginseg + name "ovl_Bg_Tobira01" + compress + include "build/src/overlays/actors/ovl_Bg_Tobira01/z_bg_tobira01.o" + include "build/src/overlays/actors/ovl_Bg_Tobira01/ovl_Bg_Tobira01_reloc.o" +endseg + +beginseg + name "ovl_En_Tag_Obj" + compress + include "build/src/overlays/actors/ovl_En_Tag_Obj/z_en_tag_obj.o" + include "build/src/overlays/actors/ovl_En_Tag_Obj/ovl_En_Tag_Obj_reloc.o" +endseg + +beginseg + name "ovl_Obj_Dhouse" + compress + include "build/src/overlays/actors/ovl_Obj_Dhouse/z_obj_dhouse.o" + include "build/data/ovl_Obj_Dhouse/ovl_Obj_Dhouse.data.o" + include "build/data/ovl_Obj_Dhouse/ovl_Obj_Dhouse.reloc.o" +endseg + +beginseg + name "ovl_Obj_Hakaisi" + compress + include "build/src/overlays/actors/ovl_Obj_Hakaisi/z_obj_hakaisi.o" + include "build/data/ovl_Obj_Hakaisi/ovl_Obj_Hakaisi.data.o" + include "build/data/ovl_Obj_Hakaisi/ovl_Obj_Hakaisi.reloc.o" +endseg + +beginseg + name "ovl_Bg_Hakugin_Switch" + compress + include "build/src/overlays/actors/ovl_Bg_Hakugin_Switch/z_bg_hakugin_switch.o" + include "build/data/ovl_Bg_Hakugin_Switch/ovl_Bg_Hakugin_Switch.data.o" + include "build/data/ovl_Bg_Hakugin_Switch/ovl_Bg_Hakugin_Switch.bss.o" + include "build/data/ovl_Bg_Hakugin_Switch/ovl_Bg_Hakugin_Switch.reloc.o" +endseg + +beginseg + name "ovl_En_Snowman" + compress + include "build/src/overlays/actors/ovl_En_Snowman/z_en_snowman.o" + include "build/data/ovl_En_Snowman/ovl_En_Snowman.data.o" + include "build/data/ovl_En_Snowman/ovl_En_Snowman.reloc.o" +endseg + +beginseg + name "ovl_TG_Sw" + compress + include "build/src/overlays/actors/ovl_TG_Sw/z_tg_sw.o" + include "build/src/overlays/actors/ovl_TG_Sw/ovl_TG_Sw_reloc.o" +endseg + +beginseg + name "ovl_En_Po_Sisters" + compress + include "build/src/overlays/actors/ovl_En_Po_Sisters/z_en_po_sisters.o" + include "build/data/ovl_En_Po_Sisters/ovl_En_Po_Sisters.data.o" + include "build/data/ovl_En_Po_Sisters/ovl_En_Po_Sisters.reloc.o" +endseg + +beginseg + name "ovl_En_Pp" + compress + include "build/src/overlays/actors/ovl_En_Pp/z_en_pp.o" + include "build/data/ovl_En_Pp/ovl_En_Pp.data.o" + include "build/data/ovl_En_Pp/ovl_En_Pp.reloc.o" +endseg + +beginseg + name "ovl_En_Hakurock" + compress + include "build/src/overlays/actors/ovl_En_Hakurock/z_en_hakurock.o" + include "build/data/ovl_En_Hakurock/ovl_En_Hakurock.data.o" + include "build/data/ovl_En_Hakurock/ovl_En_Hakurock.reloc.o" +endseg + +beginseg + name "ovl_En_Hanabi" + compress + include "build/src/overlays/actors/ovl_En_Hanabi/z_en_hanabi.o" + include "build/data/ovl_En_Hanabi/ovl_En_Hanabi.data.o" + include "build/data/ovl_En_Hanabi/ovl_En_Hanabi.reloc.o" +endseg + +beginseg + name "ovl_Obj_Dowsing" + compress + include "build/src/overlays/actors/ovl_Obj_Dowsing/z_obj_dowsing.o" + include "build/data/ovl_Obj_Dowsing/ovl_Obj_Dowsing.data.o" + include "build/data/ovl_Obj_Dowsing/ovl_Obj_Dowsing.reloc.o" +endseg + +beginseg + name "ovl_Obj_Wind" + compress + include "build/src/overlays/actors/ovl_Obj_Wind/z_obj_wind.o" + include "build/data/ovl_Obj_Wind/ovl_Obj_Wind.data.o" + include "build/data/ovl_Obj_Wind/ovl_Obj_Wind.reloc.o" +endseg + +beginseg + name "ovl_En_Racedog" + compress + include "build/src/overlays/actors/ovl_En_Racedog/z_en_racedog.o" + include "build/data/ovl_En_Racedog/ovl_En_Racedog.data.o" + include "build/data/ovl_En_Racedog/ovl_En_Racedog.reloc.o" +endseg + +beginseg + name "ovl_En_Kendo_Js" + compress + include "build/src/overlays/actors/ovl_En_Kendo_Js/z_en_kendo_js.o" + include "build/data/ovl_En_Kendo_Js/ovl_En_Kendo_Js.data.o" + include "build/data/ovl_En_Kendo_Js/ovl_En_Kendo_Js.reloc.o" +endseg + +beginseg + name "ovl_Bg_Botihasira" + compress + include "build/src/overlays/actors/ovl_Bg_Botihasira/z_bg_botihasira.o" + include "build/data/ovl_Bg_Botihasira/ovl_Bg_Botihasira.data.o" + include "build/data/ovl_Bg_Botihasira/ovl_Bg_Botihasira.reloc.o" +endseg + +beginseg + name "ovl_En_Fish2" + compress + include "build/src/overlays/actors/ovl_En_Fish2/z_en_fish2.o" + include "build/data/ovl_En_Fish2/ovl_En_Fish2.data.o" + include "build/data/ovl_En_Fish2/ovl_En_Fish2.reloc.o" +endseg + +beginseg + name "ovl_En_Pst" + compress + include "build/src/overlays/actors/ovl_En_Pst/z_en_pst.o" + include "build/data/ovl_En_Pst/ovl_En_Pst.data.o" + include "build/data/ovl_En_Pst/ovl_En_Pst.reloc.o" +endseg + +beginseg + name "ovl_En_Poh" + compress + include "build/src/overlays/actors/ovl_En_Poh/z_en_poh.o" + include "build/data/ovl_En_Poh/ovl_En_Poh.data.o" + include "build/data/ovl_En_Poh/ovl_En_Poh.reloc.o" +endseg + +beginseg + name "ovl_Obj_Spidertent" + compress + include "build/src/overlays/actors/ovl_Obj_Spidertent/z_obj_spidertent.o" + include "build/data/ovl_Obj_Spidertent/ovl_Obj_Spidertent.data.o" + include "build/data/ovl_Obj_Spidertent/ovl_Obj_Spidertent.reloc.o" +endseg + +beginseg + name "ovl_En_Zoraegg" + compress + include "build/src/overlays/actors/ovl_En_Zoraegg/z_en_zoraegg.o" + include "build/data/ovl_En_Zoraegg/ovl_En_Zoraegg.data.o" + include "build/data/ovl_En_Zoraegg/ovl_En_Zoraegg.reloc.o" +endseg + +beginseg + name "ovl_En_Kbt" + compress + include "build/src/overlays/actors/ovl_En_Kbt/z_en_kbt.o" + include "build/data/ovl_En_Kbt/ovl_En_Kbt.data.o" + include "build/data/ovl_En_Kbt/ovl_En_Kbt.reloc.o" +endseg + +beginseg + name "ovl_En_Gg" + compress + include "build/src/overlays/actors/ovl_En_Gg/z_en_gg.o" + include "build/data/ovl_En_Gg/ovl_En_Gg.data.o" + include "build/data/ovl_En_Gg/ovl_En_Gg.reloc.o" +endseg + +beginseg + name "ovl_En_Maruta" + compress + include "build/src/overlays/actors/ovl_En_Maruta/z_en_maruta.o" + include "build/data/ovl_En_Maruta/ovl_En_Maruta.data.o" + include "build/data/ovl_En_Maruta/ovl_En_Maruta.reloc.o" +endseg + +beginseg + name "ovl_Obj_Snowball2" + compress + include "build/src/overlays/actors/ovl_Obj_Snowball2/z_obj_snowball2.o" + include "build/data/ovl_Obj_Snowball2/ovl_Obj_Snowball2.data.o" + include "build/data/ovl_Obj_Snowball2/ovl_Obj_Snowball2.reloc.o" +endseg + +beginseg + name "ovl_En_Gg2" + compress + include "build/src/overlays/actors/ovl_En_Gg2/z_en_gg2.o" + include "build/data/ovl_En_Gg2/ovl_En_Gg2.data.o" + include "build/data/ovl_En_Gg2/ovl_En_Gg2.reloc.o" +endseg + +beginseg + name "ovl_Obj_Ghaka" + compress + include "build/src/overlays/actors/ovl_Obj_Ghaka/z_obj_ghaka.o" + include "build/src/overlays/actors/ovl_Obj_Ghaka/ovl_Obj_Ghaka_reloc.o" +endseg + +beginseg + name "ovl_En_Dnp" + compress + include "build/src/overlays/actors/ovl_En_Dnp/z_en_dnp.o" + include "build/data/ovl_En_Dnp/ovl_En_Dnp.data.o" + include "build/data/ovl_En_Dnp/ovl_En_Dnp.reloc.o" +endseg + +beginseg + name "ovl_En_Dai" + compress + include "build/src/overlays/actors/ovl_En_Dai/z_en_dai.o" + include "build/data/ovl_En_Dai/ovl_En_Dai.data.o" + include "build/data/ovl_En_Dai/ovl_En_Dai.reloc.o" +endseg + +beginseg + name "ovl_Bg_Goron_Oyu" + compress + include "build/src/overlays/actors/ovl_Bg_Goron_Oyu/z_bg_goron_oyu.o" + include "build/data/ovl_Bg_Goron_Oyu/ovl_Bg_Goron_Oyu.data.o" + include "build/data/ovl_Bg_Goron_Oyu/ovl_Bg_Goron_Oyu.reloc.o" +endseg + +beginseg + name "ovl_En_Kgy" + compress + include "build/src/overlays/actors/ovl_En_Kgy/z_en_kgy.o" + include "build/data/ovl_En_Kgy/ovl_En_Kgy.data.o" + include "build/data/ovl_En_Kgy/ovl_En_Kgy.reloc.o" +endseg + +beginseg + name "ovl_En_Invadepoh" + compress + include "build/src/overlays/actors/ovl_En_Invadepoh/z_en_invadepoh.o" + include "build/src/overlays/actors/ovl_En_Invadepoh/ovl_En_Invadepoh_reloc.o" +endseg + +beginseg + name "ovl_En_Gk" + compress + include "build/src/overlays/actors/ovl_En_Gk/z_en_gk.o" + include "build/data/ovl_En_Gk/ovl_En_Gk.data.o" + include "build/data/ovl_En_Gk/ovl_En_Gk.reloc.o" +endseg + +beginseg + name "ovl_En_An" + compress + include "build/src/overlays/actors/ovl_En_An/z_en_an.o" + include "build/data/ovl_En_An/ovl_En_An.data.o" + include "build/data/ovl_En_An/ovl_En_An.reloc.o" +endseg + +beginseg + name "ovl_En_Bee" + compress + include "build/src/overlays/actors/ovl_En_Bee/z_en_bee.o" + include "build/data/ovl_En_Bee/ovl_En_Bee.data.o" + include "build/data/ovl_En_Bee/ovl_En_Bee.reloc.o" +endseg + +beginseg + name "ovl_En_Ot" + compress + include "build/src/overlays/actors/ovl_En_Ot/z_en_ot.o" + include "build/data/ovl_En_Ot/ovl_En_Ot.data.o" + include "build/data/ovl_En_Ot/ovl_En_Ot.bss.o" + include "build/data/ovl_En_Ot/ovl_En_Ot.reloc.o" +endseg + +beginseg + name "ovl_En_Dragon" + compress + include "build/src/overlays/actors/ovl_En_Dragon/z_en_dragon.o" + include "build/data/ovl_En_Dragon/ovl_En_Dragon.data.o" + include "build/data/ovl_En_Dragon/ovl_En_Dragon.reloc.o" +endseg + +beginseg + name "ovl_Obj_Dora" + compress + include "build/src/overlays/actors/ovl_Obj_Dora/z_obj_dora.o" + include "build/data/ovl_Obj_Dora/ovl_Obj_Dora.data.o" + include "build/data/ovl_Obj_Dora/ovl_Obj_Dora.reloc.o" +endseg + +beginseg + name "ovl_En_Bigpo" + compress + include "build/src/overlays/actors/ovl_En_Bigpo/z_en_bigpo.o" + include "build/data/ovl_En_Bigpo/ovl_En_Bigpo.data.o" + include "build/data/ovl_En_Bigpo/ovl_En_Bigpo.reloc.o" +endseg + +beginseg + name "ovl_Obj_Kendo_Kanban" + compress + include "build/src/overlays/actors/ovl_Obj_Kendo_Kanban/z_obj_kendo_kanban.o" + include "build/data/ovl_Obj_Kendo_Kanban/ovl_Obj_Kendo_Kanban.data.o" + include "build/data/ovl_Obj_Kendo_Kanban/ovl_Obj_Kendo_Kanban.reloc.o" +endseg + +beginseg + name "ovl_Obj_Hariko" + compress + include "build/src/overlays/actors/ovl_Obj_Hariko/z_obj_hariko.o" + include "build/data/ovl_Obj_Hariko/ovl_Obj_Hariko.data.o" + include "build/data/ovl_Obj_Hariko/ovl_Obj_Hariko.reloc.o" +endseg + +beginseg + name "ovl_En_Sth" + compress + include "build/src/overlays/actors/ovl_En_Sth/z_en_sth.o" + include "build/data/ovl_En_Sth/ovl_En_Sth.data.o" + include "build/data/ovl_En_Sth/ovl_En_Sth.reloc.o" +endseg + +beginseg + name "ovl_Bg_Sinkai_Kabe" + compress + include "build/src/overlays/actors/ovl_Bg_Sinkai_Kabe/z_bg_sinkai_kabe.o" + include "build/data/ovl_Bg_Sinkai_Kabe/ovl_Bg_Sinkai_Kabe.data.o" + include "build/data/ovl_Bg_Sinkai_Kabe/ovl_Bg_Sinkai_Kabe.reloc.o" +endseg + +beginseg + name "ovl_Bg_Haka_Curtain" + compress + include "build/src/overlays/actors/ovl_Bg_Haka_Curtain/z_bg_haka_curtain.o" + include "build/src/overlays/actors/ovl_Bg_Haka_Curtain/ovl_Bg_Haka_Curtain_reloc.o" +endseg + +beginseg + name "ovl_Bg_Kin2_Bombwall" + compress + include "build/src/overlays/actors/ovl_Bg_Kin2_Bombwall/z_bg_kin2_bombwall.o" + include "build/data/ovl_Bg_Kin2_Bombwall/ovl_Bg_Kin2_Bombwall.data.o" + include "build/data/ovl_Bg_Kin2_Bombwall/ovl_Bg_Kin2_Bombwall.reloc.o" +endseg + +beginseg + name "ovl_Bg_Kin2_Fence" + compress + include "build/src/overlays/actors/ovl_Bg_Kin2_Fence/z_bg_kin2_fence.o" + include "build/src/overlays/actors/ovl_Bg_Kin2_Fence/ovl_Bg_Kin2_Fence_reloc.o" +endseg + +beginseg + name "ovl_Bg_Kin2_Picture" + compress + include "build/src/overlays/actors/ovl_Bg_Kin2_Picture/z_bg_kin2_picture.o" + include "build/data/ovl_Bg_Kin2_Picture/ovl_Bg_Kin2_Picture.data.o" + include "build/data/ovl_Bg_Kin2_Picture/ovl_Bg_Kin2_Picture.reloc.o" +endseg + +beginseg + name "ovl_Bg_Kin2_Shelf" + compress + include "build/src/overlays/actors/ovl_Bg_Kin2_Shelf/z_bg_kin2_shelf.o" + include "build/data/ovl_Bg_Kin2_Shelf/ovl_Bg_Kin2_Shelf.data.o" + include "build/data/ovl_Bg_Kin2_Shelf/ovl_Bg_Kin2_Shelf.reloc.o" +endseg + +beginseg + name "ovl_En_Rail_Skb" + compress + include "build/src/overlays/actors/ovl_En_Rail_Skb/z_en_rail_skb.o" + include "build/data/ovl_En_Rail_Skb/ovl_En_Rail_Skb.data.o" + include "build/data/ovl_En_Rail_Skb/ovl_En_Rail_Skb.reloc.o" +endseg + +beginseg + name "ovl_En_Jg" + compress + include "build/src/overlays/actors/ovl_En_Jg/z_en_jg.o" + include "build/data/ovl_En_Jg/ovl_En_Jg.data.o" + include "build/data/ovl_En_Jg/ovl_En_Jg.reloc.o" +endseg + +beginseg + name "ovl_En_Tru_Mt" + compress + include "build/src/overlays/actors/ovl_En_Tru_Mt/z_en_tru_mt.o" + include "build/data/ovl_En_Tru_Mt/ovl_En_Tru_Mt.data.o" + include "build/data/ovl_En_Tru_Mt/ovl_En_Tru_Mt.reloc.o" +endseg + +beginseg + name "ovl_Obj_Um" + compress + include "build/src/overlays/actors/ovl_Obj_Um/z_obj_um.o" + include "build/data/ovl_Obj_Um/ovl_Obj_Um.data.o" + include "build/data/ovl_Obj_Um/ovl_Obj_Um.reloc.o" +endseg + +beginseg + name "ovl_En_Neo_Reeba" + compress + include "build/src/overlays/actors/ovl_En_Neo_Reeba/z_en_neo_reeba.o" + include "build/data/ovl_En_Neo_Reeba/ovl_En_Neo_Reeba.data.o" + include "build/data/ovl_En_Neo_Reeba/ovl_En_Neo_Reeba.reloc.o" +endseg + +beginseg + name "ovl_Bg_Mbar_Chair" + compress + include "build/src/overlays/actors/ovl_Bg_Mbar_Chair/z_bg_mbar_chair.o" + include "build/src/overlays/actors/ovl_Bg_Mbar_Chair/ovl_Bg_Mbar_Chair_reloc.o" +endseg + +beginseg + name "ovl_Bg_Ikana_Block" + compress + include "build/src/overlays/actors/ovl_Bg_Ikana_Block/z_bg_ikana_block.o" + include "build/data/ovl_Bg_Ikana_Block/ovl_Bg_Ikana_Block.data.o" + include "build/data/ovl_Bg_Ikana_Block/ovl_Bg_Ikana_Block.reloc.o" +endseg + +beginseg + name "ovl_Bg_Ikana_Mirror" + compress + include "build/src/overlays/actors/ovl_Bg_Ikana_Mirror/z_bg_ikana_mirror.o" + include "build/data/ovl_Bg_Ikana_Mirror/ovl_Bg_Ikana_Mirror.data.o" + include "build/data/ovl_Bg_Ikana_Mirror/ovl_Bg_Ikana_Mirror.reloc.o" +endseg + +beginseg + name "ovl_Bg_Ikana_Rotaryroom" + compress + include "build/src/overlays/actors/ovl_Bg_Ikana_Rotaryroom/z_bg_ikana_rotaryroom.o" + include "build/data/ovl_Bg_Ikana_Rotaryroom/ovl_Bg_Ikana_Rotaryroom.data.o" + include "build/data/ovl_Bg_Ikana_Rotaryroom/ovl_Bg_Ikana_Rotaryroom.reloc.o" +endseg + +beginseg + name "ovl_Bg_Dblue_Balance" + compress + include "build/src/overlays/actors/ovl_Bg_Dblue_Balance/z_bg_dblue_balance.o" + include "build/data/ovl_Bg_Dblue_Balance/ovl_Bg_Dblue_Balance.data.o" + include "build/data/ovl_Bg_Dblue_Balance/ovl_Bg_Dblue_Balance.bss.o" + include "build/data/ovl_Bg_Dblue_Balance/ovl_Bg_Dblue_Balance.reloc.o" +endseg + +beginseg + name "ovl_Bg_Dblue_Waterfall" + compress + include "build/src/overlays/actors/ovl_Bg_Dblue_Waterfall/z_bg_dblue_waterfall.o" + include "build/data/ovl_Bg_Dblue_Waterfall/ovl_Bg_Dblue_Waterfall.data.o" + include "build/data/ovl_Bg_Dblue_Waterfall/ovl_Bg_Dblue_Waterfall.reloc.o" +endseg + +beginseg + name "ovl_En_Kaizoku" + compress + include "build/src/overlays/actors/ovl_En_Kaizoku/z_en_kaizoku.o" + include "build/data/ovl_En_Kaizoku/ovl_En_Kaizoku.data.o" + include "build/data/ovl_En_Kaizoku/ovl_En_Kaizoku.reloc.o" +endseg + +beginseg + name "ovl_En_Ge2" + compress + include "build/src/overlays/actors/ovl_En_Ge2/z_en_ge2.o" + include "build/data/ovl_En_Ge2/ovl_En_Ge2.data.o" + include "build/data/ovl_En_Ge2/ovl_En_Ge2.reloc.o" +endseg + +beginseg + name "ovl_En_Ma_Yts" + compress + include "build/src/overlays/actors/ovl_En_Ma_Yts/z_en_ma_yts.o" + include "build/src/overlays/actors/ovl_En_Ma_Yts/ovl_En_Ma_Yts_reloc.o" +endseg + +beginseg + name "ovl_En_Ma_Yto" + compress + include "build/src/overlays/actors/ovl_En_Ma_Yto/z_en_ma_yto.o" + include "build/src/overlays/actors/ovl_En_Ma_Yto/ovl_En_Ma_Yto_reloc.o" +endseg + +beginseg + name "ovl_Obj_Tokei_Turret" + compress + include "build/src/overlays/actors/ovl_Obj_Tokei_Turret/z_obj_tokei_turret.o" + include "build/data/ovl_Obj_Tokei_Turret/ovl_Obj_Tokei_Turret.data.o" + include "build/data/ovl_Obj_Tokei_Turret/ovl_Obj_Tokei_Turret.reloc.o" +endseg + +beginseg + name "ovl_Bg_Dblue_Elevator" + compress + include "build/src/overlays/actors/ovl_Bg_Dblue_Elevator/z_bg_dblue_elevator.o" + include "build/data/ovl_Bg_Dblue_Elevator/ovl_Bg_Dblue_Elevator.data.o" + include "build/data/ovl_Bg_Dblue_Elevator/ovl_Bg_Dblue_Elevator.reloc.o" +endseg + +beginseg + name "ovl_Obj_Warpstone" + compress + include "build/src/overlays/actors/ovl_Obj_Warpstone/z_obj_warpstone.o" + include "build/data/ovl_Obj_Warpstone/ovl_Obj_Warpstone.data.o" + include "build/data/ovl_Obj_Warpstone/ovl_Obj_Warpstone.reloc.o" +endseg + +beginseg + name "ovl_En_Zog" + compress + include "build/src/overlays/actors/ovl_En_Zog/z_en_zog.o" + include "build/data/ovl_En_Zog/ovl_En_Zog.data.o" + include "build/data/ovl_En_Zog/ovl_En_Zog.bss.o" + include "build/data/ovl_En_Zog/ovl_En_Zog.reloc.o" +endseg + +beginseg + name "ovl_Obj_Rotlift" + compress + include "build/src/overlays/actors/ovl_Obj_Rotlift/z_obj_rotlift.o" + include "build/data/ovl_Obj_Rotlift/ovl_Obj_Rotlift.data.o" + include "build/data/ovl_Obj_Rotlift/ovl_Obj_Rotlift.reloc.o" +endseg + +beginseg + name "ovl_Obj_Jg_Gakki" + compress + include "build/src/overlays/actors/ovl_Obj_Jg_Gakki/z_obj_jg_gakki.o" + include "build/data/ovl_Obj_Jg_Gakki/ovl_Obj_Jg_Gakki.data.o" + include "build/data/ovl_Obj_Jg_Gakki/ovl_Obj_Jg_Gakki.reloc.o" +endseg + +beginseg + name "ovl_Bg_Inibs_Movebg" + compress + include "build/src/overlays/actors/ovl_Bg_Inibs_Movebg/z_bg_inibs_movebg.o" + include "build/data/ovl_Bg_Inibs_Movebg/ovl_Bg_Inibs_Movebg.data.o" + include "build/data/ovl_Bg_Inibs_Movebg/ovl_Bg_Inibs_Movebg.reloc.o" +endseg + +beginseg + name "ovl_En_Zot" + compress + include "build/src/overlays/actors/ovl_En_Zot/z_en_zot.o" + include "build/data/ovl_En_Zot/ovl_En_Zot.data.o" + include "build/data/ovl_En_Zot/ovl_En_Zot.reloc.o" +endseg + +beginseg + name "ovl_Obj_Tree" + compress + include "build/src/overlays/actors/ovl_Obj_Tree/z_obj_tree.o" + include "build/data/ovl_Obj_Tree/ovl_Obj_Tree.data.o" + include "build/data/ovl_Obj_Tree/ovl_Obj_Tree.reloc.o" +endseg + +beginseg + name "ovl_Obj_Y2lift" + compress + include "build/src/overlays/actors/ovl_Obj_Y2lift/z_obj_y2lift.o" + include "build/data/ovl_Obj_Y2lift/ovl_Obj_Y2lift.data.o" + include "build/data/ovl_Obj_Y2lift/ovl_Obj_Y2lift.reloc.o" +endseg + +beginseg + name "ovl_Obj_Y2shutter" + compress + include "build/src/overlays/actors/ovl_Obj_Y2shutter/z_obj_y2shutter.o" + include "build/data/ovl_Obj_Y2shutter/ovl_Obj_Y2shutter.data.o" + include "build/data/ovl_Obj_Y2shutter/ovl_Obj_Y2shutter.reloc.o" +endseg + +beginseg + name "ovl_Obj_Boat" + compress + include "build/src/overlays/actors/ovl_Obj_Boat/z_obj_boat.o" + include "build/data/ovl_Obj_Boat/ovl_Obj_Boat.data.o" + include "build/data/ovl_Obj_Boat/ovl_Obj_Boat.reloc.o" +endseg + +beginseg + name "ovl_Obj_Taru" + compress + include "build/src/overlays/actors/ovl_Obj_Taru/z_obj_taru.o" + include "build/data/ovl_Obj_Taru/ovl_Obj_Taru.data.o" + include "build/data/ovl_Obj_Taru/ovl_Obj_Taru.reloc.o" +endseg + +beginseg + name "ovl_Obj_Hunsui" + compress + include "build/src/overlays/actors/ovl_Obj_Hunsui/z_obj_hunsui.o" + include "build/data/ovl_Obj_Hunsui/ovl_Obj_Hunsui.data.o" + include "build/data/ovl_Obj_Hunsui/ovl_Obj_Hunsui.bss.o" + include "build/data/ovl_Obj_Hunsui/ovl_Obj_Hunsui.reloc.o" +endseg + +beginseg + name "ovl_En_Jc_Mato" + compress + include "build/src/overlays/actors/ovl_En_Jc_Mato/z_en_jc_mato.o" + include "build/src/overlays/actors/ovl_En_Jc_Mato/ovl_En_Jc_Mato_reloc.o" +endseg + +beginseg + name "ovl_Mir_Ray3" + compress + include "build/src/overlays/actors/ovl_Mir_Ray3/z_mir_ray3.o" + include "build/data/ovl_Mir_Ray3/ovl_Mir_Ray3.data.o" + include "build/data/ovl_Mir_Ray3/ovl_Mir_Ray3.reloc.o" +endseg + +beginseg + name "ovl_En_Zob" + compress + include "build/src/overlays/actors/ovl_En_Zob/z_en_zob.o" + include "build/data/ovl_En_Zob/ovl_En_Zob.data.o" + include "build/data/ovl_En_Zob/ovl_En_Zob.reloc.o" +endseg + +beginseg + name "ovl_Elf_Msg6" + compress + include "build/src/overlays/actors/ovl_Elf_Msg6/z_elf_msg6.o" + include "build/data/ovl_Elf_Msg6/ovl_Elf_Msg6.data.o" + include "build/data/ovl_Elf_Msg6/ovl_Elf_Msg6.reloc.o" +endseg + +beginseg + name "ovl_Obj_Nozoki" + compress + include "build/src/overlays/actors/ovl_Obj_Nozoki/z_obj_nozoki.o" + include "build/data/ovl_Obj_Nozoki/ovl_Obj_Nozoki.data.o" + include "build/data/ovl_Obj_Nozoki/ovl_Obj_Nozoki.bss.o" + include "build/data/ovl_Obj_Nozoki/ovl_Obj_Nozoki.reloc.o" +endseg + +beginseg + name "ovl_En_Toto" + compress + include "build/src/overlays/actors/ovl_En_Toto/z_en_toto.o" + include "build/src/overlays/actors/ovl_En_Toto/ovl_En_Toto_reloc.o" +endseg + +beginseg + name "ovl_En_Railgibud" + compress + include "build/src/overlays/actors/ovl_En_Railgibud/z_en_railgibud.o" + include "build/data/ovl_En_Railgibud/ovl_En_Railgibud.data.o" + include "build/data/ovl_En_Railgibud/ovl_En_Railgibud.reloc.o" +endseg + +beginseg + name "ovl_En_Baba" + compress + include "build/src/overlays/actors/ovl_En_Baba/z_en_baba.o" + include "build/data/ovl_En_Baba/ovl_En_Baba.data.o" + include "build/data/ovl_En_Baba/ovl_En_Baba.reloc.o" +endseg + +beginseg + name "ovl_En_Suttari" + compress + include "build/src/overlays/actors/ovl_En_Suttari/z_en_suttari.o" + include "build/src/overlays/actors/ovl_En_Suttari/ovl_En_Suttari_reloc.o" +endseg + +beginseg + name "ovl_En_Zod" + compress + include "build/src/overlays/actors/ovl_En_Zod/z_en_zod.o" + include "build/data/ovl_En_Zod/ovl_En_Zod.data.o" + include "build/data/ovl_En_Zod/ovl_En_Zod.reloc.o" +endseg + +beginseg + name "ovl_En_Kujiya" + compress + include "build/src/overlays/actors/ovl_En_Kujiya/z_en_kujiya.o" + include "build/data/ovl_En_Kujiya/ovl_En_Kujiya.data.o" + include "build/data/ovl_En_Kujiya/ovl_En_Kujiya.reloc.o" +endseg + +beginseg + name "ovl_En_Geg" + compress + include "build/src/overlays/actors/ovl_En_Geg/z_en_geg.o" + include "build/data/ovl_En_Geg/ovl_En_Geg.data.o" + include "build/data/ovl_En_Geg/ovl_En_Geg.reloc.o" +endseg + +beginseg + name "ovl_Obj_Kinoko" + compress + include "build/src/overlays/actors/ovl_Obj_Kinoko/z_obj_kinoko.o" + include "build/data/ovl_Obj_Kinoko/ovl_Obj_Kinoko.data.o" + include "build/data/ovl_Obj_Kinoko/ovl_Obj_Kinoko.reloc.o" +endseg + +beginseg + name "ovl_Obj_Yasi" + compress + include "build/src/overlays/actors/ovl_Obj_Yasi/z_obj_yasi.o" + include "build/data/ovl_Obj_Yasi/ovl_Obj_Yasi.data.o" + include "build/data/ovl_Obj_Yasi/ovl_Obj_Yasi.reloc.o" +endseg + +beginseg + name "ovl_En_Tanron1" + compress + include "build/src/overlays/actors/ovl_En_Tanron1/z_en_tanron1.o" + include "build/data/ovl_En_Tanron1/ovl_En_Tanron1.data.o" + include "build/data/ovl_En_Tanron1/ovl_En_Tanron1.reloc.o" +endseg + +beginseg + name "ovl_En_Tanron2" + compress + include "build/src/overlays/actors/ovl_En_Tanron2/z_en_tanron2.o" + include "build/data/ovl_En_Tanron2/ovl_En_Tanron2.data.o" + include "build/data/ovl_En_Tanron2/ovl_En_Tanron2.bss.o" + include "build/data/ovl_En_Tanron2/ovl_En_Tanron2.reloc.o" +endseg + +beginseg + name "ovl_En_Tanron3" + compress + include "build/src/overlays/actors/ovl_En_Tanron3/z_en_tanron3.o" + include "build/data/ovl_En_Tanron3/ovl_En_Tanron3.data.o" + include "build/data/ovl_En_Tanron3/ovl_En_Tanron3.reloc.o" +endseg + +beginseg + name "ovl_Obj_Chan" + compress + include "build/src/overlays/actors/ovl_Obj_Chan/z_obj_chan.o" + include "build/data/ovl_Obj_Chan/ovl_Obj_Chan.data.o" + include "build/data/ovl_Obj_Chan/ovl_Obj_Chan.bss.o" + include "build/data/ovl_Obj_Chan/ovl_Obj_Chan.reloc.o" +endseg + +beginseg + name "ovl_En_Zos" + compress + include "build/src/overlays/actors/ovl_En_Zos/z_en_zos.o" + include "build/data/ovl_En_Zos/ovl_En_Zos.data.o" + include "build/data/ovl_En_Zos/ovl_En_Zos.reloc.o" +endseg + +beginseg + name "ovl_En_S_Goro" + compress + include "build/src/overlays/actors/ovl_En_S_Goro/z_en_s_goro.o" + include "build/data/ovl_En_S_Goro/ovl_En_S_Goro.data.o" + include "build/data/ovl_En_S_Goro/ovl_En_S_Goro.reloc.o" +endseg + +beginseg + name "ovl_En_Nb" + compress + include "build/src/overlays/actors/ovl_En_Nb/z_en_nb.o" + include "build/data/ovl_En_Nb/ovl_En_Nb.data.o" + include "build/data/ovl_En_Nb/ovl_En_Nb.reloc.o" +endseg + +beginseg + name "ovl_En_Ja" + compress + include "build/src/overlays/actors/ovl_En_Ja/z_en_ja.o" + include "build/data/ovl_En_Ja/ovl_En_Ja.data.o" + include "build/data/ovl_En_Ja/ovl_En_Ja.reloc.o" +endseg + +beginseg + name "ovl_Bg_F40_Block" + compress + include "build/src/overlays/actors/ovl_Bg_F40_Block/z_bg_f40_block.o" + include "build/data/ovl_Bg_F40_Block/ovl_Bg_F40_Block.data.o" + include "build/data/ovl_Bg_F40_Block/ovl_Bg_F40_Block.reloc.o" +endseg + +beginseg + name "ovl_Bg_F40_Switch" + compress + include "build/src/overlays/actors/ovl_Bg_F40_Switch/z_bg_f40_switch.o" + include "build/data/ovl_Bg_F40_Switch/ovl_Bg_F40_Switch.data.o" + include "build/data/ovl_Bg_F40_Switch/ovl_Bg_F40_Switch.bss.o" + include "build/data/ovl_Bg_F40_Switch/ovl_Bg_F40_Switch.reloc.o" +endseg + +beginseg + name "ovl_En_Po_Composer" + compress + include "build/src/overlays/actors/ovl_En_Po_Composer/z_en_po_composer.o" + include "build/data/ovl_En_Po_Composer/ovl_En_Po_Composer.data.o" + include "build/data/ovl_En_Po_Composer/ovl_En_Po_Composer.reloc.o" +endseg + +beginseg + name "ovl_En_Guruguru" + compress + include "build/src/overlays/actors/ovl_En_Guruguru/z_en_guruguru.o" + include "build/src/overlays/actors/ovl_En_Guruguru/ovl_En_Guruguru_reloc.o" +endseg + +beginseg + name "ovl_Oceff_Wipe5" + compress + include "build/src/overlays/actors/ovl_Oceff_Wipe5/z_oceff_wipe5.o" + include "build/data/ovl_Oceff_Wipe5/ovl_Oceff_Wipe5.data.o" + include "build/data/ovl_Oceff_Wipe5/ovl_Oceff_Wipe5.bss.o" + include "build/data/ovl_Oceff_Wipe5/ovl_Oceff_Wipe5.reloc.o" +endseg + +beginseg + name "ovl_En_Stone_heishi" + compress + include "build/src/overlays/actors/ovl_En_Stone_heishi/z_en_stone_heishi.o" + include "build/data/ovl_En_Stone_heishi/ovl_En_Stone_heishi.data.o" + include "build/data/ovl_En_Stone_heishi/ovl_En_Stone_heishi.reloc.o" +endseg + +beginseg + name "ovl_Oceff_Wipe6" + compress + include "build/src/overlays/actors/ovl_Oceff_Wipe6/z_oceff_wipe6.o" + include "build/data/ovl_Oceff_Wipe6/ovl_Oceff_Wipe6.data.o" + include "build/data/ovl_Oceff_Wipe6/ovl_Oceff_Wipe6.reloc.o" +endseg + +beginseg + name "ovl_En_Scopenuts" + compress + include "build/src/overlays/actors/ovl_En_Scopenuts/z_en_scopenuts.o" + include "build/data/ovl_En_Scopenuts/ovl_En_Scopenuts.data.o" + include "build/data/ovl_En_Scopenuts/ovl_En_Scopenuts.reloc.o" +endseg + +beginseg + name "ovl_En_Scopecrow" + compress + include "build/src/overlays/actors/ovl_En_Scopecrow/z_en_scopecrow.o" + include "build/data/ovl_En_Scopecrow/ovl_En_Scopecrow.data.o" + include "build/data/ovl_En_Scopecrow/ovl_En_Scopecrow.reloc.o" +endseg + +beginseg + name "ovl_Oceff_Wipe7" + compress + include "build/src/overlays/actors/ovl_Oceff_Wipe7/z_oceff_wipe7.o" + include "build/data/ovl_Oceff_Wipe7/ovl_Oceff_Wipe7.data.o" + include "build/data/ovl_Oceff_Wipe7/ovl_Oceff_Wipe7.bss.o" + include "build/data/ovl_Oceff_Wipe7/ovl_Oceff_Wipe7.reloc.o" +endseg + +beginseg + name "ovl_Eff_Kamejima_Wave" + compress + include "build/src/overlays/actors/ovl_Eff_Kamejima_Wave/z_eff_kamejima_wave.o" + include "build/data/ovl_Eff_Kamejima_Wave/ovl_Eff_Kamejima_Wave.data.o" + include "build/data/ovl_Eff_Kamejima_Wave/ovl_Eff_Kamejima_Wave.bss.o" + include "build/data/ovl_Eff_Kamejima_Wave/ovl_Eff_Kamejima_Wave.reloc.o" +endseg + +beginseg + name "ovl_En_Hg" + compress + include "build/src/overlays/actors/ovl_En_Hg/z_en_hg.o" + include "build/src/overlays/actors/ovl_En_Hg/ovl_En_Hg_reloc.o" +endseg + +beginseg + name "ovl_En_Hgo" + compress + include "build/src/overlays/actors/ovl_En_Hgo/z_en_hgo.o" + include "build/data/ovl_En_Hgo/ovl_En_Hgo.data.o" + include "build/data/ovl_En_Hgo/ovl_En_Hgo.reloc.o" +endseg + +beginseg + name "ovl_En_Zov" + compress + include "build/src/overlays/actors/ovl_En_Zov/z_en_zov.o" + include "build/data/ovl_En_Zov/ovl_En_Zov.data.o" + include "build/data/ovl_En_Zov/ovl_En_Zov.reloc.o" +endseg + +beginseg + name "ovl_En_Ah" + compress + include "build/src/overlays/actors/ovl_En_Ah/z_en_ah.o" + include "build/data/ovl_En_Ah/ovl_En_Ah.data.o" + include "build/data/ovl_En_Ah/ovl_En_Ah.reloc.o" +endseg + +beginseg + name "ovl_Obj_Hgdoor" + compress + include "build/src/overlays/actors/ovl_Obj_Hgdoor/z_obj_hgdoor.o" + include "build/src/overlays/actors/ovl_Obj_Hgdoor/ovl_Obj_Hgdoor_reloc.o" +endseg + +beginseg + name "ovl_Bg_Ikana_Bombwall" + compress + include "build/src/overlays/actors/ovl_Bg_Ikana_Bombwall/z_bg_ikana_bombwall.o" + include "build/data/ovl_Bg_Ikana_Bombwall/ovl_Bg_Ikana_Bombwall.data.o" + include "build/data/ovl_Bg_Ikana_Bombwall/ovl_Bg_Ikana_Bombwall.reloc.o" +endseg + +beginseg + name "ovl_Bg_Ikana_Ray" + compress + include "build/src/overlays/actors/ovl_Bg_Ikana_Ray/z_bg_ikana_ray.o" + include "build/src/overlays/actors/ovl_Bg_Ikana_Ray/ovl_Bg_Ikana_Ray_reloc.o" +endseg + +beginseg + name "ovl_Bg_Ikana_Shutter" + compress + include "build/src/overlays/actors/ovl_Bg_Ikana_Shutter/z_bg_ikana_shutter.o" + include "build/src/overlays/actors/ovl_Bg_Ikana_Shutter/ovl_Bg_Ikana_Shutter_reloc.o" +endseg + +beginseg + name "ovl_Bg_Haka_Bombwall" + compress + include "build/src/overlays/actors/ovl_Bg_Haka_Bombwall/z_bg_haka_bombwall.o" + include "build/data/ovl_Bg_Haka_Bombwall/ovl_Bg_Haka_Bombwall.data.o" + include "build/data/ovl_Bg_Haka_Bombwall/ovl_Bg_Haka_Bombwall.reloc.o" +endseg + +beginseg + name "ovl_Bg_Haka_Tomb" + compress + include "build/src/overlays/actors/ovl_Bg_Haka_Tomb/z_bg_haka_tomb.o" + include "build/src/overlays/actors/ovl_Bg_Haka_Tomb/ovl_Bg_Haka_Tomb_reloc.o" +endseg + +beginseg + name "ovl_En_Sc_Ruppe" + compress + include "build/src/overlays/actors/ovl_En_Sc_Ruppe/z_en_sc_ruppe.o" + include "build/data/ovl_En_Sc_Ruppe/ovl_En_Sc_Ruppe.data.o" + include "build/data/ovl_En_Sc_Ruppe/ovl_En_Sc_Ruppe.reloc.o" +endseg + +beginseg + name "ovl_Bg_Iknv_Doukutu" + compress + include "build/src/overlays/actors/ovl_Bg_Iknv_Doukutu/z_bg_iknv_doukutu.o" + include "build/data/ovl_Bg_Iknv_Doukutu/ovl_Bg_Iknv_Doukutu.data.o" + include "build/data/ovl_Bg_Iknv_Doukutu/ovl_Bg_Iknv_Doukutu.reloc.o" +endseg + +beginseg + name "ovl_Bg_Iknv_Obj" + compress + include "build/src/overlays/actors/ovl_Bg_Iknv_Obj/z_bg_iknv_obj.o" + include "build/src/overlays/actors/ovl_Bg_Iknv_Obj/ovl_Bg_Iknv_Obj_reloc.o" +endseg + +beginseg + name "ovl_En_Pamera" + compress + include "build/src/overlays/actors/ovl_En_Pamera/z_en_pamera.o" + include "build/src/overlays/actors/ovl_En_Pamera/ovl_En_Pamera_reloc.o" +endseg + +beginseg + name "ovl_Obj_HsStump" + compress + include "build/src/overlays/actors/ovl_Obj_HsStump/z_obj_hsstump.o" + include "build/src/overlays/actors/ovl_Obj_HsStump/ovl_Obj_HsStump_reloc.o" +endseg + +beginseg + name "ovl_En_Hidden_Nuts" + compress + include "build/src/overlays/actors/ovl_En_Hidden_Nuts/z_en_hidden_nuts.o" + include "build/data/ovl_En_Hidden_Nuts/ovl_En_Hidden_Nuts.data.o" + include "build/data/ovl_En_Hidden_Nuts/ovl_En_Hidden_Nuts.reloc.o" +endseg + +beginseg + name "ovl_En_Zow" + compress + include "build/src/overlays/actors/ovl_En_Zow/z_en_zow.o" + include "build/data/ovl_En_Zow/ovl_En_Zow.data.o" + include "build/data/ovl_En_Zow/ovl_En_Zow.reloc.o" +endseg + +beginseg + name "ovl_En_Talk" + compress + include "build/src/overlays/actors/ovl_En_Talk/z_en_talk.o" + include "build/data/ovl_En_Talk/ovl_En_Talk.data.o" + include "build/data/ovl_En_Talk/ovl_En_Talk.reloc.o" +endseg + +beginseg + name "ovl_En_Al" + compress + include "build/src/overlays/actors/ovl_En_Al/z_en_al.o" + include "build/data/ovl_En_Al/ovl_En_Al.data.o" + include "build/data/ovl_En_Al/ovl_En_Al.reloc.o" +endseg + +beginseg + name "ovl_En_Tab" + compress + include "build/src/overlays/actors/ovl_En_Tab/z_en_tab.o" + include "build/data/ovl_En_Tab/ovl_En_Tab.data.o" + include "build/data/ovl_En_Tab/ovl_En_Tab.reloc.o" +endseg + +beginseg + name "ovl_En_Nimotsu" + compress + include "build/src/overlays/actors/ovl_En_Nimotsu/z_en_nimotsu.o" + include "build/data/ovl_En_Nimotsu/ovl_En_Nimotsu.data.o" + include "build/data/ovl_En_Nimotsu/ovl_En_Nimotsu.reloc.o" +endseg + +beginseg + name "ovl_En_Hit_Tag" + compress + include "build/src/overlays/actors/ovl_En_Hit_Tag/z_en_hit_tag.o" + include "build/data/ovl_En_Hit_Tag/ovl_En_Hit_Tag.data.o" + include "build/data/ovl_En_Hit_Tag/ovl_En_Hit_Tag.reloc.o" +endseg + +beginseg + name "ovl_En_Ruppecrow" + compress + include "build/src/overlays/actors/ovl_En_Ruppecrow/z_en_ruppecrow.o" + include "build/data/ovl_En_Ruppecrow/ovl_En_Ruppecrow.data.o" + include "build/data/ovl_En_Ruppecrow/ovl_En_Ruppecrow.reloc.o" +endseg + +beginseg + name "ovl_En_Tanron4" + compress + include "build/src/overlays/actors/ovl_En_Tanron4/z_en_tanron4.o" + include "build/data/ovl_En_Tanron4/ovl_En_Tanron4.data.o" + include "build/data/ovl_En_Tanron4/ovl_En_Tanron4.reloc.o" +endseg + +beginseg + name "ovl_En_Tanron5" + compress + include "build/src/overlays/actors/ovl_En_Tanron5/z_en_tanron5.o" + include "build/data/ovl_En_Tanron5/ovl_En_Tanron5.data.o" + include "build/data/ovl_En_Tanron5/ovl_En_Tanron5.reloc.o" +endseg + +beginseg + name "ovl_En_Tanron6" + compress + include "build/src/overlays/actors/ovl_En_Tanron6/z_en_tanron6.o" + include "build/src/overlays/actors/ovl_En_Tanron6/ovl_En_Tanron6_reloc.o" +endseg + +beginseg + name "ovl_En_Daiku2" + compress + include "build/src/overlays/actors/ovl_En_Daiku2/z_en_daiku2.o" + include "build/data/ovl_En_Daiku2/ovl_En_Daiku2.data.o" + include "build/data/ovl_En_Daiku2/ovl_En_Daiku2.reloc.o" +endseg + +beginseg + name "ovl_En_Muto" + compress + include "build/src/overlays/actors/ovl_En_Muto/z_en_muto.o" + include "build/data/ovl_En_Muto/ovl_En_Muto.data.o" + include "build/data/ovl_En_Muto/ovl_En_Muto.reloc.o" +endseg + +beginseg + name "ovl_En_Baisen" + compress + include "build/src/overlays/actors/ovl_En_Baisen/z_en_baisen.o" + include "build/src/overlays/actors/ovl_En_Baisen/ovl_En_Baisen_reloc.o" +endseg + +beginseg + name "ovl_En_Heishi" + compress + include "build/src/overlays/actors/ovl_En_Heishi/z_en_heishi.o" + include "build/data/ovl_En_Heishi/ovl_En_Heishi.data.o" + include "build/data/ovl_En_Heishi/ovl_En_Heishi.reloc.o" +endseg + +beginseg + name "ovl_En_Demo_heishi" + compress + include "build/src/overlays/actors/ovl_En_Demo_heishi/z_en_demo_heishi.o" + include "build/data/ovl_En_Demo_heishi/ovl_En_Demo_heishi.data.o" + include "build/data/ovl_En_Demo_heishi/ovl_En_Demo_heishi.reloc.o" +endseg + +beginseg + name "ovl_En_Dt" + compress + include "build/src/overlays/actors/ovl_En_Dt/z_en_dt.o" + include "build/data/ovl_En_Dt/ovl_En_Dt.data.o" + include "build/data/ovl_En_Dt/ovl_En_Dt.reloc.o" +endseg + +beginseg + name "ovl_En_Cha" + compress + include "build/src/overlays/actors/ovl_En_Cha/z_en_cha.o" + include "build/src/overlays/actors/ovl_En_Cha/ovl_En_Cha_reloc.o" +endseg + +beginseg + name "ovl_Obj_Dinner" + compress + include "build/src/overlays/actors/ovl_Obj_Dinner/z_obj_dinner.o" + include "build/src/overlays/actors/ovl_Obj_Dinner/ovl_Obj_Dinner_reloc.o" +endseg + +beginseg + name "ovl_Eff_Lastday" + compress + include "build/src/overlays/actors/ovl_Eff_Lastday/z_eff_lastday.o" + include "build/data/ovl_Eff_Lastday/ovl_Eff_Lastday.data.o" + include "build/data/ovl_Eff_Lastday/ovl_Eff_Lastday.reloc.o" +endseg + +beginseg + name "ovl_Bg_Ikana_Dharma" + compress + include "build/src/overlays/actors/ovl_Bg_Ikana_Dharma/z_bg_ikana_dharma.o" + include "build/data/ovl_Bg_Ikana_Dharma/ovl_Bg_Ikana_Dharma.data.o" + include "build/data/ovl_Bg_Ikana_Dharma/ovl_Bg_Ikana_Dharma.bss.o" + include "build/data/ovl_Bg_Ikana_Dharma/ovl_Bg_Ikana_Dharma.reloc.o" +endseg + +beginseg + name "ovl_En_Akindonuts" + compress + include "build/src/overlays/actors/ovl_En_Akindonuts/z_en_akindonuts.o" + include "build/data/ovl_En_Akindonuts/ovl_En_Akindonuts.data.o" + include "build/data/ovl_En_Akindonuts/ovl_En_Akindonuts.reloc.o" +endseg + +beginseg + name "ovl_Eff_Stk" + compress + include "build/src/overlays/actors/ovl_Eff_Stk/z_eff_stk.o" + include "build/data/ovl_Eff_Stk/ovl_Eff_Stk.data.o" + include "build/data/ovl_Eff_Stk/ovl_Eff_Stk.reloc.o" +endseg + +beginseg + name "ovl_En_Ig" + compress + include "build/src/overlays/actors/ovl_En_Ig/z_en_ig.o" + include "build/data/ovl_En_Ig/ovl_En_Ig.data.o" + include "build/data/ovl_En_Ig/ovl_En_Ig.reloc.o" +endseg + +beginseg + name "ovl_En_Rg" + compress + include "build/src/overlays/actors/ovl_En_Rg/z_en_rg.o" + include "build/data/ovl_En_Rg/ovl_En_Rg.data.o" + include "build/data/ovl_En_Rg/ovl_En_Rg.bss.o" + include "build/data/ovl_En_Rg/ovl_En_Rg.reloc.o" +endseg + +beginseg + name "ovl_En_Osk" + compress + include "build/src/overlays/actors/ovl_En_Osk/z_en_osk.o" + include "build/data/ovl_En_Osk/ovl_En_Osk.data.o" + include "build/data/ovl_En_Osk/ovl_En_Osk.reloc.o" +endseg + +beginseg + name "ovl_En_Sth2" + compress + include "build/src/overlays/actors/ovl_En_Sth2/z_en_sth2.o" + include "build/data/ovl_En_Sth2/ovl_En_Sth2.data.o" + include "build/data/ovl_En_Sth2/ovl_En_Sth2.reloc.o" +endseg + +beginseg + name "ovl_En_Yb" + compress + include "build/src/overlays/actors/ovl_En_Yb/z_en_yb.o" + include "build/data/ovl_En_Yb/ovl_En_Yb.data.o" + include "build/data/ovl_En_Yb/ovl_En_Yb.reloc.o" +endseg + +beginseg + name "ovl_En_Rz" + compress + include "build/src/overlays/actors/ovl_En_Rz/z_en_rz.o" + include "build/data/ovl_En_Rz/ovl_En_Rz.data.o" + include "build/data/ovl_En_Rz/ovl_En_Rz.reloc.o" +endseg + +beginseg + name "ovl_En_Scopecoin" + compress + include "build/src/overlays/actors/ovl_En_Scopecoin/z_en_scopecoin.o" + include "build/src/overlays/actors/ovl_En_Scopecoin/ovl_En_Scopecoin_reloc.o" +endseg + +beginseg + name "ovl_En_Bjt" + compress + include "build/src/overlays/actors/ovl_En_Bjt/z_en_bjt.o" + include "build/data/ovl_En_Bjt/ovl_En_Bjt.data.o" + include "build/data/ovl_En_Bjt/ovl_En_Bjt.reloc.o" +endseg + +beginseg + name "ovl_En_Bomjima" + compress + include "build/src/overlays/actors/ovl_En_Bomjima/z_en_bomjima.o" + include "build/data/ovl_En_Bomjima/ovl_En_Bomjima.data.o" + include "build/data/ovl_En_Bomjima/ovl_En_Bomjima.reloc.o" +endseg + +beginseg + name "ovl_En_Bomjimb" + compress + include "build/src/overlays/actors/ovl_En_Bomjimb/z_en_bomjimb.o" + include "build/data/ovl_En_Bomjimb/ovl_En_Bomjimb.data.o" + include "build/data/ovl_En_Bomjimb/ovl_En_Bomjimb.reloc.o" +endseg + +beginseg + name "ovl_En_Bombers" + compress + include "build/src/overlays/actors/ovl_En_Bombers/z_en_bombers.o" + include "build/data/ovl_En_Bombers/ovl_En_Bombers.data.o" + include "build/data/ovl_En_Bombers/ovl_En_Bombers.reloc.o" +endseg + +beginseg + name "ovl_En_Bombers2" + compress + include "build/src/overlays/actors/ovl_En_Bombers2/z_en_bombers2.o" + include "build/data/ovl_En_Bombers2/ovl_En_Bombers2.data.o" + include "build/data/ovl_En_Bombers2/ovl_En_Bombers2.reloc.o" +endseg + +beginseg + name "ovl_En_Bombal" + compress + include "build/src/overlays/actors/ovl_En_Bombal/z_en_bombal.o" + include "build/data/ovl_En_Bombal/ovl_En_Bombal.data.o" + include "build/data/ovl_En_Bombal/ovl_En_Bombal.reloc.o" +endseg + +beginseg + name "ovl_Obj_Moon_Stone" + compress + include "build/src/overlays/actors/ovl_Obj_Moon_Stone/z_obj_moon_stone.o" + include "build/src/overlays/actors/ovl_Obj_Moon_Stone/ovl_Obj_Moon_Stone_reloc.o" +endseg + +beginseg + name "ovl_Obj_Mu_Pict" + compress + include "build/src/overlays/actors/ovl_Obj_Mu_Pict/z_obj_mu_pict.o" + include "build/src/overlays/actors/ovl_Obj_Mu_Pict/ovl_Obj_Mu_Pict_reloc.o" +endseg + +beginseg + name "ovl_Bg_Ikninside" + compress + include "build/src/overlays/actors/ovl_Bg_Ikninside/z_bg_ikninside.o" + include "build/data/ovl_Bg_Ikninside/ovl_Bg_Ikninside.data.o" + include "build/data/ovl_Bg_Ikninside/ovl_Bg_Ikninside.reloc.o" +endseg + +beginseg + name "ovl_Eff_Zoraband" + compress + include "build/src/overlays/actors/ovl_Eff_Zoraband/z_eff_zoraband.o" + include "build/data/ovl_Eff_Zoraband/ovl_Eff_Zoraband.data.o" + include "build/data/ovl_Eff_Zoraband/ovl_Eff_Zoraband.reloc.o" +endseg + +beginseg + name "ovl_Obj_Kepn_Koya" + compress + include "build/src/overlays/actors/ovl_Obj_Kepn_Koya/z_obj_kepn_koya.o" + include "build/src/overlays/actors/ovl_Obj_Kepn_Koya/ovl_Obj_Kepn_Koya_reloc.o" +endseg + +beginseg + name "ovl_Obj_Usiyane" + compress + include "build/src/overlays/actors/ovl_Obj_Usiyane/z_obj_usiyane.o" + include "build/data/ovl_Obj_Usiyane/ovl_Obj_Usiyane.data.o" + include "build/data/ovl_Obj_Usiyane/ovl_Obj_Usiyane.reloc.o" +endseg + +beginseg + name "ovl_En_Nnh" + compress + include "build/src/overlays/actors/ovl_En_Nnh/z_en_nnh.o" + include "build/src/overlays/actors/ovl_En_Nnh/ovl_En_Nnh_reloc.o" +endseg + +beginseg + name "ovl_Obj_Kzsaku" + compress + include "build/src/overlays/actors/ovl_Obj_Kzsaku/z_obj_kzsaku.o" + include "build/data/ovl_Obj_Kzsaku/ovl_Obj_Kzsaku.data.o" + include "build/data/ovl_Obj_Kzsaku/ovl_Obj_Kzsaku.reloc.o" +endseg + +beginseg + name "ovl_Obj_Milk_Bin" + compress + include "build/src/overlays/actors/ovl_Obj_Milk_Bin/z_obj_milk_bin.o" + include "build/src/overlays/actors/ovl_Obj_Milk_Bin/ovl_Obj_Milk_Bin_reloc.o" +endseg + +beginseg + name "ovl_En_Kitan" + compress + include "build/src/overlays/actors/ovl_En_Kitan/z_en_kitan.o" + include "build/data/ovl_En_Kitan/ovl_En_Kitan.data.o" + include "build/data/ovl_En_Kitan/ovl_En_Kitan.reloc.o" +endseg + +beginseg + name "ovl_Bg_Astr_Bombwall" + compress + include "build/src/overlays/actors/ovl_Bg_Astr_Bombwall/z_bg_astr_bombwall.o" + include "build/data/ovl_Bg_Astr_Bombwall/ovl_Bg_Astr_Bombwall.data.o" + include "build/data/ovl_Bg_Astr_Bombwall/ovl_Bg_Astr_Bombwall.reloc.o" +endseg + +beginseg + name "ovl_Bg_Iknin_Susceil" + compress + include "build/src/overlays/actors/ovl_Bg_Iknin_Susceil/z_bg_iknin_susceil.o" + include "build/src/overlays/actors/ovl_Bg_Iknin_Susceil/ovl_Bg_Iknin_Susceil_reloc.o" +endseg + +beginseg + name "ovl_En_Bsb" + compress + include "build/src/overlays/actors/ovl_En_Bsb/z_en_bsb.o" + include "build/data/ovl_En_Bsb/ovl_En_Bsb.data.o" + include "build/data/ovl_En_Bsb/ovl_En_Bsb.reloc.o" +endseg + +beginseg + name "ovl_En_Recepgirl" + compress + include "build/src/overlays/actors/ovl_En_Recepgirl/z_en_recepgirl.o" + include "build/data/ovl_En_Recepgirl/ovl_En_Recepgirl.data.o" + include "build/data/ovl_En_Recepgirl/ovl_En_Recepgirl.reloc.o" +endseg + +beginseg + name "ovl_En_Thiefbird" + compress + include "build/src/overlays/actors/ovl_En_Thiefbird/z_en_thiefbird.o" + include "build/data/ovl_En_Thiefbird/ovl_En_Thiefbird.data.o" + include "build/data/ovl_En_Thiefbird/ovl_En_Thiefbird.bss.o" + include "build/data/ovl_En_Thiefbird/ovl_En_Thiefbird.reloc.o" +endseg + +beginseg + name "ovl_En_Jgame_Tsn" + compress + include "build/src/overlays/actors/ovl_En_Jgame_Tsn/z_en_jgame_tsn.o" + include "build/data/ovl_En_Jgame_Tsn/ovl_En_Jgame_Tsn.data.o" + include "build/data/ovl_En_Jgame_Tsn/ovl_En_Jgame_Tsn.reloc.o" +endseg + +beginseg + name "ovl_Obj_Jgame_Light" + compress + include "build/src/overlays/actors/ovl_Obj_Jgame_Light/z_obj_jgame_light.o" + include "build/data/ovl_Obj_Jgame_Light/ovl_Obj_Jgame_Light.data.o" + include "build/data/ovl_Obj_Jgame_Light/ovl_Obj_Jgame_Light.reloc.o" +endseg + +beginseg + name "ovl_Obj_Yado" + compress + include "build/src/overlays/actors/ovl_Obj_Yado/z_obj_yado.o" + include "build/data/ovl_Obj_Yado/ovl_Obj_Yado.data.o" + include "build/data/ovl_Obj_Yado/ovl_Obj_Yado.bss.o" + include "build/data/ovl_Obj_Yado/ovl_Obj_Yado.reloc.o" +endseg + +beginseg + name "ovl_Demo_Syoten" + compress + include "build/src/overlays/actors/ovl_Demo_Syoten/z_demo_syoten.o" + include "build/data/ovl_Demo_Syoten/ovl_Demo_Syoten.data.o" + include "build/data/ovl_Demo_Syoten/ovl_Demo_Syoten.reloc.o" +endseg + +beginseg + name "ovl_Demo_Moonend" + compress + include "build/src/overlays/actors/ovl_Demo_Moonend/z_demo_moonend.o" + include "build/data/ovl_Demo_Moonend/ovl_Demo_Moonend.data.o" + include "build/data/ovl_Demo_Moonend/ovl_Demo_Moonend.reloc.o" +endseg + +beginseg + name "ovl_Bg_Lbfshot" + compress + include "build/src/overlays/actors/ovl_Bg_Lbfshot/z_bg_lbfshot.o" + include "build/src/overlays/actors/ovl_Bg_Lbfshot/ovl_Bg_Lbfshot_reloc.o" +endseg + +beginseg + name "ovl_Bg_Last_Bwall" + compress + include "build/src/overlays/actors/ovl_Bg_Last_Bwall/z_bg_last_bwall.o" + include "build/data/ovl_Bg_Last_Bwall/ovl_Bg_Last_Bwall.data.o" + include "build/data/ovl_Bg_Last_Bwall/ovl_Bg_Last_Bwall.reloc.o" +endseg + +beginseg + name "ovl_En_And" + compress + include "build/src/overlays/actors/ovl_En_And/z_en_and.o" + include "build/data/ovl_En_And/ovl_En_And.data.o" + include "build/data/ovl_En_And/ovl_En_And.reloc.o" +endseg + +beginseg + name "ovl_En_Invadepoh_Demo" + compress + include "build/src/overlays/actors/ovl_En_Invadepoh_Demo/z_en_invadepoh_demo.o" + include "build/data/ovl_En_Invadepoh_Demo/ovl_En_Invadepoh_Demo.data.o" + include "build/data/ovl_En_Invadepoh_Demo/ovl_En_Invadepoh_Demo.bss.o" + include "build/data/ovl_En_Invadepoh_Demo/ovl_En_Invadepoh_Demo.reloc.o" +endseg + +beginseg + name "ovl_Obj_Danpeilift" + compress + include "build/src/overlays/actors/ovl_Obj_Danpeilift/z_obj_danpeilift.o" + include "build/data/ovl_Obj_Danpeilift/ovl_Obj_Danpeilift.data.o" + include "build/data/ovl_Obj_Danpeilift/ovl_Obj_Danpeilift.reloc.o" +endseg + +beginseg + name "ovl_En_Fall2" + compress + include "build/src/overlays/actors/ovl_En_Fall2/z_en_fall2.o" + include "build/data/ovl_En_Fall2/ovl_En_Fall2.data.o" + include "build/data/ovl_En_Fall2/ovl_En_Fall2.reloc.o" +endseg + +beginseg + name "ovl_Dm_Al" + compress + include "build/src/overlays/actors/ovl_Dm_Al/z_dm_al.o" + include "build/data/ovl_Dm_Al/ovl_Dm_Al.data.o" + include "build/data/ovl_Dm_Al/ovl_Dm_Al.reloc.o" +endseg + +beginseg + name "ovl_Dm_An" + compress + include "build/src/overlays/actors/ovl_Dm_An/z_dm_an.o" + include "build/data/ovl_Dm_An/ovl_Dm_An.data.o" + include "build/data/ovl_Dm_An/ovl_Dm_An.reloc.o" +endseg + +beginseg + name "ovl_Dm_Ah" + compress + include "build/src/overlays/actors/ovl_Dm_Ah/z_dm_ah.o" + include "build/data/ovl_Dm_Ah/ovl_Dm_Ah.data.o" + include "build/data/ovl_Dm_Ah/ovl_Dm_Ah.reloc.o" +endseg + +beginseg + name "ovl_Dm_Nb" + compress + include "build/src/overlays/actors/ovl_Dm_Nb/z_dm_nb.o" + include "build/src/overlays/actors/ovl_Dm_Nb/ovl_Dm_Nb_reloc.o" +endseg + +beginseg + name "ovl_En_Drs" + compress + include "build/src/overlays/actors/ovl_En_Drs/z_en_drs.o" + include "build/data/ovl_En_Drs/ovl_En_Drs.data.o" + include "build/data/ovl_En_Drs/ovl_En_Drs.reloc.o" +endseg + +beginseg + name "ovl_En_Ending_Hero" + compress + include "build/src/overlays/actors/ovl_En_Ending_Hero/z_en_ending_hero.o" + include "build/src/overlays/actors/ovl_En_Ending_Hero/ovl_En_Ending_Hero_reloc.o" +endseg + +beginseg + name "ovl_Dm_Bal" + compress + include "build/src/overlays/actors/ovl_Dm_Bal/z_dm_bal.o" + include "build/data/ovl_Dm_Bal/ovl_Dm_Bal.data.o" + include "build/data/ovl_Dm_Bal/ovl_Dm_Bal.reloc.o" +endseg + +beginseg + name "ovl_En_Paper" + compress + include "build/src/overlays/actors/ovl_En_Paper/z_en_paper.o" + include "build/data/ovl_En_Paper/ovl_En_Paper.data.o" + include "build/data/ovl_En_Paper/ovl_En_Paper.reloc.o" +endseg + +beginseg + name "ovl_En_Hint_Skb" + compress + include "build/src/overlays/actors/ovl_En_Hint_Skb/z_en_hint_skb.o" + include "build/data/ovl_En_Hint_Skb/ovl_En_Hint_Skb.data.o" + include "build/data/ovl_En_Hint_Skb/ovl_En_Hint_Skb.reloc.o" +endseg + +beginseg + name "ovl_Dm_Tag" + compress + include "build/src/overlays/actors/ovl_Dm_Tag/z_dm_tag.o" + include "build/data/ovl_Dm_Tag/ovl_Dm_Tag.data.o" + include "build/data/ovl_Dm_Tag/ovl_Dm_Tag.reloc.o" +endseg + +beginseg + name "ovl_En_Bh" + compress + include "build/src/overlays/actors/ovl_En_Bh/z_en_bh.o" + include "build/data/ovl_En_Bh/ovl_En_Bh.data.o" + include "build/data/ovl_En_Bh/ovl_En_Bh.reloc.o" +endseg + +beginseg + name "ovl_En_Ending_Hero2" + compress + include "build/src/overlays/actors/ovl_En_Ending_Hero2/z_en_ending_hero2.o" + include "build/src/overlays/actors/ovl_En_Ending_Hero2/ovl_En_Ending_Hero2_reloc.o" +endseg + +beginseg + name "ovl_En_Ending_Hero3" + compress + include "build/src/overlays/actors/ovl_En_Ending_Hero3/z_en_ending_hero3.o" + include "build/src/overlays/actors/ovl_En_Ending_Hero3/ovl_En_Ending_Hero3_reloc.o" +endseg + +beginseg + name "ovl_En_Ending_Hero4" + compress + include "build/src/overlays/actors/ovl_En_Ending_Hero4/z_en_ending_hero4.o" + include "build/src/overlays/actors/ovl_En_Ending_Hero4/ovl_En_Ending_Hero4_reloc.o" +endseg + +beginseg + name "ovl_En_Ending_Hero5" + compress + include "build/src/overlays/actors/ovl_En_Ending_Hero5/z_en_ending_hero5.o" + include "build/src/overlays/actors/ovl_En_Ending_Hero5/ovl_En_Ending_Hero5_reloc.o" +endseg + +beginseg + name "ovl_En_Ending_Hero6" + compress + include "build/src/overlays/actors/ovl_En_Ending_Hero6/z_en_ending_hero6.o" + include "build/data/ovl_En_Ending_Hero6/ovl_En_Ending_Hero6.data.o" + include "build/data/ovl_En_Ending_Hero6/ovl_En_Ending_Hero6.reloc.o" +endseg + +beginseg + name "ovl_Dm_Gm" + compress + include "build/src/overlays/actors/ovl_Dm_Gm/z_dm_gm.o" + include "build/data/ovl_Dm_Gm/ovl_Dm_Gm.data.o" + include "build/data/ovl_Dm_Gm/ovl_Dm_Gm.reloc.o" +endseg + +beginseg + name "ovl_Obj_Swprize" + compress + include "build/src/overlays/actors/ovl_Obj_Swprize/z_obj_swprize.o" + include "build/data/ovl_Obj_Swprize/ovl_Obj_Swprize.data.o" + include "build/data/ovl_Obj_Swprize/ovl_Obj_Swprize.reloc.o" +endseg + +beginseg + name "ovl_En_Invisible_Ruppe" + compress + include "build/src/overlays/actors/ovl_En_Invisible_Ruppe/z_en_invisible_ruppe.o" + include "build/data/ovl_En_Invisible_Ruppe/ovl_En_Invisible_Ruppe.data.o" + include "build/data/ovl_En_Invisible_Ruppe/ovl_En_Invisible_Ruppe.reloc.o" +endseg + +beginseg + name "ovl_Obj_Ending" + compress + include "build/src/overlays/actors/ovl_Obj_Ending/z_obj_ending.o" + include "build/src/overlays/actors/ovl_Obj_Ending/ovl_Obj_Ending_reloc.o" +endseg + +beginseg + name "ovl_En_Rsn" + compress + include "build/src/overlays/actors/ovl_En_Rsn/z_en_rsn.o" + include "build/src/overlays/actors/ovl_En_Rsn/ovl_En_Rsn_reloc.o" +endseg + +beginseg + name "gameplay_keep" + compress + romalign 0x1000 + include "build/baserom/gameplay_keep.o" +endseg + +beginseg + name "gameplay_field_keep" + compress + romalign 0x1000 + include "build/baserom/gameplay_field_keep.o" +endseg + +beginseg + name "gameplay_dangeon_keep" + compress + romalign 0x1000 + include "build/baserom/gameplay_dangeon_keep.o" +endseg + +beginseg + name "gameplay_object_exchange_static" + compress + romalign 0x1000 + include "build/baserom/gameplay_object_exchange_static.o" +endseg + +beginseg + name "object_link_boy" + compress + romalign 0x1000 + include "build/baserom/object_link_boy.o" +endseg + +beginseg + name "object_link_child" + compress + romalign 0x1000 + include "build/baserom/object_link_child.o" +endseg + +beginseg + name "object_link_goron" + compress + romalign 0x1000 + include "build/baserom/object_link_goron.o" +endseg + +beginseg + name "object_link_zora" + compress + romalign 0x1000 + include "build/baserom/object_link_zora.o" +endseg + +beginseg + name "object_link_nuts" + compress + romalign 0x1000 + include "build/baserom/object_link_nuts.o" +endseg + +beginseg + name "object_mask_ki_tan" + compress + romalign 0x1000 + include "build/baserom/object_mask_ki_tan.o" +endseg + +beginseg + name "object_mask_rabit" + compress + romalign 0x1000 + include "build/baserom/object_mask_rabit.o" +endseg + +beginseg + name "object_mask_skj" + compress + romalign 0x1000 + include "build/baserom/object_mask_skj.o" +endseg + +beginseg + name "object_mask_truth" + compress + romalign 0x1000 + include "build/baserom/object_mask_truth.o" +endseg + +beginseg + name "object_mask_gibudo" + compress + romalign 0x1000 + include "build/baserom/object_mask_gibudo.o" +endseg + +beginseg + name "object_mask_json" + compress + romalign 0x1000 + include "build/baserom/object_mask_json.o" +endseg + +beginseg + name "object_mask_kerfay" + compress + romalign 0x1000 + include "build/baserom/object_mask_kerfay.o" +endseg + +beginseg + name "object_mask_bigelf" + compress + romalign 0x1000 + include "build/baserom/object_mask_bigelf.o" +endseg + +beginseg + name "object_mask_kyojin" + compress + romalign 0x1000 + include "build/baserom/object_mask_kyojin.o" +endseg + +beginseg + name "object_mask_romerny" + compress + romalign 0x1000 + include "build/baserom/object_mask_romerny.o" +endseg + +beginseg + name "object_mask_posthat" + compress + romalign 0x1000 + include "build/baserom/object_mask_posthat.o" +endseg + +beginseg + name "object_mask_zacho" + compress + romalign 0x1000 + include "build/baserom/object_mask_zacho.o" +endseg + +beginseg + name "object_mask_stone" + compress + romalign 0x1000 + include "build/baserom/object_mask_stone.o" +endseg + +beginseg + name "object_mask_bree" + compress + romalign 0x1000 + include "build/baserom/object_mask_bree.o" +endseg + +beginseg + name "object_mask_gero" + compress + romalign 0x1000 + include "build/baserom/object_mask_gero.o" +endseg + +beginseg + name "object_mask_yofukasi" + compress + romalign 0x1000 + include "build/baserom/object_mask_yofukasi.o" +endseg + +beginseg + name "object_mask_meoto" + compress + romalign 0x1000 + include "build/baserom/object_mask_meoto.o" +endseg + +beginseg + name "object_mask_dancer" + compress + romalign 0x1000 + include "build/baserom/object_mask_dancer.o" +endseg + +beginseg + name "object_mask_bakuretu" + compress + romalign 0x1000 + include "build/baserom/object_mask_bakuretu.o" +endseg + +beginseg + name "object_mask_bu_san" + compress + romalign 0x1000 + include "build/baserom/object_mask_bu_san.o" +endseg + +beginseg + name "object_mask_goron" + compress + romalign 0x1000 + include "build/baserom/object_mask_goron.o" +endseg + +beginseg + name "object_mask_zora" + compress + romalign 0x1000 + include "build/baserom/object_mask_zora.o" +endseg + +beginseg + name "object_mask_nuts" + compress + romalign 0x1000 + include "build/baserom/object_mask_nuts.o" +endseg + +beginseg + name "object_mask_boy" + compress + romalign 0x1000 + include "build/baserom/object_mask_boy.o" +endseg + +beginseg + name "object_box" + compress + romalign 0x1000 + include "build/baserom/object_box.o" +endseg + +beginseg + name "object_okuta" + compress + romalign 0x1000 + include "build/baserom/object_okuta.o" +endseg + +beginseg + name "object_wallmaster" + compress + romalign 0x1000 + include "build/baserom/object_wallmaster.o" +endseg + +beginseg + name "object_dy_obj" + compress + romalign 0x1000 + include "build/baserom/object_dy_obj.o" +endseg + +beginseg + name "object_firefly" + compress + romalign 0x1000 + include "build/baserom/object_firefly.o" +endseg + +beginseg + name "object_dodongo" + compress + romalign 0x1000 + include "build/baserom/object_dodongo.o" +endseg + +beginseg + name "object_niw" + compress + romalign 0x1000 + include "build/baserom/object_niw.o" +endseg + +beginseg + name "object_tite" + compress + romalign 0x1000 + include "build/baserom/object_tite.o" +endseg + +beginseg + name "object_ph" + compress + romalign 0x1000 + include "build/baserom/object_ph.o" +endseg + +beginseg + name "object_dinofos" + compress + romalign 0x1000 + include "build/baserom/object_dinofos.o" +endseg + +beginseg + name "object_zl1" + compress + romalign 0x1000 + include "build/baserom/object_zl1.o" +endseg + +beginseg + name "object_bubble" + compress + romalign 0x1000 + include "build/baserom/object_bubble.o" +endseg + +beginseg + name "object_test3" + compress + romalign 0x1000 + include "build/baserom/object_test3.o" +endseg + +beginseg + name "object_famos" + compress + romalign 0x1000 + include "build/baserom/object_famos.o" +endseg + +beginseg + name "object_st" + compress + romalign 0x1000 + include "build/baserom/object_st.o" +endseg + +beginseg + name "object_thiefbird" + compress + romalign 0x1000 + include "build/baserom/object_thiefbird.o" +endseg + +beginseg + name "object_bombf" + compress + romalign 0x1000 + include "build/baserom/object_bombf.o" +endseg + +beginseg + name "object_am" + compress + romalign 0x1000 + include "build/baserom/object_am.o" +endseg + +beginseg + name "object_dekubaba" + compress + romalign 0x1000 + include "build/baserom/object_dekubaba.o" +endseg + +beginseg + name "object_warp1" + compress + romalign 0x1000 + include "build/baserom/object_warp1.o" +endseg + +beginseg + name "object_b_heart" + compress + romalign 0x1000 + include "build/baserom/object_b_heart.o" +endseg + +beginseg + name "object_dekunuts" + compress + romalign 0x1000 + include "build/baserom/object_dekunuts.o" +endseg + +beginseg + name "object_bb" + compress + romalign 0x1000 + include "build/baserom/object_bb.o" +endseg + +beginseg + name "object_death" + compress + romalign 0x1000 + include "build/baserom/object_death.o" +endseg + +beginseg + name "object_hata" + compress + romalign 0x1000 + include "build/baserom/object_hata.o" +endseg + +beginseg + name "object_wood02" + compress + romalign 0x1000 + include "build/baserom/object_wood02.o" +endseg + +beginseg + name "object_trap" + compress + romalign 0x1000 + include "build/baserom/object_trap.o" +endseg + +beginseg + name "object_vm" + compress + romalign 0x1000 + include "build/baserom/object_vm.o" +endseg + +beginseg + name "object_efc_star_field" + compress + romalign 0x1000 + include "build/baserom/object_efc_star_field.o" +endseg + +beginseg + name "object_rd" + compress + romalign 0x1000 + include "build/baserom/object_rd.o" +endseg + +beginseg + name "object_yukimura_obj" + compress + romalign 0x1000 + include "build/baserom/object_yukimura_obj.o" +endseg + +beginseg + name "object_horse_link_child" + compress + romalign 0x1000 + include "build/baserom/object_horse_link_child.o" +endseg + +beginseg + name "object_syokudai" + compress + romalign 0x1000 + include "build/baserom/object_syokudai.o" +endseg + +beginseg + name "object_efc_tw" + compress + romalign 0x1000 + include "build/baserom/object_efc_tw.o" +endseg + +beginseg + name "object_gi_key" + compress + romalign 0x1000 + include "build/baserom/object_gi_key.o" +endseg + +beginseg + name "object_mir_ray" + compress + romalign 0x1000 + include "build/baserom/object_mir_ray.o" +endseg + +beginseg + name "object_ctower_rot" + compress + romalign 0x1000 + include "build/baserom/object_ctower_rot.o" +endseg + +beginseg + name "object_bdoor" + compress + romalign 0x1000 + include "build/baserom/object_bdoor.o" +endseg + +beginseg + name "object_sb" + compress + romalign 0x1000 + include "build/baserom/object_sb.o" +endseg + +beginseg + name "object_gi_melody" + compress + romalign 0x1000 + include "build/baserom/object_gi_melody.o" +endseg + +beginseg + name "object_gi_heart" + compress + romalign 0x1000 + include "build/baserom/object_gi_heart.o" +endseg + +beginseg + name "object_gi_compass" + compress + romalign 0x1000 + include "build/baserom/object_gi_compass.o" +endseg + +beginseg + name "object_gi_bosskey" + compress + romalign 0x1000 + include "build/baserom/object_gi_bosskey.o" +endseg + +beginseg + name "object_gi_nuts" + compress + romalign 0x1000 + include "build/baserom/object_gi_nuts.o" +endseg + +beginseg + name "object_gi_hearts" + compress + romalign 0x1000 + include "build/baserom/object_gi_hearts.o" +endseg + +beginseg + name "object_gi_arrowcase" + compress + romalign 0x1000 + include "build/baserom/object_gi_arrowcase.o" +endseg + +beginseg + name "object_gi_bombpouch" + compress + romalign 0x1000 + include "build/baserom/object_gi_bombpouch.o" +endseg + +beginseg + name "object_in" + compress + romalign 0x1000 + include "build/baserom/object_in.o" +endseg + +beginseg + name "object_os_anime" + compress + romalign 0x1000 + include "build/baserom/object_os_anime.o" +endseg + +beginseg + name "object_gi_bottle" + compress + romalign 0x1000 + include "build/baserom/object_gi_bottle.o" +endseg + +beginseg + name "object_gi_stick" + compress + romalign 0x1000 + include "build/baserom/object_gi_stick.o" +endseg + +beginseg + name "object_gi_map" + compress + romalign 0x1000 + include "build/baserom/object_gi_map.o" +endseg + +beginseg + name "object_oF1d_map" + compress + romalign 0x1000 + include "build/baserom/object_oF1d_map.o" +endseg + +beginseg + name "object_ru2" + compress + romalign 0x1000 + include "build/baserom/object_ru2.o" +endseg + +beginseg + name "object_gi_magicpot" + compress + romalign 0x1000 + include "build/baserom/object_gi_magicpot.o" +endseg + +beginseg + name "object_gi_bomb_1" + compress + romalign 0x1000 + include "build/baserom/object_gi_bomb_1.o" +endseg + +beginseg + name "object_ma2" + compress + romalign 0x1000 + include "build/baserom/object_ma2.o" +endseg + +beginseg + name "object_gi_purse" + compress + romalign 0x1000 + include "build/baserom/object_gi_purse.o" +endseg + +beginseg + name "object_rr" + compress + romalign 0x1000 + include "build/baserom/object_rr.o" +endseg + +beginseg + name "object_gi_arrow" + compress + romalign 0x1000 + include "build/baserom/object_gi_arrow.o" +endseg + +beginseg + name "object_gi_bomb_2" + compress + romalign 0x1000 + include "build/baserom/object_gi_bomb_2.o" +endseg + +beginseg + name "object_gi_shield_2" + compress + romalign 0x1000 + include "build/baserom/object_gi_shield_2.o" +endseg + +beginseg + name "object_gi_hookshot" + compress + romalign 0x1000 + include "build/baserom/object_gi_hookshot.o" +endseg + +beginseg + name "object_gi_ocarina" + compress + romalign 0x1000 + include "build/baserom/object_gi_ocarina.o" +endseg + +beginseg + name "object_gi_milk" + compress + romalign 0x1000 + include "build/baserom/object_gi_milk.o" +endseg + +beginseg + name "object_ma1" + compress + romalign 0x1000 + include "build/baserom/object_ma1.o" +endseg + +beginseg + name "object_ny" + compress + romalign 0x1000 + include "build/baserom/object_ny.o" +endseg + +beginseg + name "object_fr" + compress + romalign 0x1000 + include "build/baserom/object_fr.o" +endseg + +beginseg + name "object_gi_bow" + compress + romalign 0x1000 + include "build/baserom/object_gi_bow.o" +endseg + +beginseg + name "object_gi_glasses" + compress + romalign 0x1000 + include "build/baserom/object_gi_glasses.o" +endseg + +beginseg + name "object_gi_liquid" + compress + romalign 0x1000 + include "build/baserom/object_gi_liquid.o" +endseg + +beginseg + name "object_ani" + compress + romalign 0x1000 + include "build/baserom/object_ani.o" +endseg + +beginseg + name "object_gi_shield_3" + compress + romalign 0x1000 + include "build/baserom/object_gi_shield_3.o" +endseg + +beginseg + name "object_gi_bean" + compress + romalign 0x1000 + include "build/baserom/object_gi_bean.o" +endseg + +beginseg + name "object_gi_fish" + compress + romalign 0x1000 + include "build/baserom/object_gi_fish.o" +endseg + +beginseg + name "object_gi_longsword" + compress + romalign 0x1000 + include "build/baserom/object_gi_longsword.o" +endseg + +beginseg + name "object_zo" + compress + romalign 0x1000 + include "build/baserom/object_zo.o" +endseg + +beginseg + name "object_umajump" + compress + romalign 0x1000 + include "build/baserom/object_umajump.o" +endseg + +beginseg + name "object_mastergolon" + compress + romalign 0x1000 + include "build/baserom/object_mastergolon.o" +endseg + +beginseg + name "object_masterzoora" + compress + romalign 0x1000 + include "build/baserom/object_masterzoora.o" +endseg + +beginseg + name "object_aob" + compress + romalign 0x1000 + include "build/baserom/object_aob.o" +endseg + +beginseg + name "object_ik" + compress + romalign 0x1000 + include "build/baserom/object_ik.o" +endseg + +beginseg + name "object_ahg" + compress + romalign 0x1000 + include "build/baserom/object_ahg.o" +endseg + +beginseg + name "object_cne" + compress + romalign 0x1000 + include "build/baserom/object_cne.o" +endseg + +beginseg + name "object_bji" + compress + romalign 0x1000 + include "build/baserom/object_bji.o" +endseg + +beginseg + name "object_bba" + compress + romalign 0x1000 + include "build/baserom/object_bba.o" +endseg + +beginseg + name "object_an1" + compress + romalign 0x1000 + include "build/baserom/object_an1.o" +endseg + +beginseg + name "object_boj" + compress + romalign 0x1000 + include "build/baserom/object_boj.o" +endseg + +beginseg + name "object_fz" + compress + romalign 0x1000 + include "build/baserom/object_fz.o" +endseg + +beginseg + name "object_bob" + compress + romalign 0x1000 + include "build/baserom/object_bob.o" +endseg + +beginseg + name "object_ge1" + compress + romalign 0x1000 + include "build/baserom/object_ge1.o" +endseg + +beginseg + name "object_yabusame_point" + compress + romalign 0x1000 + include "build/baserom/object_yabusame_point.o" +endseg + +beginseg + name "object_d_hsblock" + compress + romalign 0x1000 + include "build/baserom/object_d_hsblock.o" +endseg + +beginseg + name "object_d_lift" + compress + romalign 0x1000 + include "build/baserom/object_d_lift.o" +endseg + +beginseg + name "object_mamenoki" + compress + romalign 0x1000 + include "build/baserom/object_mamenoki.o" +endseg + +beginseg + name "object_goroiwa" + compress + romalign 0x1000 + include "build/baserom/object_goroiwa.o" +endseg + +beginseg + name "object_toryo" + compress + romalign 0x1000 + include "build/baserom/object_toryo.o" +endseg + +beginseg + name "object_daiku" + compress + romalign 0x1000 + include "build/baserom/object_daiku.o" +endseg + +beginseg + name "object_nwc" + compress + romalign 0x1000 + include "build/baserom/object_nwc.o" +endseg + +beginseg + name "object_gm" + compress + romalign 0x1000 + include "build/baserom/object_gm.o" +endseg + +beginseg + name "object_ms" + compress + romalign 0x1000 + include "build/baserom/object_ms.o" +endseg + +beginseg + name "object_hs" + compress + romalign 0x1000 + include "build/baserom/object_hs.o" +endseg + +beginseg + name "object_lightswitch" + compress + romalign 0x1000 + include "build/baserom/object_lightswitch.o" +endseg + +beginseg + name "object_kusa" + compress + romalign 0x1000 + include "build/baserom/object_kusa.o" +endseg + +beginseg + name "object_tsubo" + compress + romalign 0x1000 + include "build/baserom/object_tsubo.o" +endseg + +beginseg + name "object_kanban" + compress + romalign 0x1000 + include "build/baserom/object_kanban.o" +endseg + +beginseg + name "object_owl" + compress + romalign 0x1000 + include "build/baserom/object_owl.o" +endseg + +beginseg + name "object_mk" + compress + romalign 0x1000 + include "build/baserom/object_mk.o" +endseg + +beginseg + name "object_fu" + compress + romalign 0x1000 + include "build/baserom/object_fu.o" +endseg + +beginseg + name "object_gi_ki_tan_mask" + compress + romalign 0x1000 + include "build/baserom/object_gi_ki_tan_mask.o" +endseg + +beginseg + name "object_gi_mask18" + compress + romalign 0x1000 + include "build/baserom/object_gi_mask18.o" +endseg + +beginseg + name "object_gi_rabit_mask" + compress + romalign 0x1000 + include "build/baserom/object_gi_rabit_mask.o" +endseg + +beginseg + name "object_gi_truth_mask" + compress + romalign 0x1000 + include "build/baserom/object_gi_truth_mask.o" +endseg + +beginseg + name "object_stream" + compress + romalign 0x1000 + include "build/baserom/object_stream.o" +endseg + +beginseg + name "object_mm" + compress + romalign 0x1000 + include "build/baserom/object_mm.o" +endseg + +beginseg + name "object_js" + compress + romalign 0x1000 + include "build/baserom/object_js.o" +endseg + +beginseg + name "object_cs" + compress + romalign 0x1000 + include "build/baserom/object_cs.o" +endseg + +beginseg + name "object_gi_soldout" + compress + romalign 0x1000 + include "build/baserom/object_gi_soldout.o" +endseg + +beginseg + name "object_mag" + compress + romalign 0x1000 + include "build/baserom/object_mag.o" +endseg + +beginseg + name "object_gi_golonmask" + compress + romalign 0x1000 + include "build/baserom/object_gi_golonmask.o" +endseg + +beginseg + name "object_gi_zoramask" + compress + romalign 0x1000 + include "build/baserom/object_gi_zoramask.o" +endseg + +beginseg + name "object_ka" + compress + romalign 0x1000 + include "build/baserom/object_ka.o" +endseg + +beginseg + name "object_zg" + compress + romalign 0x1000 + include "build/baserom/object_zg.o" +endseg + +beginseg + name "object_gi_m_arrow" + compress + romalign 0x1000 + include "build/baserom/object_gi_m_arrow.o" +endseg + +beginseg + name "object_ds2" + compress + romalign 0x1000 + include "build/baserom/object_ds2.o" +endseg + +beginseg + name "object_fish" + compress + romalign 0x1000 + include "build/baserom/object_fish.o" +endseg + +beginseg + name "object_gi_sutaru" + compress + romalign 0x1000 + include "build/baserom/object_gi_sutaru.o" +endseg + +beginseg + name "object_ssh" + compress + romalign 0x1000 + include "build/baserom/object_ssh.o" +endseg + +beginseg + name "object_bigslime" + compress + romalign 0x1000 + include "build/baserom/object_bigslime.o" +endseg + +beginseg + name "object_bg" + compress + romalign 0x1000 + include "build/baserom/object_bg.o" +endseg + +beginseg + name "object_bombiwa" + compress + romalign 0x1000 + include "build/baserom/object_bombiwa.o" +endseg + +beginseg + name "object_hintnuts" + compress + romalign 0x1000 + include "build/baserom/object_hintnuts.o" +endseg + +beginseg + name "object_rs" + compress + romalign 0x1000 + include "build/baserom/object_rs.o" +endseg + +beginseg + name "object_gla" + compress + romalign 0x1000 + include "build/baserom/object_gla.o" +endseg + +beginseg + name "object_geldb" + compress + romalign 0x1000 + include "build/baserom/object_geldb.o" +endseg + +beginseg + name "object_dog" + compress + romalign 0x1000 + include "build/baserom/object_dog.o" +endseg + +beginseg + name "object_kibako2" + compress + romalign 0x1000 + include "build/baserom/object_kibako2.o" +endseg + +beginseg + name "object_dns" + compress + romalign 0x1000 + include "build/baserom/object_dns.o" +endseg + +beginseg + name "object_dnk" + compress + romalign 0x1000 + include "build/baserom/object_dnk.o" +endseg + +beginseg + name "object_gi_insect" + compress + romalign 0x1000 + include "build/baserom/object_gi_insect.o" +endseg + +beginseg + name "object_gi_ghost" + compress + romalign 0x1000 + include "build/baserom/object_gi_ghost.o" +endseg + +beginseg + name "object_gi_soul" + compress + romalign 0x1000 + include "build/baserom/object_gi_soul.o" +endseg + +beginseg + name "object_f40_obj" + compress + romalign 0x1000 + include "build/baserom/object_f40_obj.o" +endseg + +beginseg + name "object_gi_rupy" + compress + romalign 0x1000 + include "build/baserom/object_gi_rupy.o" +endseg + +beginseg + name "object_po_composer" + compress + romalign 0x1000 + include "build/baserom/object_po_composer.o" +endseg + +beginseg + name "object_mu" + compress + romalign 0x1000 + include "build/baserom/object_mu.o" +endseg + +beginseg + name "object_wf" + compress + romalign 0x1000 + include "build/baserom/object_wf.o" +endseg + +beginseg + name "object_skb" + compress + romalign 0x1000 + include "build/baserom/object_skb.o" +endseg + +beginseg + name "object_gs" + compress + romalign 0x1000 + include "build/baserom/object_gs.o" +endseg + +beginseg + name "object_ps" + compress + romalign 0x1000 + include "build/baserom/object_ps.o" +endseg + +beginseg + name "object_omoya_obj" + compress + romalign 0x1000 + include "build/baserom/object_omoya_obj.o" +endseg + +beginseg + name "object_crow" + compress + romalign 0x1000 + include "build/baserom/object_crow.o" +endseg + +beginseg + name "object_cow" + compress + romalign 0x1000 + include "build/baserom/object_cow.o" +endseg + +beginseg + name "object_gi_sword_1" + compress + romalign 0x1000 + include "build/baserom/object_gi_sword_1.o" +endseg + +beginseg + name "object_zl4" + compress + romalign 0x1000 + include "build/baserom/object_zl4.o" +endseg + +beginseg + name "object_grasshopper" + compress + romalign 0x1000 + include "build/baserom/object_grasshopper.o" +endseg + +beginseg + name "object_boyo" + compress + romalign 0x1000 + include "build/baserom/object_boyo.o" +endseg + +beginseg + name "object_fwall" + compress + romalign 0x1000 + include "build/baserom/object_fwall.o" +endseg + +beginseg + name "object_jso" + compress + romalign 0x1000 + include "build/baserom/object_jso.o" +endseg + +beginseg + name "object_knight" + compress + romalign 0x1000 + include "build/baserom/object_knight.o" +endseg + +beginseg + name "object_icicle" + compress + romalign 0x1000 + include "build/baserom/object_icicle.o" +endseg + +beginseg + name "object_spdweb" + compress + romalign 0x1000 + include "build/baserom/object_spdweb.o" +endseg + +beginseg + name "object_boss01" + compress + romalign 0x1000 + include "build/baserom/object_boss01.o" +endseg + +beginseg + name "object_boss02" + compress + romalign 0x1000 + include "build/baserom/object_boss02.o" +endseg + +beginseg + name "object_boss03" + compress + romalign 0x1000 + include "build/baserom/object_boss03.o" +endseg + +beginseg + name "object_boss04" + compress + romalign 0x1000 + include "build/baserom/object_boss04.o" +endseg + +beginseg + name "object_boss05" + compress + romalign 0x1000 + include "build/baserom/object_boss05.o" +endseg + +beginseg + name "object_boss07" + compress + romalign 0x1000 + include "build/baserom/object_boss07.o" +endseg + +beginseg + name "object_raf" + compress + romalign 0x1000 + include "build/baserom/object_raf.o" +endseg + +beginseg + name "object_funen" + compress + romalign 0x1000 + include "build/baserom/object_funen.o" +endseg + +beginseg + name "object_raillift" + compress + romalign 0x1000 + include "build/baserom/object_raillift.o" +endseg + +beginseg + name "object_numa_obj" + compress + romalign 0x1000 + include "build/baserom/object_numa_obj.o" +endseg + +beginseg + name "object_flowerpot" + compress + romalign 0x1000 + include "build/baserom/object_flowerpot.o" +endseg + +beginseg + name "object_spinyroll" + compress + romalign 0x1000 + include "build/baserom/object_spinyroll.o" +endseg + +beginseg + name "object_ice_block" + compress + romalign 0x1000 + include "build/baserom/object_ice_block.o" +endseg + +beginseg + name "object_keikoku_demo" + compress + romalign 0x1000 + include "build/baserom/object_keikoku_demo.o" +endseg + +beginseg + name "object_slime" + compress + romalign 0x1000 + include "build/baserom/object_slime.o" +endseg + +beginseg + name "object_pr" + compress + romalign 0x1000 + include "build/baserom/object_pr.o" +endseg + +beginseg + name "object_f52_obj" + compress + romalign 0x1000 + include "build/baserom/object_f52_obj.o" +endseg + +beginseg + name "object_f53_obj" + compress + romalign 0x1000 + include "build/baserom/object_f53_obj.o" +endseg + +beginseg + name "object_kibako" + compress + romalign 0x1000 + include "build/baserom/object_kibako.o" +endseg + +beginseg + name "object_sek" + compress + romalign 0x1000 + include "build/baserom/object_sek.o" +endseg + +beginseg + name "object_gmo" + compress + romalign 0x1000 + include "build/baserom/object_gmo.o" +endseg + +beginseg + name "object_bat" + compress + romalign 0x1000 + include "build/baserom/object_bat.o" +endseg + +beginseg + name "object_sekihil" + compress + romalign 0x1000 + include "build/baserom/object_sekihil.o" +endseg + +beginseg + name "object_sekihig" + compress + romalign 0x1000 + include "build/baserom/object_sekihig.o" +endseg + +beginseg + name "object_sekihin" + compress + romalign 0x1000 + include "build/baserom/object_sekihin.o" +endseg + +beginseg + name "object_sekihiz" + compress + romalign 0x1000 + include "build/baserom/object_sekihiz.o" +endseg + +beginseg + name "object_wiz" + compress + romalign 0x1000 + include "build/baserom/object_wiz.o" +endseg + +beginseg + name "object_ladder" + compress + romalign 0x1000 + include "build/baserom/object_ladder.o" +endseg + +beginseg + name "object_mkk" + compress + romalign 0x1000 + include "build/baserom/object_mkk.o" +endseg + +beginseg + name "object_keikoku_obj" + compress + romalign 0x1000 + include "build/baserom/object_keikoku_obj.o" +endseg + +beginseg + name "object_sichitai_obj" + compress + romalign 0x1000 + include "build/baserom/object_sichitai_obj.o" +endseg + +beginseg + name "object_dekucity_ana_obj" + compress + romalign 0x1000 + include "build/baserom/object_dekucity_ana_obj.o" +endseg + +beginseg + name "object_rat" + compress + romalign 0x1000 + include "build/baserom/object_rat.o" +endseg + +beginseg + name "object_water_effect" + compress + romalign 0x1000 + include "build/baserom/object_water_effect.o" +endseg + +beginseg + name "object_dblue_object" + compress + romalign 0x1000 + include "build/baserom/object_dblue_object.o" +endseg + +beginseg + name "object_bal" + compress + romalign 0x1000 + include "build/baserom/object_bal.o" +endseg + +beginseg + name "object_warp_uzu" + compress + romalign 0x1000 + include "build/baserom/object_warp_uzu.o" +endseg + +beginseg + name "object_driftice" + compress + romalign 0x1000 + include "build/baserom/object_driftice.o" +endseg + +beginseg + name "object_fall" + compress + romalign 0x1000 + include "build/baserom/object_fall.o" +endseg + +beginseg + name "object_hanareyama_obj" + compress + romalign 0x1000 + include "build/baserom/object_hanareyama_obj.o" +endseg + +beginseg + name "object_crace_object" + compress + romalign 0x1000 + include "build/baserom/object_crace_object.o" +endseg + +beginseg + name "object_dnq" + compress + romalign 0x1000 + include "build/baserom/object_dnq.o" +endseg + +beginseg + name "object_obj_tokeidai" + compress + romalign 0x1000 + include "build/baserom/object_obj_tokeidai.o" +endseg + +beginseg + name "object_eg" + compress + romalign 0x1000 + include "build/baserom/object_eg.o" +endseg + +beginseg + name "object_tru" + compress + romalign 0x1000 + include "build/baserom/object_tru.o" +endseg + +beginseg + name "object_trt" + compress + romalign 0x1000 + include "build/baserom/object_trt.o" +endseg + +beginseg + name "object_hakugin_obj" + compress + romalign 0x1000 + include "build/baserom/object_hakugin_obj.o" +endseg + +beginseg + name "object_horse_game_check" + compress + romalign 0x1000 + include "build/baserom/object_horse_game_check.o" +endseg + +beginseg + name "object_stk" + compress + romalign 0x1000 + include "build/baserom/object_stk.o" +endseg + +beginseg + name "object_mnk" + compress + romalign 0x1000 + include "build/baserom/object_mnk.o" +endseg + +beginseg + name "object_gi_bottle_red" + compress + romalign 0x1000 + include "build/baserom/object_gi_bottle_red.o" +endseg + +beginseg + name "object_tokei_tobira" + compress + romalign 0x1000 + include "build/baserom/object_tokei_tobira.o" +endseg + +beginseg + name "object_az" + compress + romalign 0x1000 + include "build/baserom/object_az.o" +endseg + +beginseg + name "object_twig" + compress + romalign 0x1000 + include "build/baserom/object_twig.o" +endseg + +beginseg + name "object_dekucity_obj" + compress + romalign 0x1000 + include "build/baserom/object_dekucity_obj.o" +endseg + +beginseg + name "object_po_fusen" + compress + romalign 0x1000 + include "build/baserom/object_po_fusen.o" +endseg + +beginseg + name "object_racetsubo" + compress + romalign 0x1000 + include "build/baserom/object_racetsubo.o" +endseg + +beginseg + name "object_ha" + compress + romalign 0x1000 + include "build/baserom/object_ha.o" +endseg + +beginseg + name "object_bigokuta" + compress + romalign 0x1000 + include "build/baserom/object_bigokuta.o" +endseg + +beginseg + name "object_open_obj" + compress + romalign 0x1000 + include "build/baserom/object_open_obj.o" +endseg + +beginseg + name "object_fu_kaiten" + compress + romalign 0x1000 + include "build/baserom/object_fu_kaiten.o" +endseg + +beginseg + name "object_fu_mato" + compress + romalign 0x1000 + include "build/baserom/object_fu_mato.o" +endseg + +beginseg + name "object_mtoride" + compress + romalign 0x1000 + include "build/baserom/object_mtoride.o" +endseg + +beginseg + name "object_osn" + compress + romalign 0x1000 + include "build/baserom/object_osn.o" +endseg + +beginseg + name "object_tokei_step" + compress + romalign 0x1000 + include "build/baserom/object_tokei_step.o" +endseg + +beginseg + name "object_lotus" + compress + romalign 0x1000 + include "build/baserom/object_lotus.o" +endseg + +beginseg + name "object_tl" + compress + romalign 0x1000 + include "build/baserom/object_tl.o" +endseg + +beginseg + name "object_dkjail_obj" + compress + romalign 0x1000 + include "build/baserom/object_dkjail_obj.o" +endseg + +beginseg + name "object_visiblock" + compress + romalign 0x1000 + include "build/baserom/object_visiblock.o" +endseg + +beginseg + name "object_tsn" + compress + romalign 0x1000 + include "build/baserom/object_tsn.o" +endseg + +beginseg + name "object_ds2n" + compress + romalign 0x1000 + include "build/baserom/object_ds2n.o" +endseg + +beginseg + name "object_fsn" + compress + romalign 0x1000 + include "build/baserom/object_fsn.o" +endseg + +beginseg + name "object_shn" + compress + romalign 0x1000 + include "build/baserom/object_shn.o" +endseg + +beginseg + name "object_bigicicle" + compress + romalign 0x1000 + include "build/baserom/object_bigicicle.o" +endseg + +beginseg + name "object_gi_bottle_15" + compress + romalign 0x1000 + include "build/baserom/object_gi_bottle_15.o" +endseg + +beginseg + name "object_tk" + compress + romalign 0x1000 + include "build/baserom/object_tk.o" +endseg + +beginseg + name "object_market_obj" + compress + romalign 0x1000 + include "build/baserom/object_market_obj.o" +endseg + +beginseg + name "object_gi_reserve00" + compress + romalign 0x1000 + include "build/baserom/object_gi_reserve00.o" +endseg + +beginseg + name "object_gi_reserve01" + compress + romalign 0x1000 + include "build/baserom/object_gi_reserve01.o" +endseg + +beginseg + name "object_lightblock" + compress + romalign 0x1000 + include "build/baserom/object_lightblock.o" +endseg + +beginseg + name "object_takaraya_objects" + compress + romalign 0x1000 + include "build/baserom/object_takaraya_objects.o" +endseg + +beginseg + name "object_wdhand" + compress + romalign 0x1000 + include "build/baserom/object_wdhand.o" +endseg + +beginseg + name "object_sdn" + compress + romalign 0x1000 + include "build/baserom/object_sdn.o" +endseg + +beginseg + name "object_snowwd" + compress + romalign 0x1000 + include "build/baserom/object_snowwd.o" +endseg + +beginseg + name "object_giant" + compress + romalign 0x1000 + include "build/baserom/object_giant.o" +endseg + +beginseg + name "object_comb" + compress + romalign 0x1000 + include "build/baserom/object_comb.o" +endseg + +beginseg + name "object_hana" + compress + romalign 0x1000 + include "build/baserom/object_hana.o" +endseg + +beginseg + name "object_boss_hakugin" + compress + romalign 0x1000 + include "build/baserom/object_boss_hakugin.o" +endseg + +beginseg + name "object_meganeana_obj" + compress + romalign 0x1000 + include "build/baserom/object_meganeana_obj.o" +endseg + +beginseg + name "object_gi_nutsmask" + compress + romalign 0x1000 + include "build/baserom/object_gi_nutsmask.o" +endseg + +beginseg + name "object_stk2" + compress + romalign 0x1000 + include "build/baserom/object_stk2.o" +endseg + +beginseg + name "object_spot11_obj" + compress + romalign 0x1000 + include "build/baserom/object_spot11_obj.o" +endseg + +beginseg + name "object_danpei_object" + compress + romalign 0x1000 + include "build/baserom/object_danpei_object.o" +endseg + +beginseg + name "object_dhouse" + compress + romalign 0x1000 + include "build/baserom/object_dhouse.o" +endseg + +beginseg + name "object_hakaisi" + compress + romalign 0x1000 + include "build/baserom/object_hakaisi.o" +endseg + +beginseg + name "object_po" + compress + romalign 0x1000 + include "build/baserom/object_po.o" +endseg + +beginseg + name "object_snowman" + compress + romalign 0x1000 + include "build/baserom/object_snowman.o" +endseg + +beginseg + name "object_po_sisters" + compress + romalign 0x1000 + include "build/baserom/object_po_sisters.o" +endseg + +beginseg + name "object_pp" + compress + romalign 0x1000 + include "build/baserom/object_pp.o" +endseg + +beginseg + name "object_goronswitch" + compress + romalign 0x1000 + include "build/baserom/object_goronswitch.o" +endseg + +beginseg + name "object_delf" + compress + romalign 0x1000 + include "build/baserom/object_delf.o" +endseg + +beginseg + name "object_botihasira" + compress + romalign 0x1000 + include "build/baserom/object_botihasira.o" +endseg + +beginseg + name "object_gi_bigbomb" + compress + romalign 0x1000 + include "build/baserom/object_gi_bigbomb.o" +endseg + +beginseg + name "object_pst" + compress + romalign 0x1000 + include "build/baserom/object_pst.o" +endseg + +beginseg + name "object_bsmask" + compress + romalign 0x1000 + include "build/baserom/object_bsmask.o" +endseg + +beginseg + name "object_spidertent" + compress + romalign 0x1000 + include "build/baserom/object_spidertent.o" +endseg + +beginseg + name "object_zoraegg" + compress + romalign 0x1000 + include "build/baserom/object_zoraegg.o" +endseg + +beginseg + name "object_kbt" + compress + romalign 0x1000 + include "build/baserom/object_kbt.o" +endseg + +beginseg + name "object_gg" + compress + romalign 0x1000 + include "build/baserom/object_gg.o" +endseg + +beginseg + name "object_maruta" + compress + romalign 0x1000 + include "build/baserom/object_maruta.o" +endseg + +beginseg + name "object_ghaka" + compress + romalign 0x1000 + include "build/baserom/object_ghaka.o" +endseg + +beginseg + name "object_oyu" + compress + romalign 0x1000 + include "build/baserom/object_oyu.o" +endseg + +beginseg + name "object_dnp" + compress + romalign 0x1000 + include "build/baserom/object_dnp.o" +endseg + +beginseg + name "object_dai" + compress + romalign 0x1000 + include "build/baserom/object_dai.o" +endseg + +beginseg + name "object_kgy" + compress + romalign 0x1000 + include "build/baserom/object_kgy.o" +endseg + +beginseg + name "object_fb" + compress + romalign 0x1000 + include "build/baserom/object_fb.o" +endseg + +beginseg + name "object_taisou" + compress + romalign 0x1000 + include "build/baserom/object_taisou.o" +endseg + +beginseg + name "object_gk" + compress + romalign 0x1000 + include "build/baserom/object_gk.o" +endseg + +beginseg + name "object_haka_obj" + compress + romalign 0x1000 + include "build/baserom/object_haka_obj.o" +endseg + +beginseg + name "object_dnt" + compress + romalign 0x1000 + include "build/baserom/object_dnt.o" +endseg + +beginseg + name "object_yukiyama" + compress + romalign 0x1000 + include "build/baserom/object_yukiyama.o" +endseg + +beginseg + name "object_icefloe" + compress + romalign 0x1000 + include "build/baserom/object_icefloe.o" +endseg + +beginseg + name "object_gi_gold_dust" + compress + romalign 0x1000 + include "build/baserom/object_gi_gold_dust.o" +endseg + +beginseg + name "object_gi_bottle_16" + compress + romalign 0x1000 + include "build/baserom/object_gi_bottle_16.o" +endseg + +beginseg + name "object_gi_bottle_22" + compress + romalign 0x1000 + include "build/baserom/object_gi_bottle_22.o" +endseg + +beginseg + name "object_bee" + compress + romalign 0x1000 + include "build/baserom/object_bee.o" +endseg + +beginseg + name "object_ot" + compress + romalign 0x1000 + include "build/baserom/object_ot.o" +endseg + +beginseg + name "object_utubo" + compress + romalign 0x1000 + include "build/baserom/object_utubo.o" +endseg + +beginseg + name "object_dora" + compress + romalign 0x1000 + include "build/baserom/object_dora.o" +endseg + +beginseg + name "object_gi_loach" + compress + romalign 0x1000 + include "build/baserom/object_gi_loach.o" +endseg + +beginseg + name "object_gi_seahorse" + compress + romalign 0x1000 + include "build/baserom/object_gi_seahorse.o" +endseg + +beginseg + name "object_bigpo" + compress + romalign 0x1000 + include "build/baserom/object_bigpo.o" +endseg + +beginseg + name "object_hariko" + compress + romalign 0x1000 + include "build/baserom/object_hariko.o" +endseg + +beginseg + name "object_dno" + compress + romalign 0x1000 + include "build/baserom/object_dno.o" +endseg + +beginseg + name "object_sinkai_kabe" + compress + romalign 0x1000 + include "build/baserom/object_sinkai_kabe.o" +endseg + +beginseg + name "object_kin2_obj" + compress + romalign 0x1000 + include "build/baserom/object_kin2_obj.o" +endseg + +beginseg + name "object_ishi" + compress + romalign 0x1000 + include "build/baserom/object_ishi.o" +endseg + +beginseg + name "object_hakugin_demo" + compress + romalign 0x1000 + include "build/baserom/object_hakugin_demo.o" +endseg + +beginseg + name "object_jg" + compress + romalign 0x1000 + include "build/baserom/object_jg.o" +endseg + +beginseg + name "object_gi_sword_2" + compress + romalign 0x1000 + include "build/baserom/object_gi_sword_2.o" +endseg + +beginseg + name "object_gi_sword_3" + compress + romalign 0x1000 + include "build/baserom/object_gi_sword_3.o" +endseg + +beginseg + name "object_gi_sword_4" + compress + romalign 0x1000 + include "build/baserom/object_gi_sword_4.o" +endseg + +beginseg + name "object_um" + compress + romalign 0x1000 + include "build/baserom/object_um.o" +endseg + +beginseg + name "object_rb" + compress + romalign 0x1000 + include "build/baserom/object_rb.o" +endseg + +beginseg + name "object_mbar_obj" + compress + romalign 0x1000 + include "build/baserom/object_mbar_obj.o" +endseg + +beginseg + name "object_ikana_obj" + compress + romalign 0x1000 + include "build/baserom/object_ikana_obj.o" +endseg + +beginseg + name "object_kz" + compress + romalign 0x1000 + include "build/baserom/object_kz.o" +endseg + +beginseg + name "object_tokei_turret" + compress + romalign 0x1000 + include "build/baserom/object_tokei_turret.o" +endseg + +beginseg + name "object_zog" + compress + romalign 0x1000 + include "build/baserom/object_zog.o" +endseg + +beginseg + name "object_rotlift" + compress + romalign 0x1000 + include "build/baserom/object_rotlift.o" +endseg + +beginseg + name "object_posthouse_obj" + compress + romalign 0x1000 + include "build/baserom/object_posthouse_obj.o" +endseg + +beginseg + name "object_gi_mask09" + compress + romalign 0x1000 + include "build/baserom/object_gi_mask09.o" +endseg + +beginseg + name "object_gi_mask14" + compress + romalign 0x1000 + include "build/baserom/object_gi_mask14.o" +endseg + +beginseg + name "object_gi_mask15" + compress + romalign 0x1000 + include "build/baserom/object_gi_mask15.o" +endseg + +beginseg + name "object_inibs_object" + compress + romalign 0x1000 + include "build/baserom/object_inibs_object.o" +endseg + +beginseg + name "object_tree" + compress + romalign 0x1000 + include "build/baserom/object_tree.o" +endseg + +beginseg + name "object_kaizoku_obj" + compress + romalign 0x1000 + include "build/baserom/object_kaizoku_obj.o" +endseg + +beginseg + name "object_gi_reserve_b_00" + compress + romalign 0x1000 + include "build/baserom/object_gi_reserve_b_00.o" +endseg + +beginseg + name "object_gi_reserve_c_00" + compress + romalign 0x1000 + include "build/baserom/object_gi_reserve_c_00.o" +endseg + +beginseg + name "object_zob" + compress + romalign 0x1000 + include "build/baserom/object_zob.o" +endseg + +beginseg + name "object_milkbar" + compress + romalign 0x1000 + include "build/baserom/object_milkbar.o" +endseg + +beginseg + name "object_dmask" + compress + romalign 0x1000 + include "build/baserom/object_dmask.o" +endseg + +beginseg + name "object_gi_reserve_c_01" + compress + romalign 0x1000 + include "build/baserom/object_gi_reserve_c_01.o" +endseg + +beginseg + name "object_zod" + compress + romalign 0x1000 + include "build/baserom/object_zod.o" +endseg + +beginseg + name "object_kumo30" + compress + romalign 0x1000 + include "build/baserom/object_kumo30.o" +endseg + +beginseg + name "object_obj_yasi" + compress + romalign 0x1000 + include "build/baserom/object_obj_yasi.o" +endseg + +beginseg + name "object_tanron1" + compress + romalign 0x1000 + include "build/baserom/object_tanron1.o" +endseg + +beginseg + name "object_tanron2" + compress + romalign 0x1000 + include "build/baserom/object_tanron2.o" +endseg + +beginseg + name "object_tanron3" + compress + romalign 0x1000 + include "build/baserom/object_tanron3.o" +endseg + +beginseg + name "object_gi_magicmushroom" + compress + romalign 0x1000 + include "build/baserom/object_gi_magicmushroom.o" +endseg + +beginseg + name "object_obj_chan" + compress + romalign 0x1000 + include "build/baserom/object_obj_chan.o" +endseg + +beginseg + name "object_gi_mask10" + compress + romalign 0x1000 + include "build/baserom/object_gi_mask10.o" +endseg + +beginseg + name "object_zos" + compress + romalign 0x1000 + include "build/baserom/object_zos.o" +endseg + +beginseg + name "object_an2" + compress + romalign 0x1000 + include "build/baserom/object_an2.o" +endseg + +beginseg + name "object_an3" + compress + romalign 0x1000 + include "build/baserom/object_an3.o" +endseg + +beginseg + name "object_f40_switch" + compress + romalign 0x1000 + include "build/baserom/object_f40_switch.o" +endseg + +beginseg + name "object_lodmoon" + compress + romalign 0x1000 + include "build/baserom/object_lodmoon.o" +endseg + +beginseg + name "object_tro" + compress + romalign 0x1000 + include "build/baserom/object_tro.o" +endseg + +beginseg + name "object_gi_mask12" + compress + romalign 0x1000 + include "build/baserom/object_gi_mask12.o" +endseg + +beginseg + name "object_gi_mask23" + compress + romalign 0x1000 + include "build/baserom/object_gi_mask23.o" +endseg + +beginseg + name "object_gi_bottle_21" + compress + romalign 0x1000 + include "build/baserom/object_gi_bottle_21.o" +endseg + +beginseg + name "object_gi_camera" + compress + romalign 0x1000 + include "build/baserom/object_gi_camera.o" +endseg + +beginseg + name "object_kamejima" + compress + romalign 0x1000 + include "build/baserom/object_kamejima.o" +endseg + +beginseg + name "object_nb" + compress + romalign 0x1000 + include "build/baserom/object_nb.o" +endseg + +beginseg + name "object_harfgibud" + compress + romalign 0x1000 + include "build/baserom/object_harfgibud.o" +endseg + +beginseg + name "object_zov" + compress + romalign 0x1000 + include "build/baserom/object_zov.o" +endseg + +beginseg + name "object_ah" + compress + romalign 0x1000 + include "build/baserom/object_ah.o" +endseg + +beginseg + name "object_hgdoor" + compress + romalign 0x1000 + include "build/baserom/object_hgdoor.o" +endseg + +beginseg + name "object_dor01" + compress + romalign 0x1000 + include "build/baserom/object_dor01.o" +endseg + +beginseg + name "object_dor02" + compress + romalign 0x1000 + include "build/baserom/object_dor02.o" +endseg + +beginseg + name "object_dor03" + compress + romalign 0x1000 + include "build/baserom/object_dor03.o" +endseg + +beginseg + name "object_dor04" + compress + romalign 0x1000 + include "build/baserom/object_dor04.o" +endseg + +beginseg + name "object_last_obj" + compress + romalign 0x1000 + include "build/baserom/object_last_obj.o" +endseg + +beginseg + name "object_redead_obj" + compress + romalign 0x1000 + include "build/baserom/object_redead_obj.o" +endseg + +beginseg + name "object_ikninside_obj" + compress + romalign 0x1000 + include "build/baserom/object_ikninside_obj.o" +endseg + +beginseg + name "object_iknv_obj" + compress + romalign 0x1000 + include "build/baserom/object_iknv_obj.o" +endseg + +beginseg + name "object_pamera" + compress + romalign 0x1000 + include "build/baserom/object_pamera.o" +endseg + +beginseg + name "object_hsstump" + compress + romalign 0x1000 + include "build/baserom/object_hsstump.o" +endseg + +beginseg + name "object_zm" + compress + romalign 0x1000 + include "build/baserom/object_zm.o" +endseg + +beginseg + name "object_al" + compress + romalign 0x1000 + include "build/baserom/object_al.o" +endseg + +beginseg + name "object_tab" + compress + romalign 0x1000 + include "build/baserom/object_tab.o" +endseg + +beginseg + name "object_secom_obj" + compress + romalign 0x1000 + include "build/baserom/object_secom_obj.o" +endseg + +beginseg + name "object_dt" + compress + romalign 0x1000 + include "build/baserom/object_dt.o" +endseg + +beginseg + name "object_gi_mask03" + compress + romalign 0x1000 + include "build/baserom/object_gi_mask03.o" +endseg + +beginseg + name "object_cha" + compress + romalign 0x1000 + include "build/baserom/object_cha.o" +endseg + +beginseg + name "object_obj_dinner" + compress + romalign 0x1000 + include "build/baserom/object_obj_dinner.o" +endseg + +beginseg + name "object_gi_reserve_b_01" + compress + romalign 0x1000 + include "build/baserom/object_gi_reserve_b_01.o" +endseg + +beginseg + name "object_lastday" + compress + romalign 0x1000 + include "build/baserom/object_lastday.o" +endseg + +beginseg + name "object_bai" + compress + romalign 0x1000 + include "build/baserom/object_bai.o" +endseg + +beginseg + name "object_ikn_demo" + compress + romalign 0x1000 + include "build/baserom/object_ikn_demo.o" +endseg + +beginseg + name "object_gi_fieldmap" + compress + romalign 0x1000 + include "build/baserom/object_gi_fieldmap.o" +endseg + +beginseg + name "object_big_fwall" + compress + romalign 0x1000 + include "build/baserom/object_big_fwall.o" +endseg + +beginseg + name "object_hunsui" + compress + romalign 0x1000 + include "build/baserom/object_hunsui.o" +endseg + +beginseg + name "object_uch" + compress + romalign 0x1000 + include "build/baserom/object_uch.o" +endseg + +beginseg + name "object_tanron4" + compress + romalign 0x1000 + include "build/baserom/object_tanron4.o" +endseg + +beginseg + name "object_tanron5" + compress + romalign 0x1000 + include "build/baserom/object_tanron5.o" +endseg + +beginseg + name "object_in2" + compress + romalign 0x1000 + include "build/baserom/object_in2.o" +endseg + +beginseg + name "object_yb" + compress + romalign 0x1000 + include "build/baserom/object_yb.o" +endseg + +beginseg + name "object_rz" + compress + romalign 0x1000 + include "build/baserom/object_rz.o" +endseg + +beginseg + name "object_bjt" + compress + romalign 0x1000 + include "build/baserom/object_bjt.o" +endseg + +beginseg + name "object_taru" + compress + romalign 0x1000 + include "build/baserom/object_taru.o" +endseg + +beginseg + name "object_moonston" + compress + romalign 0x1000 + include "build/baserom/object_moonston.o" +endseg + +beginseg + name "object_gi_schedule" + compress + romalign 0x1000 + include "build/baserom/object_gi_schedule.o" +endseg + +beginseg + name "object_gi_stonemask" + compress + romalign 0x1000 + include "build/baserom/object_gi_stonemask.o" +endseg + +beginseg + name "object_zoraband" + compress + romalign 0x1000 + include "build/baserom/object_zoraband.o" +endseg + +beginseg + name "object_kepn_koya" + compress + romalign 0x1000 + include "build/baserom/object_kepn_koya.o" +endseg + +beginseg + name "object_obj_usiyane" + compress + romalign 0x1000 + include "build/baserom/object_obj_usiyane.o" +endseg + +beginseg + name "object_gi_mask05" + compress + romalign 0x1000 + include "build/baserom/object_gi_mask05.o" +endseg + +beginseg + name "object_gi_mask11" + compress + romalign 0x1000 + include "build/baserom/object_gi_mask11.o" +endseg + +beginseg + name "object_gi_mask20" + compress + romalign 0x1000 + include "build/baserom/object_gi_mask20.o" +endseg + +beginseg + name "object_nnh" + compress + romalign 0x1000 + include "build/baserom/object_nnh.o" +endseg + +beginseg + name "object_kzsaku" + compress + romalign 0x1000 + include "build/baserom/object_kzsaku.o" +endseg + +beginseg + name "object_obj_milk_bin" + compress + romalign 0x1000 + include "build/baserom/object_obj_milk_bin.o" +endseg + +beginseg + name "object_random_obj" + compress + romalign 0x1000 + include "build/baserom/object_random_obj.o" +endseg + +beginseg + name "object_kujiya" + compress + romalign 0x1000 + include "build/baserom/object_kujiya.o" +endseg + +beginseg + name "object_kitan" + compress + romalign 0x1000 + include "build/baserom/object_kitan.o" +endseg + +beginseg + name "object_gi_mask06" + compress + romalign 0x1000 + include "build/baserom/object_gi_mask06.o" +endseg + +beginseg + name "object_gi_mask16" + compress + romalign 0x1000 + include "build/baserom/object_gi_mask16.o" +endseg + +beginseg + name "object_astr_obj" + compress + romalign 0x1000 + include "build/baserom/object_astr_obj.o" +endseg + +beginseg + name "object_bsb" + compress + romalign 0x1000 + include "build/baserom/object_bsb.o" +endseg + +beginseg + name "object_fall2" + compress + romalign 0x1000 + include "build/baserom/object_fall2.o" +endseg + +beginseg + name "object_sth" + compress + romalign 0x1000 + include "build/baserom/object_sth.o" +endseg + +beginseg + name "object_gi_mssa" + compress + romalign 0x1000 + include "build/baserom/object_gi_mssa.o" +endseg + +beginseg + name "object_smtower" + compress + romalign 0x1000 + include "build/baserom/object_smtower.o" +endseg + +beginseg + name "object_gi_mask21" + compress + romalign 0x1000 + include "build/baserom/object_gi_mask21.o" +endseg + +beginseg + name "object_yado_obj" + compress + romalign 0x1000 + include "build/baserom/object_yado_obj.o" +endseg + +beginseg + name "object_syoten" + compress + romalign 0x1000 + include "build/baserom/object_syoten.o" +endseg + +beginseg + name "object_moonend" + compress + romalign 0x1000 + include "build/baserom/object_moonend.o" +endseg + +beginseg + name "object_ob" + compress + romalign 0x1000 + include "build/baserom/object_ob.o" +endseg + +beginseg + name "object_gi_bottle_04" + compress + romalign 0x1000 + include "build/baserom/object_gi_bottle_04.o" +endseg + +beginseg + name "object_and" + compress + romalign 0x1000 + include "build/baserom/object_and.o" +endseg + +beginseg + name "object_obj_danpeilift" + compress + romalign 0x1000 + include "build/baserom/object_obj_danpeilift.o" +endseg + +beginseg + name "object_drs" + compress + romalign 0x1000 + include "build/baserom/object_drs.o" +endseg + +beginseg + name "object_msmo" + compress + romalign 0x1000 + include "build/baserom/object_msmo.o" +endseg + +beginseg + name "object_an4" + compress + romalign 0x1000 + include "build/baserom/object_an4.o" +endseg + +beginseg + name "object_wdor01" + compress + romalign 0x1000 + include "build/baserom/object_wdor01.o" +endseg + +beginseg + name "object_wdor02" + compress + romalign 0x1000 + include "build/baserom/object_wdor02.o" +endseg + +beginseg + name "object_wdor03" + compress + romalign 0x1000 + include "build/baserom/object_wdor03.o" +endseg + +beginseg + name "object_wdor04" + compress + romalign 0x1000 + include "build/baserom/object_wdor04.o" +endseg + +beginseg + name "object_wdor05" + compress + romalign 0x1000 + include "build/baserom/object_wdor05.o" +endseg + +beginseg + name "object_stk3" + compress + romalign 0x1000 + include "build/baserom/object_stk3.o" +endseg + +beginseg + name "object_kinsta1_obj" + compress + romalign 0x1000 + include "build/baserom/object_kinsta1_obj.o" +endseg + +beginseg + name "object_kinsta2_obj" + compress + romalign 0x1000 + include "build/baserom/object_kinsta2_obj.o" +endseg + +beginseg + name "object_bh" + compress + romalign 0x1000 + include "build/baserom/object_bh.o" +endseg + +beginseg + name "object_gi_mask17" + compress + romalign 0x1000 + include "build/baserom/object_gi_mask17.o" +endseg + +beginseg + name "object_gi_mask22" + compress + romalign 0x1000 + include "build/baserom/object_gi_mask22.o" +endseg + +beginseg + name "object_lbfshot" + compress + romalign 0x1000 + include "build/baserom/object_lbfshot.o" +endseg + +beginseg + name "object_fusen" + compress + romalign 0x1000 + include "build/baserom/object_fusen.o" +endseg + +beginseg + name "object_ending_obj" + compress + romalign 0x1000 + include "build/baserom/object_ending_obj.o" +endseg + +beginseg + name "object_gi_mask13" + compress + romalign 0x1000 + include "build/baserom/object_gi_mask13.o" +endseg + +beginseg + name "scene_texture_01" + compress + romalign 0x1000 + include "build/baserom/scene_texture_01.o" +endseg + +beginseg + name "scene_texture_02" + compress + romalign 0x1000 + include "build/baserom/scene_texture_02.o" +endseg + +beginseg + name "scene_texture_03" + compress + romalign 0x1000 + include "build/baserom/scene_texture_03.o" +endseg + +beginseg + name "scene_texture_04" + compress + romalign 0x1000 + include "build/baserom/scene_texture_04.o" +endseg + +beginseg + name "scene_texture_05" + compress + romalign 0x1000 + include "build/baserom/scene_texture_05.o" +endseg + +beginseg + name "scene_texture_06" + compress + romalign 0x1000 + include "build/baserom/scene_texture_06.o" +endseg + +beginseg + name "scene_texture_07" + compress + romalign 0x1000 + include "build/baserom/scene_texture_07.o" +endseg + +beginseg + name "scene_texture_08" + compress + romalign 0x1000 + include "build/baserom/scene_texture_08.o" +endseg + +beginseg + name "nintendo_rogo_static" + compress + romalign 0x1000 + include "build/baserom/nintendo_rogo_static.o" +endseg + +beginseg + name "title_static" + compress + romalign 0x1000 + include "build/baserom/title_static.o" +endseg + +beginseg + name "memerrmsg" + compress + romalign 0x1000 + include "build/baserom/memerrmsg.o" +endseg + +beginseg + name "locerrmsg" + compress + romalign 0x1000 + include "build/baserom/locerrmsg.o" +endseg + +beginseg + name "parameter_static" + compress + romalign 0x1000 + include "build/baserom/parameter_static.o" +endseg + +beginseg + name "week_static" + romalign 0x1000 + include "build/baserom/week_static.o" +endseg + +beginseg + name "daytelop_static" + compress + romalign 0x1000 + include "build/baserom/daytelop_static.o" +endseg + +beginseg + name "ger_daytelop_static" + compress + romalign 0x1000 + include "build/baserom/ger_daytelop_static.o" +endseg + +beginseg + name "fra_daytelop_static" + compress + romalign 0x1000 + include "build/baserom/fra_daytelop_static.o" +endseg + +beginseg + name "esp_daytelop_static" + compress + romalign 0x1000 + include "build/baserom/esp_daytelop_static.o" +endseg + +beginseg + name "d2_fine_static" + compress + romalign 0x1000 + include "build/baserom/d2_fine_static.o" +endseg + +beginseg + name "d2_cloud_static" + compress + romalign 0x1000 + include "build/baserom/d2_cloud_static.o" +endseg + +beginseg + name "d2_fine_pal_static" + compress + romalign 0x1000 + include "build/baserom/d2_fine_pal_static.o" +endseg + +beginseg + name "elf_message_field" + compress + romalign 0x1000 + include "build/baserom/elf_message_field.o" +endseg + +beginseg + name "elf_message_ydan" + compress + romalign 0x1000 + include "build/baserom/elf_message_ydan.o" +endseg + +beginseg + name "Z2_20SICHITAI2" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_20SICHITAI2/Z2_20SICHITAI2.o" + number 2 +endseg + +beginseg + name "Z2_20SICHITAI2_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_20SICHITAI2/Z2_20SICHITAI2_room_00.o" + number 3 +endseg + +beginseg + name "Z2_20SICHITAI2_room_01" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_20SICHITAI2/Z2_20SICHITAI2_room_01.o" + number 3 +endseg + +beginseg + name "Z2_20SICHITAI2_room_02" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_20SICHITAI2/Z2_20SICHITAI2_room_02.o" + number 3 +endseg + +beginseg + name "Z2_WITCH_SHOP" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_WITCH_SHOP/Z2_WITCH_SHOP.o" + number 2 +endseg + +beginseg + name "Z2_WITCH_SHOP_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_WITCH_SHOP/Z2_WITCH_SHOP_room_00.o" + number 3 +endseg + +beginseg + name "Z2_LAST_BS" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_LAST_BS/Z2_LAST_BS.o" + number 2 +endseg + +beginseg + name "Z2_LAST_BS_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_LAST_BS/Z2_LAST_BS_room_00.o" + number 3 +endseg + +beginseg + name "Z2_HAKASHITA" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_HAKASHITA/Z2_HAKASHITA.o" + number 2 +endseg + +beginseg + name "Z2_HAKASHITA_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_HAKASHITA/Z2_HAKASHITA_room_00.o" + number 3 +endseg + +beginseg + name "Z2_HAKASHITA_room_01" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_HAKASHITA/Z2_HAKASHITA_room_01.o" + number 3 +endseg + +beginseg + name "Z2_HAKASHITA_room_02" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_HAKASHITA/Z2_HAKASHITA_room_02.o" + number 3 +endseg + +beginseg + name "Z2_HAKASHITA_room_03" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_HAKASHITA/Z2_HAKASHITA_room_03.o" + number 3 +endseg + +beginseg + name "Z2_HAKASHITA_room_04" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_HAKASHITA/Z2_HAKASHITA_room_04.o" + number 3 +endseg + +beginseg + name "Z2_AYASHIISHOP" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_AYASHIISHOP/Z2_AYASHIISHOP.o" + number 2 +endseg + +beginseg + name "Z2_AYASHIISHOP_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_AYASHIISHOP/Z2_AYASHIISHOP_room_00.o" + number 3 +endseg + +beginseg + name "Z2_AYASHIISHOP_room_01" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_AYASHIISHOP/Z2_AYASHIISHOP_room_01.o" + number 3 +endseg + +beginseg + name "Z2_OMOYA" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_OMOYA/Z2_OMOYA.o" + number 2 +endseg + +beginseg + name "Z2_OMOYA_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_OMOYA/Z2_OMOYA_room_00.o" + number 3 +endseg + +beginseg + name "Z2_OMOYA_room_01" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_OMOYA/Z2_OMOYA_room_01.o" + number 3 +endseg + +beginseg + name "Z2_OMOYA_room_02" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_OMOYA/Z2_OMOYA_room_02.o" + number 3 +endseg + +beginseg + name "Z2_BOWLING" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_BOWLING/Z2_BOWLING.o" + number 2 +endseg + +beginseg + name "Z2_BOWLING_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_BOWLING/Z2_BOWLING_room_00.o" + number 3 +endseg + +beginseg + name "Z2_SONCHONOIE" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_SONCHONOIE/Z2_SONCHONOIE.o" + number 2 +endseg + +beginseg + name "Z2_SONCHONOIE_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_SONCHONOIE/Z2_SONCHONOIE_room_00.o" + number 3 +endseg + +beginseg + name "Z2_SONCHONOIE_room_01" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_SONCHONOIE/Z2_SONCHONOIE_room_01.o" + number 3 +endseg + +beginseg + name "Z2_SONCHONOIE_room_02" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_SONCHONOIE/Z2_SONCHONOIE_room_02.o" + number 3 +endseg + +beginseg + name "Z2_SONCHONOIE_room_03" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_SONCHONOIE/Z2_SONCHONOIE_room_03.o" + number 3 +endseg + +beginseg + name "Z2_IKANA" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_IKANA/Z2_IKANA.o" + number 2 +endseg + +beginseg + name "Z2_IKANA_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_IKANA/Z2_IKANA_room_00.o" + number 3 +endseg + +beginseg + name "Z2_IKANA_room_01" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_IKANA/Z2_IKANA_room_01.o" + number 3 +endseg + +beginseg + name "Z2_IKANA_room_02" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_IKANA/Z2_IKANA_room_02.o" + number 3 +endseg + +beginseg + name "Z2_IKANA_room_03" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_IKANA/Z2_IKANA_room_03.o" + number 3 +endseg + +beginseg + name "Z2_IKANA_room_04" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_IKANA/Z2_IKANA_room_04.o" + number 3 +endseg + +beginseg + name "Z2_KAIZOKU" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_KAIZOKU/Z2_KAIZOKU.o" + number 2 +endseg + +beginseg + name "Z2_KAIZOKU_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_KAIZOKU/Z2_KAIZOKU_room_00.o" + number 3 +endseg + +beginseg + name "Z2_MILK_BAR" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_MILK_BAR/Z2_MILK_BAR.o" + number 2 +endseg + +beginseg + name "Z2_MILK_BAR_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_MILK_BAR/Z2_MILK_BAR_room_00.o" + number 3 +endseg + +beginseg + name "Z2_INISIE_N" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_INISIE_N/Z2_INISIE_N.o" + number 2 +endseg + +beginseg + name "Z2_INISIE_N_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_INISIE_N/Z2_INISIE_N_room_00.o" + number 3 +endseg + +beginseg + name "Z2_INISIE_N_room_01" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_INISIE_N/Z2_INISIE_N_room_01.o" + number 3 +endseg + +beginseg + name "Z2_INISIE_N_room_02" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_INISIE_N/Z2_INISIE_N_room_02.o" + number 3 +endseg + +beginseg + name "Z2_INISIE_N_room_03" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_INISIE_N/Z2_INISIE_N_room_03.o" + number 3 +endseg + +beginseg + name "Z2_INISIE_N_room_04" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_INISIE_N/Z2_INISIE_N_room_04.o" + number 3 +endseg + +beginseg + name "Z2_INISIE_N_room_05" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_INISIE_N/Z2_INISIE_N_room_05.o" + number 3 +endseg + +beginseg + name "Z2_INISIE_N_room_06" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_INISIE_N/Z2_INISIE_N_room_06.o" + number 3 +endseg + +beginseg + name "Z2_INISIE_N_room_07" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_INISIE_N/Z2_INISIE_N_room_07.o" + number 3 +endseg + +beginseg + name "Z2_INISIE_N_room_08" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_INISIE_N/Z2_INISIE_N_room_08.o" + number 3 +endseg + +beginseg + name "Z2_INISIE_N_room_09" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_INISIE_N/Z2_INISIE_N_room_09.o" + number 3 +endseg + +beginseg + name "Z2_INISIE_N_room_10" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_INISIE_N/Z2_INISIE_N_room_10.o" + number 3 +endseg + +beginseg + name "Z2_INISIE_N_room_11" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_INISIE_N/Z2_INISIE_N_room_11.o" + number 3 +endseg + +beginseg + name "Z2_TAKARAYA" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_TAKARAYA/Z2_TAKARAYA.o" + number 2 +endseg + +beginseg + name "Z2_TAKARAYA_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_TAKARAYA/Z2_TAKARAYA_room_00.o" + number 3 +endseg + +beginseg + name "Z2_INISIE_R" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_INISIE_R/Z2_INISIE_R.o" + number 2 +endseg + +beginseg + name "Z2_INISIE_R_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_INISIE_R/Z2_INISIE_R_room_00.o" + number 3 +endseg + +beginseg + name "Z2_INISIE_R_room_01" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_INISIE_R/Z2_INISIE_R_room_01.o" + number 3 +endseg + +beginseg + name "Z2_INISIE_R_room_02" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_INISIE_R/Z2_INISIE_R_room_02.o" + number 3 +endseg + +beginseg + name "Z2_INISIE_R_room_03" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_INISIE_R/Z2_INISIE_R_room_03.o" + number 3 +endseg + +beginseg + name "Z2_INISIE_R_room_04" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_INISIE_R/Z2_INISIE_R_room_04.o" + number 3 +endseg + +beginseg + name "Z2_INISIE_R_room_05" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_INISIE_R/Z2_INISIE_R_room_05.o" + number 3 +endseg + +beginseg + name "Z2_INISIE_R_room_06" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_INISIE_R/Z2_INISIE_R_room_06.o" + number 3 +endseg + +beginseg + name "Z2_INISIE_R_room_07" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_INISIE_R/Z2_INISIE_R_room_07.o" + number 3 +endseg + +beginseg + name "Z2_INISIE_R_room_08" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_INISIE_R/Z2_INISIE_R_room_08.o" + number 3 +endseg + +beginseg + name "Z2_INISIE_R_room_09" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_INISIE_R/Z2_INISIE_R_room_09.o" + number 3 +endseg + +beginseg + name "Z2_INISIE_R_room_10" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_INISIE_R/Z2_INISIE_R_room_10.o" + number 3 +endseg + +beginseg + name "Z2_INISIE_R_room_11" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_INISIE_R/Z2_INISIE_R_room_11.o" + number 3 +endseg + +beginseg + name "Z2_OKUJOU" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_OKUJOU/Z2_OKUJOU.o" + number 2 +endseg + +beginseg + name "Z2_OKUJOU_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_OKUJOU/Z2_OKUJOU_room_00.o" + number 3 +endseg + +beginseg + name "Z2_OPENINGDAN" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_OPENINGDAN/Z2_OPENINGDAN.o" + number 2 +endseg + +beginseg + name "Z2_OPENINGDAN_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_OPENINGDAN/Z2_OPENINGDAN_room_00.o" + number 3 +endseg + +beginseg + name "Z2_OPENINGDAN_room_01" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_OPENINGDAN/Z2_OPENINGDAN_room_01.o" + number 3 +endseg + +beginseg + name "Z2_MITURIN" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_MITURIN/Z2_MITURIN.o" + number 2 +endseg + +beginseg + name "Z2_MITURIN_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_MITURIN/Z2_MITURIN_room_00.o" + number 3 +endseg + +beginseg + name "Z2_MITURIN_room_01" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_MITURIN/Z2_MITURIN_room_01.o" + number 3 +endseg + +beginseg + name "Z2_MITURIN_room_02" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_MITURIN/Z2_MITURIN_room_02.o" + number 3 +endseg + +beginseg + name "Z2_MITURIN_room_03" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_MITURIN/Z2_MITURIN_room_03.o" + number 3 +endseg + +beginseg + name "Z2_MITURIN_room_04" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_MITURIN/Z2_MITURIN_room_04.o" + number 3 +endseg + +beginseg + name "Z2_MITURIN_room_05" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_MITURIN/Z2_MITURIN_room_05.o" + number 3 +endseg + +beginseg + name "Z2_MITURIN_room_06" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_MITURIN/Z2_MITURIN_room_06.o" + number 3 +endseg + +beginseg + name "Z2_MITURIN_room_07" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_MITURIN/Z2_MITURIN_room_07.o" + number 3 +endseg + +beginseg + name "Z2_MITURIN_room_08" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_MITURIN/Z2_MITURIN_room_08.o" + number 3 +endseg + +beginseg + name "Z2_MITURIN_room_09" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_MITURIN/Z2_MITURIN_room_09.o" + number 3 +endseg + +beginseg + name "Z2_MITURIN_room_10" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_MITURIN/Z2_MITURIN_room_10.o" + number 3 +endseg + +beginseg + name "Z2_MITURIN_room_11" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_MITURIN/Z2_MITURIN_room_11.o" + number 3 +endseg + +beginseg + name "Z2_MITURIN_room_12" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_MITURIN/Z2_MITURIN_room_12.o" + number 3 +endseg + +beginseg + name "Z2_13HUBUKINOMITI" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_13HUBUKINOMITI/Z2_13HUBUKINOMITI.o" + number 2 +endseg + +beginseg + name "Z2_13HUBUKINOMITI_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_13HUBUKINOMITI/Z2_13HUBUKINOMITI_room_00.o" + number 3 +endseg + +beginseg + name "Z2_CASTLE" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_CASTLE/Z2_CASTLE.o" + number 2 +endseg + +beginseg + name "Z2_CASTLE_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_CASTLE/Z2_CASTLE_room_00.o" + number 3 +endseg + +beginseg + name "Z2_CASTLE_room_01" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_CASTLE/Z2_CASTLE_room_01.o" + number 3 +endseg + +beginseg + name "Z2_CASTLE_room_02" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_CASTLE/Z2_CASTLE_room_02.o" + number 3 +endseg + +beginseg + name "Z2_CASTLE_room_03" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_CASTLE/Z2_CASTLE_room_03.o" + number 3 +endseg + +beginseg + name "Z2_CASTLE_room_04" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_CASTLE/Z2_CASTLE_room_04.o" + number 3 +endseg + +beginseg + name "Z2_CASTLE_room_05" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_CASTLE/Z2_CASTLE_room_05.o" + number 3 +endseg + +beginseg + name "Z2_CASTLE_room_06" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_CASTLE/Z2_CASTLE_room_06.o" + number 3 +endseg + +beginseg + name "Z2_CASTLE_room_07" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_CASTLE/Z2_CASTLE_room_07.o" + number 3 +endseg + +beginseg + name "Z2_CASTLE_room_08" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_CASTLE/Z2_CASTLE_room_08.o" + number 3 +endseg + +beginseg + name "Z2_CASTLE_room_09" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_CASTLE/Z2_CASTLE_room_09.o" + number 3 +endseg + +beginseg + name "Z2_DEKUTES" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_DEKUTES/Z2_DEKUTES.o" + number 2 +endseg + +beginseg + name "Z2_DEKUTES_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_DEKUTES/Z2_DEKUTES_room_00.o" + number 3 +endseg + +beginseg + name "Z2_MITURIN_BS" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_MITURIN_BS/Z2_MITURIN_BS.o" + number 2 +endseg + +beginseg + name "Z2_MITURIN_BS_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_MITURIN_BS/Z2_MITURIN_BS_room_00.o" + number 3 +endseg + +beginseg + name "Z2_SYATEKI_MIZU" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_SYATEKI_MIZU/Z2_SYATEKI_MIZU.o" + number 2 +endseg + +beginseg + name "Z2_SYATEKI_MIZU_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_SYATEKI_MIZU/Z2_SYATEKI_MIZU_room_00.o" + number 3 +endseg + +beginseg + name "Z2_HAKUGIN" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_HAKUGIN/Z2_HAKUGIN.o" + number 2 +endseg + +beginseg + name "Z2_HAKUGIN_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_HAKUGIN/Z2_HAKUGIN_room_00.o" + number 3 +endseg + +beginseg + name "Z2_HAKUGIN_room_01" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_HAKUGIN/Z2_HAKUGIN_room_01.o" + number 3 +endseg + +beginseg + name "Z2_HAKUGIN_room_02" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_HAKUGIN/Z2_HAKUGIN_room_02.o" + number 3 +endseg + +beginseg + name "Z2_HAKUGIN_room_03" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_HAKUGIN/Z2_HAKUGIN_room_03.o" + number 3 +endseg + +beginseg + name "Z2_HAKUGIN_room_04" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_HAKUGIN/Z2_HAKUGIN_room_04.o" + number 3 +endseg + +beginseg + name "Z2_HAKUGIN_room_05" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_HAKUGIN/Z2_HAKUGIN_room_05.o" + number 3 +endseg + +beginseg + name "Z2_HAKUGIN_room_06" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_HAKUGIN/Z2_HAKUGIN_room_06.o" + number 3 +endseg + +beginseg + name "Z2_HAKUGIN_room_07" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_HAKUGIN/Z2_HAKUGIN_room_07.o" + number 3 +endseg + +beginseg + name "Z2_HAKUGIN_room_08" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_HAKUGIN/Z2_HAKUGIN_room_08.o" + number 3 +endseg + +beginseg + name "Z2_HAKUGIN_room_09" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_HAKUGIN/Z2_HAKUGIN_room_09.o" + number 3 +endseg + +beginseg + name "Z2_HAKUGIN_room_10" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_HAKUGIN/Z2_HAKUGIN_room_10.o" + number 3 +endseg + +beginseg + name "Z2_HAKUGIN_room_11" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_HAKUGIN/Z2_HAKUGIN_room_11.o" + number 3 +endseg + +beginseg + name "Z2_HAKUGIN_room_12" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_HAKUGIN/Z2_HAKUGIN_room_12.o" + number 3 +endseg + +beginseg + name "Z2_HAKUGIN_room_13" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_HAKUGIN/Z2_HAKUGIN_room_13.o" + number 3 +endseg + +beginseg + name "Z2_ROMANYMAE" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_ROMANYMAE/Z2_ROMANYMAE.o" + number 2 +endseg + +beginseg + name "Z2_ROMANYMAE_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_ROMANYMAE/Z2_ROMANYMAE_room_00.o" + number 3 +endseg + +beginseg + name "Z2_PIRATE" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_PIRATE/Z2_PIRATE.o" + number 2 +endseg + +beginseg + name "Z2_PIRATE_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_PIRATE/Z2_PIRATE_room_00.o" + number 3 +endseg + +beginseg + name "Z2_PIRATE_room_01" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_PIRATE/Z2_PIRATE_room_01.o" + number 3 +endseg + +beginseg + name "Z2_PIRATE_room_02" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_PIRATE/Z2_PIRATE_room_02.o" + number 3 +endseg + +beginseg + name "Z2_PIRATE_room_03" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_PIRATE/Z2_PIRATE_room_03.o" + number 3 +endseg + +beginseg + name "Z2_PIRATE_room_04" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_PIRATE/Z2_PIRATE_room_04.o" + number 3 +endseg + +beginseg + name "Z2_PIRATE_room_05" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_PIRATE/Z2_PIRATE_room_05.o" + number 3 +endseg + +beginseg + name "Z2_PIRATE_room_06" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_PIRATE/Z2_PIRATE_room_06.o" + number 3 +endseg + +beginseg + name "Z2_PIRATE_room_07" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_PIRATE/Z2_PIRATE_room_07.o" + number 3 +endseg + +beginseg + name "Z2_PIRATE_room_08" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_PIRATE/Z2_PIRATE_room_08.o" + number 3 +endseg + +beginseg + name "Z2_PIRATE_room_09" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_PIRATE/Z2_PIRATE_room_09.o" + number 3 +endseg + +beginseg + name "Z2_PIRATE_room_10" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_PIRATE/Z2_PIRATE_room_10.o" + number 3 +endseg + +beginseg + name "Z2_PIRATE_room_11" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_PIRATE/Z2_PIRATE_room_11.o" + number 3 +endseg + +beginseg + name "Z2_PIRATE_room_12" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_PIRATE/Z2_PIRATE_room_12.o" + number 3 +endseg + +beginseg + name "Z2_PIRATE_room_13" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_PIRATE/Z2_PIRATE_room_13.o" + number 3 +endseg + +beginseg + name "Z2_PIRATE_room_14" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_PIRATE/Z2_PIRATE_room_14.o" + number 3 +endseg + +beginseg + name "Z2_SYATEKI_MORI" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_SYATEKI_MORI/Z2_SYATEKI_MORI.o" + number 2 +endseg + +beginseg + name "Z2_SYATEKI_MORI_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_SYATEKI_MORI/Z2_SYATEKI_MORI_room_00.o" + number 3 +endseg + +beginseg + name "Z2_SINKAI" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_SINKAI/Z2_SINKAI.o" + number 2 +endseg + +beginseg + name "Z2_SINKAI_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_SINKAI/Z2_SINKAI_room_00.o" + number 3 +endseg + +beginseg + name "Z2_YOUSEI_IZUMI" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_YOUSEI_IZUMI/Z2_YOUSEI_IZUMI.o" + number 2 +endseg + +beginseg + name "Z2_YOUSEI_IZUMI_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_YOUSEI_IZUMI/Z2_YOUSEI_IZUMI_room_00.o" + number 3 +endseg + +beginseg + name "Z2_YOUSEI_IZUMI_room_01" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_YOUSEI_IZUMI/Z2_YOUSEI_IZUMI_room_01.o" + number 3 +endseg + +beginseg + name "Z2_YOUSEI_IZUMI_room_02" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_YOUSEI_IZUMI/Z2_YOUSEI_IZUMI_room_02.o" + number 3 +endseg + +beginseg + name "Z2_YOUSEI_IZUMI_room_03" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_YOUSEI_IZUMI/Z2_YOUSEI_IZUMI_room_03.o" + number 3 +endseg + +beginseg + name "Z2_YOUSEI_IZUMI_room_04" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_YOUSEI_IZUMI/Z2_YOUSEI_IZUMI_room_04.o" + number 3 +endseg + +beginseg + name "Z2_KINSTA1" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_KINSTA1/Z2_KINSTA1.o" + number 2 +endseg + +beginseg + name "Z2_KINSTA1_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_KINSTA1/Z2_KINSTA1_room_00.o" + number 3 +endseg + +beginseg + name "Z2_KINSTA1_room_01" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_KINSTA1/Z2_KINSTA1_room_01.o" + number 3 +endseg + +beginseg + name "Z2_KINSTA1_room_02" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_KINSTA1/Z2_KINSTA1_room_02.o" + number 3 +endseg + +beginseg + name "Z2_KINSTA1_room_03" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_KINSTA1/Z2_KINSTA1_room_03.o" + number 3 +endseg + +beginseg + name "Z2_KINSTA1_room_04" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_KINSTA1/Z2_KINSTA1_room_04.o" + number 3 +endseg + +beginseg + name "Z2_KINSTA1_room_05" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_KINSTA1/Z2_KINSTA1_room_05.o" + number 3 +endseg + +beginseg + name "Z2_KINDAN2" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_KINDAN2/Z2_KINDAN2.o" + number 2 +endseg + +beginseg + name "Z2_KINDAN2_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_KINDAN2/Z2_KINDAN2_room_00.o" + number 3 +endseg + +beginseg + name "Z2_KINDAN2_room_01" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_KINDAN2/Z2_KINDAN2_room_01.o" + number 3 +endseg + +beginseg + name "Z2_KINDAN2_room_02" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_KINDAN2/Z2_KINDAN2_room_02.o" + number 3 +endseg + +beginseg + name "Z2_KINDAN2_room_03" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_KINDAN2/Z2_KINDAN2_room_03.o" + number 3 +endseg + +beginseg + name "Z2_KINDAN2_room_04" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_KINDAN2/Z2_KINDAN2_room_04.o" + number 3 +endseg + +beginseg + name "Z2_KINDAN2_room_05" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_KINDAN2/Z2_KINDAN2_room_05.o" + number 3 +endseg + +beginseg + name "Z2_TENMON_DAI" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_TENMON_DAI/Z2_TENMON_DAI.o" + number 2 +endseg + +beginseg + name "Z2_TENMON_DAI_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_TENMON_DAI/Z2_TENMON_DAI_room_00.o" + number 3 +endseg + +beginseg + name "Z2_TENMON_DAI_room_01" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_TENMON_DAI/Z2_TENMON_DAI_room_01.o" + number 3 +endseg + +beginseg + name "Z2_LAST_DEKU" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_LAST_DEKU/Z2_LAST_DEKU.o" + number 2 +endseg + +beginseg + name "Z2_LAST_DEKU_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_LAST_DEKU/Z2_LAST_DEKU_room_00.o" + number 3 +endseg + +beginseg + name "Z2_LAST_DEKU_room_01" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_LAST_DEKU/Z2_LAST_DEKU_room_01.o" + number 3 +endseg + +beginseg + name "Z2_22DEKUCITY" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_22DEKUCITY/Z2_22DEKUCITY.o" + number 2 +endseg + +beginseg + name "Z2_22DEKUCITY_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_22DEKUCITY/Z2_22DEKUCITY_room_00.o" + number 3 +endseg + +beginseg + name "Z2_22DEKUCITY_room_01" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_22DEKUCITY/Z2_22DEKUCITY_room_01.o" + number 3 +endseg + +beginseg + name "Z2_22DEKUCITY_room_02" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_22DEKUCITY/Z2_22DEKUCITY_room_02.o" + number 3 +endseg + +beginseg + name "Z2_KAJIYA" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_KAJIYA/Z2_KAJIYA.o" + number 2 +endseg + +beginseg + name "Z2_KAJIYA_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_KAJIYA/Z2_KAJIYA_room_00.o" + number 3 +endseg + +beginseg + name "Z2_00KEIKOKU" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_00KEIKOKU/Z2_00KEIKOKU.o" + number 2 +endseg + +beginseg + name "Z2_00KEIKOKU_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_00KEIKOKU/Z2_00KEIKOKU_room_00.o" + number 3 +endseg + +beginseg + name "Z2_POSTHOUSE" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_POSTHOUSE/Z2_POSTHOUSE.o" + number 2 +endseg + +beginseg + name "Z2_POSTHOUSE_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_POSTHOUSE/Z2_POSTHOUSE_room_00.o" + number 3 +endseg + +beginseg + name "Z2_LABO" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_LABO/Z2_LABO.o" + number 2 +endseg + +beginseg + name "Z2_LABO_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_LABO/Z2_LABO_room_00.o" + number 3 +endseg + +beginseg + name "Z2_DANPEI2TEST" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_DANPEI2TEST/Z2_DANPEI2TEST.o" + number 2 +endseg + +beginseg + name "Z2_DANPEI2TEST_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_DANPEI2TEST/Z2_DANPEI2TEST_room_00.o" + number 3 +endseg + +beginseg + name "Z2_DANPEI2TEST_room_01" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_DANPEI2TEST/Z2_DANPEI2TEST_room_01.o" + number 3 +endseg + +beginseg + name "Z2_16GORON_HOUSE" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_16GORON_HOUSE/Z2_16GORON_HOUSE.o" + number 2 +endseg + +beginseg + name "Z2_16GORON_HOUSE_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_16GORON_HOUSE/Z2_16GORON_HOUSE_room_00.o" + number 3 +endseg + +beginseg + name "Z2_16GORON_HOUSE_room_01" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_16GORON_HOUSE/Z2_16GORON_HOUSE_room_01.o" + number 3 +endseg + +beginseg + name "Z2_33ZORACITY" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_33ZORACITY/Z2_33ZORACITY.o" + number 2 +endseg + +beginseg + name "Z2_33ZORACITY_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_33ZORACITY/Z2_33ZORACITY_room_00.o" + number 3 +endseg + +beginseg + name "Z2_8ITEMSHOP" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_8ITEMSHOP/Z2_8ITEMSHOP.o" + number 2 +endseg + +beginseg + name "Z2_8ITEMSHOP_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_8ITEMSHOP/Z2_8ITEMSHOP_room_00.o" + number 3 +endseg + +beginseg + name "Z2_F01" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_F01/Z2_F01.o" + number 2 +endseg + +beginseg + name "Z2_F01_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_F01/Z2_F01_room_00.o" + number 3 +endseg + +beginseg + name "Z2_INISIE_BS" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_INISIE_BS/Z2_INISIE_BS.o" + number 2 +endseg + +beginseg + name "Z2_INISIE_BS_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_INISIE_BS/Z2_INISIE_BS_room_00.o" + number 3 +endseg + +beginseg + name "Z2_30GYOSON" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_30GYOSON/Z2_30GYOSON.o" + number 2 +endseg + +beginseg + name "Z2_30GYOSON_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_30GYOSON/Z2_30GYOSON_room_00.o" + number 3 +endseg + +beginseg + name "Z2_31MISAKI" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_31MISAKI/Z2_31MISAKI.o" + number 2 +endseg + +beginseg + name "Z2_31MISAKI_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_31MISAKI/Z2_31MISAKI_room_00.o" + number 3 +endseg + +beginseg + name "Z2_TAKARAKUJI" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_TAKARAKUJI/Z2_TAKARAKUJI.o" + number 2 +endseg + +beginseg + name "Z2_TAKARAKUJI_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_TAKARAKUJI/Z2_TAKARAKUJI_room_00.o" + number 3 +endseg + +beginseg + name "Z2_TORIDE" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_TORIDE/Z2_TORIDE.o" + number 2 +endseg + +beginseg + name "Z2_TORIDE_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_TORIDE/Z2_TORIDE_room_00.o" + number 3 +endseg + +beginseg + name "Z2_FISHERMAN" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_FISHERMAN/Z2_FISHERMAN.o" + number 2 +endseg + +beginseg + name "Z2_FISHERMAN_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_FISHERMAN/Z2_FISHERMAN_room_00.o" + number 3 +endseg + +beginseg + name "Z2_GORONSHOP" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_GORONSHOP/Z2_GORONSHOP.o" + number 2 +endseg + +beginseg + name "Z2_GORONSHOP_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_GORONSHOP/Z2_GORONSHOP_room_00.o" + number 3 +endseg + +beginseg + name "Z2_DEKU_KING" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_DEKU_KING/Z2_DEKU_KING.o" + number 2 +endseg + +beginseg + name "Z2_DEKU_KING_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_DEKU_KING/Z2_DEKU_KING_room_00.o" + number 3 +endseg + +beginseg + name "Z2_LAST_GORON" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_LAST_GORON/Z2_LAST_GORON.o" + number 2 +endseg + +beginseg + name "Z2_LAST_GORON_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_LAST_GORON/Z2_LAST_GORON_room_00.o" + number 3 +endseg + +beginseg + name "Z2_LAST_GORON_room_01" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_LAST_GORON/Z2_LAST_GORON_room_01.o" + number 3 +endseg + +beginseg + name "Z2_24KEMONOMITI" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_24KEMONOMITI/Z2_24KEMONOMITI.o" + number 2 +endseg + +beginseg + name "Z2_24KEMONOMITI_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_24KEMONOMITI/Z2_24KEMONOMITI_room_00.o" + number 3 +endseg + +beginseg + name "Z2_F01_B" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_F01_B/Z2_F01_B.o" + number 2 +endseg + +beginseg + name "Z2_F01_B_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_F01_B/Z2_F01_B_room_00.o" + number 3 +endseg + +beginseg + name "Z2_F01C" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_F01C/Z2_F01C.o" + number 2 +endseg + +beginseg + name "Z2_F01C_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_F01C/Z2_F01C_room_00.o" + number 3 +endseg + +beginseg + name "Z2_BOTI" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_BOTI/Z2_BOTI.o" + number 2 +endseg + +beginseg + name "Z2_BOTI_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_BOTI/Z2_BOTI_room_00.o" + number 3 +endseg + +beginseg + name "Z2_BOTI_room_01" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_BOTI/Z2_BOTI_room_01.o" + number 3 +endseg + +beginseg + name "Z2_HAKUGIN_BS" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_HAKUGIN_BS/Z2_HAKUGIN_BS.o" + number 2 +endseg + +beginseg + name "Z2_HAKUGIN_BS_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_HAKUGIN_BS/Z2_HAKUGIN_BS_room_00.o" + number 3 +endseg + +beginseg + name "Z2_20SICHITAI" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_20SICHITAI/Z2_20SICHITAI.o" + number 2 +endseg + +beginseg + name "Z2_20SICHITAI_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_20SICHITAI/Z2_20SICHITAI_room_00.o" + number 3 +endseg + +beginseg + name "Z2_20SICHITAI_room_01" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_20SICHITAI/Z2_20SICHITAI_room_01.o" + number 3 +endseg + +beginseg + name "Z2_20SICHITAI_room_02" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_20SICHITAI/Z2_20SICHITAI_room_02.o" + number 3 +endseg + +beginseg + name "Z2_21MITURINMAE" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_21MITURINMAE/Z2_21MITURINMAE.o" + number 2 +endseg + +beginseg + name "Z2_21MITURINMAE_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_21MITURINMAE/Z2_21MITURINMAE_room_00.o" + number 3 +endseg + +beginseg + name "Z2_LAST_ZORA" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_LAST_ZORA/Z2_LAST_ZORA.o" + number 2 +endseg + +beginseg + name "Z2_LAST_ZORA_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_LAST_ZORA/Z2_LAST_ZORA_room_00.o" + number 3 +endseg + +beginseg + name "Z2_11GORONNOSATO2" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_11GORONNOSATO2/Z2_11GORONNOSATO2.o" + number 2 +endseg + +beginseg + name "Z2_11GORONNOSATO2_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_11GORONNOSATO2/Z2_11GORONNOSATO2_room_00.o" + number 3 +endseg + +beginseg + name "Z2_11GORONNOSATO2_room_01" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_11GORONNOSATO2/Z2_11GORONNOSATO2_room_01.o" + number 3 +endseg + +beginseg + name "Z2_SEA" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_SEA/Z2_SEA.o" + number 2 +endseg + +beginseg + name "Z2_SEA_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_SEA/Z2_SEA_room_00.o" + number 3 +endseg + +beginseg + name "Z2_SEA_room_01" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_SEA/Z2_SEA_room_01.o" + number 3 +endseg + +beginseg + name "Z2_SEA_room_02" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_SEA/Z2_SEA_room_02.o" + number 3 +endseg + +beginseg + name "Z2_SEA_room_03" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_SEA/Z2_SEA_room_03.o" + number 3 +endseg + +beginseg + name "Z2_SEA_room_04" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_SEA/Z2_SEA_room_04.o" + number 3 +endseg + +beginseg + name "Z2_SEA_room_05" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_SEA/Z2_SEA_room_05.o" + number 3 +endseg + +beginseg + name "Z2_SEA_room_06" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_SEA/Z2_SEA_room_06.o" + number 3 +endseg + +beginseg + name "Z2_SEA_room_07" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_SEA/Z2_SEA_room_07.o" + number 3 +endseg + +beginseg + name "Z2_SEA_room_08" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_SEA/Z2_SEA_room_08.o" + number 3 +endseg + +beginseg + name "Z2_SEA_room_09" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_SEA/Z2_SEA_room_09.o" + number 3 +endseg + +beginseg + name "Z2_SEA_room_10" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_SEA/Z2_SEA_room_10.o" + number 3 +endseg + +beginseg + name "Z2_SEA_room_11" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_SEA/Z2_SEA_room_11.o" + number 3 +endseg + +beginseg + name "Z2_SEA_room_12" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_SEA/Z2_SEA_room_12.o" + number 3 +endseg + +beginseg + name "Z2_SEA_room_13" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_SEA/Z2_SEA_room_13.o" + number 3 +endseg + +beginseg + name "Z2_SEA_room_14" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_SEA/Z2_SEA_room_14.o" + number 3 +endseg + +beginseg + name "Z2_SEA_room_15" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_SEA/Z2_SEA_room_15.o" + number 3 +endseg + +beginseg + name "Z2_35TAKI" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_35TAKI/Z2_35TAKI.o" + number 2 +endseg + +beginseg + name "Z2_35TAKI_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_35TAKI/Z2_35TAKI_room_00.o" + number 3 +endseg + +beginseg + name "Z2_REDEAD" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_REDEAD/Z2_REDEAD.o" + number 2 +endseg + +beginseg + name "Z2_REDEAD_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_REDEAD/Z2_REDEAD_room_00.o" + number 3 +endseg + +beginseg + name "Z2_REDEAD_room_01" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_REDEAD/Z2_REDEAD_room_01.o" + number 3 +endseg + +beginseg + name "Z2_REDEAD_room_02" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_REDEAD/Z2_REDEAD_room_02.o" + number 3 +endseg + +beginseg + name "Z2_REDEAD_room_03" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_REDEAD/Z2_REDEAD_room_03.o" + number 3 +endseg + +beginseg + name "Z2_REDEAD_room_04" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_REDEAD/Z2_REDEAD_room_04.o" + number 3 +endseg + +beginseg + name "Z2_REDEAD_room_05" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_REDEAD/Z2_REDEAD_room_05.o" + number 3 +endseg + +beginseg + name "Z2_REDEAD_room_06" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_REDEAD/Z2_REDEAD_room_06.o" + number 3 +endseg + +beginseg + name "Z2_REDEAD_room_07" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_REDEAD/Z2_REDEAD_room_07.o" + number 3 +endseg + +beginseg + name "Z2_REDEAD_room_08" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_REDEAD/Z2_REDEAD_room_08.o" + number 3 +endseg + +beginseg + name "Z2_REDEAD_room_09" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_REDEAD/Z2_REDEAD_room_09.o" + number 3 +endseg + +beginseg + name "Z2_REDEAD_room_10" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_REDEAD/Z2_REDEAD_room_10.o" + number 3 +endseg + +beginseg + name "Z2_REDEAD_room_11" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_REDEAD/Z2_REDEAD_room_11.o" + number 3 +endseg + +beginseg + name "Z2_REDEAD_room_12" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_REDEAD/Z2_REDEAD_room_12.o" + number 3 +endseg + +beginseg + name "Z2_REDEAD_room_13" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_REDEAD/Z2_REDEAD_room_13.o" + number 3 +endseg + +beginseg + name "Z2_BANDROOM" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_BANDROOM/Z2_BANDROOM.o" + number 2 +endseg + +beginseg + name "Z2_BANDROOM_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_BANDROOM/Z2_BANDROOM_room_00.o" + number 3 +endseg + +beginseg + name "Z2_BANDROOM_room_01" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_BANDROOM/Z2_BANDROOM_room_01.o" + number 3 +endseg + +beginseg + name "Z2_BANDROOM_room_02" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_BANDROOM/Z2_BANDROOM_room_02.o" + number 3 +endseg + +beginseg + name "Z2_BANDROOM_room_03" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_BANDROOM/Z2_BANDROOM_room_03.o" + number 3 +endseg + +beginseg + name "Z2_BANDROOM_room_04" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_BANDROOM/Z2_BANDROOM_room_04.o" + number 3 +endseg + +beginseg + name "Z2_11GORONNOSATO" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_11GORONNOSATO/Z2_11GORONNOSATO.o" + number 2 +endseg + +beginseg + name "Z2_11GORONNOSATO_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_11GORONNOSATO/Z2_11GORONNOSATO_room_00.o" + number 3 +endseg + +beginseg + name "Z2_11GORONNOSATO_room_01" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_11GORONNOSATO/Z2_11GORONNOSATO_room_01.o" + number 3 +endseg + +beginseg + name "Z2_GORON_HAKA" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_GORON_HAKA/Z2_GORON_HAKA.o" + number 2 +endseg + +beginseg + name "Z2_GORON_HAKA_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_GORON_HAKA/Z2_GORON_HAKA_room_00.o" + number 3 +endseg + +beginseg + name "Z2_SECOM" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_SECOM/Z2_SECOM.o" + number 2 +endseg + +beginseg + name "Z2_SECOM_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_SECOM/Z2_SECOM_room_00.o" + number 3 +endseg + +beginseg + name "Z2_SECOM_room_01" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_SECOM/Z2_SECOM_room_01.o" + number 3 +endseg + +beginseg + name "Z2_10YUKIYAMANOMURA" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_10YUKIYAMANOMURA/Z2_10YUKIYAMANOMURA.o" + number 2 +endseg + +beginseg + name "Z2_10YUKIYAMANOMURA_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_10YUKIYAMANOMURA/Z2_10YUKIYAMANOMURA_room_00.o" + number 3 +endseg + +beginseg + name "Z2_TOUGITES" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_TOUGITES/Z2_TOUGITES.o" + number 2 +endseg + +beginseg + name "Z2_TOUGITES_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_TOUGITES/Z2_TOUGITES_room_00.o" + number 3 +endseg + +beginseg + name "Z2_DANPEI" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_DANPEI/Z2_DANPEI.o" + number 2 +endseg + +beginseg + name "Z2_DANPEI_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_DANPEI/Z2_DANPEI_room_00.o" + number 3 +endseg + +beginseg + name "Z2_DANPEI_room_01" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_DANPEI/Z2_DANPEI_room_01.o" + number 3 +endseg + +beginseg + name "Z2_DANPEI_room_02" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_DANPEI/Z2_DANPEI_room_02.o" + number 3 +endseg + +beginseg + name "Z2_DANPEI_room_03" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_DANPEI/Z2_DANPEI_room_03.o" + number 3 +endseg + +beginseg + name "Z2_DANPEI_room_04" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_DANPEI/Z2_DANPEI_room_04.o" + number 3 +endseg + +beginseg + name "Z2_DANPEI_room_05" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_DANPEI/Z2_DANPEI_room_05.o" + number 3 +endseg + +beginseg + name "Z2_DANPEI_room_06" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_DANPEI/Z2_DANPEI_room_06.o" + number 3 +endseg + +beginseg + name "Z2_DANPEI_room_07" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_DANPEI/Z2_DANPEI_room_07.o" + number 3 +endseg + +beginseg + name "Z2_DANPEI_room_08" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_DANPEI/Z2_DANPEI_room_08.o" + number 3 +endseg + +beginseg + name "Z2_IKANAMAE" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_IKANAMAE/Z2_IKANAMAE.o" + number 2 +endseg + +beginseg + name "Z2_IKANAMAE_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_IKANAMAE/Z2_IKANAMAE_room_00.o" + number 3 +endseg + +beginseg + name "Z2_DOUJOU" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_DOUJOU/Z2_DOUJOU.o" + number 2 +endseg + +beginseg + name "Z2_DOUJOU_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_DOUJOU/Z2_DOUJOU_room_00.o" + number 3 +endseg + +beginseg + name "Z2_MUSICHOUSE" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_MUSICHOUSE/Z2_MUSICHOUSE.o" + number 2 +endseg + +beginseg + name "Z2_MUSICHOUSE_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_MUSICHOUSE/Z2_MUSICHOUSE_room_00.o" + number 3 +endseg + +beginseg + name "Z2_IKNINSIDE" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_IKNINSIDE/Z2_IKNINSIDE.o" + number 2 +endseg + +beginseg + name "Z2_IKNINSIDE_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_IKNINSIDE/Z2_IKNINSIDE_room_00.o" + number 3 +endseg + +beginseg + name "Z2_IKNINSIDE_room_01" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_IKNINSIDE/Z2_IKNINSIDE_room_01.o" + number 3 +endseg + +beginseg + name "Z2_MAP_SHOP" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_MAP_SHOP/Z2_MAP_SHOP.o" + number 2 +endseg + +beginseg + name "Z2_MAP_SHOP_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_MAP_SHOP/Z2_MAP_SHOP_room_00.o" + number 3 +endseg + +beginseg + name "Z2_F40" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_F40/Z2_F40.o" + number 2 +endseg + +beginseg + name "Z2_F40_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_F40/Z2_F40_room_00.o" + number 3 +endseg + +beginseg + name "Z2_F41" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_F41/Z2_F41.o" + number 2 +endseg + +beginseg + name "Z2_F41_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_F41/Z2_F41_room_00.o" + number 3 +endseg + +beginseg + name "Z2_10YUKIYAMANOMURA2" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_10YUKIYAMANOMURA2/Z2_10YUKIYAMANOMURA2.o" + number 2 +endseg + +beginseg + name "Z2_10YUKIYAMANOMURA2_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_10YUKIYAMANOMURA2/Z2_10YUKIYAMANOMURA2_room_00.o" + number 3 +endseg + +beginseg + name "Z2_10YUKIYAMANOMURA2_room_01" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_10YUKIYAMANOMURA2/Z2_10YUKIYAMANOMURA2_room_01.o" + number 3 +endseg + +beginseg + name "Z2_14YUKIDAMANOMITI" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_14YUKIDAMANOMITI/Z2_14YUKIDAMANOMITI.o" + number 2 +endseg + +beginseg + name "Z2_14YUKIDAMANOMITI_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_14YUKIDAMANOMITI/Z2_14YUKIDAMANOMITI_room_00.o" + number 3 +endseg + +beginseg + name "Z2_12HAKUGINMAE" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_12HAKUGINMAE/Z2_12HAKUGINMAE.o" + number 2 +endseg + +beginseg + name "Z2_12HAKUGINMAE_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_12HAKUGINMAE/Z2_12HAKUGINMAE_room_00.o" + number 3 +endseg + +beginseg + name "Z2_17SETUGEN" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_17SETUGEN/Z2_17SETUGEN.o" + number 2 +endseg + +beginseg + name "Z2_17SETUGEN_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_17SETUGEN/Z2_17SETUGEN_room_00.o" + number 3 +endseg + +beginseg + name "Z2_17SETUGEN2" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_17SETUGEN2/Z2_17SETUGEN2.o" + number 2 +endseg + +beginseg + name "Z2_17SETUGEN2_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_17SETUGEN2/Z2_17SETUGEN2_room_00.o" + number 3 +endseg + +beginseg + name "Z2_SEA_BS" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_SEA_BS/Z2_SEA_BS.o" + number 2 +endseg + +beginseg + name "Z2_SEA_BS_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_SEA_BS/Z2_SEA_BS_room_00.o" + number 3 +endseg + +beginseg + name "Z2_RANDOM" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_RANDOM/Z2_RANDOM.o" + number 2 +endseg + +beginseg + name "Z2_RANDOM_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_RANDOM/Z2_RANDOM_room_00.o" + number 3 +endseg + +beginseg + name "Z2_RANDOM_room_01" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_RANDOM/Z2_RANDOM_room_01.o" + number 3 +endseg + +beginseg + name "Z2_RANDOM_room_02" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_RANDOM/Z2_RANDOM_room_02.o" + number 3 +endseg + +beginseg + name "Z2_RANDOM_room_03" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_RANDOM/Z2_RANDOM_room_03.o" + number 3 +endseg + +beginseg + name "Z2_RANDOM_room_04" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_RANDOM/Z2_RANDOM_room_04.o" + number 3 +endseg + +beginseg + name "Z2_RANDOM_room_05" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_RANDOM/Z2_RANDOM_room_05.o" + number 3 +endseg + +beginseg + name "Z2_YADOYA" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_YADOYA/Z2_YADOYA.o" + number 2 +endseg + +beginseg + name "Z2_YADOYA_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_YADOYA/Z2_YADOYA_room_00.o" + number 3 +endseg + +beginseg + name "Z2_YADOYA_room_01" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_YADOYA/Z2_YADOYA_room_01.o" + number 3 +endseg + +beginseg + name "Z2_YADOYA_room_02" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_YADOYA/Z2_YADOYA_room_02.o" + number 3 +endseg + +beginseg + name "Z2_YADOYA_room_03" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_YADOYA/Z2_YADOYA_room_03.o" + number 3 +endseg + +beginseg + name "Z2_YADOYA_room_04" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_YADOYA/Z2_YADOYA_room_04.o" + number 3 +endseg + +beginseg + name "Z2_KONPEKI_ENT" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_KONPEKI_ENT/Z2_KONPEKI_ENT.o" + number 2 +endseg + +beginseg + name "Z2_KONPEKI_ENT_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_KONPEKI_ENT/Z2_KONPEKI_ENT_room_00.o" + number 3 +endseg + +beginseg + name "Z2_INSIDETOWER" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_INSIDETOWER/Z2_INSIDETOWER.o" + number 2 +endseg + +beginseg + name "Z2_INSIDETOWER_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_INSIDETOWER/Z2_INSIDETOWER_room_00.o" + number 3 +endseg + +beginseg + name "Z2_INSIDETOWER_room_01" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_INSIDETOWER/Z2_INSIDETOWER_room_01.o" + number 3 +endseg + +beginseg + name "Z2_26SARUNOMORI" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_26SARUNOMORI/Z2_26SARUNOMORI.o" + number 2 +endseg + +beginseg + name "Z2_26SARUNOMORI_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_26SARUNOMORI/Z2_26SARUNOMORI_room_00.o" + number 3 +endseg + +beginseg + name "Z2_26SARUNOMORI_room_01" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_26SARUNOMORI/Z2_26SARUNOMORI_room_01.o" + number 3 +endseg + +beginseg + name "Z2_26SARUNOMORI_room_02" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_26SARUNOMORI/Z2_26SARUNOMORI_room_02.o" + number 3 +endseg + +beginseg + name "Z2_26SARUNOMORI_room_03" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_26SARUNOMORI/Z2_26SARUNOMORI_room_03.o" + number 3 +endseg + +beginseg + name "Z2_26SARUNOMORI_room_04" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_26SARUNOMORI/Z2_26SARUNOMORI_room_04.o" + number 3 +endseg + +beginseg + name "Z2_26SARUNOMORI_room_05" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_26SARUNOMORI/Z2_26SARUNOMORI_room_05.o" + number 3 +endseg + +beginseg + name "Z2_26SARUNOMORI_room_06" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_26SARUNOMORI/Z2_26SARUNOMORI_room_06.o" + number 3 +endseg + +beginseg + name "Z2_26SARUNOMORI_room_07" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_26SARUNOMORI/Z2_26SARUNOMORI_room_07.o" + number 3 +endseg + +beginseg + name "Z2_26SARUNOMORI_room_08" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_26SARUNOMORI/Z2_26SARUNOMORI_room_08.o" + number 3 +endseg + +beginseg + name "Z2_LOST_WOODS" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_LOST_WOODS/Z2_LOST_WOODS.o" + number 2 +endseg + +beginseg + name "Z2_LOST_WOODS_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_LOST_WOODS/Z2_LOST_WOODS_room_00.o" + number 3 +endseg + +beginseg + name "Z2_LOST_WOODS_room_01" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_LOST_WOODS/Z2_LOST_WOODS_room_01.o" + number 3 +endseg + +beginseg + name "Z2_LOST_WOODS_room_02" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_LOST_WOODS/Z2_LOST_WOODS_room_02.o" + number 3 +endseg + +beginseg + name "Z2_LAST_LINK" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_LAST_LINK/Z2_LAST_LINK.o" + number 2 +endseg + +beginseg + name "Z2_LAST_LINK_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_LAST_LINK/Z2_LAST_LINK_room_00.o" + number 3 +endseg + +beginseg + name "Z2_LAST_LINK_room_01" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_LAST_LINK/Z2_LAST_LINK_room_01.o" + number 3 +endseg + +beginseg + name "Z2_LAST_LINK_room_02" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_LAST_LINK/Z2_LAST_LINK_room_02.o" + number 3 +endseg + +beginseg + name "Z2_LAST_LINK_room_03" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_LAST_LINK/Z2_LAST_LINK_room_03.o" + number 3 +endseg + +beginseg + name "Z2_LAST_LINK_room_04" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_LAST_LINK/Z2_LAST_LINK_room_04.o" + number 3 +endseg + +beginseg + name "Z2_LAST_LINK_room_05" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_LAST_LINK/Z2_LAST_LINK_room_05.o" + number 3 +endseg + +beginseg + name "Z2_LAST_LINK_room_06" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_LAST_LINK/Z2_LAST_LINK_room_06.o" + number 3 +endseg + +beginseg + name "Z2_LAST_LINK_room_07" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_LAST_LINK/Z2_LAST_LINK_room_07.o" + number 3 +endseg + +beginseg + name "Z2_SOUGEN" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_SOUGEN/Z2_SOUGEN.o" + number 2 +endseg + +beginseg + name "Z2_SOUGEN_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_SOUGEN/Z2_SOUGEN_room_00.o" + number 3 +endseg + +beginseg + name "Z2_BOMYA" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_BOMYA/Z2_BOMYA.o" + number 2 +endseg + +beginseg + name "Z2_BOMYA_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_BOMYA/Z2_BOMYA_room_00.o" + number 3 +endseg + +beginseg + name "Z2_KYOJINNOMA" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_KYOJINNOMA/Z2_KYOJINNOMA.o" + number 2 +endseg + +beginseg + name "Z2_KYOJINNOMA_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_KYOJINNOMA/Z2_KYOJINNOMA_room_00.o" + number 3 +endseg + +beginseg + name "Z2_KOEPONARACE" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_KOEPONARACE/Z2_KOEPONARACE.o" + number 2 +endseg + +beginseg + name "Z2_KOEPONARACE_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_KOEPONARACE/Z2_KOEPONARACE_room_00.o" + number 3 +endseg + +beginseg + name "Z2_GORONRACE" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_GORONRACE/Z2_GORONRACE.o" + number 2 +endseg + +beginseg + name "Z2_GORONRACE_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_GORONRACE/Z2_GORONRACE_room_00.o" + number 3 +endseg + +beginseg + name "Z2_TOWN" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_TOWN/Z2_TOWN.o" + number 2 +endseg + +beginseg + name "Z2_TOWN_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_TOWN/Z2_TOWN_room_00.o" + number 3 +endseg + +beginseg + name "Z2_ICHIBA" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_ICHIBA/Z2_ICHIBA.o" + number 2 +endseg + +beginseg + name "Z2_ICHIBA_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_ICHIBA/Z2_ICHIBA_room_00.o" + number 3 +endseg + +beginseg + name "Z2_BACKTOWN" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_BACKTOWN/Z2_BACKTOWN.o" + number 2 +endseg + +beginseg + name "Z2_BACKTOWN_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_BACKTOWN/Z2_BACKTOWN_room_00.o" + number 3 +endseg + +beginseg + name "Z2_CLOCKTOWER" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_CLOCKTOWER/Z2_CLOCKTOWER.o" + number 2 +endseg + +beginseg + name "Z2_CLOCKTOWER_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_CLOCKTOWER/Z2_CLOCKTOWER_room_00.o" + number 3 +endseg + +beginseg + name "Z2_ALLEY" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_ALLEY/Z2_ALLEY.o" + number 2 +endseg + +beginseg + name "Z2_ALLEY_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/Z2_ALLEY/Z2_ALLEY_room_00.o" + number 3 +endseg + +beginseg + name "SPOT00" + compress + romalign 0x1000 + include "build/assets/scenes/SPOT00/SPOT00.o" + number 2 +endseg + +beginseg + name "SPOT00_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/SPOT00/SPOT00_room_00.o" + number 3 +endseg + +beginseg + name "KAKUSIANA" + compress + romalign 0x1000 + include "build/assets/scenes/KAKUSIANA/KAKUSIANA.o" + number 2 +endseg + +beginseg + name "KAKUSIANA_room_00" + compress + romalign 0x1000 + include "build/assets/scenes/KAKUSIANA/KAKUSIANA_room_00.o" + number 3 +endseg + +beginseg + name "KAKUSIANA_room_01" + compress + romalign 0x1000 + include "build/assets/scenes/KAKUSIANA/KAKUSIANA_room_01.o" + number 3 +endseg + +beginseg + name "KAKUSIANA_room_02" + compress + romalign 0x1000 + include "build/assets/scenes/KAKUSIANA/KAKUSIANA_room_02.o" + number 3 +endseg + +beginseg + name "KAKUSIANA_room_03" + compress + romalign 0x1000 + include "build/assets/scenes/KAKUSIANA/KAKUSIANA_room_03.o" + number 3 +endseg + +beginseg + name "KAKUSIANA_room_04" + compress + romalign 0x1000 + include "build/assets/scenes/KAKUSIANA/KAKUSIANA_room_04.o" + number 3 +endseg + +beginseg + name "KAKUSIANA_room_05" + compress + romalign 0x1000 + include "build/assets/scenes/KAKUSIANA/KAKUSIANA_room_05.o" + number 3 +endseg + +beginseg + name "KAKUSIANA_room_06" + compress + romalign 0x1000 + include "build/assets/scenes/KAKUSIANA/KAKUSIANA_room_06.o" + number 3 +endseg + +beginseg + name "KAKUSIANA_room_07" + compress + romalign 0x1000 + include "build/assets/scenes/KAKUSIANA/KAKUSIANA_room_07.o" + number 3 +endseg + +beginseg + name "KAKUSIANA_room_08" + compress + romalign 0x1000 + include "build/assets/scenes/KAKUSIANA/KAKUSIANA_room_08.o" + number 3 +endseg + +beginseg + name "KAKUSIANA_room_09" + compress + romalign 0x1000 + include "build/assets/scenes/KAKUSIANA/KAKUSIANA_room_09.o" + number 3 +endseg + +beginseg + name "KAKUSIANA_room_10" + compress + romalign 0x1000 + include "build/assets/scenes/KAKUSIANA/KAKUSIANA_room_10.o" + number 3 +endseg + +beginseg + name "KAKUSIANA_room_11" + compress + romalign 0x1000 + include "build/assets/scenes/KAKUSIANA/KAKUSIANA_room_11.o" + number 3 +endseg + +beginseg + name "KAKUSIANA_room_12" + compress + romalign 0x1000 + include "build/assets/scenes/KAKUSIANA/KAKUSIANA_room_12.o" + number 3 +endseg + +beginseg + name "KAKUSIANA_room_13" + compress + romalign 0x1000 + include "build/assets/scenes/KAKUSIANA/KAKUSIANA_room_13.o" + number 3 +endseg + +beginseg + name "KAKUSIANA_room_14" + compress + romalign 0x1000 + include "build/assets/scenes/KAKUSIANA/KAKUSIANA_room_14.o" + number 3 +endseg + +beginseg + name "bump_texture_static" + compress + romalign 0x1000 + include "build/baserom/bump_texture_static.o" +endseg + +beginseg + name "anime_model_1_static" + romalign 0x1000 + include "build/baserom/anime_model_1_static.o" +endseg + +beginseg + name "anime_model_2_static" + romalign 0x1000 + include "build/baserom/anime_model_2_static.o" +endseg + +beginseg + name "anime_model_3_static" + romalign 0x1000 + include "build/baserom/anime_model_3_static.o" +endseg + +beginseg + name "anime_model_4_static" + romalign 0x1000 + include "build/baserom/anime_model_4_static.o" +endseg + +beginseg + name "anime_model_5_static" + romalign 0x1000 + include "build/baserom/anime_model_5_static.o" +endseg + +beginseg + name "anime_model_6_static" + romalign 0x1000 + include "build/baserom/anime_model_6_static.o" +endseg + +beginseg + name "anime_texture_1_static" + romalign 0x1000 + include "build/baserom/anime_texture_1_static.o" +endseg + +beginseg + name "anime_texture_2_static" + romalign 0x1000 + include "build/baserom/anime_texture_2_static.o" +endseg + +beginseg + name "anime_texture_3_static" + romalign 0x1000 + include "build/baserom/anime_texture_3_static.o" +endseg + +beginseg + name "anime_texture_4_static" + romalign 0x1000 + include "build/baserom/anime_texture_4_static.o" +endseg + +beginseg + name "anime_texture_5_static" + romalign 0x1000 + include "build/baserom/anime_texture_5_static.o" +endseg + +beginseg + name "anime_texture_6_static" + romalign 0x1000 + include "build/baserom/anime_texture_6_static.o" +endseg + +beginseg + name "softsprite_matrix_static" + romalign 0x1000 + include "build/baserom/softsprite_matrix_static.o" +endseg diff --git a/src/boot/__osMemcpy.c b/src/boot/__osMemcpy.c new file mode 100644 index 0000000000..63fbd3a7fc --- /dev/null +++ b/src/boot/__osMemcpy.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/__osMemcpy/__osMemcpy.s") diff --git a/src/boot/__osMemset.c b/src/boot/__osMemset.c new file mode 100644 index 0000000000..8aebc19dd9 --- /dev/null +++ b/src/boot/__osMemset.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/__osMemset/__osMemset.s") diff --git a/src/boot/__osStrcpy.c b/src/boot/__osStrcpy.c new file mode 100644 index 0000000000..f4f5c659c8 --- /dev/null +++ b/src/boot/__osStrcpy.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/__osStrcpy/__osStrcpy.s") diff --git a/src/boot/afterprenmi.c b/src/boot/afterprenmi.c new file mode 100644 index 0000000000..4c61fe0bff --- /dev/null +++ b/src/boot/afterprenmi.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/afterprenmi/osAfterPreNMI.s") diff --git a/src/boot/aisetfreq.c b/src/boot/aisetfreq.c new file mode 100644 index 0000000000..ef0a8d2deb --- /dev/null +++ b/src/boot/aisetfreq.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/aisetfreq/osAiSetFrequency.s") diff --git a/src/boot/bcopy.c b/src/boot/bcopy.c new file mode 100644 index 0000000000..4888db9af9 --- /dev/null +++ b/src/boot/bcopy.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/bcopy/bcopy.s") diff --git a/src/boot/boot_0x80087900.c.ignore b/src/boot/boot_0x80087900.c.ignore deleted file mode 100644 index a4dcf8cdb7..0000000000 --- a/src/boot/boot_0x80087900.c.ignore +++ /dev/null @@ -1,30 +0,0 @@ -#include -#include - -UNK_RET func_80087900(UNK_PTR a0, UNK_TYPE a1, UNK_PTR a2) { - func_8008E050((UNK_TYPE(*)(UNK_TYPE, UNK_TYPE, UNK_TYPE))(*(u32*)a0), a0, a1, a2); -} - -UNK_RET func_80087934(UNK_PTR a0, UNK_TYPE a1, UNK_PTR a2, UNK_TYPE a3) { - func_80087900(a0, a1, &a2); -} - -UNK_RET func_80087960(UNK_ARGS a0) { - -} - -UNK_RET func_800879CC(u32 a0) { - func_80087960(func_800888A8(func_800889A8(a0, 3), 64)); -} - -UNK_RET func_80087A1C(u32 a0) { - func_80087960(func_800888A8(func_800889A8(a0, 3000), 64)); -} - -UNK_RET func_80087A6C(UNK_TYPE a0) { - func_80087960(func_800888A8(func_800889A8(a0, 0x02CB4178), 1000)); -} - -UNK_RET func_80087AC0(u32 a0) { - func_80087960(func_800889A8(a0, 0x02CB4178)); -} diff --git a/src/boot/boot_0x80092920.c.ignore b/src/boot/boot_0x80092920.c.ignore deleted file mode 100644 index 4fdf7b5075..0000000000 --- a/src/boot/boot_0x80092920.c.ignore +++ /dev/null @@ -1,61 +0,0 @@ -#include -#include - -OSPiHandle* func_80092920(void) { - u32 v0; - u32 temp; - u32 temp2; - u32 temp3; - u32 temp4; - UNK_TYPE func_ret; - - func_8008C1E0(); - - if (D_800980D0 == 0) { - func_8008C224(); - return &D_8009E610; - } - - D_800980D0 = 0; // TODO volatile? - - D_8009E610.type = 0; - D_8009E610.baseAddress = 0xB0000000; - D_8009E610.domain = 0; - D_8009E610.speed = 0; - - func_80089630(&D_8009E624, 96); - - while ((*(vu32*)0xA4600010) & 0x3); - - temp = *(vu32*)0xA4600014; - temp2 = *(vu32*)0xA460001C; - temp3 = *(vu32*)0xA4600020; - temp4 = *(vu32*)0xA4600018; - - *(vu32*)0xA4600014 = 255; - *(vu32*)0xA460001C = 0; - *(vu32*)0xA4600020 = 3; - *(vu32*)0xA4600018 = 255; - - v0 = *(u32*)(D_8009E610.baseAddress | 0xA0000000); - D_8009E610.pageSize = (v0 >> 16) & 0xF; - D_8009E610.relDuration = (v0 >> 20) & 0xF; - D_8009E610.pulse = v0 >> 8; - D_8009E610.latency = v0; - - *(vu32*)0xA4600014 = temp; - *(vu32*)0xA460001C = temp2; - *(vu32*)0xA4600020 = temp3; - *(vu32*)0xA4600018 = temp4; - - func_ret = func_80091A60(); - - D_8009E610.next = osPiHandleListHead; - osPiHandleListHead = &D_8009E610; - - func_80091AD0(func_ret); - - func_8008C224(); - - return &D_8009E610; -} diff --git a/src/boot/boot_80086760.c b/src/boot/boot_80086760.c new file mode 100644 index 0000000000..b680133704 --- /dev/null +++ b/src/boot/boot_80086760.c @@ -0,0 +1,27 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/boot_80086760/func_80086760.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/boot_80086760/func_80086794.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/boot_80086760/func_800867B4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/boot_80086760/func_800867D4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/boot_80086760/func_800867F4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/boot_80086760/func_80086814.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/boot_80086760/func_80086834.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/boot_80086760/func_80086880.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/boot_80086760/func_800869A4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/boot_80086760/func_80086AF0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/boot_80086760/func_80086B30.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/boot_80086760/func_80086C18.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/boot_80086760/func_80086C48.s") diff --git a/src/boot/cartrominit.c b/src/boot/cartrominit.c new file mode 100644 index 0000000000..6b96905c74 --- /dev/null +++ b/src/boot/cartrominit.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/cartrominit/osCartRomInit.s") diff --git a/src/boot/contchannelreset.c b/src/boot/contchannelreset.c new file mode 100644 index 0000000000..841dad7386 --- /dev/null +++ b/src/boot/contchannelreset.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/contchannelreset/__osContChannelReset.s") diff --git a/src/boot/contpfs.c b/src/boot/contpfs.c new file mode 100644 index 0000000000..b5e6e02880 --- /dev/null +++ b/src/boot/contpfs.c @@ -0,0 +1,15 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/contpfs/__osSumcalc.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/contpfs/__osIdCheckSum.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/contpfs/__osRepairPackId.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/contpfs/__osCheckPackId.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/contpfs/__osGetId.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/contpfs/__osCheckId.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/contpfs/__osPfsRWInode.s") diff --git a/src/boot/contramread.c b/src/boot/contramread.c new file mode 100644 index 0000000000..420be9d895 --- /dev/null +++ b/src/boot/contramread.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/contramread/__osContRamRead.s") diff --git a/src/boot/contramwrite.c b/src/boot/contramwrite.c new file mode 100644 index 0000000000..e6f96b1ef1 --- /dev/null +++ b/src/boot/contramwrite.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/contramwrite/__osContRamWrite.s") diff --git a/src/boot/cosf.c b/src/boot/cosf.c new file mode 100644 index 0000000000..c5af1c9076 --- /dev/null +++ b/src/boot/cosf.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/cosf/__cosf.s") diff --git a/src/boot/crc.c b/src/boot/crc.c new file mode 100644 index 0000000000..a96843fc17 --- /dev/null +++ b/src/boot/crc.c @@ -0,0 +1,5 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/crc/__osContAddressCrc.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/crc/__osContDataCrc.s") diff --git a/src/boot/devmgr.c b/src/boot/devmgr.c new file mode 100644 index 0000000000..0a5d7e0bb9 --- /dev/null +++ b/src/boot/devmgr.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/devmgr/__osDevMgrMain.s") diff --git a/src/boot/epilinkhandle.c b/src/boot/epilinkhandle.c new file mode 100644 index 0000000000..59efbc66e6 --- /dev/null +++ b/src/boot/epilinkhandle.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/epilinkhandle/osEPiLinkHandle.s") diff --git a/src/boot/epirawdma.c b/src/boot/epirawdma.c new file mode 100644 index 0000000000..e6ee17d5f3 --- /dev/null +++ b/src/boot/epirawdma.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/epirawdma/osEPiRawStartDma.s") diff --git a/src/boot/epirawread.c b/src/boot/epirawread.c new file mode 100644 index 0000000000..0a175189e3 --- /dev/null +++ b/src/boot/epirawread.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/epirawread/osEPiRawReadIo.s") diff --git a/src/boot/epiread.c b/src/boot/epiread.c new file mode 100644 index 0000000000..efab23bbb3 --- /dev/null +++ b/src/boot/epiread.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/epiread/osEPiReadIo.s") diff --git a/src/boot/epiwrite.c b/src/boot/epiwrite.c new file mode 100644 index 0000000000..a44fd169d8 --- /dev/null +++ b/src/boot/epiwrite.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/epiwrite/osEPiWriteIo.s") diff --git a/src/boot/fmodf.c b/src/boot/fmodf.c new file mode 100644 index 0000000000..32b719bb7e --- /dev/null +++ b/src/boot/fmodf.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/fmodf/fmodf.s") diff --git a/src/boot/getfpccsr.c b/src/boot/getfpccsr.c new file mode 100644 index 0000000000..f0dc33735e --- /dev/null +++ b/src/boot/getfpccsr.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/getfpccsr/__osGetFpcCsr.s") diff --git a/src/boot/guS2DInitBg.c b/src/boot/guS2DInitBg.c new file mode 100644 index 0000000000..f4a2606e4e --- /dev/null +++ b/src/boot/guS2DInitBg.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/guS2DInitBg/guS2DInitBg.s") diff --git a/src/boot/invaldcache.c b/src/boot/invaldcache.c new file mode 100644 index 0000000000..a4550a3f34 --- /dev/null +++ b/src/boot/invaldcache.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/invaldcache/osInvalDCache.s") diff --git a/src/boot/invalicache.c b/src/boot/invalicache.c new file mode 100644 index 0000000000..d7f6ddd9c2 --- /dev/null +++ b/src/boot/invalicache.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/invalicache/osInvalICache.s") diff --git a/src/boot/loadfragment.c b/src/boot/loadfragment.c new file mode 100644 index 0000000000..4589cd3590 --- /dev/null +++ b/src/boot/loadfragment.c @@ -0,0 +1,7 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/loadfragment/Load_Relocate.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/loadfragment/Load_LoadOverlay.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/loadfragment/Load_AllocateAndLoad.s") diff --git a/src/boot/memcmp.c b/src/boot/memcmp.c new file mode 100644 index 0000000000..0bc52cc93c --- /dev/null +++ b/src/boot/memcmp.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/memcmp/memcmp.s") diff --git a/src/boot/normalize.c b/src/boot/normalize.c new file mode 100644 index 0000000000..3fdbbe880a --- /dev/null +++ b/src/boot/normalize.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/normalize/guNormalize.s") diff --git a/src/boot/pfsallocatefile.c b/src/boot/pfsallocatefile.c new file mode 100644 index 0000000000..fd7bdeef3f --- /dev/null +++ b/src/boot/pfsallocatefile.c @@ -0,0 +1,5 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/pfsallocatefile/osPfsAllocateFile.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/pfsallocatefile/__osPfsDeclearPage.s") diff --git a/src/boot/pfschecker.c b/src/boot/pfschecker.c new file mode 100644 index 0000000000..d42ac505ee --- /dev/null +++ b/src/boot/pfschecker.c @@ -0,0 +1,7 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/pfschecker/osPfsChecker.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/pfschecker/corrupted_init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/pfschecker/corrupted.s") diff --git a/src/boot/pfsdeletefile.c b/src/boot/pfsdeletefile.c new file mode 100644 index 0000000000..d604ca7a4c --- /dev/null +++ b/src/boot/pfsdeletefile.c @@ -0,0 +1,5 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/pfsdeletefile/osPfsDeleteFile.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/pfsdeletefile/__osPfsReleasePages.s") diff --git a/src/boot/pfsfilestate.c b/src/boot/pfsfilestate.c new file mode 100644 index 0000000000..ad6737ab10 --- /dev/null +++ b/src/boot/pfsfilestate.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/pfsfilestate/osPfsFileState.s") diff --git a/src/boot/pfsfreeblocks.c b/src/boot/pfsfreeblocks.c new file mode 100644 index 0000000000..af10a5b887 --- /dev/null +++ b/src/boot/pfsfreeblocks.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/pfsfreeblocks/osPfsFreeBlocks.s") diff --git a/src/boot/pfsgetstatus.c b/src/boot/pfsgetstatus.c new file mode 100644 index 0000000000..8127dde217 --- /dev/null +++ b/src/boot/pfsgetstatus.c @@ -0,0 +1,7 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/pfsgetstatus/__osPfsGetStatus.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/pfsgetstatus/__osPfsRequestOneChannel.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/pfsgetstatus/__osPfsGetOneChannelData.s") diff --git a/src/boot/pfsinitpak.c b/src/boot/pfsinitpak.c new file mode 100644 index 0000000000..6d8a59c1ae --- /dev/null +++ b/src/boot/pfsinitpak.c @@ -0,0 +1,5 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/pfsinitpak/osPfsInitPak.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/pfsinitpak/__osPfsCheckRamArea.s") diff --git a/src/boot/pfsisplug.c b/src/boot/pfsisplug.c new file mode 100644 index 0000000000..2c479e35b3 --- /dev/null +++ b/src/boot/pfsisplug.c @@ -0,0 +1,7 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/pfsisplug/osPfsIsPlug.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/pfsisplug/__osPfsRequestData.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/pfsisplug/__osPfsGetInitData.s") diff --git a/src/boot/pfsreadwritefile.c b/src/boot/pfsreadwritefile.c new file mode 100644 index 0000000000..bc2b9741ce --- /dev/null +++ b/src/boot/pfsreadwritefile.c @@ -0,0 +1,5 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/pfsreadwritefile/__osPfsGetNextPage.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/pfsreadwritefile/osPfsReadWriteFile.s") diff --git a/src/boot/pfssearchfile.c b/src/boot/pfssearchfile.c new file mode 100644 index 0000000000..572e3d0a78 --- /dev/null +++ b/src/boot/pfssearchfile.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/pfssearchfile/osPfsFindFile.s") diff --git a/src/boot/pfsselectbank.c b/src/boot/pfsselectbank.c new file mode 100644 index 0000000000..8353dc43c2 --- /dev/null +++ b/src/boot/pfsselectbank.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/pfsselectbank/__osPfsSelectBank.s") diff --git a/src/boot/position.c b/src/boot/position.c new file mode 100644 index 0000000000..2892b1f11e --- /dev/null +++ b/src/boot/position.c @@ -0,0 +1,5 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/position/guPositionF.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/position/guPosition.s") diff --git a/src/boot/printutils.c b/src/boot/printutils.c new file mode 100644 index 0000000000..b42756ad2b --- /dev/null +++ b/src/boot/printutils.c @@ -0,0 +1,15 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/printutils/PrintUtils_VPrintf.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/printutils/PrintUtils_Printf.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/printutils/Sleep_Cycles.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/printutils/Sleep_Nsec.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/printutils/Sleep_Usec.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/printutils/Sleep_Msec.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/printutils/Sleep_Sec.s") diff --git a/src/boot/resetglobalintmask.c b/src/boot/resetglobalintmask.c new file mode 100644 index 0000000000..3d93a17e7b --- /dev/null +++ b/src/boot/resetglobalintmask.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/resetglobalintmask/__osResetGlobalIntMask.s") diff --git a/src/boot/rumblepak.c b/src/boot/rumblepak.c new file mode 100644 index 0000000000..3353059da5 --- /dev/null +++ b/src/boot/rumblepak.c @@ -0,0 +1,7 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/rumblepak/osSetRumble.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/rumblepak/osSetUpMempakWrite.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/rumblepak/osProbeRumblePak.s") diff --git a/src/boot/setfpccsr.c b/src/boot/setfpccsr.c new file mode 100644 index 0000000000..71d7afbbf0 --- /dev/null +++ b/src/boot/setfpccsr.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/setfpccsr/__osSetFpcCsr.s") diff --git a/src/boot/setglobalintmask.c b/src/boot/setglobalintmask.c new file mode 100644 index 0000000000..40b539b7f2 --- /dev/null +++ b/src/boot/setglobalintmask.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/setglobalintmask/__osSetGlobalIntMask.s") diff --git a/src/boot/sethwinterrupt.c b/src/boot/sethwinterrupt.c new file mode 100644 index 0000000000..86dfd2c649 --- /dev/null +++ b/src/boot/sethwinterrupt.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/sethwinterrupt/__osSetHWIntrRoutine.s") diff --git a/src/boot/sp.c b/src/boot/sp.c new file mode 100644 index 0000000000..6c829b0627 --- /dev/null +++ b/src/boot/sp.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/sp/__osSpDeviceBusy.s") diff --git a/src/boot/spsetpc.c b/src/boot/spsetpc.c new file mode 100644 index 0000000000..d87302bc22 --- /dev/null +++ b/src/boot/spsetpc.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/spsetpc/__osSpSetPc.s") diff --git a/src/boot/sqrtf.c b/src/boot/sqrtf.c new file mode 100644 index 0000000000..f233893bcb --- /dev/null +++ b/src/boot/sqrtf.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/sqrtf/sqrtf.s") diff --git a/src/boot/system_malloc.c b/src/boot/system_malloc.c new file mode 100644 index 0000000000..ee8fcd7094 --- /dev/null +++ b/src/boot/system_malloc.c @@ -0,0 +1,21 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/system_malloc/StartHeap_Alloc.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/system_malloc/StartHeap_AllocR.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/system_malloc/StartHeap_Realloc.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/system_malloc/StartHeap_Free.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/system_malloc/StartHeap_Calloc.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/system_malloc/StartHeap_AnalyzeArena.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/system_malloc/StartHeap_CheckArena.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/system_malloc/StartHeap_InitArena.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/system_malloc/StartHeap_Cleanup.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/system_malloc/StartHeap_IsInitialized.s") diff --git a/src/boot/vigetcurrframebuf.c b/src/boot/vigetcurrframebuf.c new file mode 100644 index 0000000000..83feda93dd --- /dev/null +++ b/src/boot/vigetcurrframebuf.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/vigetcurrframebuf/osViGetCurrentFramebuffer.s") diff --git a/src/boot/viswapcontext.c b/src/boot/viswapcontext.c new file mode 100644 index 0000000000..014fbbfeb7 --- /dev/null +++ b/src/boot/viswapcontext.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/viswapcontext/__osViSwapContext.s") diff --git a/src/boot/voicecheckword.c b/src/boot/voicecheckword.c new file mode 100644 index 0000000000..8b5ac0dfb2 --- /dev/null +++ b/src/boot/voicecheckword.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/voicecheckword/osVoiceCheckWord.s") diff --git a/src/boot/voicecleardictionary.c b/src/boot/voicecleardictionary.c new file mode 100644 index 0000000000..29766bb2a6 --- /dev/null +++ b/src/boot/voicecleardictionary.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/voicecleardictionary/osVoiceClearDictionary.s") diff --git a/src/boot/voicecontread2.c b/src/boot/voicecontread2.c new file mode 100644 index 0000000000..38350ee5f2 --- /dev/null +++ b/src/boot/voicecontread2.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/voicecontread2/__osVoiceContRead2.s") diff --git a/src/boot/voicecontread36.c b/src/boot/voicecontread36.c new file mode 100644 index 0000000000..38f3fe2f0a --- /dev/null +++ b/src/boot/voicecontread36.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/voicecontread36/__osVoiceContRead36.s") diff --git a/src/boot/voicecontrolgain.c b/src/boot/voicecontrolgain.c new file mode 100644 index 0000000000..9dc541cc5c --- /dev/null +++ b/src/boot/voicecontrolgain.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/voicecontrolgain/osVoiceControlGain.s") diff --git a/src/boot/voicecontwrite20.c b/src/boot/voicecontwrite20.c new file mode 100644 index 0000000000..5ca3560edd --- /dev/null +++ b/src/boot/voicecontwrite20.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/voicecontwrite20/__osVoiceContWrite20.s") diff --git a/src/boot/voicecontwrite4.c b/src/boot/voicecontwrite4.c new file mode 100644 index 0000000000..c28e2d7624 --- /dev/null +++ b/src/boot/voicecontwrite4.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/voicecontwrite4/__osVoiceContWrite4.s") diff --git a/src/boot/voicecrc.c b/src/boot/voicecrc.c new file mode 100644 index 0000000000..cc23e89dd6 --- /dev/null +++ b/src/boot/voicecrc.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/voicecrc/__osVoiceContDataCrc.s") diff --git a/src/boot/voicegetreaddata.c b/src/boot/voicegetreaddata.c new file mode 100644 index 0000000000..5940a1f8b5 --- /dev/null +++ b/src/boot/voicegetreaddata.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/voicegetreaddata/osVoiceGetReadData.s") diff --git a/src/boot/voiceinit.c b/src/boot/voiceinit.c new file mode 100644 index 0000000000..920bc48183 --- /dev/null +++ b/src/boot/voiceinit.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/voiceinit/osVoiceInit.s") diff --git a/src/boot/voicemaskdictionary.c b/src/boot/voicemaskdictionary.c new file mode 100644 index 0000000000..3de841de36 --- /dev/null +++ b/src/boot/voicemaskdictionary.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/voicemaskdictionary/osVoiceMaskDictionary.s") diff --git a/src/boot/voicesetadconverter.c b/src/boot/voicesetadconverter.c new file mode 100644 index 0000000000..c1b8fa002c --- /dev/null +++ b/src/boot/voicesetadconverter.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/voicesetadconverter/__osVoiceSetADConverter.s") diff --git a/src/boot/voicestartreaddata.c b/src/boot/voicestartreaddata.c new file mode 100644 index 0000000000..e7105a7d44 --- /dev/null +++ b/src/boot/voicestartreaddata.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/voicestartreaddata/osVoiceStartReadData.s") diff --git a/src/boot/voicestopread.c b/src/boot/voicestopread.c new file mode 100644 index 0000000000..f032fc40e7 --- /dev/null +++ b/src/boot/voicestopread.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/voicestopread/osVoiceStopReadData.s") diff --git a/src/boot/writebackdcache.c b/src/boot/writebackdcache.c new file mode 100644 index 0000000000..fa364d7292 --- /dev/null +++ b/src/boot/writebackdcache.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/writebackdcache/osWritebackDCache.s") diff --git a/src/boot/writebackdcacheall.c b/src/boot/writebackdcacheall.c new file mode 100644 index 0000000000..96a4780b8e --- /dev/null +++ b/src/boot/writebackdcacheall.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/writebackdcacheall/osWritebackDCacheAll.s") diff --git a/src/boot/xldtob.c b/src/boot/xldtob.c new file mode 100644 index 0000000000..be5ad3acbf --- /dev/null +++ b/src/boot/xldtob.c @@ -0,0 +1,7 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/xldtob/_Ldtob.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/xldtob/_Ldunscale.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/xldtob/_Genld.s") diff --git a/src/boot/xlitob.c b/src/boot/xlitob.c new file mode 100644 index 0000000000..e5a280c5e6 --- /dev/null +++ b/src/boot/xlitob.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/xlitob/_Litob.s") diff --git a/src/boot_O1/boot_0x80087E00.c b/src/boot_O1/boot_0x80087E00.c deleted file mode 100644 index 8e0bae8ae6..0000000000 --- a/src/boot_O1/boot_0x80087E00.c +++ /dev/null @@ -1,6 +0,0 @@ -#include -#include - -void func_80087E00(u32 a0) { - __additional_scanline = a0; -} diff --git a/src/boot_O2/__osMalloc.c b/src/boot_O2/__osMalloc.c index 8286a545e2..40572a59fb 100644 --- a/src/boot_O2/__osMalloc.c +++ b/src/boot_O2/__osMalloc.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" #define FILL_ALLOCBLOCK (1 << 0) #define FILL_FREEBLOCK (1 << 1) @@ -16,6 +15,8 @@ extern OSMesg sArenaLockMsg[1]; +#pragma GLOBAL_ASM("asm/non_matchings/boot/__osMalloc/D_80099110.s") + void ArenaImpl_LockInit(Arena* arena) { osCreateMesgQueue(&arena->lock, sArenaLockMsg, ARRAY_COUNT(sArenaLockMsg)); } @@ -28,7 +29,7 @@ void ArenaImpl_Unlock(Arena* arena) { osRecvMesg(&arena->lock, NULL, OS_MESG_BLOCK); } -ArenaNode* heap_get_tail(Arena* arena) { +ArenaNode* ArenaImpl_GetLastBlock(Arena* arena) { ArenaNode* last; ArenaNode* iter; @@ -69,7 +70,7 @@ void __osMallocAddBlock(Arena* arena, void* start, s32 size) { firstNode->isFree = 1; firstNode->magic = NODE_MAGIC; ArenaImpl_Lock(arena); - lastNode = heap_get_tail(arena); + lastNode = ArenaImpl_GetLastBlock(arena); if (lastNode == NULL) { arena->head = firstNode; arena->start = start; @@ -141,7 +142,7 @@ void* __osMallocR(Arena* arena, u32 size) { size = ALIGN16(size); ArenaImpl_Lock(arena); - iter = heap_get_tail(arena); + iter = ArenaImpl_GetLastBlock(arena); while (iter != NULL) { if (iter->isFree && iter->size >= size) { @@ -216,7 +217,7 @@ end: ArenaImpl_Unlock(arena); } -#pragma GLOBAL_ASM("./asm/non_matchings/boot/__osMalloc/__osRealloc.asm") +#pragma GLOBAL_ASM("asm/non_matchings/boot/__osMalloc/__osRealloc.s") void __osAnalyzeArena(Arena* arena, u32* outMaxFree, u32* outFree, u32* outAlloc) { ArenaNode* iter; @@ -244,4 +245,4 @@ void __osAnalyzeArena(Arena* arena, u32* outMaxFree, u32* outFree, u32* outAlloc ArenaImpl_Unlock(arena); } -#pragma GLOBAL_ASM("./asm/non_matchings/boot/__osMalloc/__osCheckArena.asm") +#pragma GLOBAL_ASM("asm/non_matchings/boot/__osMalloc/__osCheckArena.s") diff --git a/src/boot_O2/boot_0x80086280.c b/src/boot_O2/assert.c similarity index 61% rename from src/boot_O2/boot_0x80086280.c rename to src/boot_O2/assert.c index e2aeff70fc..9bf98c2db1 100644 --- a/src/boot_O2/boot_0x80086280.c +++ b/src/boot_O2/assert.c @@ -1,7 +1,6 @@ -#include -#include +#include "global.h" -void assert_fail(const char* file, u32 lineNum) { +void __assert(const char* file, u32 lineNum) { osGetThreadId(NULL); Fault_AddHungupAndCrash(file, lineNum); } diff --git a/src/boot_O2/boot_0x800862E0.c b/src/boot_O2/boot_0x800862E0.c deleted file mode 100644 index f9f462056a..0000000000 --- a/src/boot_O2/boot_0x800862E0.c +++ /dev/null @@ -1,20 +0,0 @@ -#include -#include - -#pragma GLOBAL_ASM("./asm/non_matchings/boot/boot_0x800862E0/StartHeap_AllocMin1.asm") - -#pragma GLOBAL_ASM("./asm/non_matchings/boot/boot_0x800862E0/StartHeap_FreeNull.asm") - -#pragma GLOBAL_ASM("./asm/non_matchings/boot/boot_0x800862E0/func_8008633C.asm") - -#pragma GLOBAL_ASM("./asm/non_matchings/boot/boot_0x800862E0/func_800863AC.asm") - -#pragma GLOBAL_ASM("./asm/non_matchings/boot/boot_0x800862E0/func_8008641C.asm") - -#pragma GLOBAL_ASM("./asm/non_matchings/boot/boot_0x800862E0/func_800864EC.asm") - -#pragma GLOBAL_ASM("./asm/non_matchings/boot/boot_0x800862E0/func_80086588.asm") - -#pragma GLOBAL_ASM("./asm/non_matchings/boot/boot_0x800862E0/StartHeap_Init.asm") - -#pragma GLOBAL_ASM("./asm/non_matchings/boot/boot_0x800862E0/func_80086620.asm") diff --git a/src/boot_O1/boot_0x80084940.c b/src/boot_O2/boot_80084940.c similarity index 50% rename from src/boot_O1/boot_0x80084940.c rename to src/boot_O2/boot_80084940.c index b11d8fc577..acee90fb9d 100644 --- a/src/boot_O1/boot_0x80084940.c +++ b/src/boot_O2/boot_80084940.c @@ -1,10 +1,10 @@ -#include -#include +#include "global.h" void func_80084940(void) { - u32 sp; - sp = __osSpGetStatus(); - osDpGetStatus(); + u32 spStatus = __osSpGetStatus(); + u32 dpStatus = osDpGetStatus(); + + if (spStatus && dpStatus) {} // stubbed debug prints } void func_80084968(void) { diff --git a/src/boot_O2/boot_800862E0.c b/src/boot_O2/boot_800862E0.c new file mode 100644 index 0000000000..d02fd15be9 --- /dev/null +++ b/src/boot_O2/boot_800862E0.c @@ -0,0 +1,17 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/boot_800862E0/StartHeap_AllocMin1.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/boot_800862E0/StartHeap_FreeNull.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/boot_800862E0/func_8008633C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/boot_800862E0/func_800863AC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/boot_800862E0/func_8008641C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/boot_800862E0/func_800864EC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/boot_800862E0/func_80086588.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/boot_800862E0/StartHeap_Init.s") diff --git a/src/boot_O2/gfxprint.c b/src/boot_O2/gfxprint.c index bcb9ee31aa..4857996789 100644 --- a/src/boot_O2/gfxprint.c +++ b/src/boot_O2/gfxprint.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" extern u16 sGfxPrintFontTLUT[64]; extern u16 sGfxPrintUnkTLUT[16]; @@ -109,10 +108,10 @@ void GfxPrint_PrintCharImpl(GfxPrint* this, u8 c) { this->posX += 32; } #else -#pragma GLOBAL_ASM("./asm/non_matchings/boot/gfxprint/GfxPrint_PrintCharImpl.asm") +#pragma GLOBAL_ASM("asm/non_matchings/boot/gfxprint/GfxPrint_PrintCharImpl.s") #endif -#pragma GLOBAL_ASM("./asm/non_matchings/boot/gfxprint/GfxPrint_PrintChar.asm") +#pragma GLOBAL_ASM("asm/non_matchings/boot/gfxprint/GfxPrint_PrintChar.s") void GfxPrint_PrintStringWithSize(GfxPrint* this, const void* buffer, size_t charSize, size_t charCount) { const char* str = (const char*)buffer; @@ -173,7 +172,7 @@ Gfx* GfxPrint_Close(GfxPrint* this) { } void GfxPrint_VPrintf(GfxPrint* this, const char* fmt, va_list args) { - func_80087900(&this->callback, fmt, args); + PrintUtils_VPrintf(&this->callback, fmt, args); } void GfxPrint_Printf(GfxPrint* this, const char* fmt, ...) { diff --git a/src/boot_O2/loadfragment2.c b/src/boot_O2/loadfragment2.c index 5f44c34c40..8a3ae4ec58 100644 --- a/src/boot_O2/loadfragment2.c +++ b/src/boot_O2/loadfragment2.c @@ -1,12 +1,11 @@ -#include -#include +#include "global.h" UNK_TYPE4 D_80096C30 = 2; #ifdef NON_MATCHING // This needs lots of work. Mostly regalloc and getting the address of D_80096C30 placed in s5 at the beginning of the // function -void Load2_Relocate(u32 allocatedVRamAddr, OverlayBlockSizes* overlayInfo, u32 vRamStart) { +void Load2_Relocate(u32 allocatedVRamAddr, OverlayRelocationSection* overlayInfo, u32 vRamStart) { s32 sectionLocations[4]; u32* regReferences[32]; u32 regValues[32]; @@ -22,7 +21,7 @@ void Load2_Relocate(u32 allocatedVRamAddr, OverlayBlockSizes* overlayInfo, u32 v sectionLocations[1] = allocatedVRamAddr; sectionLocations[2] = overlayInfo->textSize + allocatedVRamAddr; sectionLocations[3] = sectionLocations[2] + overlayInfo->dataSize; - for (i = 0, relocationIndex = 0; i < overlayInfo->amountOfRelocations; relocationIndex++) { + for (i = 0, relocationIndex = 0; i < overlayInfo->nRelocations; relocationIndex++) { relocation = overlayInfo->relocations[relocationIndex]; i++; inst = (u32*)(sectionLocations[relocation >> 0x1e] + (relocation & 0xffffff)); @@ -59,7 +58,7 @@ void Load2_Relocate(u32 allocatedVRamAddr, OverlayBlockSizes* overlayInfo, u32 v } } #else -#pragma GLOBAL_ASM("./asm/non_matchings/boot/loadfragment2/Load2_Relocate.asm") +#pragma GLOBAL_ASM("asm/non_matchings/boot/loadfragment2/Load2_Relocate.s") #endif #ifdef NON_MATCHING @@ -69,7 +68,7 @@ s32 Load2_LoadOverlay(u32 vRomStart, u32 vRomEnd, u32 vRamStart, u32 vRamEnd, u3 u32 pad; u32 size; void* end; - OverlayBlockSizes* overlayInfo; + OverlayRelocationSection* overlayInfo; size = vRomEnd - vRomStart; @@ -80,7 +79,7 @@ s32 Load2_LoadOverlay(u32 vRomStart, u32 vRomEnd, u32 vRamStart, u32 vRamEnd, u3 DmaMgr_SendRequest0(allocatedVRamAddr, vRomStart, size); end = (void*)(allocatedVRamAddr + size); - overlayInfo = (OverlayBlockSizes*)((int)end - *(int*)((int)end + -4)); + overlayInfo = (OverlayRelocationSection*)((int)end - *(int*)((int)end + -4)); if (1) { ; @@ -99,7 +98,7 @@ s32 Load2_LoadOverlay(u32 vRomStart, u32 vRomEnd, u32 vRamStart, u32 vRamEnd, u3 return nbytes; } #else -#pragma GLOBAL_ASM("./asm/non_matchings/boot/loadfragment2/Load2_LoadOverlay.asm") +#pragma GLOBAL_ASM("asm/non_matchings/boot/loadfragment2/Load2_LoadOverlay.s") #endif void* Load2_AllocateAndLoad(u32 vRomStart, u32 vRomEnd, u32 vRamStart, u32 vRamEnd) { diff --git a/src/boot_O2/mtxuty-cvt.c b/src/boot_O2/mtxuty-cvt.c index f34c1e5185..221dbf5548 100644 --- a/src/boot_O2/mtxuty-cvt.c +++ b/src/boot_O2/mtxuty-cvt.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" void MtxConv_F2L(MatrixInternal* m1, MtxF* m2) { s32 i; diff --git a/src/boot_O2/padsetup.c b/src/boot_O2/padsetup.c new file mode 100644 index 0000000000..5f83bd5246 --- /dev/null +++ b/src/boot_O2/padsetup.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/boot/padsetup/func_80086620.s") diff --git a/src/boot_O2/padutils.c b/src/boot_O2/padutils.c index cdd789f1bc..95f1dfa3b5 100644 --- a/src/boot_O2/padutils.c +++ b/src/boot_O2/padutils.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" void PadUtils_Init(Input* input) { bzero(input, sizeof(Input)); diff --git a/src/boot_O2/boot_0x80086FA0.c b/src/boot_O2/rand.c similarity index 98% rename from src/boot_O2/boot_0x80086FA0.c rename to src/boot_O2/rand.c index 9454d46543..6edf7490ef 100644 --- a/src/boot_O2/boot_0x80086FA0.c +++ b/src/boot_O2/rand.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" #define RAND_MULTIPLIER 1664525 #define RAND_INCREMENT 1013904223 diff --git a/src/boot_O2/stackcheck.c b/src/boot_O2/stackcheck.c index 7079eff8e7..20e56f4806 100644 --- a/src/boot_O2/stackcheck.c +++ b/src/boot_O2/stackcheck.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" StackEntry* sStackInfoListStart = NULL; StackEntry* sStackInfoListEnd = NULL; diff --git a/src/boot_O2_g3/CIC6105.c b/src/boot_O2_g3/CIC6105.c index deef70b8c8..e0b8811a07 100644 --- a/src/boot_O2_g3/CIC6105.c +++ b/src/boot_O2_g3/CIC6105.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" void CIC6105_Nop80081820(void) { } diff --git a/src/boot_O2_g3/boot_0x800968B0.c b/src/boot_O2_g3/__osMemcmp.c similarity index 77% rename from src/boot_O2_g3/boot_0x800968B0.c rename to src/boot_O2_g3/__osMemcmp.c index 43a217e91d..c1890bebce 100644 --- a/src/boot_O2_g3/boot_0x800968B0.c +++ b/src/boot_O2_g3/__osMemcmp.c @@ -1,10 +1,9 @@ -#include -#include +#include "global.h" /* * Compare strings (strcmp). */ -s32 func_800968B0(const char* str1, const char* str2) { +s32 __osMemcmp(const char* str1, const char* str2) { char currentCharStr1; char currentCharStr2; do { diff --git a/src/boot_O2_g3/boot_0x80081920.c b/src/boot_O2_g3/boot_0x80081920.c deleted file mode 100644 index fe438905a9..0000000000 --- a/src/boot_O2_g3/boot_0x80081920.c +++ /dev/null @@ -1,11 +0,0 @@ -#include -#include - -// This file contains print functions that are used by fault.c, so they are placed in the fault module - -void Fault_Nop80081920(UNK_TYPE4 param_1, ...) { -} -void Fault_Log(char* str, ...) { -} -void Fault_Nop80081958(UNK_TYPE4 param_1, ...) { -} diff --git a/src/boot_O2_g3/boot_main.c b/src/boot_O2_g3/boot_main.c index 258c9e346f..488e2dddf2 100644 --- a/src/boot_O2_g3/boot_main.c +++ b/src/boot_O2_g3/boot_main.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" void bootproc(void) { StackCheck_Init(&sBootThreadInfo, sBootThreadStack, sBootThreadStack + sizeof(sBootThreadStack), 0, -1, "boot"); diff --git a/src/boot_O2_g3_trapuv/fault.c b/src/boot_O2_g3/fault.c similarity index 71% rename from src/boot_O2_g3_trapuv/fault.c rename to src/boot_O2_g3/fault.c index 100e224b1c..ed8ee6e3aa 100644 --- a/src/boot_O2_g3_trapuv/fault.c +++ b/src/boot_O2_g3/fault.c @@ -1,8 +1,7 @@ -#include -#include +#include "global.h" +#include "vt.h" -// TODO move out -#define OS_CLOCK_RATE 62500000LL +#pragma GLOBAL_ASM("asm/non_matchings/boot/fault/D_800982B0.s") void Fault_SleepImpl(u32 duration) { u64 value = (duration * OS_CPU_COUNTER) / 1000ull; @@ -38,7 +37,7 @@ end: osSetIntMask(mask); if (alreadyExists) { - Fault_Log(D_800984B4, client); + osSyncPrintf(VT_COL(RED, WHITE) "fault_AddClient: %08x ã¯æ—¢ã«ãƒªã‚¹ãƒˆä¸­ã«ã‚ã‚‹\n" VT_RST, client); } } @@ -76,7 +75,7 @@ void Fault_RemoveClient(FaultClient* client) { osSetIntMask(mask); if (listIsEmpty) { - Fault_Log(D_800984EC, client); + osSyncPrintf(VT_COL(RED, WHITE) "fault_RemoveClient: %08x ãƒªã‚¹ãƒˆä¸æ•´åˆã§ã™\n" VT_RST, client); } } @@ -106,7 +105,7 @@ end: osSetIntMask(mask); if (alreadyExists) { - Fault_Log(D_80098524, client); + osSyncPrintf(VT_COL(RED, WHITE) "fault_AddressConverterAddClient: %08x ã¯æ—¢ã«ãƒªã‚¹ãƒˆä¸­ã«ã‚ã‚‹\n" VT_RST, client); } } @@ -144,7 +143,8 @@ void Fault_RemoveAddrConvClient(FaultAddrConvClient* client) { osSetIntMask(mask); if (listIsEmpty) { - Fault_Log(D_8009856C, client); + osSyncPrintf(VT_COL(RED, WHITE) "fault_AddressConverterRemoveClient: %08x ã¯æ—¢ã«ãƒªã‚¹ãƒˆä¸­ã«ã‚ã‚‹\n" VT_RST, + client); } } @@ -247,20 +247,20 @@ void Fault_PrintFReg(s32 idx, f32* value) { s32 v0 = ((raw & 0x7f800000) >> 0x17) - 0x7f; if ((v0 >= -0x7e && v0 < 0x80) || raw == 0) { - FaultDrawer_Printf(D_800985B8, idx, *value); + FaultDrawer_Printf("F%02d:%14.7e ", idx, *value); } else { - FaultDrawer_Printf(D_800985C8, idx, raw); + FaultDrawer_Printf("F%02d: %08x(16) ", idx, raw); } } -void Fault_LogFReg(s32 idx, f32* value) { +void osSyncPrintfFReg(s32 idx, f32* value) { u32 raw = *(u32*)value; s32 v0 = ((raw & 0x7F800000) >> 0x17) - 0x7F; if ((v0 >= -0x7E && v0 < 0x80) || raw == 0) { - Fault_Log(D_800985DC, idx, *value); + osSyncPrintf("F%02d:%14.7e ", idx, *value); } else { - Fault_Log(D_800985EC, idx, *(u32*)value); + osSyncPrintf("F%02d: %08x(16) ", idx, *(u32*)value); } } @@ -268,25 +268,25 @@ void Fault_PrintFPCR(u32 value) { s32 i; u32 flag = 0x20000; - FaultDrawer_Printf(D_80098600, value); + FaultDrawer_Printf("FPCSR:%08xH ", value); for (i = 0; i < ARRAY_COUNT(sExceptionNames); i++) { if (value & flag) { - FaultDrawer_Printf(D_80098610, sExceptionNames[i]); + FaultDrawer_Printf("(%s)", sExceptionNames[i]); break; } flag >>= 1; } - FaultDrawer_Printf(D_80098618); + FaultDrawer_Printf("\n"); } -void Fault_LogFPCR(u32 value) { +void osSyncPrintfFPCR(u32 value) { s32 i; u32 flag = 0x20000; - Fault_Log(D_8009861C, value); + osSyncPrintf("FPCSR:%08xH ", value); for (i = 0; i < ARRAY_COUNT(sExceptionNames); i++) { if (value & flag) { - Fault_Log(D_8009862C, sExceptionNames[i]); + osSyncPrintf("(%s)\n", sExceptionNames[i]); break; } flag >>= 1; @@ -308,55 +308,55 @@ void Fault_PrintThreadContext(OSThread* t) { FaultDrawer_SetCursor(0x16, 0x14); ctx = &t->context; - FaultDrawer_Printf(D_80098634, t->id, causeStrIdx, D_80096B80[causeStrIdx]); + FaultDrawer_Printf("THREAD:%d (%d:%s)\n", t->id, causeStrIdx, D_80096B80[causeStrIdx]); FaultDrawer_SetCharPad(-1, 0); - FaultDrawer_Printf(D_80098648, (u32)ctx->pc, (u32)ctx->sr, (u32)ctx->badvaddr); - FaultDrawer_Printf(D_80098664, (u32)ctx->at, (u32)ctx->v0, (u32)ctx->v1); - FaultDrawer_Printf(D_80098680, (u32)ctx->a0, (u32)ctx->a1, (u32)ctx->a2); - FaultDrawer_Printf(D_8009869C, (u32)ctx->a3, (u32)ctx->t0, (u32)ctx->t1); - FaultDrawer_Printf(D_800986B8, (u32)ctx->t2, (u32)ctx->t3, (u32)ctx->t4); - FaultDrawer_Printf(D_800986D4, (u32)ctx->t5, (u32)ctx->t6, (u32)ctx->t7); - FaultDrawer_Printf(D_800986F0, (u32)ctx->s0, (u32)ctx->s1, (u32)ctx->s2); - FaultDrawer_Printf(D_8009870C, (u32)ctx->s3, (u32)ctx->s4, (u32)ctx->s5); - FaultDrawer_Printf(D_80098728, (u32)ctx->s6, (u32)ctx->s7, (u32)ctx->t8); - FaultDrawer_Printf(D_80098744, (u32)ctx->t9, (u32)ctx->gp, (u32)ctx->sp); - FaultDrawer_Printf(D_80098760, (u32)ctx->s8, (u32)ctx->ra, (u32)ctx->lo); + FaultDrawer_Printf("PC:%08xH SR:%08xH VA:%08xH\n", (u32)ctx->pc, (u32)ctx->sr, (u32)ctx->badvaddr); + FaultDrawer_Printf("AT:%08xH V0:%08xH V1:%08xH\n", (u32)ctx->at, (u32)ctx->v0, (u32)ctx->v1); + FaultDrawer_Printf("A0:%08xH A1:%08xH A2:%08xH\n", (u32)ctx->a0, (u32)ctx->a1, (u32)ctx->a2); + FaultDrawer_Printf("A3:%08xH T0:%08xH T1:%08xH\n", (u32)ctx->a3, (u32)ctx->t0, (u32)ctx->t1); + FaultDrawer_Printf("T2:%08xH T3:%08xH T4:%08xH\n", (u32)ctx->t2, (u32)ctx->t3, (u32)ctx->t4); + FaultDrawer_Printf("T5:%08xH T6:%08xH T7:%08xH\n", (u32)ctx->t5, (u32)ctx->t6, (u32)ctx->t7); + FaultDrawer_Printf("S0:%08xH S1:%08xH S2:%08xH\n", (u32)ctx->s0, (u32)ctx->s1, (u32)ctx->s2); + FaultDrawer_Printf("S3:%08xH S4:%08xH S5:%08xH\n", (u32)ctx->s3, (u32)ctx->s4, (u32)ctx->s5); + FaultDrawer_Printf("S6:%08xH S7:%08xH T8:%08xH\n", (u32)ctx->s6, (u32)ctx->s7, (u32)ctx->t8); + FaultDrawer_Printf("T9:%08xH GP:%08xH SP:%08xH\n", (u32)ctx->t9, (u32)ctx->gp, (u32)ctx->sp); + FaultDrawer_Printf("S8:%08xH RA:%08xH LO:%08xH\n\n", (u32)ctx->s8, (u32)ctx->ra, (u32)ctx->lo); Fault_PrintFPCR(ctx->fpcsr); - FaultDrawer_Printf(D_80098780); + FaultDrawer_Printf("\n"); Fault_PrintFReg(0, &ctx->fp0.f.f_even); Fault_PrintFReg(2, &ctx->fp2.f.f_even); - FaultDrawer_Printf(D_80098784); + FaultDrawer_Printf("\n"); Fault_PrintFReg(4, &ctx->fp4.f.f_even); Fault_PrintFReg(6, &ctx->fp6.f.f_even); - FaultDrawer_Printf(D_80098788); + FaultDrawer_Printf("\n"); Fault_PrintFReg(8, &ctx->fp8.f.f_even); Fault_PrintFReg(0xA, &ctx->fp10.f.f_even); - FaultDrawer_Printf(D_8009878C); + FaultDrawer_Printf("\n"); Fault_PrintFReg(0xC, &ctx->fp12.f.f_even); Fault_PrintFReg(0xE, &ctx->fp14.f.f_even); - FaultDrawer_Printf(D_80098790); + FaultDrawer_Printf("\n"); Fault_PrintFReg(0x10, &ctx->fp16.f.f_even); Fault_PrintFReg(0x12, &ctx->fp18.f.f_even); - FaultDrawer_Printf(D_80098794); + FaultDrawer_Printf("\n"); Fault_PrintFReg(0x14, &ctx->fp20.f.f_even); Fault_PrintFReg(0x16, &ctx->fp22.f.f_even); - FaultDrawer_Printf(D_80098798); + FaultDrawer_Printf("\n"); Fault_PrintFReg(0x18, &ctx->fp24.f.f_even); Fault_PrintFReg(0x1A, &ctx->fp26.f.f_even); - FaultDrawer_Printf(D_8009879C); + FaultDrawer_Printf("\n"); Fault_PrintFReg(0x1C, &ctx->fp28.f.f_even); Fault_PrintFReg(0x1E, &ctx->fp30.f.f_even); - FaultDrawer_Printf(D_800987A0); + FaultDrawer_Printf("\n"); FaultDrawer_SetCharPad(0, 0); if (D_8009BE54 != 0) { - FaultDrawer_DrawText(0xA0, 0xD8, D_800987A4, D_8009BE54); + FaultDrawer_DrawText(0xA0, 0xD8, "%5.2f sec\n", D_8009BE54); } } -void Fault_LogThreadContext(OSThread* t) { +void osSyncPrintfThreadContext(OSThread* t) { __OSThreadContext* ctx; s32 causeStrIdx = (s32)((((u32)t->context.cause >> 2) & 0x1f) << 0x10) >> 0x10; if (causeStrIdx == 0x17) { @@ -367,47 +367,47 @@ void Fault_LogThreadContext(OSThread* t) { } ctx = &t->context; - Fault_Log(D_800987B0); - Fault_Log(D_800987B4, t->id, causeStrIdx, D_80096B80[causeStrIdx]); + osSyncPrintf("\n"); + osSyncPrintf("THREAD ID:%d (%d:%s)\n", t->id, causeStrIdx, D_80096B80[causeStrIdx]); - Fault_Log(D_800987CC, (u32)ctx->pc, (u32)ctx->sr, (u32)ctx->badvaddr); - Fault_Log(D_800987EC, (u32)ctx->at, (u32)ctx->v0, (u32)ctx->v1); - Fault_Log(D_8009880C, (u32)ctx->a0, (u32)ctx->a1, (u32)ctx->a2); - Fault_Log(D_8009882C, (u32)ctx->a3, (u32)ctx->t0, (u32)ctx->t1); - Fault_Log(D_8009884C, (u32)ctx->t2, (u32)ctx->t3, (u32)ctx->t4); - Fault_Log(D_8009886C, (u32)ctx->t5, (u32)ctx->t6, (u32)ctx->t7); - Fault_Log(D_8009888C, (u32)ctx->s0, (u32)ctx->s1, (u32)ctx->s2); - Fault_Log(D_800988AC, (u32)ctx->s3, (u32)ctx->s4, (u32)ctx->s5); - Fault_Log(D_800988CC, (u32)ctx->s6, (u32)ctx->s7, (u32)ctx->t8); - Fault_Log(D_800988EC, (u32)ctx->t9, (u32)ctx->gp, (u32)ctx->sp); - Fault_Log(D_8009890C, (u32)ctx->s8, (u32)ctx->ra, (u32)ctx->lo); - Fault_Log(D_8009892C); - Fault_LogFPCR(ctx->fpcsr); - Fault_Log(D_80098930); - Fault_LogFReg(0, &ctx->fp0.f.f_even); - Fault_LogFReg(2, &ctx->fp2.f.f_even); - Fault_Log(D_80098934); - Fault_LogFReg(4, &ctx->fp4.f.f_even); - Fault_LogFReg(6, &ctx->fp6.f.f_even); - Fault_Log(D_80098938); - Fault_LogFReg(8, &ctx->fp8.f.f_even); - Fault_LogFReg(0xa, &ctx->fp10.f.f_even); - Fault_Log(D_8009893C); - Fault_LogFReg(0xc, &ctx->fp12.f.f_even); - Fault_LogFReg(0xe, &ctx->fp14.f.f_even); - Fault_Log(D_80098940); - Fault_LogFReg(0x10, &ctx->fp16.f.f_even); - Fault_LogFReg(0x12, &ctx->fp18.f.f_even); - Fault_Log(D_80098944); - Fault_LogFReg(0x14, &ctx->fp20.f.f_even); - Fault_LogFReg(0x16, &ctx->fp22.f.f_even); - Fault_Log(D_80098948); - Fault_LogFReg(0x18, &ctx->fp24.f.f_even); - Fault_LogFReg(0x1a, &ctx->fp26.f.f_even); - Fault_Log(D_8009894C); - Fault_LogFReg(0x1c, &ctx->fp28.f.f_even); - Fault_LogFReg(0x1e, &ctx->fp30.f.f_even); - Fault_Log(D_80098950); + osSyncPrintf("PC:%08xH SR:%08xH VA:%08xH\n", (u32)ctx->pc, (u32)ctx->sr, (u32)ctx->badvaddr); + osSyncPrintf("AT:%08xH V0:%08xH V1:%08xH\n", (u32)ctx->at, (u32)ctx->v0, (u32)ctx->v1); + osSyncPrintf("A0:%08xH A1:%08xH A2:%08xH\n", (u32)ctx->a0, (u32)ctx->a1, (u32)ctx->a2); + osSyncPrintf("A3:%08xH T0:%08xH T1:%08xH\n", (u32)ctx->a3, (u32)ctx->t0, (u32)ctx->t1); + osSyncPrintf("T2:%08xH T3:%08xH T4:%08xH\n", (u32)ctx->t2, (u32)ctx->t3, (u32)ctx->t4); + osSyncPrintf("T5:%08xH T6:%08xH T7:%08xH\n", (u32)ctx->t5, (u32)ctx->t6, (u32)ctx->t7); + osSyncPrintf("S0:%08xH S1:%08xH S2:%08xH\n", (u32)ctx->s0, (u32)ctx->s1, (u32)ctx->s2); + osSyncPrintf("S3:%08xH S4:%08xH S5:%08xH\n", (u32)ctx->s3, (u32)ctx->s4, (u32)ctx->s5); + osSyncPrintf("S6:%08xH S7:%08xH T8:%08xH\n", (u32)ctx->s6, (u32)ctx->s7, (u32)ctx->t8); + osSyncPrintf("T9:%08xH GP:%08xH SP:%08xH\n", (u32)ctx->t9, (u32)ctx->gp, (u32)ctx->sp); + osSyncPrintf("S8:%08xH RA:%08xH LO:%08xH\n", (u32)ctx->s8, (u32)ctx->ra, (u32)ctx->lo); + osSyncPrintf("\n"); + osSyncPrintfFPCR(ctx->fpcsr); + osSyncPrintf("\n"); + osSyncPrintfFReg(0, &ctx->fp0.f.f_even); + osSyncPrintfFReg(2, &ctx->fp2.f.f_even); + osSyncPrintf("\n"); + osSyncPrintfFReg(4, &ctx->fp4.f.f_even); + osSyncPrintfFReg(6, &ctx->fp6.f.f_even); + osSyncPrintf("\n"); + osSyncPrintfFReg(8, &ctx->fp8.f.f_even); + osSyncPrintfFReg(0xa, &ctx->fp10.f.f_even); + osSyncPrintf("\n"); + osSyncPrintfFReg(0xc, &ctx->fp12.f.f_even); + osSyncPrintfFReg(0xe, &ctx->fp14.f.f_even); + osSyncPrintf("\n"); + osSyncPrintfFReg(0x10, &ctx->fp16.f.f_even); + osSyncPrintfFReg(0x12, &ctx->fp18.f.f_even); + osSyncPrintf("\n"); + osSyncPrintfFReg(0x14, &ctx->fp20.f.f_even); + osSyncPrintfFReg(0x16, &ctx->fp22.f.f_even); + osSyncPrintf("\n"); + osSyncPrintfFReg(0x18, &ctx->fp24.f.f_even); + osSyncPrintfFReg(0x1a, &ctx->fp26.f.f_even); + osSyncPrintf("\n"); + osSyncPrintfFReg(0x1c, &ctx->fp28.f.f_even); + osSyncPrintfFReg(0x1e, &ctx->fp30.f.f_even); + osSyncPrintf("\n"); } OSThread* Fault_FindFaultedThread() { @@ -464,12 +464,12 @@ void Fault_DrawMemDumpPage(char* title, u32* addr, u32 param_3) { Fault_FillScreenBlack(); FaultDrawer_SetCharPad(-2, 0); - FaultDrawer_DrawText(0x24, 0x12, D_80098954, title ? title : D_8009895C, alignedAddr); + FaultDrawer_DrawText(0x24, 0x12, "%s %08x", title ? title : "PrintDump", alignedAddr); if (alignedAddr >= (u32*)0x80000000 && alignedAddr < (u32*)0xC0000000) { for (y = 0x1C; y != 0xE2; y += 9) { - FaultDrawer_DrawText(0x18, y, D_80098968, writeAddr); + FaultDrawer_DrawText(0x18, y, "%06x", writeAddr); for (x = 0x52; x != 0x122; x += 0x34) { - FaultDrawer_DrawText(x, y, D_80098970, *writeAddr++); + FaultDrawer_DrawText(x, y, "%08x", *writeAddr++); } } } @@ -493,7 +493,7 @@ void Fault_DrawMemDump(u32 pc, u32 sp, u32 unk0, u32 unk1) { } addr &= ~0xF; - Fault_DrawMemDumpPage(D_80098978, (u32*)addr, 0); + Fault_DrawMemDumpPage("Dump", (u32*)addr, 0); count = 600; while (sFaultContext->faultActive) { @@ -608,7 +608,7 @@ void Fault_FindNextStackCall(u32** sp, u32** pc, u32** ra) { *ra = currentRa; } #else -#pragma GLOBAL_ASM("./asm/non_matchings/boot/fault/Fault_FindNextStackCall.asm") +#pragma GLOBAL_ASM("asm/non_matchings/boot/fault/Fault_FindNextStackCall.s") #endif void Fault_DrawStackTrace(OSThread* t, u32 flags) { @@ -624,26 +624,26 @@ void Fault_DrawStackTrace(OSThread* t, u32 flags) { pc = t->context.pc; Fault_FillScreenBlack(); - FaultDrawer_DrawText(0x78, 0x10, D_80098980); - FaultDrawer_DrawText(0x24, 0x18, D_8009898C); + FaultDrawer_DrawText(0x78, 0x10, "STACK TRACE"); + FaultDrawer_DrawText(0x24, 0x18, "SP PC (VPC)"); for (y = 1; (y < 22) && (((ra != 0) || (sp != 0)) && (pc != (u32)__osCleanupThread)); y++) { - FaultDrawer_DrawText(0x24, y * 8 + 24, D_800989A4, sp, pc); + FaultDrawer_DrawText(0x24, y * 8 + 24, "%08x %08x", sp, pc); if (flags & 1) { convertedPc = (u32)Fault_ConvertAddress((void*)pc); if (convertedPc != 0) { - FaultDrawer_Printf(D_800989B0, convertedPc); + FaultDrawer_Printf(" -> %08x", convertedPc); } } else { - FaultDrawer_Printf(D_800989BC); + FaultDrawer_Printf(" -> ????????"); } Fault_FindNextStackCall((u32**)&sp, (u32**)&pc, (u32**)&ra); } } -void Fault_LogStackTrace(OSThread* t, u32 flags) { +void osSyncPrintfStackTrace(OSThread* t, u32 flags) { s32 y; u32 sp; u32 ra; @@ -654,21 +654,21 @@ void Fault_LogStackTrace(OSThread* t, u32 flags) { ra = t->context.ra; pc = t->context.pc; - Fault_Log(D_800989CC); - Fault_Log(D_800989D8); + osSyncPrintf("STACK TRACE"); + osSyncPrintf("SP PC (VPC)\n"); for (y = 1; (y < 22) && (((ra != 0) || (sp != 0)) && (pc != (u32)__osCleanupThread)); y++) { - Fault_Log(D_800989F4, sp, pc); + osSyncPrintf("%08x %08x", sp, pc); if (flags & 1) { convertedPc = (u32)Fault_ConvertAddress((void*)pc); if (convertedPc != 0) { - Fault_Log(D_80098A00, convertedPc); + osSyncPrintf(" -> %08x", convertedPc); } } else { - Fault_Log(D_80098A0C); + osSyncPrintf(" -> ????????"); } - Fault_Log(D_80098A1C); + osSyncPrintf("\n"); Fault_FindNextStackCall((u32**)&sp, (u32**)&pc, (u32**)&ra); } @@ -712,7 +712,7 @@ void Fault_ProcessClients(void) { if (iter->callback) { Fault_FillScreenBlack(); FaultDrawer_SetCharPad(-2, 0); - FaultDrawer_Printf(D_80098A20, idx++, iter, iter->param0, iter->param1); + FaultDrawer_Printf("8CallBack (%d) %08x %08x %08x\n7", idx++, iter, iter->param0, iter->param1); FaultDrawer_SetCharPad(0, 0); iter->callback(iter->param0, iter->param1); Fault_WaitForInput(); @@ -746,18 +746,18 @@ void Fault_SetOptionsFromController3(void) { FaultDrawer_SetOsSyncPrintfEnabled(faultCopyToLog); } if (CHECK_BTN_ALL(input3->press.button, BTN_A)) { - Fault_Log(D_80098A44, graphPC, graphRA, graphSP); + osSyncPrintf("GRAPH PC=%08x RA=%08x STACK=%08x\n", graphPC, graphRA, graphSP); } if (CHECK_BTN_ALL(input3->press.button, BTN_B)) { FaultDrawer_SetDrawerFB(osViGetNextFramebuffer(), 0x140, 0xF0); Fault_DrawRec(0, 0xD7, 0x140, 9, 1); FaultDrawer_SetCharPad(-2, 0); - FaultDrawer_DrawText(0x20, 0xD8, D_80098A68, graphPC, graphRA, graphSP); + FaultDrawer_DrawText(0x20, 0xD8, "GRAPH PC %08x RA %08x SP %08x", graphPC, graphRA, graphSP); } } } #else -#pragma GLOBAL_ASM("./asm/non_matchings/boot/fault/Fault_SetOptionsFromController3.asm") +#pragma GLOBAL_ASM("asm/non_matchings/boot/fault/Fault_SetOptionsFromController3.s") #endif void Fault_SetOptions(void) { @@ -778,24 +778,24 @@ void Fault_ThreadEntry(void* arg) { if (msg == (OSMesg)1) { sFaultContext->msgId = 1; - Fault_Log(D_80098A88); + osSyncPrintf("フォルトマãƒãƒ¼ã‚¸ãƒ£:OS_EVENT_CPU_BREAKã‚’å—ä¿¡ã—ã¾ã—ãŸ\n"); } else if (msg == (OSMesg)2) { sFaultContext->msgId = 2; - Fault_Log(D_80098AC0); + osSyncPrintf("フォルトマãƒãƒ¼ã‚¸ãƒ£:OS_EVENT_FAULTã‚’å—ä¿¡ã—ã¾ã—ãŸ\n"); } else if (msg == (OSMesg)3) { Fault_SetOptions(); faultedThread = NULL; continue; } else { sFaultContext->msgId = 3; - Fault_Log(D_80098AF4); + osSyncPrintf("フォルトマãƒãƒ¼ã‚¸ãƒ£:䏿˜Žãªãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’å—ä¿¡ã—ã¾ã—ãŸ\n"); } faultedThread = __osGetCurrFaultedThread(); - Fault_Log(D_80098B28, faultedThread); + osSyncPrintf("__osGetCurrFaultedThread()=%08x\n", faultedThread); if (!faultedThread) { faultedThread = Fault_FindFaultedThread(); - Fault_Log(D_80098B4C, faultedThread); + osSyncPrintf("FindFaultedThread()=%08x\n", faultedThread); } } while (faultedThread == NULL); @@ -820,21 +820,21 @@ void Fault_ThreadEntry(void* arg) { do { Fault_PrintThreadContext(faultedThread); - Fault_LogThreadContext(faultedThread); + osSyncPrintfThreadContext(faultedThread); Fault_WaitForInput(); Fault_DrawStackTrace(faultedThread, 0); - Fault_LogStackTrace(faultedThread, 0); + osSyncPrintfStackTrace(faultedThread, 0); Fault_WaitForInput(); Fault_ProcessClients(); Fault_DrawMemDump((u32)(faultedThread->context.pc - 0x100), (u32)faultedThread->context.sp, 0, 0); Fault_DrawStackTrace(faultedThread, 1); - Fault_LogStackTrace(faultedThread, 1); + osSyncPrintfStackTrace(faultedThread, 1); Fault_WaitForInput(); Fault_FillScreenRed(); - FaultDrawer_DrawText(0x40, 0x50, D_80098B68); - FaultDrawer_DrawText(0x40, 0x5A, D_80098B84); - FaultDrawer_DrawText(0x40, 0x64, D_80098BA0); - FaultDrawer_DrawText(0x40, 0x6E, D_80098BBC); + FaultDrawer_DrawText(0x40, 0x50, " CONGRATURATIONS! "); + FaultDrawer_DrawText(0x40, 0x5A, "All Pages are displayed."); + FaultDrawer_DrawText(0x40, 0x64, " THANK YOU! "); + FaultDrawer_DrawText(0x40, 0x6E, " You are great debugger!"); Fault_WaitForInput(); } while (!sFaultContext->exitDebugger); @@ -866,18 +866,18 @@ void Fault_Start(void) { sFaultContext->faultActive = 0; gFaultStruct.faultHandlerEnabled = 1; osCreateMesgQueue(&sFaultContext->queue, sFaultContext->msg, 1); - StackCheck_Init(&sFaultThreadInfo, sFaultStack, sFaultStack + sizeof(sFaultStack), 0, 0x100, faultThreadName); + StackCheck_Init(&sFaultThreadInfo, sFaultStack, sFaultStack + sizeof(sFaultStack), 0, 0x100, "fault"); osCreateThread(&sFaultContext->thread, 2, Fault_ThreadEntry, NULL, sFaultStack + sizeof(sFaultStack), 0x7F); osStartThread(&sFaultContext->thread); } void Fault_HangupFaultClient(const char* arg0, char* arg1) { - Fault_Log(D_80098BE0, osGetThreadId(NULL)); - Fault_Log(D_80098BF8, arg0 ? arg0 : D_80098BFC); - Fault_Log(D_80098C04, arg1 ? arg1 : D_80098C08); - FaultDrawer_Printf(D_80098C10, osGetThreadId(NULL)); - FaultDrawer_Printf(D_80098C28, arg0 ? arg0 : D_80098C2C); - FaultDrawer_Printf(D_80098C34, arg1 ? arg1 : D_80098C38); + osSyncPrintf("HungUp on Thread %d\n", osGetThreadId(NULL)); + osSyncPrintf("%s\n", arg0 ? arg0 : "(NULL)"); + osSyncPrintf("%s\n", arg1 ? arg1 : "(NULL)"); + FaultDrawer_Printf("HungUp on Thread %d\n", osGetThreadId(NULL)); + FaultDrawer_Printf("%s\n", arg0 ? arg0 : "(NULL)"); + FaultDrawer_Printf("%s\n", arg1 ? arg1 : "(NULL)"); } void Fault_AddHungupAndCrashImpl(const char* arg0, char* arg1) { @@ -889,6 +889,6 @@ void Fault_AddHungupAndCrashImpl(const char* arg0, char* arg1) { void Fault_AddHungupAndCrash(const char* filename, u32 line) { char msg[256]; - sprintf(msg, D_80098C40, filename, line); + sprintf(msg, "HungUp %s:%d", filename, line); Fault_AddHungupAndCrashImpl(msg, NULL); } diff --git a/src/boot_O2_g3_trapuv/fault_drawer.c b/src/boot_O2_g3/fault_drawer.c similarity index 86% rename from src/boot_O2_g3_trapuv/fault_drawer.c rename to src/boot_O2_g3/fault_drawer.c index 83792c0839..171aad96b3 100644 --- a/src/boot_O2_g3_trapuv/fault_drawer.c +++ b/src/boot_O2_g3/fault_drawer.c @@ -1,5 +1,5 @@ -#include -#include +#include "global.h" +#include "vt.h" FaultDrawer* sFaultDrawContext = &sFaultDrawerStruct; FaultDrawer sFaultDrawerDefault = { @@ -37,6 +37,8 @@ FaultDrawer sFaultDrawerDefault = { NULL, // inputCallback }; +#pragma GLOBAL_ASM("asm/non_matchings/boot/fault_drawer/sFaultDrawerFont.s") + void FaultDrawer_SetOsSyncPrintfEnabled(u32 enabled) { sFaultDrawContext->osSyncPrintfEnabled = enabled; } @@ -70,7 +72,7 @@ void FaultDrawer_DrawRecImpl(s32 xStart, s32 yStart, s32 xEnd, s32 yEnd, u16 col } } -#pragma GLOBAL_ASM("./asm/non_matchings/boot/fault_drawer/FaultDrawer_DrawChar.asm") +#pragma GLOBAL_ASM("asm/non_matchings/boot/fault_drawer/FaultDrawer_DrawChar.s") s32 FaultDrawer_ColorToPrintColor(u16 color) { s32 i; @@ -87,14 +89,14 @@ void FaultDrawer_UpdatePrintColor() { s32 idx; if (sFaultDrawContext->osSyncPrintfEnabled) { - Fault_Log(D_80099050); + osSyncPrintf(VT_RST); idx = FaultDrawer_ColorToPrintColor(sFaultDrawContext->foreColor); if (idx >= 0 && idx < 8) { - Fault_Log(D_80099054, idx); + osSyncPrintf(VT_SGR("3%d"), idx); } idx = FaultDrawer_ColorToPrintColor(sFaultDrawContext->backColor); if (idx >= 0 && idx < 8) { - Fault_Log(D_8009905C, idx); + osSyncPrintf(VT_SGR("4%d"), idx); } } } @@ -120,9 +122,9 @@ void FaultDrawer_SetCharPad(s8 padW, s8 padH) { void FaultDrawer_SetCursor(s32 x, s32 y) { if (sFaultDrawContext->osSyncPrintfEnabled) { - Fault_Log(D_80099064, - (y - sFaultDrawContext->yStart) / (sFaultDrawContext->charH + sFaultDrawContext->charHPad), - (x - sFaultDrawContext->xStart) / (sFaultDrawContext->charW + sFaultDrawContext->charWPad)); + osSyncPrintf(VT_CUP("%d", "%d"), + (y - sFaultDrawContext->yStart) / (sFaultDrawContext->charH + sFaultDrawContext->charHPad), + (x - sFaultDrawContext->xStart) / (sFaultDrawContext->charW + sFaultDrawContext->charWPad)); } sFaultDrawContext->cursorX = x; sFaultDrawContext->cursorY = y; @@ -130,7 +132,7 @@ void FaultDrawer_SetCursor(s32 x, s32 y) { void FaultDrawer_FillScreen() { if (sFaultDrawContext->osSyncPrintfEnabled) { - Fault_Log(D_80099070); + osSyncPrintf(VT_CLS); } FaultDrawer_DrawRecImpl(sFaultDrawContext->xStart, sFaultDrawContext->yStart, sFaultDrawContext->xEnd, @@ -138,7 +140,9 @@ void FaultDrawer_FillScreen() { FaultDrawer_SetCursor(sFaultDrawContext->xStart, sFaultDrawContext->yStart); } -#pragma GLOBAL_ASM("./asm/non_matchings/boot/fault_drawer/FaultDrawer_FormatStringFunc.asm") +#pragma GLOBAL_ASM("asm/non_matchings/boot/fault_drawer/FaultDrawer_FormatStringFunc.s") + +#pragma GLOBAL_ASM("asm/non_matchings/boot/fault_drawer/D_80099080.s") void FaultDrawer_VPrintf(const char* str, char* args) { // va_list _Printf((printf_func)FaultDrawer_FormatStringFunc, sFaultDrawContext, str, args); diff --git a/src/boot_O2_g3/idle.c b/src/boot_O2_g3/idle.c index 53a3c49ef0..734c1ef54a 100644 --- a/src/boot_O2_g3/idle.c +++ b/src/boot_O2_g3/idle.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" u8 D_80096B20 = 1; vu8 gViConfigUseDefault = 1; @@ -35,8 +34,8 @@ void Idle_InitMemory(void) { void* memEnd = (void*)(0x80000000 + osMemSize); Idle_ClearMemory((void*)0x80000400, &gFramebuffer1); - Idle_ClearMemory(&D_80025D00, (int*)&boot_text_start); - Idle_ClearMemory(&code_bss_end, memEnd); + Idle_ClearMemory(&D_80025D00, (int*)&bootproc); + Idle_ClearMemory(&gGfxSPTaskYieldBuffer, memEnd); } #ifdef NON_MATCHING @@ -52,7 +51,7 @@ void Idle_InitCodeAndMemory(void) { oldSize = sDmaMgrDmaBuffSize; sDmaMgrDmaBuffSize = 0; - DmaMgr_SendRequestImpl(&dmaReq, (u32)&code_text_start, (u32)_codeSegmentRomStart, + DmaMgr_SendRequestImpl(&dmaReq, (u32)_codeSegmentStart, (u32)_codeSegmentRomStart, (u32)_codeSegmentRomEnd - (u32)_codeSegmentRomStart, 0, &queue, 0); Idle_InitScreen(); Idle_InitMemory(); @@ -60,10 +59,10 @@ void Idle_InitCodeAndMemory(void) { sDmaMgrDmaBuffSize = oldSize; - Idle_ClearMemory(&code_bss_start, &code_bss_end); + Idle_ClearMemory(_codeSegmentBssStart, _codeSegmentBssEnd); } #else -#pragma GLOBAL_ASM("./asm/non_matchings/boot/idle/Idle_InitCodeAndMemory.asm") +#pragma GLOBAL_ASM("asm/non_matchings/boot/idle/Idle_InitCodeAndMemory.s") #endif void Main_ThreadEntry(void* arg) { diff --git a/src/boot_O2_g3/irqmgr.c b/src/boot_O2_g3/irqmgr.c index 48bad2c48b..3f4ca04aed 100644 --- a/src/boot_O2_g3/irqmgr.c +++ b/src/boot_O2_g3/irqmgr.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" vs32 gIrqMgrResetStatus = 0; volatile OSTime sIrqMgrResetTime = 0; diff --git a/src/boot_O2_g3/syncprintf.c b/src/boot_O2_g3/syncprintf.c new file mode 100644 index 0000000000..c1f6341f9a --- /dev/null +++ b/src/boot_O2_g3/syncprintf.c @@ -0,0 +1,10 @@ +#include "global.h" + +// This file contains print functions that are used by fault.c, so they are placed in the fault module + +void __osSyncVPrintf(UNK_TYPE4 param_1, ...) { +} +void osSyncPrintf(char* str, ...) { +} +void rmonPrintf(UNK_TYPE4 param_1, ...) { +} diff --git a/src/boot_O2_g3/viconfig.c b/src/boot_O2_g3/viconfig.c index 307981a769..d32fc9b918 100644 --- a/src/boot_O2_g3/viconfig.c +++ b/src/boot_O2_g3/viconfig.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" void ViConfig_UpdateVi(u32 mode) { if (mode != 0) { @@ -27,7 +26,7 @@ void ViConfig_UpdateVi(u32 mode) { osViSetMode(&gViConfigMode); if (gViConfigAdditionalScanLines != 0) { - func_80087E00(gViConfigAdditionalScanLines); + osViExtendVStart(gViConfigAdditionalScanLines); } if (gViConfigFeatures != 0) { diff --git a/src/boot_O2_g3/yaz0.c b/src/boot_O2_g3/yaz0.c index 311b9d761f..e4b43209f4 100644 --- a/src/boot_O2_g3/yaz0.c +++ b/src/boot_O2_g3/yaz0.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" u8 sYaz0DataBuffer[0x400]; u8* sYaz0CurDataEnd; @@ -50,7 +49,7 @@ void* Yaz0_NextDMA(void* curSrcPos) { } else { oldPri = osGetThreadPri(NULL); osSetThreadPri(NULL, 0x7F); - Fault_Log("圧縮展開異常\n"); + osSyncPrintf("圧縮展開異常\n"); osSetThreadPri(NULL, oldPri); } @@ -131,7 +130,7 @@ void Yaz0_Decompress(u32 romStart, void* dst, u32 size) { if (sYaz0CurDataEnd != NULL) { while (sYaz0CurDataEnd != NULL) { - func_80087A1C(10); + Sleep_Usec(10); } } diff --git a/src/boot_O2_g3/z_std_dma.c b/src/boot_O2_g3/z_std_dma.c index 0fe9508dfc..0b278dbb59 100644 --- a/src/boot_O2_g3/z_std_dma.c +++ b/src/boot_O2_g3/z_std_dma.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" u32 sDmaMgrDmaBuffSize = 0x2000; @@ -203,8 +202,6 @@ s32 DmaMgr_SendRequest0(void* vramStart, u32 vromStart, u32 size) { return 0; } -const char dmamgrThreadName[] = "dmamgr"; - #ifdef NON_MATCHING // TODO missing a useless move initializing v0, and some reorderings void DmaMgr_Start() { @@ -226,7 +223,7 @@ void DmaMgr_Start() { osStartThread(&sDmaMgrThread); } #else -#pragma GLOBAL_ASM("./asm/non_matchings/boot/z_std_dma/DmaMgr_Start.asm") +#pragma GLOBAL_ASM("asm/non_matchings/boot/z_std_dma/DmaMgr_Start.s") #endif void DmaMgr_Stop() { diff --git a/src/buffers/gfxbuffers.c b/src/buffers/gfxbuffers.c index cb7e36be0b..ed0d12b6c2 100644 --- a/src/buffers/gfxbuffers.c +++ b/src/buffers/gfxbuffers.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" u8 gGfxSPTaskYieldBuffer[OS_YIELD_DATA_SIZE]; diff --git a/src/buffers/heaps.c b/src/buffers/heaps.c index d35d0056e4..866d51c16d 100644 --- a/src/buffers/heaps.c +++ b/src/buffers/heaps.c @@ -1,6 +1,5 @@ -#include -#include +#include "global.h" u8 gAudioHeap[0x138000]; -u32 gSystemHeap[UNK_SIZE]; +u8 gSystemHeap[UNK_SIZE]; diff --git a/src/code/PreRender.c b/src/code/PreRender.c index b3888ddcba..f3ce934bfb 100644 --- a/src/code/PreRender.c +++ b/src/code/PreRender.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" /** * Assigns the "save" values in PreRender @@ -148,7 +147,7 @@ void func_8017023C(PreRender* this, Gfx** gfxp, void* buf, void* bufSave) { *gfxp = gfx; } #else -#pragma GLOBAL_ASM("./asm/non_matchings/code/PreRender/func_8017023C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/PreRender/func_8017023C.s") #endif void func_8017057C(PreRender* this, Gfx** gfxp) { @@ -249,7 +248,7 @@ void func_80170798(PreRender* this, Gfx** gfxp) { } } #else -#pragma GLOBAL_ASM("./asm/non_matchings/code/PreRender/func_80170798.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/PreRender/func_80170798.s") #endif void func_80170AE0(PreRender* this, Gfx** gfxp, s32 alpha) { @@ -397,9 +396,9 @@ void PreRender_ApplyAntiAliasingFilter(PreRender* this) { } } -#pragma GLOBAL_ASM("./asm/non_matchings/code/PreRender/func_801716C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/PreRender/func_801716C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/PreRender/func_801717F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/PreRender/func_801717F8.s") /** * Applies filters to the framebuffer prerender to make it look smoother @@ -426,7 +425,7 @@ void PreRender_ApplyFiltersSlowlyInit(PreRender* this) { } this->unk_4D = 1; - StackCheck_Init(&slowlyStackEntry, slowlyStack, &slowlyStack[4096], 0, 0x100, D_801DFC60); + StackCheck_Init(&slowlyStackEntry, slowlyStack, &slowlyStack[4096], 0, 0x100, "slowly"); Slowly_Start(&D_801F6E00, &D_801F7FE8, PreRender_ApplyFilters, this, NULL); D_801F6FC0 = true; } @@ -450,7 +449,7 @@ void func_801720C4(PreRender* this) { } } -#pragma GLOBAL_ASM("./asm/non_matchings/code/PreRender/func_801720FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/PreRender/func_801720FC.s") void func_80172758(Gfx** gfxp, void* timg, void* tlut, u16 width, u16 height, u8 fmt, u8 siz, u16 tt, u16 arg8, f32 x, f32 y, f32 xScale, f32 yScale, u32 flags) { diff --git a/src/code/TwoHeadArena.c b/src/code/TwoHeadArena.c index 8ca24c67e0..b4262e3c6c 100644 --- a/src/code/TwoHeadArena.c +++ b/src/code/TwoHeadArena.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" void* THA_GetHead(TwoHeadArena* tha) { return tha->head; diff --git a/src/code/TwoHeadGfxArena.c b/src/code/TwoHeadGfxArena.c index 2cf73aa880..81a3a383b6 100644 --- a/src/code/TwoHeadGfxArena.c +++ b/src/code/TwoHeadGfxArena.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" void THGA_Ct(TwoHeadGfxArena* thga, Gfx* start, u32 size) { THA_Ct((TwoHeadArena*)thga, start, size); diff --git a/src/code/audioMgr.c b/src/code/audioMgr.c index c1a7b753c2..f50af2fc8a 100644 --- a/src/code/audioMgr.c +++ b/src/code/audioMgr.c @@ -48,12 +48,12 @@ void AudioMgr_HandleRetrace(AudioMgr* audioMgr) { osRecvMesg(&audioMgr->cmdQ, (OSMesg*)&msg, OS_MESG_BLOCK); osStopTimer(&timer); if (msg == timerMsgVal) { - Fault_Log("AUDIO SP TIMEOUT %08x %08x\n", audioMgr->rspTask, audioMgr->rspTask->task); + osSyncPrintf("AUDIO SP TIMEOUT %08x %08x\n", audioMgr->rspTask, audioMgr->rspTask->task); if (retryCount >= 0) { retryCount--; func_8017703C(audioMgr->sched); } else { - Fault_Log("audioMgr.c:ã‚‚ã†ãƒ€ãƒ¡ï¼æ­»ã¬ï¼\n"); + osSyncPrintf("audioMgr.c:ã‚‚ã†ãƒ€ãƒ¡ï¼æ­»ã¬ï¼\n"); osDestroyThread(NULL); break; } diff --git a/src/code/audio_effects.c b/src/code/audio_effects.c new file mode 100644 index 0000000000..e795d5e9f7 --- /dev/null +++ b/src/code/audio_effects.c @@ -0,0 +1,21 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_effects/func_80196A00.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_effects/func_80196BC8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_effects/func_80196D20.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_effects/func_80196D7C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_effects/func_80196DB4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_effects/func_80196FEC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_effects/func_80197048.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_effects/func_80197138.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_effects/func_80197164.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_effects/func_80197188.s") diff --git a/src/code/audio_heap.c b/src/code/audio_heap.c new file mode 100644 index 0000000000..7c43ef0f1c --- /dev/null +++ b/src/code/audio_heap.c @@ -0,0 +1,111 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018B0F0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018B10C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018B250.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018B318.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018B3FC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018B474.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018B4F8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018B520.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018B578.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018B5D0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018B608.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018B640.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018B69C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018B6E8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018B740.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018B768.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018B77C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018B7AC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018B7BC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018B8FC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018B95C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018B9E0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018BA64.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018BB28.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018BBEC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018C380.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018C3D8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018C4E4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018C8B8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018C8E8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018C93C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018C994.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018CB70.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018CB78.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018CC3C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018CCA8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018CFAC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018D57C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018D5D4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018D658.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018D6C8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018D760.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018DA50.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018DBC4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018DCB4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018DCF8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018DD98.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018DDD4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018DF24.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018DFE0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018E00C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018E03C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018E2A8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018E344.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_heap/func_8018E8C8.s") diff --git a/src/code/audio_load.c b/src/code/audio_load.c new file mode 100644 index 0000000000..15e54b3c5d --- /dev/null +++ b/src/code/audio_load.c @@ -0,0 +1,161 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_8018EB60.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_8018EC4C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/D_801E030C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_8018EF88.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_8018F220.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_8018F298.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_8018F310.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_8018F388.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_8018F3B8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_8018F3E8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_8018F448.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_8018F478.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_8018F4D8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_8018F588.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_8018F604.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_8018F6F0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_8018F7C0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_8018F7F8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_8018F83C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_8018F880.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_8018F8C4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_8018F908.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_8018F9B8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_8018FA60.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_8018FAD0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_8018FB20.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_8018FB78.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_8018FCCC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_8018FD20.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_8018FD40.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_8018FE5C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_8018FF60.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_80190204.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_80190240.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_80190294.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_801902D8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_80190544.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_80190668.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_8019067C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_80190754.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_8019075C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_8019077C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_80190B08.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_80190B38.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_80190B44.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_80190B50.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_80190BB0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_80190F50.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_80190F64.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_80191134.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_801911C4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_801911CC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_80191240.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_801913C8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_8019144C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_80191460.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_80191568.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_80191598.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_8019161C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_80191740.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_80191864.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_80191870.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_801919AC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_80191B40.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_80191BD0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_80191C40.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_80191C54.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_80191D94.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_8019218C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_80192340.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_80192388.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_801924BC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_80192514.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_80192990.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_80192AD0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_80192AD8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_80192AE0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_80192AE8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_80192B54.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_load/func_80192BAC.s") diff --git a/src/code/audio_playback.c b/src/code/audio_playback.c new file mode 100644 index 0000000000..ec8dd86b89 --- /dev/null +++ b/src/code/audio_playback.c @@ -0,0 +1,63 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_playback/func_80194930.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_playback/func_80194DB0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_playback/func_80194E60.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_playback/func_80194F20.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_playback/func_80194F84.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_playback/func_801954CC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_playback/func_80195508.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_playback/func_801955DC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_playback/func_801956C0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_playback/func_801957B4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_playback/func_801958F8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_playback/func_80195C40.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_playback/func_80195C60.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_playback/func_80195C80.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_playback/func_80195D84.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_playback/func_80195DDC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_playback/func_80195DEC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_playback/func_80195E3C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_playback/func_80195EE0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_playback/func_80196040.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_playback/func_8019617C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_playback/func_801961BC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_playback/func_801961E8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_playback/func_80196268.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_playback/func_801963E8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_playback/func_8019641C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_playback/func_80196448.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_playback/func_80196494.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_playback/func_801964F8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_playback/func_801965F0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_playback/func_801968C4.s") diff --git a/src/code/audio_seqplayer.c b/src/code/audio_seqplayer.c new file mode 100644 index 0000000000..e3841a50a6 --- /dev/null +++ b/src/code/audio_seqplayer.c @@ -0,0 +1,73 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_seqplayer/func_801974D0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_seqplayer/func_80197538.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_seqplayer/func_80197714.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_seqplayer/func_80197880.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_seqplayer/func_801979D8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_seqplayer/func_80197A54.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_seqplayer/func_80197AA4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_seqplayer/func_80197B14.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_seqplayer/func_80197C0C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_seqplayer/func_80197C8C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_seqplayer/func_80197D24.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_seqplayer/func_80197D4C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_seqplayer/func_80197E08.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_seqplayer/func_80197E48.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_seqplayer/func_80197E88.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_seqplayer/func_80197F28.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_seqplayer/func_80197F3C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_seqplayer/func_80197F74.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_seqplayer/func_80197FB4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_seqplayer/func_801980D0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_seqplayer/func_8019815C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_seqplayer/func_8019825C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_seqplayer/func_80198640.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_seqplayer/func_80198CE0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_seqplayer/func_801990F4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_seqplayer/func_80199124.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_seqplayer/func_80199198.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_seqplayer/func_80199244.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_seqplayer/func_80199268.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_seqplayer/func_8019A0BC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_seqplayer/func_8019AA3C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_seqplayer/func_8019AAF0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_seqplayer/func_8019AB40.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_seqplayer/func_8019AC10.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_seqplayer/func_8019ACEC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_seqplayer/func_8019ADBC.s") diff --git a/src/code/audio_synthesis.c b/src/code/audio_synthesis.c new file mode 100644 index 0000000000..51842a33f7 --- /dev/null +++ b/src/code/audio_synthesis.c @@ -0,0 +1,137 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_801877D0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_80187B64.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_80187BEC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_80187DE8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_80187E58.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_80187F00.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_80187FA8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_80187FB0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_80187FD0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_80187FD8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_80187FE0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_80187FE8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_8018801C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_80188024.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_8018802C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_80188034.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_80188068.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_80188070.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_80188078.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_801880A4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_801880AC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_801880B4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_801880BC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_801880C4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_801880E8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_8018811C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_80188124.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_8018814C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_80188174.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_80188190.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_80188198.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_801881A0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_801881A8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_801881C4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_801881F8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_80188224.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_8018822C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_80188234.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_8018823C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_80188244.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_8018824C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_80188254.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_8018825C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_80188264.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_80188288.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_801882A0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_80188304.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_801884A0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_80188698.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_8018883C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_801888E4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_801889A4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_80188A50.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_80188AFC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_80188C48.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_80188CB4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_80188D20.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_80188D28.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_80188D68.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_80188DDC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_80188FBC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_80189064.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_80189620.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_8018A4B4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_8018A768.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_8018A808.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_8018ACC4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/audio_synthesis/func_8018AE34.s") diff --git a/src/code/c_keyframe.c b/src/code/c_keyframe.c new file mode 100644 index 0000000000..5914eec777 --- /dev/null +++ b/src/code/c_keyframe.c @@ -0,0 +1,85 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/c_keyframe/func_801830A0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/c_keyframe/func_801830C8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/c_keyframe/func_801830E8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/c_keyframe/func_80183148.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/c_keyframe/func_80183224.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/c_keyframe/func_801832B0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/c_keyframe/func_8018332C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/c_keyframe/func_8018340C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/c_keyframe/func_80183430.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/c_keyframe/func_8018349C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/c_keyframe/func_801834A8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/c_keyframe/func_80183510.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/c_keyframe/func_80183580.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/c_keyframe/func_801835EC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/c_keyframe/func_80183658.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/c_keyframe/func_801836CC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/c_keyframe/func_8018373C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/c_keyframe/func_801837CC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/c_keyframe/func_80183808.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/c_keyframe/func_80183880.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/c_keyframe/func_80183A3C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/c_keyframe/func_80183B08.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/c_keyframe/func_80183B68.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/c_keyframe/func_80183DE0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/c_keyframe/func_8018410C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/c_keyframe/func_8018450C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/c_keyframe/func_801845A4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/c_keyframe/func_801845C8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/c_keyframe/func_8018462C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/c_keyframe/func_80184638.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/c_keyframe/func_801846AC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/c_keyframe/func_80184728.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/c_keyframe/func_801847A0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/c_keyframe/func_80184818.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/c_keyframe/func_80184898.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/c_keyframe/func_80184914.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/c_keyframe/func_801849A0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/c_keyframe/func_801849DC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/c_keyframe/func_80184C48.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/c_keyframe/func_801850A0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/c_keyframe/func_801853C8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/c_keyframe/func_80185460.s") diff --git a/src/code/code_0x80183070.c b/src/code/code_0x80183070.c deleted file mode 100644 index 00934cd604..0000000000 --- a/src/code/code_0x80183070.c +++ /dev/null @@ -1,8 +0,0 @@ -#include -#include - -void func_80183070(void) { - for (;;) { - func_80087A6C(1000); - } -} diff --git a/src/code/code_800CB000.c b/src/code/code_800CB000.c new file mode 100644 index 0000000000..7642d35c42 --- /dev/null +++ b/src/code/code_800CB000.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_800CB000/func_800CB000.s") diff --git a/src/code/code_0x800E8EA0.c b/src/code/code_800E8EA0.c similarity index 98% rename from src/code/code_0x800E8EA0.c rename to src/code/code_800E8EA0.c index d140bde7c0..ca2e9e841f 100644 --- a/src/code/code_0x800E8EA0.c +++ b/src/code/code_800E8EA0.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" void func_800E8EA0(GlobalContext* globalCtx, Actor* actor, u16 textId) { func_80151938(globalCtx, textId); diff --git a/src/code/code_800F0390.c b/src/code/code_800F0390.c new file mode 100644 index 0000000000..423b9048c3 --- /dev/null +++ b/src/code/code_800F0390.c @@ -0,0 +1,11 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F0390/func_800F0390.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F0390/func_800F03C0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F0390/func_800F048C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F0390/func_800F0568.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F0390/func_800F0590.s") diff --git a/src/code/code_800F07C0.c b/src/code/code_800F07C0.c new file mode 100644 index 0000000000..9255dcfcbf --- /dev/null +++ b/src/code/code_800F07C0.c @@ -0,0 +1,31 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F07C0/func_800F07C0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F07C0/func_800F0888.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F07C0/func_800F0944.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F07C0/func_800F09B4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F07C0/func_800F0A20.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F07C0/func_800F0A94.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F07C0/func_800F0BB4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F07C0/func_800F0CE4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F07C0/func_800F0DD4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F07C0/func_800F0E94.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F07C0/func_800F0EEC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F07C0/func_800F0F28.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F07C0/func_800F0FF0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F07C0/func_800F10AC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F07C0/func_800F112C.s") diff --git a/src/code/code_800F12D0.c b/src/code/code_800F12D0.c new file mode 100644 index 0000000000..d34f11e814 --- /dev/null +++ b/src/code/code_800F12D0.c @@ -0,0 +1,9 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F12D0/func_800F12D0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F12D0/func_800F1304.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F12D0/func_800F1374.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F12D0/func_800F13E8.s") diff --git a/src/code/code_800F23E0.c b/src/code/code_800F23E0.c new file mode 100644 index 0000000000..008a95db3a --- /dev/null +++ b/src/code/code_800F23E0.c @@ -0,0 +1,5 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F23E0/func_800F23E0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_800F23E0/func_800F2478.s") diff --git a/src/code/code_80122660.c b/src/code/code_80122660.c new file mode 100644 index 0000000000..7c0da29320 --- /dev/null +++ b/src/code/code_80122660.c @@ -0,0 +1,5 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80122660/func_80122660.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80122660/func_80122670.s") diff --git a/src/code/code_0x8012EC80.c b/src/code/code_8012EC80.c similarity index 82% rename from src/code/code_0x8012EC80.c rename to src/code/code_8012EC80.c index 6883d2fd17..feec42940f 100644 --- a/src/code/code_0x8012EC80.c +++ b/src/code/code_8012EC80.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" // Bit Flag array in which gBitFlags[n] is literally (1 << n) u32 gBitFlags[] = { @@ -195,13 +194,13 @@ s32 func_8012EC80(GlobalContext* globalCtx) { } void func_8012ED34(s16 equipment); -#pragma GLOBAL_ASM("./asm/non_matchings/code/code_0x8012EC80/func_8012ED34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8012EC80/func_8012ED34.s") u8 func_8012ED78(GlobalContext* globalCtx, s16 equipment); -#pragma GLOBAL_ASM("./asm/non_matchings/code/code_0x8012EC80/func_8012ED78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8012EC80/func_8012ED78.s") void func_8012EDE8(s16 arg0, u32 arg1); -#pragma GLOBAL_ASM("./asm/non_matchings/code/code_0x8012EC80/func_8012EDE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8012EC80/func_8012EDE8.s") s32 func_8012EE34(s16 arg0) { s16 num = 0; @@ -292,7 +291,7 @@ void func_8012EF0C(s16 arg0) { } void func_8012F0EC(s16 arg0); -#pragma GLOBAL_ASM("./asm/non_matchings/code/code_0x8012EC80/func_8012F0EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8012EC80/func_8012F0EC.s") #ifdef NON_MATCHING // regalloc @@ -307,7 +306,7 @@ void func_8012F1BC(s16 sceneIndex) { } #else void func_8012F1BC(s16 arg0); -#pragma GLOBAL_ASM("./asm/non_matchings/code/code_0x8012EC80/func_8012F1BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8012EC80/func_8012F1BC.s") #endif s16 func_8012F22C(s16 sceneIndex) { @@ -319,23 +318,4 @@ s16 func_8012F22C(s16 sceneIndex) { } void func_8012F278(GlobalContext* globalCtx); -#pragma GLOBAL_ASM("./asm/non_matchings/code/code_0x8012EC80/func_8012F278.asm") - -u32 D_801C2410[] = { - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, - 0x01010101, 0x00000000, 0x00000000, 0x00000000, 0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000100, 0x00000000, 0x00000000, 0x00000101, 0x01000000, 0x01010101, 0x01010101, 0x01010101, - 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x01000000, 0x00000000, 0x00000000, 0x00010100, 0x00000101, 0x01010101, - 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000100, 0x00000000, 0x00000001, 0x00000001, 0x01000000, - 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x01010101, 0x01010101, 0x01010101, - 0x00010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, - 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01010101, 0x01000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, -}; +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8012EC80/func_8012F278.s") diff --git a/src/code/code_801323D0.c b/src/code/code_801323D0.c new file mode 100644 index 0000000000..1457f537d7 --- /dev/null +++ b/src/code/code_801323D0.c @@ -0,0 +1,41 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801323D0/func_801323D0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801323D0/func_80132428.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801323D0/func_80132494.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801323D0/func_801326B8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801323D0/func_801328F0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801323D0/func_80132920.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801323D0/func_80132938.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801323D0/func_80132954.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801323D0/func_8013296C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801323D0/func_80132A18.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801323D0/func_80132A3C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801323D0/func_80132A80.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801323D0/func_80132AD8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801323D0/func_80132B24.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801323D0/func_80132B84.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801323D0/func_80132D70.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801323D0/func_80132E9C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801323D0/func_80132FDC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801323D0/func_80133000.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801323D0/func_80133038.s") diff --git a/src/code/code_8013EC10.c b/src/code/code_8013EC10.c new file mode 100644 index 0000000000..b44ed73a82 --- /dev/null +++ b/src/code/code_8013EC10.c @@ -0,0 +1,19 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8013EC10/func_8013EC10.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8013EC10/func_8013EC44.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8013EC10/func_8013ECE0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8013EC10/func_8013ED9C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8013EC10/func_8013EDD0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8013EC10/func_8013EE04.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8013EC10/func_8013EE24.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8013EC10/func_8013EE38.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8013EC10/func_8013EE48.s") diff --git a/src/code/code_80140E80.c b/src/code/code_80140E80.c new file mode 100644 index 0000000000..56fcb663c6 --- /dev/null +++ b/src/code/code_80140E80.c @@ -0,0 +1,21 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80140E80/func_80140E80.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80140E80/func_80140EA0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80140E80/func_80140EAC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80140E80/func_80141008.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80140E80/func_8014116C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80140E80/func_801411B4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80140E80/func_80141200.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80140E80/func_8014151C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80140E80/func_80141678.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80140E80/func_80141778.s") diff --git a/src/code/code_801420C0.c b/src/code/code_801420C0.c new file mode 100644 index 0000000000..63c96571e5 --- /dev/null +++ b/src/code/code_801420C0.c @@ -0,0 +1,7 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801420C0/func_801420C0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801420C0/func_801420F4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801420C0/func_80142100.s") diff --git a/src/code/code_80172BC0.c b/src/code/code_80172BC0.c new file mode 100644 index 0000000000..93aee323fc --- /dev/null +++ b/src/code/code_80172BC0.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80172BC0/func_80172BC0.s") diff --git a/src/code/code_80174A40.c b/src/code/code_80174A40.c new file mode 100644 index 0000000000..a4daff0180 --- /dev/null +++ b/src/code/code_80174A40.c @@ -0,0 +1,7 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80174A40/Graph_GfxPlusOne.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80174A40/Graph_BranchDlist.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80174A40/Graph_DlistAlloc.s") diff --git a/src/code/code_80183070.c b/src/code/code_80183070.c new file mode 100644 index 0000000000..7b84aa2809 --- /dev/null +++ b/src/code/code_80183070.c @@ -0,0 +1,7 @@ +#include "global.h" + +void func_80183070(void) { + for (;;) { + Sleep_Msec(1000); + } +} diff --git a/src/code/code_80192BE0.c b/src/code/code_80192BE0.c new file mode 100644 index 0000000000..d408361c73 --- /dev/null +++ b/src/code/code_80192BE0.c @@ -0,0 +1,81 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80192BE0/func_80192BE0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80192BE0/func_80192C00.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80192BE0/func_8019319C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80192BE0/func_801936D8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80192BE0/func_8019372C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80192BE0/func_80193774.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80192BE0/func_8019380C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80192BE0/func_80193858.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80192BE0/func_8019387C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80192BE0/func_801938A0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80192BE0/func_801938D0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80192BE0/func_80193900.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80192BE0/func_80193990.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80192BE0/func_801939A8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80192BE0/func_80193AEC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80192BE0/func_80193BA0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80192BE0/func_80193C04.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80192BE0/func_80193C24.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80192BE0/func_80193C5C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80192BE0/func_80193CB4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80192BE0/func_80193D08.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80192BE0/func_80193DA4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80192BE0/func_80193DF0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80192BE0/func_80193E44.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80192BE0/func_80193E6C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80192BE0/func_80193E9C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80192BE0/func_80193EA8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80192BE0/func_80194080.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80192BE0/func_801942BC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80192BE0/func_80194304.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80192BE0/func_80194328.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80192BE0/func_8019435C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80192BE0/func_8019439C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80192BE0/func_801943D0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80192BE0/func_8019440C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80192BE0/func_80194528.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80192BE0/func_80194548.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80192BE0/func_80194568.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80192BE0/func_80194668.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80192BE0/func_801946E4.s") diff --git a/src/code/code_80194710.c b/src/code/code_80194710.c new file mode 100644 index 0000000000..aa4f784c4c --- /dev/null +++ b/src/code/code_80194710.c @@ -0,0 +1,13 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80194710/func_80194710.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80194710/func_80194750.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80194710/func_80194790.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80194710/func_80194804.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80194710/func_80194840.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_80194710/func_801948B0.s") diff --git a/src/code/code_8019AF00.c b/src/code/code_8019AF00.c new file mode 100644 index 0000000000..8f0d129ada --- /dev/null +++ b/src/code/code_8019AF00.c @@ -0,0 +1,429 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/D_801E0BD0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019AF00.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019AF58.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019AFE8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019B02C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019B074.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019B144.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019B378.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019B38C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019B3D0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019B4B8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019B544.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019B568.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019B5AC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019B5EC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019B618.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019B654.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019B6B4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019BC44.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019BE98.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019C1C0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019C1D0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019C268.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019C2E4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019C300.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019C398.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019C5A0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019C8D8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/D_801E0C14.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019CD08.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019CE34.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019CE6C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019CEBC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019CF6C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019CF78.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019CF9C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019CFA8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019D134.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019D26C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019D488.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019D4F8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019D600.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019D758.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019D864.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019D8B4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019D8E4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019DF28.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019DF64.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019DFF8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019E000.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019E00C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019E014.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019E0FC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019E104.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019E110.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019E14C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019E324.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019E4B0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019E634.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019E864.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019EA40.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019EB2C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019F024.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019F05C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/play_sound.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019F128.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019F170.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019F1C0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019F208.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019F230.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019F258.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019F300.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019F420.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019F4AC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019F540.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019F570.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019F5AC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019F638.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019F780.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019F7D8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019F830.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019F88C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019F900.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019FA18.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019FAD8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019FB0C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019FC20.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019FCB8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019FD90.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019FDC8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019FE1C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019FE74.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019FEDC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019FF38.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_8019FF9C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A0048.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A00EC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A0124.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A0184.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A01C4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A0204.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A0238.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A026C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A0318.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A0450.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A046C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A0554.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A05E4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A05F0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A0654.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A0810.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A0868.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A09D4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A0C70.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A0C90.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A0CB0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A0E44.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A1290.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A1348.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A13BC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A153C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A17F4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A1904.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A1A10.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A1A8C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A1D44.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A1DB8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A1E0C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A1F00.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A1F88.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A1FB4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A2090.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A21FC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A2460.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A246C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A2544.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A257C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A25E4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A2670.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A2778.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A27E8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A281C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A29D4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A2BB8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A2C20.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A2C44.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A2C88.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A2D54.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A2DE0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A2E54.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A2ED8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A2F88.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A2FC4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A3000.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A3038.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A3098.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A312C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A31EC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A3238.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A32CC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A3590.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A36F0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A3950.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A39F8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A3A7C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A3AC0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A3AEC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A3B48.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A3B90.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A3CD8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A3CF4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A3D54.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A3D98.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A3E38.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A3EC0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A3F54.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A3F6C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A3FB4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A3FFC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/audio_setBGM.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A4058.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A41C8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A41F8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A429C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A42C8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A4324.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A4348.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A4380.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A4428.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/Audio_PreNMI.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A44C4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A44D4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A46F8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A4748.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A479C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A47DC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A48E0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A4A28.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A4B80.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A4C30.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A4C54.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A4D00.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A4D50.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A4DA4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A4DF4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A4E64.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A4EB0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A4EB8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A4FD8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A5080.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A50C0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A5100.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A510C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_8019AF00/func_801A5118.s") diff --git a/src/code/code_801A51F0.c b/src/code/code_801A51F0.c new file mode 100644 index 0000000000..6a40bf23a1 --- /dev/null +++ b/src/code/code_801A51F0.c @@ -0,0 +1,42 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A51F0/D_801E0EC0.s") + +UNK_TYPE func_801A51F0(UNK_TYPE arg0) { + switch (arg0) { + case 1: + case 4: + case 5: + case 11: + case 13: + case 14: + case 15: + return -1; + default: + return 0; + } +} + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A51F0/func_801A5228.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A51F0/func_801A5390.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A51F0/func_801A53DC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A51F0/func_801A53E8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A51F0/func_801A541C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A51F0/func_801A5488.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A51F0/func_801A54C4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A51F0/func_801A54D0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A51F0/func_801A5680.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A51F0/func_801A5808.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A51F0/func_801A5A10.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A51F0/func_801A5A1C.s") diff --git a/src/code/code_801A5BD0.c b/src/code/code_801A5BD0.c new file mode 100644 index 0000000000..32889dcb83 --- /dev/null +++ b/src/code/code_801A5BD0.c @@ -0,0 +1,45 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A5BD0/func_801A5BD0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A5BD0/func_801A5C28.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A5BD0/func_801A5C8C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A5BD0/func_801A5CFC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A5BD0/func_801A5DDC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A5BD0/func_801A5F7C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A5BD0/func_801A6430.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A5BD0/func_801A65C8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A5BD0/func_801A6D0C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A5BD0/func_801A7084.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A5BD0/func_801A7168.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A5BD0/func_801A7284.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A5BD0/func_801A72CC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A5BD0/func_801A7328.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A5BD0/func_801A7484.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A5BD0/func_801A75E8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A5BD0/func_801A7720.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A5BD0/func_801A7794.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A5BD0/func_801A7828.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A5BD0/func_801A787C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A5BD0/func_801A78E4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A5BD0/func_801A794C.s") diff --git a/src/code/code_801A7B10.c b/src/code/code_801A7B10.c new file mode 100644 index 0000000000..a8bd825b74 --- /dev/null +++ b/src/code/code_801A7B10.c @@ -0,0 +1,47 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A7B10/func_801A7B10.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A7B10/func_801A7D04.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A7B10/func_801A7D84.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A7B10/func_801A89A8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A7B10/func_801A89D0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A7B10/func_801A8A50.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A7B10/func_801A8ABC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A7B10/func_801A8B14.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A7B10/func_801A8B2C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A7B10/func_801A8BD0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A7B10/func_801A8D5C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A7B10/func_801A9768.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A7B10/func_801A982C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A7B10/func_801A99B8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A7B10/func_801A9A74.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A7B10/func_801A9B10.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A7B10/func_801A9B78.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A7B10/func_801A9BFC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A7B10/func_801A9C68.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A7B10/func_801A9D10.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A7B10/func_801A9DCC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A7B10/func_801A9EA4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801A7B10/func_801A9F4C.s") diff --git a/src/code/code_801AA020.c b/src/code/code_801AA020.c new file mode 100644 index 0000000000..2144c6bcb5 --- /dev/null +++ b/src/code/code_801AA020.c @@ -0,0 +1,11 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801AA020/D_801E1100.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801AA020/func_801AA020.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801AA020/func_801AA248.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801AA020/func_801AA3E4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/code_801AA020/func_801AA520.s") diff --git a/src/code/db_camera.c b/src/code/db_camera.c new file mode 100644 index 0000000000..92b6d87f91 --- /dev/null +++ b/src/code/db_camera.c @@ -0,0 +1,43 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/db_camera/func_80161180.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/db_camera/func_8016119C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/db_camera/func_8016122C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/db_camera/func_801612B8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/db_camera/func_80161998.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/db_camera/func_80161BAC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/db_camera/func_80161BE0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/db_camera/func_80161C0C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/db_camera/func_80161C20.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/db_camera/func_80161E4C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/db_camera/func_801620CC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/db_camera/func_8016237C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/db_camera/func_801623E4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/db_camera/func_801624EC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/db_camera/func_8016253C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/db_camera/func_801629BC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/db_camera/func_80162A50.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/db_camera/func_80162FF8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/db_camera/func_801631DC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/db_camera/func_80163334.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/db_camera/func_80163660.s") diff --git a/src/code/flg_set.c b/src/code/flg_set.c new file mode 100644 index 0000000000..b46433a708 --- /dev/null +++ b/src/code/flg_set.c @@ -0,0 +1,9 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/flg_set/func_800B32D0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/flg_set/D_801DC120.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/flg_set/func_800B3644.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/flg_set/D_801DC9B8.s") diff --git a/src/code/game.c b/src/code/game.c index a26cff4242..5159b2db21 100644 --- a/src/code/game.c +++ b/src/code/game.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" s32 gFramerateDivisor = 1; f32 gFramerateDivisorF = 1.0f; @@ -156,7 +155,7 @@ void Game_InitHeap(GameState* gamestate, u32 size) { } THA_Ct(&gamestate->heap, NULL, 0); - assert_fail("../game.c", 0x40B); + __assert("../game.c", 0x40B); } void Game_ResizeHeap(GameState* gamestate, u32 size) { @@ -181,7 +180,7 @@ void Game_ResizeHeap(GameState* gamestate, u32 size) { THA_Ct(&gamestate->heap, buf, size); } else { THA_Ct(&gamestate->heap, 0, 0); - assert_fail("../game.c", 0x432); + __assert("../game.c", 0x432); } } diff --git a/src/code/gamealloc.c b/src/code/gamealloc.c new file mode 100644 index 0000000000..34d595f791 --- /dev/null +++ b/src/code/gamealloc.c @@ -0,0 +1,11 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/gamealloc/func_80173BF0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/gamealloc/Gamealloc_Alloc.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/gamealloc/Gamealloc_Free.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/gamealloc/Gamealloc_FreeAll.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/gamealloc/Gamealloc_Init.s") diff --git a/src/code/graph.c b/src/code/graph.c new file mode 100644 index 0000000000..428bd86210 --- /dev/null +++ b/src/code/graph.c @@ -0,0 +1,25 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/graph/Graph_FaultClient.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/graph/Graph_DlAlloc.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/graph/Graph_InitTHGA.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/graph/Graph_GetNextGameState.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/graph/Graph_FaultAddrConvFunc.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/graph/Graph_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/graph/Graph_Destroy.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/graph/Graph_Render.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/graph/Graph_FrameSetup.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/graph/Graph_RenderFrame.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/graph/Graph_DoFrame.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/graph/Graph_ThreadEntry.s") diff --git a/src/code/listalloc.c b/src/code/listalloc.c new file mode 100644 index 0000000000..3880806a1b --- /dev/null +++ b/src/code/listalloc.c @@ -0,0 +1,9 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/listalloc/func_80174AA0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/listalloc/func_80174AB4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/listalloc/func_80174B20.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/listalloc/func_80174BA0.s") diff --git a/src/code/main.c b/src/code/main.c new file mode 100644 index 0000000000..499f0f929d --- /dev/null +++ b/src/code/main.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/main/main.s") diff --git a/src/code/osFlash.c b/src/code/osFlash.c new file mode 100644 index 0000000000..e661bc9c7d --- /dev/null +++ b/src/code/osFlash.c @@ -0,0 +1,39 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/osFlash/func_80186A70.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/osFlash/func_80186AB8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/osFlash/func_80186B28.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/osFlash/func_80186B30.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/osFlash/func_80186B38.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/osFlash/func_80186B68.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/osFlash/func_80186B70.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/osFlash/func_80186B78.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/osFlash/func_80186CAC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/osFlash/func_80186D60.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/osFlash/func_80186E64.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/osFlash/func_80186EC8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/osFlash/func_80187018.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/osFlash/func_80187080.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/osFlash/func_80187124.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/osFlash/func_80187284.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/osFlash/func_801872FC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/osFlash/func_801873BC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/osFlash/func_8018752C.s") diff --git a/src/code/padmgr.c b/src/code/padmgr.c new file mode 100644 index 0000000000..65b9d0ff4e --- /dev/null +++ b/src/code/padmgr.c @@ -0,0 +1,57 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/padmgr/Padmgr_GetControllerBitmask.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/padmgr/func_80174F24.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/padmgr/func_80174F44.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/padmgr/func_80174F7C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/padmgr/func_80174F9C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/padmgr/Padmgr_GetEventCallback.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/padmgr/func_80175008.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/padmgr/Padmgr_SetEventCallback.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/padmgr/func_8017506C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/padmgr/Padmgr_Lock.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/padmgr/Padmgr_Unlock.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/padmgr/func_801750FC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/padmgr/func_80175364.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/padmgr/func_80175434.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/padmgr/func_8017544C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/padmgr/func_80175474.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/padmgr/func_801754C0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/padmgr/Padmgr_CalcStickEdges.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/padmgr/Padmgr_ParseState.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/padmgr/func_801759BC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/padmgr/func_80175AE0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/padmgr/Padmgr_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/padmgr/Padmgr_Stop.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/padmgr/func_80175E68.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/padmgr/Padmgr_GetInput.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/padmgr/Padmgr_GetInput2.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/padmgr/Padmgr_ThreadEntry.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/padmgr/Padmgr_Start.s") diff --git a/src/code/sched.c b/src/code/sched.c new file mode 100644 index 0000000000..5c10c50f19 --- /dev/null +++ b/src/code/sched.c @@ -0,0 +1,47 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/sched/func_80176280.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sched/func_80176314.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sched/Sched_Nop80176364.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sched/func_80176370.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sched/func_80176394.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sched/func_801764F0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sched/func_8017668C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sched/func_801766F0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sched/func_80176748.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sched/func_801767B8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sched/func_801768E0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sched/func_8017691C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sched/func_80176988.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sched/func_80176B34.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sched/func_80176C24.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sched/func_80176CF4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sched/func_80176F2C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sched/Sched_SendEntryMsg.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sched/func_8017703C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sched/func_80177060.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sched/func_80177084.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sched/Sched_ThreadEntry.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sched/Sched_Start.s") diff --git a/src/code/speed_meter.c b/src/code/speed_meter.c new file mode 100644 index 0000000000..b8b0299eba --- /dev/null +++ b/src/code/speed_meter.c @@ -0,0 +1,21 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/speed_meter/func_80177390.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/speed_meter/func_801773A0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/speed_meter/func_801773C4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/speed_meter/SpeedMeter_DrawTimeEntries.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/speed_meter/func_80177A84.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/speed_meter/func_80177AC8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/speed_meter/SpeedMeter_DrawAllocEntries.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/speed_meter/func_801780F0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/speed_meter/func_801781EC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/speed_meter/func_8017842C.s") diff --git a/src/code/sys_cmpdma.c b/src/code/sys_cmpdma.c new file mode 100644 index 0000000000..c7317a7b7a --- /dev/null +++ b/src/code/sys_cmpdma.c @@ -0,0 +1,31 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_cmpdma/func_80178750.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_cmpdma/func_80178818.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_cmpdma/func_80178978.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_cmpdma/func_801789D4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_cmpdma/get_framebuffer.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_cmpdma/get_zbuffer.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_cmpdma/func_80178A24.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_cmpdma/func_80178A34.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_cmpdma/func_80178A94.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_cmpdma/func_80178AC0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_cmpdma/func_80178C80.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_cmpdma/func_80178D7C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_cmpdma/func_80178DAC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_cmpdma/func_80178E3C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_cmpdma/func_80178E7C.s") diff --git a/src/code/sys_flashrom.c b/src/code/sys_flashrom.c new file mode 100644 index 0000000000..1431e7a666 --- /dev/null +++ b/src/code/sys_flashrom.c @@ -0,0 +1,31 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_flashrom/func_801857C0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_flashrom/func_801857D0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_flashrom/func_80185864.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_flashrom/func_80185908.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_flashrom/func_80185968.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_flashrom/func_801859F0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_flashrom/func_80185A2C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_flashrom/func_80185B1C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_flashrom/func_80185BE4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_flashrom/func_80185C24.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_flashrom/SysFlashrom_ThreadEntry.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_flashrom/func_80185DDC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_flashrom/func_80185EC4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_flashrom/func_80185F04.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_flashrom/func_80185F64.s") diff --git a/src/code/sys_initial_check.c b/src/code/sys_initial_check.c new file mode 100644 index 0000000000..d435abae02 --- /dev/null +++ b/src/code/sys_initial_check.c @@ -0,0 +1,17 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_initial_check/Check_WriteRGB5A1Pixel.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_initial_check/Check_WriteI4Pixel.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_initial_check/Check_DrawI4Texture.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_initial_check/Check_ClearRGB5A1.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_initial_check/Check_DrawExpansionPakErrorMessage.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_initial_check/Check_DrawRegionLockErrorMessage.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_initial_check/Check_ExpansionPak.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_initial_check/Check_RegionIsSupported.s") diff --git a/src/code/sys_math.c b/src/code/sys_math.c new file mode 100644 index 0000000000..4142cd5982 --- /dev/null +++ b/src/code/sys_math.c @@ -0,0 +1,15 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math/func_80179300.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math/func_80179400.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math/pow_int.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math/sin_rad.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math/cos_rad.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math/Rand_ZeroFloat.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math/randPlusMinusPoint5Scaled.s") diff --git a/src/code/sys_math3d.c b/src/code/sys_math3d.c new file mode 100644 index 0000000000..f607295c19 --- /dev/null +++ b/src/code/sys_math3d.c @@ -0,0 +1,189 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/Math3D_Normalize.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_80179678.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_80179798.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_80179A44.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_80179B34.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_80179B94.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_80179D74.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/Math3D_ScaleAndAdd.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/Math3D_Lerp.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/Math3D_Parallel.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/Math3D_AngleBetweenVectors.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_80179F64.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/Math3D_XZBoundCheck.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017A09C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017A1D0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017A304.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017A438.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/Math3D_XZLengthSquared.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/Math3D_XZLength.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/Math3D_XZDistanceSquared.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/Math3D_XZDistance.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/Math3D_LengthSquared.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/Math3D_Vec3fMagnitude.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/Math3D_DistanceSquared.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/Math3D_Distance.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/Math3D_DistanceS.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017A7B8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017A7F8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017A838.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/Math3D_CrossProduct.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/Math3D_NormalVector.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017A954.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017AA0C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017ABBC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017AD38.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017B68C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017B7F8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/Math3D_UnitNormalVector.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/Math3D_SignedDistanceFromPlane.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017B9D8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/Math3D_NormalizedDistanceFromPlane.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/Math3D_NormalizedSignedDistanceFromPlane.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017BAD0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017BD98.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017BDE0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017BE30.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017BEE0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017BF8C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017C008.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017C17C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017C1F0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017C494.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017C540.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017C808.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017C850.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017C904.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017C980.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017CB08.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017CB7C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017CEA8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017CEF0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017CFA4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017D020.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017D1AC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017D220.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017D2FC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017D404.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/Math3D_TriSetCoords.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/Math3D_IsPointInSphere.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017D668.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017D7C0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017D814.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017D91C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017DA24.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/Math3D_ColSphereLineSeg.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017DD34.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/Math3D_ColSphereTri.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017E294.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017E350.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/Math3D_ColCylinderTri.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017F1A0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/Math3D_ColSphereSphere.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/Math3D_ColSphereSphereIntersect.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/Math3D_ColSphereSphereIntersectAndDistance.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/Math3D_ColSphereCylinderDistance.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/Math3D_ColSphereCylinderDistanceAndAmount.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/Math3D_ColCylinderCylinderAmount.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/Math3D_ColCylinderCylinderAmountAndDistance.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/Math3d_ColTriTri.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017F9C0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017FA34.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017FAA8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017FB1C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_math3d/func_8017FD44.s") diff --git a/src/code/sys_math_atan.c b/src/code/sys_math_atan.c index fa3bf96576..09f355d64d 100644 --- a/src/code/sys_math_atan.c +++ b/src/code/sys_math_atan.c @@ -1,61 +1,80 @@ -#include -#include +#include "global.h" u16 sATan2Tbl[] = { - 0, 10, 20, 31, 41, 51, 61, 71, 81, 92, 102, 112, 122, 132, 143, 153, 163, 173, 183, - 194, 204, 214, 224, 234, 244, 255, 265, 275, 285, 295, 305, 316, 326, 336, 346, 356, 367, 377, - 387, 397, 407, 417, 428, 438, 448, 458, 468, 478, 489, 499, 509, 519, 529, 539, 550, 560, 570, - 580, 590, 600, 610, 621, 631, 641, 651, 661, 671, 681, 692, 702, 712, 722, 732, 742, 752, 763, - 773, 783, 793, 803, 813, 823, 833, 844, 854, 864, 874, 884, 894, 904, 914, 924, 935, 945, 955, - 965, 975, 985, 995, 1005, 1015, 1025, 1036, 1046, 1056, 1066, 1076, 1086, 1096, 1106, 1116, 1126, 1136, 1146, - 1156, 1166, 1177, 1187, 1197, 1207, 1217, 1227, 1237, 1247, 1257, 1267, 1277, 1287, 1297, 1307, 1317, 1327, 1337, - 1347, 1357, 1367, 1377, 1387, 1397, 1407, 1417, 1427, 1437, 1447, 1457, 1467, 1477, 1487, 1497, 1507, 1517, 1527, - 1537, 1547, 1557, 1567, 1577, 1587, 1597, 1607, 1617, 1627, 1637, 1646, 1656, 1666, 1676, 1686, 1696, 1706, 1716, - 1726, 1736, 1746, 1756, 1765, 1775, 1785, 1795, 1805, 1815, 1825, 1835, 1845, 1854, 1864, 1874, 1884, 1894, 1904, - 1914, 1923, 1933, 1943, 1953, 1963, 1973, 1982, 1992, 2002, 2012, 2022, 2031, 2041, 2051, 2061, 2071, 2080, 2090, - 2100, 2110, 2120, 2129, 2139, 2149, 2159, 2168, 2178, 2188, 2198, 2207, 2217, 2227, 2237, 2246, 2256, 2266, 2275, - 2285, 2295, 2305, 2314, 2324, 2334, 2343, 2353, 2363, 2372, 2382, 2392, 2401, 2411, 2421, 2430, 2440, 2450, 2459, - 2469, 2478, 2488, 2498, 2507, 2517, 2526, 2536, 2546, 2555, 2565, 2574, 2584, 2594, 2603, 2613, 2622, 2632, 2641, - 2651, 2660, 2670, 2679, 2689, 2699, 2708, 2718, 2727, 2737, 2746, 2756, 2765, 2775, 2784, 2793, 2803, 2812, 2822, - 2831, 2841, 2850, 2860, 2869, 2879, 2888, 2897, 2907, 2916, 2926, 2935, 2944, 2954, 2963, 2973, 2982, 2991, 3001, - 3010, 3019, 3029, 3038, 3047, 3057, 3066, 3075, 3085, 3094, 3103, 3113, 3122, 3131, 3141, 3150, 3159, 3168, 3178, - 3187, 3196, 3206, 3215, 3224, 3233, 3243, 3252, 3261, 3270, 3279, 3289, 3298, 3307, 3316, 3325, 3335, 3344, 3353, - 3362, 3371, 3380, 3390, 3399, 3408, 3417, 3426, 3435, 3444, 3453, 3463, 3472, 3481, 3490, 3499, 3508, 3517, 3526, - 3535, 3544, 3553, 3562, 3571, 3580, 3589, 3599, 3608, 3617, 3626, 3635, 3644, 3653, 3662, 3670, 3679, 3688, 3697, - 3706, 3715, 3724, 3733, 3742, 3751, 3760, 3769, 3778, 3787, 3796, 3804, 3813, 3822, 3831, 3840, 3849, 3858, 3867, - 3875, 3884, 3893, 3902, 3911, 3920, 3928, 3937, 3946, 3955, 3964, 3972, 3981, 3990, 3999, 4007, 4016, 4025, 4034, - 4042, 4051, 4060, 4069, 4077, 4086, 4095, 4103, 4112, 4121, 4129, 4138, 4147, 4155, 4164, 4173, 4181, 4190, 4199, - 4207, 4216, 4224, 4233, 4242, 4250, 4259, 4267, 4276, 4284, 4293, 4302, 4310, 4319, 4327, 4336, 4344, 4353, 4361, - 4370, 4378, 4387, 4395, 4404, 4412, 4421, 4429, 4438, 4446, 4454, 4463, 4471, 4480, 4488, 4497, 4505, 4513, 4522, - 4530, 4539, 4547, 4555, 4564, 4572, 4580, 4589, 4597, 4605, 4614, 4622, 4630, 4639, 4647, 4655, 4663, 4672, 4680, - 4688, 4697, 4705, 4713, 4721, 4730, 4738, 4746, 4754, 4762, 4771, 4779, 4787, 4795, 4803, 4812, 4820, 4828, 4836, - 4844, 4852, 4860, 4869, 4877, 4885, 4893, 4901, 4909, 4917, 4925, 4933, 4941, 4949, 4958, 4966, 4974, 4982, 4990, - 4998, 5006, 5014, 5022, 5030, 5038, 5046, 5054, 5062, 5070, 5078, 5086, 5094, 5101, 5109, 5117, 5125, 5133, 5141, - 5149, 5157, 5165, 5173, 5181, 5188, 5196, 5204, 5212, 5220, 5228, 5235, 5243, 5251, 5259, 5267, 5275, 5282, 5290, - 5298, 5306, 5313, 5321, 5329, 5337, 5344, 5352, 5360, 5368, 5375, 5383, 5391, 5398, 5406, 5414, 5421, 5429, 5437, - 5444, 5452, 5460, 5467, 5475, 5483, 5490, 5498, 5505, 5513, 5521, 5528, 5536, 5543, 5551, 5559, 5566, 5574, 5581, - 5589, 5596, 5604, 5611, 5619, 5626, 5634, 5641, 5649, 5656, 5664, 5671, 5679, 5686, 5694, 5701, 5708, 5716, 5723, - 5731, 5738, 5745, 5753, 5760, 5768, 5775, 5782, 5790, 5797, 5804, 5812, 5819, 5826, 5834, 5841, 5848, 5856, 5863, - 5870, 5878, 5885, 5892, 5899, 5907, 5914, 5921, 5928, 5936, 5943, 5950, 5957, 5964, 5972, 5979, 5986, 5993, 6000, - 6008, 6015, 6022, 6029, 6036, 6043, 6050, 6058, 6065, 6072, 6079, 6086, 6093, 6100, 6107, 6114, 6121, 6128, 6135, - 6142, 6150, 6157, 6164, 6171, 6178, 6185, 6192, 6199, 6206, 6213, 6220, 6227, 6234, 6240, 6247, 6254, 6261, 6268, - 6275, 6282, 6289, 6296, 6303, 6310, 6317, 6323, 6330, 6337, 6344, 6351, 6358, 6365, 6371, 6378, 6385, 6392, 6399, - 6406, 6412, 6419, 6426, 6433, 6440, 6446, 6453, 6460, 6467, 6473, 6480, 6487, 6493, 6500, 6507, 6514, 6520, 6527, - 6534, 6540, 6547, 6554, 6560, 6567, 6574, 6580, 6587, 6594, 6600, 6607, 6613, 6620, 6627, 6633, 6640, 6646, 6653, - 6660, 6666, 6673, 6679, 6686, 6692, 6699, 6705, 6712, 6718, 6725, 6731, 6738, 6744, 6751, 6757, 6764, 6770, 6777, - 6783, 6790, 6796, 6803, 6809, 6815, 6822, 6828, 6835, 6841, 6848, 6854, 6860, 6867, 6873, 6879, 6886, 6892, 6898, - 6905, 6911, 6917, 6924, 6930, 6936, 6943, 6949, 6955, 6962, 6968, 6974, 6980, 6987, 6993, 6999, 7005, 7012, 7018, - 7024, 7030, 7037, 7043, 7049, 7055, 7061, 7068, 7074, 7080, 7086, 7092, 7098, 7105, 7111, 7117, 7123, 7129, 7135, - 7141, 7147, 7154, 7160, 7166, 7172, 7178, 7184, 7190, 7196, 7202, 7208, 7214, 7220, 7226, 7232, 7238, 7244, 7250, - 7256, 7262, 7268, 7274, 7280, 7286, 7292, 7298, 7304, 7310, 7316, 7322, 7328, 7334, 7340, 7346, 7352, 7358, 7363, - 7369, 7375, 7381, 7387, 7393, 7399, 7405, 7411, 7416, 7422, 7428, 7434, 7440, 7446, 7451, 7457, 7463, 7469, 7475, - 7480, 7486, 7492, 7498, 7503, 7509, 7515, 7521, 7526, 7532, 7538, 7544, 7549, 7555, 7561, 7566, 7572, 7578, 7584, - 7589, 7595, 7601, 7606, 7612, 7618, 7623, 7629, 7635, 7640, 7646, 7651, 7657, 7663, 7668, 7674, 7679, 7685, 7691, - 7696, 7702, 7707, 7713, 7718, 7724, 7730, 7735, 7741, 7746, 7752, 7757, 7763, 7768, 7774, 7779, 7785, 7790, 7796, - 7801, 7807, 7812, 7818, 7823, 7828, 7834, 7839, 7845, 7850, 7856, 7861, 7866, 7872, 7877, 7883, 7888, 7893, 7899, - 7904, 7910, 7915, 7920, 7926, 7931, 7936, 7942, 7947, 7952, 7958, 7963, 7968, 7974, 7979, 7984, 7990, 7995, 8000, - 8005, 8011, 8016, 8021, 8026, 8032, 8037, 8042, 8047, 8053, 8058, 8063, 8068, 8074, 8079, 8084, 8089, 8094, 8100, - 8105, 8110, 8115, 8120, 8125, 8131, 8136, 8141, 8146, 8151, 8156, 8161, 8166, 8172, 8177, 8182, 8187, 8192, + 0x0, 0xA, 0x14, 0x1F, 0x29, 0x33, 0x3D, 0x47, 0x51, 0x5C, 0x66, 0x70, 0x7A, 0x84, + 0x8F, 0x99, 0xA3, 0xAD, 0xB7, 0xC2, 0xCC, 0xD6, 0xE0, 0xEA, 0xF4, 0xFF, 0x109, 0x113, + 0x11D, 0x127, 0x131, 0x13C, 0x146, 0x150, 0x15A, 0x164, 0x16F, 0x179, 0x183, 0x18D, 0x197, 0x1A1, + 0x1AC, 0x1B6, 0x1C0, 0x1CA, 0x1D4, 0x1DE, 0x1E9, 0x1F3, 0x1FD, 0x207, 0x211, 0x21B, 0x226, 0x230, + 0x23A, 0x244, 0x24E, 0x258, 0x262, 0x26D, 0x277, 0x281, 0x28B, 0x295, 0x29F, 0x2A9, 0x2B4, 0x2BE, + 0x2C8, 0x2D2, 0x2DC, 0x2E6, 0x2F0, 0x2FB, 0x305, 0x30F, 0x319, 0x323, 0x32D, 0x337, 0x341, 0x34C, + 0x356, 0x360, 0x36A, 0x374, 0x37E, 0x388, 0x392, 0x39C, 0x3A7, 0x3B1, 0x3BB, 0x3C5, 0x3CF, 0x3D9, + 0x3E3, 0x3ED, 0x3F7, 0x401, 0x40C, 0x416, 0x420, 0x42A, 0x434, 0x43E, 0x448, 0x452, 0x45C, 0x466, + 0x470, 0x47A, 0x484, 0x48E, 0x499, 0x4A3, 0x4AD, 0x4B7, 0x4C1, 0x4CB, 0x4D5, 0x4DF, 0x4E9, 0x4F3, + 0x4FD, 0x507, 0x511, 0x51B, 0x525, 0x52F, 0x539, 0x543, 0x54D, 0x557, 0x561, 0x56B, 0x575, 0x57F, + 0x589, 0x593, 0x59D, 0x5A7, 0x5B1, 0x5BB, 0x5C5, 0x5CF, 0x5D9, 0x5E3, 0x5ED, 0x5F7, 0x601, 0x60B, + 0x615, 0x61F, 0x629, 0x633, 0x63D, 0x647, 0x651, 0x65B, 0x665, 0x66E, 0x678, 0x682, 0x68C, 0x696, + 0x6A0, 0x6AA, 0x6B4, 0x6BE, 0x6C8, 0x6D2, 0x6DC, 0x6E5, 0x6EF, 0x6F9, 0x703, 0x70D, 0x717, 0x721, + 0x72B, 0x735, 0x73E, 0x748, 0x752, 0x75C, 0x766, 0x770, 0x77A, 0x783, 0x78D, 0x797, 0x7A1, 0x7AB, + 0x7B5, 0x7BE, 0x7C8, 0x7D2, 0x7DC, 0x7E6, 0x7EF, 0x7F9, 0x803, 0x80D, 0x817, 0x820, 0x82A, 0x834, + 0x83E, 0x848, 0x851, 0x85B, 0x865, 0x86F, 0x878, 0x882, 0x88C, 0x896, 0x89F, 0x8A9, 0x8B3, 0x8BD, + 0x8C6, 0x8D0, 0x8DA, 0x8E3, 0x8ED, 0x8F7, 0x901, 0x90A, 0x914, 0x91E, 0x927, 0x931, 0x93B, 0x944, + 0x94E, 0x958, 0x961, 0x96B, 0x975, 0x97E, 0x988, 0x992, 0x99B, 0x9A5, 0x9AE, 0x9B8, 0x9C2, 0x9CB, + 0x9D5, 0x9DE, 0x9E8, 0x9F2, 0x9FB, 0xA05, 0xA0E, 0xA18, 0xA22, 0xA2B, 0xA35, 0xA3E, 0xA48, 0xA51, + 0xA5B, 0xA64, 0xA6E, 0xA77, 0xA81, 0xA8B, 0xA94, 0xA9E, 0xAA7, 0xAB1, 0xABA, 0xAC4, 0xACD, 0xAD7, + 0xAE0, 0xAE9, 0xAF3, 0xAFC, 0xB06, 0xB0F, 0xB19, 0xB22, 0xB2C, 0xB35, 0xB3F, 0xB48, 0xB51, 0xB5B, + 0xB64, 0xB6E, 0xB77, 0xB80, 0xB8A, 0xB93, 0xB9D, 0xBA6, 0xBAF, 0xBB9, 0xBC2, 0xBCB, 0xBD5, 0xBDE, + 0xBE7, 0xBF1, 0xBFA, 0xC03, 0xC0D, 0xC16, 0xC1F, 0xC29, 0xC32, 0xC3B, 0xC45, 0xC4E, 0xC57, 0xC60, + 0xC6A, 0xC73, 0xC7C, 0xC86, 0xC8F, 0xC98, 0xCA1, 0xCAB, 0xCB4, 0xCBD, 0xCC6, 0xCCF, 0xCD9, 0xCE2, + 0xCEB, 0xCF4, 0xCFD, 0xD07, 0xD10, 0xD19, 0xD22, 0xD2B, 0xD34, 0xD3E, 0xD47, 0xD50, 0xD59, 0xD62, + 0xD6B, 0xD74, 0xD7D, 0xD87, 0xD90, 0xD99, 0xDA2, 0xDAB, 0xDB4, 0xDBD, 0xDC6, 0xDCF, 0xDD8, 0xDE1, + 0xDEA, 0xDF3, 0xDFC, 0xE05, 0xE0F, 0xE18, 0xE21, 0xE2A, 0xE33, 0xE3C, 0xE45, 0xE4E, 0xE56, 0xE5F, + 0xE68, 0xE71, 0xE7A, 0xE83, 0xE8C, 0xE95, 0xE9E, 0xEA7, 0xEB0, 0xEB9, 0xEC2, 0xECB, 0xED4, 0xEDC, + 0xEE5, 0xEEE, 0xEF7, 0xF00, 0xF09, 0xF12, 0xF1B, 0xF23, 0xF2C, 0xF35, 0xF3E, 0xF47, 0xF50, 0xF58, + 0xF61, 0xF6A, 0xF73, 0xF7C, 0xF84, 0xF8D, 0xF96, 0xF9F, 0xFA7, 0xFB0, 0xFB9, 0xFC2, 0xFCA, 0xFD3, + 0xFDC, 0xFE5, 0xFED, 0xFF6, 0xFFF, 0x1007, 0x1010, 0x1019, 0x1021, 0x102A, 0x1033, 0x103B, 0x1044, 0x104D, + 0x1055, 0x105E, 0x1067, 0x106F, 0x1078, 0x1080, 0x1089, 0x1092, 0x109A, 0x10A3, 0x10AB, 0x10B4, 0x10BC, 0x10C5, + 0x10CE, 0x10D6, 0x10DF, 0x10E7, 0x10F0, 0x10F8, 0x1101, 0x1109, 0x1112, 0x111A, 0x1123, 0x112B, 0x1134, 0x113C, + 0x1145, 0x114D, 0x1156, 0x115E, 0x1166, 0x116F, 0x1177, 0x1180, 0x1188, 0x1191, 0x1199, 0x11A1, 0x11AA, 0x11B2, + 0x11BB, 0x11C3, 0x11CB, 0x11D4, 0x11DC, 0x11E4, 0x11ED, 0x11F5, 0x11FD, 0x1206, 0x120E, 0x1216, 0x121F, 0x1227, + 0x122F, 0x1237, 0x1240, 0x1248, 0x1250, 0x1259, 0x1261, 0x1269, 0x1271, 0x127A, 0x1282, 0x128A, 0x1292, 0x129A, + 0x12A3, 0x12AB, 0x12B3, 0x12BB, 0x12C3, 0x12CC, 0x12D4, 0x12DC, 0x12E4, 0x12EC, 0x12F4, 0x12FC, 0x1305, 0x130D, + 0x1315, 0x131D, 0x1325, 0x132D, 0x1335, 0x133D, 0x1345, 0x134D, 0x1355, 0x135E, 0x1366, 0x136E, 0x1376, 0x137E, + 0x1386, 0x138E, 0x1396, 0x139E, 0x13A6, 0x13AE, 0x13B6, 0x13BE, 0x13C6, 0x13CE, 0x13D6, 0x13DE, 0x13E6, 0x13ED, + 0x13F5, 0x13FD, 0x1405, 0x140D, 0x1415, 0x141D, 0x1425, 0x142D, 0x1435, 0x143D, 0x1444, 0x144C, 0x1454, 0x145C, + 0x1464, 0x146C, 0x1473, 0x147B, 0x1483, 0x148B, 0x1493, 0x149B, 0x14A2, 0x14AA, 0x14B2, 0x14BA, 0x14C1, 0x14C9, + 0x14D1, 0x14D9, 0x14E0, 0x14E8, 0x14F0, 0x14F8, 0x14FF, 0x1507, 0x150F, 0x1516, 0x151E, 0x1526, 0x152D, 0x1535, + 0x153D, 0x1544, 0x154C, 0x1554, 0x155B, 0x1563, 0x156B, 0x1572, 0x157A, 0x1581, 0x1589, 0x1591, 0x1598, 0x15A0, + 0x15A7, 0x15AF, 0x15B7, 0x15BE, 0x15C6, 0x15CD, 0x15D5, 0x15DC, 0x15E4, 0x15EB, 0x15F3, 0x15FA, 0x1602, 0x1609, + 0x1611, 0x1618, 0x1620, 0x1627, 0x162F, 0x1636, 0x163E, 0x1645, 0x164C, 0x1654, 0x165B, 0x1663, 0x166A, 0x1671, + 0x1679, 0x1680, 0x1688, 0x168F, 0x1696, 0x169E, 0x16A5, 0x16AC, 0x16B4, 0x16BB, 0x16C2, 0x16CA, 0x16D1, 0x16D8, + 0x16E0, 0x16E7, 0x16EE, 0x16F6, 0x16FD, 0x1704, 0x170B, 0x1713, 0x171A, 0x1721, 0x1728, 0x1730, 0x1737, 0x173E, + 0x1745, 0x174C, 0x1754, 0x175B, 0x1762, 0x1769, 0x1770, 0x1778, 0x177F, 0x1786, 0x178D, 0x1794, 0x179B, 0x17A2, + 0x17AA, 0x17B1, 0x17B8, 0x17BF, 0x17C6, 0x17CD, 0x17D4, 0x17DB, 0x17E2, 0x17E9, 0x17F0, 0x17F7, 0x17FE, 0x1806, + 0x180D, 0x1814, 0x181B, 0x1822, 0x1829, 0x1830, 0x1837, 0x183E, 0x1845, 0x184C, 0x1853, 0x185A, 0x1860, 0x1867, + 0x186E, 0x1875, 0x187C, 0x1883, 0x188A, 0x1891, 0x1898, 0x189F, 0x18A6, 0x18AD, 0x18B3, 0x18BA, 0x18C1, 0x18C8, + 0x18CF, 0x18D6, 0x18DD, 0x18E3, 0x18EA, 0x18F1, 0x18F8, 0x18FF, 0x1906, 0x190C, 0x1913, 0x191A, 0x1921, 0x1928, + 0x192E, 0x1935, 0x193C, 0x1943, 0x1949, 0x1950, 0x1957, 0x195D, 0x1964, 0x196B, 0x1972, 0x1978, 0x197F, 0x1986, + 0x198C, 0x1993, 0x199A, 0x19A0, 0x19A7, 0x19AE, 0x19B4, 0x19BB, 0x19C2, 0x19C8, 0x19CF, 0x19D5, 0x19DC, 0x19E3, + 0x19E9, 0x19F0, 0x19F6, 0x19FD, 0x1A04, 0x1A0A, 0x1A11, 0x1A17, 0x1A1E, 0x1A24, 0x1A2B, 0x1A31, 0x1A38, 0x1A3E, + 0x1A45, 0x1A4B, 0x1A52, 0x1A58, 0x1A5F, 0x1A65, 0x1A6C, 0x1A72, 0x1A79, 0x1A7F, 0x1A86, 0x1A8C, 0x1A93, 0x1A99, + 0x1A9F, 0x1AA6, 0x1AAC, 0x1AB3, 0x1AB9, 0x1AC0, 0x1AC6, 0x1ACC, 0x1AD3, 0x1AD9, 0x1ADF, 0x1AE6, 0x1AEC, 0x1AF2, + 0x1AF9, 0x1AFF, 0x1B05, 0x1B0C, 0x1B12, 0x1B18, 0x1B1F, 0x1B25, 0x1B2B, 0x1B32, 0x1B38, 0x1B3E, 0x1B44, 0x1B4B, + 0x1B51, 0x1B57, 0x1B5D, 0x1B64, 0x1B6A, 0x1B70, 0x1B76, 0x1B7D, 0x1B83, 0x1B89, 0x1B8F, 0x1B95, 0x1B9C, 0x1BA2, + 0x1BA8, 0x1BAE, 0x1BB4, 0x1BBA, 0x1BC1, 0x1BC7, 0x1BCD, 0x1BD3, 0x1BD9, 0x1BDF, 0x1BE5, 0x1BEB, 0x1BF2, 0x1BF8, + 0x1BFE, 0x1C04, 0x1C0A, 0x1C10, 0x1C16, 0x1C1C, 0x1C22, 0x1C28, 0x1C2E, 0x1C34, 0x1C3A, 0x1C40, 0x1C46, 0x1C4C, + 0x1C52, 0x1C58, 0x1C5E, 0x1C64, 0x1C6A, 0x1C70, 0x1C76, 0x1C7C, 0x1C82, 0x1C88, 0x1C8E, 0x1C94, 0x1C9A, 0x1CA0, + 0x1CA6, 0x1CAC, 0x1CB2, 0x1CB8, 0x1CBE, 0x1CC3, 0x1CC9, 0x1CCF, 0x1CD5, 0x1CDB, 0x1CE1, 0x1CE7, 0x1CED, 0x1CF3, + 0x1CF8, 0x1CFE, 0x1D04, 0x1D0A, 0x1D10, 0x1D16, 0x1D1B, 0x1D21, 0x1D27, 0x1D2D, 0x1D33, 0x1D38, 0x1D3E, 0x1D44, + 0x1D4A, 0x1D4F, 0x1D55, 0x1D5B, 0x1D61, 0x1D66, 0x1D6C, 0x1D72, 0x1D78, 0x1D7D, 0x1D83, 0x1D89, 0x1D8E, 0x1D94, + 0x1D9A, 0x1DA0, 0x1DA5, 0x1DAB, 0x1DB1, 0x1DB6, 0x1DBC, 0x1DC2, 0x1DC7, 0x1DCD, 0x1DD3, 0x1DD8, 0x1DDE, 0x1DE3, + 0x1DE9, 0x1DEF, 0x1DF4, 0x1DFA, 0x1DFF, 0x1E05, 0x1E0B, 0x1E10, 0x1E16, 0x1E1B, 0x1E21, 0x1E26, 0x1E2C, 0x1E32, + 0x1E37, 0x1E3D, 0x1E42, 0x1E48, 0x1E4D, 0x1E53, 0x1E58, 0x1E5E, 0x1E63, 0x1E69, 0x1E6E, 0x1E74, 0x1E79, 0x1E7F, + 0x1E84, 0x1E8A, 0x1E8F, 0x1E94, 0x1E9A, 0x1E9F, 0x1EA5, 0x1EAA, 0x1EB0, 0x1EB5, 0x1EBA, 0x1EC0, 0x1EC5, 0x1ECB, + 0x1ED0, 0x1ED5, 0x1EDB, 0x1EE0, 0x1EE6, 0x1EEB, 0x1EF0, 0x1EF6, 0x1EFB, 0x1F00, 0x1F06, 0x1F0B, 0x1F10, 0x1F16, + 0x1F1B, 0x1F20, 0x1F26, 0x1F2B, 0x1F30, 0x1F36, 0x1F3B, 0x1F40, 0x1F45, 0x1F4B, 0x1F50, 0x1F55, 0x1F5A, 0x1F60, + 0x1F65, 0x1F6A, 0x1F6F, 0x1F75, 0x1F7A, 0x1F7F, 0x1F84, 0x1F8A, 0x1F8F, 0x1F94, 0x1F99, 0x1F9E, 0x1FA4, 0x1FA9, + 0x1FAE, 0x1FB3, 0x1FB8, 0x1FBD, 0x1FC3, 0x1FC8, 0x1FCD, 0x1FD2, 0x1FD7, 0x1FDC, 0x1FE1, 0x1FE6, 0x1FEC, 0x1FF1, + 0x1FF6, 0x1FFB, 0x2000, }; u16 Math_GetAtan2Tbl(f32 opposite, f32 adjacent) { diff --git a/src/code/sys_matrix.c b/src/code/sys_matrix.c index 20283638a4..cab2e563ae 100644 --- a/src/code/sys_matrix.c +++ b/src/code/sys_matrix.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" void SysMatrix_StateAlloc(GameState* gamestate) { sMatrixStack = (MtxF*)THA_AllocEndAlign16(&gamestate->heap, 0x500); @@ -17,82 +16,82 @@ void SysMatrix_StatePop(void) { sCurrentMatrix--; } -#pragma GLOBAL_ASM("./asm/non_matchings/code/sys_matrix/SysMatrix_CopyCurrentState.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/SysMatrix_CopyCurrentState.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/sys_matrix/SysMatrix_SetCurrentState.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/SysMatrix_SetCurrentState.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/sys_matrix/SysMatrix_GetCurrentState.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/SysMatrix_GetCurrentState.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/sys_matrix/SysMatrix_InsertMatrix.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/SysMatrix_InsertMatrix.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/sys_matrix/SysMatrix_InsertTranslation.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/SysMatrix_InsertTranslation.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/sys_matrix/Matrix_Scale.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/Matrix_Scale.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/sys_matrix/SysMatrix_InsertXRotation_s.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/SysMatrix_InsertXRotation_s.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/sys_matrix/SysMatrix_InsertXRotation_f.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/SysMatrix_InsertXRotation_f.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/sys_matrix/SysMatrix_RotateStateAroundXAxis.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/SysMatrix_RotateStateAroundXAxis.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/sys_matrix/SysMatrix_SetStateXRotation.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/SysMatrix_SetStateXRotation.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/sys_matrix/Matrix_RotateY.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/Matrix_RotateY.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/sys_matrix/SysMatrix_InsertYRotation_f.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/SysMatrix_InsertYRotation_f.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/sys_matrix/SysMatrix_InsertZRotation_s.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/SysMatrix_InsertZRotation_s.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/sys_matrix/SysMatrix_InsertZRotation_f.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/SysMatrix_InsertZRotation_f.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/sys_matrix/SysMatrix_InsertRotation.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/SysMatrix_InsertRotation.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/sys_matrix/SysMatrix_RotateAndTranslateState.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/SysMatrix_RotateAndTranslateState.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/sys_matrix/SysMatrix_SetStateRotationAndTranslation.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/SysMatrix_SetStateRotationAndTranslation.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/sys_matrix/SysMatrix_ToRSPMatrix.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/SysMatrix_ToRSPMatrix.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/sys_matrix/SysMatrix_GetStateAsRSPMatrix.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/SysMatrix_GetStateAsRSPMatrix.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/sys_matrix/Matrix_NewMtx.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/Matrix_NewMtx.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/sys_matrix/SysMatrix_AppendToPolyOpaDisp.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/SysMatrix_AppendToPolyOpaDisp.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/sys_matrix/SysMatrix_MultiplyVector3fByState.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/SysMatrix_MultiplyVector3fByState.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/sys_matrix/SysMatrix_GetStateTranslation.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/SysMatrix_GetStateTranslation.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/sys_matrix/SysMatrix_GetStateTranslationAndScaledX.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/SysMatrix_GetStateTranslationAndScaledX.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/sys_matrix/SysMatrix_GetStateTranslationAndScaledY.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/SysMatrix_GetStateTranslationAndScaledY.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/sys_matrix/SysMatrix_GetStateTranslationAndScaledZ.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/SysMatrix_GetStateTranslationAndScaledZ.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/sys_matrix/SysMatrix_MultiplyVector3fXZByCurrentState.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/SysMatrix_MultiplyVector3fXZByCurrentState.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/sys_matrix/Matrix_MtxFCopy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/Matrix_MtxFCopy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/sys_matrix/SysMatrix_FromRSPMatrix.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/SysMatrix_FromRSPMatrix.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/sys_matrix/SysMatrix_MultiplyVector3fByMatrix.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/SysMatrix_MultiplyVector3fByMatrix.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/sys_matrix/SysMatrix_TransposeXYZ.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/SysMatrix_TransposeXYZ.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/sys_matrix/SysMatrix_NormalizeXYZ.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/SysMatrix_NormalizeXYZ.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/sys_matrix/func_8018219C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/func_8018219C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/sys_matrix/func_801822C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/func_801822C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/sys_matrix/SysMatrix_InsertRotationAroundUnitVector_f.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/SysMatrix_InsertRotationAroundUnitVector_f.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/sys_matrix/SysMatrix_InsertRotationAroundUnitVector_s.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/SysMatrix_InsertRotationAroundUnitVector_s.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/sys_matrix/func_80182C90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/func_80182C90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/sys_matrix/func_80182CA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/func_80182CA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/sys_matrix/func_80182CBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/func_80182CBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/sys_matrix/func_80182CCC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/func_80182CCC.s") diff --git a/src/code/sys_slowly.c b/src/code/sys_slowly.c index d26eb1dd33..415d5f297e 100644 --- a/src/code/sys_slowly.c +++ b/src/code/sys_slowly.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" #define SLOWLY_STATUS_DONE (1 << 0) #define SLOWLY_STATUS_STARTED (1 << 1) diff --git a/src/code/sys_ucode.c b/src/code/sys_ucode.c new file mode 100644 index 0000000000..973606702b --- /dev/null +++ b/src/code/sys_ucode.c @@ -0,0 +1,7 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_ucode/func_80182CE0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_ucode/func_80183020.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/sys_ucode/func_80183058.s") diff --git a/src/code/title_setup.c b/src/code/title_setup.c index 0b60712199..a6ac2c64b0 100644 --- a/src/code/title_setup.c +++ b/src/code/title_setup.c @@ -1,5 +1,5 @@ -#include -#include +#include "global.h" +#include "overlays/gamestates/ovl_title/z_title.h" void TitleSetup_GameStateResetContext(void) { XREG(2) = 0; diff --git a/src/code/z_DLF.c b/src/code/z_DLF.c new file mode 100644 index 0000000000..1ae43c91d0 --- /dev/null +++ b/src/code/z_DLF.c @@ -0,0 +1,5 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_DLF/DLF_LoadGameState.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_DLF/DLF_FreeGameState.s") diff --git a/src/code/z_actor.c b/src/code/z_actor.c index 5741d2a295..778f8ad187 100644 --- a/src/code/z_actor.c +++ b/src/code/z_actor.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" void Actor_PrintLists(ActorContext* actorCtx) { ActorListEntry* actorList = &actorCtx->actorList[0]; @@ -7,14 +6,14 @@ void Actor_PrintLists(ActorContext* actorCtx) { s32 i; FaultDrawer_SetCharPad(-2, 0); - FaultDrawer_Printf(D_801DC9D0, gMaxActorId); - FaultDrawer_Printf(D_801DC9D8); + FaultDrawer_Printf("actor\n", gMaxActorId); + FaultDrawer_Printf("No. Actor Name Part SegName\n"); for (i = 0; i < ARRAY_COUNT(actorCtx->actorList); i++) { actor = actorList[i].first; while (actor != NULL) { - FaultDrawer_Printf(D_801DC9F8, i, actor, actor->id, actor->category, D_801DCA10); + FaultDrawer_Printf("%3d %08x %04x %3d %s\n", i, actor, actor->id, actor->category, ""); actor = actor->next; } } @@ -44,10 +43,10 @@ void ActorShadow_Draw(Actor* actor, Lights* lights, GlobalContext* globalCtx, Gf COMBINED); dy = CLAMP(dy, 0.0f, 150.0f); - shadowScale = 1.0f - (dy * D_801DCA14); + shadowScale = 1.0f - (dy * 0.0028571428f); if (color != NULL) { - gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, color->red, color->green, color->blue, + gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, color->r, color->g, color->b, (u8)(actor->shape.shadowAlpha * shadowScale)); } else { gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 0, 0, 0, (u8)(actor->shape.shadowAlpha * shadowScale)); @@ -60,7 +59,7 @@ void ActorShadow_Draw(Actor* actor, Lights* lights, GlobalContext* globalCtx, Gf Matrix_RotateY((f32)actor->shape.rot.y * (M_PI / 32768), MTXMODE_APPLY); } - shadowScale = 1.0f - (dy * D_801DCA14); + shadowScale = 1.0f - (dy * 0.0028571428f); shadowScale *= actor->shape.shadowScale; Matrix_Scale(shadowScale * actor->scale.x, 1.0f, shadowScale * actor->scale.z, MTXMODE_APPLY); @@ -72,7 +71,7 @@ void ActorShadow_Draw(Actor* actor, Lights* lights, GlobalContext* globalCtx, Gf } } #else -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//ActorShadow_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/ActorShadow_Draw.s") #endif /* ActorShadow_DrawCircle */ @@ -113,10 +112,10 @@ void func_800B40E0(GlobalContext* globalCtx, Light* light, MtxF* arg2, s32 arg3, OPEN_DISPS(globalCtx->state.gfxCtx); gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 0, 0, 0, - (u32)(((arg3 * D_801DCA18) > 1.0f ? 1.0f : (arg3 * D_801DCA18)) * arg4) & 0xFF); + (u32)(((arg3 * 1.3e-05f) > 1.0f ? 1.0f : (arg3 * 1.3e-05f)) * arg4) & 0xFF); sp58 = Math_FAtan2F(light->l.dir[0], light->l.dir[2]); - arg6 *= (4.5f - (light->l.dir[1] * D_801DCA1C)); + arg6 *= (4.5f - (light->l.dir[1] * 0.035f)); arg6 = (arg6 < 1.0f) ? 1.0f : arg6; SysMatrix_SetCurrentState(arg2); Matrix_RotateY(sp58, MTXMODE_APPLY); @@ -128,24 +127,24 @@ void func_800B40E0(GlobalContext* globalCtx, Light* light, MtxF* arg2, s32 arg3, CLOSE_DISPS(globalCtx->state.gfxCtx); } #else -#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B40E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B40E0.s") #endif -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B42F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B42F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B4A98.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B4A98.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B4AEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B4AEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B4B50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B4B50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B4EDC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B4EDC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B4F40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B4F40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B4F78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B4F78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B5040.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B5040.s") void Actor_TargetContextInit(TargetContext* targetCtx, Actor* actor, GlobalContext* globalCtx) { targetCtx->unk90 = NULL; @@ -159,9 +158,9 @@ void Actor_TargetContextInit(TargetContext* targetCtx, Actor* actor, GlobalConte func_800B4F78(targetCtx, actor->category, globalCtx); } -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B5208.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B5208.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B5814.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B5814.s") u32 Flags_GetSwitch(GlobalContext* globalCtx, s32 flag) { if (flag >= 0 && flag < 0x80) { @@ -253,7 +252,7 @@ void Actor_TitleCardCreate(GlobalContext* globalCtx, TitleCardContext* titleCard titleCardCtx->fadeInDelay = 0; } -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//Actor_Nop800B5E50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/Actor_Nop800B5E50.s") void Actor_TitleCardUpdate(GlobalContext* globalCtx, TitleCardContext* titleCardCtx) { if (DECR(titleCardCtx->fadeInDelay) == 0) { @@ -267,23 +266,23 @@ void Actor_TitleCardUpdate(GlobalContext* globalCtx, TitleCardContext* titleCard } } -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//Actor_TitleCardDraw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/Actor_TitleCardDraw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B6434.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B6434.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B6468.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B6468.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B6474.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B6474.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B648C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B648C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B64FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B64FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B6584.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B6584.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B6608.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B6608.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B6680.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B6680.s") void Actor_MarkForDeath(Actor* actor) { actor->draw = NULL; @@ -351,7 +350,7 @@ void Actor_InitToDefaultValues(Actor* actor, GlobalContext* globalCtx) { } } #else -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//Actor_InitToDefaultValues.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/Actor_InitToDefaultValues.s") #endif void Actor_FiniActor(Actor* actor, GlobalContext* globalCtx) { @@ -367,29 +366,23 @@ void Actor_SetMovementScale(s32 scale) { actorMovementScale = scale * 0.5f; } -#ifdef NON_MATCHING void Actor_ApplyMovement(Actor* actor) { - actor->world.pos.x += ((actor->velocity.x * actorMovementScale) + actor->colChkInfo.displacement.x); - actor->world.pos.y += ((actor->velocity.y * actorMovementScale) + actor->colChkInfo.displacement.y); - actor->world.pos.z += ((actor->velocity.z * actorMovementScale) + actor->colChkInfo.displacement.z); + f32 speedRate = actorMovementScale; + + actor->world.pos.x += ((actor->velocity.x * speedRate) + actor->colChkInfo.displacement.x); + actor->world.pos.y += ((actor->velocity.y * speedRate) + actor->colChkInfo.displacement.y); + actor->world.pos.z += ((actor->velocity.z * speedRate) + actor->colChkInfo.displacement.z); } -#else -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//Actor_ApplyMovement.asm") -#endif -#if 0 void Actor_SetVelocityYRotationAndGravity(Actor* actor) { - actor->velocity.x = actor->speedXZ * Math_SinS(actor->world.rot.x); - actor->velocity.y = actor->velocity.y + actor->gravity; - actor->velocity.z = actor->speedXZ * Math_CosS(actor->world.rot.x); + actor->velocity.x = actor->speedXZ * Math_SinS(actor->world.rot.y); + actor->velocity.z = actor->speedXZ * Math_CosS(actor->world.rot.y); + actor->velocity.y += actor->gravity; - if (actor->velocity.y < actor->minYVelocity) { - actor->velocity.y = actor->minYVelocity; + if (actor->velocity.y < actor->minVelocityY) { + actor->velocity.y = actor->minVelocityY; } } -#else -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//Actor_SetVelocityYRotationAndGravity.asm") -#endif void Actor_SetVelocityAndMoveYRotationAndGravity(Actor* actor) { Actor_SetVelocityYRotationAndGravity(actor); @@ -420,9 +413,9 @@ void Actor_SetVelocityAndMoveXYRotationReverse(Actor* actor) { Actor_ApplyMovement(actor); } -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B6C04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B6C04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B6C58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B6C58.s") s16 Actor_YawBetweenActors(Actor* from, Actor* to) { return Math_Vec3f_Yaw(&from->world.pos, &to->world.pos); @@ -483,38 +476,38 @@ f32 Actor_YDistance(Actor* actor1, Actor* actor2) { return actor2->world.pos.y - actor1->world.pos.y; } -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B6F20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B6F20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B6FC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B6FC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B7090.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B7090.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B7118.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B7118.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B7128.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B7128.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B715C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B715C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B7170.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B7170.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B71DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B71DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B7200.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B7200.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B722C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B722C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B724C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B724C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B7298.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B7298.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B72E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B72E0.s") void func_800B72F8(DynaPolyActor* dpactor, f32 a1, s16 a2) { dpactor->unk150 = a2; dpactor->unk148 += a1; } -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//Actor_IsLinkFacingActor.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/Actor_IsLinkFacingActor.s") s32 Actor_IsActorFacedByActor(Actor* actor, Actor* other, s16 tolerance) { s16 angle; @@ -548,7 +541,7 @@ s32 Actor_IsActorFacingActor(Actor* actor, Actor* other, s16 tolerance) { return 0; } -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//Actor_IsActorFacingLinkAndWithinRange.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/Actor_IsActorFacingLinkAndWithinRange.s") s32 Actor_IsActorFacingActorAndWithinRange(Actor* actor, Actor* other, f32 range, s16 tolerance) { s16 dist; @@ -562,65 +555,65 @@ s32 Actor_IsActorFacingActorAndWithinRange(Actor* actor, Actor* other, f32 range return 0; } -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B75A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B75A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B761C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B761C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B7678.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B7678.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//Actor_UpdateBgCheckInfo.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/Actor_UpdateBgCheckInfo.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B7E04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B7E04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B7FE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B7FE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B8018.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B8018.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B8050.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B8050.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B8118.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B8118.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B81E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B81E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B8214.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B8214.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B8248.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B8248.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B82EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B82EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B83BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B83BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B83F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B83F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B84D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B84D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B8500.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B8500.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B85E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B85E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B8614.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B8614.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B863C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B863C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B867C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B867C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B86C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B86C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B8708.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B8708.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B8718.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B8718.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B874C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B874C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B8804.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B8804.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B882C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B882C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B886C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B886C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B8898.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B8898.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B8934.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B8934.s") u32 Actor_HasParent(Actor* actor, GlobalContext* globalCtx) { if (actor->parent != NULL) { @@ -630,13 +623,13 @@ u32 Actor_HasParent(Actor* actor, GlobalContext* globalCtx) { } } -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B8A1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B8A1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B8B84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B8B84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B8BB0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B8BB0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B8BD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B8BD0.s") s32 Actor_HasNoParent(Actor* actor, GlobalContext* globalCtx) { if (!actor->parent) { @@ -646,92 +639,92 @@ s32 Actor_HasNoParent(Actor* actor, GlobalContext* globalCtx) { } } -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B8C20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B8C20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B8C50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B8C50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B8C78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B8C78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B8C9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B8C9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B8CEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B8CEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B8D10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B8D10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B8D50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B8D50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B8D98.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B8D98.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B8DD4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B8DD4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B8E1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B8E1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B8E58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B8E58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//Audio_PlayActorSound2.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/Audio_PlayActorSound2.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B8EF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B8EF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B8F98.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B8F98.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B8FC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B8FC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B8FE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B8FE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B9010.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B9010.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B9038.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B9038.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B9084.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B9084.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B9098.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B9098.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B90AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B90AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B90F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B90F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B9120.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B9120.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//Actor_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/Actor_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B9334.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B9334.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//Actor_UpdateActor.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/Actor_UpdateActor.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//Actor_UpdateAll.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/Actor_UpdateAll.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//Actor_DrawActor.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/Actor_DrawActor.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B9D1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B9D1C.s") void Actor_DrawAllSetup(GlobalContext* globalCtx) { globalCtx->actorCtx.undrawnActorCount = 0; globalCtx->actorCtx.unkB = 0; } -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//Actor_RecordUndrawnActor.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/Actor_RecordUndrawnActor.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B9E84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B9E84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800B9EF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800B9EF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BA2D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BA2D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BA2FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BA2FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//Actor_DrawAll.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/Actor_DrawAll.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BA6FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BA6FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BA798.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BA798.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BA8B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BA8B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BA9B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BA9B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//Actor_InsertIntoTypeList.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/Actor_InsertIntoTypeList.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//Actor_RemoveFromTypeList.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/Actor_RemoveFromTypeList.s") void Actor_FreeOverlay(ActorOverlay* entry) { void* ramAddr; @@ -753,127 +746,127 @@ void Actor_FreeOverlay(ActorOverlay* entry) { } } -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//Actor_Spawn.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/Actor_Spawn.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//Actor_LoadOverlay.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/Actor_LoadOverlay.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//Actor_SpawnAsChildAndCutscene.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/Actor_SpawnAsChildAndCutscene.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//Actor_SpawnAsChild.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/Actor_SpawnAsChild.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//Actor_SpawnTransitionActors.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/Actor_SpawnTransitionActors.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BB2D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BB2D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BB498.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BB498.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BB59C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BB59C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BB604.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BB604.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BB8EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BB8EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BBA88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BBA88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BBAC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BBAC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BBB74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BBB74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BBC20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BBC20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BBCEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BBCEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BBDAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BBDAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BBFB0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BBFB0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BC154.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BC154.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BC188.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BC188.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BC1B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BC1B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BC270.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BC270.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BC444.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BC444.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BC4EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BC4EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BC5B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BC5B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BC5EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BC5EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BC620.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BC620.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BC770.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BC770.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BC7D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BC7D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BC848.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BC848.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BC8B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BC8B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BCB50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BCB50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BCB70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BCB70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BCBF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BCBF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BCC68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BCC68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BCCDC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BCCDC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BD2B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BD2B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BD384.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BD384.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BD6B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BD6B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BD6E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BD6E4.s") // This function is very similar to OoT's func_80034A14 -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BD888.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BD888.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BD9A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BD9A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BD9E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BD9E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BDAA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BDAA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BDB6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BDB6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BDC5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BDC5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BDCF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BDCF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//Actor_Noop.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/Actor_Noop.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BDFC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BDFC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BE03C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BE03C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BE0B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BE0B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BE184.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BE184.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BE22C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BE22C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BE258.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BE258.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BE2B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BE2B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BE33C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BE33C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BE3D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BE3D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BE504.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BE504.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BE568.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BE568.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BE5CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BE5CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BE63C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BE63C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BE680.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BE680.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_actor//func_800BF7CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_actor/func_800BF7CC.s") diff --git a/src/code/z_actor_dlftbls.c b/src/code/z_actor_dlftbls.c index d63812f669..63dcc9c585 100644 --- a/src/code/z_actor_dlftbls.c +++ b/src/code/z_actor_dlftbls.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" #include "initvars.h" #define ACTOR_OVERLAY(name, allocType) \ diff --git a/src/code/code_0x800CAAD0.c b/src/code/z_bg_collect.c similarity index 92% rename from src/code/code_0x800CAAD0.c rename to src/code/z_bg_collect.c index 9c28f81f0d..29c4cf7dae 100644 --- a/src/code/code_0x800CAAD0.c +++ b/src/code/z_bg_collect.c @@ -1,9 +1,4 @@ -#include -#include - -// This file comes after z_bgcheck.c and contains functions to manage actors attached to Bg Actors. -// Perhaps it is called something like z_bgcheck_attach.c -// The functions will use the BgCheck2 prefix for now. +#include "global.h" void BgCheck2_UpdateActorPosition(CollisionContext* colCtx, s32 index, Actor* actor) { MtxF prevMatrix; diff --git a/src/code/code_0x800CAE10.c b/src/code/z_bg_item.c similarity index 97% rename from src/code/code_0x800CAE10.c rename to src/code/z_bg_item.c index 472d31b601..77cc014b44 100644 --- a/src/code/code_0x800CAE10.c +++ b/src/code/z_bg_item.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" void BcCheck3_BgActorInit(DynaPolyActor* actor, UNK_TYPE4 param_2) { actor->bgId = -1; diff --git a/src/code/z_bgcheck.c b/src/code/z_bgcheck.c index 17853d3b8a..e607b978a9 100644 --- a/src/code/z_bgcheck.c +++ b/src/code/z_bgcheck.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" void BgCheck_PolygonLinkedListNodeInit(SSNode* node, s16* polyIndex, u16 next) { node->polyId = *polyIndex; @@ -64,370 +63,370 @@ void BgCheck_CreateVertexFromVec3f(Vec3s* vertex, Vec3f* vector) { vertex->z = vector->z; } -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800BFD84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800BFD84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800BFDEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800BFDEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_PolygonGetMinY.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_PolygonGetMinY.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_PolygonGetNormal.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_PolygonGetNormal.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C0094.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C0094.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C01B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C01B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_CreateTriNormFromPolygon.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_CreateTriNormFromPolygon.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C02C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C02C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C0340.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C0340.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C0474.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C0474.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C0668.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C0668.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C06A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C06A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C074C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C074C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C07F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C07F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_PolygonCollidesWithSphere.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_PolygonCollidesWithSphere.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_ScenePolygonListsInsertSorted.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_ScenePolygonListsInsertSorted.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_ScenePolygonListsInsert.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_ScenePolygonListsInsert.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C0E74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C0E74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C10FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C10FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C1238.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C1238.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C12A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C12A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C1B68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C1B68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C1D7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C1D7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C2008.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C2008.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C20F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C20F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C2310.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C2310.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C2460.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C2460.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C2514.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C2514.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C25E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C25E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_GetPolyMinSubdivisions.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_GetPolyMinSubdivisions.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_GetPolyMaxSubdivisions.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_GetPolyMaxSubdivisions.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_GetPolyMinMaxSubdivisions.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_GetPolyMinMaxSubdivisions.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C2BE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C2BE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_SplitScenePolygonsIntoSubdivisions.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_SplitScenePolygonsIntoSubdivisions.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_GetIsDefaultSpecialScene.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_GetIsDefaultSpecialScene.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_GetSpecialSceneMaxMemory.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_GetSpecialSceneMaxMemory.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_CalcSubdivisionSize.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_CalcSubdivisionSize.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_GetSpecialSceneMaxObjects.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_GetSpecialSceneMaxObjects.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C3C00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C3C00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C3C14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C3C14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_GetActorMeshHeader.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_GetActorMeshHeader.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C3C94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C3C94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C3D50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C3D50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C3F40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C3F40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C3FA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C3FA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C4000.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C4000.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C4058.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C4058.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C40B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C40B4.s") f32 func_800C411C(CollisionContext* colCtx, CollisionPoly** arg1, s32* arg2, Actor* actor, Vec3f* pos) { return func_800C3D50(0, colCtx, 2, arg1, arg2, pos, actor, 28, 1.0f, 0); } -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C4188.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C4188.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C41E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C41E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C4240.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C4240.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C42A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C42A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C4314.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C4314.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C43CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C43CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C4488.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C4488.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C44F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C44F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C455C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C455C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C45C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C45C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C4C74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C4C74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C4CD8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C4CD8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C4D3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C4D3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C4DA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C4DA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C4E10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C4E10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C4F38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C4F38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C4F84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C4F84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C4FD4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C4FD4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C5464.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C5464.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C54AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C54AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C5538.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C5538.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C55C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C55C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C5650.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C5650.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C56E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C56E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C576C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C576C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C57F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C57F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C583C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C583C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C58C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C58C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C5954.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C5954.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C5A20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C5A20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C5A64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C5A64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_ScenePolygonListsInit.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_ScenePolygonListsInit.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_ScenePolygonListsAlloc.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_ScenePolygonListsAlloc.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C5B80.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C5B80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_ScenePolygonListsReserveNode.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_ScenePolygonListsReserveNode.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_ActorMeshParamsInit.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_ActorMeshParamsInit.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_SetActorMeshParams.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_SetActorMeshParams.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_AreActorMeshParamsEqual.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_AreActorMeshParamsEqual.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_ActorMeshPolyListsHeadsInit.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_ActorMeshPolyListsHeadsInit.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_ActorMeshPolyListsInit.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_ActorMeshPolyListsInit.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_ActorMeshVerticesIndexInit.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_ActorMeshVerticesIndexInit.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_ActorMeshWaterboxesIndexInit.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_ActorMeshWaterboxesIndexInit.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_ActorMeshInit.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_ActorMeshInit.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_ActorMeshInitFromActor.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_ActorMeshInitFromActor.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_HasActorMeshChanged.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_HasActorMeshChanged.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_PolygonsInit.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_PolygonsInit.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_PolygonsAlloc.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_PolygonsAlloc.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_VerticesInit.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_VerticesInit.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_VerticesListAlloc.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_VerticesListAlloc.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_WaterboxListInit.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_WaterboxListInit.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_WaterboxListAlloc.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_WaterboxListAlloc.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_ActorMeshUpdateParams.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_ActorMeshUpdateParams.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_IsActorMeshIndexValid.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_IsActorMeshIndexValid.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_DynaInit.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_DynaInit.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_DynaAlloc.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_DynaAlloc.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_AddActorMesh.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_AddActorMesh.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_GetActorOfMesh.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_GetActorOfMesh.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C62BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C62BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C6314.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C6314.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C636C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C636C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C63C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C63C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C641C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C641C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C6474.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C6474.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_RemoveActorMesh.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_RemoveActorMesh.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C6554.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C6554.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_CalcWaterboxDimensions.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_CalcWaterboxDimensions.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_AddActorMeshToLists.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_AddActorMeshToLists.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_ResetFlagsIfLoadedActor.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_ResetFlagsIfLoadedActor.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C756C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C756C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_UpdateAllActorMeshes.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_UpdateAllActorMeshes.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C76EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C76EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C7974.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C7974.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C7E40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C7E40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C8580.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C8580.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C87D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C87D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C8A60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C8A60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C8BD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C8BD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C8DC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C8DC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C8EEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C8EEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C90AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C90AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C921C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C921C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C9380.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C9380.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_RelocateMeshHeaderPointers.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_RelocateMeshHeaderPointers.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_RelocateMeshHeader.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_RelocateMeshHeader.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_RelocateAllMeshHeaders.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_RelocateAllMeshHeaders.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C9640.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C9640.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/BgCheck_GetPolygonAttributes.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/BgCheck_GetPolygonAttributes.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C9704.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C9704.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C9728.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C9728.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C9770.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C9770.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C97F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C97F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C9844.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C9844.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C98CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C98CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C9924.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C9924.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C99AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C99AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C99D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C99D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C99FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C99FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C9A24.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C9A24.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C9A4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C9A4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C9A7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C9A7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C9AB0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C9AB0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C9AE4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C9AE4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C9B18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C9B18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C9B40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C9B40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C9B68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C9B68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C9B90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C9B90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C9BB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C9BB8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C9BDC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C9BDC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C9C24.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C9C24.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C9C74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C9C74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C9C9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C9C9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C9CC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C9CC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C9CEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C9CEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C9D14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C9D14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C9D50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C9D50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C9D8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C9D8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C9DDC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C9DDC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C9E18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C9E18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C9E40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C9E40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C9E88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C9E88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800C9EBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800C9EBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800CA1AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800CA1AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800CA1E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800CA1E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800CA22C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800CA22C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800CA568.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800CA568.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800CA634.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800CA634.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800CA648.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800CA648.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800CA6B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800CA6B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800CA6D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800CA6D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800CA6F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800CA6F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800CA9D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800CA9D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_bgcheck/func_800CAA14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_bgcheck/func_800CAA14.s") diff --git a/src/code/z_camera.c b/src/code/z_camera.c new file mode 100644 index 0000000000..4c25024706 --- /dev/null +++ b/src/code/z_camera.c @@ -0,0 +1,373 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_fabsf.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_LengthVec3f.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CB270.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_Lerpf.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_Lerps.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CB42C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_LerpVec3f.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CB544.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CB584.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CB5DC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CB60C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CB674.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CB6C8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CB700.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CB780.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CB7CC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CB7F8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CB828.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CB854.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CB880.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CB8C8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CB8F4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CB924.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CB950.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CBA08.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CBA34.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CBA7C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CBAAC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CBAD4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CBB58.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CBB88.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CBC00.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CBC30.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CBC84.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CBFA4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CC000.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CC128.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CC1C4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CC260.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CC488.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CC56C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CC5C8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CC740.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CC7A8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CC804.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CC874.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CC938.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CC958.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CC9C0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CCCEC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CD04C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CD288.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CD2E0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CD2F0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CD3E4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CD44C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CD634.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CD6CC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CD6F8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CD834.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CDA14.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CDB6C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CDE6C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CE2B8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CE5E0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CE79C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CE930.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CEAD8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CEC38.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800CED90.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeNop.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeNORM1.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeNORM2.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeNORM3.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeNORM4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeNORM0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModePARA1.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModePARA2.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModePARA3.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModePARA4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModePARA0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeJUMP1.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeJUMP2.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeJUMP3.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeJUMP4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeJUMP0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeBATT1.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeBATT2.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeBATT3.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeBATT4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeBATT0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeKEEP1.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeKEEP2.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeKEEP3.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeKEEP4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeKEEP0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeFIXD1.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeFIXD2.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeFIXD3.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeFIXD4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeFIXD0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeSUBJ1.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeSUBJ2.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeSUBJ3.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeSUBJ4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeSUBJ0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeDATA0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeDATA1.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeDATA2.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeDATA3.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeDATA4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeUNIQ1.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeUNIQ2.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeUNIQ3.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeUNIQ4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeUNIQ5.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeUNIQ0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeUNIQ6.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeUNIQ7.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeUNIQ8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeUNIQ9.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeDEMO1.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeDEMO2.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeDEMO3.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeDEMO4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeDEMO5.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeDEMO6.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeDEMO7.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeDEMO8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeDEMO9.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeDEMO0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeSPEC0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeSPEC1.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeSPEC2.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeSPEC3.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeSPEC4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeSPEC5.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeSPEC6.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeSPEC7.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeSPEC8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ModeSPEC9.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_Alloc.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_Free.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800DDFE0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800DE0E0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800DE0EC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800DE308.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800DE324.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800DE62C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800DE840.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800DE890.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800DE954.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800DF498.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_SetMode.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800DF840.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800DF86C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800DF8EC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800DFAC8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800DFB14.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800DFC1C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800DFC40.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800DFC68.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800DFC90.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800DFCB4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800DFCDC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800DFD04.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800DFD78.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800DFEF0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800DFF18.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800DFF34.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800DFF44.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_SetFlags.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ClearFlags.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800DFFAC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800E007C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800E01AC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800E01B8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800E01DC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800E0228.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800E0238.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800E02AC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800E0308.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800E031C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800E0348.s") diff --git a/src/code/z_collision_btltbls.c b/src/code/z_collision_btltbls.c index ccd18cb459..c9f014f4f3 100644 --- a/src/code/z_collision_btltbls.c +++ b/src/code/z_collision_btltbls.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" DamageTable sDamageTablePresets[] = { { { diff --git a/src/code/z_collision_check.c b/src/code/z_collision_check.c index b2c9a1650e..5c72947d97 100644 --- a/src/code/z_collision_check.c +++ b/src/code/z_collision_check.c @@ -1,5 +1,46 @@ -#include -#include +#include "global.h" + +Vec3f D_801EDE00; +Vec3f D_801EDE10; +Vec3f D_801EDE20; +Vec3f D_801EDE30; +TriNorm D_801EDE40; +TriNorm D_801EDE78; +LineSegment D_801EDEB0; +TriNorm D_801EDEC8; +TriNorm D_801EDF00; +Vec3f D_801EDF38; +Vec3f D_801EDF48; +TriNorm D_801EDF58; +TriNorm D_801EDF90; +LineSegment D_801EDFC8; +Vec3f D_801EDFE0; +Vec3f D_801EDFF0; +TriNorm D_801EE000; +TriNorm D_801EE038; +TriNorm D_801EE070[2]; +Vec3f D_801EE0D8; +TriNorm D_801EE0E8[2]; +TriNorm D_801EE150; +TriNorm D_801EE188; +Vec3f D_801EE1C0; +Vec3f D_801EE1D0; +Vec3f D_801EE1E0; +Vec3f D_801EE1F0; +EffSparkParams D_801EE200; +TriNorm D_801EE6C8; +TriNorm D_801EE700; +EffSparkParams D_801EE738; +EffSparkParams D_801EEC00; +EffSparkParams D_801EF0C8; +TriNorm D_801EF590; +TriNorm D_801EF5C8; +TriNorm D_801EF600; +TriNorm D_801EF638; + +//! @TODO: These are fake bss symbols likely related to z_message_nes +UNK_TYPE1 D_801EF66C; +UNK_TYPE1 D_801EF66D; /** * Gets the damage and effect that should be applied for the collision between @@ -1353,38 +1394,38 @@ void CollisionCheck_BlueBlood(GlobalContext* globalCtx, Collider* collider, Vec3 D_801EEC00.position.x = v->z; D_801EEC00.particleFactor1 = 5; D_801EEC00.particleFactor2 = 5; - D_801EEC00.colorStart[0].red = 10; - D_801EEC00.colorStart[0].green = 10; - D_801EEC00.colorStart[0].blue = 200; - D_801EEC00.colorStart[0].alpha = 255; - D_801EEC00.colorStart[1].red = 0; - D_801EEC00.colorStart[1].green = 0; - D_801EEC00.colorStart[1].blue = 128; - D_801EEC00.colorStart[1].alpha = 255; - D_801EEC00.colorStart[2].red = 0; - D_801EEC00.colorStart[2].green = 0; - D_801EEC00.colorStart[2].blue = 128; - D_801EEC00.colorStart[2].alpha = 255; - D_801EEC00.colorStart[3].red = 0; - D_801EEC00.colorStart[3].green = 0; - D_801EEC00.colorStart[3].blue = 128; - D_801EEC00.colorStart[3].alpha = 255; - D_801EEC00.colorEnd[0].red = 0; - D_801EEC00.colorEnd[0].green = 0; - D_801EEC00.colorEnd[0].blue = 32; - D_801EEC00.colorEnd[0].alpha = 0; - D_801EEC00.colorEnd[1].red = 0; - D_801EEC00.colorEnd[1].green = 0; - D_801EEC00.colorEnd[1].blue = 32; - D_801EEC00.colorEnd[1].alpha = 0; - D_801EEC00.colorEnd[2].red = 0; - D_801EEC00.colorEnd[2].green = 0; - D_801EEC00.colorEnd[2].blue = 64; - D_801EEC00.colorEnd[2].alpha = 0; - D_801EEC00.colorEnd[3].red = 0; - D_801EEC00.colorEnd[3].green = 0; - D_801EEC00.colorEnd[3].blue = 64; - D_801EEC00.colorEnd[3].alpha = 0; + D_801EEC00.colorStart[0].r = 10; + D_801EEC00.colorStart[0].g = 10; + D_801EEC00.colorStart[0].b = 200; + D_801EEC00.colorStart[0].a = 255; + D_801EEC00.colorStart[1].r = 0; + D_801EEC00.colorStart[1].g = 0; + D_801EEC00.colorStart[1].b = 128; + D_801EEC00.colorStart[1].a = 255; + D_801EEC00.colorStart[2].r = 0; + D_801EEC00.colorStart[2].g = 0; + D_801EEC00.colorStart[2].b = 128; + D_801EEC00.colorStart[2].a = 255; + D_801EEC00.colorStart[3].r = 0; + D_801EEC00.colorStart[3].g = 0; + D_801EEC00.colorStart[3].b = 128; + D_801EEC00.colorStart[3].a = 255; + D_801EEC00.colorEnd[0].r = 0; + D_801EEC00.colorEnd[0].g = 0; + D_801EEC00.colorEnd[0].b = 32; + D_801EEC00.colorEnd[0].a = 0; + D_801EEC00.colorEnd[1].r = 0; + D_801EEC00.colorEnd[1].g = 0; + D_801EEC00.colorEnd[1].b = 32; + D_801EEC00.colorEnd[1].a = 0; + D_801EEC00.colorEnd[2].r = 0; + D_801EEC00.colorEnd[2].g = 0; + D_801EEC00.colorEnd[2].b = 64; + D_801EEC00.colorEnd[2].a = 0; + D_801EEC00.colorEnd[3].r = 0; + D_801EEC00.colorEnd[3].g = 0; + D_801EEC00.colorEnd[3].b = 64; + D_801EEC00.colorEnd[3].a = 0; D_801EEC00.age = 0; D_801EEC00.duration = 16; D_801EEC00.velocity = 8.0f; @@ -1393,7 +1434,7 @@ void CollisionCheck_BlueBlood(GlobalContext* globalCtx, Collider* collider, Vec3 Effect_Add(globalCtx, &effectIndex, 0, 0, 1, &D_801EEC00); } #else -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_collision_check/CollisionCheck_BlueBlood.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/CollisionCheck_BlueBlood.s") #endif /** @@ -1411,38 +1452,38 @@ void CollisionCheck_GreenBlood(GlobalContext* globalCtx, Collider* collider, Vec D_801EF0C8.position.x = v->z; D_801EF0C8.particleFactor1 = 5; D_801EF0C8.particleFactor2 = 5; - D_801EF0C8.colorStart[0].red = 10; - D_801EF0C8.colorStart[0].green = 200; - D_801EF0C8.colorStart[0].blue = 10; - D_801EF0C8.colorStart[0].alpha = 255; - D_801EF0C8.colorStart[1].red = 0; - D_801EF0C8.colorStart[1].green = 128; - D_801EF0C8.colorStart[1].blue = 0; - D_801EF0C8.colorStart[1].alpha = 255; - D_801EF0C8.colorStart[2].red = 0; - D_801EF0C8.colorStart[2].green = 128; - D_801EF0C8.colorStart[2].blue = 0; - D_801EF0C8.colorStart[2].alpha = 255; - D_801EF0C8.colorStart[3].red = 0; - D_801EF0C8.colorStart[3].green = 128; - D_801EF0C8.colorStart[3].blue = 0; - D_801EF0C8.colorStart[3].alpha = 255; - D_801EF0C8.colorEnd[0].red = 0; - D_801EF0C8.colorEnd[0].green = 32; - D_801EF0C8.colorEnd[0].blue = 0; - D_801EF0C8.colorEnd[0].alpha = 0; - D_801EF0C8.colorEnd[1].red = 0; - D_801EF0C8.colorEnd[1].green = 32; - D_801EF0C8.colorEnd[1].blue = 0; - D_801EF0C8.colorEnd[1].alpha = 0; - D_801EF0C8.colorEnd[2].red = 0; - D_801EF0C8.colorEnd[2].green = 64; - D_801EF0C8.colorEnd[2].blue = 0; - D_801EF0C8.colorEnd[2].alpha = 0; - D_801EF0C8.colorEnd[3].red = 0; - D_801EF0C8.colorEnd[3].green = 64; - D_801EF0C8.colorEnd[3].blue = 0; - D_801EF0C8.colorEnd[3].alpha = 0; + D_801EF0C8.colorStart[0].r = 10; + D_801EF0C8.colorStart[0].g = 200; + D_801EF0C8.colorStart[0].b = 10; + D_801EF0C8.colorStart[0].a = 255; + D_801EF0C8.colorStart[1].r = 0; + D_801EF0C8.colorStart[1].g = 128; + D_801EF0C8.colorStart[1].b = 0; + D_801EF0C8.colorStart[1].a = 255; + D_801EF0C8.colorStart[2].r = 0; + D_801EF0C8.colorStart[2].g = 128; + D_801EF0C8.colorStart[2].b = 0; + D_801EF0C8.colorStart[2].a = 255; + D_801EF0C8.colorStart[3].r = 0; + D_801EF0C8.colorStart[3].g = 128; + D_801EF0C8.colorStart[3].b = 0; + D_801EF0C8.colorStart[3].a = 255; + D_801EF0C8.colorEnd[0].r = 0; + D_801EF0C8.colorEnd[0].g = 32; + D_801EF0C8.colorEnd[0].b = 0; + D_801EF0C8.colorEnd[0].a = 0; + D_801EF0C8.colorEnd[1].r = 0; + D_801EF0C8.colorEnd[1].g = 32; + D_801EF0C8.colorEnd[1].b = 0; + D_801EF0C8.colorEnd[1].a = 0; + D_801EF0C8.colorEnd[2].r = 0; + D_801EF0C8.colorEnd[2].g = 64; + D_801EF0C8.colorEnd[2].b = 0; + D_801EF0C8.colorEnd[2].a = 0; + D_801EF0C8.colorEnd[3].r = 0; + D_801EF0C8.colorEnd[3].g = 64; + D_801EF0C8.colorEnd[3].b = 0; + D_801EF0C8.colorEnd[3].a = 0; D_801EF0C8.age = 0; D_801EF0C8.duration = 16; D_801EF0C8.velocity = 8.0f; @@ -1450,7 +1491,7 @@ void CollisionCheck_GreenBlood(GlobalContext* globalCtx, Collider* collider, Vec Effect_Add(globalCtx, &effectIndex, 0, 0, 1, &D_801EF0C8); } #else -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_collision_check/CollisionCheck_GreenBlood.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/CollisionCheck_GreenBlood.s") #endif /** @@ -3664,7 +3705,7 @@ void Collider_UpdateSpheres(s32 limb, ColliderJntSph* collider) { } } #else -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_collision_check/Collider_UpdateSpheres.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/Collider_UpdateSpheres.s") #endif /** @@ -3704,7 +3745,7 @@ void Collider_UpdateSphere(s32 limb, ColliderSphere* collider) { } } #else -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_collision_check/Collider_UpdateSphere.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/Collider_UpdateSphere.s") #endif /** @@ -3722,38 +3763,38 @@ void CollisionCheck_SpawnRedBlood(GlobalContext* globalCtx, Vec3f* v) { D_801EE200.position.x = v->z; D_801EE200.particleFactor1 = 5; D_801EE200.particleFactor2 = 5; - D_801EE200.colorStart[0].red = 128; - D_801EE200.colorStart[0].green = 0; - D_801EE200.colorStart[0].blue = 64; - D_801EE200.colorStart[0].alpha = 255; - D_801EE200.colorStart[1].red = 128; - D_801EE200.colorStart[1].green = 0; - D_801EE200.colorStart[1].blue = 64; - D_801EE200.colorStart[1].alpha = 255; - D_801EE200.colorStart[2].red = 255; - D_801EE200.colorStart[2].green = 128; - D_801EE200.colorStart[2].blue = 0; - D_801EE200.colorStart[2].alpha = 255; - D_801EE200.colorStart[3].red = 255; - D_801EE200.colorStart[3].green = 128; - D_801EE200.colorStart[3].blue = 0; - D_801EE200.colorStart[3].alpha = 255; - D_801EE200.colorEnd[0].red = 64; - D_801EE200.colorEnd[0].green = 0; - D_801EE200.colorEnd[0].blue = 32; - D_801EE200.colorEnd[0].alpha = 0; - D_801EE200.colorEnd[1].red = 64; - D_801EE200.colorEnd[1].green = 0; - D_801EE200.colorEnd[1].blue = 32; - D_801EE200.colorEnd[1].alpha = 0; - D_801EE200.colorEnd[2].red = 128; - D_801EE200.colorEnd[2].green = 0; - D_801EE200.colorEnd[2].blue = 64; - D_801EE200.colorEnd[2].alpha = 0; - D_801EE200.colorEnd[3].red = 128; - D_801EE200.colorEnd[3].green = 0; - D_801EE200.colorEnd[3].blue = 64; - D_801EE200.colorEnd[3].alpha = 0; + D_801EE200.colorStart[0].r = 128; + D_801EE200.colorStart[0].g = 0; + D_801EE200.colorStart[0].b = 64; + D_801EE200.colorStart[0].a = 255; + D_801EE200.colorStart[1].r = 128; + D_801EE200.colorStart[1].g = 0; + D_801EE200.colorStart[1].b = 64; + D_801EE200.colorStart[1].a = 255; + D_801EE200.colorStart[2].r = 255; + D_801EE200.colorStart[2].g = 128; + D_801EE200.colorStart[2].b = 0; + D_801EE200.colorStart[2].a = 255; + D_801EE200.colorStart[3].r = 255; + D_801EE200.colorStart[3].g = 128; + D_801EE200.colorStart[3].b = 0; + D_801EE200.colorStart[3].a = 255; + D_801EE200.colorEnd[0].r = 64; + D_801EE200.colorEnd[0].g = 0; + D_801EE200.colorEnd[0].b = 32; + D_801EE200.colorEnd[0].a = 0; + D_801EE200.colorEnd[1].r = 64; + D_801EE200.colorEnd[1].g = 0; + D_801EE200.colorEnd[1].b = 32; + D_801EE200.colorEnd[1].a = 0; + D_801EE200.colorEnd[2].r = 128; + D_801EE200.colorEnd[2].g = 0; + D_801EE200.colorEnd[2].b = 64; + D_801EE200.colorEnd[2].a = 0; + D_801EE200.colorEnd[3].r = 128; + D_801EE200.colorEnd[3].g = 0; + D_801EE200.colorEnd[3].b = 64; + D_801EE200.colorEnd[3].a = 0; D_801EE200.age = 0; D_801EE200.duration = 16; D_801EE200.velocity = 8.0f; @@ -3762,7 +3803,7 @@ void CollisionCheck_SpawnRedBlood(GlobalContext* globalCtx, Vec3f* v) { Effect_Add(globalCtx, &effectIndex, 0, 0, 1, &D_801EE200); } #else -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_collision_check/CollisionCheck_SpawnRedBlood.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/CollisionCheck_SpawnRedBlood.s") #endif /** @@ -3780,38 +3821,38 @@ void CollisionCheck_SpawnWaterDroplets(GlobalContext* globalCtx, Vec3f* v) { D_801EE738.position.x = v->z; D_801EE738.particleFactor1 = 5; D_801EE738.particleFactor2 = 5; - D_801EE738.colorStart[0].red = 255; - D_801EE738.colorStart[0].green = 255; - D_801EE738.colorStart[0].blue = 255; - D_801EE738.colorStart[0].alpha = 255; - D_801EE738.colorStart[1].red = 100; - D_801EE738.colorStart[1].green = 100; - D_801EE738.colorStart[1].blue = 100; - D_801EE738.colorStart[1].alpha = 100; - D_801EE738.colorStart[2].red = 100; - D_801EE738.colorStart[2].green = 100; - D_801EE738.colorStart[2].blue = 100; - D_801EE738.colorStart[2].alpha = 100; - D_801EE738.colorStart[3].red = 100; - D_801EE738.colorStart[3].green = 100; - D_801EE738.colorStart[3].blue = 100; - D_801EE738.colorStart[3].alpha = 100; - D_801EE738.colorEnd[0].red = 50; - D_801EE738.colorEnd[0].green = 50; - D_801EE738.colorEnd[0].blue = 50; - D_801EE738.colorEnd[0].alpha = 50; - D_801EE738.colorEnd[1].red = 50; - D_801EE738.colorEnd[1].green = 50; - D_801EE738.colorEnd[1].blue = 50; - D_801EE738.colorEnd[1].alpha = 50; - D_801EE738.colorEnd[2].red = 50; - D_801EE738.colorEnd[2].green = 50; - D_801EE738.colorEnd[2].blue = 50; - D_801EE738.colorEnd[2].alpha = 50; - D_801EE738.colorEnd[3].red = 0; - D_801EE738.colorEnd[3].green = 0; - D_801EE738.colorEnd[3].blue = 0; - D_801EE738.colorEnd[3].alpha = 0; + D_801EE738.colorStart[0].r = 255; + D_801EE738.colorStart[0].g = 255; + D_801EE738.colorStart[0].b = 255; + D_801EE738.colorStart[0].a = 255; + D_801EE738.colorStart[1].r = 100; + D_801EE738.colorStart[1].g = 100; + D_801EE738.colorStart[1].b = 100; + D_801EE738.colorStart[1].a = 100; + D_801EE738.colorStart[2].r = 100; + D_801EE738.colorStart[2].g = 100; + D_801EE738.colorStart[2].b = 100; + D_801EE738.colorStart[2].a = 100; + D_801EE738.colorStart[3].r = 100; + D_801EE738.colorStart[3].g = 100; + D_801EE738.colorStart[3].b = 100; + D_801EE738.colorStart[3].a = 100; + D_801EE738.colorEnd[0].r = 50; + D_801EE738.colorEnd[0].g = 50; + D_801EE738.colorEnd[0].b = 50; + D_801EE738.colorEnd[0].a = 50; + D_801EE738.colorEnd[1].r = 50; + D_801EE738.colorEnd[1].g = 50; + D_801EE738.colorEnd[1].b = 50; + D_801EE738.colorEnd[1].a = 50; + D_801EE738.colorEnd[2].r = 50; + D_801EE738.colorEnd[2].g = 50; + D_801EE738.colorEnd[2].b = 50; + D_801EE738.colorEnd[2].a = 50; + D_801EE738.colorEnd[3].r = 0; + D_801EE738.colorEnd[3].g = 0; + D_801EE738.colorEnd[3].b = 0; + D_801EE738.colorEnd[3].a = 0; D_801EE738.age = 0; D_801EE738.duration = 16; D_801EE738.velocity = 8.0f; @@ -3820,7 +3861,7 @@ void CollisionCheck_SpawnWaterDroplets(GlobalContext* globalCtx, Vec3f* v) { Effect_Add(globalCtx, &effectIndex, 0, 0, 1, &D_801EE738); } #else -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_collision_check/CollisionCheck_SpawnWaterDroplets.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_collision_check/CollisionCheck_SpawnWaterDroplets.s") #endif /** diff --git a/src/code/z_common_data.c b/src/code/z_common_data.c new file mode 100644 index 0000000000..d391ce1530 --- /dev/null +++ b/src/code/z_common_data.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_common_data/func_800E9360.s") diff --git a/src/code/z_construct.c b/src/code/z_construct.c new file mode 100644 index 0000000000..c88f60c099 --- /dev/null +++ b/src/code/z_construct.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_construct/nop_801AAAA0.s") diff --git a/src/code/z_debug.c b/src/code/z_debug.c new file mode 100644 index 0000000000..e6f03bb5fa --- /dev/null +++ b/src/code/z_debug.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_debug/static_context_init.s") diff --git a/src/code/z_debug_display.c b/src/code/z_debug_display.c new file mode 100644 index 0000000000..f61a90fade --- /dev/null +++ b/src/code/z_debug_display.c @@ -0,0 +1,15 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_debug_display/func_800E9470.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_debug_display/DebugDisplay_AddObject.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_debug_display/DebugDisplay_DrawObjects.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_debug_display/func_800E95F4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_debug_display/func_800E97D8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_debug_display/func_800E992C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_debug_display/func_800E99B0.s") diff --git a/src/code/z_debug_mode.c b/src/code/z_debug_mode.c new file mode 100644 index 0000000000..0682b36930 --- /dev/null +++ b/src/code/z_debug_mode.c @@ -0,0 +1,13 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_debug_mode/func_800E9C90.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_debug_mode/func_800E9CA0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_debug_mode/func_800E9CFC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_debug_mode/func_800E9DBC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_debug_mode/func_800E9E94.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_debug_mode/func_800E9F78.s") diff --git a/src/code/z_demo.c b/src/code/z_demo.c new file mode 100644 index 0000000000..72eeb742ef --- /dev/null +++ b/src/code/z_demo.c @@ -0,0 +1,99 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/Cutscene_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EA0D4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EA0EC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/Cutscene_StepCutscene1.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/Cutscene_StepCutscene2.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/Cutscene_Nop800EA210.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EA220.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EA258.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EA2B8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EA324.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EABAC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EAC08.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EAC44.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EAC94.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EAD14.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EAD48.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EAD7C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EADB0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EAECC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EAF20.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EAFE0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EB1DC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EB364.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EB4B4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EB6F8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EBB68.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EBCD0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EBD60.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EC678.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EC6D4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EC924.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800ECD7C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/Cutscene_ProcessCommands.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800ED980.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800ED9C4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EDA04.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EDA84.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EDBE0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/nop_800EDDB0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EDDBC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EDDCC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EDE34.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EDF24.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EDF78.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EE0CC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EE1D8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EE200.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EE29C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EE2F4.s") diff --git a/src/code/z_draw.c b/src/code/z_draw.c new file mode 100644 index 0000000000..b31f796b7f --- /dev/null +++ b/src/code/z_draw.c @@ -0,0 +1,49 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/GetItem_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EE364.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EE400.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EE5FC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EE7D8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EE940.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EEA48.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EEC18.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EED20.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EEE34.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EEF4C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EF054.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EF0F0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EF1F4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EF2AC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EF364.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EF4D4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EF65C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EF780.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EF89C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EF984.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EFAB8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EFBFC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_draw/func_800EFD44.s") diff --git a/src/code/z_eff_blure.c b/src/code/z_eff_blure.c index c2e28b619b..3fd45bc41f 100644 --- a/src/code/z_eff_blure.c +++ b/src/code/z_eff_blure.c @@ -1,5 +1,5 @@ -#include -#include +#include "global.h" + #ifdef NON_MATCHING void func_800A81F0(EffectBlure* this, Vec3f* p1, Vec3f* p2) { EffectBlureElement* elem; @@ -67,39 +67,39 @@ void func_800A81F0(EffectBlure* this, Vec3f* p1, Vec3f* p2) { } } #else -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_eff_blure/func_800A81F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_blure/func_800A81F0.s") #endif -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_eff_blure/func_800A8514.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_blure/func_800A8514.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_eff_blure/EffectBlure_Initcommon.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_blure/EffectBlure_Initcommon.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_eff_blure/EffectBlure_Init1.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_blure/EffectBlure_Init1.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_eff_blure/EffectBlure_Init2.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_blure/EffectBlure_Init2.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_eff_blure/EffectBlure_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_blure/EffectBlure_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_eff_blure/EffectBlure_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_blure/EffectBlure_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_eff_blure/func_800A8C78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_blure/func_800A8C78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_eff_blure/func_800A8DE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_blure/func_800A8DE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_eff_blure/func_800A92FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_blure/func_800A92FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_eff_blure/func_800A9330.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_blure/func_800A9330.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_eff_blure/func_800A9804.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_blure/func_800A9804.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_eff_blure/func_800AA190.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_blure/func_800AA190.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_eff_blure/func_800AA460.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_blure/func_800AA460.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_eff_blure/func_800AA498.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_blure/func_800AA498.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_eff_blure/func_800AA700.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_blure/func_800AA700.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_eff_blure/func_800AABE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_blure/func_800AABE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_eff_blure/EffectBlure_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_blure/EffectBlure_Draw.s") diff --git a/src/code/z_eff_footmark.c b/src/code/z_eff_footmark.c index 63b2fa4520..ba2c79f71d 100644 --- a/src/code/z_eff_footmark.c +++ b/src/code/z_eff_footmark.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" void EffFootmark_Init(GlobalContext* globalCtx) { EffFootmark* footmark; diff --git a/src/code/z_eff_shield_particle.c b/src/code/z_eff_shield_particle.c new file mode 100644 index 0000000000..29d93a7159 --- /dev/null +++ b/src/code/z_eff_shield_particle.c @@ -0,0 +1,11 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_shield_particle/EffectShieldParticle_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_shield_particle/EffectShieldParticle_Destroy.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_shield_particle/EffectShieldParticle_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_shield_particle/EffectShieldParticle_CalculateColors.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_shield_particle/EffectShieldParticle_Draw.s") diff --git a/src/code/z_eff_spark.c b/src/code/z_eff_spark.c new file mode 100644 index 0000000000..d06bc4b276 --- /dev/null +++ b/src/code/z_eff_spark.c @@ -0,0 +1,9 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_spark/EffectSpark_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_spark/EffectSpark_Destroy.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_spark/EffectSpark_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_spark/EffectSpark_Draw.s") diff --git a/src/code/z_eff_ss_dead.c b/src/code/z_eff_ss_dead.c new file mode 100644 index 0000000000..12665d6b2f --- /dev/null +++ b/src/code/z_eff_ss_dead.c @@ -0,0 +1,13 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_ss_dead/func_800AE2A0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_ss_dead/func_800AE434.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_ss_dead/func_800AE5A0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_ss_dead/func_800AE5E4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_ss_dead/func_800AE778.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_ss_dead/func_800AE8EC.s") diff --git a/src/code/z_eff_tire_mark.c b/src/code/z_eff_tire_mark.c new file mode 100644 index 0000000000..0ae14c86f7 --- /dev/null +++ b/src/code/z_eff_tire_mark.c @@ -0,0 +1,17 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_tire_mark/func_800AE930.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_tire_mark/func_800AEF44.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_tire_mark/EffectTireMark_InitParticle.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_tire_mark/EffectTireMark_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_tire_mark/EffectTireMark_Destroy.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_tire_mark/EffectTireMark_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_tire_mark/EffectTireMark_InitVertices.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eff_tire_mark/EffectTireMark_Draw.s") diff --git a/src/code/z_effect.c b/src/code/z_effect.c index be1225bb90..1c7ad38914 100644 --- a/src/code/z_effect.c +++ b/src/code/z_effect.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" EffInfo sEffInfoTable[] = { { diff --git a/src/code/z_effect_soft_sprite.c b/src/code/z_effect_soft_sprite.c index 73bd5b4bdb..0ed19c0504 100644 --- a/src/code/z_effect_soft_sprite.c +++ b/src/code/z_effect_soft_sprite.c @@ -1,10 +1,9 @@ -#include -#include +#include "global.h" void EffectSS_Init(GlobalContext* globalCtx, s32 numEntries) { u32 i; EffectSs* effectsSs; - ParticleOverlay* overlay; + EffectSsOverlay* overlay; EffectSS2Info.data_table = (EffectSs*)THA_AllocEndAlign16(&globalCtx->state.heap, numEntries * sizeof(EffectSs)); EffectSS2Info.searchIndex = 0; @@ -16,7 +15,7 @@ void EffectSS_Init(GlobalContext* globalCtx, s32 numEntries) { } overlay = &particleOverlayTable[0]; - for (i = 0; i < EFFECT_SS2_TYPE_LAST_LABEL; i++) { + for (i = 0; i < EFFECT_SS_MAX; i++) { overlay->loadedRamAddr = NULL; overlay++; } @@ -25,7 +24,7 @@ void EffectSS_Init(GlobalContext* globalCtx, s32 numEntries) { void EffectSS_Clear(GlobalContext* globalCtx) { u32 i; EffectSs* effectsSs; - ParticleOverlay* overlay; + EffectSsOverlay* overlay; void* addr; EffectSS2Info.data_table = NULL; @@ -39,7 +38,7 @@ void EffectSS_Clear(GlobalContext* globalCtx) { // Free memory from loaded particle overlays overlay = &particleOverlayTable[0]; - for (i = 0; i < EFFECT_SS2_TYPE_LAST_LABEL; i++) { + for (i = 0; i < EFFECT_SS_MAX; i++) { addr = overlay->loadedRamAddr; if (addr != NULL) { zelda_free(addr); @@ -69,7 +68,7 @@ void EffectSS_Delete(EffectSs* effectSs) { void EffectSS_ResetEntry(EffectSs* particle) { u32 i; - particle->type = EFFECT_SS2_TYPE_LAST_LABEL; + particle->type = EFFECT_SS_MAX; particle->accel.x = particle->accel.y = particle->accel.z = 0; particle->velocity.x = particle->velocity.y = particle->velocity.z = 0; particle->vec.x = particle->vec.y = particle->vec.z = 0; @@ -161,8 +160,8 @@ void EffectSS_Copy(GlobalContext* globalCtx, EffectSs* effectsSs) { void EffectSs_Spawn(GlobalContext* globalCtx, s32 type, s32 priority, void* initData) { s32 index; u32 overlaySize; - ParticleOverlay* entry = &particleOverlayTable[type]; - ParticleOverlayInfo* overlayInfo; + EffectSsOverlay* entry = &particleOverlayTable[type]; + EffectSsInit* initInfo; if (EffectSS_FindFreeSpace(priority, &index) != 0) { // Abort because we couldn't find a suitable slot to add this effect in @@ -173,7 +172,7 @@ void EffectSs_Spawn(GlobalContext* globalCtx, s32 type, s32 priority, void* init overlaySize = (u32)entry->vramEnd - (u32)entry->vramStart; if (entry->vramStart == NULL) { - overlayInfo = entry->overlayInfo; + initInfo = entry->initInfo; } else { if (entry->loadedRamAddr == NULL) { entry->loadedRamAddr = zelda_mallocR(overlaySize); @@ -185,20 +184,20 @@ void EffectSs_Spawn(GlobalContext* globalCtx, s32 type, s32 priority, void* init Load2_LoadOverlay(entry->vromStart, entry->vromEnd, entry->vramStart, entry->vramEnd, entry->loadedRamAddr); } - overlayInfo = (void*)(u32)( - entry->overlayInfo != NULL - ? (ParticleOverlayInfo*)(-((u32)entry->vramStart - (u32)entry->loadedRamAddr) + (u32)entry->overlayInfo) + initInfo = (void*)(u32)( + entry->initInfo != NULL + ? (EffectSsInit*)(-((u32)entry->vramStart - (u32)entry->loadedRamAddr) + (u32)entry->initInfo) : NULL); } - if (overlayInfo->init != NULL) { + if (initInfo->init != NULL) { // Delete the previous effect in the slot, in case the slot wasn't free EffectSS_Delete(&EffectSS2Info.data_table[index]); EffectSS2Info.data_table[index].type = type; EffectSS2Info.data_table[index].priority = priority; - if (overlayInfo->init(globalCtx, index, &EffectSS2Info.data_table[index], initData) == 0) { + if (initInfo->init(globalCtx, index, &EffectSS2Info.data_table[index], initData) == 0) { EffectSS_ResetEntry(&EffectSS2Info.data_table[index]); } } diff --git a/src/code/z_effect_soft_sprite_old_init.c b/src/code/z_effect_soft_sprite_old_init.c index af81dad413..f9abd023b5 100644 --- a/src/code/z_effect_soft_sprite_old_init.c +++ b/src/code/z_effect_soft_sprite_old_init.c @@ -1,5 +1,36 @@ -#include -#include +#include "global.h" +#include "overlays/effects/ovl_Effect_En_Ice_Block/z_eff_en_ice_block.h" +#include "overlays/effects/ovl_Effect_Ss_Blast/z_eff_ss_blast.h" +#include "overlays/effects/ovl_Effect_Ss_Bomb2/z_eff_ss_bomb2.h" +#include "overlays/effects/ovl_Effect_Ss_Bubble/z_eff_ss_bubble.h" +#include "overlays/effects/ovl_Effect_Ss_Dead_Db/z_eff_ss_dead_db.h" +#include "overlays/effects/ovl_Effect_Ss_Dead_Dd/z_eff_ss_dead_dd.h" +#include "overlays/effects/ovl_Effect_Ss_Dead_Ds/z_eff_ss_dead_ds.h" +#include "overlays/effects/ovl_Effect_Ss_Dt_Bubble/z_eff_ss_dt_bubble.h" +#include "overlays/effects/ovl_Effect_Ss_Dust/z_eff_ss_dust.h" +#include "overlays/effects/ovl_Effect_Ss_D_Fire/z_eff_ss_d_fire.h" +#include "overlays/effects/ovl_Effect_Ss_En_Fire/z_eff_ss_en_fire.h" +#include "overlays/effects/ovl_Effect_Ss_En_Ice/z_eff_ss_en_ice.h" +#include "overlays/effects/ovl_Effect_Ss_Extra/z_eff_ss_extra.h" +#include "overlays/effects/ovl_Effect_Ss_Fhg_Flash/z_eff_ss_fhg_flash.h" +#include "overlays/effects/ovl_Effect_Ss_Fire_Tail/z_eff_ss_fire_tail.h" +#include "overlays/effects/ovl_Effect_Ss_G_Fire/z_eff_ss_g_fire.h" +#include "overlays/effects/ovl_Effect_Ss_G_Ripple/z_eff_ss_g_ripple.h" +#include "overlays/effects/ovl_Effect_Ss_G_Spk/z_eff_ss_g_spk.h" +#include "overlays/effects/ovl_Effect_Ss_G_Splash/z_eff_ss_g_splash.h" +#include "overlays/effects/ovl_Effect_Ss_Hahen/z_eff_ss_hahen.h" +#include "overlays/effects/ovl_Effect_Ss_Hitmark/z_eff_ss_hitmark.h" +#include "overlays/effects/ovl_Effect_Ss_Ice_Piece/z_eff_ss_ice_piece.h" +#include "overlays/effects/ovl_Effect_Ss_Ice_Smoke/z_eff_ss_ice_smoke.h" +#include "overlays/effects/ovl_Effect_Ss_Kakera/z_eff_ss_kakera.h" +#include "overlays/effects/ovl_Effect_Ss_Kirakira/z_eff_ss_kirakira.h" +#include "overlays/effects/ovl_Effect_Ss_K_Fire/z_eff_ss_k_fire.h" +#include "overlays/effects/ovl_Effect_Ss_Lightning/z_eff_ss_lightning.h" +#include "overlays/effects/ovl_Effect_Ss_Sbn/z_eff_ss_sbn.h" +#include "overlays/effects/ovl_Effect_Ss_Sibuki/z_eff_ss_sibuki.h" +#include "overlays/effects/ovl_Effect_Ss_Solder_Srch_Ball/z_eff_ss_solder_srch_ball.h" +#include "overlays/effects/ovl_Effect_Ss_Stick/z_eff_ss_stick.h" +#include "overlays/effects/ovl_Effect_Ss_Stone1/z_eff_ss_stone1.h" void EffectSs_DrawGEffect(GlobalContext* globalCtx, EffectSs* this, void* texture) { GraphicsContext* gfxCtx = globalCtx->state.gfxCtx; @@ -14,7 +45,7 @@ void EffectSs_DrawGEffect(GlobalContext* globalCtx, EffectSs* this, void* textur OPEN_DISPS(gfxCtx); - scale = this->rgScale * D_801DC100; + scale = this->rgScale * 0.0025f; SkinMatrix_SetTranslate(&mfTrans, this->pos.x, this->pos.y, this->pos.z); SkinMatrix_SetScale(&mfScale, scale, scale, scale); SkinMatrix_MtxFMtxFMult(&mfTrans, &globalCtx->mf_187FC, &mfTrans11DA0); @@ -381,14 +412,14 @@ void EffectSsDFire_Spawn(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Math_Vec3f_Copy(&initParams.accel, accel); initParams.scale = scale; initParams.scaleStep = scaleStep; - initParams.a = alpha; + initParams.alpha = alpha; initParams.fadeDelay = fadeDelay; initParams.life = life; EffectSs_Spawn(globalCtx, EFFECT_SS_D_FIRE, 128, &initParams); } #else -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsDFire_Spawn.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsDFire_Spawn.s") #endif // EffectSsBubble Spawn Functions @@ -545,7 +576,7 @@ void EffectSsHahen_SpawnBurst(GlobalContext* globalCtx, Vec3f* pos, f32 burstSca Vec3f velocity; Vec3f accel; - accel.y = D_801DC104 * burstScale; + accel.y = -0.07f * burstScale; accel.x = accel.z = 0.0f; for (i = 0; i < count; i++) { @@ -558,7 +589,7 @@ void EffectSsHahen_SpawnBurst(GlobalContext* globalCtx, Vec3f* pos, f32 burstSca } } #else -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsHahen_SpawnBurst.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsHahen_SpawnBurst.s") #endif extern Vec3f D_801AE3E0; @@ -606,7 +637,7 @@ extern Vec3f D_801AE3F8; void EffectSsSibuki_SpawnBurst(GlobalContext* globalCtx, Vec3f* pos) { s16 i; Vec3f zeroVec = D_801AE3EC; - s16 randDirection = Rand_ZeroOne() * D_801DC108; + s16 randDirection = Rand_ZeroOne() * 1.99f; for (i = 0; i < KREG(19) + 30; i++) { EffectSsSibuki_Spawn(globalCtx, pos, &zeroVec, &zeroVec, i / (KREG(27) + 6), randDirection, KREG(18) + 40); @@ -776,7 +807,7 @@ void EffectSsIcePiece_SpawnBurst(GlobalContext* globalCtx, Vec3f* refPos, f32 sc } } #else -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsIcePiece_SpawnBurst.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsIcePiece_SpawnBurst.s") #endif // EffectSsEnIce Spawn Functions @@ -871,7 +902,7 @@ void EffectSsFireTail_SpawnFlame(GlobalContext* globalCtx, Actor* actor, Vec3f* #else void EffectSsFireTail_SpawnFlame(GlobalContext* globalCtx, Actor* actor, Vec3f* pos, f32 arg3, s16 bodyPart, f32 colorIntensity); -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsFireTail_SpawnFlame.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsFireTail_SpawnFlame.s") #endif void EffectSsFireTail_SpawnFlameOnPlayer(GlobalContext* globalCtx, f32 scale, s16 bodyPart, f32 colorIntensity) { @@ -1026,12 +1057,12 @@ void EffectSsIceSmoke_Spawn(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocit // EffectSsIceBlock Spawn Functions void EffectSsIceBlock_Spawn(GlobalContext* globalCtx, Vec3f* pos, Vec3f* velocity, Vec3f* accel, s16 scale) { - EffectSsIceBlockInitParams initParams; + EffectEnIceBlockInitParams initParams; Math_Vec3f_Copy(&initParams.pos, pos); Math_Vec3f_Copy(&initParams.velocity, velocity); Math_Vec3f_Copy(&initParams.accel, accel); initParams.scale = scale; - EffectSs_Spawn(globalCtx, EFFECT_SS_ICE_BLOCK, 128, &initParams); + EffectSs_Spawn(globalCtx, EFFECT_EN_ICE_BLOCK, 128, &initParams); } diff --git a/src/code/z_elf_message.c b/src/code/z_elf_message.c new file mode 100644 index 0000000000..a674f4564d --- /dev/null +++ b/src/code/z_elf_message.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_elf_message/func_800F05C0.s") diff --git a/src/code/code_0x800A5AC0.c b/src/code/z_en_a_keep.c similarity index 95% rename from src/code/code_0x800A5AC0.c rename to src/code/z_en_a_keep.c index 416be39f37..fbd323885f 100644 --- a/src/code/code_0x800A5AC0.c +++ b/src/code/z_en_a_keep.c @@ -1,7 +1,4 @@ -#include -#include - -// This file is most likely z_en_a_obj.c +#include "global.h" void EnAObj_Init(ActorEnAObj* this, GlobalContext* globalCtx) { ActorEnAObj* s0 = (ActorEnAObj*)this; diff --git a/src/code/z_en_item00.c b/src/code/z_en_item00.c index a6409b18d0..48ed8b7079 100644 --- a/src/code/z_en_item00.c +++ b/src/code/z_en_item00.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" #define FLAGS 0x00000000 @@ -624,7 +623,7 @@ void EnItem00_Update(Actor* thisx, GlobalContext* globalCtx) { this->actionFunc = func_800A6A40; } #else -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_en_item00/EnItem00_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_en_item00/EnItem00_Update.s") #endif void EnItem00_DrawRupee(EnItem00* this, GlobalContext* globalCtx); @@ -914,7 +913,7 @@ EnItem00* Item_DropCollectible(GlobalContext* globalCtx, Vec3f* spawnPos, u32 pa return spawnedActor; } #else -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_en_item00/Item_DropCollectible.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_en_item00/Item_DropCollectible.s") #endif #ifdef NON_MATCHING @@ -971,7 +970,7 @@ Actor* Item_DropCollectible2(GlobalContext* globalCtx, Vec3f* spawnPos, u32 para return spawnedActor; } #else -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_en_item00/Item_DropCollectible2.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_en_item00/Item_DropCollectible2.s") #endif u8 sDropTable[DROP_TABLE_SIZE * DROP_TABLE_NUMBER] = { @@ -1171,7 +1170,7 @@ void Item_DropCollectibleRandom(GlobalContext* globalCtx, Actor* fromActor, Vec3 } } #else -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_en_item00/Item_DropCollectibleRandom.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_en_item00/Item_DropCollectibleRandom.s") #endif s32 D_801AE194[32] = { ITEM00_NO_DROP, ITEM00_RUPEE_GREEN, ITEM00_RUPEE_BLUE, ITEM00_NO_DROP, diff --git a/src/code/z_eventmgr.c b/src/code/z_eventmgr.c new file mode 100644 index 0000000000..1c61431b9f --- /dev/null +++ b/src/code/z_eventmgr.c @@ -0,0 +1,51 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eventmgr/func_800F1460.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eventmgr/ActorCutscene_GetCutsceneImpl.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eventmgr/ActorCutscene_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eventmgr/func_800F15D8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eventmgr/ActorCutscene_ClearWaiting.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eventmgr/ActorCutscene_ClearNextCutscenes.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eventmgr/ActorCutscene_MarkNextCutscenes.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eventmgr/ActorCutscene_End.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eventmgr/ActorCutscene_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eventmgr/ActorCutscene_SetIntentToPlay.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eventmgr/ActorCutscene_GetCanPlayNext.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eventmgr/ActorCutscene_StartAndSetUnkLinkFields.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eventmgr/ActorCutscene_StartAndSetFlag.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eventmgr/ActorCutscene_Start.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eventmgr/ActorCutscene_Stop.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eventmgr/ActorCutscene_GetCurrentIndex.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eventmgr/ActorCutscene_GetCutscene.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eventmgr/ActorCutscene_GetAdditionalCutscene.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eventmgr/ActorCutscene_GetLength.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eventmgr/func_800F2138.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eventmgr/func_800F2178.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eventmgr/ActorCutscene_GetCurrentCamera.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eventmgr/func_800F21CC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eventmgr/func_800F22C4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_eventmgr/ActorCutscene_SetReturnCamera.s") diff --git a/src/code/z_face_reaction.c b/src/code/z_face_reaction.c new file mode 100644 index 0000000000..43f9b3ecc7 --- /dev/null +++ b/src/code/z_face_reaction.c @@ -0,0 +1,3 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_face_reaction/func_800F1250.s") diff --git a/src/code/z_fbdemo.c b/src/code/z_fbdemo.c new file mode 100644 index 0000000000..c2da6f9cef --- /dev/null +++ b/src/code/z_fbdemo.c @@ -0,0 +1,19 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fbdemo/func_80163DC0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fbdemo/func_8016418C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fbdemo/func_8016424C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fbdemo/func_801642D8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fbdemo/func_80164438.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fbdemo/func_8016454C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fbdemo/func_80164678.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fbdemo/func_801647AC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fbdemo/func_801647B8.s") diff --git a/src/code/z_fbdemo_circle.c b/src/code/z_fbdemo_circle.c new file mode 100644 index 0000000000..a822262ee0 --- /dev/null +++ b/src/code/z_fbdemo_circle.c @@ -0,0 +1,19 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fbdemo_circle/TransitionCircle_Start.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fbdemo_circle/TransitionCircle_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fbdemo_circle/TransitionCircle_Destroy.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fbdemo_circle/TransitionCircle_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fbdemo_circle/TransitionCircle_SetColor.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fbdemo_circle/TransitionCircle_SetType.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fbdemo_circle/func_80164C14.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fbdemo_circle/TransitionCircle_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fbdemo_circle/TransitionCircle_IsDone.s") diff --git a/src/code/z_fbdemo_dlftbls.c b/src/code/z_fbdemo_dlftbls.c new file mode 100644 index 0000000000..7ebce9e69e --- /dev/null +++ b/src/code/z_fbdemo_dlftbls.c @@ -0,0 +1,5 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fbdemo_dlftbls/func_80163C90.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fbdemo_dlftbls/func_80163D80.s") diff --git a/src/code/z_fbdemo_fade.c b/src/code/z_fbdemo_fade.c new file mode 100644 index 0000000000..a0d9f1eaef --- /dev/null +++ b/src/code/z_fbdemo_fade.c @@ -0,0 +1,17 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fbdemo_fade/TransitionFade_Start.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fbdemo_fade/TransitionFade_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fbdemo_fade/TransitionFade_Destroy.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fbdemo_fade/TransitionFade_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fbdemo_fade/TransitionFade_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fbdemo_fade/TransitionFade_IsDone.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fbdemo_fade/TransitionFade_SetColor.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fbdemo_fade/TransitionFade_SetType.s") diff --git a/src/code/z_fcurve_data_skelanime.c b/src/code/z_fcurve_data_skelanime.c new file mode 100644 index 0000000000..79439550d2 --- /dev/null +++ b/src/code/z_fcurve_data_skelanime.c @@ -0,0 +1,15 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fcurve_data_skelanime/func_800F2620.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fcurve_data_skelanime/func_800F2650.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fcurve_data_skelanime/func_800F26C0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fcurve_data_skelanime/func_800F26F0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fcurve_data_skelanime/func_800F2728.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fcurve_data_skelanime/func_800F29A0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fcurve_data_skelanime/func_800F2CD8.s") diff --git a/src/code/z_fireobj.c b/src/code/z_fireobj.c new file mode 100644 index 0000000000..abc78fc4d3 --- /dev/null +++ b/src/code/z_fireobj.c @@ -0,0 +1,27 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fireobj/FireObj_InitWithParams.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fireobj/FireObj_SetState.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fireobj/FireObj_SetPosition.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fireobj/FireObj_StepSize.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fireobj/FireObj_UpdateStateTransitions.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fireobj/FireObj_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fireobj/FireObj_InitLight.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fireobj/FireObj_FiniLight.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fireobj/FireObj_UpdateLight.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fireobj/FireObj_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fireobj/FireObj_Fini.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fireobj/FireObj_SetState2.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_fireobj/FireObj_Update.s") diff --git a/src/code/z_game_over.c b/src/code/z_game_over.c new file mode 100644 index 0000000000..412cb7080a --- /dev/null +++ b/src/code/z_game_over.c @@ -0,0 +1,7 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_game_over/func_801AA610.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_game_over/func_801AA624.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_game_over/func_801AA68C.s") diff --git a/src/code/z_horse.c b/src/code/z_horse.c new file mode 100644 index 0000000000..976ea29481 --- /dev/null +++ b/src/code/z_horse.c @@ -0,0 +1,21 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_horse/func_800F3940.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_horse/func_800F39B4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_horse/func_800F3A64.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_horse/func_800F3B2C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_horse/func_800F3B68.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_horse/func_800F3C44.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_horse/func_800F3ED4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_horse/func_800F40A0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_horse/func_800F415C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_horse/func_800F41E4.s") diff --git a/src/code/z_jpeg.c b/src/code/z_jpeg.c new file mode 100644 index 0000000000..395a458350 --- /dev/null +++ b/src/code/z_jpeg.c @@ -0,0 +1,11 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_jpeg/func_800F42A0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_jpeg/func_800F43BC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_jpeg/func_800F44F4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_jpeg/func_800F4540.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_jpeg/func_800F470C.s") diff --git a/src/code/z_kaleido_manager.c b/src/code/z_kaleido_manager.c new file mode 100644 index 0000000000..c79b0067f3 --- /dev/null +++ b/src/code/z_kaleido_manager.c @@ -0,0 +1,15 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kaleido_manager/D_801DF9C0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kaleido_manager/func_80163700.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kaleido_manager/func_80163758.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kaleido_manager/func_801637B4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kaleido_manager/func_80163804.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kaleido_manager/func_8016388C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kaleido_manager/func_801638D8.s") diff --git a/src/code/z_kaleido_scope_call.c b/src/code/z_kaleido_scope_call.c new file mode 100644 index 0000000000..58f30ae165 --- /dev/null +++ b/src/code/z_kaleido_scope_call.c @@ -0,0 +1,11 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kaleido_scope_call/func_801639A0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kaleido_scope_call/func_801639EC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kaleido_scope_call/func_80163A38.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kaleido_scope_call/func_80163A58.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kaleido_scope_call/func_80163C0C.s") diff --git a/src/code/z_kaleido_setup.c b/src/code/z_kaleido_setup.c new file mode 100644 index 0000000000..8065a9a6b5 --- /dev/null +++ b/src/code/z_kaleido_setup.c @@ -0,0 +1,9 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kaleido_setup/func_800F4A10.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kaleido_setup/func_800F4C0C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kaleido_setup/func_800F4E20.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kaleido_setup/func_800F4F28.s") diff --git a/src/code/z_kanfont.c b/src/code/z_kanfont.c index 01ae5d0433..48f042e994 100644 --- a/src/code/z_kanfont.c +++ b/src/code/z_kanfont.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" // stubbed in NTSC-U void Font_LoadChar(GlobalContext* globalCtx, u16 codePointIndex, s32 offset) { diff --git a/src/code/z_kankyo.c b/src/code/z_kankyo.c new file mode 100644 index 0000000000..22c96883ea --- /dev/null +++ b/src/code/z_kankyo.c @@ -0,0 +1,163 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800F5090.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800F50D4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/Kankyo_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800F5954.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800F5A8C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800F5B10.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800F5CD0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800F6834.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800F694C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800F6A04.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800F6A40.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800F6AB8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800F6B44.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800F6CEC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800F6EA4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/Kankyo_IsSceneUpsideDown.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800F6FF8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800F8554.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800F88C4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800F8970.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800F8A9C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800F8CD4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800F8D84.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800F9728.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800F9824.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FA39C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FA3C4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FA9FC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FAAB4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FAC20.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FAF74.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FB010.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FB320.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FB388.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FB758.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FB9B4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FBCBC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FBDEC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FBF3C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FC158.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FC3DC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FC444.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FC64C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FD2B4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FD538.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FD59C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FD5E0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FD654.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FD698.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/get_days_elapsed.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/reset_days_elapsed.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/get_current_day.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FD750.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FD768.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FD78C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FD858.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FD928.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FD980.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FDAF8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FDC94.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FE390.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FE3E0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FE484.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FE498.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FE4A8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FE4B8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FE590.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FE5D0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FE610.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FE620.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FE658.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FE6F8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FE778.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FE788.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FE798.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FE7A8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FE9B4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FEA50.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FEAB0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FEAC0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/func_800FEAF4.s") diff --git a/src/code/z_lib.c b/src/code/z_lib.c index c2af079321..5bc49c8aca 100644 --- a/src/code/z_lib.c +++ b/src/code/z_lib.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" void* Lib_MemCpy(void* dest, void* src, size_t size) { bcopy(src, dest, size); diff --git a/src/code/z_lifemeter.c b/src/code/z_lifemeter.c new file mode 100644 index 0000000000..ec532fc608 --- /dev/null +++ b/src/code/z_lifemeter.c @@ -0,0 +1,17 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_lifemeter/LifeMeter_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_lifemeter/LifeMeter_UpdateColors.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_lifemeter/func_80100A80.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_lifemeter/func_80100AA0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_lifemeter/func_80100AF0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_lifemeter/LifeMeter_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_lifemeter/LifeMeter_UpdateSizeAndBeep.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_lifemeter/LifeMeter_IsCritical.s") diff --git a/src/code/z_lights.c b/src/code/z_lights.c index 4822fa4370..3e2e041b33 100644 --- a/src/code/z_lights.c +++ b/src/code/z_lights.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" void Lights_PointSetInfo(LightInfo* info, s16 x, s16 y, s16 z, u8 r, u8 g, u8 b, s16 radius, s32 type) { info->type = type; @@ -407,7 +406,6 @@ void Lights_GlowCheck(GlobalContext* globalCtx) { } } -#if 1 void Lights_DrawGlow(GlobalContext* globalCtx) { Gfx* dl; LightPoint* params; @@ -452,6 +450,3 @@ void Lights_DrawGlow(GlobalContext* globalCtx) { CLOSE_DISPS(globalCtx->state.gfxCtx); } } -#else -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_lights/Lights_DrawGlow.asm") -#endif diff --git a/src/code/z_malloc.c b/src/code/z_malloc.c new file mode 100644 index 0000000000..f99519e9bb --- /dev/null +++ b/src/code/z_malloc.c @@ -0,0 +1,21 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_malloc/zelda_malloc.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_malloc/zelda_mallocR.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_malloc/zelda_realloc.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_malloc/zelda_free.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_malloc/zelda_calloc.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_malloc/MainHeap_AnalyzeArena.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_malloc/MainHeap_Check.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_malloc/MainHeap_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_malloc/MainHeap_Cleanup.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_malloc/MainHeap_IsInitialized.s") diff --git a/src/code/z_map_data.c b/src/code/z_map_data.c new file mode 100644 index 0000000000..a854a37e70 --- /dev/null +++ b/src/code/z_map_data.c @@ -0,0 +1,79 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_801094A0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_801094C8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_801094F8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_80109528.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_8010954C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_8010956C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_8010958C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_801095AC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_801095DC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_8010960C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_80109630.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_80109650.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_80109670.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_801096D4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_80109714.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_80109754.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_801097C8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_8010983C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_801098A0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_80109908.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_80109964.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_8010997C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_801099AC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_801099DC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_80109A00.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_80109A20.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_80109A40.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_80109A98.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_80109AD8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_80109B38.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_80109BA0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_80109BF4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_80109C38.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_80109CBC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_80109D40.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_80109DD8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_80109E70.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_80109EF8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_data/func_80109F78.s") diff --git a/src/code/z_map_disp.c b/src/code/z_map_disp.c new file mode 100644 index 0000000000..d1f09f440a --- /dev/null +++ b/src/code/z_map_disp.c @@ -0,0 +1,109 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80102E40.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80102E90.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80102EA4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80102EB4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80102ED0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80102EF0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80102F9C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80103090.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_801030B4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_801030F4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_801031D0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_801039EC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80103A10.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80103A58.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_8010439C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_801045AC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80104AE8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80104C80.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80104CF4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80104F34.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80105294.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80105318.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80105328.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_8010534C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_8010549C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_8010565C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80105818.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80105A40.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80105B34.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80105C40.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80105FE0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80106408.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80106450.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_801064CC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80106530.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_8010657C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80106644.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_8010683C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_801068B4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_801068D8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_801068FC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80106BEC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80106D08.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80106D5C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80107B78.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80108124.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80108558.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80108A10.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80108A64.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80108AF8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_801090B0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80109124.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_801091F0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_disp/func_80109428.s") diff --git a/src/code/z_map_exp.c b/src/code/z_map_exp.c new file mode 100644 index 0000000000..079117fd48 --- /dev/null +++ b/src/code/z_map_exp.c @@ -0,0 +1,31 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_exp/func_8010A000.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_exp/func_8010A074.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_exp/func_8010A0A4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_exp/func_8010A0F0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_exp/func_8010A164.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_exp/func_8010A194.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_exp/func_8010A208.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_exp/func_8010A238.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_exp/func_8010A2AC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_exp/func_8010A2DC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_exp/func_8010A33C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_exp/func_8010A410.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_exp/func_8010A430.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_exp/func_8010A54C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_map_exp/func_8010A580.s") diff --git a/src/code/z_message.c b/src/code/z_message.c new file mode 100644 index 0000000000..0bfbdc53d2 --- /dev/null +++ b/src/code/z_message.c @@ -0,0 +1,109 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_80147520.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_80147564.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_80147624.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_80147734.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_801477B4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_80147818.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_80147F18.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_80148558.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_80148B98.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_80148CBC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_80148D64.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_80149048.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_801491DC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_80149454.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_801496C8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_8014995C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_80149C18.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_80149EBC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_80149F74.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_8014AAD0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_8014ADBC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_8014C70C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_8014CC14.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_8014CCB4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_8014CDF0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_8014CFDC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_8014D304.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_8014D62C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_8014D7B4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_80150A84.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_80150D08.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_801514B0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_801518B0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_80151938.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_80151A68.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_80151BB4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_80151C9C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_80151DA4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_80152434.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_80152464.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_80152498.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_8015268C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_80152C64.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_80152CAC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_80152EC0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_80152FB8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_80153750.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_80153E7C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_80153EF0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_801541D4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_80156758.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_8015680C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_801586A4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/Message_Init.s") diff --git a/src/code/z_message_nes.c b/src/code/z_message_nes.c new file mode 100644 index 0000000000..4767810fb9 --- /dev/null +++ b/src/code/z_message_nes.c @@ -0,0 +1,21 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message_nes/func_801588D0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message_nes/func_80158988.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message_nes/func_80158A24.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message_nes/func_80158C04.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message_nes/func_80158D98.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message_nes/func_80158FB0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message_nes/func_8015926C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message_nes/func_80159438.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message_nes/func_8015966C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message_nes/func_8015B198.s") diff --git a/src/code/z_message_staff.c b/src/code/z_message_staff.c new file mode 100644 index 0000000000..2dd698690f --- /dev/null +++ b/src/code/z_message_staff.c @@ -0,0 +1,7 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message_staff/func_8015E750.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message_staff/func_8015E7EC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_message_staff/func_8015F8A8.s") diff --git a/src/code/z_msgevent.c b/src/code/z_msgevent.c new file mode 100644 index 0000000000..e3e45f9005 --- /dev/null +++ b/src/code/z_msgevent.c @@ -0,0 +1,105 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010A760.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010A7CC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010A814.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010A85C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010A8A4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010A8EC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010A990.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010AA54.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010AB30.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010AB94.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010AC00.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010AD24.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010ADD4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010AE48.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010AECC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010AF20.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010AF6C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010AF94.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010AFE0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010B010.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010B06C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010B0B4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010B0DC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010B108.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010B140.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010B180.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010B1BC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010B22C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010B284.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010B2C0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010B300.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010B434.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010B4A4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010B520.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010B664.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010B7A8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010B828.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010B878.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010B8E4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010BB0C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010BB6C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010BBCC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010BC28.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010BC7C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010BD48.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010BD90.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010BDDC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010BE78.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010BEBC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010BEF0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010BF24.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_msgevent/func_8010BF58.s") diff --git a/src/code/z_nmi_buff.c b/src/code/z_nmi_buff.c new file mode 100644 index 0000000000..a12fa65913 --- /dev/null +++ b/src/code/z_nmi_buff.c @@ -0,0 +1,9 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_nmi_buff/Nmi_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_nmi_buff/Nmi_SetPrenmiStart.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_nmi_buff/Nmi_GetPrenmiHasStarted.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_nmi_buff/func_8010C1B0.s") diff --git a/src/code/z_overlay.c b/src/code/z_overlay.c new file mode 100644 index 0000000000..f635331c94 --- /dev/null +++ b/src/code/z_overlay.c @@ -0,0 +1,13 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_overlay/func_801651B0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_overlay/func_80165224.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_overlay/func_80165288.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_overlay/func_8016537C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_overlay/func_80165438.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_overlay/func_80165444.s") diff --git a/src/code/z_parameter.c b/src/code/z_parameter.c new file mode 100644 index 0000000000..ec227aaa9c --- /dev/null +++ b/src/code/z_parameter.c @@ -0,0 +1,169 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_8010CB80.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_8010CD98.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_8010CFBC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_8010D2D4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_8010D480.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_8010D7D0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_8010D9F4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_8010DC58.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_8010DE38.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_8010E028.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_8010E968.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_8010E9F0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_8010EA9C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_8010EB50.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_8010EBA0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_8010EC54.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_8010EE74.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/Interface_ChangeAlpha.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_8010EF9C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_8010F0D4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_8010F1A8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80110038.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80111CB4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_801129E4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80112AF4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80112AFC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80112B40.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80112BE4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80112C0C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/Item_Give.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_801143CC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80114978.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_801149A0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80114A9C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80114B84.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80114CA0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80114E90.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80114F2C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80114FD0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80115130.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_801152B8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_801153C8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80115428.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_8011552C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_801155B4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80115764.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80115844.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80115908.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_801159c0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_801159EC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80115A14.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/Parameter_AddMagic.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80115D5C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80115DB4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80116088.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80116114.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80116348.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80116918.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80116FD8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_801170B8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80117100.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80117A20.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80117BD0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80118084.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80118890.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80118BA4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80119030.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80119610.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_8011B4E0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_8011B5C0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_8011B9E0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_8011BF70.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_8011C4C4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_8011C808.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_8011C898.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_8011CA64.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_8011E3B4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_8011E730.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_8011F0E0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80120F90.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80121064.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_801210E0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80121F94.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_parameter/func_80121FC4.s") diff --git a/src/code/z_path.c b/src/code/z_path.c new file mode 100644 index 0000000000..15d9409237 --- /dev/null +++ b/src/code/z_path.c @@ -0,0 +1,7 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_path/func_801224E0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_path/func_80122524.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_path/func_801225CC.s") diff --git a/src/code/z_play.c b/src/code/z_play.c new file mode 100644 index 0000000000..05b0c8b407 --- /dev/null +++ b/src/code/z_play.c @@ -0,0 +1,143 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80165460.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80165608.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80165630.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80165658.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_8016566C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80165690.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_801656A4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80165DB8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80165DCC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80165DF0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80165E04.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80165E1C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80165E7C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80165EC0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/D_801DFA18.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80166060.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_801660B8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/Play_Fini.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_801663C4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80166644.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_801668B4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80166968.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80166B30.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80167814.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80167DE4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80167F0C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80168090.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80168DAC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/Play_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_801690CC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80169100.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_801691F0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/Play_LoadScene.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_8016927C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_801692C4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/Play_SceneInit.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80169474.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_801694DC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/Play_GetActiveCameraIndex.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80169590.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80169600.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80169668.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/Play_GetCamera.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_8016970C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_8016981C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80169940.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80169988.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_801699D4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80169A50.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80169AC0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80169AFC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80169BC4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80169BF8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80169C64.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80169C84.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/convert_scene_number_among_shared_scenes.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80169D40.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80169DCC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80169E6C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80169ECC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80169EFC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80169F78.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80169FDC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80169FFC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/FrameAdvance_IsEnabled.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_8016A02C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_8016A0AC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_8016A168.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_8016A178.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_8016A268.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/Play_Init.s") diff --git a/src/code/z_play_hireso.c b/src/code/z_play_hireso.c new file mode 100644 index 0000000000..e429051c88 --- /dev/null +++ b/src/code/z_play_hireso.c @@ -0,0 +1,27 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play_hireso/func_8016AC10.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play_hireso/func_8016AE1C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play_hireso/func_8016B278.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play_hireso/func_8016B4B0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play_hireso/func_8016C344.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play_hireso/func_8016CD4C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play_hireso/func_8016E40C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play_hireso/func_8016EA90.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play_hireso/func_8016F1A8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play_hireso/func_8016F4EC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play_hireso/func_8016F5A8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play_hireso/func_8016FC78.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play_hireso/func_8016FC98.s") diff --git a/src/code/z_player_call.c b/src/code/z_player_call.c new file mode 100644 index 0000000000..69e2f4dae9 --- /dev/null +++ b/src/code/z_player_call.c @@ -0,0 +1,11 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_call/func_80160A90.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_call/func_80160AF8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_call/func_80160B40.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_call/func_80160B80.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_call/func_80160BC0.s") diff --git a/src/code/z_player_lib.c b/src/code/z_player_lib.c new file mode 100644 index 0000000000..c03c0dfc7c --- /dev/null +++ b/src/code/z_player_lib.c @@ -0,0 +1,205 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_801226E0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80122744.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80122760.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80122868.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_801229A0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_801229EC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_801229FC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80122BA4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80122C20.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80122D44.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80122ED8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80122EEC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80122F28.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80122F9C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80122FCC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_8012300C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_8012301C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80123140.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80123358.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_801233E4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80123420.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80123434.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80123448.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_801234B0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_801234D4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80123590.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_801235DC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_8012364C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80123810.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80123960.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_801239AC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80123AA4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80123BD4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80123C58.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80123C90.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80123D50.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80123DA4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80123DC0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80123E90.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80123F14.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80123F2C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80123F48.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80124020.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/Player_GetMask.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/Player_RemoveMask.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_8012405C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80124088.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_801240C8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_801240DC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80124110.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80124148.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80124168.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80124190.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_801241B4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_801241E0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_8012420C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_8012422C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80124258.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80124278.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_801242B4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_801242DC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80124420.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80124618.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_801246F4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80124870.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80124CC4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80124F18.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80124FF0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_801251C4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80125318.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80125340.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_8012536C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_801253A4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80125500.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80125580.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80125CE0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80125D4C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_801262C8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_801263FC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80126440.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_801265C8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_8012669C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80126808.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_8012697C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80126AB4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80126B8C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80126BD0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_801271B0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80127438.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80127488.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_8012754C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80127594.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_801278F8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80127A60.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80127B64.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80127BE8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80127DA4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80128388.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_801284A0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80128640.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80128B74.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80128BD0.s") diff --git a/src/code/z_prenmi.c b/src/code/z_prenmi.c index 19ba313a55..f0403b4f32 100644 --- a/src/code/z_prenmi.c +++ b/src/code/z_prenmi.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" void PreNMI_Stop(PreNMIContext* prenmiCtx) { prenmiCtx->state.running = 0; @@ -30,7 +29,7 @@ void PreNMI_Draw(PreNMIContext* prenmiCtx) { gDPFillRectangle(gfxCtx->polyOpa.p++, 0, prenmiCtx->timer + 100, 320 /*SCREEN_WIDTH*/ - 1, prenmiCtx->timer + 100); } #else -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_prenmi/PreNMI_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_prenmi/PreNMI_Draw.s") #endif void PreNMI_Main(PreNMIContext* prenmiCtx) { diff --git a/src/code/z_quake.c b/src/code/z_quake.c index 17c50fda2a..aabca85d52 100644 --- a/src/code/z_quake.c +++ b/src/code/z_quake.c @@ -135,7 +135,7 @@ QuakeRequest* Quake_AddImpl(Camera* camera, u32 callbackIdx) { s16 idx = Quake_GetFreeIndex(); QuakeRequest* req = &sQuakeRequest[idx]; - func_80096880(req, 0, sizeof(QuakeRequest)); // memset + __osMemset(req, 0, sizeof(QuakeRequest)); req->camera = camera; req->cameraPtrsIdx = camera->thisIdx; req->callbackIdx = callbackIdx; diff --git a/src/code/z_rcp.c b/src/code/z_rcp.c index 3c955f1559..0498885a03 100644 --- a/src/code/z_rcp.c +++ b/src/code/z_rcp.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" Gfx sSetupDL[438] = { /* 0x00 */ @@ -1235,7 +1234,7 @@ void func_8012CF0C(GraphicsContext* gfxCtx, s32 iParm2, s32 iParm3, u8 r, u8 g, gfx = graphDlEntry + 0x16; gSPDisplayList(gfx + 0, &D_0E000140); - gSPDisplayList(gfx + 1, D_801C1CA0); + gSPDisplayList(gfx + 1, &sFillSetupDL); gDPSetColorImage(gfx + 2, G_IM_FMT_RGBA, G_IM_SIZ_16b, D_801FBBCC, 0x0F000000); if (gfxCtx->zbuffer != NULL) { gDPSetDepthImage(gfx + 3, gfxCtx->zbuffer); @@ -1302,7 +1301,7 @@ void func_8012CF0C(GraphicsContext* gfxCtx, s32 iParm2, s32 iParm3, u8 r, u8 g, } } #else -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_rcp/func_8012CF0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_rcp/func_8012CF0C.s") #endif void func_8012D374(GraphicsContext* gfxCtx, u8 r, u8 g, u8 b) { diff --git a/src/code/z_room.c b/src/code/z_room.c index 08b7c7e957..0a11f83fe9 100644 --- a/src/code/z_room.c +++ b/src/code/z_room.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" void Room_nop8012D510(GlobalContext* globalCtx, Room* room, UNK_PTR param_3, UNK_TYPE1 param_4) { } @@ -44,13 +43,13 @@ void Room_DrawType0Mesh(GlobalContext* globalCtx, Room* room, u32 flags) { } } -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_room/Room_DrawType2Mesh.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_room/Room_DrawType2Mesh.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_room/func_8012DEE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_room/func_8012DEE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_room/func_8012E254.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_room/func_8012E254.s") -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_room/func_8012E32C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_room/func_8012E32C.s") void Room_DrawType1Mesh(GlobalContext* globalCtx, Room* room, u32 flags) { RoomMeshType1* mesh = &room->mesh->type1; @@ -59,7 +58,7 @@ void Room_DrawType1Mesh(GlobalContext* globalCtx, Room* room, u32 flags) { } else if (mesh->format == 2) { func_8012E32C(globalCtx, room, flags); } else { - assert_fail(D_801DDFAC, 0x3c5); + __assert("../z_room.c", 0x3c5); } } @@ -74,7 +73,7 @@ void Room_Init(GlobalContext* globalCtx, RoomContext* roomCtx) { } } -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_room/Room_AllocateAndLoad.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_room/Room_AllocateAndLoad.s") #ifdef NON_MATCHING s32 Room_StartRoomTransition(GlobalContext* globalCtx, RoomContext* roomCtx, s32 index) { @@ -87,13 +86,13 @@ s32 Room_StartRoomTransition(GlobalContext* globalCtx, RoomContext* roomCtx, s32 roomCtx->currRoom.segment = NULL; roomCtx->unk31 = 1; - size = globalCtx->roomAddrs[index].vromEnd - globalCtx->roomAddrs[index].vromStart; + size = globalCtx->roomList[index].vromEnd - globalCtx->roomList[index].vromStart; roomCtx->activeRoomVram = - (void*)((s32)roomCtx->roomMemPages[roomCtx->activeMemPage] - (size + 8) * roomCtx->activeMemPage + 8) & - 0xfffffff0; + (void*)(((s32)roomCtx->roomMemPages[roomCtx->activeMemPage] - (size + 8) * roomCtx->activeMemPage + 8) & + 0xfffffff0); osCreateMesgQueue(&roomCtx->loadQueue, roomCtx->loadMsg, 1); - DmaMgr_SendRequestImpl(&roomCtx->dmaRequest, roomCtx->activeRoomVram, globalCtx->roomAddrs[index].vromStart, + DmaMgr_SendRequestImpl(&roomCtx->dmaRequest, roomCtx->activeRoomVram, globalCtx->roomList[index].vromStart, size, 0, &roomCtx->loadQueue, NULL); roomCtx->activeMemPage ^= 1; @@ -103,7 +102,7 @@ s32 Room_StartRoomTransition(GlobalContext* globalCtx, RoomContext* roomCtx, s32 return 0; } #else -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_room/Room_StartRoomTransition.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_room/Room_StartRoomTransition.s") #endif s32 Room_HandleLoadCallbacks(GlobalContext* globalCtx, RoomContext* roomCtx) { diff --git a/src/code/z_scene.c b/src/code/z_scene.c index 9cddb50934..efaadf4bf8 100644 --- a/src/code/z_scene.c +++ b/src/code/z_scene.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" s32 Object_Spawn(ObjectContext* objectCtx, s16 id) { u32 size; diff --git a/src/code/z_scene_proc.c b/src/code/z_scene_proc.c index 2f2b3e62b7..7c77d6cd5b 100644 --- a/src/code/z_scene_proc.c +++ b/src/code/z_scene_proc.c @@ -1,10 +1,8 @@ -#include -#include +#include "global.h" -//! @TODO: Once BSS is supported, remove these from `variables.h` (because they are static), and uncomment these here. -// static s32 sMatAnimStep; -// static u32 sMatAnimFlags; -// static f32 sMatAnimAlphaRatio; +static s32 sMatAnimStep; +static u32 sMatAnimFlags; +static f32 sMatAnimAlphaRatio; // Default displaylist that sets a valid displaylist into all of the segments. static Gfx sSceneDrawDefaultDL[] = { diff --git a/src/code/z_scene_table.c b/src/code/z_scene_table.c index 6a363231a0..2eb74063e9 100644 --- a/src/code/z_scene_table.c +++ b/src/code/z_scene_table.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" #define SCENE_ENTRY(name, textId, config) \ { (u32) _##name##SegmentRomStart, (u32)_##name##SegmentRomEnd, textId, 0, config } diff --git a/src/code/z_shrink_window.c b/src/code/z_shrink_window.c new file mode 100644 index 0000000000..3b2d861144 --- /dev/null +++ b/src/code/z_shrink_window.c @@ -0,0 +1,25 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_shrink_window/ShrinkWindow_SetLetterboxTarget.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_shrink_window/ShrinkWindow_GetLetterboxTarget.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_shrink_window/ShrinkWindow_SetLetterboxMagnitude.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_shrink_window/ShrinkWindow_GetLetterboxMagnitude.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_shrink_window/ShrinkWindow_SetPillarboxTarget.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_shrink_window/ShrinkWindow_GetPillarboxTarget.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_shrink_window/ShrinkWindow_SetPillarboxMagnitude.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_shrink_window/ShrinkWindow_GetPillarboxMagnitude.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_shrink_window/ShrinkWindow_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_shrink_window/ShrinkWindow_Fini.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_shrink_window/ShrinkWindow_Step.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_shrink_window/ShrinkWindow_Draw.s") diff --git a/src/code/z_skelanime.c b/src/code/z_skelanime.c index 5dabb6a276..16428023a1 100644 --- a/src/code/z_skelanime.c +++ b/src/code/z_skelanime.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" s32 func_80136288(GlobalContext* globalCtx, SkelAnime* skelAnime); s32 func_8013631C(GlobalContext* globalCtx, SkelAnime* skelAnime); @@ -850,7 +849,7 @@ Gfx* SkelAnime_DrawSV2(GlobalContext* globalCtx, void** skeleton, Vec3s* limbDra } // Function is unused. -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_skelanime/func_80134FFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_skelanime/func_80134FFC.s") s16 func_801353D4(AnimationHeaderCommon* animationSeg) { AnimationHeaderCommon* animation = Lib_SegmentedToVirtual(animationSeg); diff --git a/src/code/z_skin.c b/src/code/z_skin.c new file mode 100644 index 0000000000..f031b007f8 --- /dev/null +++ b/src/code/z_skin.c @@ -0,0 +1,23 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin/func_80137970.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin/func_80137B34.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin/func_80137EBC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin/func_80137F58.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin/func_80138050.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin/func_80138228.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin/func_80138258.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin/func_8013828C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin/func_801382C4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin/func_80138300.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin/func_8013835C.s") diff --git a/src/code/z_skin_awb.c b/src/code/z_skin_awb.c new file mode 100644 index 0000000000..22a1c637f4 --- /dev/null +++ b/src/code/z_skin_awb.c @@ -0,0 +1,13 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_awb/func_80138410.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_awb/func_80138424.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_awb/func_8013859C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_awb/func_80138700.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_awb/func_801387D4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_awb/func_801388E4.s") diff --git a/src/code/z_skin_matrix.c b/src/code/z_skin_matrix.c index 69e6a78928..1afc9a5d57 100644 --- a/src/code/z_skin_matrix.c +++ b/src/code/z_skin_matrix.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" // clang-format off MtxF sMtxFClear = { diff --git a/src/code/z_snap.c b/src/code/z_snap.c index 3ecb266111..b6538a685f 100644 --- a/src/code/z_snap.c +++ b/src/code/z_snap.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" typedef struct { Actor actor; diff --git a/src/code/z_sram_NES.c b/src/code/z_sram_NES.c new file mode 100644 index 0000000000..689382ba95 --- /dev/null +++ b/src/code/z_sram_NES.c @@ -0,0 +1,67 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram_NES/func_80143A10.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram_NES/func_80143A54.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram_NES/func_80143AC4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram_NES/func_80143B0C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram_NES/Sram_IncrementDay.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram_NES/Sram_CalcChecksum.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram_NES/func_80144628.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram_NES/Sram_GenerateRandomSaveFields.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram_NES/func_80144890.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram_NES/func_80144968.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram_NES/func_80144A94.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram_NES/func_80144E78.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram_NES/func_8014546C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram_NES/func_80145698.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram_NES/func_801457CC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram_NES/func_80146580.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram_NES/func_80146628.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram_NES/func_80146AA0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram_NES/func_80146DF8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram_NES/func_80146E40.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram_NES/Sram_Alloc.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram_NES/func_80146EBC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram_NES/func_80146EE8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram_NES/func_80146F5C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram_NES/func_80147008.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram_NES/func_80147020.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram_NES/func_80147068.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram_NES/func_80147138.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram_NES/func_80147150.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram_NES/func_80147198.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram_NES/func_80147314.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram_NES/func_80147414.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram_NES/Sram_nop8014750C.s") diff --git a/src/code/z_sub_s.c b/src/code/z_sub_s.c new file mode 100644 index 0000000000..1ab44acc10 --- /dev/null +++ b/src/code/z_sub_s.c @@ -0,0 +1,111 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013A7C0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013A860.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013AB00.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013AD6C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013AD9C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013AED4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013AF00.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013B010.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013B0C8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013B350.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013B6B0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013B878.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013BB34.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013BB7C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013BC6C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013BD40.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013BEDC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013C068.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013C624.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013C8B8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013C964.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013CC2C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013CD64.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013CF04.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013D0E0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013D2E0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013D5E8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013D648.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013D68C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013D720.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013D768.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013D83C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013D8DC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013D924.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_ActorCategoryIterateById.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013D9C8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013DB90.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013DC40.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013DCCC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013DCE0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013DE04.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013DF3C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013E054.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013E07C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013E0A4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013E1C8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013E2D4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013E3B8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013E4B0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013E5CC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013E640.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013E748.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013E7C0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013E8F8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_sub_s/func_8013E950.s") diff --git a/src/code/z_view.c b/src/code/z_view.c index 4e247411c6..034f045b19 100644 --- a/src/code/z_view.c +++ b/src/code/z_view.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" void View_ViewportToVp(Vp* dest, Viewport* src) { s32 width = src->rightX - src->leftX; diff --git a/src/code/z_vimode.c b/src/code/z_vimode.c new file mode 100644 index 0000000000..76479a0287 --- /dev/null +++ b/src/code/z_vimode.c @@ -0,0 +1,23 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_vimode/func_80140260.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_vimode/func_8014026C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_vimode/func_80140730.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_vimode/func_80140810.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_vimode/func_80140898.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_vimode/func_80140900.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_vimode/func_8014090C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_vimode/func_80140970.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_vimode/func_80140CE0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_vimode/func_80140D04.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_vimode/func_80140D10.s") diff --git a/src/code/z_vismono.c b/src/code/z_vismono.c new file mode 100644 index 0000000000..4e02a0af2c --- /dev/null +++ b/src/code/z_vismono.c @@ -0,0 +1,13 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_vismono/func_801418B0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_vismono/func_80141900.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_vismono/func_80141924.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_vismono/func_80141C34.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_vismono/VisMono_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_vismono/func_8014204C.s") diff --git a/src/code/z_vr_box.c b/src/code/z_vr_box.c index e546b37a3d..5c00758d28 100644 --- a/src/code/z_vr_box.c +++ b/src/code/z_vr_box.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" s32 D_801C5E30[] = { 0, 0x2000, 0x4000, 0x6000, 0x8000, 0xC000 }; @@ -18,7 +17,7 @@ s16 D_801C5EC4[] = { 24, 7, 29, 28, 25, 26, 30, 10, 26, 27, 11, 30, 27, 28, 31, 11, 28, 29, 15, 31, }; -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_vr_box/func_80142440.asm") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_vr_box/func_80142440.s") void func_80143148(SkyboxContext* skyboxCtx, s32 arg1) { static struct_801C5F44 D_801C5F44[] = { @@ -36,8 +35,6 @@ void func_80143148(SkyboxContext* skyboxCtx, s32 arg1) { } } -#ifdef NON_MATCHING -// Matches besides rodata, since rodata is not merged into the asm in code files yet. void func_801431E8(GameState* gamestate, SkyboxContext* skyboxCtx, s16 skyType) { GlobalContext* globalCtx = (GlobalContext*)gamestate; u32 size; @@ -53,21 +50,21 @@ void func_801431E8(GameState* gamestate, SkyboxContext* skyboxCtx, s16 skyType) } else { // Send a DMA request for the cloudy sky texture skyboxCtx->skyboxStaticSegment[0] = &D_80025D00; - size = (u32)_vr_cloud_staticSegmentRomEnd - (u32)_vr_cloud_staticSegmentRomStart; + size = (u32)_d2_cloud_staticSegmentRomEnd - (u32)_d2_cloud_staticSegmentRomStart; offset = (void*)ALIGN8((u32)skyboxCtx->skyboxStaticSegment[0] + size); - DmaMgr_SendRequest0(skyboxCtx->skyboxStaticSegment[0], (u32)_vr_cloud_staticSegmentRomStart, size); + DmaMgr_SendRequest0(skyboxCtx->skyboxStaticSegment[0], (u32)_d2_cloud_staticSegmentRomStart, size); // Send a DMA request for the clear sky texture skyboxCtx->skyboxStaticSegment[1] = offset; - size = (u32)_vr_fine_staticSegmentRomEnd - (u32)_vr_fine_staticSegmentRomStart; + size = (u32)_d2_fine_staticSegmentRomEnd - (u32)_d2_fine_staticSegmentRomStart; offset = (void*)ALIGN8((u32)offset + size); - DmaMgr_SendRequest0(skyboxCtx->skyboxStaticSegment[1], (u32)_vr_fine_staticSegmentRomStart, size); + DmaMgr_SendRequest0(skyboxCtx->skyboxStaticSegment[1], (u32)_d2_fine_staticSegmentRomStart, size); // Send a DMA request for the skybox palette skyboxCtx->skyboxPaletteStaticSegment = offset; - size = (u32)_vr_pal_staticSegmentRomEnd - (u32)_vr_pal_staticSegmentRomStart; + size = (u32)_d2_fine_pal_staticSegmentRomEnd - (u32)_d2_fine_pal_staticSegmentRomStart; offset = (void*)ALIGN8((u32)offset + size); - DmaMgr_SendRequest0(skyboxCtx->skyboxPaletteStaticSegment, (u32)_vr_pal_staticSegmentRomStart, size); + DmaMgr_SendRequest0(skyboxCtx->skyboxPaletteStaticSegment, (u32)_d2_fine_pal_staticSegmentRomStart, size); skyboxCtx->primR = 145; skyboxCtx->primG = 120; @@ -83,9 +80,6 @@ void func_801431E8(GameState* gamestate, SkyboxContext* skyboxCtx, s16 skyType) } } } -#else -#pragma GLOBAL_ASM("./asm/non_matchings/code/z_vr_box/func_801431E8.asm") -#endif void func_80143324(GlobalContext* globalCtx, SkyboxContext* skyboxCtx, s16 skyType) { u32 size; diff --git a/src/code/z_vr_box_draw.c b/src/code/z_vr_box_draw.c new file mode 100644 index 0000000000..27142c944a --- /dev/null +++ b/src/code/z_vr_box_draw.c @@ -0,0 +1,9 @@ +#include "global.h" + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_vr_box_draw/func_801435A0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_vr_box_draw/func_80143624.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_vr_box_draw/func_80143668.s") + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_vr_box_draw/func_80143A04.s") diff --git a/src/libultra/gu/coss.c b/src/libultra/gu/coss.c index fa7a29faf0..466c36505a 100644 --- a/src/libultra/gu/coss.c +++ b/src/libultra/gu/coss.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" short coss(unsigned short x) { return sins(x + 0x4000); diff --git a/src/libultra/gu/lookat.c b/src/libultra/gu/lookat.c index 8fcfffbc84..e1c7500cf1 100644 --- a/src/libultra/gu/lookat.c +++ b/src/libultra/gu/lookat.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" void guLookAtF(f32 mf[4][4], f32 xEye, f32 yEye, f32 zEye, f32 xAt, f32 yAt, f32 zAt, f32 xUp, f32 yUp, f32 zUp) { f32 length; diff --git a/src/libultra/gu/lookathil.c b/src/libultra/gu/lookathil.c index 4da66757d4..823ff0982c 100644 --- a/src/libultra/gu/lookathil.c +++ b/src/libultra/gu/lookathil.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" #define FTOFRAC8(x) ((s32)MIN(((x) * (128.0f)), 127.0f) & 0xff) @@ -58,7 +57,7 @@ void guLookAtHiliteF(f32 mf[4][4], LookAt* l, Hilite* h, f32 xEye, f32 yEye, f32 length = sqrtf(SQ(xHilite) + SQ(yHilite) + SQ(zHilite)); - if (length > D_800992F0) { + if (length > 0.1) { length = 1.0 / length; xHilite *= length; yHilite *= length; @@ -81,7 +80,7 @@ void guLookAtHiliteF(f32 mf[4][4], LookAt* l, Hilite* h, f32 xEye, f32 yEye, f32 yHilite = yl2 + yLook; zHilite = zl2 + zLook; length = sqrtf(SQ(xHilite) + SQ(yHilite) + SQ(zHilite)); - if (length > D_800992F8) { + if (length > 0.1) { length = 1.0 / length; xHilite *= length; yHilite *= length; diff --git a/src/libultra/gu/ortho.c b/src/libultra/gu/ortho.c index 9a365d81e1..592f2995de 100644 --- a/src/libultra/gu/ortho.c +++ b/src/libultra/gu/ortho.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" void guOrthoF(float m[4][4], float l, float r, float b, float t, float n, float f, float scale) { int i; diff --git a/src/libultra/gu/perspective.c b/src/libultra/gu/perspective.c index 980dbb8925..2af2d6ac55 100644 --- a/src/libultra/gu/perspective.c +++ b/src/libultra/gu/perspective.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" void guPerspectiveF(float mf[4][4], u16* perspNorm, float fovy, float aspect, float near, float far, float scale) { float cot; diff --git a/src/libultra/gu/rotate.c b/src/libultra/gu/rotate.c index ffa82c93e6..c79c733bb1 100644 --- a/src/libultra/gu/rotate.c +++ b/src/libultra/gu/rotate.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" void guRotateF(float m[4][4], float a, float x, float y, float z) { static float D_80097F90 = 0.017453292; // TODO this is PI / 180.0, we should define pi somewhere diff --git a/src/libultra/gu/sinf.c b/src/libultra/gu/sinf.c index 7cd006e575..01923221c0 100644 --- a/src/libultra/gu/sinf.c +++ b/src/libultra/gu/sinf.c @@ -1,4 +1,4 @@ -#include +#include "math.h" static const du P[] = { { 0x3FF00000, 0x00000000 }, { 0xBFC55554, 0xBC83656D }, { 0x3F8110ED, 0x3804C2A0 }, diff --git a/src/libultra/gu/sins.c b/src/libultra/gu/sins.c index ba48dbc70a..b05b76b3c2 100644 --- a/src/libultra/gu/sins.c +++ b/src/libultra/gu/sins.c @@ -1,6 +1,81 @@ -#include +#include "math.h" -#include "sintable.h" +static s16 sintable[1024] = { + 0x0000, 0x0032, 0x0064, 0x0096, 0x00C9, 0x00FB, 0x012D, 0x0160, 0x0192, 0x01C4, 0x01F7, 0x0229, 0x025B, 0x028E, + 0x02C0, 0x02F2, 0x0324, 0x0357, 0x0389, 0x03BB, 0x03EE, 0x0420, 0x0452, 0x0484, 0x04B7, 0x04E9, 0x051B, 0x054E, + 0x0580, 0x05B2, 0x05E4, 0x0617, 0x0649, 0x067B, 0x06AD, 0x06E0, 0x0712, 0x0744, 0x0776, 0x07A9, 0x07DB, 0x080D, + 0x083F, 0x0871, 0x08A4, 0x08D6, 0x0908, 0x093A, 0x096C, 0x099F, 0x09D1, 0x0A03, 0x0A35, 0x0A67, 0x0A99, 0x0ACB, + 0x0AFE, 0x0B30, 0x0B62, 0x0B94, 0x0BC6, 0x0BF8, 0x0C2A, 0x0C5C, 0x0C8E, 0x0CC0, 0x0CF2, 0x0D25, 0x0D57, 0x0D89, + 0x0DBB, 0x0DED, 0x0E1F, 0x0E51, 0x0E83, 0x0EB5, 0x0EE7, 0x0F19, 0x0F4B, 0x0F7C, 0x0FAE, 0x0FE0, 0x1012, 0x1044, + 0x1076, 0x10A8, 0x10DA, 0x110C, 0x113E, 0x116F, 0x11A1, 0x11D3, 0x1205, 0x1237, 0x1269, 0x129A, 0x12CC, 0x12FE, + 0x1330, 0x1361, 0x1393, 0x13C5, 0x13F6, 0x1428, 0x145A, 0x148C, 0x14BD, 0x14EF, 0x1520, 0x1552, 0x1584, 0x15B5, + 0x15E7, 0x1618, 0x164A, 0x167B, 0x16AD, 0x16DF, 0x1710, 0x1741, 0x1773, 0x17A4, 0x17D6, 0x1807, 0x1839, 0x186A, + 0x189B, 0x18CD, 0x18FE, 0x1930, 0x1961, 0x1992, 0x19C3, 0x19F5, 0x1A26, 0x1A57, 0x1A88, 0x1ABA, 0x1AEB, 0x1B1C, + 0x1B4D, 0x1B7E, 0x1BAF, 0x1BE1, 0x1C12, 0x1C43, 0x1C74, 0x1CA5, 0x1CD6, 0x1D07, 0x1D38, 0x1D69, 0x1D9A, 0x1DCB, + 0x1DFC, 0x1E2D, 0x1E5D, 0x1E8E, 0x1EBF, 0x1EF0, 0x1F21, 0x1F52, 0x1F82, 0x1FB3, 0x1FE4, 0x2015, 0x2045, 0x2076, + 0x20A7, 0x20D7, 0x2108, 0x2139, 0x2169, 0x219A, 0x21CA, 0x21FB, 0x222B, 0x225C, 0x228C, 0x22BD, 0x22ED, 0x231D, + 0x234E, 0x237E, 0x23AE, 0x23DF, 0x240F, 0x243F, 0x2470, 0x24A0, 0x24D0, 0x2500, 0x2530, 0x2560, 0x2591, 0x25C1, + 0x25F1, 0x2621, 0x2651, 0x2681, 0x26B1, 0x26E1, 0x2711, 0x2740, 0x2770, 0x27A0, 0x27D0, 0x2800, 0x2830, 0x285F, + 0x288F, 0x28BF, 0x28EE, 0x291E, 0x294E, 0x297D, 0x29AD, 0x29DD, 0x2A0C, 0x2A3C, 0x2A6B, 0x2A9B, 0x2ACA, 0x2AF9, + 0x2B29, 0x2B58, 0x2B87, 0x2BB7, 0x2BE6, 0x2C15, 0x2C44, 0x2C74, 0x2CA3, 0x2CD2, 0x2D01, 0x2D30, 0x2D5F, 0x2D8E, + 0x2DBD, 0x2DEC, 0x2E1B, 0x2E4A, 0x2E79, 0x2EA8, 0x2ED7, 0x2F06, 0x2F34, 0x2F63, 0x2F92, 0x2FC0, 0x2FEF, 0x301E, + 0x304C, 0x307B, 0x30A9, 0x30D8, 0x3107, 0x3135, 0x3163, 0x3192, 0x31C0, 0x31EF, 0x321D, 0x324B, 0x3279, 0x32A8, + 0x32D6, 0x3304, 0x3332, 0x3360, 0x338E, 0x33BC, 0x33EA, 0x3418, 0x3446, 0x3474, 0x34A2, 0x34D0, 0x34FE, 0x352B, + 0x3559, 0x3587, 0x35B5, 0x35E2, 0x3610, 0x363D, 0x366B, 0x3698, 0x36C6, 0x36F3, 0x3721, 0x374E, 0x377C, 0x37A9, + 0x37D6, 0x3803, 0x3831, 0x385E, 0x388B, 0x38B8, 0x38E5, 0x3912, 0x393F, 0x396C, 0x3999, 0x39C6, 0x39F3, 0x3A20, + 0x3A4D, 0x3A79, 0x3AA6, 0x3AD3, 0x3B00, 0x3B2C, 0x3B59, 0x3B85, 0x3BB2, 0x3BDE, 0x3C0B, 0x3C37, 0x3C64, 0x3C90, + 0x3CBC, 0x3CE9, 0x3D15, 0x3D41, 0x3D6D, 0x3D99, 0x3DC5, 0x3DF1, 0x3E1D, 0x3E49, 0x3E75, 0x3EA1, 0x3ECD, 0x3EF9, + 0x3F25, 0x3F50, 0x3F7C, 0x3FA8, 0x3FD3, 0x3FFF, 0x402B, 0x4056, 0x4082, 0x40AD, 0x40D8, 0x4104, 0x412F, 0x415A, + 0x4186, 0x41B1, 0x41DC, 0x4207, 0x4232, 0x425D, 0x4288, 0x42B3, 0x42DE, 0x4309, 0x4334, 0x435F, 0x4389, 0x43B4, + 0x43DF, 0x4409, 0x4434, 0x445F, 0x4489, 0x44B4, 0x44DE, 0x4508, 0x4533, 0x455D, 0x4587, 0x45B1, 0x45DC, 0x4606, + 0x4630, 0x465A, 0x4684, 0x46AE, 0x46D8, 0x4702, 0x472C, 0x4755, 0x477F, 0x47A9, 0x47D2, 0x47FC, 0x4826, 0x484F, + 0x4879, 0x48A2, 0x48CC, 0x48F5, 0x491E, 0x4948, 0x4971, 0x499A, 0x49C3, 0x49EC, 0x4A15, 0x4A3E, 0x4A67, 0x4A90, + 0x4AB9, 0x4AE2, 0x4B0B, 0x4B33, 0x4B5C, 0x4B85, 0x4BAD, 0x4BD6, 0x4BFE, 0x4C27, 0x4C4F, 0x4C78, 0x4CA0, 0x4CC8, + 0x4CF0, 0x4D19, 0x4D41, 0x4D69, 0x4D91, 0x4DB9, 0x4DE1, 0x4E09, 0x4E31, 0x4E58, 0x4E80, 0x4EA8, 0x4ED0, 0x4EF7, + 0x4F1F, 0x4F46, 0x4F6E, 0x4F95, 0x4FBD, 0x4FE4, 0x500B, 0x5032, 0x505A, 0x5081, 0x50A8, 0x50CF, 0x50F6, 0x511D, + 0x5144, 0x516B, 0x5191, 0x51B8, 0x51DF, 0x5205, 0x522C, 0x5253, 0x5279, 0x52A0, 0x52C6, 0x52EC, 0x5313, 0x5339, + 0x535F, 0x5385, 0x53AB, 0x53D1, 0x53F7, 0x541D, 0x5443, 0x5469, 0x548F, 0x54B5, 0x54DA, 0x5500, 0x5525, 0x554B, + 0x5571, 0x5596, 0x55BB, 0x55E1, 0x5606, 0x562B, 0x5650, 0x5675, 0x569B, 0x56C0, 0x56E5, 0x5709, 0x572E, 0x5753, + 0x5778, 0x579D, 0x57C1, 0x57E6, 0x580A, 0x582F, 0x5853, 0x5878, 0x589C, 0x58C0, 0x58E5, 0x5909, 0x592D, 0x5951, + 0x5975, 0x5999, 0x59BD, 0x59E1, 0x5A04, 0x5A28, 0x5A4C, 0x5A6F, 0x5A93, 0x5AB7, 0x5ADA, 0x5AFD, 0x5B21, 0x5B44, + 0x5B67, 0x5B8B, 0x5BAE, 0x5BD1, 0x5BF4, 0x5C17, 0x5C3A, 0x5C5D, 0x5C7F, 0x5CA2, 0x5CC5, 0x5CE7, 0x5D0A, 0x5D2D, + 0x5D4F, 0x5D71, 0x5D94, 0x5DB6, 0x5DD8, 0x5DFA, 0x5E1D, 0x5E3F, 0x5E61, 0x5E83, 0x5EA5, 0x5EC6, 0x5EE8, 0x5F0A, + 0x5F2C, 0x5F4D, 0x5F6F, 0x5F90, 0x5FB2, 0x5FD3, 0x5FF4, 0x6016, 0x6037, 0x6058, 0x6079, 0x609A, 0x60BB, 0x60DC, + 0x60FD, 0x611E, 0x613E, 0x615F, 0x6180, 0x61A0, 0x61C1, 0x61E1, 0x6202, 0x6222, 0x6242, 0x6263, 0x6283, 0x62A3, + 0x62C3, 0x62E3, 0x6303, 0x6323, 0x6342, 0x6362, 0x6382, 0x63A1, 0x63C1, 0x63E0, 0x6400, 0x641F, 0x643F, 0x645E, + 0x647D, 0x649C, 0x64BB, 0x64DA, 0x64F9, 0x6518, 0x6537, 0x6556, 0x6574, 0x6593, 0x65B2, 0x65D0, 0x65EF, 0x660D, + 0x662B, 0x664A, 0x6668, 0x6686, 0x66A4, 0x66C2, 0x66E0, 0x66FE, 0x671C, 0x673A, 0x6757, 0x6775, 0x6792, 0x67B0, + 0x67CD, 0x67EB, 0x6808, 0x6825, 0x6843, 0x6860, 0x687D, 0x689A, 0x68B7, 0x68D4, 0x68F1, 0x690D, 0x692A, 0x6947, + 0x6963, 0x6980, 0x699C, 0x69B9, 0x69D5, 0x69F1, 0x6A0E, 0x6A2A, 0x6A46, 0x6A62, 0x6A7E, 0x6A9A, 0x6AB5, 0x6AD1, + 0x6AED, 0x6B08, 0x6B24, 0x6B40, 0x6B5B, 0x6B76, 0x6B92, 0x6BAD, 0x6BC8, 0x6BE3, 0x6BFE, 0x6C19, 0x6C34, 0x6C4F, + 0x6C6A, 0x6C84, 0x6C9F, 0x6CBA, 0x6CD4, 0x6CEF, 0x6D09, 0x6D23, 0x6D3E, 0x6D58, 0x6D72, 0x6D8C, 0x6DA6, 0x6DC0, + 0x6DDA, 0x6DF3, 0x6E0D, 0x6E27, 0x6E40, 0x6E5A, 0x6E73, 0x6E8D, 0x6EA6, 0x6EBF, 0x6ED9, 0x6EF2, 0x6F0B, 0x6F24, + 0x6F3D, 0x6F55, 0x6F6E, 0x6F87, 0x6FA0, 0x6FB8, 0x6FD1, 0x6FE9, 0x7002, 0x701A, 0x7032, 0x704A, 0x7062, 0x707A, + 0x7092, 0x70AA, 0x70C2, 0x70DA, 0x70F2, 0x7109, 0x7121, 0x7138, 0x7150, 0x7167, 0x717E, 0x7196, 0x71AD, 0x71C4, + 0x71DB, 0x71F2, 0x7209, 0x7220, 0x7236, 0x724D, 0x7264, 0x727A, 0x7291, 0x72A7, 0x72BD, 0x72D4, 0x72EA, 0x7300, + 0x7316, 0x732C, 0x7342, 0x7358, 0x736E, 0x7383, 0x7399, 0x73AE, 0x73C4, 0x73D9, 0x73EF, 0x7404, 0x7419, 0x742E, + 0x7443, 0x7458, 0x746D, 0x7482, 0x7497, 0x74AC, 0x74C0, 0x74D5, 0x74EA, 0x74FE, 0x7512, 0x7527, 0x753B, 0x754F, + 0x7563, 0x7577, 0x758B, 0x759F, 0x75B3, 0x75C7, 0x75DA, 0x75EE, 0x7601, 0x7615, 0x7628, 0x763B, 0x764F, 0x7662, + 0x7675, 0x7688, 0x769B, 0x76AE, 0x76C1, 0x76D3, 0x76E6, 0x76F9, 0x770B, 0x771E, 0x7730, 0x7742, 0x7754, 0x7767, + 0x7779, 0x778B, 0x779D, 0x77AF, 0x77C0, 0x77D2, 0x77E4, 0x77F5, 0x7807, 0x7818, 0x782A, 0x783B, 0x784C, 0x785D, + 0x786E, 0x787F, 0x7890, 0x78A1, 0x78B2, 0x78C3, 0x78D3, 0x78E4, 0x78F4, 0x7905, 0x7915, 0x7925, 0x7936, 0x7946, + 0x7956, 0x7966, 0x7976, 0x7985, 0x7995, 0x79A5, 0x79B5, 0x79C4, 0x79D4, 0x79E3, 0x79F2, 0x7A02, 0x7A11, 0x7A20, + 0x7A2F, 0x7A3E, 0x7A4D, 0x7A5B, 0x7A6A, 0x7A79, 0x7A87, 0x7A96, 0x7AA4, 0x7AB3, 0x7AC1, 0x7ACF, 0x7ADD, 0x7AEB, + 0x7AF9, 0x7B07, 0x7B15, 0x7B23, 0x7B31, 0x7B3E, 0x7B4C, 0x7B59, 0x7B67, 0x7B74, 0x7B81, 0x7B8E, 0x7B9B, 0x7BA8, + 0x7BB5, 0x7BC2, 0x7BCF, 0x7BDC, 0x7BE8, 0x7BF5, 0x7C02, 0x7C0E, 0x7C1A, 0x7C27, 0x7C33, 0x7C3F, 0x7C4B, 0x7C57, + 0x7C63, 0x7C6F, 0x7C7A, 0x7C86, 0x7C92, 0x7C9D, 0x7CA9, 0x7CB4, 0x7CBF, 0x7CCB, 0x7CD6, 0x7CE1, 0x7CEC, 0x7CF7, + 0x7D02, 0x7D0C, 0x7D17, 0x7D22, 0x7D2C, 0x7D37, 0x7D41, 0x7D4B, 0x7D56, 0x7D60, 0x7D6A, 0x7D74, 0x7D7E, 0x7D88, + 0x7D91, 0x7D9B, 0x7DA5, 0x7DAE, 0x7DB8, 0x7DC1, 0x7DCB, 0x7DD4, 0x7DDD, 0x7DE6, 0x7DEF, 0x7DF8, 0x7E01, 0x7E0A, + 0x7E13, 0x7E1B, 0x7E24, 0x7E2C, 0x7E35, 0x7E3D, 0x7E45, 0x7E4D, 0x7E56, 0x7E5E, 0x7E66, 0x7E6D, 0x7E75, 0x7E7D, + 0x7E85, 0x7E8C, 0x7E94, 0x7E9B, 0x7EA3, 0x7EAA, 0x7EB1, 0x7EB8, 0x7EBF, 0x7EC6, 0x7ECD, 0x7ED4, 0x7EDB, 0x7EE1, + 0x7EE8, 0x7EEE, 0x7EF5, 0x7EFB, 0x7F01, 0x7F08, 0x7F0E, 0x7F14, 0x7F1A, 0x7F20, 0x7F25, 0x7F2B, 0x7F31, 0x7F36, + 0x7F3C, 0x7F41, 0x7F47, 0x7F4C, 0x7F51, 0x7F56, 0x7F5B, 0x7F60, 0x7F65, 0x7F6A, 0x7F6F, 0x7F74, 0x7F78, 0x7F7D, + 0x7F81, 0x7F85, 0x7F8A, 0x7F8E, 0x7F92, 0x7F96, 0x7F9A, 0x7F9E, 0x7FA2, 0x7FA6, 0x7FA9, 0x7FAD, 0x7FB0, 0x7FB4, + 0x7FB7, 0x7FBA, 0x7FBE, 0x7FC1, 0x7FC4, 0x7FC7, 0x7FCA, 0x7FCC, 0x7FCF, 0x7FD2, 0x7FD4, 0x7FD7, 0x7FD9, 0x7FDC, + 0x7FDE, 0x7FE0, 0x7FE2, 0x7FE4, 0x7FE6, 0x7FE8, 0x7FEA, 0x7FEC, 0x7FED, 0x7FEF, 0x7FF1, 0x7FF2, 0x7FF3, 0x7FF5, + 0x7FF6, 0x7FF7, 0x7FF8, 0x7FF9, 0x7FFA, 0x7FFB, 0x7FFB, 0x7FFC, 0x7FFD, 0x7FFD, 0x7FFE, 0x7FFE, 0x7FFE, 0x7FFE, + 0x7FFE, 0x7FFF, +}; short sins(unsigned short x) { short val; diff --git a/src/libultra/gu/sintable.h b/src/libultra/gu/sintable.h deleted file mode 100644 index b593f98279..0000000000 --- a/src/libultra/gu/sintable.h +++ /dev/null @@ -1,1031 +0,0 @@ -#ifndef _SINTABLE_H_ -#define _SINTABLE_H_ - -static s16 sintable[1024] = { - 0x0000, - 0x0032, - 0x0064, - 0x0096, - 0x00C9, - 0x00FB, - 0x012D, - 0x0160, - 0x0192, - 0x01C4, - 0x01F7, - 0x0229, - 0x025B, - 0x028E, - 0x02C0, - 0x02F2, - 0x0324, - 0x0357, - 0x0389, - 0x03BB, - 0x03EE, - 0x0420, - 0x0452, - 0x0484, - 0x04B7, - 0x04E9, - 0x051B, - 0x054E, - 0x0580, - 0x05B2, - 0x05E4, - 0x0617, - 0x0649, - 0x067B, - 0x06AD, - 0x06E0, - 0x0712, - 0x0744, - 0x0776, - 0x07A9, - 0x07DB, - 0x080D, - 0x083F, - 0x0871, - 0x08A4, - 0x08D6, - 0x0908, - 0x093A, - 0x096C, - 0x099F, - 0x09D1, - 0x0A03, - 0x0A35, - 0x0A67, - 0x0A99, - 0x0ACB, - 0x0AFE, - 0x0B30, - 0x0B62, - 0x0B94, - 0x0BC6, - 0x0BF8, - 0x0C2A, - 0x0C5C, - 0x0C8E, - 0x0CC0, - 0x0CF2, - 0x0D25, - 0x0D57, - 0x0D89, - 0x0DBB, - 0x0DED, - 0x0E1F, - 0x0E51, - 0x0E83, - 0x0EB5, - 0x0EE7, - 0x0F19, - 0x0F4B, - 0x0F7C, - 0x0FAE, - 0x0FE0, - 0x1012, - 0x1044, - 0x1076, - 0x10A8, - 0x10DA, - 0x110C, - 0x113E, - 0x116F, - 0x11A1, - 0x11D3, - 0x1205, - 0x1237, - 0x1269, - 0x129A, - 0x12CC, - 0x12FE, - 0x1330, - 0x1361, - 0x1393, - 0x13C5, - 0x13F6, - 0x1428, - 0x145A, - 0x148C, - 0x14BD, - 0x14EF, - 0x1520, - 0x1552, - 0x1584, - 0x15B5, - 0x15E7, - 0x1618, - 0x164A, - 0x167B, - 0x16AD, - 0x16DF, - 0x1710, - 0x1741, - 0x1773, - 0x17A4, - 0x17D6, - 0x1807, - 0x1839, - 0x186A, - 0x189B, - 0x18CD, - 0x18FE, - 0x1930, - 0x1961, - 0x1992, - 0x19C3, - 0x19F5, - 0x1A26, - 0x1A57, - 0x1A88, - 0x1ABA, - 0x1AEB, - 0x1B1C, - 0x1B4D, - 0x1B7E, - 0x1BAF, - 0x1BE1, - 0x1C12, - 0x1C43, - 0x1C74, - 0x1CA5, - 0x1CD6, - 0x1D07, - 0x1D38, - 0x1D69, - 0x1D9A, - 0x1DCB, - 0x1DFC, - 0x1E2D, - 0x1E5D, - 0x1E8E, - 0x1EBF, - 0x1EF0, - 0x1F21, - 0x1F52, - 0x1F82, - 0x1FB3, - 0x1FE4, - 0x2015, - 0x2045, - 0x2076, - 0x20A7, - 0x20D7, - 0x2108, - 0x2139, - 0x2169, - 0x219A, - 0x21CA, - 0x21FB, - 0x222B, - 0x225C, - 0x228C, - 0x22BD, - 0x22ED, - 0x231D, - 0x234E, - 0x237E, - 0x23AE, - 0x23DF, - 0x240F, - 0x243F, - 0x2470, - 0x24A0, - 0x24D0, - 0x2500, - 0x2530, - 0x2560, - 0x2591, - 0x25C1, - 0x25F1, - 0x2621, - 0x2651, - 0x2681, - 0x26B1, - 0x26E1, - 0x2711, - 0x2740, - 0x2770, - 0x27A0, - 0x27D0, - 0x2800, - 0x2830, - 0x285F, - 0x288F, - 0x28BF, - 0x28EE, - 0x291E, - 0x294E, - 0x297D, - 0x29AD, - 0x29DD, - 0x2A0C, - 0x2A3C, - 0x2A6B, - 0x2A9B, - 0x2ACA, - 0x2AF9, - 0x2B29, - 0x2B58, - 0x2B87, - 0x2BB7, - 0x2BE6, - 0x2C15, - 0x2C44, - 0x2C74, - 0x2CA3, - 0x2CD2, - 0x2D01, - 0x2D30, - 0x2D5F, - 0x2D8E, - 0x2DBD, - 0x2DEC, - 0x2E1B, - 0x2E4A, - 0x2E79, - 0x2EA8, - 0x2ED7, - 0x2F06, - 0x2F34, - 0x2F63, - 0x2F92, - 0x2FC0, - 0x2FEF, - 0x301E, - 0x304C, - 0x307B, - 0x30A9, - 0x30D8, - 0x3107, - 0x3135, - 0x3163, - 0x3192, - 0x31C0, - 0x31EF, - 0x321D, - 0x324B, - 0x3279, - 0x32A8, - 0x32D6, - 0x3304, - 0x3332, - 0x3360, - 0x338E, - 0x33BC, - 0x33EA, - 0x3418, - 0x3446, - 0x3474, - 0x34A2, - 0x34D0, - 0x34FE, - 0x352B, - 0x3559, - 0x3587, - 0x35B5, - 0x35E2, - 0x3610, - 0x363D, - 0x366B, - 0x3698, - 0x36C6, - 0x36F3, - 0x3721, - 0x374E, - 0x377C, - 0x37A9, - 0x37D6, - 0x3803, - 0x3831, - 0x385E, - 0x388B, - 0x38B8, - 0x38E5, - 0x3912, - 0x393F, - 0x396C, - 0x3999, - 0x39C6, - 0x39F3, - 0x3A20, - 0x3A4D, - 0x3A79, - 0x3AA6, - 0x3AD3, - 0x3B00, - 0x3B2C, - 0x3B59, - 0x3B85, - 0x3BB2, - 0x3BDE, - 0x3C0B, - 0x3C37, - 0x3C64, - 0x3C90, - 0x3CBC, - 0x3CE9, - 0x3D15, - 0x3D41, - 0x3D6D, - 0x3D99, - 0x3DC5, - 0x3DF1, - 0x3E1D, - 0x3E49, - 0x3E75, - 0x3EA1, - 0x3ECD, - 0x3EF9, - 0x3F25, - 0x3F50, - 0x3F7C, - 0x3FA8, - 0x3FD3, - 0x3FFF, - 0x402B, - 0x4056, - 0x4082, - 0x40AD, - 0x40D8, - 0x4104, - 0x412F, - 0x415A, - 0x4186, - 0x41B1, - 0x41DC, - 0x4207, - 0x4232, - 0x425D, - 0x4288, - 0x42B3, - 0x42DE, - 0x4309, - 0x4334, - 0x435F, - 0x4389, - 0x43B4, - 0x43DF, - 0x4409, - 0x4434, - 0x445F, - 0x4489, - 0x44B4, - 0x44DE, - 0x4508, - 0x4533, - 0x455D, - 0x4587, - 0x45B1, - 0x45DC, - 0x4606, - 0x4630, - 0x465A, - 0x4684, - 0x46AE, - 0x46D8, - 0x4702, - 0x472C, - 0x4755, - 0x477F, - 0x47A9, - 0x47D2, - 0x47FC, - 0x4826, - 0x484F, - 0x4879, - 0x48A2, - 0x48CC, - 0x48F5, - 0x491E, - 0x4948, - 0x4971, - 0x499A, - 0x49C3, - 0x49EC, - 0x4A15, - 0x4A3E, - 0x4A67, - 0x4A90, - 0x4AB9, - 0x4AE2, - 0x4B0B, - 0x4B33, - 0x4B5C, - 0x4B85, - 0x4BAD, - 0x4BD6, - 0x4BFE, - 0x4C27, - 0x4C4F, - 0x4C78, - 0x4CA0, - 0x4CC8, - 0x4CF0, - 0x4D19, - 0x4D41, - 0x4D69, - 0x4D91, - 0x4DB9, - 0x4DE1, - 0x4E09, - 0x4E31, - 0x4E58, - 0x4E80, - 0x4EA8, - 0x4ED0, - 0x4EF7, - 0x4F1F, - 0x4F46, - 0x4F6E, - 0x4F95, - 0x4FBD, - 0x4FE4, - 0x500B, - 0x5032, - 0x505A, - 0x5081, - 0x50A8, - 0x50CF, - 0x50F6, - 0x511D, - 0x5144, - 0x516B, - 0x5191, - 0x51B8, - 0x51DF, - 0x5205, - 0x522C, - 0x5253, - 0x5279, - 0x52A0, - 0x52C6, - 0x52EC, - 0x5313, - 0x5339, - 0x535F, - 0x5385, - 0x53AB, - 0x53D1, - 0x53F7, - 0x541D, - 0x5443, - 0x5469, - 0x548F, - 0x54B5, - 0x54DA, - 0x5500, - 0x5525, - 0x554B, - 0x5571, - 0x5596, - 0x55BB, - 0x55E1, - 0x5606, - 0x562B, - 0x5650, - 0x5675, - 0x569B, - 0x56C0, - 0x56E5, - 0x5709, - 0x572E, - 0x5753, - 0x5778, - 0x579D, - 0x57C1, - 0x57E6, - 0x580A, - 0x582F, - 0x5853, - 0x5878, - 0x589C, - 0x58C0, - 0x58E5, - 0x5909, - 0x592D, - 0x5951, - 0x5975, - 0x5999, - 0x59BD, - 0x59E1, - 0x5A04, - 0x5A28, - 0x5A4C, - 0x5A6F, - 0x5A93, - 0x5AB7, - 0x5ADA, - 0x5AFD, - 0x5B21, - 0x5B44, - 0x5B67, - 0x5B8B, - 0x5BAE, - 0x5BD1, - 0x5BF4, - 0x5C17, - 0x5C3A, - 0x5C5D, - 0x5C7F, - 0x5CA2, - 0x5CC5, - 0x5CE7, - 0x5D0A, - 0x5D2D, - 0x5D4F, - 0x5D71, - 0x5D94, - 0x5DB6, - 0x5DD8, - 0x5DFA, - 0x5E1D, - 0x5E3F, - 0x5E61, - 0x5E83, - 0x5EA5, - 0x5EC6, - 0x5EE8, - 0x5F0A, - 0x5F2C, - 0x5F4D, - 0x5F6F, - 0x5F90, - 0x5FB2, - 0x5FD3, - 0x5FF4, - 0x6016, - 0x6037, - 0x6058, - 0x6079, - 0x609A, - 0x60BB, - 0x60DC, - 0x60FD, - 0x611E, - 0x613E, - 0x615F, - 0x6180, - 0x61A0, - 0x61C1, - 0x61E1, - 0x6202, - 0x6222, - 0x6242, - 0x6263, - 0x6283, - 0x62A3, - 0x62C3, - 0x62E3, - 0x6303, - 0x6323, - 0x6342, - 0x6362, - 0x6382, - 0x63A1, - 0x63C1, - 0x63E0, - 0x6400, - 0x641F, - 0x643F, - 0x645E, - 0x647D, - 0x649C, - 0x64BB, - 0x64DA, - 0x64F9, - 0x6518, - 0x6537, - 0x6556, - 0x6574, - 0x6593, - 0x65B2, - 0x65D0, - 0x65EF, - 0x660D, - 0x662B, - 0x664A, - 0x6668, - 0x6686, - 0x66A4, - 0x66C2, - 0x66E0, - 0x66FE, - 0x671C, - 0x673A, - 0x6757, - 0x6775, - 0x6792, - 0x67B0, - 0x67CD, - 0x67EB, - 0x6808, - 0x6825, - 0x6843, - 0x6860, - 0x687D, - 0x689A, - 0x68B7, - 0x68D4, - 0x68F1, - 0x690D, - 0x692A, - 0x6947, - 0x6963, - 0x6980, - 0x699C, - 0x69B9, - 0x69D5, - 0x69F1, - 0x6A0E, - 0x6A2A, - 0x6A46, - 0x6A62, - 0x6A7E, - 0x6A9A, - 0x6AB5, - 0x6AD1, - 0x6AED, - 0x6B08, - 0x6B24, - 0x6B40, - 0x6B5B, - 0x6B76, - 0x6B92, - 0x6BAD, - 0x6BC8, - 0x6BE3, - 0x6BFE, - 0x6C19, - 0x6C34, - 0x6C4F, - 0x6C6A, - 0x6C84, - 0x6C9F, - 0x6CBA, - 0x6CD4, - 0x6CEF, - 0x6D09, - 0x6D23, - 0x6D3E, - 0x6D58, - 0x6D72, - 0x6D8C, - 0x6DA6, - 0x6DC0, - 0x6DDA, - 0x6DF3, - 0x6E0D, - 0x6E27, - 0x6E40, - 0x6E5A, - 0x6E73, - 0x6E8D, - 0x6EA6, - 0x6EBF, - 0x6ED9, - 0x6EF2, - 0x6F0B, - 0x6F24, - 0x6F3D, - 0x6F55, - 0x6F6E, - 0x6F87, - 0x6FA0, - 0x6FB8, - 0x6FD1, - 0x6FE9, - 0x7002, - 0x701A, - 0x7032, - 0x704A, - 0x7062, - 0x707A, - 0x7092, - 0x70AA, - 0x70C2, - 0x70DA, - 0x70F2, - 0x7109, - 0x7121, - 0x7138, - 0x7150, - 0x7167, - 0x717E, - 0x7196, - 0x71AD, - 0x71C4, - 0x71DB, - 0x71F2, - 0x7209, - 0x7220, - 0x7236, - 0x724D, - 0x7264, - 0x727A, - 0x7291, - 0x72A7, - 0x72BD, - 0x72D4, - 0x72EA, - 0x7300, - 0x7316, - 0x732C, - 0x7342, - 0x7358, - 0x736E, - 0x7383, - 0x7399, - 0x73AE, - 0x73C4, - 0x73D9, - 0x73EF, - 0x7404, - 0x7419, - 0x742E, - 0x7443, - 0x7458, - 0x746D, - 0x7482, - 0x7497, - 0x74AC, - 0x74C0, - 0x74D5, - 0x74EA, - 0x74FE, - 0x7512, - 0x7527, - 0x753B, - 0x754F, - 0x7563, - 0x7577, - 0x758B, - 0x759F, - 0x75B3, - 0x75C7, - 0x75DA, - 0x75EE, - 0x7601, - 0x7615, - 0x7628, - 0x763B, - 0x764F, - 0x7662, - 0x7675, - 0x7688, - 0x769B, - 0x76AE, - 0x76C1, - 0x76D3, - 0x76E6, - 0x76F9, - 0x770B, - 0x771E, - 0x7730, - 0x7742, - 0x7754, - 0x7767, - 0x7779, - 0x778B, - 0x779D, - 0x77AF, - 0x77C0, - 0x77D2, - 0x77E4, - 0x77F5, - 0x7807, - 0x7818, - 0x782A, - 0x783B, - 0x784C, - 0x785D, - 0x786E, - 0x787F, - 0x7890, - 0x78A1, - 0x78B2, - 0x78C3, - 0x78D3, - 0x78E4, - 0x78F4, - 0x7905, - 0x7915, - 0x7925, - 0x7936, - 0x7946, - 0x7956, - 0x7966, - 0x7976, - 0x7985, - 0x7995, - 0x79A5, - 0x79B5, - 0x79C4, - 0x79D4, - 0x79E3, - 0x79F2, - 0x7A02, - 0x7A11, - 0x7A20, - 0x7A2F, - 0x7A3E, - 0x7A4D, - 0x7A5B, - 0x7A6A, - 0x7A79, - 0x7A87, - 0x7A96, - 0x7AA4, - 0x7AB3, - 0x7AC1, - 0x7ACF, - 0x7ADD, - 0x7AEB, - 0x7AF9, - 0x7B07, - 0x7B15, - 0x7B23, - 0x7B31, - 0x7B3E, - 0x7B4C, - 0x7B59, - 0x7B67, - 0x7B74, - 0x7B81, - 0x7B8E, - 0x7B9B, - 0x7BA8, - 0x7BB5, - 0x7BC2, - 0x7BCF, - 0x7BDC, - 0x7BE8, - 0x7BF5, - 0x7C02, - 0x7C0E, - 0x7C1A, - 0x7C27, - 0x7C33, - 0x7C3F, - 0x7C4B, - 0x7C57, - 0x7C63, - 0x7C6F, - 0x7C7A, - 0x7C86, - 0x7C92, - 0x7C9D, - 0x7CA9, - 0x7CB4, - 0x7CBF, - 0x7CCB, - 0x7CD6, - 0x7CE1, - 0x7CEC, - 0x7CF7, - 0x7D02, - 0x7D0C, - 0x7D17, - 0x7D22, - 0x7D2C, - 0x7D37, - 0x7D41, - 0x7D4B, - 0x7D56, - 0x7D60, - 0x7D6A, - 0x7D74, - 0x7D7E, - 0x7D88, - 0x7D91, - 0x7D9B, - 0x7DA5, - 0x7DAE, - 0x7DB8, - 0x7DC1, - 0x7DCB, - 0x7DD4, - 0x7DDD, - 0x7DE6, - 0x7DEF, - 0x7DF8, - 0x7E01, - 0x7E0A, - 0x7E13, - 0x7E1B, - 0x7E24, - 0x7E2C, - 0x7E35, - 0x7E3D, - 0x7E45, - 0x7E4D, - 0x7E56, - 0x7E5E, - 0x7E66, - 0x7E6D, - 0x7E75, - 0x7E7D, - 0x7E85, - 0x7E8C, - 0x7E94, - 0x7E9B, - 0x7EA3, - 0x7EAA, - 0x7EB1, - 0x7EB8, - 0x7EBF, - 0x7EC6, - 0x7ECD, - 0x7ED4, - 0x7EDB, - 0x7EE1, - 0x7EE8, - 0x7EEE, - 0x7EF5, - 0x7EFB, - 0x7F01, - 0x7F08, - 0x7F0E, - 0x7F14, - 0x7F1A, - 0x7F20, - 0x7F25, - 0x7F2B, - 0x7F31, - 0x7F36, - 0x7F3C, - 0x7F41, - 0x7F47, - 0x7F4C, - 0x7F51, - 0x7F56, - 0x7F5B, - 0x7F60, - 0x7F65, - 0x7F6A, - 0x7F6F, - 0x7F74, - 0x7F78, - 0x7F7D, - 0x7F81, - 0x7F85, - 0x7F8A, - 0x7F8E, - 0x7F92, - 0x7F96, - 0x7F9A, - 0x7F9E, - 0x7FA2, - 0x7FA6, - 0x7FA9, - 0x7FAD, - 0x7FB0, - 0x7FB4, - 0x7FB7, - 0x7FBA, - 0x7FBE, - 0x7FC1, - 0x7FC4, - 0x7FC7, - 0x7FCA, - 0x7FCC, - 0x7FCF, - 0x7FD2, - 0x7FD4, - 0x7FD7, - 0x7FD9, - 0x7FDC, - 0x7FDE, - 0x7FE0, - 0x7FE2, - 0x7FE4, - 0x7FE6, - 0x7FE8, - 0x7FEA, - 0x7FEC, - 0x7FED, - 0x7FEF, - 0x7FF1, - 0x7FF2, - 0x7FF3, - 0x7FF5, - 0x7FF6, - 0x7FF7, - 0x7FF8, - 0x7FF9, - 0x7FFA, - 0x7FFB, - 0x7FFB, - 0x7FFC, - 0x7FFD, - 0x7FFD, - 0x7FFE, - 0x7FFE, - 0x7FFE, - 0x7FFE, - 0x7FFE, - 0x7FFF, -}; - -#endif diff --git a/src/libultra/gu/visetevent.c b/src/libultra/gu/visetevent.c index 43c5da7d93..2d2e4bd3b6 100644 --- a/src/libultra/gu/visetevent.c +++ b/src/libultra/gu/visetevent.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" void osViSetEvent(OSMesgQueue* mq, OSMesg m, u32 retraceCount) { register u32 saveMask = __osDisableInt(); diff --git a/src/libultra/io/aigetlen.c b/src/libultra/io/aigetlen.c index c992c5dab1..e3e7289aca 100644 --- a/src/libultra/io/aigetlen.c +++ b/src/libultra/io/aigetlen.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" u32 osAiGetLength(void) { return *(u32*)0xA4500004; diff --git a/src/libultra/io/contquery.c b/src/libultra/io/contquery.c index 757f8de2cc..5c351241af 100644 --- a/src/libultra/io/contquery.c +++ b/src/libultra/io/contquery.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" s32 osContStartQuery(OSMesgQueue* mq) { s32 ret; diff --git a/src/libultra/io/contreaddata.c b/src/libultra/io/contreaddata.c index 31d2bc2943..0356634868 100644 --- a/src/libultra/io/contreaddata.c +++ b/src/libultra/io/contreaddata.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" s32 osContStartReadData(OSMesgQueue* mq) { s32 ret; diff --git a/src/libultra/io/controller.c b/src/libultra/io/controller.c index fe56114b8e..48af72355a 100644 --- a/src/libultra/io/controller.c +++ b/src/libultra/io/controller.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" UNK_TYPE4 D_80097E40 = 0; diff --git a/src/libultra/io/contsetch.c b/src/libultra/io/contsetch.c index 15aec7f4cc..bd1c96698e 100644 --- a/src/libultra/io/contsetch.c +++ b/src/libultra/io/contsetch.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" s32 osContSetCh(u8 ch) { __osSiGetAccess(); diff --git a/src/libultra/io/dpgetstat.c b/src/libultra/io/dpgetstat.c index 66e7493fc2..763c6622e4 100644 --- a/src/libultra/io/dpgetstat.c +++ b/src/libultra/io/dpgetstat.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" u32 osDpGetStatus(void) { return *(u32*)0xA410000C; diff --git a/src/libultra/io/dpsetstat.c b/src/libultra/io/dpsetstat.c index 7dcb8ed780..c653a08173 100644 --- a/src/libultra/io/dpsetstat.c +++ b/src/libultra/io/dpsetstat.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" void osDpSetStatus(u32 data) { *(u32*)0xA410000C = data; diff --git a/src/libultra/io/epidma.c b/src/libultra/io/epidma.c index 98fa6667e6..d3e0e36d2f 100644 --- a/src/libultra/io/epidma.c +++ b/src/libultra/io/epidma.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" s32 osEPiStartDma(OSPiHandle* pihandle, OSIoMesg* mb, s32 direction) { register s32 result; diff --git a/src/libultra/io/epirawwrite.c b/src/libultra/io/epirawwrite.c index 40f2815f40..d9b1bcb8f2 100644 --- a/src/libultra/io/epirawwrite.c +++ b/src/libultra/io/epirawwrite.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" #include "PR/hardware.h" s32 __osEPiRawWriteIo(OSPiHandle* handle, u32 devAddr, u32 data) { diff --git a/src/libultra/io/piacs.c b/src/libultra/io/piacs.c index e77ca75328..5a522e244f 100644 --- a/src/libultra/io/piacs.c +++ b/src/libultra/io/piacs.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" UNK_TYPE4 __osPiAccessQueueEnabled = 0; diff --git a/src/libultra/io/pigetcmdq.c b/src/libultra/io/pigetcmdq.c index 2e6048467e..6d367200b0 100644 --- a/src/libultra/io/pigetcmdq.c +++ b/src/libultra/io/pigetcmdq.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" OSMesgQueue* osPiGetCmdQueue(void) { if (!__osPiDevMgr.active) { diff --git a/src/libultra/io/pimgr.c b/src/libultra/io/pimgr.c index 514184db2f..eacbc039ca 100644 --- a/src/libultra/io/pimgr.c +++ b/src/libultra/io/pimgr.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" void osCreatePiManager(OSPri pri, OSMesgQueue* cmdQ, OSMesg* cmdBuf, s32 cmdMsgCnt) { u32 savedMask; @@ -26,7 +25,7 @@ void osCreatePiManager(OSPri pri, OSMesgQueue* cmdQ, OSMesg* cmdBuf, s32 cmdMsgC __osPiDevMgr.evtQueue = &D_8009E3D0; __osPiDevMgr.acsQueue = &__osPiAccessQueue; __osPiDevMgr.dma = (s32(*)(void))osPiRawStartDma; - __osPiDevMgr.unk18 = (s32(*)(void))func_800900C0; + __osPiDevMgr.unk18 = (s32(*)(void))osEPiRawStartDma; osCreateThread(&D_8009D220, 0, __osDevMgrMain, (void*)&__osPiDevMgr, &piManagerStack[4096], pri); osStartThread(&D_8009D220); __osRestoreInt(savedMask); diff --git a/src/libultra/io/pirawdma.c b/src/libultra/io/pirawdma.c index a0b5516a78..b133fadf5a 100644 --- a/src/libultra/io/pirawdma.c +++ b/src/libultra/io/pirawdma.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" s32 osPiRawStartDma(s32 direction, u32 devAddr, void* dramAddr, u32 size) { register int stat; diff --git a/src/libultra/io/si.c b/src/libultra/io/si.c index ca736a520f..6de5874b90 100644 --- a/src/libultra/io/si.c +++ b/src/libultra/io/si.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" int __osSiDeviceBusy() { register u32 status; diff --git a/src/libultra/io/siacs.c b/src/libultra/io/siacs.c index 721c205360..8b3b418de9 100644 --- a/src/libultra/io/siacs.c +++ b/src/libultra/io/siacs.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" u32 __osSiAccessQueueEnabled = 0; diff --git a/src/libultra/io/sirawdma.c b/src/libultra/io/sirawdma.c index f4b3bc16e6..ff57e21c23 100644 --- a/src/libultra/io/sirawdma.c +++ b/src/libultra/io/sirawdma.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" s32 __osSiRawStartDma(s32 direction, void* dramAddr) { if ((*(u32*)0xA4800018 & 0x3) != 0) { diff --git a/src/libultra/io/sirawread.c b/src/libultra/io/sirawread.c index 3a2968680b..19327db496 100644 --- a/src/libultra/io/sirawread.c +++ b/src/libultra/io/sirawread.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" s32 __osSiRawReadIo(u32 devAddr, u32* data) { if (__osSiDeviceBusy()) { diff --git a/src/libultra/io/sirawwrite.c b/src/libultra/io/sirawwrite.c index fd4b00a51a..3c25add62a 100644 --- a/src/libultra/io/sirawwrite.c +++ b/src/libultra/io/sirawwrite.c @@ -1,5 +1,5 @@ -#include -#include +#include "osint.h" +#include "assert.h" s32 __osSiRawWriteIo(u32 devAddr, u32 data) { if (__osSiDeviceBusy() != 0) { diff --git a/src/libultra/io/spgetstat.c b/src/libultra/io/spgetstat.c index 1a660b189c..6d3d3dcc65 100644 --- a/src/libultra/io/spgetstat.c +++ b/src/libultra/io/spgetstat.c @@ -1,5 +1,5 @@ -#include -#include +#include "osint.h" +#include "assert.h" u32 __osSpGetStatus() { return *(vu32*)0xA4040010; diff --git a/src/libultra/io/sprawdma.c b/src/libultra/io/sprawdma.c index 7d1f902cbf..c81972e816 100644 --- a/src/libultra/io/sprawdma.c +++ b/src/libultra/io/sprawdma.c @@ -1,6 +1,6 @@ -#include -#include -#include +#include "stdarg.h" +#include "osint.h" +#include "assert.h" s32 __osSpRawStartDma(s32 direction, u32 devAddr, void* dramAddr, u32 size) { if (__osSpDeviceBusy() != 0) { diff --git a/src/libultra/io/spsetstat.c b/src/libultra/io/spsetstat.c index 741b2114ed..9c403dc8ae 100644 --- a/src/libultra/io/spsetstat.c +++ b/src/libultra/io/spsetstat.c @@ -1,5 +1,5 @@ -#include -#include +#include "osint.h" +#include "assert.h" void __osSpSetStatus(u32 data) { *(vu32*)0xA4040010 = data; diff --git a/src/libultra/io/sptask.c b/src/libultra/io/sptask.c index 3ca7c47255..256009fe24 100644 --- a/src/libultra/io/sptask.c +++ b/src/libultra/io/sptask.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" OSTask* _VirtualToPhysicalTask(OSTask* intp) { OSTask* tp = &tmp_task; diff --git a/src/libultra/io/sptaskyield.c b/src/libultra/io/sptaskyield.c index 52b78da554..ce0819b349 100644 --- a/src/libultra/io/sptaskyield.c +++ b/src/libultra/io/sptaskyield.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" void osSpTaskYield(void) { __osSpSetStatus(0x400); diff --git a/src/libultra/io/sptaskyielded.c b/src/libultra/io/sptaskyielded.c index cfc297dba5..66b541921a 100644 --- a/src/libultra/io/sptaskyielded.c +++ b/src/libultra/io/sptaskyielded.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" OSYieldResult osSpTaskYielded(OSTask* task) { s32 status; diff --git a/src/libultra/io/vi.c b/src/libultra/io/vi.c index 21d7aee06f..dca4564626 100644 --- a/src/libultra/io/vi.c +++ b/src/libultra/io/vi.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" void __osViInit(void) { bzero(D_80098060, sizeof(D_80098060)); diff --git a/src/libultra/io/viblack.c b/src/libultra/io/viblack.c index 63d96fb22e..abc0b3b204 100644 --- a/src/libultra/io/viblack.c +++ b/src/libultra/io/viblack.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" void osViBlack(u8 active) { register u32 saveMask; diff --git a/src/libultra/io/vigetcurrcontext.c b/src/libultra/io/vigetcurrcontext.c index 5c03a8c436..2b7de83417 100644 --- a/src/libultra/io/vigetcurrcontext.c +++ b/src/libultra/io/vigetcurrcontext.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" __OSViContext* __osViGetCurrentContext(void) { return __osViCurr; diff --git a/src/libultra/io/vigetnextframebuf.c b/src/libultra/io/vigetnextframebuf.c index ecc69a4498..dac52e5bda 100644 --- a/src/libultra/io/vigetnextframebuf.c +++ b/src/libultra/io/vigetnextframebuf.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" void* osViGetNextFramebuffer(void) { register u32 saveMask; diff --git a/src/libultra/io/vimgr.c b/src/libultra/io/vimgr.c index 6c33ed7d9e..ecbb9b37cc 100644 --- a/src/libultra/io/vimgr.c +++ b/src/libultra/io/vimgr.c @@ -1,6 +1,5 @@ -#include -#include +#include "global.h" -#pragma GLOBAL_ASM("./asm/non_matchings/boot/vimgr/osCreateViManager.asm") +#pragma GLOBAL_ASM("asm/non_matchings/boot/vimgr/osCreateViManager.s") -#pragma GLOBAL_ASM("./asm/non_matchings/boot/vimgr/viMgrMain.asm") +#pragma GLOBAL_ASM("asm/non_matchings/boot/vimgr/viMgrMain.s") diff --git a/src/libultra/io/visetmode.c b/src/libultra/io/visetmode.c index 2ba96ad1c7..f839875b37 100644 --- a/src/libultra/io/visetmode.c +++ b/src/libultra/io/visetmode.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" void osViSetMode(OSViMode* modep) { register u32 saveMask; diff --git a/src/libultra/io/visetspecial.c b/src/libultra/io/visetspecial.c index 9a893c2512..37d510ed3f 100644 --- a/src/libultra/io/visetspecial.c +++ b/src/libultra/io/visetspecial.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" void osViSetSpecialFeatures(u32 func) { register u32 saveMask = __osDisableInt(); diff --git a/src/libultra/io/visetxscale.c b/src/libultra/io/visetxscale.c index c7720c6624..e6a9ec6bb6 100644 --- a/src/libultra/io/visetxscale.c +++ b/src/libultra/io/visetxscale.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" void osViSetXScale(f32 value) { register u32 nomValue; diff --git a/src/libultra/io/visetyscale.c b/src/libultra/io/visetyscale.c index 2cdcf58a30..6ef85963df 100644 --- a/src/libultra/io/visetyscale.c +++ b/src/libultra/io/visetyscale.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" void osViSetYScale(f32 value) { register u32 saveMask; diff --git a/src/libultra/io/viswapbuf.c b/src/libultra/io/viswapbuf.c index 68524f71d2..4d5f277886 100644 --- a/src/libultra/io/viswapbuf.c +++ b/src/libultra/io/viswapbuf.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" void osViSwapBuffer(void* frameBufPtr) { diff --git a/src/libultra/libc/ldiv.c b/src/libultra/libc/ldiv.c index affe5da003..21fe84e806 100644 --- a/src/libultra/libc/ldiv.c +++ b/src/libultra/libc/ldiv.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" ldiv_t ldiv(long numer, long denom) { ldiv_t val; diff --git a/src/libultra/libc/ll.c b/src/libultra/libc/ll.c index 6dbc884c88..399d2caf4b 100644 --- a/src/libultra/libc/ll.c +++ b/src/libultra/libc/ll.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" long long __ull_rshift(unsigned long long left, unsigned long long right) { return left >> right; diff --git a/src/libultra/libc/llcvt.c b/src/libultra/libc/llcvt.c index eeb472781a..2ef487938d 100644 --- a/src/libultra/libc/llcvt.c +++ b/src/libultra/libc/llcvt.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" long long __d_to_ll(double d) { return d; diff --git a/src/libultra/libc/string.c b/src/libultra/libc/string.c index 9b24d9d26a..a7edbd4022 100644 --- a/src/libultra/libc/string.c +++ b/src/libultra/libc/string.c @@ -1,4 +1,4 @@ -#include +#include "string.h" unsigned char* strchr(const unsigned char* s, int c) { const unsigned char ch = c; diff --git a/src/libultra/os/createmesgqueue.c b/src/libultra/os/createmesgqueue.c index fd31b45064..c52fda0b43 100644 --- a/src/libultra/os/createmesgqueue.c +++ b/src/libultra/os/createmesgqueue.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" void osCreateMesgQueue(OSMesgQueue* mq, OSMesg* msq, s32 count) { mq->mtqueue = (OSThread*)&__osThreadTail; diff --git a/src/libultra/os/createthread.c b/src/libultra/os/createthread.c index d17425601e..6f9d09154a 100644 --- a/src/libultra/os/createthread.c +++ b/src/libultra/os/createthread.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" void osCreateThread(OSThread* t, OSId id, void* entry, void* arg, void* sp, OSPri p) { register u32 saveMask; diff --git a/src/libultra/os/destroythread.c b/src/libultra/os/destroythread.c index a578370852..0e92d2fcfe 100644 --- a/src/libultra/os/destroythread.c +++ b/src/libultra/os/destroythread.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" void osDestroyThread(OSThread* t) { register u32 saveMask; diff --git a/src/libultra/os/getactivequeue.c b/src/libultra/os/getactivequeue.c index 0420f1d6b9..de55d7f041 100644 --- a/src/libultra/os/getactivequeue.c +++ b/src/libultra/os/getactivequeue.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" OSThread* __osGetActiveQueue(void) { return __osActiveQueue; diff --git a/src/libultra/os/getcurrfaultthread.c b/src/libultra/os/getcurrfaultthread.c index eff357345e..f36799b26f 100644 --- a/src/libultra/os/getcurrfaultthread.c +++ b/src/libultra/os/getcurrfaultthread.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" OSThread* __osGetCurrFaultedThread(void) { return __osFaultedThread; diff --git a/src/boot_O1/gethwintrroutine.c b/src/libultra/os/gethwinterrupt.c similarity index 82% rename from src/boot_O1/gethwintrroutine.c rename to src/libultra/os/gethwinterrupt.c index f59724813a..dacd43910f 100644 --- a/src/boot_O1/gethwintrroutine.c +++ b/src/libultra/os/gethwinterrupt.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" #include "os_internal.h" void __osGetHWIntrRoutine(s32 idx, OSMesgQueue** outQueue, OSMesg* outMsg) { diff --git a/src/libultra/os/getmemsize.c b/src/libultra/os/getmemsize.c index 62a65aadbb..e9a995f30e 100644 --- a/src/libultra/os/getmemsize.c +++ b/src/libultra/os/getmemsize.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" u32 osGetMemSize(void) { u32* spC; diff --git a/src/libultra/os/getthreadid.c b/src/libultra/os/getthreadid.c index f4dbb244e8..57c8e275f9 100644 --- a/src/libultra/os/getthreadid.c +++ b/src/libultra/os/getthreadid.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" OSId osGetThreadId(OSThread* t) { if (t == NULL) { diff --git a/src/libultra/os/getthreadpri.c b/src/libultra/os/getthreadpri.c index 3b56a6960b..ada853ffbf 100644 --- a/src/libultra/os/getthreadpri.c +++ b/src/libultra/os/getthreadpri.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" OSPri osGetThreadPri(OSThread* t) { if (t == NULL) { diff --git a/src/libultra/os/gettime.c b/src/libultra/os/gettime.c index a9193d6362..a29688a0af 100644 --- a/src/libultra/os/gettime.c +++ b/src/libultra/os/gettime.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" OSTime osGetTime(void) { u32 CurrentCount; diff --git a/src/libultra/os/initialize.c b/src/libultra/os/initialize.c index 2847be6f74..1647401c6e 100644 --- a/src/libultra/os/initialize.c +++ b/src/libultra/os/initialize.c @@ -1,12 +1,12 @@ -#include -#include +#include "global.h" u64 osClockRate = 0x0000000003B9ACA0; s32 osViClock = 0x02E6D354; UNK_TYPE4 __osShutdown = 0; UNK_TYPE4 __OSGlobalIntMask = 0x003FFF01; -void func_8008A660(void) { +#ifdef NON_MATCHING +void __createSpeedParam(void) { D_8009D130.type = 7; D_8009D130.latency = *(u32*)0xA4600014; D_8009D130.pageSize = *(u32*)0xA4600018; @@ -18,7 +18,11 @@ void func_8008A660(void) { D_8009D1A8.relDuration = *(u32*)0xA460002C; D_8009D1A8.pulse = *(u32*)0xA4600030; } +#else +#pragma GLOBAL_ASM("asm/non_matchings/boot/initialize/__createSpeedParam.s") +#endif +#ifdef NON_MATCHING u64 D_80097E50; // this has to be defined in this file for func_8008A6FC to match // TODO regalloc is messed up here @@ -46,13 +50,13 @@ void osInitialize(void) { osWritebackDCache((void*)0x80000000, 400); osInvalICache((void*)0x80000000, 400); - func_8008A660(); + __createSpeedParam(); osUnmapTLBAll(); osMapTLBRdb(); D_80097E50 = (D_80097E50 * 3) / 4; if (osResetType == 0) { - _blkclr((u8*)&osAppNmiBuffer, 64); + bzero((u8*)&osAppNmiBuffer, 64); } if (osTvType == 0) { @@ -73,6 +77,9 @@ void osInitialize(void) { *(u32*)0xA4500010 = 16383; *(u32*)0xA4500014 = 15; } +#else +#pragma GLOBAL_ASM("asm/non_matchings/boot/initialize/osInitialize.s") +#endif -void func_8008A9A8(void) { +void __osInitialize_autodetect(void) { } diff --git a/src/libultra/os/jammesg.c b/src/libultra/os/jammesg.c index e710df77af..9f2dcca1a4 100644 --- a/src/libultra/os/jammesg.c +++ b/src/libultra/os/jammesg.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" s32 osJamMesg(OSMesgQueue* mq, OSMesg msg, s32 flag) { register u32 saveMask; diff --git a/src/libultra/os/recvmesg.c b/src/libultra/os/recvmesg.c index 13eb84689f..a16828710b 100644 --- a/src/libultra/os/recvmesg.c +++ b/src/libultra/os/recvmesg.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" s32 osRecvMesg(OSMesgQueue* mq, OSMesg* msg, s32 flags) { register u32 saveMask; diff --git a/src/libultra/os/sendmesg.c b/src/libultra/os/sendmesg.c index 1f87f9ffa2..d78077c0ce 100644 --- a/src/libultra/os/sendmesg.c +++ b/src/libultra/os/sendmesg.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" s32 osSendMesg(OSMesgQueue* mq, OSMesg msg, s32 flags) { register u32 saveMask; diff --git a/src/libultra/os/seteventmesg.c b/src/libultra/os/seteventmesg.c index 5367a10284..62a12f68f3 100644 --- a/src/libultra/os/seteventmesg.c +++ b/src/libultra/os/seteventmesg.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" UNK_TYPE4 D_80097F10 = 0; diff --git a/src/libultra/os/setthreadpri.c b/src/libultra/os/setthreadpri.c index c475c4c64d..fde6e78dd5 100644 --- a/src/libultra/os/setthreadpri.c +++ b/src/libultra/os/setthreadpri.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" void osSetThreadPri(OSThread* t, OSPri p) { register u32 saveMask; diff --git a/src/libultra/os/settime.c b/src/libultra/os/settime.c index a7c789ab59..e6fc07bb47 100644 --- a/src/libultra/os/settime.c +++ b/src/libultra/os/settime.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" void osSetTime(OSTime ticks) { __osCurrentTime = ticks; diff --git a/src/libultra/os/settimer.c b/src/libultra/os/settimer.c index c65997733f..c6de3c3e4c 100644 --- a/src/libultra/os/settimer.c +++ b/src/libultra/os/settimer.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" int osSetTimer(OSTimer* t, OSTime value, OSTime interval, OSMesgQueue* mq, OSMesg msg) { OSTime tim; diff --git a/src/libultra/os/startthread.c b/src/libultra/os/startthread.c index 014e990732..fb19b67e2e 100644 --- a/src/libultra/os/startthread.c +++ b/src/libultra/os/startthread.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" void osStartThread(OSThread* t) { register u32 saveMask; diff --git a/src/libultra/os/stopthread.c b/src/libultra/os/stopthread.c index 081ecd7b7e..0fb388074b 100644 --- a/src/libultra/os/stopthread.c +++ b/src/libultra/os/stopthread.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" void osStopThread(OSThread* t) { register u32 saveMask; diff --git a/src/libultra/os/stoptimer.c b/src/libultra/os/stoptimer.c index ee0ad39603..70a483461a 100644 --- a/src/libultra/os/stoptimer.c +++ b/src/libultra/os/stoptimer.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" s32 osStopTimer(OSTimer* t) { register u32 savedMask; diff --git a/src/libultra/os/thread.c b/src/libultra/os/thread.c index e6a83b5ca9..ec655d64a6 100644 --- a/src/libultra/os/thread.c +++ b/src/libultra/os/thread.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" OSThread* __osThreadTail = NULL; UNK_TYPE D_80097E14 = -1; diff --git a/src/libultra/os/timerintr.c b/src/libultra/os/timerintr.c index 34b02ae70a..4c00831399 100644 --- a/src/libultra/os/timerintr.c +++ b/src/libultra/os/timerintr.c @@ -1,12 +1,14 @@ -#include -#include +#include "global.h" +OSTimer D_8009E590; OSTime __osCurrentTime; u32 __osBaseCounter; u32 __osViIntrCount; u32 __osTimerCounter; +s32 D_8009E5C8[2]; // dummy bss padding required +OSPifRam __osPfsPifRam; -extern OSTimer* __osTimerList = &D_8009E590; +OSTimer* __osTimerList = &D_8009E590; void __osTimerServicesInit(void) { __osCurrentTime = 0; diff --git a/src/libultra/os/viextend.c b/src/libultra/os/viextend.c new file mode 100644 index 0000000000..ce9f718d01 --- /dev/null +++ b/src/libultra/os/viextend.c @@ -0,0 +1,5 @@ +#include "global.h" + +void osViExtendVStart(u32 a0) { + __additional_scanline = a0; +} diff --git a/src/libultra/os/virtualtophysical.c b/src/libultra/os/virtualtophysical.c index 1999bdd7e6..466ff700ea 100644 --- a/src/libultra/os/virtualtophysical.c +++ b/src/libultra/os/virtualtophysical.c @@ -1,6 +1,6 @@ -#include -#include -#include +#include "PR/ultratypes.h" +#include "osint.h" +#include "stdint.h" uintptr_t osVirtualToPhysical(void* virtualAddress) { if (((uintptr_t)virtualAddress >= 0x80000000) && ((uintptr_t)virtualAddress < 0xA0000000)) { diff --git a/src/libultra/os/yieldthread.c b/src/libultra/os/yieldthread.c index 1db1ca2068..c49fd0f121 100644 --- a/src/libultra/os/yieldthread.c +++ b/src/libultra/os/yieldthread.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" void osYieldThread(void) { register u32 saveMask = __osDisableInt(); diff --git a/src/libultra/rmon/sprintf.c b/src/libultra/rmon/sprintf.c index 68aa4ac415..59468ea905 100644 --- a/src/libultra/rmon/sprintf.c +++ b/src/libultra/rmon/sprintf.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" void* proutSprintf(void* dst, char* fmt, size_t size) { return (char*)memcpy(dst, fmt, size) + size; diff --git a/src/libultra/rmon/xprintf.c b/src/libultra/rmon/xprintf.c index e87e4624b9..7b6ff7b7f2 100644 --- a/src/libultra/rmon/xprintf.c +++ b/src/libultra/rmon/xprintf.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" #define ATOI(i, a) \ for (i = 0; *a >= '0' && *a <= '9'; a++) \ @@ -40,8 +39,8 @@ int _Printf(printf_func pfn, void* arg, const char* fmt, va_list ap) { x.nchar = 0; while (1) { const char* s; - unsigned char c; - unsigned char* t; + u8 c; + const char* t; static const char fchar[] = " +-#0"; static const u32 fbit[] = { FLAGS_SPACE, FLAGS_PLUS, FLAGS_MINUS, FLAGS_HASH, FLAGS_ZERO, 0 }; diff --git a/src/libultra/voice/voicecheckresult.c b/src/libultra/voice/voicecheckresult.c index f2c2eb1ae7..44fb69be57 100644 --- a/src/libultra/voice/voicecheckresult.c +++ b/src/libultra/voice/voicecheckresult.c @@ -1,4 +1,3 @@ -#include -#include +#include "global.h" -#pragma GLOBAL_ASM("./asm/non_matchings/boot/voicecheckresult/__osVoiceCheckResult.asm") +#pragma GLOBAL_ASM("asm/non_matchings/boot/voicecheckresult/__osVoiceCheckResult.s") diff --git a/src/libultra/voice/voicegetstatus.c b/src/libultra/voice/voicegetstatus.c index 595a04d5d9..1711eb56d0 100644 --- a/src/libultra/voice/voicegetstatus.c +++ b/src/libultra/voice/voicegetstatus.c @@ -1,5 +1,4 @@ -#include -#include +#include "global.h" #include "io/controller.h" s32 __osVoiceGetStatus(OSMesgQueue* mq, s32 port, u8* status) { diff --git a/src/libultra/voice/voicesetword.c b/src/libultra/voice/voicesetword.c index 5a03194b43..e50f26874c 100644 --- a/src/libultra/voice/voicesetword.c +++ b/src/libultra/voice/voicesetword.c @@ -1,4 +1,3 @@ -#include -#include +#include "global.h" -#pragma GLOBAL_ASM("./asm/non_matchings/boot/voicesetword/osVoiceSetWord.asm") +#pragma GLOBAL_ASM("asm/non_matchings/boot/voicesetword/osVoiceSetWord.s") diff --git a/src/olv_En_Test.c.ignore b/src/olv_En_Test.c.ignore deleted file mode 100644 index 49795c6ae3..0000000000 --- a/src/olv_En_Test.c.ignore +++ /dev/null @@ -1,164 +0,0 @@ -#include -#include - -typedef struct s80862B70_s { - /* 0 */ u32 unk0; - /* 4 */ u32 unk4; - /* 8 */ f32 unk8; - /* 12 */ f32 unk12; - /* 16 */ f32 unk16; - /* 20 */ f32 unk20; - /* 24 */ f32 unk24; - /* 28 */ f32 unk28; - /* 32 */ f32 unk32; - /* 36 */ f32 unk36; - /* 40 */ f32 unk40; - /* 44 */ f32 unk44; - /* 48 */ u16 unk48; - /* 50 */ u16 unk50; - /* 52 */ u16 unk52; - /* 54 */ u16 unk54; - /* 56 */ u16 unk56; - /* 58 */ u16 unk58; -} s80862B70; - -static const f32 D_808637D0 = 1.0; - -void func_80862B70(void* a0) { - u32 i; - s80862B70* s; - f32 f = D_808637D0; - for (i = 0; i < 20; ++i) { - s = &((s80862B70*)a0)[i]; - s->unk0 = 0; - s->unk4 = 0; - s->unk8 = 0.0; - s->unk12 = 0.0; - s->unk16 = 0.0; - s->unk20 = 0.0; - s->unk24 = 0.0; - s->unk28 = 0.0; - s->unk32 = 0.0; - s->unk36 = 0.0; - s->unk40 = 0.0; - s->unk44 = f; - s->unk48 = 0; - s->unk50 = 0; - s->unk52 = 0; - s->unk54 = 0; - s->unk56 = 0; - s->unk58 = 0; - } -} - -UNK_RET func_80862CBC(UNK_ARGS) { - -} - -UNK_RET func_80862EDC(UNK_ARGS) { - -} - -UNK_RET func_80863048(UNK_ARGS) { - -} - -typedef struct s80863188_t { - u8 pad0[28]; - /* 28 */ s16 unk28; - u8 pad1[6]; - /* 36 */ UNK_TYPE unk36; - /* 40 */ f32 unk40; - /* 44 */ UNK_TYPE unk44; - /* 48 */ UNK_TYPE unk48; - /* 52 */ u16 unk52; - u8 pad2[74]; - /* 128 */ UNK_TYPE unk128; - u8 pad3[4]; - /* 136 */ f32 unk136; - u8 pad8[48]; - /* 188 */ UNK_TYPE unk188; - u8 pad9[132]; - /* 324 */ UNK_TYPE unk324; - u8 pad4[12]; - /* 340 */ f32 unk340; - u8 pad5[28]; - /* 372 */ UNK_TYPE unk372; - /* 376 */ UNK_TYPE unk376; - u8 pad6[68]; - /* 448 */ UNK_TYPE unk448; - u8 pad10[69]; - /* 521 */ u8 unk521; - /* 522 */ u8 unk522; - u8 pad7[1]; - /* 524 */ UNK_TYPE unk524; -} s80863188; - -// En_Test Init -UNK_RET func_80863188(UNK_TYPE a0, UNK_TYPE a1) { - s80863188* actor = (s80863188*)a0; - UNK_TYPE sp56; - UNK_TYPE sp52; - UNK_TYPE* sp48; - UNK_TYPE sp40; - UNK_TYPE sp20; - UNK_TYPE* sp16; - f32 f0; - - actor->unk521 = 0; - actor->unk372 = 0; - if (actor->unk28 > 0) { - func_800B67E0(a0, ((f32)actor->unk28)/D_808637E8); - actor->unk522 = 0; - } else { - actor->unk40 = actor->unk40 + 10.0f; - actor->unk128 = 0; - sp40 = a1 + 2096; - func_800C40B4(sp40, &actor->unk128, &sp52, &actor->unk36); - - f0 = actor->unk136; - if ((actor->unk128 == 0) || (f0 != -32000)) { - func_800B670C(a0); - return; - } - - actor->unk40 = f0; - - sp16 = &sp56; - sp48 = &actor->unk188; - func_800C0094(actor->unk128, actor->unk36, f0, actor->unk44); - func_8018219C(&sp56, sp48, 1, sp48); - - actor->unk52 = sp48[1]; - actor->unk522 = func_800C9BB8(sp40, actor->unk128, sp52, sp48); - } - - sp16 = &actor->unk448; - sp48 = &actor->unk324; - sp20 = 0; - func_80183430(&actor->unk324, D_0406EB70, D_0406BB0C, &actor->unk376); - - func_801834A8(sp48, D_0406BB0C); - - actor->unk340 = 9.0; - func_80862B70((void*)actor->unk524); -} - -// En_Test Dest -UNK_RET func_80863310(UNK_TYPE a0, UNK_TYPE a1) { - func_8018349C(a0+324, a0); -} - -// En_Test Main -UNK_RET func_8086333C(UNK_ARGS) { - -} - -UNK_RET func_808634B8(UNK_ARGS) { - -} - -// En_Test Draw -UNK_RET func_808636A8(UNK_ARGS) { - -} diff --git a/src/overlays/actors/ovl_Arms_Hook/z_arms_hook.h b/src/overlays/actors/ovl_Arms_Hook/z_arms_hook.h index 18431ee663..ecccf5ff05 100644 --- a/src/overlays/actors/ovl_Arms_Hook/z_arms_hook.h +++ b/src/overlays/actors/ovl_Arms_Hook/z_arms_hook.h @@ -1,7 +1,7 @@ #ifndef Z_ARMS_HOOK_H #define Z_ARMS_HOOK_H -#include +#include "global.h" struct ArmsHook; diff --git a/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c index 9b4823f222..eb941df6ef 100644 --- a/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c +++ b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c @@ -9,6 +9,12 @@ void ArrowFire_Destroy(Actor* thisx, GlobalContext* globalCtx); void ArrowFire_Update(Actor* thisx, GlobalContext* globalCtx); void ArrowFire_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80920440(ArrowFire* this, GlobalContext* globalCtx); +void func_8092058C(ArrowFire* this, GlobalContext* globalCtx); +void func_809207A0(ArrowFire* this, GlobalContext* globalCtx); + +void ArrowFire_SetupAction(ArrowFire* this, ArrowFireActionFunc actionFunc); + #if 0 // static ColliderQuadInit sQuadInit = { static ColliderQuadInit D_80922230 = { @@ -17,7 +23,6 @@ static ColliderQuadInit D_80922230 = { { { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } } }, }; - const ActorInit Arrow_Fire_InitVars = { ACTOR_ARROW_FIRE, ACTORCAT_ITEMACTION, @@ -30,26 +35,28 @@ const ActorInit Arrow_Fire_InitVars = { (ActorFunc)ArrowFire_Draw, }; - -extern ColliderQuadInit D_80922230; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Arrow_Fire_0x80920340/FireArrow_SetUpdateFunc.asm") +extern ColliderQuadInit D_80922230; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Arrow_Fire_0x80920340/ArrowFire_Init.asm") +extern UNK_TYPE D_0E0002E0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Arrow_Fire_0x80920340/ArrowFire_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Arrow_Fire/ArrowFire_SetupAction.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Arrow_Fire_0x80920340/FireArrow_Update1.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Arrow_Fire/ArrowFire_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Arrow_Fire_0x80920340/FireArrow_Lerp.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Arrow_Fire/ArrowFire_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Arrow_Fire_0x80920340/FireArrow_Update3.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Arrow_Fire/func_80920440.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Arrow_Fire_0x80920340/FireArrow_Update2.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Arrow_Fire/FireArrow_Lerp.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Arrow_Fire_0x80920340/ArrowFire_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Arrow_Fire/func_8092058C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Arrow_Fire_0x80920340/func_80920948.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Arrow_Fire/func_809207A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Arrow_Fire_0x80920340/ArrowFire_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Arrow_Fire/ArrowFire_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Arrow_Fire/func_80920948.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Arrow_Fire/ArrowFire_Draw.s") diff --git a/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.h b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.h index 5eced61f29..42c6c0add0 100644 --- a/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.h +++ b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.h @@ -1,13 +1,17 @@ #ifndef Z_ARROW_FIRE_H #define Z_ARROW_FIRE_H -#include +#include "global.h" struct ArrowFire; +typedef void (*ArrowFireActionFunc)(struct ArrowFire* this, GlobalContext* globalCtx); + typedef struct ArrowFire { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x120]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x114]; + /* 0x0258 */ ArrowFireActionFunc actionFunc; + /* 0x025C */ char unk_25C[0x8]; } ArrowFire; // size = 0x264 extern const ActorInit Arrow_Fire_InitVars; diff --git a/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.c b/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.c index d2c4c755f2..a4dad87701 100644 --- a/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.c +++ b/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.c @@ -9,6 +9,12 @@ void ArrowIce_Destroy(Actor* thisx, GlobalContext* globalCtx); void ArrowIce_Update(Actor* thisx, GlobalContext* globalCtx); void ArrowIce_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_809224DC(ArrowIce* this, GlobalContext* globalCtx); +void func_80922628(ArrowIce* this, GlobalContext* globalCtx); +void func_809227F4(ArrowIce* this, GlobalContext* globalCtx); + +void ArrowIce_SetupAction(ArrowIce* this, ArrowIceActionFunc actionFunc); + #if 0 const ActorInit Arrow_Ice_InitVars = { ACTOR_ARROW_ICE, @@ -22,30 +28,33 @@ const ActorInit Arrow_Ice_InitVars = { (ActorFunc)ArrowIce_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_809241F0[] = { ICHAIN_F32(uncullZoneForward, 2000, ICHAIN_STOP), }; - -extern InitChainEntry D_809241F0[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Arrow_Ice_0x80922430/func_80922430.asm") +extern InitChainEntry D_809241F0[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Arrow_Ice_0x80922430/ArrowIce_Init.asm") +extern UNK_TYPE D_0E0002E0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Arrow_Ice_0x80922430/ArrowIce_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Arrow_Ice/D_80924200.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Arrow_Ice_0x80922430/func_809224DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Arrow_Ice/ArrowIce_SetupAction.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Arrow_Ice_0x80922430/func_809225D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Arrow_Ice/ArrowIce_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Arrow_Ice_0x80922430/func_80922628.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Arrow_Ice/ArrowIce_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Arrow_Ice_0x80922430/func_809227F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Arrow_Ice/func_809224DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Arrow_Ice_0x80922430/ArrowIce_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Arrow_Ice/func_809225D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Arrow_Ice_0x80922430/ArrowIce_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Arrow_Ice/func_80922628.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Arrow_Ice/func_809227F4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Arrow_Ice/ArrowIce_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Arrow_Ice/ArrowIce_Draw.s") diff --git a/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.h b/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.h index ca0a7ce68d..5c6b7d8f62 100644 --- a/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.h +++ b/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.h @@ -1,13 +1,16 @@ #ifndef Z_ARROW_ICE_H #define Z_ARROW_ICE_H -#include +#include "global.h" struct ArrowIce; +typedef void (*ArrowIceActionFunc)(struct ArrowIce* this, GlobalContext* globalCtx); + typedef struct ArrowIce { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x20]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x1C]; + /* 0x0160 */ ArrowIceActionFunc actionFunc; } ArrowIce; // size = 0x164 extern const ActorInit Arrow_Ice_InitVars; diff --git a/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.c b/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.c index 32835a3e8e..e39d085707 100644 --- a/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.c +++ b/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.c @@ -9,6 +9,12 @@ void ArrowLight_Destroy(Actor* thisx, GlobalContext* globalCtx); void ArrowLight_Update(Actor* thisx, GlobalContext* globalCtx); void ArrowLight_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_809243AC(ArrowLight* this, GlobalContext* globalCtx); +void func_809244F8(ArrowLight* this, GlobalContext* globalCtx); +void func_809246C4(ArrowLight* this, GlobalContext* globalCtx); + +void ArrowLight_SetupAction(ArrowLight* this, ArrowLightActionFunc actionFunc); + #if 0 const ActorInit Arrow_Light_InitVars = { ACTOR_ARROW_LIGHT, @@ -22,30 +28,33 @@ const ActorInit Arrow_Light_InitVars = { (ActorFunc)ArrowLight_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_809260A0[] = { ICHAIN_F32(uncullZoneForward, 2000, ICHAIN_STOP), }; - -extern InitChainEntry D_809260A0[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Arrow_Light_0x80924300/func_80924300.asm") +extern InitChainEntry D_809260A0[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Arrow_Light_0x80924300/ArrowLight_Init.asm") +extern UNK_TYPE D_0E0002E0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Arrow_Light_0x80924300/ArrowLight_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Arrow_Light/D_809260B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Arrow_Light_0x80924300/func_809243AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Arrow_Light/ArrowLight_SetupAction.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Arrow_Light_0x80924300/func_809244A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Arrow_Light/ArrowLight_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Arrow_Light_0x80924300/func_809244F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Arrow_Light/ArrowLight_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Arrow_Light_0x80924300/func_809246C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Arrow_Light/func_809243AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Arrow_Light_0x80924300/ArrowLight_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Arrow_Light/func_809244A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Arrow_Light_0x80924300/ArrowLight_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Arrow_Light/func_809244F8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Arrow_Light/func_809246C4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Arrow_Light/ArrowLight_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Arrow_Light/ArrowLight_Draw.s") diff --git a/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.h b/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.h index e16d814c71..ab8b5919a8 100644 --- a/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.h +++ b/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.h @@ -1,13 +1,16 @@ #ifndef Z_ARROW_LIGHT_H #define Z_ARROW_LIGHT_H -#include +#include "global.h" struct ArrowLight; +typedef void (*ArrowLightActionFunc)(struct ArrowLight* this, GlobalContext* globalCtx); + typedef struct ArrowLight { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x20]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x1C]; + /* 0x0160 */ ArrowLightActionFunc actionFunc; } ArrowLight; // size = 0x164 extern const ActorInit Arrow_Light_InitVars; diff --git a/src/overlays/actors/ovl_Bg_Astr_Bombwall/z_bg_astr_bombwall.c b/src/overlays/actors/ovl_Bg_Astr_Bombwall/z_bg_astr_bombwall.c index 6db3e4938d..2e48496c2f 100644 --- a/src/overlays/actors/ovl_Bg_Astr_Bombwall/z_bg_astr_bombwall.c +++ b/src/overlays/actors/ovl_Bg_Astr_Bombwall/z_bg_astr_bombwall.c @@ -22,7 +22,6 @@ const ActorInit Bg_Astr_Bombwall_InitVars = { (ActorFunc)BgAstrBombwall_Draw, }; - // static ColliderTrisElementInit sTrisElementsInit[2] = { static ColliderTrisElementInit D_80C0A620[2] = { { @@ -41,38 +40,41 @@ static ColliderTrisInit D_80C0A698 = { 2, D_80C0A620, // sTrisElementsInit, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80C0A6A8[] = { ICHAIN_VEC3F_DIV1000(scale, 1000, ICHAIN_STOP), }; +#endif extern ColliderTrisElementInit D_80C0A620[2]; extern ColliderTrisInit D_80C0A698; extern InitChainEntry D_80C0A6A8[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Astr_Bombwall_0x80C09ED0/func_80C09ED0.asm") +extern UNK_TYPE D_06002178; +extern UNK_TYPE D_06002380; +extern UNK_TYPE D_06002498; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Astr_Bombwall_0x80C09ED0/BgAstrBombwall_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Astr_Bombwall/func_80C09ED0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Astr_Bombwall_0x80C09ED0/BgAstrBombwall_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Astr_Bombwall/BgAstrBombwall_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Astr_Bombwall_0x80C09ED0/func_80C0A120.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Astr_Bombwall/BgAstrBombwall_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Astr_Bombwall_0x80C09ED0/func_80C0A378.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Astr_Bombwall/func_80C0A120.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Astr_Bombwall_0x80C09ED0/func_80C0A38C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Astr_Bombwall/func_80C0A378.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Astr_Bombwall_0x80C09ED0/func_80C0A400.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Astr_Bombwall/func_80C0A38C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Astr_Bombwall_0x80C09ED0/func_80C0A418.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Astr_Bombwall/func_80C0A400.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Astr_Bombwall_0x80C09ED0/func_80C0A458.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Astr_Bombwall/func_80C0A418.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Astr_Bombwall_0x80C09ED0/func_80C0A4BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Astr_Bombwall/func_80C0A458.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Astr_Bombwall_0x80C09ED0/BgAstrBombwall_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Astr_Bombwall/func_80C0A4BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Astr_Bombwall_0x80C09ED0/BgAstrBombwall_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Astr_Bombwall/BgAstrBombwall_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Astr_Bombwall/BgAstrBombwall_Draw.s") diff --git a/src/overlays/actors/ovl_Bg_Astr_Bombwall/z_bg_astr_bombwall.h b/src/overlays/actors/ovl_Bg_Astr_Bombwall/z_bg_astr_bombwall.h index a17cfdc93f..09f4990ef7 100644 --- a/src/overlays/actors/ovl_Bg_Astr_Bombwall/z_bg_astr_bombwall.h +++ b/src/overlays/actors/ovl_Bg_Astr_Bombwall/z_bg_astr_bombwall.h @@ -1,13 +1,17 @@ #ifndef Z_BG_ASTR_BOMBWALL_H #define Z_BG_ASTR_BOMBWALL_H -#include +#include "global.h" struct BgAstrBombwall; +typedef void (*BgAstrBombwallActionFunc)(struct BgAstrBombwall* this, GlobalContext* globalCtx); + typedef struct BgAstrBombwall { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0xF8]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x18]; + /* 0x015C */ BgAstrBombwallActionFunc actionFunc; + /* 0x0160 */ char unk_160[0xDC]; } BgAstrBombwall; // size = 0x23C extern const ActorInit Bg_Astr_Bombwall_InitVars; diff --git a/src/overlays/actors/ovl_Bg_Botihasira/z_bg_botihasira.c b/src/overlays/actors/ovl_Bg_Botihasira/z_bg_botihasira.c index f802879e35..086ca1c9d5 100644 --- a/src/overlays/actors/ovl_Bg_Botihasira/z_bg_botihasira.c +++ b/src/overlays/actors/ovl_Bg_Botihasira/z_bg_botihasira.c @@ -22,7 +22,6 @@ const ActorInit Bg_Botihasira_InitVars = { (ActorFunc)BgBotihasira_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80B282F0 = { { COLTYPE_METAL, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,16 +29,19 @@ static ColliderCylinderInit D_80B282F0 = { { 27, 80, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80B282F0; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Botihasira_0x80B28080/BgBotihasira_Init.asm") +extern ColliderCylinderInit D_80B282F0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Botihasira_0x80B28080/BgBotihasira_Destroy.asm") +extern UNK_TYPE D_06000638; +extern UNK_TYPE D_06001BD8; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Botihasira_0x80B28080/func_80B2815C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Botihasira/BgBotihasira_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Botihasira_0x80B28080/BgBotihasira_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Botihasira/BgBotihasira_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Botihasira_0x80B28080/BgBotihasira_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Botihasira/func_80B2815C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Botihasira/BgBotihasira_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Botihasira/BgBotihasira_Draw.s") diff --git a/src/overlays/actors/ovl_Bg_Botihasira/z_bg_botihasira.h b/src/overlays/actors/ovl_Bg_Botihasira/z_bg_botihasira.h index bf3b2f60a5..2ba75c0408 100644 --- a/src/overlays/actors/ovl_Bg_Botihasira/z_bg_botihasira.h +++ b/src/overlays/actors/ovl_Bg_Botihasira/z_bg_botihasira.h @@ -1,13 +1,17 @@ #ifndef Z_BG_BOTIHASIRA_H #define Z_BG_BOTIHASIRA_H -#include +#include "global.h" struct BgBotihasira; +typedef void (*BgBotihasiraActionFunc)(struct BgBotihasira* this, GlobalContext* globalCtx); + typedef struct BgBotihasira { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x68]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x18]; + /* 0x015C */ BgBotihasiraActionFunc actionFunc; + /* 0x0160 */ char unk_160[0x4C]; } BgBotihasira; // size = 0x1AC extern const ActorInit Bg_Botihasira_InitVars; diff --git a/src/overlays/actors/ovl_Bg_Breakwall/z_bg_breakwall.c b/src/overlays/actors/ovl_Bg_Breakwall/z_bg_breakwall.c index 064496c0ba..cb97f62a5f 100644 --- a/src/overlays/actors/ovl_Bg_Breakwall/z_bg_breakwall.c +++ b/src/overlays/actors/ovl_Bg_Breakwall/z_bg_breakwall.c @@ -7,6 +7,8 @@ void BgBreakwall_Init(Actor* thisx, GlobalContext* globalCtx); void BgBreakwall_Update(Actor* thisx, GlobalContext* globalCtx); +void BgBreakwall_SetupAction(BgBreakwall* this, BgBreakwallActionFunc actionFunc); + #if 0 const ActorInit Bg_Breakwall_InitVars = { ACTOR_BG_BREAKWALL, @@ -20,7 +22,6 @@ const ActorInit Bg_Breakwall_InitVars = { (ActorFunc)NULL, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_808B82E0[] = { ICHAIN_VEC3F(scale, 1, ICHAIN_CONTINUE), @@ -29,56 +30,58 @@ static InitChainEntry D_808B82E0[] = { ICHAIN_F32(uncullZoneDownward, 800, ICHAIN_STOP), }; - -extern InitChainEntry D_808B82E0[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Breakwall_0x808B7360/func_808B7360.asm") +extern InitChainEntry D_808B82E0[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Breakwall_0x808B7360/func_808B736C.asm") +extern UNK_TYPE D_06000A50; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Breakwall_0x808B7360/func_808B7380.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Breakwall/BgBreakwall_SetupAction.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Breakwall_0x808B7360/func_808B73C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Breakwall/func_808B736C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Breakwall_0x808B7360/func_808B73FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Breakwall/func_808B7380.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Breakwall_0x808B7360/func_808B7410.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Breakwall/func_808B73C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Breakwall_0x808B7360/func_808B7460.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Breakwall/func_808B73FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Breakwall_0x808B7360/func_808B74A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Breakwall/func_808B7410.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Breakwall_0x808B7360/func_808B74D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Breakwall/func_808B7460.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Breakwall_0x808B7360/func_808B751C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Breakwall/func_808B74A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Breakwall_0x808B7360/BgBreakwall_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Breakwall/func_808B74D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Breakwall_0x808B7360/func_808B767C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Breakwall/func_808B751C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Breakwall_0x808B7360/func_808B76CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Breakwall/BgBreakwall_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Breakwall_0x808B7360/func_808B77D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Breakwall/func_808B767C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Breakwall_0x808B7360/func_808B77E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Breakwall/func_808B76CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Breakwall_0x808B7360/func_808B782C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Breakwall/func_808B77D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Breakwall_0x808B7360/func_808B78A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Breakwall/func_808B77E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Breakwall_0x808B7360/func_808B78DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Breakwall/func_808B782C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Breakwall_0x808B7360/func_808B7914.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Breakwall/func_808B78A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Breakwall_0x808B7360/func_808B7A10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Breakwall/func_808B78DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Breakwall_0x808B7360/BgBreakwall_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Breakwall/func_808B7914.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Breakwall_0x808B7360/func_808B7A90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Breakwall/func_808B7A10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Breakwall_0x808B7360/func_808B7B54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Breakwall/BgBreakwall_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Breakwall_0x808B7360/func_808B7D34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Breakwall/func_808B7A90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Breakwall_0x808B7360/func_808B7FE4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Breakwall/func_808B7B54.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Breakwall/func_808B7D34.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Breakwall/func_808B7FE4.s") diff --git a/src/overlays/actors/ovl_Bg_Breakwall/z_bg_breakwall.h b/src/overlays/actors/ovl_Bg_Breakwall/z_bg_breakwall.h index 81c8536a6a..4699a43660 100644 --- a/src/overlays/actors/ovl_Bg_Breakwall/z_bg_breakwall.h +++ b/src/overlays/actors/ovl_Bg_Breakwall/z_bg_breakwall.h @@ -1,13 +1,16 @@ #ifndef Z_BG_BREAKWALL_H #define Z_BG_BREAKWALL_H -#include +#include "global.h" struct BgBreakwall; +typedef void (*BgBreakwallActionFunc)(struct BgBreakwall* this, GlobalContext* globalCtx); + typedef struct BgBreakwall { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x20]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x1C]; + /* 0x0160 */ BgBreakwallActionFunc actionFunc; } BgBreakwall; // size = 0x164 extern const ActorInit Bg_Breakwall_InitVars; diff --git a/src/overlays/actors/ovl_Bg_Crace_Movebg/z_bg_crace_movebg.c b/src/overlays/actors/ovl_Bg_Crace_Movebg/z_bg_crace_movebg.c index 0156c38a10..dac7789453 100644 --- a/src/overlays/actors/ovl_Bg_Crace_Movebg/z_bg_crace_movebg.c +++ b/src/overlays/actors/ovl_Bg_Crace_Movebg/z_bg_crace_movebg.c @@ -24,42 +24,45 @@ const ActorInit Bg_Crace_Movebg_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Crace_Movebg_0x80A706F0/BgCraceMovebg_Init.asm") +extern UNK_TYPE D_060003A0; +extern UNK_TYPE D_06000E00; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Crace_Movebg_0x80A706F0/func_80A7090C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Crace_Movebg/BgCraceMovebg_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Crace_Movebg_0x80A706F0/func_80A70970.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Crace_Movebg/func_80A7090C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Crace_Movebg_0x80A706F0/func_80A7099C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Crace_Movebg/func_80A70970.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Crace_Movebg_0x80A706F0/func_80A709E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Crace_Movebg/func_80A7099C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Crace_Movebg_0x80A706F0/func_80A70A08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Crace_Movebg/func_80A709E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Crace_Movebg_0x80A706F0/func_80A70A84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Crace_Movebg/func_80A70A08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Crace_Movebg_0x80A706F0/func_80A70A9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Crace_Movebg/func_80A70A84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Crace_Movebg_0x80A706F0/BgCraceMovebg_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Crace_Movebg/func_80A70A9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Crace_Movebg_0x80A706F0/BgCraceMovebg_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Crace_Movebg/BgCraceMovebg_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Crace_Movebg_0x80A706F0/func_80A70C04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Crace_Movebg/BgCraceMovebg_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Crace_Movebg_0x80A706F0/func_80A70D74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Crace_Movebg/func_80A70C04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Crace_Movebg_0x80A706F0/func_80A70DA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Crace_Movebg/func_80A70D74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Crace_Movebg_0x80A706F0/func_80A70E2C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Crace_Movebg/func_80A70DA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Crace_Movebg_0x80A706F0/func_80A70E70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Crace_Movebg/func_80A70E2C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Crace_Movebg_0x80A706F0/func_80A70F14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Crace_Movebg/func_80A70E70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Crace_Movebg_0x80A706F0/func_80A70F2C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Crace_Movebg/func_80A70F14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Crace_Movebg_0x80A706F0/func_80A70FF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Crace_Movebg/func_80A70F2C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Crace_Movebg_0x80A706F0/func_80A71040.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Crace_Movebg/func_80A70FF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Crace_Movebg_0x80A706F0/BgCraceMovebg_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Crace_Movebg/func_80A71040.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Crace_Movebg/BgCraceMovebg_Draw.s") diff --git a/src/overlays/actors/ovl_Bg_Crace_Movebg/z_bg_crace_movebg.h b/src/overlays/actors/ovl_Bg_Crace_Movebg/z_bg_crace_movebg.h index c05a762dae..d13258d48e 100644 --- a/src/overlays/actors/ovl_Bg_Crace_Movebg/z_bg_crace_movebg.h +++ b/src/overlays/actors/ovl_Bg_Crace_Movebg/z_bg_crace_movebg.h @@ -1,13 +1,17 @@ #ifndef Z_BG_CRACE_MOVEBG_H #define Z_BG_CRACE_MOVEBG_H -#include +#include "global.h" struct BgCraceMovebg; +typedef void (*BgCraceMovebgActionFunc)(struct BgCraceMovebg* this, GlobalContext* globalCtx); + typedef struct BgCraceMovebg { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x50]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x18]; + /* 0x015C */ BgCraceMovebgActionFunc actionFunc; + /* 0x0160 */ char unk_160[0x34]; } BgCraceMovebg; // size = 0x194 extern const ActorInit Bg_Crace_Movebg_InitVars; diff --git a/src/overlays/actors/ovl_Bg_Ctower_Gear/z_bg_ctower_gear.c b/src/overlays/actors/ovl_Bg_Ctower_Gear/z_bg_ctower_gear.c index 48b02a870d..c2554ec61c 100644 --- a/src/overlays/actors/ovl_Bg_Ctower_Gear/z_bg_ctower_gear.c +++ b/src/overlays/actors/ovl_Bg_Ctower_Gear/z_bg_ctower_gear.c @@ -40,17 +40,11 @@ const ActorInit Bg_Ctower_Gear_InitVars = { }; extern Gfx D_06010828[]; - extern Gfx D_06015F30[]; - extern Gfx D_060160A0[]; - extern CollisionHeader D_06016E70; - extern Gfx D_06017018[]; - extern Gfx D_06018118[]; - extern CollisionHeader D_06018588; static Vec3f D_80AD3270[] = { diff --git a/src/overlays/actors/ovl_Bg_Ctower_Gear/z_bg_ctower_gear.h b/src/overlays/actors/ovl_Bg_Ctower_Gear/z_bg_ctower_gear.h index d36bd9425d..caf8d3508c 100644 --- a/src/overlays/actors/ovl_Bg_Ctower_Gear/z_bg_ctower_gear.h +++ b/src/overlays/actors/ovl_Bg_Ctower_Gear/z_bg_ctower_gear.h @@ -1,7 +1,7 @@ #ifndef Z_BG_CTOWER_GEAR_H #define Z_BG_CTOWER_GEAR_H -#include +#include "global.h" struct BgCtowerGear; diff --git a/src/overlays/actors/ovl_Bg_Ctower_Rot/z_bg_ctower_rot.c b/src/overlays/actors/ovl_Bg_Ctower_Rot/z_bg_ctower_rot.c index 5ad9302301..55d5564c86 100644 --- a/src/overlays/actors/ovl_Bg_Ctower_Rot/z_bg_ctower_rot.c +++ b/src/overlays/actors/ovl_Bg_Ctower_Rot/z_bg_ctower_rot.c @@ -33,17 +33,11 @@ const ActorInit Bg_Ctower_Rot_InitVars = { }; extern Gfx D_060129D0[]; - extern Gfx D_06012DA0[]; - extern CollisionHeader D_060142E8; - extern Gfx D_06017220[]; - extern CollisionHeader D_06017410; - extern Gfx D_060174E0[]; - extern CollisionHeader D_06017650; static InitChainEntry sInitChain[] = { diff --git a/src/overlays/actors/ovl_Bg_Ctower_Rot/z_bg_ctower_rot.h b/src/overlays/actors/ovl_Bg_Ctower_Rot/z_bg_ctower_rot.h index bef34f6ecb..78ff6744b3 100644 --- a/src/overlays/actors/ovl_Bg_Ctower_Rot/z_bg_ctower_rot.h +++ b/src/overlays/actors/ovl_Bg_Ctower_Rot/z_bg_ctower_rot.h @@ -1,7 +1,7 @@ #ifndef Z_BG_CTOWER_ROT_H #define Z_BG_CTOWER_ROT_H -#include +#include "global.h" struct BgCtowerRot; diff --git a/src/overlays/actors/ovl_Bg_Danpei_Movebg/z_bg_danpei_movebg.c b/src/overlays/actors/ovl_Bg_Danpei_Movebg/z_bg_danpei_movebg.c index 10474c41e2..29fbd928d9 100644 --- a/src/overlays/actors/ovl_Bg_Danpei_Movebg/z_bg_danpei_movebg.c +++ b/src/overlays/actors/ovl_Bg_Danpei_Movebg/z_bg_danpei_movebg.c @@ -21,7 +21,6 @@ const ActorInit Bg_Danpei_Movebg_InitVars = { (ActorFunc)NULL, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80AF753C[] = { ICHAIN_F32(uncullZoneScale, 1500, ICHAIN_CONTINUE), @@ -30,30 +29,30 @@ static InitChainEntry D_80AF753C[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), }; - -extern InitChainEntry D_80AF753C[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Danpei_Movebg_0x80AF6DE0/func_80AF6DE0.asm") +extern InitChainEntry D_80AF753C[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Danpei_Movebg_0x80AF6DE0/BgDanpeiMovebg_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Danpei_Movebg/func_80AF6DE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Danpei_Movebg_0x80AF6DE0/func_80AF6EA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Danpei_Movebg/BgDanpeiMovebg_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Danpei_Movebg_0x80AF6DE0/BgDanpeiMovebg_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Danpei_Movebg/func_80AF6EA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Danpei_Movebg_0x80AF6DE0/BgDanpeiMovebg_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Danpei_Movebg/BgDanpeiMovebg_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Danpei_Movebg_0x80AF6DE0/func_80AF705C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Danpei_Movebg/BgDanpeiMovebg_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Danpei_Movebg_0x80AF6DE0/func_80AF70FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Danpei_Movebg/func_80AF705C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Danpei_Movebg_0x80AF6DE0/func_80AF71FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Danpei_Movebg/func_80AF70FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Danpei_Movebg_0x80AF6DE0/func_80AF72F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Danpei_Movebg/func_80AF71FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Danpei_Movebg_0x80AF6DE0/func_80AF7354.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Danpei_Movebg/func_80AF72F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Danpei_Movebg_0x80AF6DE0/func_80AF746C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Danpei_Movebg/func_80AF7354.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Danpei_Movebg_0x80AF6DE0/func_80AF74CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Danpei_Movebg/func_80AF746C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Danpei_Movebg/func_80AF74CC.s") diff --git a/src/overlays/actors/ovl_Bg_Danpei_Movebg/z_bg_danpei_movebg.h b/src/overlays/actors/ovl_Bg_Danpei_Movebg/z_bg_danpei_movebg.h index b8de0d17e3..49c5282497 100644 --- a/src/overlays/actors/ovl_Bg_Danpei_Movebg/z_bg_danpei_movebg.h +++ b/src/overlays/actors/ovl_Bg_Danpei_Movebg/z_bg_danpei_movebg.h @@ -1,13 +1,17 @@ #ifndef Z_BG_DANPEI_MOVEBG_H #define Z_BG_DANPEI_MOVEBG_H -#include +#include "global.h" struct BgDanpeiMovebg; +typedef void (*BgDanpeiMovebgActionFunc)(struct BgDanpeiMovebg* this, GlobalContext* globalCtx); + typedef struct BgDanpeiMovebg { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x94]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x18]; + /* 0x015C */ BgDanpeiMovebgActionFunc actionFunc; + /* 0x0160 */ char unk_160[0x78]; } BgDanpeiMovebg; // size = 0x1D8 extern const ActorInit Bg_Danpei_Movebg_InitVars; diff --git a/src/overlays/actors/ovl_Bg_Dblue_Balance/z_bg_dblue_balance.c b/src/overlays/actors/ovl_Bg_Dblue_Balance/z_bg_dblue_balance.c index 16aabb24a5..03d9d60f6b 100644 --- a/src/overlays/actors/ovl_Bg_Dblue_Balance/z_bg_dblue_balance.c +++ b/src/overlays/actors/ovl_Bg_Dblue_Balance/z_bg_dblue_balance.c @@ -9,6 +9,10 @@ void BgDblueBalance_Destroy(Actor* thisx, GlobalContext* globalCtx); void BgDblueBalance_Update(Actor* thisx, GlobalContext* globalCtx); void BgDblueBalance_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80B82DE0(BgDblueBalance* this, GlobalContext* globalCtx); +void func_80B8335C(BgDblueBalance* this, GlobalContext* globalCtx); +void func_80B833C4(BgDblueBalance* this, GlobalContext* globalCtx); + #if 0 const ActorInit Bg_Dblue_Balance_InitVars = { ACTOR_BG_DBLUE_BALANCE, @@ -22,53 +26,56 @@ const ActorInit Bg_Dblue_Balance_InitVars = { (ActorFunc)BgDblueBalance_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80B83A98[] = { ICHAIN_F32(uncullZoneForward, 4000, ICHAIN_CONTINUE), ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), }; - -extern InitChainEntry D_80B83A98[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Balance_0x80B823B0/func_80B823B0.asm") +extern InitChainEntry D_80B83A98[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Balance_0x80B823B0/func_80B82454.asm") +extern UNK_TYPE D_0600CD10; +extern UNK_TYPE D_0600CE00; +extern UNK_TYPE D_0600D110; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Balance_0x80B823B0/func_80B8259C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Balance/func_80B823B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Balance_0x80B823B0/func_80B8264C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Balance/func_80B82454.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Balance_0x80B823B0/func_80B828E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Balance/func_80B8259C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Balance_0x80B823B0/func_80B8296C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Balance/func_80B8264C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Balance_0x80B823B0/func_80B82B00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Balance/func_80B828E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Balance_0x80B823B0/BgDblueBalance_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Balance/func_80B8296C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Balance_0x80B823B0/BgDblueBalance_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Balance/func_80B82B00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Balance_0x80B823B0/func_80B82DC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Balance/BgDblueBalance_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Balance_0x80B823B0/func_80B82DE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Balance/BgDblueBalance_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Balance_0x80B823B0/BgDblueBalance_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Balance/func_80B82DC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Balance_0x80B823B0/func_80B8330C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Balance/func_80B82DE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Balance_0x80B823B0/func_80B83344.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Balance/BgDblueBalance_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Balance_0x80B823B0/func_80B8335C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Balance/func_80B8330C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Balance_0x80B823B0/func_80B833A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Balance/func_80B83344.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Balance_0x80B823B0/func_80B833C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Balance/func_80B8335C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Balance_0x80B823B0/func_80B83518.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Balance/func_80B833A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Balance_0x80B823B0/BgDblueBalance_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Balance/func_80B833C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Balance_0x80B823B0/func_80B83758.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Balance/func_80B83518.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Balance/BgDblueBalance_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Balance/func_80B83758.s") diff --git a/src/overlays/actors/ovl_Bg_Dblue_Balance/z_bg_dblue_balance.h b/src/overlays/actors/ovl_Bg_Dblue_Balance/z_bg_dblue_balance.h index 8d31ae167c..1b777eb009 100644 --- a/src/overlays/actors/ovl_Bg_Dblue_Balance/z_bg_dblue_balance.h +++ b/src/overlays/actors/ovl_Bg_Dblue_Balance/z_bg_dblue_balance.h @@ -1,13 +1,17 @@ #ifndef Z_BG_DBLUE_BALANCE_H #define Z_BG_DBLUE_BALANCE_H -#include +#include "global.h" struct BgDblueBalance; +typedef void (*BgDblueBalanceActionFunc)(struct BgDblueBalance* this, GlobalContext* globalCtx); + typedef struct BgDblueBalance { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0xE8]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x24]; + /* 0x0168 */ BgDblueBalanceActionFunc actionFunc; + /* 0x016C */ char unk_16C[0xC0]; } BgDblueBalance; // size = 0x22C extern const ActorInit Bg_Dblue_Balance_InitVars; diff --git a/src/overlays/actors/ovl_Bg_Dblue_Elevator/z_bg_dblue_elevator.c b/src/overlays/actors/ovl_Bg_Dblue_Elevator/z_bg_dblue_elevator.c index 143d2b9150..708d13c6c4 100644 --- a/src/overlays/actors/ovl_Bg_Dblue_Elevator/z_bg_dblue_elevator.c +++ b/src/overlays/actors/ovl_Bg_Dblue_Elevator/z_bg_dblue_elevator.c @@ -22,7 +22,6 @@ const ActorInit Bg_Dblue_Elevator_InitVars = { (ActorFunc)BgDblueElevator_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80B929EC[] = { ICHAIN_F32(uncullZoneForward, 4000, ICHAIN_CONTINUE), @@ -31,34 +30,37 @@ static InitChainEntry D_80B929EC[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), }; - -extern InitChainEntry D_80B929EC[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Elevator_0x80B91F20/func_80B91F20.asm") +extern InitChainEntry D_80B929EC[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Elevator_0x80B91F20/func_80B91F74.asm") +extern UNK_TYPE D_060002C8; +extern UNK_TYPE D_060005C4; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Elevator_0x80B91F20/func_80B922C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Elevator/func_80B91F20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Elevator_0x80B91F20/func_80B922FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Elevator/func_80B91F74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Elevator_0x80B91F20/BgDblueElevator_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Elevator/func_80B922C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Elevator_0x80B91F20/BgDblueElevator_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Elevator/func_80B922FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Elevator_0x80B91F20/func_80B924DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Elevator/BgDblueElevator_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Elevator_0x80B91F20/func_80B924F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Elevator/BgDblueElevator_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Elevator_0x80B91F20/func_80B9257C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Elevator/func_80B924DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Elevator_0x80B91F20/func_80B925B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Elevator/func_80B924F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Elevator_0x80B91F20/func_80B92644.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Elevator/func_80B9257C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Elevator_0x80B91F20/func_80B92660.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Elevator/func_80B925B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Elevator_0x80B91F20/BgDblueElevator_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Elevator/func_80B92644.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Elevator_0x80B91F20/BgDblueElevator_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Elevator/func_80B92660.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Elevator/BgDblueElevator_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Elevator/BgDblueElevator_Draw.s") diff --git a/src/overlays/actors/ovl_Bg_Dblue_Elevator/z_bg_dblue_elevator.h b/src/overlays/actors/ovl_Bg_Dblue_Elevator/z_bg_dblue_elevator.h index 04e59e7d31..daba73e186 100644 --- a/src/overlays/actors/ovl_Bg_Dblue_Elevator/z_bg_dblue_elevator.h +++ b/src/overlays/actors/ovl_Bg_Dblue_Elevator/z_bg_dblue_elevator.h @@ -1,13 +1,17 @@ #ifndef Z_BG_DBLUE_ELEVATOR_H #define Z_BG_DBLUE_ELEVATOR_H -#include +#include "global.h" struct BgDblueElevator; +typedef void (*BgDblueElevatorActionFunc)(struct BgDblueElevator* this, GlobalContext* globalCtx); + typedef struct BgDblueElevator { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x2C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x18]; + /* 0x015C */ BgDblueElevatorActionFunc actionFunc; + /* 0x0160 */ char unk_160[0x10]; } BgDblueElevator; // size = 0x170 extern const ActorInit Bg_Dblue_Elevator_InitVars; diff --git a/src/overlays/actors/ovl_Bg_Dblue_Movebg/z_bg_dblue_movebg.c b/src/overlays/actors/ovl_Bg_Dblue_Movebg/z_bg_dblue_movebg.c index a6f171e3de..043b55d9f3 100644 --- a/src/overlays/actors/ovl_Bg_Dblue_Movebg/z_bg_dblue_movebg.c +++ b/src/overlays/actors/ovl_Bg_Dblue_Movebg/z_bg_dblue_movebg.c @@ -24,40 +24,44 @@ const ActorInit Bg_Dblue_Movebg_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Movebg_0x80A29A80/func_80A29A80.asm") +extern UNK_TYPE D_06004848; +extern UNK_TYPE D_060052B8; +extern UNK_TYPE D_06008778; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Movebg_0x80A29A80/BgDblueMovebg_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Movebg/func_80A29A80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Movebg_0x80A29A80/BgDblueMovebg_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Movebg/BgDblueMovebg_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Movebg_0x80A29A80/func_80A2A128.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Movebg/BgDblueMovebg_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Movebg_0x80A29A80/func_80A2A1E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Movebg/func_80A2A128.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Movebg_0x80A29A80/func_80A2A32C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Movebg/func_80A2A1E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Movebg_0x80A29A80/func_80A2A444.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Movebg/func_80A2A32C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Movebg_0x80A29A80/func_80A2A670.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Movebg/func_80A2A444.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Movebg_0x80A29A80/func_80A2A688.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Movebg/func_80A2A670.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Movebg_0x80A29A80/func_80A2A714.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Movebg/func_80A2A688.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Movebg_0x80A29A80/func_80A2A7F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Movebg/func_80A2A714.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Movebg_0x80A29A80/func_80A2AAB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Movebg/func_80A2A7F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Movebg_0x80A29A80/func_80A2ABD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Movebg/func_80A2AAB8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Movebg_0x80A29A80/func_80A2AED0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Movebg/func_80A2ABD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Movebg_0x80A29A80/func_80A2B1A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Movebg/func_80A2AED0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Movebg_0x80A29A80/BgDblueMovebg_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Movebg/func_80A2B1A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Movebg_0x80A29A80/func_80A2B274.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Movebg/BgDblueMovebg_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Movebg_0x80A29A80/func_80A2B308.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Movebg/func_80A2B274.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Movebg_0x80A29A80/BgDblueMovebg_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Movebg/func_80A2B308.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Movebg/BgDblueMovebg_Draw.s") diff --git a/src/overlays/actors/ovl_Bg_Dblue_Movebg/z_bg_dblue_movebg.h b/src/overlays/actors/ovl_Bg_Dblue_Movebg/z_bg_dblue_movebg.h index 57d001d31c..cacee503d8 100644 --- a/src/overlays/actors/ovl_Bg_Dblue_Movebg/z_bg_dblue_movebg.h +++ b/src/overlays/actors/ovl_Bg_Dblue_Movebg/z_bg_dblue_movebg.h @@ -1,13 +1,17 @@ #ifndef Z_BG_DBLUE_MOVEBG_H #define Z_BG_DBLUE_MOVEBG_H -#include +#include "global.h" struct BgDblueMovebg; +typedef void (*BgDblueMovebgActionFunc)(struct BgDblueMovebg* this, GlobalContext* globalCtx); + typedef struct BgDblueMovebg { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x22C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x18]; + /* 0x015C */ BgDblueMovebgActionFunc actionFunc; + /* 0x0160 */ char unk_160[0x210]; } BgDblueMovebg; // size = 0x370 extern const ActorInit Bg_Dblue_Movebg_InitVars; diff --git a/src/overlays/actors/ovl_Bg_Dblue_Waterfall/z_bg_dblue_waterfall.c b/src/overlays/actors/ovl_Bg_Dblue_Waterfall/z_bg_dblue_waterfall.c index b3dd893e01..97ddab138d 100644 --- a/src/overlays/actors/ovl_Bg_Dblue_Waterfall/z_bg_dblue_waterfall.c +++ b/src/overlays/actors/ovl_Bg_Dblue_Waterfall/z_bg_dblue_waterfall.c @@ -9,6 +9,11 @@ void BgDblueWaterfall_Destroy(Actor* thisx, GlobalContext* globalCtx); void BgDblueWaterfall_Update(Actor* thisx, GlobalContext* globalCtx); void BgDblueWaterfall_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80B84928(BgDblueWaterfall* this, GlobalContext* globalCtx); +void func_80B84AEC(BgDblueWaterfall* this, GlobalContext* globalCtx); +void func_80B84BCC(BgDblueWaterfall* this, GlobalContext* globalCtx); +void func_80B84F20(BgDblueWaterfall* this, GlobalContext* globalCtx); + #if 0 const ActorInit Bg_Dblue_Waterfall_InitVars = { ACTOR_BG_DBLUE_WATERFALL, @@ -22,7 +27,6 @@ const ActorInit Bg_Dblue_Waterfall_InitVars = { (ActorFunc)BgDblueWaterfall_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80B85370 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -30,7 +34,6 @@ static ColliderCylinderInit D_80B85370 = { { 50, 740, -740, { 0, 0, 0 } }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80B853A8[] = { ICHAIN_F32(uncullZoneForward, 4000, ICHAIN_CONTINUE), @@ -39,51 +42,54 @@ static InitChainEntry D_80B853A8[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80B85370; extern InitChainEntry D_80B853A8[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Waterfall_0x80B83C80/func_80B83C80.asm") +extern UNK_TYPE D_0600B280; +extern UNK_TYPE D_0600B448; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Waterfall_0x80B83C80/func_80B83D04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Waterfall/func_80B83C80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Waterfall_0x80B83C80/func_80B83D58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Waterfall/func_80B83D04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Waterfall_0x80B83C80/func_80B83D94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Waterfall/func_80B83D58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Waterfall_0x80B83C80/func_80B83E1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Waterfall/func_80B83D94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Waterfall_0x80B83C80/func_80B83EA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Waterfall/func_80B83E1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Waterfall_0x80B83C80/func_80B841A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Waterfall/func_80B83EA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Waterfall_0x80B83C80/func_80B84348.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Waterfall/func_80B841A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Waterfall_0x80B83C80/func_80B84568.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Waterfall/func_80B84348.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Waterfall_0x80B83C80/func_80B84610.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Waterfall/func_80B84568.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Waterfall_0x80B83C80/BgDblueWaterfall_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Waterfall/func_80B84610.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Waterfall_0x80B83C80/BgDblueWaterfall_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Waterfall/BgDblueWaterfall_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Waterfall_0x80B83C80/func_80B8484C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Waterfall/BgDblueWaterfall_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Waterfall_0x80B83C80/func_80B84928.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Waterfall/func_80B8484C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Waterfall_0x80B83C80/func_80B84AD4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Waterfall/func_80B84928.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Waterfall_0x80B83C80/func_80B84AEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Waterfall/func_80B84AD4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Waterfall_0x80B83C80/func_80B84B9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Waterfall/func_80B84AEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Waterfall_0x80B83C80/func_80B84BCC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Waterfall/func_80B84B9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Waterfall_0x80B83C80/func_80B84EF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Waterfall/func_80B84BCC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Waterfall_0x80B83C80/func_80B84F20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Waterfall/func_80B84EF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Waterfall_0x80B83C80/BgDblueWaterfall_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Waterfall/func_80B84F20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dblue_Waterfall_0x80B83C80/BgDblueWaterfall_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Waterfall/BgDblueWaterfall_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dblue_Waterfall/BgDblueWaterfall_Draw.s") diff --git a/src/overlays/actors/ovl_Bg_Dblue_Waterfall/z_bg_dblue_waterfall.h b/src/overlays/actors/ovl_Bg_Dblue_Waterfall/z_bg_dblue_waterfall.h index 4ffb4e8430..0ffa46c2e6 100644 --- a/src/overlays/actors/ovl_Bg_Dblue_Waterfall/z_bg_dblue_waterfall.h +++ b/src/overlays/actors/ovl_Bg_Dblue_Waterfall/z_bg_dblue_waterfall.h @@ -1,13 +1,17 @@ #ifndef Z_BG_DBLUE_WATERFALL_H #define Z_BG_DBLUE_WATERFALL_H -#include +#include "global.h" struct BgDblueWaterfall; +typedef void (*BgDblueWaterfallActionFunc)(struct BgDblueWaterfall* this, GlobalContext* globalCtx); + typedef struct BgDblueWaterfall { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x68]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x50]; + /* 0x0194 */ BgDblueWaterfallActionFunc actionFunc; + /* 0x0198 */ char unk_198[0x14]; } BgDblueWaterfall; // size = 0x1AC extern const ActorInit Bg_Dblue_Waterfall_InitVars; diff --git a/src/overlays/actors/ovl_Bg_Dkjail_Ivy/z_bg_dkjail_ivy.c b/src/overlays/actors/ovl_Bg_Dkjail_Ivy/z_bg_dkjail_ivy.c index aa0eb2efb6..5761c85858 100644 --- a/src/overlays/actors/ovl_Bg_Dkjail_Ivy/z_bg_dkjail_ivy.c +++ b/src/overlays/actors/ovl_Bg_Dkjail_Ivy/z_bg_dkjail_ivy.c @@ -22,7 +22,6 @@ const ActorInit Bg_Dkjail_Ivy_InitVars = { (ActorFunc)BgDkjailIvy_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80ADE950 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_NONE, OC2_NONE, COLSHAPE_CYLINDER, }, @@ -30,7 +29,6 @@ static ColliderCylinderInit D_80ADE950 = { { 20, 80, 0, { 0, 0, 0 } }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80ADE98C[] = { ICHAIN_F32(uncullZoneForward, 4000, ICHAIN_CONTINUE), @@ -39,29 +37,32 @@ static InitChainEntry D_80ADE98C[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80ADE950; extern InitChainEntry D_80ADE98C[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dkjail_Ivy_0x80ADE230/func_80ADE230.asm") +extern UNK_TYPE D_06000080; +extern UNK_TYPE D_060011A8; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dkjail_Ivy_0x80ADE230/BgDkjailIvy_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dkjail_Ivy/func_80ADE230.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dkjail_Ivy_0x80ADE230/BgDkjailIvy_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dkjail_Ivy/BgDkjailIvy_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dkjail_Ivy_0x80ADE230/func_80ADE6AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dkjail_Ivy/BgDkjailIvy_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dkjail_Ivy_0x80ADE230/func_80ADE6C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dkjail_Ivy/func_80ADE6AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dkjail_Ivy_0x80ADE230/func_80ADE734.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dkjail_Ivy/func_80ADE6C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dkjail_Ivy_0x80ADE230/func_80ADE748.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dkjail_Ivy/func_80ADE734.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dkjail_Ivy_0x80ADE230/func_80ADE7E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dkjail_Ivy/func_80ADE748.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dkjail_Ivy_0x80ADE230/func_80ADE7F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dkjail_Ivy/func_80ADE7E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dkjail_Ivy_0x80ADE230/BgDkjailIvy_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dkjail_Ivy/func_80ADE7F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dkjail_Ivy_0x80ADE230/BgDkjailIvy_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dkjail_Ivy/BgDkjailIvy_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dkjail_Ivy/BgDkjailIvy_Draw.s") diff --git a/src/overlays/actors/ovl_Bg_Dkjail_Ivy/z_bg_dkjail_ivy.h b/src/overlays/actors/ovl_Bg_Dkjail_Ivy/z_bg_dkjail_ivy.h index 63c7324073..03b19f0653 100644 --- a/src/overlays/actors/ovl_Bg_Dkjail_Ivy/z_bg_dkjail_ivy.h +++ b/src/overlays/actors/ovl_Bg_Dkjail_Ivy/z_bg_dkjail_ivy.h @@ -1,13 +1,17 @@ #ifndef Z_BG_DKJAIL_IVY_H #define Z_BG_DKJAIL_IVY_H -#include +#include "global.h" struct BgDkjailIvy; +typedef void (*BgDkjailIvyActionFunc)(struct BgDkjailIvy* this, GlobalContext* globalCtx); + typedef struct BgDkjailIvy { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x6C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x64]; + /* 0x01A8 */ BgDkjailIvyActionFunc actionFunc; + /* 0x01AC */ char unk_1AC[0x4]; } BgDkjailIvy; // size = 0x1B0 extern const ActorInit Bg_Dkjail_Ivy_InitVars; diff --git a/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c b/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c index 994a72e356..4e5993c5a2 100644 --- a/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c +++ b/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c @@ -8,6 +8,17 @@ void BgDyYoseizo_Init(Actor* thisx, GlobalContext* globalCtx); void BgDyYoseizo_Destroy(Actor* thisx, GlobalContext* globalCtx); void BgDyYoseizo_Update(Actor* thisx, GlobalContext* globalCtx); +void func_80A0AE1C(BgDyYoseizo* this, GlobalContext* globalCtx); +void func_80A0B078(BgDyYoseizo* this, GlobalContext* globalCtx); +void func_80A0B184(BgDyYoseizo* this, GlobalContext* globalCtx); +void func_80A0B290(BgDyYoseizo* this, GlobalContext* globalCtx); +void func_80A0B35C(BgDyYoseizo* this, GlobalContext* globalCtx); +void func_80A0B500(BgDyYoseizo* this, GlobalContext* globalCtx); +void func_80A0B5F0(BgDyYoseizo* this, GlobalContext* globalCtx); +void func_80A0B75C(BgDyYoseizo* this, GlobalContext* globalCtx); +void func_80A0B8CC(BgDyYoseizo* this, GlobalContext* globalCtx); +void func_80A0BB08(BgDyYoseizo* this, GlobalContext* globalCtx); + #if 0 const ActorInit Bg_Dy_Yoseizo_InitVars = { ACTOR_BG_DY_YOSEIZO, @@ -23,50 +34,54 @@ const ActorInit Bg_Dy_Yoseizo_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo_0x80A0A8A0/BgDyYoseizo_Init.asm") +extern UNK_TYPE D_06008090; +extern UNK_TYPE D_0600D228; +extern UNK_TYPE D_0601C6F4; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo_0x80A0A8A0/BgDyYoseizo_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo/BgDyYoseizo_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo_0x80A0A8A0/func_80A0A96C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo/BgDyYoseizo_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo_0x80A0A8A0/func_80A0A9E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo/func_80A0A96C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo_0x80A0A8A0/func_80A0AA40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo/func_80A0A9E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo_0x80A0A8A0/func_80A0AD50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo/func_80A0AA40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo_0x80A0A8A0/func_80A0AE1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo/func_80A0AD50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo_0x80A0A8A0/func_80A0AFDC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo/func_80A0AE1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo_0x80A0A8A0/func_80A0B078.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo/func_80A0AFDC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo_0x80A0A8A0/func_80A0B184.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo/func_80A0B078.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo_0x80A0A8A0/func_80A0B290.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo/func_80A0B184.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo_0x80A0A8A0/func_80A0B35C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo/func_80A0B290.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo_0x80A0A8A0/func_80A0B500.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo/func_80A0B35C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo_0x80A0A8A0/func_80A0B5F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo/func_80A0B500.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo_0x80A0A8A0/func_80A0B75C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo/func_80A0B5F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo_0x80A0A8A0/func_80A0B834.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo/func_80A0B75C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo_0x80A0A8A0/func_80A0B8CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo/func_80A0B834.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo_0x80A0A8A0/func_80A0BB08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo/func_80A0B8CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo_0x80A0A8A0/BgDyYoseizo_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo/func_80A0BB08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo_0x80A0A8A0/func_80A0BCD8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo/BgDyYoseizo_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo_0x80A0A8A0/func_80A0BD40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo/func_80A0BCD8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo_0x80A0A8A0/func_80A0BE60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo/func_80A0BD40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo_0x80A0A8A0/func_80A0BF70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo/func_80A0BE60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo_0x80A0A8A0/func_80A0C270.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo/func_80A0BF70.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Dy_Yoseizo/func_80A0C270.s") diff --git a/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.h b/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.h index 12179e2aa7..1bb062ecb1 100644 --- a/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.h +++ b/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.h @@ -1,13 +1,16 @@ #ifndef Z_BG_DY_YOSEIZO_H #define Z_BG_DY_YOSEIZO_H -#include +#include "global.h" struct BgDyYoseizo; +typedef void (*BgDyYoseizoActionFunc)(struct BgDyYoseizo* this, GlobalContext* globalCtx); + typedef struct BgDyYoseizo { /* 0x0000 */ Actor actor; - /* 0x0144 */ char unk_0144[0x33C0]; + /* 0x0144 */ BgDyYoseizoActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x33BC]; } BgDyYoseizo; // size = 0x3504 extern const ActorInit Bg_Dy_Yoseizo_InitVars; diff --git a/src/overlays/actors/ovl_Bg_F40_Block/z_bg_f40_block.c b/src/overlays/actors/ovl_Bg_F40_Block/z_bg_f40_block.c index 6d0003cc9d..08c1a2fdd6 100644 --- a/src/overlays/actors/ovl_Bg_F40_Block/z_bg_f40_block.c +++ b/src/overlays/actors/ovl_Bg_F40_Block/z_bg_f40_block.c @@ -22,7 +22,6 @@ const ActorInit Bg_F40_Block_InitVars = { (ActorFunc)BgF40Block_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80BC4668[] = { ICHAIN_F32(uncullZoneForward, 4000, ICHAIN_CONTINUE), @@ -31,44 +30,47 @@ static InitChainEntry D_80BC4668[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), }; - -extern InitChainEntry D_80BC4668[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_F40_Block_0x80BC3980/func_80BC3980.asm") +extern InitChainEntry D_80BC4668[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_F40_Block_0x80BC3980/func_80BC3A2C.asm") +extern UNK_TYPE D_060043D0; +extern UNK_TYPE D_06004640; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_F40_Block_0x80BC3980/func_80BC3B00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_F40_Block/func_80BC3980.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_F40_Block_0x80BC3980/func_80BC3CA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_F40_Block/func_80BC3A2C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_F40_Block_0x80BC3980/func_80BC3D08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_F40_Block/func_80BC3B00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_F40_Block_0x80BC3980/func_80BC4038.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_F40_Block/func_80BC3CA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_F40_Block_0x80BC3980/BgF40Block_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_F40_Block/func_80BC3D08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_F40_Block_0x80BC3980/BgF40Block_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_F40_Block/func_80BC4038.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_F40_Block_0x80BC3980/func_80BC41AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_F40_Block/BgF40Block_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_F40_Block_0x80BC3980/func_80BC4228.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_F40_Block/BgF40Block_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_F40_Block_0x80BC3980/func_80BC4344.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_F40_Block/func_80BC41AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_F40_Block_0x80BC3980/func_80BC4380.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_F40_Block/func_80BC4228.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_F40_Block_0x80BC3980/func_80BC43CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_F40_Block/func_80BC4344.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_F40_Block_0x80BC3980/func_80BC4448.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_F40_Block/func_80BC4380.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_F40_Block_0x80BC3980/func_80BC44F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_F40_Block/func_80BC43CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_F40_Block_0x80BC3980/func_80BC4530.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_F40_Block/func_80BC4448.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_F40_Block_0x80BC3980/func_80BC457C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_F40_Block/func_80BC44F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_F40_Block_0x80BC3980/BgF40Block_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_F40_Block/func_80BC4530.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_F40_Block_0x80BC3980/BgF40Block_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_F40_Block/func_80BC457C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_F40_Block/BgF40Block_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_F40_Block/BgF40Block_Draw.s") diff --git a/src/overlays/actors/ovl_Bg_F40_Block/z_bg_f40_block.h b/src/overlays/actors/ovl_Bg_F40_Block/z_bg_f40_block.h index 33c6a27c2d..b332d91d54 100644 --- a/src/overlays/actors/ovl_Bg_F40_Block/z_bg_f40_block.h +++ b/src/overlays/actors/ovl_Bg_F40_Block/z_bg_f40_block.h @@ -1,13 +1,16 @@ #ifndef Z_BG_F40_BLOCK_H #define Z_BG_F40_BLOCK_H -#include +#include "global.h" struct BgF40Block; +typedef void (*BgF40BlockActionFunc)(struct BgF40Block* this, GlobalContext* globalCtx); + typedef struct BgF40Block { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x2C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x28]; + /* 0x016C */ BgF40BlockActionFunc actionFunc; } BgF40Block; // size = 0x170 extern const ActorInit Bg_F40_Block_InitVars; diff --git a/src/overlays/actors/ovl_Bg_F40_Flift/z_bg_f40_flift.c b/src/overlays/actors/ovl_Bg_F40_Flift/z_bg_f40_flift.c index dcb643a15a..e449bf6b48 100644 --- a/src/overlays/actors/ovl_Bg_F40_Flift/z_bg_f40_flift.c +++ b/src/overlays/actors/ovl_Bg_F40_Flift/z_bg_f40_flift.c @@ -22,7 +22,6 @@ const ActorInit Bg_F40_Flift_InitVars = { (ActorFunc)BgF40Flift_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_808D7830[] = { ICHAIN_F32(uncullZoneScale, 400, ICHAIN_CONTINUE), @@ -30,18 +29,21 @@ static InitChainEntry D_808D7830[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), }; - -extern InitChainEntry D_808D7830[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_F40_Flift_0x808D7550/BgF40Flift_Init.asm") +extern InitChainEntry D_808D7830[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_F40_Flift_0x808D7550/BgF40Flift_Destroy.asm") +extern UNK_TYPE D_06004038; +extern UNK_TYPE D_06004240; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_F40_Flift_0x808D7550/func_808D75F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_F40_Flift/BgF40Flift_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_F40_Flift_0x808D7550/func_808D7714.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_F40_Flift/BgF40Flift_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_F40_Flift_0x808D7550/BgF40Flift_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_F40_Flift/func_808D75F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_F40_Flift_0x808D7550/BgF40Flift_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_F40_Flift/func_808D7714.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_F40_Flift/BgF40Flift_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_F40_Flift/BgF40Flift_Draw.s") diff --git a/src/overlays/actors/ovl_Bg_F40_Flift/z_bg_f40_flift.h b/src/overlays/actors/ovl_Bg_F40_Flift/z_bg_f40_flift.h index 40047e5a84..8bfc563ab0 100644 --- a/src/overlays/actors/ovl_Bg_F40_Flift/z_bg_f40_flift.h +++ b/src/overlays/actors/ovl_Bg_F40_Flift/z_bg_f40_flift.h @@ -1,13 +1,17 @@ #ifndef Z_BG_F40_FLIFT_H #define Z_BG_F40_FLIFT_H -#include +#include "global.h" struct BgF40Flift; +typedef void (*BgF40FliftActionFunc)(struct BgF40Flift* this, GlobalContext* globalCtx); + typedef struct BgF40Flift { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x20]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x18]; + /* 0x015C */ BgF40FliftActionFunc actionFunc; + /* 0x0160 */ char unk_160[0x4]; } BgF40Flift; // size = 0x164 extern const ActorInit Bg_F40_Flift_InitVars; diff --git a/src/overlays/actors/ovl_Bg_F40_Switch/z_bg_f40_switch.c b/src/overlays/actors/ovl_Bg_F40_Switch/z_bg_f40_switch.c index de1717f104..ec1cf0553f 100644 --- a/src/overlays/actors/ovl_Bg_F40_Switch/z_bg_f40_switch.c +++ b/src/overlays/actors/ovl_Bg_F40_Switch/z_bg_f40_switch.c @@ -9,6 +9,12 @@ void BgF40Switch_Destroy(Actor* thisx, GlobalContext* globalCtx); void BgF40Switch_Update(Actor* thisx, GlobalContext* globalCtx); void BgF40Switch_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80BC4B20(BgF40Switch* this, GlobalContext* globalCtx); +void func_80BC4B94(BgF40Switch* this, GlobalContext* globalCtx); +void func_80BC4BB8(BgF40Switch* this, GlobalContext* globalCtx); +void func_80BC4C68(BgF40Switch* this, GlobalContext* globalCtx); +void func_80BC4D30(BgF40Switch* this, GlobalContext* globalCtx); + #if 0 const ActorInit Bg_F40_Switch_InitVars = { ACTOR_BG_F40_SWITCH, @@ -22,7 +28,6 @@ const ActorInit Bg_F40_Switch_InitVars = { (ActorFunc)BgF40Switch_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80BC4E04[] = { ICHAIN_F32(uncullZoneForward, 4000, ICHAIN_CONTINUE), @@ -31,26 +36,29 @@ static InitChainEntry D_80BC4E04[] = { ICHAIN_VEC3F_DIV1000(scale, 123, ICHAIN_STOP), }; - -extern InitChainEntry D_80BC4E04[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_F40_Switch_0x80BC47B0/func_80BC47B0.asm") +extern InitChainEntry D_80BC4E04[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_F40_Switch_0x80BC47B0/BgF40Switch_Init.asm") +extern UNK_TYPE D_06000118; +extern UNK_TYPE D_06000438; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_F40_Switch_0x80BC47B0/BgF40Switch_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_F40_Switch/func_80BC47B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_F40_Switch_0x80BC47B0/func_80BC4B20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_F40_Switch/BgF40Switch_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_F40_Switch_0x80BC47B0/func_80BC4B94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_F40_Switch/BgF40Switch_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_F40_Switch_0x80BC47B0/func_80BC4BB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_F40_Switch/func_80BC4B20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_F40_Switch_0x80BC47B0/func_80BC4C68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_F40_Switch/func_80BC4B94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_F40_Switch_0x80BC47B0/func_80BC4D30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_F40_Switch/func_80BC4BB8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_F40_Switch_0x80BC47B0/BgF40Switch_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_F40_Switch/func_80BC4C68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_F40_Switch_0x80BC47B0/BgF40Switch_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_F40_Switch/func_80BC4D30.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_F40_Switch/BgF40Switch_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_F40_Switch/BgF40Switch_Draw.s") diff --git a/src/overlays/actors/ovl_Bg_F40_Switch/z_bg_f40_switch.h b/src/overlays/actors/ovl_Bg_F40_Switch/z_bg_f40_switch.h index 5a88b5bc52..ba696a2a03 100644 --- a/src/overlays/actors/ovl_Bg_F40_Switch/z_bg_f40_switch.h +++ b/src/overlays/actors/ovl_Bg_F40_Switch/z_bg_f40_switch.h @@ -1,13 +1,16 @@ #ifndef Z_BG_F40_SWITCH_H #define Z_BG_F40_SWITCH_H -#include +#include "global.h" struct BgF40Switch; +typedef void (*BgF40SwitchActionFunc)(struct BgF40Switch* this, GlobalContext* globalCtx); + typedef struct BgF40Switch { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x24]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x20]; + /* 0x0164 */ BgF40SwitchActionFunc actionFunc; } BgF40Switch; // size = 0x168 extern const ActorInit Bg_F40_Switch_InitVars; diff --git a/src/overlays/actors/ovl_Bg_F40_Swlift/z_bg_f40_swlift.c b/src/overlays/actors/ovl_Bg_F40_Swlift/z_bg_f40_swlift.c index 2a309cc98e..48e3ef5127 100644 --- a/src/overlays/actors/ovl_Bg_F40_Swlift/z_bg_f40_swlift.c +++ b/src/overlays/actors/ovl_Bg_F40_Swlift/z_bg_f40_swlift.c @@ -22,7 +22,6 @@ const ActorInit Bg_F40_Swlift_InitVars = { (ActorFunc)BgF40Swlift_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_8096F540[] = { ICHAIN_F32(uncullZoneScale, 550, ICHAIN_CONTINUE), @@ -30,14 +29,17 @@ static InitChainEntry D_8096F540[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), }; - -extern InitChainEntry D_8096F540[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_F40_Swlift_0x8096F160/BgF40Swlift_Init.asm") +extern InitChainEntry D_8096F540[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_F40_Swlift_0x8096F160/BgF40Swlift_Destroy.asm") +extern UNK_TYPE D_06003B08; +extern UNK_TYPE D_06003E80; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_F40_Swlift_0x8096F160/BgF40Swlift_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_F40_Swlift/BgF40Swlift_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_F40_Swlift_0x8096F160/BgF40Swlift_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_F40_Swlift/BgF40Swlift_Destroy.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_F40_Swlift/BgF40Swlift_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_F40_Swlift/BgF40Swlift_Draw.s") diff --git a/src/overlays/actors/ovl_Bg_F40_Swlift/z_bg_f40_swlift.h b/src/overlays/actors/ovl_Bg_F40_Swlift/z_bg_f40_swlift.h index b7d34d637f..48a369e305 100644 --- a/src/overlays/actors/ovl_Bg_F40_Swlift/z_bg_f40_swlift.h +++ b/src/overlays/actors/ovl_Bg_F40_Swlift/z_bg_f40_swlift.h @@ -1,7 +1,7 @@ #ifndef Z_BG_F40_SWLIFT_H #define Z_BG_F40_SWLIFT_H -#include +#include "global.h" struct BgF40Swlift; diff --git a/src/overlays/actors/ovl_Bg_Fire_Wall/z_bg_fire_wall.c b/src/overlays/actors/ovl_Bg_Fire_Wall/z_bg_fire_wall.c index 9db6c885d5..ac802e3bfd 100644 --- a/src/overlays/actors/ovl_Bg_Fire_Wall/z_bg_fire_wall.c +++ b/src/overlays/actors/ovl_Bg_Fire_Wall/z_bg_fire_wall.c @@ -8,6 +8,11 @@ void BgFireWall_Init(Actor* thisx, GlobalContext* globalCtx); void BgFireWall_Destroy(Actor* thisx, GlobalContext* globalCtx); void BgFireWall_Update(Actor* thisx, GlobalContext* globalCtx); +void func_809AC638(BgFireWall* this, GlobalContext* globalCtx); +void func_809AC68C(BgFireWall* this, GlobalContext* globalCtx); +void func_809AC6C0(BgFireWall* this, GlobalContext* globalCtx); +void func_809AC970(BgFireWall* this, GlobalContext* globalCtx); + #if 0 const ActorInit Bg_Fire_Wall_InitVars = { ACTOR_BG_FIRE_WALL, @@ -21,7 +26,6 @@ const ActorInit Bg_Fire_Wall_InitVars = { (ActorFunc)NULL, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_809ACC60 = { { COLTYPE_NONE, AT_ON | AT_TYPE_ENEMY, AC_NONE, OC1_ON | OC1_TYPE_PLAYER, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -29,33 +33,34 @@ static ColliderCylinderInit D_809ACC60 = { { 34, 85, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit D_809ACC8C = { 1, 80, 100, MASS_IMMOVABLE }; +#endif extern ColliderCylinderInit D_809ACC60; extern CollisionCheckInfoInit D_809ACC8C; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Fire_Wall_0x809AC4B0/BgFireWall_Init.asm") +extern UNK_TYPE D_06000040; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Fire_Wall_0x809AC4B0/BgFireWall_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Fire_Wall/BgFireWall_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Fire_Wall_0x809AC4B0/func_809AC5C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Fire_Wall/BgFireWall_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Fire_Wall_0x809AC4B0/func_809AC638.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Fire_Wall/func_809AC5C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Fire_Wall_0x809AC4B0/func_809AC68C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Fire_Wall/func_809AC638.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Fire_Wall_0x809AC4B0/func_809AC6C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Fire_Wall/func_809AC68C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Fire_Wall_0x809AC4B0/func_809AC760.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Fire_Wall/func_809AC6C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Fire_Wall_0x809AC4B0/func_809AC7F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Fire_Wall/func_809AC760.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Fire_Wall_0x809AC4B0/func_809AC970.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Fire_Wall/func_809AC7F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Fire_Wall_0x809AC4B0/BgFireWall_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Fire_Wall/func_809AC970.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Fire_Wall_0x809AC4B0/func_809ACB28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Fire_Wall/BgFireWall_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Fire_Wall/func_809ACB28.s") diff --git a/src/overlays/actors/ovl_Bg_Fire_Wall/z_bg_fire_wall.h b/src/overlays/actors/ovl_Bg_Fire_Wall/z_bg_fire_wall.h index c7b6e55c60..da65b5f5e4 100644 --- a/src/overlays/actors/ovl_Bg_Fire_Wall/z_bg_fire_wall.h +++ b/src/overlays/actors/ovl_Bg_Fire_Wall/z_bg_fire_wall.h @@ -1,13 +1,16 @@ #ifndef Z_BG_FIRE_WALL_H #define Z_BG_FIRE_WALL_H -#include +#include "global.h" struct BgFireWall; +typedef void (*BgFireWallActionFunc)(struct BgFireWall* this, GlobalContext* globalCtx); + typedef struct BgFireWall { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x6C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ BgFireWallActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x68]; } BgFireWall; // size = 0x1B0 extern const ActorInit Bg_Fire_Wall_InitVars; diff --git a/src/overlays/actors/ovl_Bg_Fu_Kaiten/z_bg_fu_kaiten.c b/src/overlays/actors/ovl_Bg_Fu_Kaiten/z_bg_fu_kaiten.c index 4b4fdb33df..d85ace2f6f 100644 --- a/src/overlays/actors/ovl_Bg_Fu_Kaiten/z_bg_fu_kaiten.c +++ b/src/overlays/actors/ovl_Bg_Fu_Kaiten/z_bg_fu_kaiten.c @@ -21,6 +21,9 @@ const ActorInit Bg_Fu_Kaiten_InitVars = { (ActorFunc)BgFuKaiten_Draw, }; +extern Gfx D_060005D0[]; +extern CollisionHeader D_06002D30; + void BgFuKaiten_Init(Actor* thisx, GlobalContext* globalCtx) { UNK_TYPE pad0; UNK_TYPE pad1; @@ -28,7 +31,7 @@ void BgFuKaiten_Init(Actor* thisx, GlobalContext* globalCtx) { Actor_SetScale(thisx, 1.0); BcCheck3_BgActorInit(&THIS->bg, 3); - BgCheck_RelocateMeshHeader(&object_fu_kaiten_002D30, &header); + BgCheck_RelocateMeshHeader(&D_06002D30, &header); THIS->bg.bgId = BgCheck_AddActorMesh(globalCtx, &globalCtx->colCtx.dyna, &THIS->bg, header); THIS->bouceHeight = 0.0; @@ -69,5 +72,5 @@ void BgFuKaiten_Draw(Actor* thisx, GlobalContext* globalCtx) { func_8012C28C(gfxCtx); gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - gSPDisplayList(gfxCtx->polyOpa.p++, object_fu_kaiten_0005D0); + gSPDisplayList(gfxCtx->polyOpa.p++, D_060005D0); } diff --git a/src/overlays/actors/ovl_Bg_Fu_Kaiten/z_bg_fu_kaiten.h b/src/overlays/actors/ovl_Bg_Fu_Kaiten/z_bg_fu_kaiten.h index 5dafe366d4..94b582bb30 100644 --- a/src/overlays/actors/ovl_Bg_Fu_Kaiten/z_bg_fu_kaiten.h +++ b/src/overlays/actors/ovl_Bg_Fu_Kaiten/z_bg_fu_kaiten.h @@ -1,7 +1,7 @@ #ifndef Z_BG_FU_KAITEN_H #define Z_BG_FU_KAITEN_H -#include +#include "global.h" struct BgFuKaiten; diff --git a/src/overlays/actors/ovl_Bg_Fu_Mizu/z_bg_fu_mizu.c b/src/overlays/actors/ovl_Bg_Fu_Mizu/z_bg_fu_mizu.c index 27027c909c..27c04a7ddb 100644 --- a/src/overlays/actors/ovl_Bg_Fu_Mizu/z_bg_fu_mizu.c +++ b/src/overlays/actors/ovl_Bg_Fu_Mizu/z_bg_fu_mizu.c @@ -24,12 +24,15 @@ const ActorInit Bg_Fu_Mizu_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Fu_Mizu_0x80ADAAF0/BgFuMizu_Init.asm") +extern UNK_TYPE D_060037D8; +extern UNK_TYPE D_060037F8; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Fu_Mizu_0x80ADAAF0/BgFuMizu_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Fu_Mizu/BgFuMizu_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Fu_Mizu_0x80ADAAF0/func_80ADABA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Fu_Mizu/BgFuMizu_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Fu_Mizu_0x80ADAAF0/BgFuMizu_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Fu_Mizu/func_80ADABA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Fu_Mizu_0x80ADAAF0/BgFuMizu_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Fu_Mizu/BgFuMizu_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Fu_Mizu/BgFuMizu_Draw.s") diff --git a/src/overlays/actors/ovl_Bg_Fu_Mizu/z_bg_fu_mizu.h b/src/overlays/actors/ovl_Bg_Fu_Mizu/z_bg_fu_mizu.h index 68f04c6ab5..45c78a1819 100644 --- a/src/overlays/actors/ovl_Bg_Fu_Mizu/z_bg_fu_mizu.h +++ b/src/overlays/actors/ovl_Bg_Fu_Mizu/z_bg_fu_mizu.h @@ -1,7 +1,7 @@ #ifndef Z_BG_FU_MIZU_H #define Z_BG_FU_MIZU_H -#include +#include "global.h" struct BgFuMizu; diff --git a/src/overlays/actors/ovl_Bg_Goron_Oyu/z_bg_goron_oyu.c b/src/overlays/actors/ovl_Bg_Goron_Oyu/z_bg_goron_oyu.c index 8aaa821162..e38fc77cfc 100644 --- a/src/overlays/actors/ovl_Bg_Goron_Oyu/z_bg_goron_oyu.c +++ b/src/overlays/actors/ovl_Bg_Goron_Oyu/z_bg_goron_oyu.c @@ -24,26 +24,29 @@ const ActorInit Bg_Goron_Oyu_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Goron_Oyu_0x80B40080/func_80B40080.asm") +extern UNK_TYPE D_06000968; +extern UNK_TYPE D_06000988; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Goron_Oyu_0x80B40080/func_80B4009C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Goron_Oyu/func_80B40080.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Goron_Oyu_0x80B40080/func_80B400C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Goron_Oyu/func_80B4009C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Goron_Oyu_0x80B40080/func_80B40100.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Goron_Oyu/func_80B400C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Goron_Oyu_0x80B40080/func_80B40160.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Goron_Oyu/func_80B40100.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Goron_Oyu_0x80B40080/func_80B401F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Goron_Oyu/func_80B40160.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Goron_Oyu_0x80B40080/func_80B40308.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Goron_Oyu/func_80B401F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Goron_Oyu_0x80B40080/func_80B40394.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Goron_Oyu/func_80B40308.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Goron_Oyu_0x80B40080/BgGoronOyu_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Goron_Oyu/func_80B40394.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Goron_Oyu_0x80B40080/BgGoronOyu_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Goron_Oyu/BgGoronOyu_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Goron_Oyu_0x80B40080/BgGoronOyu_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Goron_Oyu/BgGoronOyu_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Goron_Oyu_0x80B40080/BgGoronOyu_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Goron_Oyu/BgGoronOyu_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Goron_Oyu/BgGoronOyu_Draw.s") diff --git a/src/overlays/actors/ovl_Bg_Goron_Oyu/z_bg_goron_oyu.h b/src/overlays/actors/ovl_Bg_Goron_Oyu/z_bg_goron_oyu.h index 9e95eb6220..7c18c08ec5 100644 --- a/src/overlays/actors/ovl_Bg_Goron_Oyu/z_bg_goron_oyu.h +++ b/src/overlays/actors/ovl_Bg_Goron_Oyu/z_bg_goron_oyu.h @@ -1,13 +1,17 @@ #ifndef Z_BG_GORON_OYU_H #define Z_BG_GORON_OYU_H -#include +#include "global.h" struct BgGoronOyu; +typedef void (*BgGoronOyuActionFunc)(struct BgGoronOyu* this, GlobalContext* globalCtx); + typedef struct BgGoronOyu { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x3C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x18]; + /* 0x015C */ BgGoronOyuActionFunc actionFunc; + /* 0x0160 */ char unk_160[0x20]; } BgGoronOyu; // size = 0x180 extern const ActorInit Bg_Goron_Oyu_InitVars; diff --git a/src/overlays/actors/ovl_Bg_Haka_Bombwall/z_bg_haka_bombwall.c b/src/overlays/actors/ovl_Bg_Haka_Bombwall/z_bg_haka_bombwall.c index 3efacef06d..02d54c5298 100644 --- a/src/overlays/actors/ovl_Bg_Haka_Bombwall/z_bg_haka_bombwall.c +++ b/src/overlays/actors/ovl_Bg_Haka_Bombwall/z_bg_haka_bombwall.c @@ -22,7 +22,6 @@ const ActorInit Bg_Haka_Bombwall_InitVars = { (ActorFunc)BgHakaBombwall_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80BD64A0 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_NONE, OC2_NONE, COLSHAPE_CYLINDER, }, @@ -30,7 +29,6 @@ static ColliderCylinderInit D_80BD64A0 = { { 80, 80, 0, { 0, 0, 0 } }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80BD64D4[] = { ICHAIN_F32(uncullZoneForward, 4000, ICHAIN_CONTINUE), @@ -39,31 +37,35 @@ static InitChainEntry D_80BD64D4[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80BD64A0; extern InitChainEntry D_80BD64D4[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Haka_Bombwall_0x80BD5E00/func_80BD5E00.asm") +extern UNK_TYPE D_06000040; +extern UNK_TYPE D_06000148; +extern UNK_TYPE D_06001680; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Haka_Bombwall_0x80BD5E00/func_80BD5E6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Haka_Bombwall/func_80BD5E00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Haka_Bombwall_0x80BD5E00/BgHakaBombwall_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Haka_Bombwall/func_80BD5E6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Haka_Bombwall_0x80BD5E00/BgHakaBombwall_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Haka_Bombwall/BgHakaBombwall_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Haka_Bombwall_0x80BD5E00/func_80BD6260.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Haka_Bombwall/BgHakaBombwall_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Haka_Bombwall_0x80BD5E00/func_80BD6274.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Haka_Bombwall/func_80BD6260.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Haka_Bombwall_0x80BD5E00/func_80BD62D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Haka_Bombwall/func_80BD6274.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Haka_Bombwall_0x80BD5E00/func_80BD6314.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Haka_Bombwall/func_80BD62D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Haka_Bombwall_0x80BD5E00/func_80BD63B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Haka_Bombwall/func_80BD6314.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Haka_Bombwall_0x80BD5E00/func_80BD63D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Haka_Bombwall/func_80BD63B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Haka_Bombwall_0x80BD5E00/BgHakaBombwall_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Haka_Bombwall/func_80BD63D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Haka_Bombwall_0x80BD5E00/BgHakaBombwall_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Haka_Bombwall/BgHakaBombwall_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Haka_Bombwall/BgHakaBombwall_Draw.s") diff --git a/src/overlays/actors/ovl_Bg_Haka_Bombwall/z_bg_haka_bombwall.h b/src/overlays/actors/ovl_Bg_Haka_Bombwall/z_bg_haka_bombwall.h index 190f5c8d70..05d4ca3c2a 100644 --- a/src/overlays/actors/ovl_Bg_Haka_Bombwall/z_bg_haka_bombwall.h +++ b/src/overlays/actors/ovl_Bg_Haka_Bombwall/z_bg_haka_bombwall.h @@ -1,13 +1,17 @@ #ifndef Z_BG_HAKA_BOMBWALL_H #define Z_BG_HAKA_BOMBWALL_H -#include +#include "global.h" struct BgHakaBombwall; +typedef void (*BgHakaBombwallActionFunc)(struct BgHakaBombwall* this, GlobalContext* globalCtx); + typedef struct BgHakaBombwall { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x6C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x64]; + /* 0x01A8 */ BgHakaBombwallActionFunc actionFunc; + /* 0x01AC */ char unk_1AC[0x4]; } BgHakaBombwall; // size = 0x1B0 extern const ActorInit Bg_Haka_Bombwall_InitVars; diff --git a/src/overlays/actors/ovl_Bg_Haka_Curtain/z_bg_haka_curtain.h b/src/overlays/actors/ovl_Bg_Haka_Curtain/z_bg_haka_curtain.h index c9aea2ceb0..f227e5c984 100644 --- a/src/overlays/actors/ovl_Bg_Haka_Curtain/z_bg_haka_curtain.h +++ b/src/overlays/actors/ovl_Bg_Haka_Curtain/z_bg_haka_curtain.h @@ -1,7 +1,7 @@ #ifndef Z_BG_HAKA_CURTAIN_H #define Z_BG_HAKA_CURTAIN_H -#include +#include "global.h" struct BgHakaCurtain; diff --git a/src/overlays/actors/ovl_Bg_Haka_Tomb/z_bg_haka_tomb.h b/src/overlays/actors/ovl_Bg_Haka_Tomb/z_bg_haka_tomb.h index 206a703671..51a024077e 100644 --- a/src/overlays/actors/ovl_Bg_Haka_Tomb/z_bg_haka_tomb.h +++ b/src/overlays/actors/ovl_Bg_Haka_Tomb/z_bg_haka_tomb.h @@ -1,7 +1,7 @@ #ifndef Z_BG_HAKA_TOMB_H #define Z_BG_HAKA_TOMB_H -#include +#include "global.h" struct BgHakaTomb; diff --git a/src/overlays/actors/ovl_Bg_Hakugin_Bombwall/z_bg_hakugin_bombwall.c b/src/overlays/actors/ovl_Bg_Hakugin_Bombwall/z_bg_hakugin_bombwall.c index cf40ac5da5..c211e16c29 100644 --- a/src/overlays/actors/ovl_Bg_Hakugin_Bombwall/z_bg_hakugin_bombwall.c +++ b/src/overlays/actors/ovl_Bg_Hakugin_Bombwall/z_bg_hakugin_bombwall.c @@ -22,7 +22,6 @@ const ActorInit Bg_Hakugin_Bombwall_InitVars = { (ActorFunc)BgHakuginBombwall_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80ABCF80 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_NONE, OC2_NONE, COLSHAPE_CYLINDER, }, @@ -30,40 +29,41 @@ static ColliderCylinderInit D_80ABCF80 = { { 80, 80, 0, { 0, 0, 0 } }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80ABD040[] = { ICHAIN_F32(uncullZoneForward, 4000, ICHAIN_CONTINUE), ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80ABCF80; extern InitChainEntry D_80ABD040[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Bombwall_0x80ABBFC0/func_80ABBFC0.asm") +extern UNK_TYPE D_06009830; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Bombwall_0x80ABBFC0/func_80ABC2E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Bombwall/func_80ABBFC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Bombwall_0x80ABBFC0/func_80ABC58C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Bombwall/func_80ABC2E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Bombwall_0x80ABBFC0/func_80ABC7FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Bombwall/func_80ABC58C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Bombwall_0x80ABBFC0/BgHakuginBombwall_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Bombwall/func_80ABC7FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Bombwall_0x80ABBFC0/BgHakuginBombwall_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Bombwall/BgHakuginBombwall_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Bombwall_0x80ABBFC0/func_80ABCB5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Bombwall/BgHakuginBombwall_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Bombwall_0x80ABBFC0/func_80ABCC00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Bombwall/func_80ABCB5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Bombwall_0x80ABBFC0/func_80ABCCE4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Bombwall/func_80ABCC00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Bombwall_0x80ABBFC0/func_80ABCD98.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Bombwall/func_80ABCCE4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Bombwall_0x80ABBFC0/func_80ABCE60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Bombwall/func_80ABCD98.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Bombwall_0x80ABBFC0/BgHakuginBombwall_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Bombwall/func_80ABCE60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Bombwall_0x80ABBFC0/BgHakuginBombwall_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Bombwall/BgHakuginBombwall_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Bombwall/BgHakuginBombwall_Draw.s") diff --git a/src/overlays/actors/ovl_Bg_Hakugin_Bombwall/z_bg_hakugin_bombwall.h b/src/overlays/actors/ovl_Bg_Hakugin_Bombwall/z_bg_hakugin_bombwall.h index 548d108b1a..d492af30d7 100644 --- a/src/overlays/actors/ovl_Bg_Hakugin_Bombwall/z_bg_hakugin_bombwall.h +++ b/src/overlays/actors/ovl_Bg_Hakugin_Bombwall/z_bg_hakugin_bombwall.h @@ -1,13 +1,17 @@ #ifndef Z_BG_HAKUGIN_BOMBWALL_H #define Z_BG_HAKUGIN_BOMBWALL_H -#include +#include "global.h" struct BgHakuginBombwall; +typedef void (*BgHakuginBombwallActionFunc)(struct BgHakuginBombwall* this, GlobalContext* globalCtx); + typedef struct BgHakuginBombwall { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x6C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x64]; + /* 0x01A8 */ BgHakuginBombwallActionFunc actionFunc; + /* 0x01AC */ char unk_1AC[0x4]; } BgHakuginBombwall; // size = 0x1B0 extern const ActorInit Bg_Hakugin_Bombwall_InitVars; diff --git a/src/overlays/actors/ovl_Bg_Hakugin_Elvpole/z_bg_hakugin_elvpole.c b/src/overlays/actors/ovl_Bg_Hakugin_Elvpole/z_bg_hakugin_elvpole.c index 756a3c901b..5b5637090f 100644 --- a/src/overlays/actors/ovl_Bg_Hakugin_Elvpole/z_bg_hakugin_elvpole.c +++ b/src/overlays/actors/ovl_Bg_Hakugin_Elvpole/z_bg_hakugin_elvpole.c @@ -9,6 +9,8 @@ void BgHakuginElvpole_Destroy(Actor* thisx, GlobalContext* globalCtx); void BgHakuginElvpole_Update(Actor* thisx, GlobalContext* globalCtx); void BgHakuginElvpole_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80ABD92C(BgHakuginElvpole* this, GlobalContext* globalCtx); + #if 0 const ActorInit Bg_Hakugin_Elvpole_InitVars = { ACTOR_BG_HAKUGIN_ELVPOLE, @@ -24,12 +26,15 @@ const ActorInit Bg_Hakugin_Elvpole_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Elvpole_0x80ABD830/BgHakuginElvpole_Init.asm") +extern UNK_TYPE D_0600ACB8; +extern UNK_TYPE D_0600BF40; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Elvpole_0x80ABD830/BgHakuginElvpole_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Elvpole/BgHakuginElvpole_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Elvpole_0x80ABD830/func_80ABD92C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Elvpole/BgHakuginElvpole_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Elvpole_0x80ABD830/BgHakuginElvpole_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Elvpole/func_80ABD92C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Elvpole_0x80ABD830/BgHakuginElvpole_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Elvpole/BgHakuginElvpole_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Elvpole/BgHakuginElvpole_Draw.s") diff --git a/src/overlays/actors/ovl_Bg_Hakugin_Elvpole/z_bg_hakugin_elvpole.h b/src/overlays/actors/ovl_Bg_Hakugin_Elvpole/z_bg_hakugin_elvpole.h index b4d8a83804..d4ff920978 100644 --- a/src/overlays/actors/ovl_Bg_Hakugin_Elvpole/z_bg_hakugin_elvpole.h +++ b/src/overlays/actors/ovl_Bg_Hakugin_Elvpole/z_bg_hakugin_elvpole.h @@ -1,13 +1,16 @@ #ifndef Z_BG_HAKUGIN_ELVPOLE_H #define Z_BG_HAKUGIN_ELVPOLE_H -#include +#include "global.h" struct BgHakuginElvpole; +typedef void (*BgHakuginElvpoleActionFunc)(struct BgHakuginElvpole* this, GlobalContext* globalCtx); + typedef struct BgHakuginElvpole { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x24]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x20]; + /* 0x0164 */ BgHakuginElvpoleActionFunc actionFunc; } BgHakuginElvpole; // size = 0x168 extern const ActorInit Bg_Hakugin_Elvpole_InitVars; diff --git a/src/overlays/actors/ovl_Bg_Hakugin_Post/z_bg_hakugin_post.c b/src/overlays/actors/ovl_Bg_Hakugin_Post/z_bg_hakugin_post.c index e59eae4e72..c0f5ecba1e 100644 --- a/src/overlays/actors/ovl_Bg_Hakugin_Post/z_bg_hakugin_post.c +++ b/src/overlays/actors/ovl_Bg_Hakugin_Post/z_bg_hakugin_post.c @@ -21,7 +21,6 @@ const ActorInit Bg_Hakugin_Post_InitVars = { (ActorFunc)NULL, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80A9D8B8 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_NONE, OC2_NONE, COLSHAPE_CYLINDER, }, @@ -29,95 +28,96 @@ static ColliderCylinderInit D_80A9D8B8 = { { 276, 0, 20, { 0, 0, 0 } }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80A9D8F8[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80A9D8B8; extern InitChainEntry D_80A9D8F8[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Post_0x80A9ACD0/func_80A9ACD0.asm") +extern UNK_TYPE D_0600D3B0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Post_0x80A9ACD0/func_80A9ACF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Post/func_80A9ACD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Post_0x80A9ACD0/func_80A9AD18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Post/func_80A9ACF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Post_0x80A9ACD0/func_80A9AE3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Post/func_80A9AD18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Post_0x80A9ACD0/func_80A9AEB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Post/func_80A9AE3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Post_0x80A9ACD0/func_80A9AFB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Post/func_80A9AEB8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Post_0x80A9ACD0/func_80A9B160.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Post/func_80A9AFB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Post_0x80A9ACD0/func_80A9B244.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Post/func_80A9B160.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Post_0x80A9ACD0/func_80A9B2B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Post/func_80A9B244.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Post_0x80A9ACD0/func_80A9B32C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Post/func_80A9B2B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Post_0x80A9ACD0/func_80A9B384.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Post/func_80A9B32C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Post_0x80A9ACD0/func_80A9B3BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Post/func_80A9B384.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Post_0x80A9ACD0/func_80A9B46C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Post/func_80A9B3BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Post_0x80A9ACD0/func_80A9B554.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Post/func_80A9B46C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Post_0x80A9ACD0/func_80A9BC0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Post/func_80A9B554.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Post_0x80A9ACD0/func_80A9BD24.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Post/func_80A9BC0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Post_0x80A9ACD0/func_80A9C058.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Post/func_80A9BD24.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Post_0x80A9ACD0/func_80A9C18C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Post/func_80A9C058.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Post_0x80A9ACD0/func_80A9C228.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Post/func_80A9C18C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Post_0x80A9ACD0/func_80A9C634.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Post/func_80A9C228.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Post_0x80A9ACD0/func_80A9C854.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Post/func_80A9C634.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Post_0x80A9ACD0/BgHakuginPost_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Post/func_80A9C854.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Post_0x80A9ACD0/BgHakuginPost_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Post/BgHakuginPost_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Post_0x80A9ACD0/func_80A9CA94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Post/BgHakuginPost_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Post_0x80A9ACD0/func_80A9CAA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Post/func_80A9CA94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Post_0x80A9ACD0/func_80A9CC84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Post/func_80A9CAA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Post_0x80A9ACD0/func_80A9CCA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Post/func_80A9CC84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Post_0x80A9ACD0/func_80A9CD00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Post/func_80A9CCA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Post_0x80A9ACD0/func_80A9CD14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Post/func_80A9CD00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Post_0x80A9ACD0/func_80A9CE00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Post/func_80A9CD14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Post_0x80A9ACD0/func_80A9CE1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Post/func_80A9CE00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Post_0x80A9ACD0/func_80A9D0A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Post/func_80A9CE1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Post_0x80A9ACD0/func_80A9D0B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Post/func_80A9D0A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Post_0x80A9ACD0/func_80A9D1E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Post/func_80A9D0B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Post_0x80A9ACD0/func_80A9D260.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Post/func_80A9D1E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Post_0x80A9ACD0/func_80A9D2C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Post/func_80A9D260.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Post_0x80A9ACD0/func_80A9D360.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Post/func_80A9D2C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Post_0x80A9ACD0/func_80A9D3E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Post/func_80A9D360.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Post_0x80A9ACD0/func_80A9D434.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Post/func_80A9D3E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Post_0x80A9ACD0/BgHakuginPost_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Post/func_80A9D434.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Post_0x80A9ACD0/func_80A9D61C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Post/BgHakuginPost_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Post/func_80A9D61C.s") diff --git a/src/overlays/actors/ovl_Bg_Hakugin_Post/z_bg_hakugin_post.h b/src/overlays/actors/ovl_Bg_Hakugin_Post/z_bg_hakugin_post.h index 9c42a12c55..8abb9ed28a 100644 --- a/src/overlays/actors/ovl_Bg_Hakugin_Post/z_bg_hakugin_post.h +++ b/src/overlays/actors/ovl_Bg_Hakugin_Post/z_bg_hakugin_post.h @@ -1,13 +1,17 @@ #ifndef Z_BG_HAKUGIN_POST_H #define Z_BG_HAKUGIN_POST_H -#include +#include "global.h" struct BgHakuginPost; +typedef void (*BgHakuginPostActionFunc)(struct BgHakuginPost* this, GlobalContext* globalCtx); + typedef struct BgHakuginPost { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x44]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x18]; + /* 0x015C */ BgHakuginPostActionFunc actionFunc; + /* 0x0160 */ char unk_160[0x28]; } BgHakuginPost; // size = 0x188 extern const ActorInit Bg_Hakugin_Post_InitVars; diff --git a/src/overlays/actors/ovl_Bg_Hakugin_Switch/z_bg_hakugin_switch.c b/src/overlays/actors/ovl_Bg_Hakugin_Switch/z_bg_hakugin_switch.c index 525878f478..916b825d61 100644 --- a/src/overlays/actors/ovl_Bg_Hakugin_Switch/z_bg_hakugin_switch.c +++ b/src/overlays/actors/ovl_Bg_Hakugin_Switch/z_bg_hakugin_switch.c @@ -22,7 +22,6 @@ const ActorInit Bg_Hakugin_Switch_InitVars = { (ActorFunc)BgHakuginSwitch_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80B16860 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_NONE, OC2_NONE, COLSHAPE_CYLINDER, }, @@ -30,7 +29,6 @@ static ColliderCylinderInit D_80B16860 = { { 60, 10, 180, { 0, 0, 0 } }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80B16904[] = { ICHAIN_F32(uncullZoneForward, 4000, ICHAIN_CONTINUE), @@ -38,7 +36,6 @@ static InitChainEntry D_80B16904[] = { ICHAIN_F32(uncullZoneDownward, 130, ICHAIN_STOP), }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80B16910[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_CONTINUE), @@ -47,60 +44,62 @@ static InitChainEntry D_80B16910[] = { ICHAIN_F32(uncullZoneDownward, 360, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80B16860; extern InitChainEntry D_80B16904[]; extern InitChainEntry D_80B16910[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch_0x80B15790/func_80B15790.asm") +extern UNK_TYPE D_060005C8; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch_0x80B15790/func_80B157C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch/func_80B15790.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch_0x80B15790/BgHakuginSwitch_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch/func_80B157C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch_0x80B15790/BgHakuginSwitch_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch/BgHakuginSwitch_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch_0x80B15790/func_80B15A4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch/BgHakuginSwitch_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch_0x80B15790/func_80B15A68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch/func_80B15A4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch_0x80B15790/func_80B15B1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch/func_80B15A68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch_0x80B15790/func_80B15B74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch/func_80B15B1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch_0x80B15790/func_80B15E0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch/func_80B15B74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch_0x80B15790/func_80B15E78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch/func_80B15E0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch_0x80B15790/func_80B15F3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch/func_80B15E78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch_0x80B15790/func_80B15F88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch/func_80B15F3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch_0x80B15790/func_80B1606C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch/func_80B15F88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch_0x80B15790/func_80B160DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch/func_80B1606C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch_0x80B15790/func_80B16180.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch/func_80B160DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch_0x80B15790/func_80B161A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch/func_80B16180.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch_0x80B15790/func_80B16244.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch/func_80B161A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch_0x80B15790/func_80B162AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch/func_80B16244.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch_0x80B15790/func_80B163C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch/func_80B162AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch_0x80B15790/func_80B16400.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch/func_80B163C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch_0x80B15790/func_80B16494.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch/func_80B16400.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch_0x80B15790/func_80B16520.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch/func_80B16494.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch_0x80B15790/func_80B165A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch/func_80B16520.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch_0x80B15790/func_80B165E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch/func_80B165A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch_0x80B15790/BgHakuginSwitch_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch/func_80B165E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch_0x80B15790/BgHakuginSwitch_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch/BgHakuginSwitch_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Hakugin_Switch/BgHakuginSwitch_Draw.s") diff --git a/src/overlays/actors/ovl_Bg_Hakugin_Switch/z_bg_hakugin_switch.h b/src/overlays/actors/ovl_Bg_Hakugin_Switch/z_bg_hakugin_switch.h index c85a1baee0..9839db7235 100644 --- a/src/overlays/actors/ovl_Bg_Hakugin_Switch/z_bg_hakugin_switch.h +++ b/src/overlays/actors/ovl_Bg_Hakugin_Switch/z_bg_hakugin_switch.h @@ -1,13 +1,17 @@ #ifndef Z_BG_HAKUGIN_SWITCH_H #define Z_BG_HAKUGIN_SWITCH_H -#include +#include "global.h" struct BgHakuginSwitch; +typedef void (*BgHakuginSwitchActionFunc)(struct BgHakuginSwitch* this, GlobalContext* globalCtx); + typedef struct BgHakuginSwitch { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x88]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x68]; + /* 0x01AC */ BgHakuginSwitchActionFunc actionFunc; + /* 0x01B0 */ char unk_1B0[0x1C]; } BgHakuginSwitch; // size = 0x1CC extern const ActorInit Bg_Hakugin_Switch_InitVars; diff --git a/src/overlays/actors/ovl_Bg_Icefloe/z_bg_icefloe.c b/src/overlays/actors/ovl_Bg_Icefloe/z_bg_icefloe.c index b5ddc920a6..8d77107c29 100644 --- a/src/overlays/actors/ovl_Bg_Icefloe/z_bg_icefloe.c +++ b/src/overlays/actors/ovl_Bg_Icefloe/z_bg_icefloe.c @@ -22,32 +22,34 @@ const ActorInit Bg_Icefloe_InitVars = { (ActorFunc)BgIcefloe_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80AC4F3C[] = { ICHAIN_VEC3F_DIV1000(scale, 0, ICHAIN_STOP), }; - -extern InitChainEntry D_80AC4F3C[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Icefloe_0x80AC48F0/BgIcefloe_Init.asm") +extern InitChainEntry D_80AC4F3C[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Icefloe_0x80AC48F0/BgIcefloe_Destroy.asm") +extern UNK_TYPE D_060001E0; +extern UNK_TYPE D_06000C90; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Icefloe_0x80AC48F0/func_80AC4A80.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Icefloe/BgIcefloe_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Icefloe_0x80AC48F0/func_80AC4AE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Icefloe/BgIcefloe_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Icefloe_0x80AC48F0/func_80AC4C18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Icefloe/func_80AC4A80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Icefloe_0x80AC48F0/func_80AC4C34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Icefloe/func_80AC4AE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Icefloe_0x80AC48F0/func_80AC4CF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Icefloe/func_80AC4C18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Icefloe_0x80AC48F0/func_80AC4D2C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Icefloe/func_80AC4C34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Icefloe_0x80AC48F0/BgIcefloe_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Icefloe/func_80AC4CF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Icefloe_0x80AC48F0/BgIcefloe_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Icefloe/func_80AC4D2C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Icefloe/BgIcefloe_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Icefloe/BgIcefloe_Draw.s") diff --git a/src/overlays/actors/ovl_Bg_Icefloe/z_bg_icefloe.h b/src/overlays/actors/ovl_Bg_Icefloe/z_bg_icefloe.h index b6b05bd8fe..668f2fec41 100644 --- a/src/overlays/actors/ovl_Bg_Icefloe/z_bg_icefloe.h +++ b/src/overlays/actors/ovl_Bg_Icefloe/z_bg_icefloe.h @@ -1,13 +1,17 @@ #ifndef Z_BG_ICEFLOE_H #define Z_BG_ICEFLOE_H -#include +#include "global.h" struct BgIcefloe; +typedef void (*BgIcefloeActionFunc)(struct BgIcefloe* this, GlobalContext* globalCtx); + typedef struct BgIcefloe { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x20]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x18]; + /* 0x015C */ BgIcefloeActionFunc actionFunc; + /* 0x0160 */ char unk_160[0x4]; } BgIcefloe; // size = 0x164 extern const ActorInit Bg_Icefloe_InitVars; diff --git a/src/overlays/actors/ovl_Bg_Icicle/z_bg_icicle.h b/src/overlays/actors/ovl_Bg_Icicle/z_bg_icicle.h index 9b5a316c9c..510332da02 100644 --- a/src/overlays/actors/ovl_Bg_Icicle/z_bg_icicle.h +++ b/src/overlays/actors/ovl_Bg_Icicle/z_bg_icicle.h @@ -1,7 +1,7 @@ #ifndef Z_BG_ICICLE_H #define Z_BG_ICICLE_H -#include +#include "global.h" struct BgIcicle; diff --git a/src/overlays/actors/ovl_Bg_Ikana_Block/z_bg_ikana_block.c b/src/overlays/actors/ovl_Bg_Ikana_Block/z_bg_ikana_block.c index a78c50b962..c9026f5299 100644 --- a/src/overlays/actors/ovl_Bg_Ikana_Block/z_bg_ikana_block.c +++ b/src/overlays/actors/ovl_Bg_Ikana_Block/z_bg_ikana_block.c @@ -8,6 +8,11 @@ void BgIkanaBlock_Init(Actor* thisx, GlobalContext* globalCtx); void BgIkanaBlock_Destroy(Actor* thisx, GlobalContext* globalCtx); void BgIkanaBlock_Update(Actor* thisx, GlobalContext* globalCtx); +void func_80B7F034(BgIkanaBlock* this, GlobalContext* globalCtx); +void func_80B7F0D0(BgIkanaBlock* this, GlobalContext* globalCtx); +void func_80B7F290(BgIkanaBlock* this, GlobalContext* globalCtx); +void func_80B7F398(BgIkanaBlock* this, GlobalContext* globalCtx); + #if 0 const ActorInit Bg_Ikana_Block_InitVars = { ACTOR_BG_IKANA_BLOCK, @@ -21,7 +26,6 @@ const ActorInit Bg_Ikana_Block_InitVars = { (ActorFunc)NULL, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80B7F640[] = { ICHAIN_F32(uncullZoneForward, 4000, ICHAIN_CONTINUE), @@ -30,50 +34,50 @@ static InitChainEntry D_80B7F640[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), }; - -extern InitChainEntry D_80B7F640[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Block_0x80B7EA60/func_80B7EA60.asm") +extern InitChainEntry D_80B7F640[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Block_0x80B7EA60/func_80B7EB30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Block/func_80B7EA60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Block_0x80B7EA60/func_80B7EB64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Block/func_80B7EB30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Block_0x80B7EA60/func_80B7EB7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Block/func_80B7EB64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Block_0x80B7EA60/func_80B7EB94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Block/func_80B7EB7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Block_0x80B7EA60/func_80B7ECFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Block/func_80B7EB94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Block_0x80B7EA60/func_80B7ED54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Block/func_80B7ECFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Block_0x80B7EA60/func_80B7EDC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Block/func_80B7ED54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Block_0x80B7EA60/func_80B7EE70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Block/func_80B7EDC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Block_0x80B7EA60/func_80B7EEB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Block/func_80B7EE70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Block_0x80B7EA60/BgIkanaBlock_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Block/func_80B7EEB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Block_0x80B7EA60/BgIkanaBlock_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Block/BgIkanaBlock_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Block_0x80B7EA60/func_80B7F00C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Block/BgIkanaBlock_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Block_0x80B7EA60/func_80B7F034.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Block/func_80B7F00C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Block_0x80B7EA60/func_80B7F0A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Block/func_80B7F034.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Block_0x80B7EA60/func_80B7F0D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Block/func_80B7F0A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Block_0x80B7EA60/func_80B7F1A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Block/func_80B7F0D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Block_0x80B7EA60/func_80B7F290.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Block/func_80B7F1A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Block_0x80B7EA60/func_80B7F360.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Block/func_80B7F290.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Block_0x80B7EA60/func_80B7F398.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Block/func_80B7F360.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Block_0x80B7EA60/BgIkanaBlock_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Block/func_80B7F398.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Block_0x80B7EA60/func_80B7F564.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Block/BgIkanaBlock_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Block/func_80B7F564.s") diff --git a/src/overlays/actors/ovl_Bg_Ikana_Block/z_bg_ikana_block.h b/src/overlays/actors/ovl_Bg_Ikana_Block/z_bg_ikana_block.h index dc1ff78f95..77ac010fc0 100644 --- a/src/overlays/actors/ovl_Bg_Ikana_Block/z_bg_ikana_block.h +++ b/src/overlays/actors/ovl_Bg_Ikana_Block/z_bg_ikana_block.h @@ -1,13 +1,17 @@ #ifndef Z_BG_IKANA_BLOCK_H #define Z_BG_IKANA_BLOCK_H -#include +#include "global.h" struct BgIkanaBlock; +typedef void (*BgIkanaBlockActionFunc)(struct BgIkanaBlock* this, GlobalContext* globalCtx); + typedef struct BgIkanaBlock { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x3C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x1C]; + /* 0x0160 */ BgIkanaBlockActionFunc actionFunc; + /* 0x0164 */ char unk_164[0x1C]; } BgIkanaBlock; // size = 0x180 extern const ActorInit Bg_Ikana_Block_InitVars; diff --git a/src/overlays/actors/ovl_Bg_Ikana_Bombwall/z_bg_ikana_bombwall.c b/src/overlays/actors/ovl_Bg_Ikana_Bombwall/z_bg_ikana_bombwall.c index 75945a2976..acbdb6bc96 100644 --- a/src/overlays/actors/ovl_Bg_Ikana_Bombwall/z_bg_ikana_bombwall.c +++ b/src/overlays/actors/ovl_Bg_Ikana_Bombwall/z_bg_ikana_bombwall.c @@ -22,7 +22,6 @@ const ActorInit Bg_Ikana_Bombwall_InitVars = { (ActorFunc)BgIkanaBombwall_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80BD5270 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_NONE, OC2_NONE, COLSHAPE_CYLINDER, }, @@ -30,7 +29,6 @@ static ColliderCylinderInit D_80BD5270 = { { 80, 80, 0, { 0, 0, 0 } }, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80BD529C = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_NONE, OC2_NONE, COLSHAPE_CYLINDER, }, @@ -38,7 +36,6 @@ static ColliderCylinderInit D_80BD529C = { { 50, 20, 0, { 0, 0, 0 } }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80BD52D0[] = { ICHAIN_F32(uncullZoneForward, 4000, ICHAIN_CONTINUE), @@ -47,40 +44,43 @@ static InitChainEntry D_80BD52D0[] = { ICHAIN_VEC3F_DIV1000(scale, 1000, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80BD5270; extern ColliderCylinderInit D_80BD529C; extern InitChainEntry D_80BD52D0[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Bombwall_0x80BD4720/func_80BD4720.asm") +extern UNK_TYPE D_06000288; +extern UNK_TYPE D_06000488; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Bombwall_0x80BD4720/func_80BD4A14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Bombwall/func_80BD4720.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Bombwall_0x80BD4720/BgIkanaBombwall_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Bombwall/func_80BD4A14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Bombwall_0x80BD4720/BgIkanaBombwall_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Bombwall/BgIkanaBombwall_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Bombwall_0x80BD4720/func_80BD4E44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Bombwall/BgIkanaBombwall_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Bombwall_0x80BD4720/func_80BD4EAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Bombwall/func_80BD4E44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Bombwall_0x80BD4720/func_80BD4F18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Bombwall/func_80BD4EAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Bombwall_0x80BD4720/func_80BD4F2C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Bombwall/func_80BD4F18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Bombwall_0x80BD4720/func_80BD4F88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Bombwall/func_80BD4F2C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Bombwall_0x80BD4720/func_80BD4F9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Bombwall/func_80BD4F88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Bombwall_0x80BD4720/func_80BD4FF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Bombwall/func_80BD4F9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Bombwall_0x80BD4720/func_80BD503C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Bombwall/func_80BD4FF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Bombwall_0x80BD4720/func_80BD5118.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Bombwall/func_80BD503C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Bombwall_0x80BD4720/func_80BD5134.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Bombwall/func_80BD5118.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Bombwall_0x80BD4720/BgIkanaBombwall_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Bombwall/func_80BD5134.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Bombwall_0x80BD4720/BgIkanaBombwall_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Bombwall/BgIkanaBombwall_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Bombwall/BgIkanaBombwall_Draw.s") diff --git a/src/overlays/actors/ovl_Bg_Ikana_Bombwall/z_bg_ikana_bombwall.h b/src/overlays/actors/ovl_Bg_Ikana_Bombwall/z_bg_ikana_bombwall.h index 3f757d2a42..254daee678 100644 --- a/src/overlays/actors/ovl_Bg_Ikana_Bombwall/z_bg_ikana_bombwall.h +++ b/src/overlays/actors/ovl_Bg_Ikana_Bombwall/z_bg_ikana_bombwall.h @@ -1,13 +1,17 @@ #ifndef Z_BG_IKANA_BOMBWALL_H #define Z_BG_IKANA_BOMBWALL_H -#include +#include "global.h" struct BgIkanaBombwall; +typedef void (*BgIkanaBombwallActionFunc)(struct BgIkanaBombwall* this, GlobalContext* globalCtx); + typedef struct BgIkanaBombwall { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x6C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x64]; + /* 0x01A8 */ BgIkanaBombwallActionFunc actionFunc; + /* 0x01AC */ char unk_1AC[0x4]; } BgIkanaBombwall; // size = 0x1B0 extern const ActorInit Bg_Ikana_Bombwall_InitVars; diff --git a/src/overlays/actors/ovl_Bg_Ikana_Dharma/z_bg_ikana_dharma.c b/src/overlays/actors/ovl_Bg_Ikana_Dharma/z_bg_ikana_dharma.c index 1e33fde7db..350f45c206 100644 --- a/src/overlays/actors/ovl_Bg_Ikana_Dharma/z_bg_ikana_dharma.c +++ b/src/overlays/actors/ovl_Bg_Ikana_Dharma/z_bg_ikana_dharma.c @@ -22,7 +22,6 @@ const ActorInit Bg_Ikana_Dharma_InitVars = { (ActorFunc)BgIkanaDharma_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80BECAD0 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_NONE, OC2_NONE, COLSHAPE_CYLINDER, }, @@ -30,7 +29,6 @@ static ColliderCylinderInit D_80BECAD0 = { { 98, 10, 25, { 0, 0, 0 } }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80BECAFC[] = { ICHAIN_F32(uncullZoneForward, 4000, ICHAIN_CONTINUE), @@ -39,29 +37,32 @@ static InitChainEntry D_80BECAFC[] = { ICHAIN_F32_DIV1000(gravity, -1100, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80BECAD0; extern InitChainEntry D_80BECAFC[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Dharma_0x80BEC240/func_80BEC240.asm") +extern UNK_TYPE D_060008C8; +extern UNK_TYPE D_06000C50; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Dharma_0x80BEC240/BgIkanaDharma_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Dharma/func_80BEC240.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Dharma_0x80BEC240/BgIkanaDharma_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Dharma/BgIkanaDharma_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Dharma_0x80BEC240/func_80BEC5C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Dharma/BgIkanaDharma_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Dharma_0x80BEC240/func_80BEC5E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Dharma/func_80BEC5C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Dharma_0x80BEC240/func_80BEC758.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Dharma/func_80BEC5E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Dharma_0x80BEC240/func_80BEC790.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Dharma/func_80BEC758.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Dharma_0x80BEC240/func_80BEC7EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Dharma/func_80BEC790.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Dharma_0x80BEC240/func_80BEC808.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Dharma/func_80BEC7EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Dharma_0x80BEC240/BgIkanaDharma_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Dharma/func_80BEC808.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Dharma_0x80BEC240/BgIkanaDharma_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Dharma/BgIkanaDharma_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Dharma/BgIkanaDharma_Draw.s") diff --git a/src/overlays/actors/ovl_Bg_Ikana_Dharma/z_bg_ikana_dharma.h b/src/overlays/actors/ovl_Bg_Ikana_Dharma/z_bg_ikana_dharma.h index 0cab98a701..cb5c1de868 100644 --- a/src/overlays/actors/ovl_Bg_Ikana_Dharma/z_bg_ikana_dharma.h +++ b/src/overlays/actors/ovl_Bg_Ikana_Dharma/z_bg_ikana_dharma.h @@ -1,13 +1,17 @@ #ifndef Z_BG_IKANA_DHARMA_H #define Z_BG_IKANA_DHARMA_H -#include +#include "global.h" struct BgIkanaDharma; +typedef void (*BgIkanaDharmaActionFunc)(struct BgIkanaDharma* this, GlobalContext* globalCtx); + typedef struct BgIkanaDharma { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x6C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x64]; + /* 0x01A8 */ BgIkanaDharmaActionFunc actionFunc; + /* 0x01AC */ char unk_1AC[0x4]; } BgIkanaDharma; // size = 0x1B0 extern const ActorInit Bg_Ikana_Dharma_InitVars; diff --git a/src/overlays/actors/ovl_Bg_Ikana_Mirror/z_bg_ikana_mirror.c b/src/overlays/actors/ovl_Bg_Ikana_Mirror/z_bg_ikana_mirror.c index 407e65ff5e..1e723ce822 100644 --- a/src/overlays/actors/ovl_Bg_Ikana_Mirror/z_bg_ikana_mirror.c +++ b/src/overlays/actors/ovl_Bg_Ikana_Mirror/z_bg_ikana_mirror.c @@ -22,7 +22,6 @@ const ActorInit Bg_Ikana_Mirror_InitVars = { (ActorFunc)BgIkanaMirror_Draw, }; - // static ColliderTrisElementInit sTrisElementsInit[9] = { static ColliderTrisElementInit D_80B7FF50[9] = { { @@ -69,7 +68,6 @@ static ColliderTrisInit D_80B8016C = { 9, D_80B7FF50, // sTrisElementsInit, }; - // static ColliderQuadInit sQuadInit = { static ColliderQuadInit D_80B8017C = { { COLTYPE_NONE, AT_ON | AT_TYPE_OTHER, AC_NONE, OC1_NONE, OC2_NONE, COLSHAPE_QUAD, }, @@ -77,7 +75,6 @@ static ColliderQuadInit D_80B8017C = { { { { 0.0f, 72.0f, 20.0f }, { 0.0f, 72.0f, 240.0f }, { 0.0f, 6.0f, 20.0f }, { 0.0f, 6.0f, 240.0f } } }, }; - // static ColliderQuadInit sQuadInit = { static ColliderQuadInit D_80B801FC = { { 0x41, AT_NONE | AT_TYPE_OTHER, AC_NONE, OC1_NONE, OC2_FIRST_ONLY | OC2_UNK1 | OC2_HIT_PLAYER, 0x70, }, @@ -85,7 +82,6 @@ static ColliderQuadInit D_80B801FC = { { { { -1.8339854079840734e-09f, -1.8626939990440405e-09f, -1.9208972190654094e-09f }, { 221185.5625f, 0.0f, 0.003921568859368563f }, { 0.0f, 0.0f, 0.0f }, { 2.8698592549372254e-42f, 1.0761972206014595e-42f, 2.2420775429197073e-44f } } }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80B8021C[] = { ICHAIN_F32(uncullZoneForward, 4000, ICHAIN_CONTINUE), @@ -94,28 +90,31 @@ static InitChainEntry D_80B8021C[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), }; +#endif extern ColliderTrisElementInit D_80B7FF50[9]; extern ColliderTrisInit D_80B8016C; extern ColliderQuadInit D_80B8017C; extern ColliderQuadInit D_80B801FC; extern InitChainEntry D_80B8021C[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Mirror_0x80B7F730/func_80B7F730.asm") +extern UNK_TYPE D_06001E18; +extern UNK_TYPE D_06002358; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Mirror_0x80B7F730/BgIkanaMirror_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Mirror/func_80B7F730.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Mirror_0x80B7F730/BgIkanaMirror_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Mirror/BgIkanaMirror_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Mirror_0x80B7F730/func_80B7FA84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Mirror/BgIkanaMirror_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Mirror_0x80B7F730/func_80B7FA9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Mirror/func_80B7FA84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Mirror_0x80B7F730/func_80B7FB84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Mirror/func_80B7FA9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Mirror_0x80B7F730/func_80B7FBA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Mirror/func_80B7FB84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Mirror_0x80B7F730/BgIkanaMirror_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Mirror/func_80B7FBA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Mirror_0x80B7F730/BgIkanaMirror_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Mirror/BgIkanaMirror_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Mirror/BgIkanaMirror_Draw.s") diff --git a/src/overlays/actors/ovl_Bg_Ikana_Mirror/z_bg_ikana_mirror.h b/src/overlays/actors/ovl_Bg_Ikana_Mirror/z_bg_ikana_mirror.h index c995765ae3..45e85f9c13 100644 --- a/src/overlays/actors/ovl_Bg_Ikana_Mirror/z_bg_ikana_mirror.h +++ b/src/overlays/actors/ovl_Bg_Ikana_Mirror/z_bg_ikana_mirror.h @@ -1,13 +1,17 @@ #ifndef Z_BG_IKANA_MIRROR_H #define Z_BG_IKANA_MIRROR_H -#include +#include "global.h" struct BgIkanaMirror; +typedef void (*BgIkanaMirrorActionFunc)(struct BgIkanaMirror* this, GlobalContext* globalCtx); + typedef struct BgIkanaMirror { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x488]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x474]; + /* 0x05B8 */ BgIkanaMirrorActionFunc actionFunc; + /* 0x05BC */ char unk_5BC[0x10]; } BgIkanaMirror; // size = 0x5CC extern const ActorInit Bg_Ikana_Mirror_InitVars; diff --git a/src/overlays/actors/ovl_Bg_Ikana_Ray/z_bg_ikana_ray.c b/src/overlays/actors/ovl_Bg_Ikana_Ray/z_bg_ikana_ray.c index 9462d17e1a..10be857652 100644 --- a/src/overlays/actors/ovl_Bg_Ikana_Ray/z_bg_ikana_ray.c +++ b/src/overlays/actors/ovl_Bg_Ikana_Ray/z_bg_ikana_ray.c @@ -53,6 +53,9 @@ static InitChainEntry sInitChain[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), }; +extern Gfx D_06001100[]; +extern AnimatedMaterial D_06001228[]; + void BgIkanaRay_Init(Actor* thisx, GlobalContext* globalCtx) { BgIkanaRay* this = THIS; ColliderCylinder* collision = &this->collision; @@ -62,7 +65,7 @@ void BgIkanaRay_Init(Actor* thisx, GlobalContext* globalCtx) { Collider_SetCylinder(globalCtx, collision, &this->actor, &sCylinderInit); Collider_UpdateCylinder(&this->actor, &this->collision); - this->animatedTextures = (AnimatedMaterial*)Lib_SegmentedToVirtual(object_ikana_obj_001228); + this->animatedTextures = (AnimatedMaterial*)Lib_SegmentedToVirtual(D_06001228); if (Flags_GetSwitch(globalCtx, this->actor.params & 0x7F)) { BgIkanaRay_SetActivated(this); @@ -110,5 +113,5 @@ void BgIkanaRay_Draw(Actor* thisx, GlobalContext* globalCtx) { BgIkanaRay* this = THIS; AnimatedMat_Draw(globalCtx, this->animatedTextures); - func_800BE03C(globalCtx, object_ikana_obj_001100); + func_800BE03C(globalCtx, D_06001100); } diff --git a/src/overlays/actors/ovl_Bg_Ikana_Ray/z_bg_ikana_ray.h b/src/overlays/actors/ovl_Bg_Ikana_Ray/z_bg_ikana_ray.h index 9a3cb77de1..d17fbeed98 100644 --- a/src/overlays/actors/ovl_Bg_Ikana_Ray/z_bg_ikana_ray.h +++ b/src/overlays/actors/ovl_Bg_Ikana_Ray/z_bg_ikana_ray.h @@ -1,7 +1,7 @@ #ifndef Z_BG_IKANA_RAY_H #define Z_BG_IKANA_RAY_H -#include +#include "global.h" struct BgIkanaRay; diff --git a/src/overlays/actors/ovl_Bg_Ikana_Rotaryroom/z_bg_ikana_rotaryroom.c b/src/overlays/actors/ovl_Bg_Ikana_Rotaryroom/z_bg_ikana_rotaryroom.c index f39d0120e8..ada0464573 100644 --- a/src/overlays/actors/ovl_Bg_Ikana_Rotaryroom/z_bg_ikana_rotaryroom.c +++ b/src/overlays/actors/ovl_Bg_Ikana_Rotaryroom/z_bg_ikana_rotaryroom.c @@ -9,6 +9,8 @@ void BgIkanaRotaryroom_Destroy(Actor* thisx, GlobalContext* globalCtx); void BgIkanaRotaryroom_Update(Actor* thisx, GlobalContext* globalCtx); void BgIkanaRotaryroom_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80B814B8(BgIkanaRotaryroom* this, GlobalContext* globalCtx); + #if 0 const ActorInit Bg_Ikana_Rotaryroom_InitVars = { ACTOR_BG_IKANA_ROTARYROOM, @@ -22,7 +24,6 @@ const ActorInit Bg_Ikana_Rotaryroom_InitVars = { (ActorFunc)BgIkanaRotaryroom_Draw, }; - // static ColliderJntSphElementInit sJntSphElementsInit[2] = { static ColliderJntSphElementInit D_80B820E0[2] = { { @@ -41,7 +42,6 @@ static ColliderJntSphInit D_80B82128 = { 2, D_80B820E0, // sJntSphElementsInit, }; - // static ColliderJntSphElementInit sJntSphElementsInit[1] = { static ColliderJntSphElementInit D_80B82138[1] = { { @@ -56,74 +56,76 @@ static ColliderJntSphInit D_80B8215C = { 1, D_80B82138, // sJntSphElementsInit, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80B82214[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), }; +#endif extern ColliderJntSphElementInit D_80B820E0[2]; extern ColliderJntSphInit D_80B82128; extern ColliderJntSphElementInit D_80B82138[1]; extern ColliderJntSphInit D_80B8215C; extern InitChainEntry D_80B82214[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom_0x80B802E0/func_80B802E0.asm") +extern UNK_TYPE D_060048A0; +extern UNK_TYPE D_06007B68; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom_0x80B802E0/func_80B80358.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom/func_80B802E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom_0x80B802E0/func_80B80440.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom/func_80B80358.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom_0x80B802E0/func_80B80550.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom/func_80B80440.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom_0x80B802E0/func_80B80778.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom/func_80B80550.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom_0x80B802E0/func_80B80894.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom/func_80B80778.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom_0x80B802E0/func_80B80C88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom/func_80B80894.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom_0x80B802E0/func_80B80F08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom/func_80B80C88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom_0x80B802E0/func_80B81010.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom/func_80B80F08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom_0x80B802E0/func_80B81234.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom/func_80B81010.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom_0x80B802E0/func_80B814B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom/func_80B81234.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom_0x80B802E0/func_80B81570.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom/func_80B814B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom_0x80B802E0/func_80B816A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom/func_80B81570.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom_0x80B802E0/BgIkanaRotaryroom_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom/func_80B816A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom_0x80B802E0/BgIkanaRotaryroom_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom/BgIkanaRotaryroom_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom_0x80B802E0/func_80B818B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom/BgIkanaRotaryroom_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom_0x80B802E0/func_80B818C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom/func_80B818B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom_0x80B802E0/func_80B81978.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom/func_80B818C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom_0x80B802E0/func_80B8198C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom/func_80B81978.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom_0x80B802E0/func_80B819DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom/func_80B8198C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom_0x80B802E0/func_80B819F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom/func_80B819DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom_0x80B802E0/func_80B81A64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom/func_80B819F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom_0x80B802E0/func_80B81A80.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom/func_80B81A64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom_0x80B802E0/func_80B81B84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom/func_80B81A80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom_0x80B802E0/func_80B81BA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom/func_80B81B84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom_0x80B802E0/func_80B81DAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom/func_80B81BA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom_0x80B802E0/func_80B81DC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom/func_80B81DAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom_0x80B802E0/BgIkanaRotaryroom_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom/func_80B81DC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom_0x80B802E0/BgIkanaRotaryroom_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom/BgIkanaRotaryroom_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikana_Rotaryroom/BgIkanaRotaryroom_Draw.s") diff --git a/src/overlays/actors/ovl_Bg_Ikana_Rotaryroom/z_bg_ikana_rotaryroom.h b/src/overlays/actors/ovl_Bg_Ikana_Rotaryroom/z_bg_ikana_rotaryroom.h index 393fd4b55e..ee21b17140 100644 --- a/src/overlays/actors/ovl_Bg_Ikana_Rotaryroom/z_bg_ikana_rotaryroom.h +++ b/src/overlays/actors/ovl_Bg_Ikana_Rotaryroom/z_bg_ikana_rotaryroom.h @@ -1,13 +1,17 @@ #ifndef Z_BG_IKANA_ROTARYROOM_H #define Z_BG_IKANA_ROTARYROOM_H -#include +#include "global.h" struct BgIkanaRotaryroom; +typedef void (*BgIkanaRotaryroomActionFunc)(struct BgIkanaRotaryroom* this, GlobalContext* globalCtx); + typedef struct BgIkanaRotaryroom { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x444]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x43C]; + /* 0x0580 */ BgIkanaRotaryroomActionFunc actionFunc; + /* 0x0584 */ char unk_584[0x4]; } BgIkanaRotaryroom; // size = 0x588 extern const ActorInit Bg_Ikana_Rotaryroom_InitVars; diff --git a/src/overlays/actors/ovl_Bg_Ikana_Shutter/z_bg_ikana_shutter.h b/src/overlays/actors/ovl_Bg_Ikana_Shutter/z_bg_ikana_shutter.h index db35cf19ca..37cadc3421 100644 --- a/src/overlays/actors/ovl_Bg_Ikana_Shutter/z_bg_ikana_shutter.h +++ b/src/overlays/actors/ovl_Bg_Ikana_Shutter/z_bg_ikana_shutter.h @@ -1,7 +1,7 @@ #ifndef Z_BG_IKANA_SHUTTER_H #define Z_BG_IKANA_SHUTTER_H -#include +#include "global.h" struct BgIkanaShutter; diff --git a/src/overlays/actors/ovl_Bg_Iknin_Susceil/z_bg_iknin_susceil.h b/src/overlays/actors/ovl_Bg_Iknin_Susceil/z_bg_iknin_susceil.h index c76bbf518d..3692f48649 100644 --- a/src/overlays/actors/ovl_Bg_Iknin_Susceil/z_bg_iknin_susceil.h +++ b/src/overlays/actors/ovl_Bg_Iknin_Susceil/z_bg_iknin_susceil.h @@ -1,7 +1,7 @@ #ifndef Z_BG_IKNIN_SUSCEIL_H #define Z_BG_IKNIN_SUSCEIL_H -#include +#include "global.h" #define GET_SUSCEIL_SWITCHFLAG(this) (((this)->dyna.actor.params) & 0x7F) diff --git a/src/overlays/actors/ovl_Bg_Ikninside/z_bg_ikninside.c b/src/overlays/actors/ovl_Bg_Ikninside/z_bg_ikninside.c index 7775dd979c..f5c7ea6077 100644 --- a/src/overlays/actors/ovl_Bg_Ikninside/z_bg_ikninside.c +++ b/src/overlays/actors/ovl_Bg_Ikninside/z_bg_ikninside.c @@ -22,7 +22,6 @@ const ActorInit Bg_Ikninside_InitVars = { (ActorFunc)BgIkninside_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80C076A8 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_PLAYER, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,20 +29,23 @@ static ColliderCylinderInit D_80C076A8 = { { 32, 32, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80C076A8; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikninside_0x80C07110/BgIkninside_Init.asm") +extern ColliderCylinderInit D_80C076A8; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikninside_0x80C07110/BgIkninside_Destroy.asm") +extern UNK_TYPE D_0600CC78; +extern UNK_TYPE D_0600DE48; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikninside_0x80C07110/func_80C07220.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikninside/BgIkninside_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikninside_0x80C07110/func_80C07230.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikninside/BgIkninside_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikninside_0x80C07110/func_80C072D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikninside/func_80C07220.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikninside_0x80C07110/BgIkninside_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikninside/func_80C07230.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ikninside_0x80C07110/BgIkninside_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikninside/func_80C072D0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikninside/BgIkninside_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ikninside/BgIkninside_Draw.s") diff --git a/src/overlays/actors/ovl_Bg_Ikninside/z_bg_ikninside.h b/src/overlays/actors/ovl_Bg_Ikninside/z_bg_ikninside.h index 6626af7623..a8d1a7d3c4 100644 --- a/src/overlays/actors/ovl_Bg_Ikninside/z_bg_ikninside.h +++ b/src/overlays/actors/ovl_Bg_Ikninside/z_bg_ikninside.h @@ -1,13 +1,16 @@ #ifndef Z_BG_IKNINSIDE_H #define Z_BG_IKNINSIDE_H -#include +#include "global.h" struct BgIkninside; +typedef void (*BgIkninsideActionFunc)(struct BgIkninside* this, GlobalContext* globalCtx); + typedef struct BgIkninside { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x6C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x68]; + /* 0x01AC */ BgIkninsideActionFunc actionFunc; } BgIkninside; // size = 0x1B0 extern const ActorInit Bg_Ikninside_InitVars; diff --git a/src/overlays/actors/ovl_Bg_Iknv_Doukutu/z_bg_iknv_doukutu.c b/src/overlays/actors/ovl_Bg_Iknv_Doukutu/z_bg_iknv_doukutu.c index 7508569d46..980d20f93c 100644 --- a/src/overlays/actors/ovl_Bg_Iknv_Doukutu/z_bg_iknv_doukutu.c +++ b/src/overlays/actors/ovl_Bg_Iknv_Doukutu/z_bg_iknv_doukutu.c @@ -9,6 +9,13 @@ void BgIknvDoukutu_Destroy(Actor* thisx, GlobalContext* globalCtx); void BgIknvDoukutu_Update(Actor* thisx, GlobalContext* globalCtx); void BgIknvDoukutu_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80BD716C(BgIknvDoukutu* this, GlobalContext* globalCtx); +void func_80BD71BC(BgIknvDoukutu* this, GlobalContext* globalCtx); +void func_80BD7250(BgIknvDoukutu* this, GlobalContext* globalCtx); +void func_80BD72BC(BgIknvDoukutu* this, GlobalContext* globalCtx); +void func_80BD7360(BgIknvDoukutu* this, GlobalContext* globalCtx); +void func_80BD73D0(BgIknvDoukutu* this, GlobalContext* globalCtx); + #if 0 const ActorInit Bg_Iknv_Doukutu_InitVars = { ACTOR_BG_IKNV_DOUKUTU, @@ -24,30 +31,36 @@ const ActorInit Bg_Iknv_Doukutu_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Iknv_Doukutu_0x80BD6F10/BgIknvDoukutu_Init.asm") +extern UNK_TYPE D_0600F1C0; +extern UNK_TYPE D_06010D98; +extern UNK_TYPE D_060117A0; +extern UNK_TYPE D_06012728; +extern UNK_TYPE D_06012788; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Iknv_Doukutu_0x80BD6F10/BgIknvDoukutu_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Iknv_Doukutu/BgIknvDoukutu_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Iknv_Doukutu_0x80BD6F10/func_80BD716C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Iknv_Doukutu/BgIknvDoukutu_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Iknv_Doukutu_0x80BD6F10/func_80BD71BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Iknv_Doukutu/func_80BD716C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Iknv_Doukutu_0x80BD6F10/func_80BD7250.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Iknv_Doukutu/func_80BD71BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Iknv_Doukutu_0x80BD6F10/func_80BD72BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Iknv_Doukutu/func_80BD7250.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Iknv_Doukutu_0x80BD6F10/func_80BD7360.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Iknv_Doukutu/func_80BD72BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Iknv_Doukutu_0x80BD6F10/func_80BD73D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Iknv_Doukutu/func_80BD7360.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Iknv_Doukutu_0x80BD6F10/BgIknvDoukutu_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Iknv_Doukutu/func_80BD73D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Iknv_Doukutu_0x80BD6F10/BgIknvDoukutu_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Iknv_Doukutu/BgIknvDoukutu_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Iknv_Doukutu_0x80BD6F10/func_80BD7538.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Iknv_Doukutu/BgIknvDoukutu_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Iknv_Doukutu_0x80BD6F10/func_80BD7768.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Iknv_Doukutu/func_80BD7538.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Iknv_Doukutu_0x80BD6F10/func_80BD7820.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Iknv_Doukutu/func_80BD7768.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Iknv_Doukutu_0x80BD6F10/func_80BD78C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Iknv_Doukutu/func_80BD7820.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Iknv_Doukutu/func_80BD78C4.s") diff --git a/src/overlays/actors/ovl_Bg_Iknv_Doukutu/z_bg_iknv_doukutu.h b/src/overlays/actors/ovl_Bg_Iknv_Doukutu/z_bg_iknv_doukutu.h index 4262cf7995..1c37d97a1d 100644 --- a/src/overlays/actors/ovl_Bg_Iknv_Doukutu/z_bg_iknv_doukutu.h +++ b/src/overlays/actors/ovl_Bg_Iknv_Doukutu/z_bg_iknv_doukutu.h @@ -1,13 +1,16 @@ #ifndef Z_BG_IKNV_DOUKUTU_H #define Z_BG_IKNV_DOUKUTU_H -#include +#include "global.h" struct BgIknvDoukutu; +typedef void (*BgIknvDoukutuActionFunc)(struct BgIknvDoukutu* this, GlobalContext* globalCtx); + typedef struct BgIknvDoukutu { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x24]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x20]; + /* 0x0164 */ BgIknvDoukutuActionFunc actionFunc; } BgIknvDoukutu; // size = 0x168 extern const ActorInit Bg_Iknv_Doukutu_InitVars; diff --git a/src/overlays/actors/ovl_Bg_Iknv_Obj/z_bg_iknv_obj.h b/src/overlays/actors/ovl_Bg_Iknv_Obj/z_bg_iknv_obj.h index fd62059d36..d583753c29 100644 --- a/src/overlays/actors/ovl_Bg_Iknv_Obj/z_bg_iknv_obj.h +++ b/src/overlays/actors/ovl_Bg_Iknv_Obj/z_bg_iknv_obj.h @@ -1,7 +1,7 @@ #ifndef Z_BG_IKNV_OBJ_H #define Z_BG_IKNV_OBJ_H -#include +#include "global.h" struct BgIknvObj; diff --git a/src/overlays/actors/ovl_Bg_Ingate/z_bg_ingate.c b/src/overlays/actors/ovl_Bg_Ingate/z_bg_ingate.c index e6e4043e33..d374c5fa14 100644 --- a/src/overlays/actors/ovl_Bg_Ingate/z_bg_ingate.c +++ b/src/overlays/actors/ovl_Bg_Ingate/z_bg_ingate.c @@ -24,36 +24,39 @@ const ActorInit Bg_Ingate_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ingate_0x80953A90/func_80953A90.asm") +extern UNK_TYPE D_060006B0; +extern UNK_TYPE D_060016DC; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ingate_0x80953A90/func_80953B40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ingate/func_80953A90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ingate_0x80953A90/func_80953BEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ingate/func_80953B40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ingate_0x80953A90/func_80953DA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ingate/func_80953BEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ingate_0x80953A90/func_80953E38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ingate/func_80953DA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ingate_0x80953A90/func_80953EA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ingate/func_80953E38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ingate_0x80953A90/func_80953F14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ingate/func_80953EA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ingate_0x80953A90/func_80953F8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ingate/func_80953F14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ingate_0x80953A90/func_80953F9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ingate/func_80953F8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ingate_0x80953A90/func_809541B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ingate/func_80953F9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ingate_0x80953A90/func_809542A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ingate/func_809541B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ingate_0x80953A90/func_80954340.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ingate/func_809542A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ingate_0x80953A90/func_809543D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ingate/func_80954340.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ingate_0x80953A90/BgIngate_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ingate/func_809543D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ingate_0x80953A90/BgIngate_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ingate/BgIngate_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ingate_0x80953A90/BgIngate_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ingate/BgIngate_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Ingate_0x80953A90/BgIngate_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ingate/BgIngate_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Ingate/BgIngate_Draw.s") diff --git a/src/overlays/actors/ovl_Bg_Ingate/z_bg_ingate.h b/src/overlays/actors/ovl_Bg_Ingate/z_bg_ingate.h index 2ae76762e4..f58e738117 100644 --- a/src/overlays/actors/ovl_Bg_Ingate/z_bg_ingate.h +++ b/src/overlays/actors/ovl_Bg_Ingate/z_bg_ingate.h @@ -1,13 +1,17 @@ #ifndef Z_BG_INGATE_H #define Z_BG_INGATE_H -#include +#include "global.h" struct BgIngate; +typedef void (*BgIngateActionFunc)(struct BgIngate* this, GlobalContext* globalCtx); + typedef struct BgIngate { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x4C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x18]; + /* 0x015C */ BgIngateActionFunc actionFunc; + /* 0x0160 */ char unk_160[0x30]; } BgIngate; // size = 0x190 extern const ActorInit Bg_Ingate_InitVars; diff --git a/src/overlays/actors/ovl_Bg_Inibs_Movebg/z_bg_inibs_movebg.c b/src/overlays/actors/ovl_Bg_Inibs_Movebg/z_bg_inibs_movebg.c index 384a2ac394..f31b9da3ba 100644 --- a/src/overlays/actors/ovl_Bg_Inibs_Movebg/z_bg_inibs_movebg.c +++ b/src/overlays/actors/ovl_Bg_Inibs_Movebg/z_bg_inibs_movebg.c @@ -21,18 +21,17 @@ const ActorInit Bg_Inibs_Movebg_InitVars = { (ActorFunc)BgInibsMovebg_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80B96578[] = { ICHAIN_VEC3F_DIV1000(scale, 1000, ICHAIN_STOP), }; - -extern InitChainEntry D_80B96578[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Inibs_Movebg_0x80B96410/BgInibsMovebg_Init.asm") +extern InitChainEntry D_80B96578[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Inibs_Movebg_0x80B96410/BgInibsMovebg_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Inibs_Movebg/BgInibsMovebg_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Inibs_Movebg_0x80B96410/BgInibsMovebg_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Inibs_Movebg/BgInibsMovebg_Destroy.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Inibs_Movebg/BgInibsMovebg_Draw.s") diff --git a/src/overlays/actors/ovl_Bg_Inibs_Movebg/z_bg_inibs_movebg.h b/src/overlays/actors/ovl_Bg_Inibs_Movebg/z_bg_inibs_movebg.h index bbca985680..fea6c8a67e 100644 --- a/src/overlays/actors/ovl_Bg_Inibs_Movebg/z_bg_inibs_movebg.h +++ b/src/overlays/actors/ovl_Bg_Inibs_Movebg/z_bg_inibs_movebg.h @@ -1,7 +1,7 @@ #ifndef Z_BG_INIBS_MOVEBG_H #define Z_BG_INIBS_MOVEBG_H -#include +#include "global.h" struct BgInibsMovebg; diff --git a/src/overlays/actors/ovl_Bg_Keikoku_Saku/z_bg_keikoku_saku.c b/src/overlays/actors/ovl_Bg_Keikoku_Saku/z_bg_keikoku_saku.c index 9487dba71b..b5ba51a050 100644 --- a/src/overlays/actors/ovl_Bg_Keikoku_Saku/z_bg_keikoku_saku.c +++ b/src/overlays/actors/ovl_Bg_Keikoku_Saku/z_bg_keikoku_saku.c @@ -24,16 +24,19 @@ const ActorInit Bg_Keikoku_Saku_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Keikoku_Saku_0x80A537D0/BgKeikokuSaku_Init.asm") +extern UNK_TYPE D_06001640; +extern UNK_TYPE D_06002300; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Keikoku_Saku_0x80A537D0/BgKeikokuSaku_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Keikoku_Saku/BgKeikokuSaku_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Keikoku_Saku_0x80A537D0/func_80A5389C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Keikoku_Saku/BgKeikokuSaku_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Keikoku_Saku_0x80A537D0/func_80A538E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Keikoku_Saku/func_80A5389C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Keikoku_Saku_0x80A537D0/func_80A53994.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Keikoku_Saku/func_80A538E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Keikoku_Saku_0x80A537D0/BgKeikokuSaku_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Keikoku_Saku/func_80A53994.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Keikoku_Saku_0x80A537D0/BgKeikokuSaku_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Keikoku_Saku/BgKeikokuSaku_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Keikoku_Saku/BgKeikokuSaku_Draw.s") diff --git a/src/overlays/actors/ovl_Bg_Keikoku_Saku/z_bg_keikoku_saku.h b/src/overlays/actors/ovl_Bg_Keikoku_Saku/z_bg_keikoku_saku.h index 230effd744..24b75d2c68 100644 --- a/src/overlays/actors/ovl_Bg_Keikoku_Saku/z_bg_keikoku_saku.h +++ b/src/overlays/actors/ovl_Bg_Keikoku_Saku/z_bg_keikoku_saku.h @@ -1,13 +1,17 @@ #ifndef Z_BG_KEIKOKU_SAKU_H #define Z_BG_KEIKOKU_SAKU_H -#include +#include "global.h" struct BgKeikokuSaku; +typedef void (*BgKeikokuSakuActionFunc)(struct BgKeikokuSaku* this, GlobalContext* globalCtx); + typedef struct BgKeikokuSaku { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x20]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x18]; + /* 0x015C */ BgKeikokuSakuActionFunc actionFunc; + /* 0x0160 */ char unk_160[0x4]; } BgKeikokuSaku; // size = 0x164 extern const ActorInit Bg_Keikoku_Saku_InitVars; diff --git a/src/overlays/actors/ovl_Bg_Keikoku_Spr/z_bg_keikoku_spr.h b/src/overlays/actors/ovl_Bg_Keikoku_Spr/z_bg_keikoku_spr.h index b31f3ea55a..ca72665b8e 100644 --- a/src/overlays/actors/ovl_Bg_Keikoku_Spr/z_bg_keikoku_spr.h +++ b/src/overlays/actors/ovl_Bg_Keikoku_Spr/z_bg_keikoku_spr.h @@ -1,7 +1,7 @@ #ifndef Z_BG_KEIKOKU_SPR_H #define Z_BG_KEIKOKU_SPR_H -#include +#include "global.h" struct BgKeikokuSpr; diff --git a/src/overlays/actors/ovl_Bg_Kin2_Bombwall/z_bg_kin2_bombwall.c b/src/overlays/actors/ovl_Bg_Kin2_Bombwall/z_bg_kin2_bombwall.c index 7417b544b8..116d6d5f76 100644 --- a/src/overlays/actors/ovl_Bg_Kin2_Bombwall/z_bg_kin2_bombwall.c +++ b/src/overlays/actors/ovl_Bg_Kin2_Bombwall/z_bg_kin2_bombwall.c @@ -22,7 +22,6 @@ const ActorInit Bg_Kin2_Bombwall_InitVars = { (ActorFunc)BgKin2Bombwall_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80B6E6F0 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_NONE, OC2_NONE, COLSHAPE_CYLINDER, }, @@ -30,7 +29,6 @@ static ColliderCylinderInit D_80B6E6F0 = { { 60, 60, 0, { 0, 0, 0 } }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80B6E748[] = { ICHAIN_F32(uncullZoneForward, 4000, ICHAIN_CONTINUE), @@ -39,31 +37,35 @@ static InitChainEntry D_80B6E748[] = { ICHAIN_VEC3F_DIV1000(scale, 1000, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80B6E6F0; extern InitChainEntry D_80B6E748[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Kin2_Bombwall_0x80B6E020/func_80B6E020.asm") +extern UNK_TYPE D_06000128; +extern UNK_TYPE D_06000360; +extern UNK_TYPE D_06000490; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Kin2_Bombwall_0x80B6E020/func_80B6E090.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Kin2_Bombwall/func_80B6E020.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Kin2_Bombwall_0x80B6E020/BgKin2Bombwall_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Kin2_Bombwall/func_80B6E090.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Kin2_Bombwall_0x80B6E020/BgKin2Bombwall_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Kin2_Bombwall/BgKin2Bombwall_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Kin2_Bombwall_0x80B6E020/func_80B6E4B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Kin2_Bombwall/BgKin2Bombwall_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Kin2_Bombwall_0x80B6E020/func_80B6E4CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Kin2_Bombwall/func_80B6E4B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Kin2_Bombwall_0x80B6E020/func_80B6E544.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Kin2_Bombwall/func_80B6E4CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Kin2_Bombwall_0x80B6E020/func_80B6E558.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Kin2_Bombwall/func_80B6E544.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Kin2_Bombwall_0x80B6E020/func_80B6E5F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Kin2_Bombwall/func_80B6E558.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Kin2_Bombwall_0x80B6E020/func_80B6E614.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Kin2_Bombwall/func_80B6E5F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Kin2_Bombwall_0x80B6E020/BgKin2Bombwall_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Kin2_Bombwall/func_80B6E614.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Kin2_Bombwall_0x80B6E020/BgKin2Bombwall_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Kin2_Bombwall/BgKin2Bombwall_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Kin2_Bombwall/BgKin2Bombwall_Draw.s") diff --git a/src/overlays/actors/ovl_Bg_Kin2_Bombwall/z_bg_kin2_bombwall.h b/src/overlays/actors/ovl_Bg_Kin2_Bombwall/z_bg_kin2_bombwall.h index 75a77c4c55..6d921bea72 100644 --- a/src/overlays/actors/ovl_Bg_Kin2_Bombwall/z_bg_kin2_bombwall.h +++ b/src/overlays/actors/ovl_Bg_Kin2_Bombwall/z_bg_kin2_bombwall.h @@ -1,13 +1,17 @@ #ifndef Z_BG_KIN2_BOMBWALL_H #define Z_BG_KIN2_BOMBWALL_H -#include +#include "global.h" struct BgKin2Bombwall; +typedef void (*BgKin2BombwallActionFunc)(struct BgKin2Bombwall* this, GlobalContext* globalCtx); + typedef struct BgKin2Bombwall { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x6C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x64]; + /* 0x01A8 */ BgKin2BombwallActionFunc actionFunc; + /* 0x01AC */ char unk_1AC[0x4]; } BgKin2Bombwall; // size = 0x1B0 extern const ActorInit Bg_Kin2_Bombwall_InitVars; diff --git a/src/overlays/actors/ovl_Bg_Kin2_Fence/z_bg_kin2_fence.h b/src/overlays/actors/ovl_Bg_Kin2_Fence/z_bg_kin2_fence.h index 0f51636dea..1272c4b544 100644 --- a/src/overlays/actors/ovl_Bg_Kin2_Fence/z_bg_kin2_fence.h +++ b/src/overlays/actors/ovl_Bg_Kin2_Fence/z_bg_kin2_fence.h @@ -1,7 +1,7 @@ #ifndef Z_BG_KIN2_FENCE_H #define Z_BG_KIN2_FENCE_H -#include +#include "global.h" struct BgKin2Fence; diff --git a/src/overlays/actors/ovl_Bg_Kin2_Picture/z_bg_kin2_picture.c b/src/overlays/actors/ovl_Bg_Kin2_Picture/z_bg_kin2_picture.c index cb5bcd9af5..01ec6fcda8 100644 --- a/src/overlays/actors/ovl_Bg_Kin2_Picture/z_bg_kin2_picture.c +++ b/src/overlays/actors/ovl_Bg_Kin2_Picture/z_bg_kin2_picture.c @@ -9,6 +9,12 @@ void BgKin2Picture_Destroy(Actor* thisx, GlobalContext* globalCtx); void BgKin2Picture_Update(Actor* thisx, GlobalContext* globalCtx); void BgKin2Picture_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80B6F4D4(BgKin2Picture* this, GlobalContext* globalCtx); +void func_80B6F5B8(BgKin2Picture* this, GlobalContext* globalCtx); +void func_80B6F640(BgKin2Picture* this, GlobalContext* globalCtx); +void func_80B6F72C(BgKin2Picture* this, GlobalContext* globalCtx); +void func_80B6F90C(BgKin2Picture* this, GlobalContext* globalCtx); + #if 0 const ActorInit Bg_Kin2_Picture_InitVars = { ACTOR_BG_KIN2_PICTURE, @@ -22,7 +28,6 @@ const ActorInit Bg_Kin2_Picture_InitVars = { (ActorFunc)BgKin2Picture_Draw, }; - // static ColliderTrisElementInit sTrisElementsInit[2] = { static ColliderTrisElementInit D_80B6F990[2] = { { @@ -41,7 +46,6 @@ static ColliderTrisInit D_80B6FA08 = { 2, D_80B6F990, // sTrisElementsInit, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80B6FA24[] = { ICHAIN_F32_DIV1000(gravity, -2000, ICHAIN_CONTINUE), @@ -52,42 +56,45 @@ static InitChainEntry D_80B6FA24[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), }; +#endif extern ColliderTrisElementInit D_80B6F990[2]; extern ColliderTrisInit D_80B6FA08; extern InitChainEntry D_80B6FA24[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Kin2_Picture_0x80B6EFA0/func_80B6EFA0.asm") +extern UNK_TYPE D_06000658; +extern UNK_TYPE D_06000798; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Kin2_Picture_0x80B6EFA0/func_80B6EFEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Kin2_Picture/func_80B6EFA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Kin2_Picture_0x80B6EFA0/func_80B6F098.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Kin2_Picture/func_80B6EFEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Kin2_Picture_0x80B6EFA0/BgKin2Picture_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Kin2_Picture/func_80B6F098.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Kin2_Picture_0x80B6EFA0/BgKin2Picture_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Kin2_Picture/BgKin2Picture_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Kin2_Picture_0x80B6EFA0/func_80B6F4C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Kin2_Picture/BgKin2Picture_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Kin2_Picture_0x80B6EFA0/func_80B6F4D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Kin2_Picture/func_80B6F4C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Kin2_Picture_0x80B6EFA0/func_80B6F5A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Kin2_Picture/func_80B6F4D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Kin2_Picture_0x80B6EFA0/func_80B6F5B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Kin2_Picture/func_80B6F5A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Kin2_Picture_0x80B6EFA0/func_80B6F61C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Kin2_Picture/func_80B6F5B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Kin2_Picture_0x80B6EFA0/func_80B6F640.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Kin2_Picture/func_80B6F61C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Kin2_Picture_0x80B6EFA0/func_80B6F708.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Kin2_Picture/func_80B6F640.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Kin2_Picture_0x80B6EFA0/func_80B6F72C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Kin2_Picture/func_80B6F708.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Kin2_Picture_0x80B6EFA0/func_80B6F8F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Kin2_Picture/func_80B6F72C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Kin2_Picture_0x80B6EFA0/func_80B6F90C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Kin2_Picture/func_80B6F8F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Kin2_Picture_0x80B6EFA0/BgKin2Picture_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Kin2_Picture/func_80B6F90C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Kin2_Picture_0x80B6EFA0/BgKin2Picture_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Kin2_Picture/BgKin2Picture_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Kin2_Picture/BgKin2Picture_Draw.s") diff --git a/src/overlays/actors/ovl_Bg_Kin2_Picture/z_bg_kin2_picture.h b/src/overlays/actors/ovl_Bg_Kin2_Picture/z_bg_kin2_picture.h index b4f2d99d71..9d5039dab6 100644 --- a/src/overlays/actors/ovl_Bg_Kin2_Picture/z_bg_kin2_picture.h +++ b/src/overlays/actors/ovl_Bg_Kin2_Picture/z_bg_kin2_picture.h @@ -1,13 +1,17 @@ #ifndef Z_BG_KIN2_PICTURE_H #define Z_BG_KIN2_PICTURE_H -#include +#include "global.h" struct BgKin2Picture; +typedef void (*BgKin2PictureActionFunc)(struct BgKin2Picture* this, GlobalContext* globalCtx); + typedef struct BgKin2Picture { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x100]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0xF0]; + /* 0x0234 */ BgKin2PictureActionFunc actionFunc; + /* 0x0238 */ char unk_238[0xC]; } BgKin2Picture; // size = 0x244 extern const ActorInit Bg_Kin2_Picture_InitVars; diff --git a/src/overlays/actors/ovl_Bg_Kin2_Shelf/z_bg_kin2_shelf.c b/src/overlays/actors/ovl_Bg_Kin2_Shelf/z_bg_kin2_shelf.c index fcd95014ec..a9c0a2dec1 100644 --- a/src/overlays/actors/ovl_Bg_Kin2_Shelf/z_bg_kin2_shelf.c +++ b/src/overlays/actors/ovl_Bg_Kin2_Shelf/z_bg_kin2_shelf.c @@ -22,44 +22,43 @@ const ActorInit Bg_Kin2_Shelf_InitVars = { (ActorFunc)BgKin2Shelf_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80B7077C[] = { ICHAIN_F32(uncullZoneForward, 4000, ICHAIN_STOP), }; - -extern InitChainEntry D_80B7077C[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Kin2_Shelf_0x80B6FB30/func_80B6FB30.asm") +extern InitChainEntry D_80B7077C[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Kin2_Shelf_0x80B6FB30/func_80B6FCA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Kin2_Shelf/func_80B6FB30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Kin2_Shelf_0x80B6FB30/func_80B6FE08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Kin2_Shelf/func_80B6FCA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Kin2_Shelf_0x80B6FB30/func_80B6FE48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Kin2_Shelf/func_80B6FE08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Kin2_Shelf_0x80B6FB30/func_80B6FEBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Kin2_Shelf/func_80B6FE48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Kin2_Shelf_0x80B6FB30/func_80B6FF28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Kin2_Shelf/func_80B6FEBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Kin2_Shelf_0x80B6FB30/BgKin2Shelf_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Kin2_Shelf/func_80B6FF28.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Kin2_Shelf_0x80B6FB30/BgKin2Shelf_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Kin2_Shelf/BgKin2Shelf_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Kin2_Shelf_0x80B6FB30/func_80B700A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Kin2_Shelf/BgKin2Shelf_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Kin2_Shelf_0x80B6FB30/func_80B700C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Kin2_Shelf/func_80B700A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Kin2_Shelf_0x80B6FB30/func_80B70214.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Kin2_Shelf/func_80B700C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Kin2_Shelf_0x80B6FB30/func_80B70230.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Kin2_Shelf/func_80B70214.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Kin2_Shelf_0x80B6FB30/func_80B70498.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Kin2_Shelf/func_80B70230.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Kin2_Shelf_0x80B6FB30/func_80B704B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Kin2_Shelf/func_80B70498.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Kin2_Shelf_0x80B6FB30/BgKin2Shelf_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Kin2_Shelf/func_80B704B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Kin2_Shelf_0x80B6FB30/BgKin2Shelf_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Kin2_Shelf/BgKin2Shelf_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Kin2_Shelf/BgKin2Shelf_Draw.s") diff --git a/src/overlays/actors/ovl_Bg_Kin2_Shelf/z_bg_kin2_shelf.h b/src/overlays/actors/ovl_Bg_Kin2_Shelf/z_bg_kin2_shelf.h index b01ff6fcc0..23717d2b31 100644 --- a/src/overlays/actors/ovl_Bg_Kin2_Shelf/z_bg_kin2_shelf.h +++ b/src/overlays/actors/ovl_Bg_Kin2_Shelf/z_bg_kin2_shelf.h @@ -1,13 +1,17 @@ #ifndef Z_BG_KIN2_SHELF_H #define Z_BG_KIN2_SHELF_H -#include +#include "global.h" struct BgKin2Shelf; +typedef void (*BgKin2ShelfActionFunc)(struct BgKin2Shelf* this, GlobalContext* globalCtx); + typedef struct BgKin2Shelf { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x24]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x18]; + /* 0x015C */ BgKin2ShelfActionFunc actionFunc; + /* 0x0160 */ char unk_160[0x8]; } BgKin2Shelf; // size = 0x168 extern const ActorInit Bg_Kin2_Shelf_InitVars; diff --git a/src/overlays/actors/ovl_Bg_Ladder/z_bg_ladder.h b/src/overlays/actors/ovl_Bg_Ladder/z_bg_ladder.h index 817bcf9314..fb4d8b4d2e 100644 --- a/src/overlays/actors/ovl_Bg_Ladder/z_bg_ladder.h +++ b/src/overlays/actors/ovl_Bg_Ladder/z_bg_ladder.h @@ -1,7 +1,7 @@ #ifndef Z_BG_LADDER_H #define Z_BG_LADDER_H -#include +#include "global.h" #define GET_BGLADDER_SIZE(actor) ((actor)->params & 0xFF) #define GET_BGLADDER_SWITCHFLAG(actor) (((actor)->params >> 8) & 0xFF) diff --git a/src/overlays/actors/ovl_Bg_Last_Bwall/z_bg_last_bwall.c b/src/overlays/actors/ovl_Bg_Last_Bwall/z_bg_last_bwall.c index a73562b95b..3e1eb0d0c4 100644 --- a/src/overlays/actors/ovl_Bg_Last_Bwall/z_bg_last_bwall.c +++ b/src/overlays/actors/ovl_Bg_Last_Bwall/z_bg_last_bwall.c @@ -22,7 +22,6 @@ const ActorInit Bg_Last_Bwall_InitVars = { (ActorFunc)BgLastBwall_Draw, }; - // static ColliderTrisElementInit sTrisElementsInit[2] = { static ColliderTrisElementInit D_80C189C0[2] = { { @@ -41,38 +40,39 @@ static ColliderTrisInit D_80C18A38 = { 2, D_80C189C0, // sTrisElementsInit, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80C18AC8[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), }; +#endif extern ColliderTrisElementInit D_80C189C0[2]; extern ColliderTrisInit D_80C18A38; extern InitChainEntry D_80C18AC8[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Last_Bwall_0x80C18240/func_80C18240.asm") +extern UNK_TYPE D_06000098; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Last_Bwall_0x80C18240/BgLastBwall_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Last_Bwall/func_80C18240.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Last_Bwall_0x80C18240/BgLastBwall_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Last_Bwall/BgLastBwall_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Last_Bwall_0x80C18240/func_80C184EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Last_Bwall/BgLastBwall_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Last_Bwall_0x80C18240/func_80C187E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Last_Bwall/func_80C184EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Last_Bwall_0x80C18240/func_80C187F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Last_Bwall/func_80C187E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Last_Bwall_0x80C18240/func_80C1886C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Last_Bwall/func_80C187F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Last_Bwall_0x80C18240/func_80C18884.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Last_Bwall/func_80C1886C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Last_Bwall_0x80C18240/func_80C188C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Last_Bwall/func_80C18884.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Last_Bwall_0x80C18240/func_80C18928.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Last_Bwall/func_80C188C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Last_Bwall_0x80C18240/BgLastBwall_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Last_Bwall/func_80C18928.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Last_Bwall_0x80C18240/BgLastBwall_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Last_Bwall/BgLastBwall_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Last_Bwall/BgLastBwall_Draw.s") diff --git a/src/overlays/actors/ovl_Bg_Last_Bwall/z_bg_last_bwall.h b/src/overlays/actors/ovl_Bg_Last_Bwall/z_bg_last_bwall.h index 6cdd8caffb..464ab27725 100644 --- a/src/overlays/actors/ovl_Bg_Last_Bwall/z_bg_last_bwall.h +++ b/src/overlays/actors/ovl_Bg_Last_Bwall/z_bg_last_bwall.h @@ -1,13 +1,17 @@ #ifndef Z_BG_LAST_BWALL_H #define Z_BG_LAST_BWALL_H -#include +#include "global.h" struct BgLastBwall; +typedef void (*BgLastBwallActionFunc)(struct BgLastBwall* this, GlobalContext* globalCtx); + typedef struct BgLastBwall { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0xF8]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x18]; + /* 0x015C */ BgLastBwallActionFunc actionFunc; + /* 0x0160 */ char unk_160[0xDC]; } BgLastBwall; // size = 0x23C extern const ActorInit Bg_Last_Bwall_InitVars; diff --git a/src/overlays/actors/ovl_Bg_Lbfshot/z_bg_lbfshot.h b/src/overlays/actors/ovl_Bg_Lbfshot/z_bg_lbfshot.h index 17b5dc19c7..069bfa0489 100644 --- a/src/overlays/actors/ovl_Bg_Lbfshot/z_bg_lbfshot.h +++ b/src/overlays/actors/ovl_Bg_Lbfshot/z_bg_lbfshot.h @@ -1,7 +1,7 @@ #ifndef Z_BG_LBFSHOT_H #define Z_BG_LBFSHOT_H -#include +#include "global.h" struct BgLbfshot; diff --git a/src/overlays/actors/ovl_Bg_Lotus/z_bg_lotus.h b/src/overlays/actors/ovl_Bg_Lotus/z_bg_lotus.h index 0ebf2b1cf4..505e6720c7 100644 --- a/src/overlays/actors/ovl_Bg_Lotus/z_bg_lotus.h +++ b/src/overlays/actors/ovl_Bg_Lotus/z_bg_lotus.h @@ -1,7 +1,7 @@ #ifndef Z_BG_LOTUS_H #define Z_BG_LOTUS_H -#include +#include "global.h" struct BgLotus; diff --git a/src/overlays/actors/ovl_Bg_Market_Step/z_bg_market_step.h b/src/overlays/actors/ovl_Bg_Market_Step/z_bg_market_step.h index c05eda127e..aa98c0aa1b 100644 --- a/src/overlays/actors/ovl_Bg_Market_Step/z_bg_market_step.h +++ b/src/overlays/actors/ovl_Bg_Market_Step/z_bg_market_step.h @@ -1,7 +1,7 @@ #ifndef Z_BG_MARKET_STEP_H #define Z_BG_MARKET_STEP_H -#include +#include "global.h" struct BgMarketStep; diff --git a/src/overlays/actors/ovl_Bg_Mbar_Chair/z_bg_mbar_chair.h b/src/overlays/actors/ovl_Bg_Mbar_Chair/z_bg_mbar_chair.h index 704f175dff..ee4854d073 100644 --- a/src/overlays/actors/ovl_Bg_Mbar_Chair/z_bg_mbar_chair.h +++ b/src/overlays/actors/ovl_Bg_Mbar_Chair/z_bg_mbar_chair.h @@ -1,7 +1,7 @@ #ifndef Z_BG_MBAR_CHAIR_H #define Z_BG_MBAR_CHAIR_H -#include +#include "global.h" struct BgMbarChair; diff --git a/src/overlays/actors/ovl_Bg_Numa_Hana/z_bg_numa_hana.c b/src/overlays/actors/ovl_Bg_Numa_Hana/z_bg_numa_hana.c index 62aff4c641..f4e95a2b1b 100644 --- a/src/overlays/actors/ovl_Bg_Numa_Hana/z_bg_numa_hana.c +++ b/src/overlays/actors/ovl_Bg_Numa_Hana/z_bg_numa_hana.c @@ -9,6 +9,13 @@ void BgNumaHana_Destroy(Actor* thisx, GlobalContext* globalCtx); void BgNumaHana_Update(Actor* thisx, GlobalContext* globalCtx); void BgNumaHana_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80A1AA28(BgNumaHana* this, GlobalContext* globalCtx); +void func_80A1AA4C(BgNumaHana* this, GlobalContext* globalCtx); +void func_80A1AB00(BgNumaHana* this, GlobalContext* globalCtx); +void func_80A1ABF0(BgNumaHana* this, GlobalContext* globalCtx); +void func_80A1ACE0(BgNumaHana* this, GlobalContext* globalCtx); +void func_80A1AE1C(BgNumaHana* this, GlobalContext* globalCtx); + #if 0 const ActorInit Bg_Numa_Hana_InitVars = { ACTOR_BG_NUMA_HANA, @@ -22,7 +29,6 @@ const ActorInit Bg_Numa_Hana_InitVars = { (ActorFunc)BgNumaHana_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80A1B260 = { { COLTYPE_METAL, AT_NONE, AC_ON | AC_HARD | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -30,7 +36,6 @@ static ColliderCylinderInit D_80A1B260 = { { 18, 16, 0, { 0, 0, 0 } }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80A1B2A8[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_CONTINUE), @@ -39,45 +44,48 @@ static InitChainEntry D_80A1B2A8[] = { ICHAIN_F32(uncullZoneDownward, 600, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80A1B260; extern InitChainEntry D_80A1B2A8[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Numa_Hana_0x80A1A500/func_80A1A500.asm") +extern UNK_TYPE D_06009FE0; +extern UNK_TYPE D_0600B928; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Numa_Hana_0x80A1A500/func_80A1A56C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Numa_Hana/func_80A1A500.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Numa_Hana_0x80A1A500/func_80A1A750.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Numa_Hana/func_80A1A56C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Numa_Hana_0x80A1A500/BgNumaHana_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Numa_Hana/func_80A1A750.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Numa_Hana_0x80A1A500/BgNumaHana_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Numa_Hana/BgNumaHana_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Numa_Hana_0x80A1A500/func_80A1AA14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Numa_Hana/BgNumaHana_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Numa_Hana_0x80A1A500/func_80A1AA28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Numa_Hana/func_80A1AA14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Numa_Hana_0x80A1A500/func_80A1AA38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Numa_Hana/func_80A1AA28.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Numa_Hana_0x80A1A500/func_80A1AA4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Numa_Hana/func_80A1AA38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Numa_Hana_0x80A1A500/func_80A1AAE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Numa_Hana/func_80A1AA4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Numa_Hana_0x80A1A500/func_80A1AB00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Numa_Hana/func_80A1AAE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Numa_Hana_0x80A1A500/func_80A1ABD8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Numa_Hana/func_80A1AB00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Numa_Hana_0x80A1A500/func_80A1ABF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Numa_Hana/func_80A1ABD8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Numa_Hana_0x80A1A500/func_80A1ACCC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Numa_Hana/func_80A1ABF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Numa_Hana_0x80A1A500/func_80A1ACE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Numa_Hana/func_80A1ACCC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Numa_Hana_0x80A1A500/func_80A1AE08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Numa_Hana/func_80A1ACE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Numa_Hana_0x80A1A500/func_80A1AE1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Numa_Hana/func_80A1AE08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Numa_Hana_0x80A1A500/BgNumaHana_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Numa_Hana/func_80A1AE1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Numa_Hana_0x80A1A500/BgNumaHana_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Numa_Hana/BgNumaHana_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Numa_Hana/BgNumaHana_Draw.s") diff --git a/src/overlays/actors/ovl_Bg_Numa_Hana/z_bg_numa_hana.h b/src/overlays/actors/ovl_Bg_Numa_Hana/z_bg_numa_hana.h index ef2a5bcda9..d4d8f63f4c 100644 --- a/src/overlays/actors/ovl_Bg_Numa_Hana/z_bg_numa_hana.h +++ b/src/overlays/actors/ovl_Bg_Numa_Hana/z_bg_numa_hana.h @@ -1,13 +1,17 @@ #ifndef Z_BG_NUMA_HANA_H #define Z_BG_NUMA_HANA_H -#include +#include "global.h" struct BgNumaHana; +typedef void (*BgNumaHanaActionFunc)(struct BgNumaHana* this, GlobalContext* globalCtx); + typedef struct BgNumaHana { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x1FC]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0xF0]; + /* 0x0234 */ BgNumaHanaActionFunc actionFunc; + /* 0x0238 */ char unk_238[0x108]; } BgNumaHana; // size = 0x340 extern const ActorInit Bg_Numa_Hana_InitVars; diff --git a/src/overlays/actors/ovl_Bg_Open_Shutter/z_bg_open_shutter.c b/src/overlays/actors/ovl_Bg_Open_Shutter/z_bg_open_shutter.c index d4f5c32d3c..5b79969ddf 100644 --- a/src/overlays/actors/ovl_Bg_Open_Shutter/z_bg_open_shutter.c +++ b/src/overlays/actors/ovl_Bg_Open_Shutter/z_bg_open_shutter.c @@ -9,6 +9,10 @@ void BgOpenShutter_Destroy(Actor* thisx, GlobalContext* globalCtx); void BgOpenShutter_Update(Actor* thisx, GlobalContext* globalCtx); void BgOpenShutter_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80ACAD88(BgOpenShutter* this, GlobalContext* globalCtx); +void func_80ACAE5C(BgOpenShutter* this, GlobalContext* globalCtx); +void func_80ACAEF0(BgOpenShutter* this, GlobalContext* globalCtx); + #if 0 const ActorInit Bg_Open_Shutter_InitVars = { ACTOR_BG_OPEN_SHUTTER, @@ -22,7 +26,6 @@ const ActorInit Bg_Open_Shutter_InitVars = { (ActorFunc)BgOpenShutter_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80ACB140[] = { ICHAIN_F32(uncullZoneForward, 4000, ICHAIN_CONTINUE), @@ -31,24 +34,27 @@ static InitChainEntry D_80ACB140[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), }; - -extern InitChainEntry D_80ACB140[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Open_Shutter_0x80ACAB10/func_80ACAB10.asm") +extern InitChainEntry D_80ACB140[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Open_Shutter_0x80ACAB10/func_80ACABA8.asm") +extern UNK_TYPE D_060003E8; +extern UNK_TYPE D_06001640; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Open_Shutter_0x80ACAB10/BgOpenShutter_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Open_Shutter/func_80ACAB10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Open_Shutter_0x80ACAB10/BgOpenShutter_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Open_Shutter/func_80ACABA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Open_Shutter_0x80ACAB10/func_80ACAD88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Open_Shutter/BgOpenShutter_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Open_Shutter_0x80ACAB10/func_80ACAE5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Open_Shutter/BgOpenShutter_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Open_Shutter_0x80ACAB10/func_80ACAEF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Open_Shutter/func_80ACAD88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Open_Shutter_0x80ACAB10/BgOpenShutter_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Open_Shutter/func_80ACAE5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Open_Shutter_0x80ACAB10/BgOpenShutter_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Open_Shutter/func_80ACAEF0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Open_Shutter/BgOpenShutter_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Open_Shutter/BgOpenShutter_Draw.s") diff --git a/src/overlays/actors/ovl_Bg_Open_Shutter/z_bg_open_shutter.h b/src/overlays/actors/ovl_Bg_Open_Shutter/z_bg_open_shutter.h index a63e25d4b5..63b0af4df6 100644 --- a/src/overlays/actors/ovl_Bg_Open_Shutter/z_bg_open_shutter.h +++ b/src/overlays/actors/ovl_Bg_Open_Shutter/z_bg_open_shutter.h @@ -1,13 +1,17 @@ #ifndef Z_BG_OPEN_SHUTTER_H #define Z_BG_OPEN_SHUTTER_H -#include +#include "global.h" struct BgOpenShutter; +typedef void (*BgOpenShutterActionFunc)(struct BgOpenShutter* this, GlobalContext* globalCtx); + typedef struct BgOpenShutter { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x24]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x1C]; + /* 0x0160 */ BgOpenShutterActionFunc actionFunc; + /* 0x0164 */ char unk_164[0x4]; } BgOpenShutter; // size = 0x168 extern const ActorInit Bg_Open_Shutter_InitVars; diff --git a/src/overlays/actors/ovl_Bg_Open_Spot/z_bg_open_spot.c b/src/overlays/actors/ovl_Bg_Open_Spot/z_bg_open_spot.c index ac6819d143..fe5ce47b7a 100644 --- a/src/overlays/actors/ovl_Bg_Open_Spot/z_bg_open_spot.c +++ b/src/overlays/actors/ovl_Bg_Open_Spot/z_bg_open_spot.c @@ -21,7 +21,6 @@ const ActorInit Bg_Open_Spot_InitVars = { (ActorFunc)NULL, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80ACB3B0[] = { ICHAIN_F32(uncullZoneForward, 4000, ICHAIN_CONTINUE), @@ -30,14 +29,17 @@ static InitChainEntry D_80ACB3B0[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), }; - -extern InitChainEntry D_80ACB3B0[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Open_Spot_0x80ACB1E0/BgOpenSpot_Init.asm") +extern InitChainEntry D_80ACB3B0[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Open_Spot_0x80ACB1E0/BgOpenSpot_Destroy.asm") +extern UNK_TYPE D_06001A60; +extern UNK_TYPE D_06002CE0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Open_Spot_0x80ACB1E0/BgOpenSpot_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Open_Spot/BgOpenSpot_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Open_Spot_0x80ACB1E0/func_80ACB2B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Open_Spot/BgOpenSpot_Destroy.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Open_Spot/BgOpenSpot_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Open_Spot/func_80ACB2B0.s") diff --git a/src/overlays/actors/ovl_Bg_Open_Spot/z_bg_open_spot.h b/src/overlays/actors/ovl_Bg_Open_Spot/z_bg_open_spot.h index e3f982aefb..cf4fa2f8da 100644 --- a/src/overlays/actors/ovl_Bg_Open_Spot/z_bg_open_spot.h +++ b/src/overlays/actors/ovl_Bg_Open_Spot/z_bg_open_spot.h @@ -1,7 +1,7 @@ #ifndef Z_BG_OPEN_SPOT_H #define Z_BG_OPEN_SPOT_H -#include +#include "global.h" struct BgOpenSpot; diff --git a/src/overlays/actors/ovl_Bg_Sinkai_Kabe/z_bg_sinkai_kabe.c b/src/overlays/actors/ovl_Bg_Sinkai_Kabe/z_bg_sinkai_kabe.c index c4273ccaaf..0c8c720879 100644 --- a/src/overlays/actors/ovl_Bg_Sinkai_Kabe/z_bg_sinkai_kabe.c +++ b/src/overlays/actors/ovl_Bg_Sinkai_Kabe/z_bg_sinkai_kabe.c @@ -23,10 +23,12 @@ const ActorInit Bg_Sinkai_Kabe_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Sinkai_Kabe_0x80B6D660/BgSinkaiKabe_Init.asm") +extern UNK_TYPE D_06000048; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Sinkai_Kabe_0x80B6D660/BgSinkaiKabe_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Sinkai_Kabe/BgSinkaiKabe_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Sinkai_Kabe_0x80B6D660/func_80B6DA20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Sinkai_Kabe/BgSinkaiKabe_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Sinkai_Kabe_0x80B6D660/BgSinkaiKabe_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Sinkai_Kabe/func_80B6DA20.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Sinkai_Kabe/BgSinkaiKabe_Update.s") diff --git a/src/overlays/actors/ovl_Bg_Sinkai_Kabe/z_bg_sinkai_kabe.h b/src/overlays/actors/ovl_Bg_Sinkai_Kabe/z_bg_sinkai_kabe.h index cf53517d5f..435d0649b1 100644 --- a/src/overlays/actors/ovl_Bg_Sinkai_Kabe/z_bg_sinkai_kabe.h +++ b/src/overlays/actors/ovl_Bg_Sinkai_Kabe/z_bg_sinkai_kabe.h @@ -1,13 +1,17 @@ #ifndef Z_BG_SINKAI_KABE_H #define Z_BG_SINKAI_KABE_H -#include +#include "global.h" struct BgSinkaiKabe; +typedef void (*BgSinkaiKabeActionFunc)(struct BgSinkaiKabe* this, GlobalContext* globalCtx); + typedef struct BgSinkaiKabe { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x2C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x18]; + /* 0x015C */ BgSinkaiKabeActionFunc actionFunc; + /* 0x0160 */ char unk_160[0x10]; } BgSinkaiKabe; // size = 0x170 extern const ActorInit Bg_Sinkai_Kabe_InitVars; diff --git a/src/overlays/actors/ovl_Bg_Spdweb/z_bg_spdweb.c b/src/overlays/actors/ovl_Bg_Spdweb/z_bg_spdweb.c index 52900f7a99..ff0c8ad3ec 100644 --- a/src/overlays/actors/ovl_Bg_Spdweb/z_bg_spdweb.c +++ b/src/overlays/actors/ovl_Bg_Spdweb/z_bg_spdweb.c @@ -22,7 +22,6 @@ const ActorInit Bg_Spdweb_InitVars = { (ActorFunc)BgSpdweb_Draw, }; - // static ColliderTrisElementInit sTrisElementsInit[2] = { static ColliderTrisElementInit D_809CF080[2] = { { @@ -41,7 +40,6 @@ static ColliderTrisInit D_809CF0F8 = { 2, D_809CF080, // sTrisElementsInit, }; - // static ColliderTrisElementInit sTrisElementsInit[4] = { static ColliderTrisElementInit D_809CF108[4] = { { @@ -68,43 +66,45 @@ static ColliderTrisInit D_809CF1F8 = { 4, D_809CF108, // sTrisElementsInit, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_809CF210[] = { ICHAIN_F32(uncullZoneForward, 1500, ICHAIN_CONTINUE), ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), }; +#endif extern ColliderTrisElementInit D_809CF080[2]; extern ColliderTrisInit D_809CF0F8; extern ColliderTrisElementInit D_809CF108[4]; extern ColliderTrisInit D_809CF1F8; extern InitChainEntry D_809CF210[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Spdweb_0x809CDEC0/BgSpdweb_Init.asm") +extern UNK_TYPE D_06000060; +extern UNK_TYPE D_06002678; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Spdweb_0x809CDEC0/BgSpdweb_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Spdweb/BgSpdweb_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Spdweb_0x809CDEC0/func_809CE068.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Spdweb/BgSpdweb_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Spdweb_0x809CDEC0/func_809CE15C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Spdweb/func_809CE068.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Spdweb_0x809CDEC0/func_809CE1D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Spdweb/func_809CE15C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Spdweb_0x809CDEC0/func_809CE234.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Spdweb/func_809CE1D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Spdweb_0x809CDEC0/func_809CE4C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Spdweb/func_809CE234.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Spdweb_0x809CDEC0/func_809CE830.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Spdweb/func_809CE4C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Spdweb_0x809CDEC0/func_809CEBC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Spdweb/func_809CE830.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Spdweb_0x809CDEC0/func_809CEE74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Spdweb/func_809CEBC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Spdweb_0x809CDEC0/func_809CEEAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Spdweb/func_809CEE74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Spdweb_0x809CDEC0/BgSpdweb_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Spdweb/func_809CEEAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Spdweb_0x809CDEC0/BgSpdweb_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Spdweb/BgSpdweb_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Spdweb/BgSpdweb_Draw.s") diff --git a/src/overlays/actors/ovl_Bg_Spdweb/z_bg_spdweb.h b/src/overlays/actors/ovl_Bg_Spdweb/z_bg_spdweb.h index 82b368a00c..7c96a13481 100644 --- a/src/overlays/actors/ovl_Bg_Spdweb/z_bg_spdweb.h +++ b/src/overlays/actors/ovl_Bg_Spdweb/z_bg_spdweb.h @@ -1,13 +1,17 @@ #ifndef Z_BG_SPDWEB_H #define Z_BG_SPDWEB_H -#include +#include "global.h" struct BgSpdweb; +typedef void (*BgSpdwebActionFunc)(struct BgSpdweb* this, GlobalContext* globalCtx); + typedef struct BgSpdweb { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x1B8]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x18]; + /* 0x015C */ BgSpdwebActionFunc actionFunc; + /* 0x0160 */ char unk_160[0x19C]; } BgSpdweb; // size = 0x2FC extern const ActorInit Bg_Spdweb_InitVars; diff --git a/src/overlays/actors/ovl_Bg_Spout_Fire/z_bg_spout_fire.c b/src/overlays/actors/ovl_Bg_Spout_Fire/z_bg_spout_fire.c index 3e5e24cb31..ab783a5adc 100644 --- a/src/overlays/actors/ovl_Bg_Spout_Fire/z_bg_spout_fire.c +++ b/src/overlays/actors/ovl_Bg_Spout_Fire/z_bg_spout_fire.c @@ -8,6 +8,10 @@ void BgSpoutFire_Init(Actor* thisx, GlobalContext* globalCtx); void BgSpoutFire_Destroy(Actor* thisx, GlobalContext* globalCtx); void BgSpoutFire_Update(Actor* thisx, GlobalContext* globalCtx); +void func_80A60C94(BgSpoutFire* this, GlobalContext* globalCtx); +void func_80A60CDC(BgSpoutFire* this, GlobalContext* globalCtx); +void func_80A60D10(BgSpoutFire* this, GlobalContext* globalCtx); + #if 0 const ActorInit Bg_Spout_Fire_InitVars = { ACTOR_BG_SPOUT_FIRE, @@ -21,7 +25,6 @@ const ActorInit Bg_Spout_Fire_InitVars = { (ActorFunc)NULL, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80A61160 = { { COLTYPE_NONE, AT_ON | AT_TYPE_ENEMY, AC_NONE, OC1_ON | OC1_TYPE_PLAYER, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -29,31 +32,32 @@ static ColliderCylinderInit D_80A61160 = { { 30, 83, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit D_80A6118C = { 1, 80, 100, MASS_IMMOVABLE }; +#endif extern ColliderCylinderInit D_80A61160; extern CollisionCheckInfoInit D_80A6118C; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Spout_Fire_0x80A60B20/BgSpoutFire_Init.asm") +extern UNK_TYPE D_06000040; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Spout_Fire_0x80A60B20/BgSpoutFire_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Spout_Fire/BgSpoutFire_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Spout_Fire_0x80A60B20/func_80A60C24.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Spout_Fire/BgSpoutFire_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Spout_Fire_0x80A60B20/func_80A60C94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Spout_Fire/func_80A60C24.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Spout_Fire_0x80A60B20/func_80A60CDC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Spout_Fire/func_80A60C94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Spout_Fire_0x80A60B20/func_80A60D10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Spout_Fire/func_80A60CDC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Spout_Fire_0x80A60B20/func_80A60DA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Spout_Fire/func_80A60D10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Spout_Fire_0x80A60B20/func_80A60E08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Spout_Fire/func_80A60DA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Spout_Fire_0x80A60B20/BgSpoutFire_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Spout_Fire/func_80A60E08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Spout_Fire_0x80A60B20/func_80A61040.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Spout_Fire/BgSpoutFire_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Spout_Fire/func_80A61040.s") diff --git a/src/overlays/actors/ovl_Bg_Spout_Fire/z_bg_spout_fire.h b/src/overlays/actors/ovl_Bg_Spout_Fire/z_bg_spout_fire.h index aa2c029e21..1f69202b64 100644 --- a/src/overlays/actors/ovl_Bg_Spout_Fire/z_bg_spout_fire.h +++ b/src/overlays/actors/ovl_Bg_Spout_Fire/z_bg_spout_fire.h @@ -1,13 +1,16 @@ #ifndef Z_BG_SPOUT_FIRE_H #define Z_BG_SPOUT_FIRE_H -#include +#include "global.h" struct BgSpoutFire; +typedef void (*BgSpoutFireActionFunc)(struct BgSpoutFire* this, GlobalContext* globalCtx); + typedef struct BgSpoutFire { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x54]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ BgSpoutFireActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x50]; } BgSpoutFire; // size = 0x198 extern const ActorInit Bg_Spout_Fire_InitVars; diff --git a/src/overlays/actors/ovl_Bg_Tobira01/z_bg_tobira01.h b/src/overlays/actors/ovl_Bg_Tobira01/z_bg_tobira01.h index 4f2d34a225..eeed58695a 100644 --- a/src/overlays/actors/ovl_Bg_Tobira01/z_bg_tobira01.h +++ b/src/overlays/actors/ovl_Bg_Tobira01/z_bg_tobira01.h @@ -1,7 +1,7 @@ #ifndef Z_BG_TOBIRA01_H #define Z_BG_TOBIRA01_H -#include +#include "global.h" struct BgTobira01; diff --git a/src/overlays/actors/ovl_Bg_Umajump/z_bg_umajump.c b/src/overlays/actors/ovl_Bg_Umajump/z_bg_umajump.c index 24e2d7137a..a501fd117b 100644 --- a/src/overlays/actors/ovl_Bg_Umajump/z_bg_umajump.c +++ b/src/overlays/actors/ovl_Bg_Umajump/z_bg_umajump.c @@ -21,7 +21,6 @@ const ActorInit Bg_Umajump_InitVars = { (ActorFunc)NULL, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_8091A810[] = { ICHAIN_F32(uncullZoneScale, 1200, ICHAIN_CONTINUE), @@ -29,24 +28,27 @@ static InitChainEntry D_8091A810[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), }; - -extern InitChainEntry D_8091A810[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Umajump_0x80919F30/func_80919F30.asm") +extern InitChainEntry D_8091A810[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Umajump_0x80919F30/func_80919FC8.asm") +extern UNK_TYPE D_06001220; +extern UNK_TYPE D_06001558; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Umajump_0x80919F30/func_8091A044.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Umajump/func_80919F30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Umajump_0x80919F30/func_8091A0B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Umajump/func_80919FC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Umajump_0x80919F30/BgUmajump_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Umajump/func_8091A044.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Umajump_0x80919F30/BgUmajump_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Umajump/func_8091A0B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Umajump_0x80919F30/BgUmajump_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Umajump/BgUmajump_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Umajump_0x80919F30/func_8091A5A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Umajump/BgUmajump_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Bg_Umajump_0x80919F30/func_8091A7B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Umajump/BgUmajump_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Umajump/func_8091A5A0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Bg_Umajump/func_8091A7B0.s") diff --git a/src/overlays/actors/ovl_Bg_Umajump/z_bg_umajump.h b/src/overlays/actors/ovl_Bg_Umajump/z_bg_umajump.h index be91a6150f..22fe9ca44f 100644 --- a/src/overlays/actors/ovl_Bg_Umajump/z_bg_umajump.h +++ b/src/overlays/actors/ovl_Bg_Umajump/z_bg_umajump.h @@ -1,7 +1,7 @@ #ifndef Z_BG_UMAJUMP_H #define Z_BG_UMAJUMP_H -#include +#include "global.h" struct BgUmajump; diff --git a/src/overlays/actors/ovl_Boss_01/z_boss_01.c b/src/overlays/actors/ovl_Boss_01/z_boss_01.c index aeab434d81..54264e0dc3 100644 --- a/src/overlays/actors/ovl_Boss_01/z_boss_01.c +++ b/src/overlays/actors/ovl_Boss_01/z_boss_01.c @@ -9,6 +9,28 @@ void Boss01_Destroy(Actor* thisx, GlobalContext* globalCtx); void Boss01_Update(Actor* thisx, GlobalContext* globalCtx); void Boss01_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_809D12B4(Boss01* this, GlobalContext* globalCtx); +void func_809D1B2C(Boss01* this, GlobalContext* globalCtx); +void func_809D1E74(Boss01* this, GlobalContext* globalCtx); +void func_809D20D0(Boss01* this, GlobalContext* globalCtx); +void func_809D25E8(Boss01* this, GlobalContext* globalCtx); +void func_809D26B8(Boss01* this, GlobalContext* globalCtx); +void func_809D27D4(Boss01* this, GlobalContext* globalCtx); +void func_809D2AA0(Boss01* this, GlobalContext* globalCtx); +void func_809D2BCC(Boss01* this, GlobalContext* globalCtx); +void func_809D2CDC(Boss01* this, GlobalContext* globalCtx); +void func_809D2E4C(Boss01* this, GlobalContext* globalCtx); +void func_809D30D0(Boss01* this, GlobalContext* globalCtx); +void func_809D345C(Boss01* this, GlobalContext* globalCtx); +void func_809D3530(Boss01* this, GlobalContext* globalCtx); +void func_809D3ADC(Boss01* this, GlobalContext* globalCtx); +void func_809D3CD0(Boss01* this, GlobalContext* globalCtx); +void func_809D4464(Boss01* this, GlobalContext* globalCtx); +void func_809D6314(Boss01* this, GlobalContext* globalCtx); +void func_809D6488(Boss01* this, GlobalContext* globalCtx); +void func_809D6588(Boss01* this, GlobalContext* globalCtx); +void func_809D65E0(Boss01* this, GlobalContext* globalCtx); + #if 0 // static DamageTable sDamageTable = { static DamageTable D_809D7990 = { @@ -46,7 +68,6 @@ static DamageTable D_809D7990 = { /* Powder Keg */ DMG_ENTRY(1, 0xE), }; - // static DamageTable sDamageTable = { static DamageTable D_809D79B0 = { /* Deku Nut */ DMG_ENTRY(0, 0x1), @@ -83,7 +104,6 @@ static DamageTable D_809D79B0 = { /* Powder Keg */ DMG_ENTRY(1, 0xF), }; - // static ColliderJntSphElementInit sJntSphElementsInit[3] = { static ColliderJntSphElementInit D_809D79D0[3] = { { @@ -106,7 +126,6 @@ static ColliderJntSphInit D_809D7A3C = { 3, D_809D79D0, // sJntSphElementsInit, }; - // static ColliderJntSphElementInit sJntSphElementsInit[1] = { static ColliderJntSphElementInit D_809D7A4C[1] = { { @@ -121,7 +140,6 @@ static ColliderJntSphInit D_809D7A70 = { 1, D_809D7A4C, // sJntSphElementsInit, }; - // static ColliderJntSphElementInit sJntSphElementsInit[11] = { static ColliderJntSphElementInit D_809D7A80[11] = { { @@ -176,7 +194,6 @@ static ColliderJntSphInit D_809D7C0C = { 11, D_809D7A80, // sJntSphElementsInit, }; - // static ColliderJntSphElementInit sJntSphElementsInit[2] = { static ColliderJntSphElementInit D_809D7C1C[2] = { { @@ -195,7 +212,6 @@ static ColliderJntSphInit D_809D7C64 = { 2, D_809D7C1C, // sJntSphElementsInit, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_809D7C74 = { { COLTYPE_HIT3, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -203,7 +219,6 @@ static ColliderCylinderInit D_809D7C74 = { { 15, 15, 10, { 0, 0, 0 } }, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_809D7CA0 = { { COLTYPE_HIT3, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -211,7 +226,6 @@ static ColliderCylinderInit D_809D7CA0 = { { 8, 15, 10, { 0, 0, 0 } }, }; - const ActorInit Boss_01_InitVars = { ACTOR_BOSS_01, ACTORCAT_BOSS, @@ -224,6 +238,7 @@ const ActorInit Boss_01_InitVars = { (ActorFunc)Boss01_Draw, }; +#endif extern DamageTable D_809D7990; extern DamageTable D_809D79B0; @@ -237,154 +252,177 @@ extern ColliderJntSphElementInit D_809D7C1C[2]; extern ColliderJntSphInit D_809D7C64; extern ColliderCylinderInit D_809D7C74; extern ColliderCylinderInit D_809D7CA0; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D0530.asm") +extern UNK_TYPE D_06000C44; +extern UNK_TYPE D_06001884; +extern UNK_TYPE D_0600C338; +extern UNK_TYPE D_0600C5E0; +extern UNK_TYPE D_0600C7A8; +extern UNK_TYPE D_0600E3E8; +extern UNK_TYPE D_0600FDEC; +extern UNK_TYPE D_0600FF94; +extern UNK_TYPE D_06010980; +extern UNK_TYPE D_060124CC; +extern UNK_TYPE D_06012B70; +extern UNK_TYPE D_06012D10; +extern UNK_TYPE D_06012EBC; +extern UNK_TYPE D_06013480; +extern UNK_TYPE D_0601407C; +extern UNK_TYPE D_06014F14; +extern UNK_TYPE D_06015A30; +extern UNK_TYPE D_06016168; +extern UNK_TYPE D_060164CC; +extern UNK_TYPE D_0601F6A4; +extern UNK_TYPE D_060204AC; +extern UNK_TYPE D_060213A8; +extern UNK_TYPE D_06022550; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D0550.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D0530.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D0678.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D0550.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D082C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D0678.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D089C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D082C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D092C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D089C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D0AA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D092C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/Boss01_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D0AA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/Boss01_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/Boss01_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D119C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/Boss01_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D1258.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D119C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D12B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D1258.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D1AB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D12B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D1B2C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D1AB8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D1E5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D1B2C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D1E74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D1E5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D1EA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D1E74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D20D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D1EA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D2588.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D20D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D25E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D2588.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D2664.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D25E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D26B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D2664.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D2780.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D26B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D27D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D2780.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D2858.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D27D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D2914.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D2858.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D2A44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D2914.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D2AA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D2A44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D2BCC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D2AA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D2CDC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D2BCC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D2DE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D2CDC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D2E4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D2DE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D3074.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D2E4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D30D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D3074.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D32B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D30D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D3374.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D32B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D3400.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D3374.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D345C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D3400.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D34D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D345C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D3530.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D34D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D35A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D3530.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D365C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D35A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D370C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D365C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D3A7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D370C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D3ADC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D3A7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D3C10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D3ADC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D3CD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D3C10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D441C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D3CD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D4464.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D441C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D44C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D4464.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D4668.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D44C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/Boss01_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D4668.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D519C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/Boss01_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D5584.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D519C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D55CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D5584.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/Boss01_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D55CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D5B0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/Boss01_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D5BC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D5B0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D5FB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D5BC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D606C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D5FB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D62D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D606C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D6314.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D62D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D6424.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D6314.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D6488.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D6424.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D64E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D6488.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D6540.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D64E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D6588.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D6540.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D65E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D6588.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D670C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D65E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D694C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D670C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D6B08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D694C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D6BB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D6B08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D6C98.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D6BB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D6E7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D6C98.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_01_0x809D0530/func_809D73D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D6E7C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_01/func_809D73D4.s") diff --git a/src/overlays/actors/ovl_Boss_01/z_boss_01.h b/src/overlays/actors/ovl_Boss_01/z_boss_01.h index c8b49de4fe..d43da0b1ac 100644 --- a/src/overlays/actors/ovl_Boss_01/z_boss_01.h +++ b/src/overlays/actors/ovl_Boss_01/z_boss_01.h @@ -1,13 +1,17 @@ #ifndef Z_BOSS_01_H #define Z_BOSS_01_H -#include +#include "global.h" struct Boss01; +typedef void (*Boss01ActionFunc)(struct Boss01* this, GlobalContext* globalCtx); + typedef struct Boss01 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x998]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x320]; + /* 0x0464 */ Boss01ActionFunc actionFunc; + /* 0x0468 */ char unk_468[0x674]; } Boss01; // size = 0xADC extern const ActorInit Boss_01_InitVars; diff --git a/src/overlays/actors/ovl_Boss_02/z_boss_02.c b/src/overlays/actors/ovl_Boss_02/z_boss_02.c index be1c08a93a..c2d70bb366 100644 --- a/src/overlays/actors/ovl_Boss_02/z_boss_02.c +++ b/src/overlays/actors/ovl_Boss_02/z_boss_02.c @@ -9,6 +9,9 @@ void Boss02_Destroy(Actor* thisx, GlobalContext* globalCtx); void Boss02_Update(Actor* thisx, GlobalContext* globalCtx); void Boss02_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_809DAA98(Boss02* this, GlobalContext* globalCtx); +void func_809DAB78(Boss02* this, GlobalContext* globalCtx); + #if 0 // static DamageTable sDamageTable = { static DamageTable D_809DF550 = { @@ -46,7 +49,6 @@ static DamageTable D_809DF550 = { /* Powder Keg */ DMG_ENTRY(1, 0xF), }; - // static DamageTable sDamageTable = { static DamageTable D_809DF570 = { /* Deku Nut */ DMG_ENTRY(0, 0x0), @@ -83,7 +85,6 @@ static DamageTable D_809DF570 = { /* Powder Keg */ DMG_ENTRY(1, 0xF), }; - const ActorInit Boss_02_InitVars = { ACTOR_BOSS_02, ACTORCAT_BOSS, @@ -96,7 +97,6 @@ const ActorInit Boss_02_InitVars = { (ActorFunc)Boss02_Draw, }; - // static ColliderJntSphElementInit sJntSphElementsInit[22] = { static ColliderJntSphElementInit D_809DF614[22] = { { @@ -195,7 +195,6 @@ static ColliderJntSphInit D_809DF92C = { 22, D_809DF614, // sJntSphElementsInit, }; - // static ColliderJntSphElementInit sJntSphElementsInit[2] = { static ColliderJntSphElementInit D_809DF93C[2] = { { @@ -214,7 +213,6 @@ static ColliderJntSphInit D_809DF984 = { 2, D_809DF93C, // sJntSphElementsInit, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_809DF994 = { { COLTYPE_METAL, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_HARD | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -222,6 +220,7 @@ static ColliderCylinderInit D_809DF994 = { { 150, 200, 0, { 0, 0, 0 } }, }; +#endif extern DamageTable D_809DF550; extern DamageTable D_809DF570; @@ -230,50 +229,54 @@ extern ColliderJntSphInit D_809DF92C; extern ColliderJntSphElementInit D_809DF93C[2]; extern ColliderJntSphInit D_809DF984; extern ColliderCylinderInit D_809DF994; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_02_0x809DA1D0/func_809DA1D0.asm") +extern UNK_TYPE D_060002E0; +extern UNK_TYPE D_060003A0; +extern UNK_TYPE D_06008650; +extern UNK_TYPE D_06009C78; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_02_0x809DA1D0/func_809DA22C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_02/func_809DA1D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_02_0x809DA1D0/func_809DA24C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_02/func_809DA22C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_02_0x809DA1D0/func_809DA264.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_02/func_809DA24C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_02_0x809DA1D0/func_809DA344.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_02/func_809DA264.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_02_0x809DA1D0/func_809DA460.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_02/func_809DA344.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_02_0x809DA1D0/func_809DA50C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_02/func_809DA460.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_02_0x809DA1D0/Boss02_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_02/func_809DA50C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_02_0x809DA1D0/Boss02_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_02/Boss02_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_02_0x809DA1D0/func_809DAA74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_02/Boss02_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_02_0x809DA1D0/func_809DAA98.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_02/func_809DAA74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_02_0x809DA1D0/func_809DAAA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_02/func_809DAA98.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_02_0x809DA1D0/func_809DAB78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_02/func_809DAAA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_02_0x809DA1D0/func_809DBFB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_02/func_809DAB78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_02_0x809DA1D0/func_809DC218.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_02/func_809DBFB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_02_0x809DA1D0/Boss02_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_02/func_809DC218.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_02_0x809DA1D0/func_809DC78C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_02/Boss02_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_02_0x809DA1D0/Boss02_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_02/func_809DC78C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_02_0x809DA1D0/func_809DD0A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_02/Boss02_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_02_0x809DA1D0/func_809DD0CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_02/func_809DD0A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_02_0x809DA1D0/func_809DD2F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_02/func_809DD0CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_02_0x809DA1D0/func_809DD934.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_02/func_809DD2F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_02_0x809DA1D0/func_809DEAC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_02/func_809DD934.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_02/func_809DEAC4.s") diff --git a/src/overlays/actors/ovl_Boss_02/z_boss_02.h b/src/overlays/actors/ovl_Boss_02/z_boss_02.h index 58b0e0284f..e70010ce9e 100644 --- a/src/overlays/actors/ovl_Boss_02/z_boss_02.h +++ b/src/overlays/actors/ovl_Boss_02/z_boss_02.h @@ -1,13 +1,17 @@ #ifndef Z_BOSS_02_H #define Z_BOSS_02_H -#include +#include "global.h" struct Boss02; +typedef void (*Boss02ActionFunc)(struct Boss02* this, GlobalContext* globalCtx); + typedef struct Boss02 { /* 0x0000 */ Actor actor; - /* 0x0144 */ char unk_0144[0x1C3C]; + /* 0x0144 */ char unk_144[0x152C]; + /* 0x1670 */ Boss02ActionFunc actionFunc; + /* 0x1674 */ char unk_1674[0x70C]; } Boss02; // size = 0x1D80 extern const ActorInit Boss_02_InitVars; diff --git a/src/overlays/actors/ovl_Boss_03/z_boss_03.c b/src/overlays/actors/ovl_Boss_03/z_boss_03.c index 329e9ff830..7e335424b8 100644 --- a/src/overlays/actors/ovl_Boss_03/z_boss_03.c +++ b/src/overlays/actors/ovl_Boss_03/z_boss_03.c @@ -9,6 +9,19 @@ void Boss03_Destroy(Actor* thisx, GlobalContext* globalCtx); void Boss03_Update(Actor* thisx, GlobalContext* globalCtx); void Boss03_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_809E344C(Boss03* this, GlobalContext* globalCtx); +void func_809E34B8(Boss03* this, GlobalContext* globalCtx); +void func_809E3968(Boss03* this, GlobalContext* globalCtx); +void func_809E3D98(Boss03* this, GlobalContext* globalCtx); +void func_809E421C(Boss03* this, GlobalContext* globalCtx); +void func_809E475C(Boss03* this, GlobalContext* globalCtx); +void func_809E497C(Boss03* this, GlobalContext* globalCtx); +void func_809E4C90(Boss03* this, GlobalContext* globalCtx); +void func_809E4E80(Boss03* this, GlobalContext* globalCtx); +void func_809E5B64(Boss03* this, GlobalContext* globalCtx); +void func_809E6640(Boss03* this, GlobalContext* globalCtx); +void func_809E6BC0(Boss03* this, GlobalContext* globalCtx); + #if 0 const ActorInit Boss_03_InitVars = { ACTOR_BOSS_03, @@ -22,7 +35,6 @@ const ActorInit Boss_03_InitVars = { (ActorFunc)Boss03_Draw, }; - // static ColliderJntSphElementInit sJntSphElementsInit[2] = { static ColliderJntSphElementInit D_809E8ECC[2] = { { @@ -41,7 +53,6 @@ static ColliderJntSphInit D_809E8F14 = { 2, D_809E8ECC, // sJntSphElementsInit, }; - // static ColliderJntSphElementInit sJntSphElementsInit[5] = { static ColliderJntSphElementInit D_809E8F24[5] = { { @@ -72,101 +83,109 @@ static ColliderJntSphInit D_809E8FD8 = { 5, D_809E8F24, // sJntSphElementsInit, }; +#endif extern ColliderJntSphElementInit D_809E8ECC[2]; extern ColliderJntSphInit D_809E8F14; extern ColliderJntSphElementInit D_809E8F24[5]; extern ColliderJntSphInit D_809E8FD8; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/func_809E2760.asm") +extern UNK_TYPE D_06007EB0; +extern UNK_TYPE D_06007EC8; +extern UNK_TYPE D_06009554; +extern UNK_TYPE D_060099D0; +extern UNK_TYPE D_06009C14; +extern UNK_TYPE D_06009CF8; +extern UNK_TYPE D_0600A6C8; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/func_809E2788.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/func_809E2760.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/func_809E2880.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/func_809E2788.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/func_809E299C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/func_809E2880.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/func_809E2AB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/func_809E299C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/func_809E2B8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/func_809E2AB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/func_809E2C1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/func_809E2B8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/func_809E2C3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/func_809E2C1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/func_809E2D64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/func_809E2C3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/func_809E2DA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/func_809E2D64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/Boss03_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/func_809E2DA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/Boss03_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/Boss03_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/func_809E344C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/Boss03_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/func_809E34B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/func_809E344C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/func_809E38EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/func_809E34B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/func_809E3968.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/func_809E38EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/func_809E3D34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/func_809E3968.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/func_809E3D98.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/func_809E3D34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/func_809E4180.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/func_809E3D98.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/func_809E421C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/func_809E4180.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/func_809E4674.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/func_809E421C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/func_809E475C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/func_809E4674.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/func_809E4910.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/func_809E475C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/func_809E497C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/func_809E4910.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/func_809E4C34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/func_809E497C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/func_809E4C90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/func_809E4C34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/func_809E4E2C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/func_809E4C90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/func_809E4E80.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/func_809E4E2C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/func_809E5ADC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/func_809E4E80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/func_809E5B64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/func_809E5ADC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/func_809E65F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/func_809E5B64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/func_809E6640.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/func_809E65F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/func_809E69A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/func_809E6640.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/func_809E6A38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/func_809E69A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/func_809E6B70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/func_809E6A38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/func_809E6BC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/func_809E6B70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/func_809E6CB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/func_809E6BC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/Boss03_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/func_809E6CB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/func_809E7920.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/Boss03_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/func_809E79C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/func_809E7920.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/func_809E7AA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/func_809E79C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/Boss03_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/func_809E7AA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/func_809E7D00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/Boss03_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/func_809E81E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/func_809E7D00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/func_809E8810.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/func_809E81E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_03_0x809E2760/func_809E8BEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/func_809E8810.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_03/func_809E8BEC.s") diff --git a/src/overlays/actors/ovl_Boss_03/z_boss_03.h b/src/overlays/actors/ovl_Boss_03/z_boss_03.h index 99ffd20da4..4340ff6005 100644 --- a/src/overlays/actors/ovl_Boss_03/z_boss_03.h +++ b/src/overlays/actors/ovl_Boss_03/z_boss_03.h @@ -1,13 +1,17 @@ #ifndef Z_BOSS_03_H #define Z_BOSS_03_H -#include +#include "global.h" struct Boss03; +typedef void (*Boss03ActionFunc)(struct Boss03* this, GlobalContext* globalCtx); + typedef struct Boss03 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x438]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x1E4]; + /* 0x0328 */ Boss03ActionFunc actionFunc; + /* 0x032C */ char unk_32C[0x250]; } Boss03; // size = 0x57C extern const ActorInit Boss_03_InitVars; diff --git a/src/overlays/actors/ovl_Boss_04/z_boss_04.c b/src/overlays/actors/ovl_Boss_04/z_boss_04.c index dad5a97e12..58fd9a26e5 100644 --- a/src/overlays/actors/ovl_Boss_04/z_boss_04.c +++ b/src/overlays/actors/ovl_Boss_04/z_boss_04.c @@ -9,6 +9,11 @@ void Boss04_Destroy(Actor* thisx, GlobalContext* globalCtx); void Boss04_Update(Actor* thisx, GlobalContext* globalCtx); void Boss04_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_809EC568(Boss04* this, GlobalContext* globalCtx); +void func_809ECD18(Boss04* this, GlobalContext* globalCtx); +void func_809ECF58(Boss04* this, GlobalContext* globalCtx); +void func_809ED2A0(Boss04* this, GlobalContext* globalCtx); + #if 0 // static DamageTable sDamageTable = { static DamageTable D_809EE150 = { @@ -46,7 +51,6 @@ static DamageTable D_809EE150 = { /* Powder Keg */ DMG_ENTRY(1, 0xF), }; - const ActorInit Boss_04_InitVars = { ACTOR_BOSS_04, ACTORCAT_BOSS, @@ -59,7 +63,6 @@ const ActorInit Boss_04_InitVars = { (ActorFunc)Boss04_Draw, }; - // static ColliderJntSphElementInit sJntSphElementsInit[1] = { static ColliderJntSphElementInit D_809EE190[1] = { { @@ -74,7 +77,6 @@ static ColliderJntSphInit D_809EE1B4 = { 1, D_809EE190, // sJntSphElementsInit, }; - // static ColliderJntSphElementInit sJntSphElementsInit[1] = { static ColliderJntSphElementInit D_809EE1C4[1] = { { @@ -89,44 +91,47 @@ static ColliderJntSphInit D_809EE1E8 = { 1, D_809EE1C4, // sJntSphElementsInit, }; +#endif extern DamageTable D_809EE150; extern ColliderJntSphElementInit D_809EE190[1]; extern ColliderJntSphInit D_809EE1B4; extern ColliderJntSphElementInit D_809EE1C4[1]; extern ColliderJntSphInit D_809EE1E8; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_04_0x809EC040/func_809EC040.asm") +extern UNK_TYPE D_0600004C; +extern UNK_TYPE D_06004510; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_04_0x809EC040/Boss04_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_04/func_809EC040.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_04_0x809EC040/Boss04_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_04/Boss04_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_04_0x809EC040/func_809EC544.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_04/Boss04_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_04_0x809EC040/func_809EC568.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_04/func_809EC544.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_04_0x809EC040/func_809ECD00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_04/func_809EC568.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_04_0x809EC040/func_809ECD18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_04/func_809ECD00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_04_0x809EC040/func_809ECEF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_04/func_809ECD18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_04_0x809EC040/func_809ECF58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_04/func_809ECEF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_04_0x809EC040/func_809ED224.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_04/func_809ECF58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_04_0x809EC040/func_809ED2A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_04/func_809ED224.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_04_0x809EC040/func_809ED45C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_04/func_809ED2A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_04_0x809EC040/func_809ED50C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_04/func_809ED45C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_04_0x809EC040/Boss04_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_04/func_809ED50C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_04_0x809EC040/func_809EDCCC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_04/Boss04_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_04_0x809EC040/func_809EDECC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_04/func_809EDCCC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_04_0x809EC040/Boss04_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_04/func_809EDECC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_04/Boss04_Draw.s") diff --git a/src/overlays/actors/ovl_Boss_04/z_boss_04.h b/src/overlays/actors/ovl_Boss_04/z_boss_04.h index 8afdb9cc81..542937ddd3 100644 --- a/src/overlays/actors/ovl_Boss_04/z_boss_04.h +++ b/src/overlays/actors/ovl_Boss_04/z_boss_04.h @@ -1,13 +1,17 @@ #ifndef Z_BOSS_04_H #define Z_BOSS_04_H -#include +#include "global.h" struct Boss04; +typedef void (*Boss04ActionFunc)(struct Boss04* this, GlobalContext* globalCtx); + typedef struct Boss04 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x608]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0xC0]; + /* 0x0204 */ Boss04ActionFunc actionFunc; + /* 0x0208 */ char unk_208[0x544]; } Boss04; // size = 0x74C extern const ActorInit Boss_04_InitVars; diff --git a/src/overlays/actors/ovl_Boss_05/z_boss_05.c b/src/overlays/actors/ovl_Boss_05/z_boss_05.c index 8af49488db..190b4693d9 100644 --- a/src/overlays/actors/ovl_Boss_05/z_boss_05.c +++ b/src/overlays/actors/ovl_Boss_05/z_boss_05.c @@ -9,6 +9,19 @@ void Boss05_Destroy(Actor* thisx, GlobalContext* globalCtx); void Boss05_Update(Actor* thisx, GlobalContext* globalCtx); void Boss05_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_809EEDE8(Boss05* this, GlobalContext* globalCtx); +void func_809EF9BC(Boss05* this, GlobalContext* globalCtx); +void func_809EFAB4(Boss05* this, GlobalContext* globalCtx); +void func_809F010C(Boss05* this, GlobalContext* globalCtx); +void func_809F0244(Boss05* this, GlobalContext* globalCtx); +void func_809F0374(Boss05* this, GlobalContext* globalCtx); +void func_809F04C0(Boss05* this, GlobalContext* globalCtx); +void func_809F0590(Boss05* this, GlobalContext* globalCtx); +void func_809F06B8(Boss05* this, GlobalContext* globalCtx); +void func_809F0780(Boss05* this, GlobalContext* globalCtx); +void func_809F0ABC(Boss05* this, GlobalContext* globalCtx); +void func_809F0B0C(Boss05* this, GlobalContext* globalCtx); + #if 0 // static ColliderJntSphElementInit sJntSphElementsInit[2] = { static ColliderJntSphElementInit D_809F1B2C[2] = { @@ -28,7 +41,6 @@ static ColliderJntSphInit D_809F1B74 = { 2, D_809F1B2C, // sJntSphElementsInit, }; - // static ColliderJntSphElementInit sJntSphElementsInit[1] = { static ColliderJntSphElementInit D_809F1B84[1] = { { @@ -43,7 +55,6 @@ static ColliderJntSphInit D_809F1BA8 = { 1, D_809F1B84, // sJntSphElementsInit, }; - // static ColliderJntSphElementInit sJntSphElementsInit[1] = { static ColliderJntSphElementInit D_809F1BB8[1] = { { @@ -58,7 +69,6 @@ static ColliderJntSphInit D_809F1BDC = { 1, D_809F1BB8, // sJntSphElementsInit, }; - // static DamageTable sDamageTable = { static DamageTable D_809F1C00 = { /* Deku Nut */ DMG_ENTRY(0, 0x0), @@ -95,7 +105,6 @@ static DamageTable D_809F1C00 = { /* Powder Keg */ DMG_ENTRY(1, 0xF), }; - // static DamageTable sDamageTable = { static DamageTable D_809F1C20 = { /* Deku Nut */ DMG_ENTRY(0, 0x1), @@ -132,7 +141,6 @@ static DamageTable D_809F1C20 = { /* Powder Keg */ DMG_ENTRY(1, 0xF), }; - const ActorInit Boss_05_InitVars = { ACTOR_BOSS_05, ACTORCAT_ENEMY, @@ -145,6 +153,7 @@ const ActorInit Boss_05_InitVars = { (ActorFunc)Boss05_Draw, }; +#endif extern ColliderJntSphElementInit D_809F1B2C[2]; extern ColliderJntSphInit D_809F1B74; @@ -154,88 +163,97 @@ extern ColliderJntSphElementInit D_809F1BB8[1]; extern ColliderJntSphInit D_809F1BDC; extern DamageTable D_809F1C00; extern DamageTable D_809F1C20; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_05_0x809EE4E0/func_809EE4E0.asm") +extern UNK_TYPE D_060006A4; +extern UNK_TYPE D_06000A5C; +extern UNK_TYPE D_06000ABC; +extern UNK_TYPE D_06002F0C; +extern UNK_TYPE D_06003448; +extern UNK_TYPE D_06006240; +extern UNK_TYPE D_06006E50; +extern UNK_TYPE D_06007488; +extern UNK_TYPE D_06007908; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_05_0x809EE4E0/func_809EE668.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_05/func_809EE4E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_05_0x809EE4E0/Boss05_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_05/func_809EE668.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_05_0x809EE4E0/Boss05_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_05/Boss05_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_05_0x809EE4E0/func_809EECBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_05/Boss05_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_05_0x809EE4E0/func_809EEDD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_05/func_809EECBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_05_0x809EE4E0/func_809EEDE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_05/func_809EEDD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_05_0x809EE4E0/func_809EF9BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_05/func_809EEDE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_05_0x809EE4E0/func_809EFAB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_05/func_809EF9BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_05_0x809EE4E0/func_809EFE50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_05/func_809EFAB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_05_0x809EE4E0/func_809F0014.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_05/func_809EFE50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_05_0x809EE4E0/func_809F0058.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_05/func_809F0014.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_05_0x809EE4E0/func_809F00CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_05/func_809F0058.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_05_0x809EE4E0/func_809F010C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_05/func_809F00CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_05_0x809EE4E0/func_809F01CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_05/func_809F010C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_05_0x809EE4E0/func_809F0244.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_05/func_809F01CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_05_0x809EE4E0/func_809F02D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_05/func_809F0244.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_05_0x809EE4E0/func_809F0374.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_05/func_809F02D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_05_0x809EE4E0/func_809F0474.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_05/func_809F0374.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_05_0x809EE4E0/func_809F04C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_05/func_809F0474.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_05_0x809EE4E0/func_809F0538.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_05/func_809F04C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_05_0x809EE4E0/func_809F0590.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_05/func_809F0538.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_05_0x809EE4E0/func_809F0650.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_05/func_809F0590.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_05_0x809EE4E0/func_809F06B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_05/func_809F0650.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_05_0x809EE4E0/func_809F0708.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_05/func_809F06B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_05_0x809EE4E0/func_809F0780.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_05/func_809F0708.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_05_0x809EE4E0/func_809F0A0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_05/func_809F0780.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_05_0x809EE4E0/func_809F0A64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_05/func_809F0A0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_05_0x809EE4E0/func_809F0ABC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_05/func_809F0A64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_05_0x809EE4E0/func_809F0B0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_05/func_809F0ABC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_05_0x809EE4E0/Boss05_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_05/func_809F0B0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_05_0x809EE4E0/func_809F1050.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_05/Boss05_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_05_0x809EE4E0/func_809F1170.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_05/func_809F1050.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_05_0x809EE4E0/func_809F1284.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_05/func_809F1170.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_05_0x809EE4E0/func_809F12A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_05/func_809F1284.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_05_0x809EE4E0/func_809F135C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_05/func_809F12A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_05_0x809EE4E0/func_809F1404.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_05/func_809F135C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_05_0x809EE4E0/func_809F1430.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_05/func_809F1404.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_05_0x809EE4E0/func_809F1464.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_05/func_809F1430.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_05_0x809EE4E0/func_809F14AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_05/func_809F1464.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_05_0x809EE4E0/func_809F1550.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_05/func_809F14AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_05_0x809EE4E0/Boss05_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_05/func_809F1550.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_05/Boss05_Draw.s") diff --git a/src/overlays/actors/ovl_Boss_05/z_boss_05.h b/src/overlays/actors/ovl_Boss_05/z_boss_05.h index 91e23655db..bbf4e2ea4c 100644 --- a/src/overlays/actors/ovl_Boss_05/z_boss_05.h +++ b/src/overlays/actors/ovl_Boss_05/z_boss_05.h @@ -1,13 +1,17 @@ #ifndef Z_BOSS_05_H #define Z_BOSS_05_H -#include +#include "global.h" struct Boss05; +typedef void (*Boss05ActionFunc)(struct Boss05* this, GlobalContext* globalCtx); + typedef struct Boss05 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x3C4]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x2C]; + /* 0x0170 */ Boss05ActionFunc actionFunc; + /* 0x0174 */ char unk_174[0x394]; } Boss05; // size = 0x508 extern const ActorInit Boss_05_InitVars; diff --git a/src/overlays/actors/ovl_Boss_06/z_boss_06.c b/src/overlays/actors/ovl_Boss_06/z_boss_06.c index e587e54628..ed04e008da 100644 --- a/src/overlays/actors/ovl_Boss_06/z_boss_06.c +++ b/src/overlays/actors/ovl_Boss_06/z_boss_06.c @@ -9,6 +9,12 @@ void Boss06_Destroy(Actor* thisx, GlobalContext* globalCtx); void Boss06_Update(Actor* thisx, GlobalContext* globalCtx); void Boss06_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_809F24C8(Boss06* this, GlobalContext* globalCtx); +void func_809F2B64(Boss06* this, GlobalContext* globalCtx); +void func_809F2C44(Boss06* this, GlobalContext* globalCtx); +void func_809F2E34(Boss06* this, GlobalContext* globalCtx); +void func_809F2EE8(Boss06* this, GlobalContext* globalCtx); + #if 0 // static DamageTable sDamageTable = { static DamageTable D_809F4080 = { @@ -46,7 +52,6 @@ static DamageTable D_809F4080 = { /* Powder Keg */ DMG_ENTRY(0, 0xF), }; - const ActorInit Boss_06_InitVars = { ACTOR_BOSS_06, ACTORCAT_BOSS, @@ -59,7 +64,6 @@ const ActorInit Boss_06_InitVars = { (ActorFunc)Boss06_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_809F40C0 = { { COLTYPE_HIT3, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -67,37 +71,40 @@ static ColliderCylinderInit D_809F40C0 = { { 90, 140, 10, { 0, 0, 0 } }, }; +#endif extern DamageTable D_809F4080; extern ColliderCylinderInit D_809F40C0; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_06_0x809F2120/func_809F2120.asm") +extern UNK_TYPE D_06018BD0; +extern UNK_TYPE D_06019490; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_06_0x809F2120/func_809F2140.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_06/func_809F2120.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_06_0x809F2120/Boss06_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_06/func_809F2140.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_06_0x809F2120/Boss06_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_06/Boss06_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_06_0x809F2120/func_809F23CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_06/Boss06_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_06_0x809F2120/func_809F24A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_06/func_809F23CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_06_0x809F2120/func_809F24C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_06/func_809F24A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_06_0x809F2120/func_809F2B64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_06/func_809F24C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_06_0x809F2120/func_809F2C44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_06/func_809F2B64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_06_0x809F2120/func_809F2E14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_06/func_809F2C44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_06_0x809F2120/func_809F2E34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_06/func_809F2E14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_06_0x809F2120/func_809F2ED0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_06/func_809F2E34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_06_0x809F2120/func_809F2EE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_06/func_809F2ED0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_06_0x809F2120/Boss06_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_06/func_809F2EE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_06_0x809F2120/Boss06_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_06/Boss06_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_06/Boss06_Draw.s") diff --git a/src/overlays/actors/ovl_Boss_06/z_boss_06.h b/src/overlays/actors/ovl_Boss_06/z_boss_06.h index 0e31376a3f..e73c32e88b 100644 --- a/src/overlays/actors/ovl_Boss_06/z_boss_06.h +++ b/src/overlays/actors/ovl_Boss_06/z_boss_06.h @@ -1,13 +1,17 @@ #ifndef Z_BOSS_06_H #define Z_BOSS_06_H -#include +#include "global.h" struct Boss06; +typedef void (*Boss06ActionFunc)(struct Boss06* this, GlobalContext* globalCtx); + typedef struct Boss06 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x8EC]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x54]; + /* 0x0198 */ Boss06ActionFunc actionFunc; + /* 0x019C */ char unk_19C[0x894]; } Boss06; // size = 0xA30 extern const ActorInit Boss_06_InitVars; diff --git a/src/overlays/actors/ovl_Boss_07/z_boss_07.c b/src/overlays/actors/ovl_Boss_07/z_boss_07.c index c61f737b1c..6c549b2172 100644 --- a/src/overlays/actors/ovl_Boss_07/z_boss_07.c +++ b/src/overlays/actors/ovl_Boss_07/z_boss_07.c @@ -9,6 +9,43 @@ void Boss07_Destroy(Actor* thisx, GlobalContext* globalCtx); void Boss07_Update(Actor* thisx, GlobalContext* globalCtx); void Boss07_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_809F5E88(Boss07* this, GlobalContext* globalCtx); +void func_809F65F4(Boss07* this, GlobalContext* globalCtx); +void func_809F748C(Boss07* this, GlobalContext* globalCtx); +void func_809F76D0(Boss07* this, GlobalContext* globalCtx); +void func_809F77A8(Boss07* this, GlobalContext* globalCtx); +void func_809F7968(Boss07* this, GlobalContext* globalCtx); +void func_809F7BC4(Boss07* this, GlobalContext* globalCtx); +void func_809F805C(Boss07* this, GlobalContext* globalCtx); +void func_809F86B8(Boss07* this, GlobalContext* globalCtx); +void func_809F87C8(Boss07* this, GlobalContext* globalCtx); +void func_809F8908(Boss07* this, GlobalContext* globalCtx); +void func_809F8B1C(Boss07* this, GlobalContext* globalCtx); +void func_809F8D04(Boss07* this, GlobalContext* globalCtx); +void func_809F8EC8(Boss07* this, GlobalContext* globalCtx); +void func_809F91D4(Boss07* this, GlobalContext* globalCtx); +void func_809FCCCC(Boss07* this, GlobalContext* globalCtx); +void func_809FD710(Boss07* this, GlobalContext* globalCtx); +void func_809FD89C(Boss07* this, GlobalContext* globalCtx); +void func_809FDAB0(Boss07* this, GlobalContext* globalCtx); +void func_809FDF54(Boss07* this, GlobalContext* globalCtx); +void func_809FE0E4(Boss07* this, GlobalContext* globalCtx); +void func_809FE348(Boss07* this, GlobalContext* globalCtx); +void func_809FE524(Boss07* this, GlobalContext* globalCtx); +void func_809FE734(Boss07* this, GlobalContext* globalCtx); +void func_809FFA80(Boss07* this, GlobalContext* globalCtx); +void func_809FFEAC(Boss07* this, GlobalContext* globalCtx); +void func_80A00274(Boss07* this, GlobalContext* globalCtx); +void func_80A00554(Boss07* this, GlobalContext* globalCtx); +void func_80A00720(Boss07* this, GlobalContext* globalCtx); +void func_80A01750(Boss07* this, GlobalContext* globalCtx); +void func_80A0264C(Boss07* this, GlobalContext* globalCtx); +void func_80A04890(Boss07* this, GlobalContext* globalCtx); +void func_80A04E5C(Boss07* this, GlobalContext* globalCtx); +void func_80A05608(Boss07* this, GlobalContext* globalCtx); +void func_80A05B50(Boss07* this, GlobalContext* globalCtx); +void func_80A05DDC(Boss07* this, GlobalContext* globalCtx); + #if 0 // static DamageTable sDamageTable = { static DamageTable D_80A07980 = { @@ -46,7 +83,6 @@ static DamageTable D_80A07980 = { /* Powder Keg */ DMG_ENTRY(2, 0xF), }; - // static DamageTable sDamageTable = { static DamageTable D_80A079A0 = { /* Deku Nut */ DMG_ENTRY(0, 0x0), @@ -83,7 +119,6 @@ static DamageTable D_80A079A0 = { /* Powder Keg */ DMG_ENTRY(4, 0xC), }; - // static DamageTable sDamageTable = { static DamageTable D_80A079C0 = { /* Deku Nut */ DMG_ENTRY(0, 0x0), @@ -120,7 +155,6 @@ static DamageTable D_80A079C0 = { /* Powder Keg */ DMG_ENTRY(2, 0xC), }; - // static DamageTable sDamageTable = { static DamageTable D_80A079E0 = { /* Deku Nut */ DMG_ENTRY(0, 0x0), @@ -157,7 +191,6 @@ static DamageTable D_80A079E0 = { /* Powder Keg */ DMG_ENTRY(2, 0xE), }; - // static DamageTable sDamageTable = { static DamageTable D_80A07A00 = { /* Deku Nut */ DMG_ENTRY(0, 0x0), @@ -194,7 +227,6 @@ static DamageTable D_80A07A00 = { /* Powder Keg */ DMG_ENTRY(2, 0xB), }; - const ActorInit Boss_07_InitVars = { ACTOR_BOSS_07, ACTORCAT_BOSS, @@ -207,7 +239,6 @@ const ActorInit Boss_07_InitVars = { (ActorFunc)Boss07_Draw, }; - // static ColliderJntSphElementInit sJntSphElementsInit[11] = { static ColliderJntSphElementInit D_80A07A40[11] = { { @@ -262,7 +293,6 @@ static ColliderJntSphInit D_80A07BCC = { 11, D_80A07A40, // sJntSphElementsInit, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80A07BDC = { { COLTYPE_METAL, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -270,7 +300,6 @@ static ColliderCylinderInit D_80A07BDC = { { 80, 200, 0, { 0, 0, 0 } }, }; - // static ColliderJntSphElementInit sJntSphElementsInit[1] = { static ColliderJntSphElementInit D_80A07C08[1] = { { @@ -285,7 +314,6 @@ static ColliderJntSphInit D_80A07C2C = { 1, D_80A07C08, // sJntSphElementsInit, }; - // static ColliderQuadInit sQuadInit = { static ColliderQuadInit D_80A07C3C = { { COLTYPE_METAL, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_HARD | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_QUAD, }, @@ -293,7 +321,6 @@ static ColliderQuadInit D_80A07C3C = { { { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } } }, }; - // static ColliderQuadInit sQuadInit = { static ColliderQuadInit D_80A07C8C = { { COLTYPE_HIT3, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_QUAD, }, @@ -301,7 +328,6 @@ static ColliderQuadInit D_80A07C8C = { { { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } } }, }; - // static ColliderJntSphElementInit sJntSphElementsInit[11] = { static ColliderJntSphElementInit D_80A07CDC[11] = { { @@ -356,7 +382,6 @@ static ColliderJntSphInit D_80A07E68 = { 11, D_80A07CDC, // sJntSphElementsInit, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80A07E78 = { { COLTYPE_NONE, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -364,7 +389,6 @@ static ColliderCylinderInit D_80A07E78 = { { 15, 30, -15, { 0, 0, 0 } }, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80A07EA4 = { { COLTYPE_METAL, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -372,7 +396,6 @@ static ColliderCylinderInit D_80A07EA4 = { { 50, 100, -50, { 0, 0, 0 } }, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80A07ED0 = { { COLTYPE_METAL, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_HARD | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -380,6 +403,7 @@ static ColliderCylinderInit D_80A07ED0 = { { 40, 20, 15, { 0, 0, 0 } }, }; +#endif extern DamageTable D_80A07980; extern DamageTable D_80A079A0; @@ -398,276 +422,313 @@ extern ColliderJntSphInit D_80A07E68; extern ColliderCylinderInit D_80A07E78; extern ColliderCylinderInit D_80A07EA4; extern ColliderCylinderInit D_80A07ED0; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F4980.asm") +extern UNK_TYPE D_06000194; +extern UNK_TYPE D_06000428; +extern UNK_TYPE D_06000D0C; +extern UNK_TYPE D_06002C40; +extern UNK_TYPE D_06002D84; +extern UNK_TYPE D_06003854; +extern UNK_TYPE D_06003A64; +extern UNK_TYPE D_06009C7C; +extern UNK_TYPE D_06009EA8; +extern UNK_TYPE D_0600A194; +extern UNK_TYPE D_0600A400; +extern UNK_TYPE D_0600AE40; +extern UNK_TYPE D_0600AFB0; +extern UNK_TYPE D_0600B020; +extern UNK_TYPE D_0600C7D8; +extern UNK_TYPE D_0600CEE8; +extern UNK_TYPE D_060149A0; +extern UNK_TYPE D_06019E48; +extern UNK_TYPE D_0601DEB4; +extern UNK_TYPE D_06022BB4; +extern UNK_TYPE D_06023DAC; +extern UNK_TYPE D_06025018; +extern UNK_TYPE D_06025878; +extern UNK_TYPE D_060269EC; +extern UNK_TYPE D_06026EA0; +extern UNK_TYPE D_06027270; +extern UNK_TYPE D_0602EEC8; +extern UNK_TYPE D_0602EF68; +extern UNK_TYPE D_0602EFE8; +extern UNK_TYPE D_0602F640; +extern UNK_TYPE D_0602F840; +extern UNK_TYPE D_06033F80; +extern UNK_TYPE D_0603B330; +extern UNK_TYPE D_0603CBD0; +extern UNK_TYPE D_0603D7F0; +extern UNK_TYPE D_0603DD1C; +extern UNK_TYPE D_06040930; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F49A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F4980.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F49C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F49A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F4AE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F49C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F4BB0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F4AE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F4C40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F4BB0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F4CBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F4C40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F4D10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F4CBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F4D54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F4D10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F4FAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F4D54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F4FF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F4FAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F51E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F4FF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F52CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F51E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F536C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F52CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F5494.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F536C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/Boss07_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F5494.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/Boss07_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/Boss07_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F5E14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/Boss07_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F5E88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F5E14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F64F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F5E88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F65F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F64F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F7400.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F65F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F748C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F7400.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F7688.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F748C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F76D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F7688.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F77A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F76D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F783C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F77A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F7968.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F783C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F7AB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F7968.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F7BC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F7AB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F7D2C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F7BC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F805C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F7D2C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F8658.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F805C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F86B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F8658.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F87C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F86B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F8908.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F87C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F8AB0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F8908.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F8B1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F8AB0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F8D04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F8B1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F8DEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F8D04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F8E68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F8DEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F8EC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F8E68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F91D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F8EC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F9280.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F91D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F93DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F9280.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F94AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F93DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F99C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F94AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F9CEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F99C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809F9E94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F9CEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/Boss07_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809F9E94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809FAA44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/Boss07_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809FB114.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809FAA44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809FB504.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809FB114.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809FB55C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809FB504.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809FB728.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809FB55C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809FB7D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809FB728.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809FBB9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809FB7D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809FBF94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809FBB9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/Boss07_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809FBF94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809FC4C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/Boss07_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809FC8B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809FC4C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809FC960.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809FC8B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809FCBC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809FC960.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809FCC70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809FCBC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809FCCCC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809FCC70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809FD5F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809FCCCC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809FD710.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809FD5F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809FD818.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809FD710.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809FD89C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809FD818.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809FD984.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809FD89C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809FDAB0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809FD984.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809FDB2C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809FDAB0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809FDBA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809FDB2C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809FDEDC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809FDBA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809FDF54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809FDEDC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809FE068.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809FDF54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809FE0E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809FE068.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809FE2D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809FE0E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809FE348.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809FE2D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809FE4B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809FE348.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809FE524.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809FE4B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809FE6B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809FE524.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809FE734.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809FE6B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809FEE70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809FE734.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809FF0E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809FEE70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809FF12C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809FF0E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809FF5CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809FF12C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809FF678.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809FF5CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809FF6B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809FF678.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809FF810.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809FF6B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809FF900.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809FF810.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809FFA04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809FF900.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809FFA80.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809FFA04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809FFE64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809FFA80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_809FFEAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809FFE64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_80A0021C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_809FFEAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_80A00274.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_80A0021C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_80A00484.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_80A00274.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_80A00554.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_80A00484.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_80A006D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_80A00554.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_80A006F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_80A006D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_80A00720.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_80A006F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_80A016E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_80A00720.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_80A01750.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_80A016E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_80A025AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_80A01750.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_80A0264C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_80A025AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_80A02B30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_80A0264C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_80A02C54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_80A02B30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_80A03238.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_80A02C54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_80A036C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_80A03238.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_80A03868.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_80A036C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_80A03F18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_80A03868.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_80A03F5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_80A03F18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_80A0434C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_80A03F5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_80A045A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_80A0434C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_80A04768.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_80A045A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_80A04878.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_80A04768.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_80A04890.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_80A04878.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_80A04DE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_80A04890.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_80A04E5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_80A04DE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_80A055E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_80A04E5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_80A05608.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_80A055E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_80A05694.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_80A05608.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_80A057A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_80A05694.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_80A05AF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_80A057A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_80A05B50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_80A05AF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_80A05C88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_80A05B50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_80A05DDC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_80A05C88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_80A06500.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_80A05DDC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_80A06990.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_80A06500.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_80A06C64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_80A06990.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_80A06E24.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_80A06C64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_80A06F48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_80A06E24.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_80A07604.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_80A06F48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_80A07638.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_80A07604.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_07_0x809F4980/func_80A07740.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_80A07638.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_07/func_80A07740.s") diff --git a/src/overlays/actors/ovl_Boss_07/z_boss_07.h b/src/overlays/actors/ovl_Boss_07/z_boss_07.h index d43bb422ff..259a6c030d 100644 --- a/src/overlays/actors/ovl_Boss_07/z_boss_07.h +++ b/src/overlays/actors/ovl_Boss_07/z_boss_07.h @@ -1,13 +1,16 @@ #ifndef Z_BOSS_07_H #define Z_BOSS_07_H -#include +#include "global.h" struct Boss07; +typedef void (*Boss07ActionFunc)(struct Boss07* this, GlobalContext* globalCtx); + typedef struct Boss07 { /* 0x0000 */ Actor actor; - /* 0x0144 */ char unk_0144[0xAADC]; + /* 0x0144 */ Boss07ActionFunc actionFunc; + /* 0x0148 */ char unk_144[0xAAD8]; } Boss07; // size = 0xAC20 extern const ActorInit Boss_07_InitVars; diff --git a/src/overlays/actors/ovl_Boss_Hakugin/z_boss_hakugin.c b/src/overlays/actors/ovl_Boss_Hakugin/z_boss_hakugin.c index 1d84958d06..447c6c5681 100644 --- a/src/overlays/actors/ovl_Boss_Hakugin/z_boss_hakugin.c +++ b/src/overlays/actors/ovl_Boss_Hakugin/z_boss_hakugin.c @@ -9,6 +9,22 @@ void BossHakugin_Destroy(Actor* thisx, GlobalContext* globalCtx); void BossHakugin_Update(Actor* thisx, GlobalContext* globalCtx); void BossHakugin_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80B08018(BossHakugin* this, GlobalContext* globalCtx); +void func_80B0813C(BossHakugin* this, GlobalContext* globalCtx); +void func_80B082AC(BossHakugin* this, GlobalContext* globalCtx); +void func_80B0863C(BossHakugin* this, GlobalContext* globalCtx); +void func_80B08960(BossHakugin* this, GlobalContext* globalCtx); +void func_80B08CB8(BossHakugin* this, GlobalContext* globalCtx); +void func_80B091D8(BossHakugin* this, GlobalContext* globalCtx); +void func_80B094E0(BossHakugin* this, GlobalContext* globalCtx); +void func_80B098BC(BossHakugin* this, GlobalContext* globalCtx); +void func_80B09C78(BossHakugin* this, GlobalContext* globalCtx); +void func_80B09E20(BossHakugin* this, GlobalContext* globalCtx); +void func_80B09EDC(BossHakugin* this, GlobalContext* globalCtx); +void func_80B0A2A4(BossHakugin* this, GlobalContext* globalCtx); +void func_80B0A638(BossHakugin* this, GlobalContext* globalCtx); +void func_80B0A8C4(BossHakugin* this, GlobalContext* globalCtx); + #if 0 const ActorInit Boss_Hakugin_InitVars = { ACTOR_BOSS_HAKUGIN, @@ -22,7 +38,6 @@ const ActorInit Boss_Hakugin_InitVars = { (ActorFunc)BossHakugin_Draw, }; - // static ColliderJntSphElementInit sJntSphElementsInit[19] = { static ColliderJntSphElementInit D_80B0E700[19] = { { @@ -109,7 +124,6 @@ static ColliderJntSphInit D_80B0E9AC = { 19, D_80B0E700, // sJntSphElementsInit, }; - // static ColliderTrisElementInit sTrisElementsInit[1] = { static ColliderTrisElementInit D_80B0E9BC[1] = { { @@ -124,7 +138,6 @@ static ColliderTrisInit D_80B0E9F8 = { 1, D_80B0E9BC, // sTrisElementsInit, }; - // static ColliderSphereInit sSphereInit = { static ColliderSphereInit D_80B0EA08 = { { COLTYPE_NONE, AT_ON | AT_TYPE_ENEMY, AC_NONE, OC1_NONE, OC2_TYPE_2, COLSHAPE_SPHERE, }, @@ -132,7 +145,6 @@ static ColliderSphereInit D_80B0EA08 = { { 1, { { 0, 0, 0 }, 23 }, 100 }, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80B0EA34 = { { COLTYPE_HARD, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_HARD | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -140,7 +152,6 @@ static ColliderCylinderInit D_80B0EA34 = { { 170, 40, 0, { 0, 0, 0 } }, }; - // static DamageTable sDamageTable = { static DamageTable D_80B0EA60 = { /* Deku Nut */ DMG_ENTRY(0, 0x0), @@ -177,11 +188,9 @@ static DamageTable D_80B0EA60 = { /* Powder Keg */ DMG_ENTRY(1, 0xC), }; - // sColChkInfoInit static CollisionCheckInfoInit D_80B0EA80 = { 30, 80, 100, MASS_IMMOVABLE }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80B0EAD8[] = { ICHAIN_S8(hintId, 27, ICHAIN_CONTINUE), @@ -190,6 +199,7 @@ static InitChainEntry D_80B0EAD8[] = { ICHAIN_F32_DIV1000(gravity, -2000, ICHAIN_STOP), }; +#endif extern ColliderJntSphElementInit D_80B0E700[19]; extern ColliderJntSphInit D_80B0E9AC; @@ -200,162 +210,170 @@ extern ColliderCylinderInit D_80B0EA34; extern DamageTable D_80B0EA60; extern CollisionCheckInfoInit D_80B0EA80; extern InitChainEntry D_80B0EAD8[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/BossHakugin_Init.asm") +extern UNK_TYPE D_06002054; +extern UNK_TYPE D_0600319C; +extern UNK_TYPE D_06010488; +extern UNK_TYPE D_06011208; +extern UNK_TYPE D_06012ED0; +extern UNK_TYPE D_060134D0; +extern UNK_TYPE D_06013828; +extern UNK_TYPE D_06014040; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/BossHakugin_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/BossHakugin_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B0573C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/BossHakugin_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B057A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B0573C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B058C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B057A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B05A64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B058C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B05B04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B05A64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B05CBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B05B04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B05D4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B05CBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B05EE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B05D4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B0607C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B05EE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B06558.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B0607C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B06600.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B06558.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B0696C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B06600.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B06B20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B0696C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B06C08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B06B20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B06D38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B06C08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B06F48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B06D38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B0728C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B06F48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B07450.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B0728C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B07700.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B07450.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B0791C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B07700.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B07B88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B0791C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B07BFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B07B88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B07DA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B07BFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B07EEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B07DA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B08018.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B07EEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B08124.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B08018.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B0813C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B08124.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B0825C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B0813C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B082AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B0825C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B08550.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B082AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B0863C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B08550.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B08848.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B0863C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B08960.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B08848.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B08C1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B08960.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B08CB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B08C1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B09178.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B08CB8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B091D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B09178.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B093C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B091D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B094E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B093C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B09840.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B094E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B098BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B09840.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B09A94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B098BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B09C78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B09A94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B09DFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B09C78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B09E20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B09DFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B09E84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B09E20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B09EDC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B09E84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B09F7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B09EDC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B0A2A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B09F7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B0A5EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B0A2A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B0A638.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B0A5EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B0A87C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B0A638.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B0A8C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B0A87C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B0AC30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B0A8C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B0ADFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B0AC30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B0B238.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B0ADFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B0B34C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B0B238.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B0B3F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B0B34C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B0B548.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B0B3F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B0B660.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B0B548.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/BossHakugin_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B0B660.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B0C000.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/BossHakugin_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B0C1BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B0C000.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B0C398.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B0C1BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B0C570.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B0C398.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B0C7B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B0C570.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B0CAF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B0C7B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B0CCD8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B0CAF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B0CF24.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B0CCD8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/BossHakugin_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B0CF24.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B0D2B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/BossHakugin_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B0D69C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B0D2B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B0D750.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B0D69C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B0D9CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B0D750.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B0DFA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B0D9CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B0E548.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B0DFA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Boss_Hakugin_0x80B05290/func_80B0E5A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B0E548.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Boss_Hakugin/func_80B0E5A4.s") diff --git a/src/overlays/actors/ovl_Boss_Hakugin/z_boss_hakugin.h b/src/overlays/actors/ovl_Boss_Hakugin/z_boss_hakugin.h index d621466b0d..014481f10e 100644 --- a/src/overlays/actors/ovl_Boss_Hakugin/z_boss_hakugin.h +++ b/src/overlays/actors/ovl_Boss_Hakugin/z_boss_hakugin.h @@ -1,13 +1,17 @@ #ifndef Z_BOSS_HAKUGIN_H #define Z_BOSS_HAKUGIN_H -#include +#include "global.h" struct BossHakugin; +typedef void (*BossHakuginActionFunc)(struct BossHakugin* this, GlobalContext* globalCtx); + typedef struct BossHakugin { /* 0x0000 */ Actor actor; - /* 0x0144 */ char unk_0144[0x36CC]; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ BossHakuginActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x3684]; } BossHakugin; // size = 0x3810 extern const ActorInit Boss_Hakugin_InitVars; diff --git a/src/overlays/actors/ovl_Demo_Effect/z_demo_effect.c b/src/overlays/actors/ovl_Demo_Effect/z_demo_effect.c index 28ff099c0b..53bf05fd26 100644 --- a/src/overlays/actors/ovl_Demo_Effect/z_demo_effect.c +++ b/src/overlays/actors/ovl_Demo_Effect/z_demo_effect.c @@ -8,6 +8,11 @@ void DemoEffect_Init(Actor* thisx, GlobalContext* globalCtx); void DemoEffect_Destroy(Actor* thisx, GlobalContext* globalCtx); void DemoEffect_Update(Actor* thisx, GlobalContext* globalCtx); +void func_808CD940(DemoEffect* this, GlobalContext* globalCtx); +void func_808CDBDC(DemoEffect* this, GlobalContext* globalCtx); +void func_808CDCEC(DemoEffect* this, GlobalContext* globalCtx); +void func_808CDD70(DemoEffect* this, GlobalContext* globalCtx); + #if 0 const ActorInit Demo_Effect_InitVars = { ACTOR_DEMO_EFFECT, @@ -23,28 +28,31 @@ const ActorInit Demo_Effect_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Effect_0x808CD740/DemoEffect_Init.asm") +extern UNK_TYPE D_06000050; +extern UNK_TYPE D_06000060; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Effect_0x808CD740/DemoEffect_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Effect/DemoEffect_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Effect_0x808CD740/func_808CD940.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Effect/DemoEffect_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Effect_0x808CD740/func_808CD998.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Effect/func_808CD940.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Effect_0x808CD740/func_808CDAD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Effect/func_808CD998.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Effect_0x808CD740/func_808CDBDC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Effect/func_808CDAD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Effect_0x808CD740/func_808CDCEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Effect/func_808CDBDC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Effect_0x808CD740/func_808CDD70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Effect/func_808CDCEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Effect_0x808CD740/func_808CDDE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Effect/func_808CDD70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Effect_0x808CD740/DemoEffect_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Effect/func_808CDDE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Effect_0x808CD740/func_808CDE78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Effect/DemoEffect_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Effect_0x808CD740/func_808CDFF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Effect/func_808CDE78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Effect_0x808CD740/func_808CE078.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Effect/func_808CDFF8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Effect/func_808CE078.s") diff --git a/src/overlays/actors/ovl_Demo_Effect/z_demo_effect.h b/src/overlays/actors/ovl_Demo_Effect/z_demo_effect.h index 73287de3da..3fcfc7234c 100644 --- a/src/overlays/actors/ovl_Demo_Effect/z_demo_effect.h +++ b/src/overlays/actors/ovl_Demo_Effect/z_demo_effect.h @@ -1,13 +1,16 @@ #ifndef Z_DEMO_EFFECT_H #define Z_DEMO_EFFECT_H -#include +#include "global.h" struct DemoEffect; +typedef void (*DemoEffectActionFunc)(struct DemoEffect* this, GlobalContext* globalCtx); + typedef struct DemoEffect { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x38]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x34]; + /* 0x0178 */ DemoEffectActionFunc actionFunc; } DemoEffect; // size = 0x17C extern const ActorInit Demo_Effect_InitVars; diff --git a/src/overlays/actors/ovl_Demo_Getitem/z_demo_getitem.c b/src/overlays/actors/ovl_Demo_Getitem/z_demo_getitem.c index 0999c96c2b..0853cc8b6c 100644 --- a/src/overlays/actors/ovl_Demo_Getitem/z_demo_getitem.c +++ b/src/overlays/actors/ovl_Demo_Getitem/z_demo_getitem.c @@ -23,14 +23,14 @@ const ActorInit Demo_Getitem_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Getitem_0x80A4FA40/DemoGetitem_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Getitem/DemoGetitem_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Getitem_0x80A4FA40/DemoGetitem_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Getitem/DemoGetitem_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Getitem_0x80A4FA40/func_80A4FB10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Getitem/func_80A4FB10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Getitem_0x80A4FA40/func_80A4FB68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Getitem/func_80A4FB68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Getitem_0x80A4FA40/DemoGetitem_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Getitem/DemoGetitem_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Getitem_0x80A4FA40/func_80A4FCF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Getitem/func_80A4FCF0.s") diff --git a/src/overlays/actors/ovl_Demo_Getitem/z_demo_getitem.h b/src/overlays/actors/ovl_Demo_Getitem/z_demo_getitem.h index 56b5c9fd73..012bb85be3 100644 --- a/src/overlays/actors/ovl_Demo_Getitem/z_demo_getitem.h +++ b/src/overlays/actors/ovl_Demo_Getitem/z_demo_getitem.h @@ -1,13 +1,16 @@ #ifndef Z_DEMO_GETITEM_H #define Z_DEMO_GETITEM_H -#include +#include "global.h" struct DemoGetitem; +typedef void (*DemoGetitemActionFunc)(struct DemoGetitem* this, GlobalContext* globalCtx); + typedef struct DemoGetitem { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0xC]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x8]; + /* 0x014C */ DemoGetitemActionFunc actionFunc; } DemoGetitem; // size = 0x150 extern const ActorInit Demo_Getitem_InitVars; diff --git a/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo.c b/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo.c index 6799e323c8..61ff3f7a2a 100644 --- a/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo.c +++ b/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo.c @@ -9,6 +9,11 @@ void DemoKankyo_Destroy(Actor* thisx, GlobalContext* globalCtx); void DemoKankyo_Update(Actor* thisx, GlobalContext* globalCtx); void DemoKankyo_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_808CF06C(DemoKankyo* this, GlobalContext* globalCtx); +void func_808CF0CC(DemoKankyo* this, GlobalContext* globalCtx); + +void DemoKankyo_SetupAction(DemoKankyo* this, DemoKankyoActionFunc actionFunc); + #if 0 const ActorInit Demo_Kankyo_InitVars = { ACTOR_DEMO_KANKYO, @@ -24,22 +29,22 @@ const ActorInit Demo_Kankyo_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Kankyo_0x808CE450/func_808CE450.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Kankyo/DemoKankyo_SetupAction.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Kankyo_0x808CE450/func_808CE45C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Kankyo/func_808CE45C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Kankyo_0x808CE450/func_808CF06C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Kankyo/func_808CF06C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Kankyo_0x808CE450/func_808CF0CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Kankyo/func_808CF0CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Kankyo_0x808CE450/DemoKankyo_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Kankyo/DemoKankyo_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Kankyo_0x808CE450/DemoKankyo_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Kankyo/DemoKankyo_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Kankyo_0x808CE450/DemoKankyo_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Kankyo/DemoKankyo_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Kankyo_0x808CE450/func_808CF970.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Kankyo/func_808CF970.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Kankyo_0x808CE450/func_808CFE04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Kankyo/func_808CFE04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Kankyo_0x808CE450/DemoKankyo_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Kankyo/DemoKankyo_Draw.s") diff --git a/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo.h b/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo.h index 417c49d797..4d6c49cdde 100644 --- a/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo.h +++ b/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo.h @@ -1,13 +1,17 @@ #ifndef Z_DEMO_KANKYO_H #define Z_DEMO_KANKYO_H -#include +#include "global.h" struct DemoKankyo; +typedef void (*DemoKankyoActionFunc)(struct DemoKankyo* this, GlobalContext* globalCtx); + typedef struct DemoKankyo { /* 0x0000 */ Actor actor; - /* 0x0144 */ char unk_0144[0x150C]; + /* 0x0144 */ char unk_144[0x1500]; + /* 0x1644 */ DemoKankyoActionFunc actionFunc; + /* 0x1648 */ char unk_1648[0x8]; } DemoKankyo; // size = 0x1650 extern const ActorInit Demo_Kankyo_InitVars; diff --git a/src/overlays/actors/ovl_Demo_Moonend/z_demo_moonend.c b/src/overlays/actors/ovl_Demo_Moonend/z_demo_moonend.c index dd8f38c2f9..50b3409537 100644 --- a/src/overlays/actors/ovl_Demo_Moonend/z_demo_moonend.c +++ b/src/overlays/actors/ovl_Demo_Moonend/z_demo_moonend.c @@ -24,22 +24,26 @@ const ActorInit Demo_Moonend_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Moonend_0x80C17A10/DemoMoonend_Init.asm") +extern UNK_TYPE D_06001214; +extern UNK_TYPE D_0600B540; +extern UNK_TYPE D_060129F0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Moonend_0x80C17A10/DemoMoonend_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Moonend/DemoMoonend_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Moonend_0x80C17A10/func_80C17B50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Moonend/DemoMoonend_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Moonend_0x80C17A10/func_80C17B60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Moonend/func_80C17B50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Moonend_0x80C17A10/func_80C17C48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Moonend/func_80C17B60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Moonend_0x80C17A10/DemoMoonend_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Moonend/func_80C17C48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Moonend_0x80C17A10/func_80C17E70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Moonend/DemoMoonend_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Moonend_0x80C17A10/func_80C17EE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Moonend/func_80C17E70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Moonend_0x80C17A10/DemoMoonend_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Moonend/func_80C17EE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Moonend_0x80C17A10/func_80C17FCC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Moonend/DemoMoonend_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Moonend/func_80C17FCC.s") diff --git a/src/overlays/actors/ovl_Demo_Moonend/z_demo_moonend.h b/src/overlays/actors/ovl_Demo_Moonend/z_demo_moonend.h index 5e63599341..5ad6ff2201 100644 --- a/src/overlays/actors/ovl_Demo_Moonend/z_demo_moonend.h +++ b/src/overlays/actors/ovl_Demo_Moonend/z_demo_moonend.h @@ -1,13 +1,16 @@ #ifndef Z_DEMO_MOONEND_H #define Z_DEMO_MOONEND_H -#include +#include "global.h" struct DemoMoonend; +typedef void (*DemoMoonendActionFunc)(struct DemoMoonend* this, GlobalContext* globalCtx); + typedef struct DemoMoonend { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x1A0]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x19C]; + /* 0x02E0 */ DemoMoonendActionFunc actionFunc; } DemoMoonend; // size = 0x2E4 extern const ActorInit Demo_Moonend_InitVars; diff --git a/src/overlays/actors/ovl_Demo_Shd/z_demo_shd.h b/src/overlays/actors/ovl_Demo_Shd/z_demo_shd.h index 86fadb332b..4e375a2436 100644 --- a/src/overlays/actors/ovl_Demo_Shd/z_demo_shd.h +++ b/src/overlays/actors/ovl_Demo_Shd/z_demo_shd.h @@ -1,7 +1,7 @@ #ifndef Z_DEMO_SHD_H #define Z_DEMO_SHD_H -#include +#include "global.h" struct DemoShd; diff --git a/src/overlays/actors/ovl_Demo_Syoten/z_demo_syoten.c b/src/overlays/actors/ovl_Demo_Syoten/z_demo_syoten.c index ca9066b77d..f4b42e5807 100644 --- a/src/overlays/actors/ovl_Demo_Syoten/z_demo_syoten.c +++ b/src/overlays/actors/ovl_Demo_Syoten/z_demo_syoten.c @@ -24,38 +24,43 @@ const ActorInit Demo_Syoten_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Syoten_0x80C16480/DemoSyoten_Init.asm") +extern UNK_TYPE D_0600023C; +extern UNK_TYPE D_06001298; +extern UNK_TYPE D_060018C0; +extern UNK_TYPE D_06002880; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Syoten_0x80C16480/DemoSyoten_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Syoten/DemoSyoten_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Syoten_0x80C16480/func_80C16760.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Syoten/DemoSyoten_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Syoten_0x80C16480/func_80C16818.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Syoten/func_80C16760.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Syoten_0x80C16480/func_80C168D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Syoten/func_80C16818.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Syoten_0x80C16480/func_80C16974.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Syoten/func_80C168D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Syoten_0x80C16480/func_80C16A64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Syoten/func_80C16974.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Syoten_0x80C16480/func_80C16A74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Syoten/func_80C16A64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Syoten_0x80C16480/func_80C16BD4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Syoten/func_80C16A74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Syoten_0x80C16480/func_80C16DD4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Syoten/func_80C16BD4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Syoten_0x80C16480/func_80C16EAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Syoten/func_80C16DD4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Syoten_0x80C16480/func_80C17008.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Syoten/func_80C16EAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Syoten_0x80C16480/DemoSyoten_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Syoten/func_80C17008.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Syoten_0x80C16480/func_80C170F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Syoten/DemoSyoten_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Syoten_0x80C16480/func_80C173B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Syoten/func_80C170F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Syoten_0x80C16480/func_80C17468.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Syoten/func_80C173B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Syoten_0x80C16480/DemoSyoten_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Syoten/func_80C17468.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Syoten_0x80C16480/func_80C17690.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Syoten/DemoSyoten_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Syoten/func_80C17690.s") diff --git a/src/overlays/actors/ovl_Demo_Syoten/z_demo_syoten.h b/src/overlays/actors/ovl_Demo_Syoten/z_demo_syoten.h index bbb4d58e10..b2f23e7cfe 100644 --- a/src/overlays/actors/ovl_Demo_Syoten/z_demo_syoten.h +++ b/src/overlays/actors/ovl_Demo_Syoten/z_demo_syoten.h @@ -1,13 +1,16 @@ #ifndef Z_DEMO_SYOTEN_H #define Z_DEMO_SYOTEN_H -#include +#include "global.h" struct DemoSyoten; +typedef void (*DemoSyotenActionFunc)(struct DemoSyoten* this, GlobalContext* globalCtx); + typedef struct DemoSyoten { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x2B4]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x2B0]; + /* 0x03F4 */ DemoSyotenActionFunc actionFunc; } DemoSyoten; // size = 0x3F8 extern const ActorInit Demo_Syoten_InitVars; diff --git a/src/overlays/actors/ovl_Demo_Tre_Lgt/z_demo_tre_lgt.c b/src/overlays/actors/ovl_Demo_Tre_Lgt/z_demo_tre_lgt.c index 4e9e95a1d5..32e38897a1 100644 --- a/src/overlays/actors/ovl_Demo_Tre_Lgt/z_demo_tre_lgt.c +++ b/src/overlays/actors/ovl_Demo_Tre_Lgt/z_demo_tre_lgt.c @@ -24,20 +24,22 @@ const ActorInit Demo_Tre_Lgt_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Tre_Lgt_0x808E0E40/DemoTreLgt_Init.asm") +extern UNK_TYPE D_06007D78; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Tre_Lgt_0x808E0E40/DemoTreLgt_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Tre_Lgt/DemoTreLgt_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Tre_Lgt_0x808E0E40/func_808E0EE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Tre_Lgt/DemoTreLgt_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Tre_Lgt_0x808E0E40/func_808E0EF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Tre_Lgt/func_808E0EE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Tre_Lgt_0x808E0E40/func_808E0F4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Tre_Lgt/func_808E0EF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Tre_Lgt_0x808E0E40/func_808E0FE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Tre_Lgt/func_808E0F4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Tre_Lgt_0x808E0E40/DemoTreLgt_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Tre_Lgt/func_808E0FE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Tre_Lgt_0x808E0E40/func_808E12A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Tre_Lgt/DemoTreLgt_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Demo_Tre_Lgt_0x808E0E40/DemoTreLgt_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Tre_Lgt/func_808E12A4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Demo_Tre_Lgt/DemoTreLgt_Draw.s") diff --git a/src/overlays/actors/ovl_Demo_Tre_Lgt/z_demo_tre_lgt.h b/src/overlays/actors/ovl_Demo_Tre_Lgt/z_demo_tre_lgt.h index e2ed5d65be..07e2a9bc8b 100644 --- a/src/overlays/actors/ovl_Demo_Tre_Lgt/z_demo_tre_lgt.h +++ b/src/overlays/actors/ovl_Demo_Tre_Lgt/z_demo_tre_lgt.h @@ -1,7 +1,7 @@ #ifndef Z_DEMO_TRE_LGT_H #define Z_DEMO_TRE_LGT_H -#include +#include "global.h" struct DemoTreLgt; diff --git a/src/overlays/actors/ovl_Dm_Ah/z_dm_ah.c b/src/overlays/actors/ovl_Dm_Ah/z_dm_ah.c index b4e9d9b02c..ed3aae49d4 100644 --- a/src/overlays/actors/ovl_Dm_Ah/z_dm_ah.c +++ b/src/overlays/actors/ovl_Dm_Ah/z_dm_ah.c @@ -9,6 +9,9 @@ void DmAh_Destroy(Actor* thisx, GlobalContext* globalCtx); void DmAh_Update(Actor* thisx, GlobalContext* globalCtx); void DmAh_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80C1D7FC(DmAh* this, GlobalContext* globalCtx); +void func_80C1D92C(DmAh* this, GlobalContext* globalCtx); + #if 0 const ActorInit Dm_Ah_InitVars = { ACTOR_DM_AH, @@ -24,28 +27,30 @@ const ActorInit Dm_Ah_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Ah_0x80C1D410/func_80C1D410.asm") +extern UNK_TYPE D_06009E70; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Ah_0x80C1D410/func_80C1D458.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Ah/func_80C1D410.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Ah_0x80C1D410/func_80C1D4D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Ah/func_80C1D458.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Ah_0x80C1D410/func_80C1D6E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Ah/func_80C1D4D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Ah_0x80C1D410/func_80C1D78C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Ah/func_80C1D6E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Ah_0x80C1D410/func_80C1D7FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Ah/func_80C1D78C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Ah_0x80C1D410/func_80C1D92C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Ah/func_80C1D7FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Ah_0x80C1D410/DmAh_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Ah/func_80C1D92C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Ah_0x80C1D410/DmAh_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Ah/DmAh_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Ah_0x80C1D410/DmAh_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Ah/DmAh_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Ah_0x80C1D410/func_80C1DAD4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Ah/DmAh_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Ah_0x80C1D410/func_80C1DB24.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Ah/func_80C1DAD4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Ah_0x80C1D410/DmAh_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Ah/func_80C1DB24.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Ah/DmAh_Draw.s") diff --git a/src/overlays/actors/ovl_Dm_Ah/z_dm_ah.h b/src/overlays/actors/ovl_Dm_Ah/z_dm_ah.h index e0c5fa0cb1..56552e941c 100644 --- a/src/overlays/actors/ovl_Dm_Ah/z_dm_ah.h +++ b/src/overlays/actors/ovl_Dm_Ah/z_dm_ah.h @@ -1,13 +1,17 @@ #ifndef Z_DM_AH_H #define Z_DM_AH_H -#include +#include "global.h" struct DmAh; +typedef void (*DmAhActionFunc)(struct DmAh* this, GlobalContext* globalCtx); + typedef struct DmAh { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x15C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ DmAhActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x114]; } DmAh; // size = 0x2A0 extern const ActorInit Dm_Ah_InitVars; diff --git a/src/overlays/actors/ovl_Dm_Al/z_dm_al.c b/src/overlays/actors/ovl_Dm_Al/z_dm_al.c index b9c84d9d28..549cf52ca2 100644 --- a/src/overlays/actors/ovl_Dm_Al/z_dm_al.c +++ b/src/overlays/actors/ovl_Dm_Al/z_dm_al.c @@ -9,6 +9,8 @@ void DmAl_Destroy(Actor* thisx, GlobalContext* globalCtx); void DmAl_Update(Actor* thisx, GlobalContext* globalCtx); void DmAl_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80C1BDD8(DmAl* this, GlobalContext* globalCtx); + #if 0 const ActorInit Dm_Al_InitVars = { ACTOR_EN_AL, @@ -24,20 +26,22 @@ const ActorInit Dm_Al_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Al_0x80C1BD90/func_80C1BD90.asm") +extern UNK_TYPE D_0600A0D8; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Al_0x80C1BD90/func_80C1BDD8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Al/func_80C1BD90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Al_0x80C1BD90/DmAl_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Al/func_80C1BDD8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Al_0x80C1BD90/DmAl_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Al/DmAl_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Al_0x80C1BD90/DmAl_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Al/DmAl_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Al_0x80C1BD90/func_80C1C028.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Al/DmAl_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Al_0x80C1BD90/func_80C1C064.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Al/func_80C1C028.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Al_0x80C1BD90/func_80C1C11C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Al/func_80C1C064.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Al_0x80C1BD90/DmAl_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Al/func_80C1C11C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Al/DmAl_Draw.s") diff --git a/src/overlays/actors/ovl_Dm_Al/z_dm_al.h b/src/overlays/actors/ovl_Dm_Al/z_dm_al.h index 6ad8152d5c..47173e0a58 100644 --- a/src/overlays/actors/ovl_Dm_Al/z_dm_al.h +++ b/src/overlays/actors/ovl_Dm_Al/z_dm_al.h @@ -1,13 +1,17 @@ #ifndef Z_DM_AL_H #define Z_DM_AL_H -#include +#include "global.h" struct DmAl; +typedef void (*DmAlActionFunc)(struct DmAl* this, GlobalContext* globalCtx); + typedef struct DmAl { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x31C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ DmAlActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x2D4]; } DmAl; // size = 0x460 extern const ActorInit Dm_Al_InitVars; diff --git a/src/overlays/actors/ovl_Dm_An/z_dm_an.c b/src/overlays/actors/ovl_Dm_An/z_dm_an.c index 65c24155d9..f780f8de32 100644 --- a/src/overlays/actors/ovl_Dm_An/z_dm_an.c +++ b/src/overlays/actors/ovl_Dm_An/z_dm_an.c @@ -8,6 +8,10 @@ void DmAn_Init(Actor* thisx, GlobalContext* globalCtx); void DmAn_Destroy(Actor* thisx, GlobalContext* globalCtx); void DmAn_Update(Actor* thisx, GlobalContext* globalCtx); +void func_80C1C958(DmAn* this, GlobalContext* globalCtx); +void func_80C1CAB0(DmAn* this, GlobalContext* globalCtx); +void func_80C1CC80(DmAn* this, GlobalContext* globalCtx); + #if 0 const ActorInit Dm_An_InitVars = { ACTOR_DM_AN, @@ -23,32 +27,35 @@ const ActorInit Dm_An_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_An_0x80C1C410/func_80C1C410.asm") +extern UNK_TYPE D_06000E70; +extern UNK_TYPE D_06012618; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_An_0x80C1C410/func_80C1C4D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_An/func_80C1C410.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_An_0x80C1C410/func_80C1C5B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_An/func_80C1C4D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_An_0x80C1C410/func_80C1C62C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_An/func_80C1C5B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_An_0x80C1C410/func_80C1C83C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_An/func_80C1C62C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_An_0x80C1C410/func_80C1C8E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_An/func_80C1C83C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_An_0x80C1C410/func_80C1C958.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_An/func_80C1C8E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_An_0x80C1C410/func_80C1CAB0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_An/func_80C1C958.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_An_0x80C1C410/func_80C1CC80.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_An/func_80C1CAB0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_An_0x80C1C410/DmAn_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_An/func_80C1CC80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_An_0x80C1C410/DmAn_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_An/DmAn_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_An_0x80C1C410/DmAn_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_An/DmAn_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_An_0x80C1C410/func_80C1CD80.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_An/DmAn_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_An_0x80C1C410/func_80C1CEFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_An/func_80C1CD80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_An_0x80C1C410/func_80C1D0B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_An/func_80C1CEFC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_An/func_80C1D0B0.s") diff --git a/src/overlays/actors/ovl_Dm_An/z_dm_an.h b/src/overlays/actors/ovl_Dm_An/z_dm_an.h index 21ce93f4dc..4ec6c8bf39 100644 --- a/src/overlays/actors/ovl_Dm_An/z_dm_an.h +++ b/src/overlays/actors/ovl_Dm_An/z_dm_an.h @@ -1,13 +1,17 @@ #ifndef Z_DM_AN_H #define Z_DM_AN_H -#include +#include "global.h" struct DmAn; +typedef void (*DmAnActionFunc)(struct DmAn* this, GlobalContext* globalCtx); + typedef struct DmAn { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x194]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ DmAnActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x14C]; } DmAn; // size = 0x2D8 extern const ActorInit Dm_An_InitVars; diff --git a/src/overlays/actors/ovl_Dm_Bal/z_dm_bal.c b/src/overlays/actors/ovl_Dm_Bal/z_dm_bal.c index 91c1c07d0e..76b41dbc6a 100644 --- a/src/overlays/actors/ovl_Dm_Bal/z_dm_bal.c +++ b/src/overlays/actors/ovl_Dm_Bal/z_dm_bal.c @@ -9,6 +9,8 @@ void DmBal_Destroy(Actor* thisx, GlobalContext* globalCtx); void DmBal_Update(Actor* thisx, GlobalContext* globalCtx); void DmBal_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80C1EAD8(DmBal* this, GlobalContext* globalCtx); + #if 0 const ActorInit Dm_Bal_InitVars = { ACTOR_DM_BAL, @@ -24,26 +26,29 @@ const ActorInit Dm_Bal_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Bal_0x80C1E9E0/DmBal_Init.asm") +extern UNK_TYPE D_060005FC; +extern UNK_TYPE D_06001804; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Bal_0x80C1E9E0/DmBal_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Bal/DmBal_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Bal_0x80C1E9E0/func_80C1EAC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Bal/DmBal_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Bal_0x80C1E9E0/func_80C1EAD8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Bal/func_80C1EAC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Bal_0x80C1E9E0/func_80C1EAE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Bal/func_80C1EAD8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Bal_0x80C1E9E0/func_80C1EC60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Bal/func_80C1EAE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Bal_0x80C1E9E0/func_80C1ED0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Bal/func_80C1EC60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Bal_0x80C1E9E0/func_80C1ED64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Bal/func_80C1ED0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Bal_0x80C1E9E0/DmBal_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Bal/func_80C1ED64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Bal_0x80C1E9E0/func_80C1EF80.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Bal/DmBal_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Bal_0x80C1E9E0/func_80C1F060.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Bal/func_80C1EF80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Bal_0x80C1E9E0/DmBal_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Bal/func_80C1F060.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Bal/DmBal_Draw.s") diff --git a/src/overlays/actors/ovl_Dm_Bal/z_dm_bal.h b/src/overlays/actors/ovl_Dm_Bal/z_dm_bal.h index e7dcc346bd..024e2f969b 100644 --- a/src/overlays/actors/ovl_Dm_Bal/z_dm_bal.h +++ b/src/overlays/actors/ovl_Dm_Bal/z_dm_bal.h @@ -1,13 +1,17 @@ #ifndef Z_DM_BAL_H #define Z_DM_BAL_H -#include +#include "global.h" struct DmBal; +typedef void (*DmBalActionFunc)(struct DmBal* this, GlobalContext* globalCtx); + typedef struct DmBal { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x1F8]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ DmBalActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x1B0]; } DmBal; // size = 0x33C extern const ActorInit Dm_Bal_InitVars; diff --git a/src/overlays/actors/ovl_Dm_Char00/z_dm_char00.c b/src/overlays/actors/ovl_Dm_Char00/z_dm_char00.c index 3127b9fd69..43e140a51a 100644 --- a/src/overlays/actors/ovl_Dm_Char00/z_dm_char00.c +++ b/src/overlays/actors/ovl_Dm_Char00/z_dm_char00.c @@ -24,54 +24,54 @@ const ActorInit Dm_Char00_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char00_0x80AA5580/func_80AA5580.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char00/func_80AA5580.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char00_0x80AA5580/func_80AA561C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char00/func_80AA561C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char00_0x80AA5580/func_80AA5720.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char00/func_80AA5720.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char00_0x80AA5580/func_80AA575C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char00/func_80AA575C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char00_0x80AA5580/func_80AA5890.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char00/func_80AA5890.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char00_0x80AA5580/func_80AA58CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char00/func_80AA58CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char00_0x80AA5580/func_80AA5950.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char00/func_80AA5950.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char00_0x80AA5580/func_80AA5960.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char00/func_80AA5960.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char00_0x80AA5580/func_80AA59E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char00/func_80AA59E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char00_0x80AA5580/func_80AA5A6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char00/func_80AA5A6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char00_0x80AA5580/func_80AA5AF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char00/func_80AA5AF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char00_0x80AA5580/func_80AA5BF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char00/func_80AA5BF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char00_0x80AA5580/func_80AA5CD4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char00/func_80AA5CD4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char00_0x80AA5580/func_80AA5D10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char00/func_80AA5D10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char00_0x80AA5580/func_80AA5D6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char00/func_80AA5D6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char00_0x80AA5580/func_80AA5DC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char00/func_80AA5DC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char00_0x80AA5580/func_80AA5E2C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char00/func_80AA5E2C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char00_0x80AA5580/func_80AA5EBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char00/func_80AA5EBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char00_0x80AA5580/DmChar00_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char00/DmChar00_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char00_0x80AA5580/DmChar00_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char00/DmChar00_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char00_0x80AA5580/func_80AA62FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char00/func_80AA62FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char00_0x80AA5580/func_80AA67F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char00/func_80AA67F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char00_0x80AA5580/func_80AA695C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char00/func_80AA695C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char00_0x80AA5580/DmChar00_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char00/DmChar00_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char00_0x80AA5580/func_80AA6A6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char00/func_80AA6A6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char00_0x80AA5580/DmChar00_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char00/DmChar00_Draw.s") diff --git a/src/overlays/actors/ovl_Dm_Char00/z_dm_char00.h b/src/overlays/actors/ovl_Dm_Char00/z_dm_char00.h index 73ed6387e9..28630a7bd4 100644 --- a/src/overlays/actors/ovl_Dm_Char00/z_dm_char00.h +++ b/src/overlays/actors/ovl_Dm_Char00/z_dm_char00.h @@ -1,13 +1,17 @@ #ifndef Z_DM_CHAR00_H #define Z_DM_CHAR00_H -#include +#include "global.h" struct DmChar00; +typedef void (*DmChar00ActionFunc)(struct DmChar00* this, GlobalContext* globalCtx); + typedef struct DmChar00 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x120]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0xF8]; + /* 0x023C */ DmChar00ActionFunc actionFunc; + /* 0x0240 */ char unk_240[0x24]; } DmChar00; // size = 0x264 extern const ActorInit Dm_Char00_InitVars; diff --git a/src/overlays/actors/ovl_Dm_Char01/z_dm_char01.c b/src/overlays/actors/ovl_Dm_Char01/z_dm_char01.c index ae25d8b969..22f51085b6 100644 --- a/src/overlays/actors/ovl_Dm_Char01/z_dm_char01.c +++ b/src/overlays/actors/ovl_Dm_Char01/z_dm_char01.c @@ -22,42 +22,44 @@ const ActorInit Dm_Char01_InitVars = { (ActorFunc)DmChar01_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80AAAAB0[] = { ICHAIN_F32(uncullZoneScale, 300, ICHAIN_STOP), }; - -extern InitChainEntry D_80AAAAB0[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char01_0x80AA81E0/DmChar01_Init.asm") +extern InitChainEntry D_80AAAAB0[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char01_0x80AA81E0/DmChar01_Destroy.asm") +extern UNK_TYPE D_06009E4C; +extern UNK_TYPE D_0600AA50; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char01_0x80AA81E0/func_80AA8698.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char01/DmChar01_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char01_0x80AA81E0/func_80AA884C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char01/DmChar01_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char01_0x80AA81E0/func_80AA88A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char01/func_80AA8698.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char01_0x80AA81E0/func_80AA892C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char01/func_80AA884C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char01_0x80AA81E0/func_80AA8C28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char01/func_80AA88A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char01_0x80AA81E0/func_80AA8F0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char01/func_80AA892C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char01_0x80AA81E0/func_80AA8F1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char01/func_80AA8C28.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char01_0x80AA81E0/func_80AA8F2C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char01/func_80AA8F0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char01_0x80AA81E0/func_80AA9020.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char01/func_80AA8F1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char01_0x80AA81E0/func_80AA90AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char01/func_80AA8F2C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char01_0x80AA81E0/func_80AA90F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char01/func_80AA9020.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char01_0x80AA81E0/DmChar01_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char01/func_80AA90AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char01_0x80AA81E0/DmChar01_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char01/func_80AA90F4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char01/DmChar01_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char01/DmChar01_Draw.s") diff --git a/src/overlays/actors/ovl_Dm_Char01/z_dm_char01.h b/src/overlays/actors/ovl_Dm_Char01/z_dm_char01.h index 37b36c853b..0e41ea10c4 100644 --- a/src/overlays/actors/ovl_Dm_Char01/z_dm_char01.h +++ b/src/overlays/actors/ovl_Dm_Char01/z_dm_char01.h @@ -1,13 +1,17 @@ #ifndef Z_DM_CHAR01_H #define Z_DM_CHAR01_H -#include +#include "global.h" struct DmChar01; +typedef void (*DmChar01ActionFunc)(struct DmChar01* this, GlobalContext* globalCtx); + typedef struct DmChar01 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x20C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x5C]; + /* 0x01A0 */ DmChar01ActionFunc actionFunc; + /* 0x01A4 */ char unk_1A4[0x1AC]; } DmChar01; // size = 0x350 extern const ActorInit Dm_Char01_InitVars; diff --git a/src/overlays/actors/ovl_Dm_Char02/z_dm_char02.c b/src/overlays/actors/ovl_Dm_Char02/z_dm_char02.c index 11e4353edb..4f379784cd 100644 --- a/src/overlays/actors/ovl_Dm_Char02/z_dm_char02.c +++ b/src/overlays/actors/ovl_Dm_Char02/z_dm_char02.c @@ -9,6 +9,8 @@ void DmChar02_Destroy(Actor* thisx, GlobalContext* globalCtx); void DmChar02_Update(Actor* thisx, GlobalContext* globalCtx); void DmChar02_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80AAB04C(DmChar02* this, GlobalContext* globalCtx); + #if 0 const ActorInit Dm_Char02_InitVars = { ACTOR_DM_CHAR02, @@ -24,24 +26,26 @@ const ActorInit Dm_Char02_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char02_0x80AAAE30/func_80AAAE30.asm") +extern UNK_TYPE D_0600AD68; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char02_0x80AAAE30/func_80AAAECC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char02/func_80AAAE30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char02_0x80AAAE30/func_80AAAF2C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char02/func_80AAAECC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char02_0x80AAAE30/DmChar02_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char02/func_80AAAF2C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char02_0x80AAAE30/DmChar02_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char02/DmChar02_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char02_0x80AAAE30/func_80AAB04C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char02/DmChar02_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char02_0x80AAAE30/DmChar02_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char02/func_80AAB04C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char02_0x80AAAE30/func_80AAB23C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char02/DmChar02_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char02_0x80AAAE30/func_80AAB258.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char02/func_80AAB23C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char02_0x80AAAE30/func_80AAB270.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char02/func_80AAB258.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char02_0x80AAAE30/DmChar02_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char02/func_80AAB270.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char02/DmChar02_Draw.s") diff --git a/src/overlays/actors/ovl_Dm_Char02/z_dm_char02.h b/src/overlays/actors/ovl_Dm_Char02/z_dm_char02.h index 705ff5f6b1..f429c152c5 100644 --- a/src/overlays/actors/ovl_Dm_Char02/z_dm_char02.h +++ b/src/overlays/actors/ovl_Dm_Char02/z_dm_char02.h @@ -1,13 +1,17 @@ #ifndef Z_DM_CHAR02_H #define Z_DM_CHAR02_H -#include +#include "global.h" struct DmChar02; +typedef void (*DmChar02ActionFunc)(struct DmChar02* this, GlobalContext* globalCtx); + typedef struct DmChar02 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x1B0]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x14C]; + /* 0x0290 */ DmChar02ActionFunc actionFunc; + /* 0x0294 */ char unk_294[0x60]; } DmChar02; // size = 0x2F4 extern const ActorInit Dm_Char02_InitVars; diff --git a/src/overlays/actors/ovl_Dm_Char03/z_dm_char03.c b/src/overlays/actors/ovl_Dm_Char03/z_dm_char03.c index 3c8bd3aa8c..5baff6c4ae 100644 --- a/src/overlays/actors/ovl_Dm_Char03/z_dm_char03.c +++ b/src/overlays/actors/ovl_Dm_Char03/z_dm_char03.c @@ -9,6 +9,10 @@ void DmChar03_Destroy(Actor* thisx, GlobalContext* globalCtx); void DmChar03_Update(Actor* thisx, GlobalContext* globalCtx); void DmChar03_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80AAB5F8(DmChar03* this, GlobalContext* globalCtx); +void func_80AAB644(DmChar03* this, GlobalContext* globalCtx); +void func_80AAB700(DmChar03* this, GlobalContext* globalCtx); + #if 0 const ActorInit Dm_Char03_InitVars = { ACTOR_DM_CHAR03, @@ -24,30 +28,32 @@ const ActorInit Dm_Char03_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char03_0x80AAB4A0/func_80AAB4A0.asm") +extern UNK_TYPE D_06020550; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char03_0x80AAB4A0/DmChar03_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char03/func_80AAB4A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char03_0x80AAB4A0/DmChar03_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char03/DmChar03_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char03_0x80AAB4A0/func_80AAB5F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char03/DmChar03_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char03_0x80AAB4A0/func_80AAB644.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char03/func_80AAB5F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char03_0x80AAB4A0/func_80AAB700.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char03/func_80AAB644.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char03_0x80AAB4A0/func_80AAB710.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char03/func_80AAB700.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char03_0x80AAB4A0/func_80AAB838.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char03/func_80AAB710.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char03_0x80AAB4A0/DmChar03_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char03/func_80AAB838.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char03_0x80AAB4A0/func_80AAB974.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char03/DmChar03_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char03_0x80AAB4A0/func_80AAB990.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char03/func_80AAB974.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char03_0x80AAB4A0/func_80AAB9A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char03/func_80AAB990.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char03_0x80AAB4A0/DmChar03_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char03/func_80AAB9A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char03_0x80AAB4A0/func_80AABA84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char03/DmChar03_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char03/func_80AABA84.s") diff --git a/src/overlays/actors/ovl_Dm_Char03/z_dm_char03.h b/src/overlays/actors/ovl_Dm_Char03/z_dm_char03.h index 60cc694db4..b5aeee10d1 100644 --- a/src/overlays/actors/ovl_Dm_Char03/z_dm_char03.h +++ b/src/overlays/actors/ovl_Dm_Char03/z_dm_char03.h @@ -1,13 +1,17 @@ #ifndef Z_DM_CHAR03_H #define Z_DM_CHAR03_H -#include +#include "global.h" struct DmChar03; +typedef void (*DmChar03ActionFunc)(struct DmChar03* this, GlobalContext* globalCtx); + typedef struct DmChar03 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x58]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ DmChar03ActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x10]; } DmChar03; // size = 0x19C extern const ActorInit Dm_Char03_InitVars; diff --git a/src/overlays/actors/ovl_Dm_Char04/z_dm_char04.c b/src/overlays/actors/ovl_Dm_Char04/z_dm_char04.c index b05caa4452..698eba116a 100644 --- a/src/overlays/actors/ovl_Dm_Char04/z_dm_char04.c +++ b/src/overlays/actors/ovl_Dm_Char04/z_dm_char04.c @@ -24,16 +24,16 @@ const ActorInit Dm_Char04_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char04_0x80AABC40/func_80AABC40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char04/func_80AABC40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char04_0x80AABC40/DmChar04_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char04/DmChar04_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char04_0x80AABC40/DmChar04_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char04/DmChar04_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char04_0x80AABC40/func_80AABE34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char04/func_80AABE34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char04_0x80AABC40/DmChar04_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char04/DmChar04_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char04_0x80AABC40/func_80AABF74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char04/func_80AABF74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char04_0x80AABC40/DmChar04_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char04/DmChar04_Draw.s") diff --git a/src/overlays/actors/ovl_Dm_Char04/z_dm_char04.h b/src/overlays/actors/ovl_Dm_Char04/z_dm_char04.h index d21793ce55..6b86606204 100644 --- a/src/overlays/actors/ovl_Dm_Char04/z_dm_char04.h +++ b/src/overlays/actors/ovl_Dm_Char04/z_dm_char04.h @@ -1,13 +1,17 @@ #ifndef Z_DM_CHAR04_H #define Z_DM_CHAR04_H -#include +#include "global.h" struct DmChar04; +typedef void (*DmChar04ActionFunc)(struct DmChar04* this, GlobalContext* globalCtx); + typedef struct DmChar04 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x120]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0xF8]; + /* 0x023C */ DmChar04ActionFunc actionFunc; + /* 0x0240 */ char unk_240[0x24]; } DmChar04; // size = 0x264 extern const ActorInit Dm_Char04_InitVars; diff --git a/src/overlays/actors/ovl_Dm_Char05/z_dm_char05.c b/src/overlays/actors/ovl_Dm_Char05/z_dm_char05.c index d0e93375bd..67d59b3cfe 100644 --- a/src/overlays/actors/ovl_Dm_Char05/z_dm_char05.c +++ b/src/overlays/actors/ovl_Dm_Char05/z_dm_char05.c @@ -9,6 +9,20 @@ void DmChar05_Destroy(Actor* thisx, GlobalContext* globalCtx); void DmChar05_Update(Actor* thisx, GlobalContext* globalCtx); void DmChar05_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80AAC990(DmChar05* this, GlobalContext* globalCtx); +void func_80AAC9DC(DmChar05* this, GlobalContext* globalCtx); +void func_80AACA98(DmChar05* this, GlobalContext* globalCtx); +void func_80AACAE4(DmChar05* this, GlobalContext* globalCtx); +void func_80AACBE4(DmChar05* this, GlobalContext* globalCtx); +void func_80AACC48(DmChar05* this, GlobalContext* globalCtx); +void func_80AACC6C(DmChar05* this, GlobalContext* globalCtx); +void func_80AACCD4(DmChar05* this, GlobalContext* globalCtx); +void func_80AACD0C(DmChar05* this, GlobalContext* globalCtx); +void func_80AACD1C(DmChar05* this, GlobalContext* globalCtx); +void func_80AACD68(DmChar05* this, GlobalContext* globalCtx); +void func_80AACE10(DmChar05* this, GlobalContext* globalCtx); +void func_80AACE5C(DmChar05* this, GlobalContext* globalCtx); + #if 0 const ActorInit Dm_Char05_InitVars = { ACTOR_DM_CHAR05, @@ -24,78 +38,84 @@ const ActorInit Dm_Char05_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char05_0x80AAC5A0/func_80AAC5A0.asm") +extern UNK_TYPE D_060001D0; +extern UNK_TYPE D_060010B0; +extern UNK_TYPE D_060013D0; +extern UNK_TYPE D_06001E70; +extern UNK_TYPE D_060042B0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char05_0x80AAC5A0/func_80AAC63C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char05/func_80AAC5A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char05_0x80AAC5A0/func_80AAC6E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char05/func_80AAC63C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char05_0x80AAC5A0/func_80AAC770.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char05/func_80AAC6E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char05_0x80AAC5A0/func_80AAC7FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char05/func_80AAC770.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char05_0x80AAC5A0/func_80AAC888.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char05/func_80AAC7FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char05_0x80AAC5A0/DmChar05_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char05/func_80AAC888.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char05_0x80AAC5A0/DmChar05_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char05/DmChar05_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char05_0x80AAC5A0/func_80AAC990.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char05/DmChar05_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char05_0x80AAC5A0/func_80AAC9DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char05/func_80AAC990.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char05_0x80AAC5A0/func_80AACA98.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char05/func_80AAC9DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char05_0x80AAC5A0/func_80AACAE4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char05/func_80AACA98.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char05_0x80AAC5A0/func_80AACBE4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char05/func_80AACAE4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char05_0x80AAC5A0/func_80AACC48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char05/func_80AACBE4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char05_0x80AAC5A0/func_80AACC6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char05/func_80AACC48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char05_0x80AAC5A0/func_80AACCD4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char05/func_80AACC6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char05_0x80AAC5A0/func_80AACD0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char05/func_80AACCD4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char05_0x80AAC5A0/func_80AACD1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char05/func_80AACD0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char05_0x80AAC5A0/func_80AACD68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char05/func_80AACD1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char05_0x80AAC5A0/func_80AACE10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char05/func_80AACD68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char05_0x80AAC5A0/func_80AACE5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char05/func_80AACE10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char05_0x80AAC5A0/func_80AACF04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char05/func_80AACE5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char05_0x80AAC5A0/func_80AAD3F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char05/func_80AACF04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char05_0x80AAC5A0/func_80AAD450.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char05/func_80AAD3F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char05_0x80AAC5A0/func_80AAD4A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char05/func_80AAD450.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char05_0x80AAC5A0/DmChar05_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char05/func_80AAD4A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char05_0x80AAC5A0/func_80AAD964.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char05/DmChar05_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char05_0x80AAC5A0/func_80AAD980.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char05/func_80AAD964.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char05_0x80AAC5A0/func_80AAD998.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char05/func_80AAD980.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char05_0x80AAC5A0/func_80AADA90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char05/func_80AAD998.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char05_0x80AAC5A0/func_80AADB4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char05/func_80AADA90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char05_0x80AAC5A0/func_80AADC00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char05/func_80AADB4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char05_0x80AAC5A0/DmChar05_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char05/func_80AADC00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char05_0x80AAC5A0/func_80AADD9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char05/DmChar05_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char05_0x80AAC5A0/func_80AADE78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char05/func_80AADD9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char05_0x80AAC5A0/func_80AADF54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char05/func_80AADE78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char05_0x80AAC5A0/func_80AAE030.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char05/func_80AADF54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char05_0x80AAC5A0/func_80AAE114.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char05/func_80AAE030.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char05/func_80AAE114.s") diff --git a/src/overlays/actors/ovl_Dm_Char05/z_dm_char05.h b/src/overlays/actors/ovl_Dm_Char05/z_dm_char05.h index 7edbfc73c5..a4a9f2c372 100644 --- a/src/overlays/actors/ovl_Dm_Char05/z_dm_char05.h +++ b/src/overlays/actors/ovl_Dm_Char05/z_dm_char05.h @@ -1,13 +1,17 @@ #ifndef Z_DM_CHAR05_H #define Z_DM_CHAR05_H -#include +#include "global.h" struct DmChar05; +typedef void (*DmChar05ActionFunc)(struct DmChar05* this, GlobalContext* globalCtx); + typedef struct DmChar05 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x74]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ DmChar05ActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x2C]; } DmChar05; // size = 0x1B8 extern const ActorInit Dm_Char05_InitVars; diff --git a/src/overlays/actors/ovl_Dm_Char06/z_dm_char06.c b/src/overlays/actors/ovl_Dm_Char06/z_dm_char06.c index 7adacccc3b..e23886630f 100644 --- a/src/overlays/actors/ovl_Dm_Char06/z_dm_char06.c +++ b/src/overlays/actors/ovl_Dm_Char06/z_dm_char06.c @@ -9,6 +9,10 @@ void DmChar06_Destroy(Actor* thisx, GlobalContext* globalCtx); void DmChar06_Update(Actor* thisx, GlobalContext* globalCtx); void DmChar06_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80AAE6F0(DmChar06* this, GlobalContext* globalCtx); + +void DmChar06_SetupAction(DmChar06* this, DmChar06ActionFunc actionFunc); + #if 0 const ActorInit Dm_Char06_InitVars = { ACTOR_DM_CHAR06, @@ -24,14 +28,16 @@ const ActorInit Dm_Char06_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char06_0x80AAE680/func_80AAE680.asm") +extern UNK_TYPE D_06006868; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char06_0x80AAE680/DmChar06_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char06/DmChar06_SetupAction.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char06_0x80AAE680/DmChar06_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char06/DmChar06_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char06_0x80AAE680/func_80AAE6F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char06/DmChar06_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char06_0x80AAE680/DmChar06_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char06/func_80AAE6F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char06_0x80AAE680/DmChar06_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char06/DmChar06_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char06/DmChar06_Draw.s") diff --git a/src/overlays/actors/ovl_Dm_Char06/z_dm_char06.h b/src/overlays/actors/ovl_Dm_Char06/z_dm_char06.h index b72a5bae29..c558d7ddc3 100644 --- a/src/overlays/actors/ovl_Dm_Char06/z_dm_char06.h +++ b/src/overlays/actors/ovl_Dm_Char06/z_dm_char06.h @@ -1,13 +1,17 @@ #ifndef Z_DM_CHAR06_H #define Z_DM_CHAR06_H -#include +#include "global.h" struct DmChar06; +typedef void (*DmChar06ActionFunc)(struct DmChar06* this, GlobalContext* globalCtx); + typedef struct DmChar06 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x160]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x14C]; + /* 0x0290 */ DmChar06ActionFunc actionFunc; + /* 0x0294 */ char unk_294[0x10]; } DmChar06; // size = 0x2A4 extern const ActorInit Dm_Char06_InitVars; diff --git a/src/overlays/actors/ovl_Dm_Char07/z_dm_char07.h b/src/overlays/actors/ovl_Dm_Char07/z_dm_char07.h index 5586f047ef..2a151012bc 100644 --- a/src/overlays/actors/ovl_Dm_Char07/z_dm_char07.h +++ b/src/overlays/actors/ovl_Dm_Char07/z_dm_char07.h @@ -1,7 +1,7 @@ #ifndef Z_DM_CHAR07_H #define Z_DM_CHAR07_H -#include +#include "global.h" struct DmChar07; diff --git a/src/overlays/actors/ovl_Dm_Char08/z_dm_char08.c b/src/overlays/actors/ovl_Dm_Char08/z_dm_char08.c index 018baba9e0..ed83d46f31 100644 --- a/src/overlays/actors/ovl_Dm_Char08/z_dm_char08.c +++ b/src/overlays/actors/ovl_Dm_Char08/z_dm_char08.c @@ -22,7 +22,6 @@ const ActorInit Dm_Char08_InitVars = { (ActorFunc)DmChar08_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80AB1764[] = { ICHAIN_F32(uncullZoneForward, 4000, ICHAIN_CONTINUE), @@ -30,60 +29,64 @@ static InitChainEntry D_80AB1764[] = { ICHAIN_F32(uncullZoneDownward, 4000, ICHAIN_STOP), }; - -extern InitChainEntry D_80AB1764[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char08_0x80AAF050/func_80AAF050.asm") +extern InitChainEntry D_80AB1764[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char08_0x80AAF050/func_80AAF15C.asm") +extern UNK_TYPE D_06002470; +extern UNK_TYPE D_06004E70; +extern UNK_TYPE D_0600E748; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char08_0x80AAF050/DmChar08_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char08/func_80AAF050.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char08_0x80AAF050/DmChar08_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char08/func_80AAF15C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char08_0x80AAF050/func_80AAF610.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char08/DmChar08_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char08_0x80AAF050/func_80AAF79C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char08/DmChar08_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char08_0x80AAF050/func_80AAF884.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char08/func_80AAF610.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char08_0x80AAF050/func_80AAF8F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char08/func_80AAF79C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char08_0x80AAF050/func_80AAFA18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char08/func_80AAF884.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char08_0x80AAF050/func_80AAFAC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char08/func_80AAF8F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char08_0x80AAF050/func_80AAFAE4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char08/func_80AAFA18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char08_0x80AAF050/func_80AAFB04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char08/func_80AAFAC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char08_0x80AAF050/func_80AAFB94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char08/func_80AAFAE4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char08_0x80AAF050/func_80AAFBA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char08/func_80AAFB04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char08_0x80AAF050/func_80AAFCCC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char08/func_80AAFB94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char08_0x80AAF050/func_80AAFE78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char08/func_80AAFBA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char08_0x80AAF050/func_80AAFE88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char08/func_80AAFCCC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char08_0x80AAF050/func_80AB01E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char08/func_80AAFE78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char08_0x80AAF050/func_80AB023C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char08/func_80AAFE88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char08_0x80AAF050/func_80AB032C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char08/func_80AB01E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char08_0x80AAF050/func_80AB096C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char08/func_80AB023C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char08_0x80AAF050/func_80AB0A10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char08/func_80AB032C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char08_0x80AAF050/DmChar08_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char08/func_80AB096C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char08_0x80AAF050/func_80AB0E3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char08/func_80AB0A10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char08_0x80AAF050/func_80AB0E7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char08/DmChar08_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char08_0x80AAF050/func_80AB0F90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char08/func_80AB0E3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char08_0x80AAF050/DmChar08_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char08/func_80AB0E7C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char08/func_80AB0F90.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char08/DmChar08_Draw.s") diff --git a/src/overlays/actors/ovl_Dm_Char08/z_dm_char08.h b/src/overlays/actors/ovl_Dm_Char08/z_dm_char08.h index 45e727ec62..a5eae17f4c 100644 --- a/src/overlays/actors/ovl_Dm_Char08/z_dm_char08.h +++ b/src/overlays/actors/ovl_Dm_Char08/z_dm_char08.h @@ -1,13 +1,17 @@ #ifndef Z_DM_CHAR08_H #define Z_DM_CHAR08_H -#include +#include "global.h" struct DmChar08; +typedef void (*DmChar08ActionFunc)(struct DmChar08* this, GlobalContext* globalCtx); + typedef struct DmChar08 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0xC8]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x5C]; + /* 0x01A0 */ DmChar08ActionFunc actionFunc; + /* 0x01A4 */ char unk_1A4[0x68]; } DmChar08; // size = 0x20C extern const ActorInit Dm_Char08_InitVars; diff --git a/src/overlays/actors/ovl_Dm_Char09/z_dm_char09.c b/src/overlays/actors/ovl_Dm_Char09/z_dm_char09.c index dd722b090c..ef98424c3e 100644 --- a/src/overlays/actors/ovl_Dm_Char09/z_dm_char09.c +++ b/src/overlays/actors/ovl_Dm_Char09/z_dm_char09.c @@ -9,6 +9,10 @@ void DmChar09_Destroy(Actor* thisx, GlobalContext* globalCtx); void DmChar09_Update(Actor* thisx, GlobalContext* globalCtx); void DmChar09_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80AB1FDC(DmChar09* this, GlobalContext* globalCtx); +void func_80AB2258(DmChar09* this, GlobalContext* globalCtx); +void func_80AB2268(DmChar09* this, GlobalContext* globalCtx); + #if 0 const ActorInit Dm_Char09_InitVars = { ACTOR_DM_CHAR09, @@ -24,24 +28,26 @@ const ActorInit Dm_Char09_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char09_0x80AB1E10/func_80AB1E10.asm") +extern UNK_TYPE D_0600005C; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char09_0x80AB1E10/DmChar09_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char09/func_80AB1E10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char09_0x80AB1E10/DmChar09_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char09/DmChar09_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char09_0x80AB1E10/func_80AB1FA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char09/DmChar09_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char09_0x80AB1E10/func_80AB1FDC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char09/func_80AB1FA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char09_0x80AB1E10/func_80AB2258.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char09/func_80AB1FDC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char09_0x80AB1E10/func_80AB2268.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char09/func_80AB2258.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char09_0x80AB1E10/func_80AB24BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char09/func_80AB2268.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char09_0x80AB1E10/DmChar09_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char09/func_80AB24BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char09_0x80AB1E10/func_80AB25D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char09/DmChar09_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Char09_0x80AB1E10/DmChar09_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char09/func_80AB25D8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Char09/DmChar09_Draw.s") diff --git a/src/overlays/actors/ovl_Dm_Char09/z_dm_char09.h b/src/overlays/actors/ovl_Dm_Char09/z_dm_char09.h index 6332e73977..a8ec8b90c6 100644 --- a/src/overlays/actors/ovl_Dm_Char09/z_dm_char09.h +++ b/src/overlays/actors/ovl_Dm_Char09/z_dm_char09.h @@ -1,13 +1,17 @@ #ifndef Z_DM_CHAR09_H #define Z_DM_CHAR09_H -#include +#include "global.h" struct DmChar09; +typedef void (*DmChar09ActionFunc)(struct DmChar09* this, GlobalContext* globalCtx); + typedef struct DmChar09 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0xEC]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0xBC]; + /* 0x0200 */ DmChar09ActionFunc actionFunc; + /* 0x0204 */ char unk_204[0x2C]; } DmChar09; // size = 0x230 extern const ActorInit Dm_Char09_InitVars; diff --git a/src/overlays/actors/ovl_Dm_Gm/z_dm_gm.c b/src/overlays/actors/ovl_Dm_Gm/z_dm_gm.c index c9f193141b..4f1440dd5d 100644 --- a/src/overlays/actors/ovl_Dm_Gm/z_dm_gm.c +++ b/src/overlays/actors/ovl_Dm_Gm/z_dm_gm.c @@ -8,6 +8,10 @@ void DmGm_Init(Actor* thisx, GlobalContext* globalCtx); void DmGm_Destroy(Actor* thisx, GlobalContext* globalCtx); void DmGm_Update(Actor* thisx, GlobalContext* globalCtx); +void func_80C248A8(DmGm* this, GlobalContext* globalCtx); +void func_80C24A00(DmGm* this, GlobalContext* globalCtx); +void func_80C24BD0(DmGm* this, GlobalContext* globalCtx); + #if 0 const ActorInit Dm_Gm_InitVars = { ACTOR_DM_GM, @@ -23,32 +27,35 @@ const ActorInit Dm_Gm_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Gm_0x80C24360/func_80C24360.asm") +extern UNK_TYPE D_06000E70; +extern UNK_TYPE D_06012618; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Gm_0x80C24360/func_80C24428.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Gm/func_80C24360.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Gm_0x80C24360/func_80C24504.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Gm/func_80C24428.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Gm_0x80C24360/func_80C2457C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Gm/func_80C24504.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Gm_0x80C24360/func_80C2478C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Gm/func_80C2457C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Gm_0x80C24360/func_80C24838.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Gm/func_80C2478C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Gm_0x80C24360/func_80C248A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Gm/func_80C24838.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Gm_0x80C24360/func_80C24A00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Gm/func_80C248A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Gm_0x80C24360/func_80C24BD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Gm/func_80C24A00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Gm_0x80C24360/DmGm_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Gm/func_80C24BD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Gm_0x80C24360/DmGm_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Gm/DmGm_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Gm_0x80C24360/DmGm_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Gm/DmGm_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Gm_0x80C24360/func_80C24CD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Gm/DmGm_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Gm_0x80C24360/func_80C24E4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Gm/func_80C24CD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Gm_0x80C24360/func_80C25000.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Gm/func_80C24E4C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Gm/func_80C25000.s") diff --git a/src/overlays/actors/ovl_Dm_Gm/z_dm_gm.h b/src/overlays/actors/ovl_Dm_Gm/z_dm_gm.h index 6ef88ca618..514faf61ee 100644 --- a/src/overlays/actors/ovl_Dm_Gm/z_dm_gm.h +++ b/src/overlays/actors/ovl_Dm_Gm/z_dm_gm.h @@ -1,13 +1,17 @@ #ifndef Z_DM_GM_H #define Z_DM_GM_H -#include +#include "global.h" struct DmGm; +typedef void (*DmGmActionFunc)(struct DmGm* this, GlobalContext* globalCtx); + typedef struct DmGm { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x194]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ DmGmActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x14C]; } DmGm; // size = 0x2D8 extern const ActorInit Dm_Gm_InitVars; diff --git a/src/overlays/actors/ovl_Dm_Hina/z_dm_hina.c b/src/overlays/actors/ovl_Dm_Hina/z_dm_hina.c index 003edea59e..0bec5d0230 100644 --- a/src/overlays/actors/ovl_Dm_Hina/z_dm_hina.c +++ b/src/overlays/actors/ovl_Dm_Hina/z_dm_hina.c @@ -9,6 +9,11 @@ void DmHina_Destroy(Actor* thisx, GlobalContext* globalCtx); void DmHina_Update(Actor* thisx, GlobalContext* globalCtx); void DmHina_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80A1F470(DmHina* this, GlobalContext* globalCtx); +void func_80A1F56C(DmHina* this, GlobalContext* globalCtx); +void func_80A1F5AC(DmHina* this, GlobalContext* globalCtx); +void func_80A1F63C(DmHina* this, GlobalContext* globalCtx); + #if 0 const ActorInit Dm_Hina_InitVars = { ACTOR_DM_HINA, @@ -24,22 +29,22 @@ const ActorInit Dm_Hina_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Hina_0x80A1F410/DmHina_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Hina/DmHina_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Hina_0x80A1F410/DmHina_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Hina/DmHina_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Hina_0x80A1F410/func_80A1F470.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Hina/func_80A1F470.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Hina_0x80A1F410/func_80A1F56C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Hina/func_80A1F56C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Hina_0x80A1F410/func_80A1F5AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Hina/func_80A1F5AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Hina_0x80A1F410/func_80A1F63C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Hina/func_80A1F63C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Hina_0x80A1F410/func_80A1F75C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Hina/func_80A1F75C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Hina_0x80A1F410/DmHina_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Hina/DmHina_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Hina_0x80A1F410/func_80A1F9AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Hina/func_80A1F9AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Hina_0x80A1F410/DmHina_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Hina/DmHina_Draw.s") diff --git a/src/overlays/actors/ovl_Dm_Hina/z_dm_hina.h b/src/overlays/actors/ovl_Dm_Hina/z_dm_hina.h index 6e73b57356..76b4f87d75 100644 --- a/src/overlays/actors/ovl_Dm_Hina/z_dm_hina.h +++ b/src/overlays/actors/ovl_Dm_Hina/z_dm_hina.h @@ -1,13 +1,16 @@ #ifndef Z_DM_HINA_H #define Z_DM_HINA_H -#include +#include "global.h" struct DmHina; +typedef void (*DmHinaActionFunc)(struct DmHina* this, GlobalContext* globalCtx); + typedef struct DmHina { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x40]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ DmHinaActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x3C]; } DmHina; // size = 0x184 extern const ActorInit Dm_Hina_InitVars; diff --git a/src/overlays/actors/ovl_Dm_Nb/z_dm_nb.c b/src/overlays/actors/ovl_Dm_Nb/z_dm_nb.c index 4813479c4b..2b7492754c 100644 --- a/src/overlays/actors/ovl_Dm_Nb/z_dm_nb.c +++ b/src/overlays/actors/ovl_Dm_Nb/z_dm_nb.c @@ -28,7 +28,6 @@ const ActorInit Dm_Nb_InitVars = { }; extern AnimationHeader D_06000990; - extern FlexSkeletonHeader D_06008C40; static ActorAnimationEntryS D_80C1E200[] = { &D_06000990, 1.0f, 0, -1, 0, 0 }; diff --git a/src/overlays/actors/ovl_Dm_Nb/z_dm_nb.h b/src/overlays/actors/ovl_Dm_Nb/z_dm_nb.h index 71080324db..f31d0c3dea 100644 --- a/src/overlays/actors/ovl_Dm_Nb/z_dm_nb.h +++ b/src/overlays/actors/ovl_Dm_Nb/z_dm_nb.h @@ -1,7 +1,7 @@ #ifndef Z_DM_NB_H #define Z_DM_NB_H -#include +#include "global.h" struct DmNb; diff --git a/src/overlays/actors/ovl_Dm_Opstage/z_dm_opstage.c b/src/overlays/actors/ovl_Dm_Opstage/z_dm_opstage.c index 10609313c0..531c293ce5 100644 --- a/src/overlays/actors/ovl_Dm_Opstage/z_dm_opstage.c +++ b/src/overlays/actors/ovl_Dm_Opstage/z_dm_opstage.c @@ -9,6 +9,10 @@ void DmOpstage_Destroy(Actor* thisx, GlobalContext* globalCtx); void DmOpstage_Update(Actor* thisx, GlobalContext* globalCtx); void DmOpstage_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80A9FA58(DmOpstage* this, GlobalContext* globalCtx); + +void DmOpstage_SetupAction(DmOpstage* this, DmOpstageActionFunc actionFunc); + #if 0 const ActorInit Dm_Opstage_InitVars = { ACTOR_DM_OPSTAGE, @@ -22,24 +26,26 @@ const ActorInit Dm_Opstage_InitVars = { (ActorFunc)DmOpstage_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80A9FD30[] = { ICHAIN_F32(uncullZoneScale, 300, ICHAIN_STOP), }; - -extern InitChainEntry D_80A9FD30[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Opstage_0x80A9F950/func_80A9F950.asm") +extern InitChainEntry D_80A9FD30[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Opstage_0x80A9F950/DmOpstage_Init.asm") +extern UNK_TYPE D_06000978; +extern UNK_TYPE D_06001C98; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Opstage_0x80A9F950/DmOpstage_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Opstage/DmOpstage_SetupAction.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Opstage_0x80A9F950/func_80A9FA58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Opstage/DmOpstage_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Opstage_0x80A9F950/DmOpstage_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Opstage/DmOpstage_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Opstage_0x80A9F950/DmOpstage_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Opstage/func_80A9FA58.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Opstage/DmOpstage_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Opstage/DmOpstage_Draw.s") diff --git a/src/overlays/actors/ovl_Dm_Opstage/z_dm_opstage.h b/src/overlays/actors/ovl_Dm_Opstage/z_dm_opstage.h index 27aed840f5..134c79692f 100644 --- a/src/overlays/actors/ovl_Dm_Opstage/z_dm_opstage.h +++ b/src/overlays/actors/ovl_Dm_Opstage/z_dm_opstage.h @@ -1,13 +1,17 @@ #ifndef Z_DM_OPSTAGE_H #define Z_DM_OPSTAGE_H -#include +#include "global.h" struct DmOpstage; +typedef void (*DmOpstageActionFunc)(struct DmOpstage* this, GlobalContext* globalCtx); + typedef struct DmOpstage { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x6C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x5C]; + /* 0x01A0 */ DmOpstageActionFunc actionFunc; + /* 0x01A4 */ char unk_1A4[0xC]; } DmOpstage; // size = 0x1B0 extern const ActorInit Dm_Opstage_InitVars; diff --git a/src/overlays/actors/ovl_Dm_Ravine/z_dm_ravine.h b/src/overlays/actors/ovl_Dm_Ravine/z_dm_ravine.h index e3ab85aa23..87e77f1593 100644 --- a/src/overlays/actors/ovl_Dm_Ravine/z_dm_ravine.h +++ b/src/overlays/actors/ovl_Dm_Ravine/z_dm_ravine.h @@ -1,7 +1,7 @@ #ifndef Z_DM_RAVINE_H #define Z_DM_RAVINE_H -#include +#include "global.h" struct DmRavine; diff --git a/src/overlays/actors/ovl_Dm_Sa/z_dm_sa.h b/src/overlays/actors/ovl_Dm_Sa/z_dm_sa.h index 2b543deb68..e8b3f502f0 100644 --- a/src/overlays/actors/ovl_Dm_Sa/z_dm_sa.h +++ b/src/overlays/actors/ovl_Dm_Sa/z_dm_sa.h @@ -1,7 +1,7 @@ #ifndef Z_DM_SA_H #define Z_DM_SA_H -#include +#include "global.h" struct DmSa; diff --git a/src/overlays/actors/ovl_Dm_Statue/z_dm_statue.h b/src/overlays/actors/ovl_Dm_Statue/z_dm_statue.h index 82df0b8566..1ad123523b 100644 --- a/src/overlays/actors/ovl_Dm_Statue/z_dm_statue.h +++ b/src/overlays/actors/ovl_Dm_Statue/z_dm_statue.h @@ -1,7 +1,7 @@ #ifndef Z_DM_STATUE_H #define Z_DM_STATUE_H -#include +#include "global.h" struct DmStatue; diff --git a/src/overlays/actors/ovl_Dm_Stk/z_dm_stk.c b/src/overlays/actors/ovl_Dm_Stk/z_dm_stk.c index fe43468e63..efeb8a82cf 100644 --- a/src/overlays/actors/ovl_Dm_Stk/z_dm_stk.c +++ b/src/overlays/actors/ovl_Dm_Stk/z_dm_stk.c @@ -9,6 +9,21 @@ void DmStk_Destroy(Actor* thisx, GlobalContext* globalCtx); void DmStk_Update(Actor* thisx, GlobalContext* globalCtx); void DmStk_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80AA16F4(DmStk* this, GlobalContext* globalCtx); +void func_80AA1704(DmStk* this, GlobalContext* globalCtx); +void func_80AA1714(DmStk* this, GlobalContext* globalCtx); +void func_80AA17F8(DmStk* this, GlobalContext* globalCtx); +void func_80AA18D8(DmStk* this, GlobalContext* globalCtx); +void func_80AA192C(DmStk* this, GlobalContext* globalCtx); +void func_80AA1998(DmStk* this, GlobalContext* globalCtx); +void func_80AA19EC(DmStk* this, GlobalContext* globalCtx); +void func_80AA1A50(DmStk* this, GlobalContext* globalCtx); +void func_80AA1AC8(DmStk* this, GlobalContext* globalCtx); +void func_80AA1B9C(DmStk* this, GlobalContext* globalCtx); +void func_80AA1C64(DmStk* this, GlobalContext* globalCtx); +void func_80AA2720(DmStk* this, GlobalContext* globalCtx); +void func_80AA27EC(DmStk* this, GlobalContext* globalCtx); + #if 0 const ActorInit Dm_Stk_InitVars = { ACTOR_DM_STK, @@ -22,7 +37,6 @@ const ActorInit Dm_Stk_InitVars = { (ActorFunc)DmStk_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80AA35A0 = { { COLTYPE_HIT1, AT_NONE, AC_ON | AC_HARD | AC_TYPE_PLAYER | AC_TYPE_ENEMY, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,11 +44,9 @@ static ColliderCylinderInit D_80AA35A0 = { { 14, 38, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_80AA35CC = { 1, 0, 0, 0, MASS_IMMOVABLE }; - // static DamageTable sDamageTable = { static DamageTable D_80AA35D8 = { /* Deku Nut */ DMG_ENTRY(1, 0xF), @@ -71,94 +83,98 @@ static DamageTable D_80AA35D8 = { /* Powder Keg */ DMG_ENTRY(1, 0xF), }; +#endif extern ColliderCylinderInit D_80AA35A0; extern CollisionCheckInfoInit2 D_80AA35CC; extern DamageTable D_80AA35D8; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Stk_0x80A9FDB0/func_80A9FDB0.asm") +extern UNK_TYPE D_06006BB0; +extern UNK_TYPE D_0600AEC0; +extern UNK_TYPE D_06013328; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Stk_0x80A9FDB0/func_80A9FE3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Stk/func_80A9FDB0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Stk_0x80A9FDB0/func_80A9FED8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Stk/func_80A9FE3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Stk_0x80A9FDB0/func_80AA00CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Stk/func_80A9FED8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Stk_0x80A9FDB0/func_80AA0100.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Stk/func_80AA00CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Stk_0x80A9FDB0/func_80AA0158.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Stk/func_80AA0100.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Stk_0x80A9FDB0/func_80AA01C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Stk/func_80AA0158.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Stk_0x80A9FDB0/func_80AA0264.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Stk/func_80AA01C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Stk_0x80A9FDB0/func_80AA0420.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Stk/func_80AA0264.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Stk_0x80A9FDB0/func_80AA05F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Stk/func_80AA0420.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Stk_0x80A9FDB0/func_80AA0634.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Stk/func_80AA05F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Stk_0x80A9FDB0/func_80AA066C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Stk/func_80AA0634.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Stk_0x80A9FDB0/func_80AA071C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Stk/func_80AA066C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Stk_0x80A9FDB0/func_80AA076C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Stk/func_80AA071C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Stk_0x80A9FDB0/func_80AA09DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Stk/func_80AA076C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Stk_0x80A9FDB0/func_80AA0B08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Stk/func_80AA09DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Stk_0x80A9FDB0/func_80AA0DA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Stk/func_80AA0B08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Stk_0x80A9FDB0/func_80AA0E1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Stk/func_80AA0DA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Stk_0x80A9FDB0/func_80AA0E90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Stk/func_80AA0E1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Stk_0x80A9FDB0/DmStk_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Stk/func_80AA0E90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Stk_0x80A9FDB0/DmStk_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Stk/DmStk_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Stk_0x80A9FDB0/func_80AA16F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Stk/DmStk_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Stk_0x80A9FDB0/func_80AA1704.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Stk/func_80AA16F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Stk_0x80A9FDB0/func_80AA1714.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Stk/func_80AA1704.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Stk_0x80A9FDB0/func_80AA17F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Stk/func_80AA1714.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Stk_0x80A9FDB0/func_80AA18D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Stk/func_80AA17F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Stk_0x80A9FDB0/func_80AA192C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Stk/func_80AA18D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Stk_0x80A9FDB0/func_80AA1998.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Stk/func_80AA192C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Stk_0x80A9FDB0/func_80AA19EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Stk/func_80AA1998.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Stk_0x80A9FDB0/func_80AA1A50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Stk/func_80AA19EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Stk_0x80A9FDB0/func_80AA1AC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Stk/func_80AA1A50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Stk_0x80A9FDB0/func_80AA1AF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Stk/func_80AA1AC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Stk_0x80A9FDB0/func_80AA1B9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Stk/func_80AA1AF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Stk_0x80A9FDB0/func_80AA1C64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Stk/func_80AA1B9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Stk_0x80A9FDB0/func_80AA1D1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Stk/func_80AA1C64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Stk_0x80A9FDB0/func_80AA26CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Stk/func_80AA1D1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Stk_0x80A9FDB0/func_80AA2720.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Stk/func_80AA26CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Stk_0x80A9FDB0/func_80AA27EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Stk/func_80AA2720.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Stk_0x80A9FDB0/DmStk_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Stk/func_80AA27EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Stk_0x80A9FDB0/func_80AA2B14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Stk/DmStk_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Stk_0x80A9FDB0/func_80AA2BC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Stk/func_80AA2B14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Stk_0x80A9FDB0/func_80AA33A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Stk/func_80AA2BC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Stk_0x80A9FDB0/DmStk_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Stk/func_80AA33A4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Stk/DmStk_Draw.s") diff --git a/src/overlays/actors/ovl_Dm_Stk/z_dm_stk.h b/src/overlays/actors/ovl_Dm_Stk/z_dm_stk.h index ead3785134..8c5f839797 100644 --- a/src/overlays/actors/ovl_Dm_Stk/z_dm_stk.h +++ b/src/overlays/actors/ovl_Dm_Stk/z_dm_stk.h @@ -1,13 +1,17 @@ #ifndef Z_DM_STK_H #define Z_DM_STK_H -#include +#include "global.h" struct DmStk; +typedef void (*DmStkActionFunc)(struct DmStk* this, GlobalContext* globalCtx); + typedef struct DmStk { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x1F8]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x14C]; + /* 0x0290 */ DmStkActionFunc actionFunc; + /* 0x0294 */ char unk_294[0xA8]; } DmStk; // size = 0x33C extern const ActorInit Dm_Stk_InitVars; diff --git a/src/overlays/actors/ovl_Dm_Tag/z_dm_tag.c b/src/overlays/actors/ovl_Dm_Tag/z_dm_tag.c index 5c32544e48..59fe0236bc 100644 --- a/src/overlays/actors/ovl_Dm_Tag/z_dm_tag.c +++ b/src/overlays/actors/ovl_Dm_Tag/z_dm_tag.c @@ -8,6 +8,10 @@ void DmTag_Init(Actor* thisx, GlobalContext* globalCtx); void DmTag_Destroy(Actor* thisx, GlobalContext* globalCtx); void DmTag_Update(Actor* thisx, GlobalContext* globalCtx); +void func_80C229AC(DmTag* this, GlobalContext* globalCtx); +void func_80C229EC(DmTag* this, GlobalContext* globalCtx); +void func_80C229FC(DmTag* this, GlobalContext* globalCtx); + #if 0 const ActorInit Dm_Tag_InitVars = { ACTOR_DM_TAG, @@ -23,28 +27,28 @@ const ActorInit Dm_Tag_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Tag_0x80C22350/func_80C22350.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Tag/func_80C22350.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Tag_0x80C22350/func_80C22400.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Tag/func_80C22400.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Tag_0x80C22350/func_80C2247C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Tag/func_80C2247C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Tag_0x80C22350/func_80C224D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Tag/func_80C224D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Tag_0x80C22350/func_80C227E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Tag/func_80C227E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Tag_0x80C22350/func_80C22880.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Tag/func_80C22880.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Tag_0x80C22350/func_80C2291C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Tag/func_80C2291C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Tag_0x80C22350/func_80C229AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Tag/func_80C229AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Tag_0x80C22350/func_80C229EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Tag/func_80C229EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Tag_0x80C22350/func_80C229FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Tag/func_80C229FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Tag_0x80C22350/DmTag_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Tag/DmTag_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Tag_0x80C22350/DmTag_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Tag/DmTag_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Tag_0x80C22350/DmTag_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Tag/DmTag_Update.s") diff --git a/src/overlays/actors/ovl_Dm_Tag/z_dm_tag.h b/src/overlays/actors/ovl_Dm_Tag/z_dm_tag.h index 9e6a3e3373..c0e2315da3 100644 --- a/src/overlays/actors/ovl_Dm_Tag/z_dm_tag.h +++ b/src/overlays/actors/ovl_Dm_Tag/z_dm_tag.h @@ -1,13 +1,17 @@ #ifndef Z_DM_TAG_H #define Z_DM_TAG_H -#include +#include "global.h" struct DmTag; +typedef void (*DmTagActionFunc)(struct DmTag* this, GlobalContext* globalCtx); + typedef struct DmTag { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x68]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ DmTagActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x20]; } DmTag; // size = 0x1AC extern const ActorInit Dm_Tag_InitVars; diff --git a/src/overlays/actors/ovl_Dm_Tsg/z_dm_tsg.c b/src/overlays/actors/ovl_Dm_Tsg/z_dm_tsg.c index 9ece1c7326..5abb5d8f94 100644 --- a/src/overlays/actors/ovl_Dm_Tsg/z_dm_tsg.c +++ b/src/overlays/actors/ovl_Dm_Tsg/z_dm_tsg.c @@ -24,10 +24,12 @@ const ActorInit Dm_Tsg_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Tsg_0x80A3AC60/DmTsg_Init.asm") +extern UNK_TYPE D_06011458; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Tsg_0x80A3AC60/DmTsg_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Tsg/DmTsg_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Tsg_0x80A3AC60/DmTsg_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Tsg/DmTsg_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Tsg_0x80A3AC60/DmTsg_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Tsg/DmTsg_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Tsg/DmTsg_Draw.s") diff --git a/src/overlays/actors/ovl_Dm_Tsg/z_dm_tsg.h b/src/overlays/actors/ovl_Dm_Tsg/z_dm_tsg.h index 9b383ecaef..e1263ef2d4 100644 --- a/src/overlays/actors/ovl_Dm_Tsg/z_dm_tsg.h +++ b/src/overlays/actors/ovl_Dm_Tsg/z_dm_tsg.h @@ -1,7 +1,7 @@ #ifndef Z_DM_TSG_H #define Z_DM_TSG_H -#include +#include "global.h" struct DmTsg; diff --git a/src/overlays/actors/ovl_Dm_Zl/z_dm_zl.c b/src/overlays/actors/ovl_Dm_Zl/z_dm_zl.c index 1ad9aa7856..7b724b9f49 100644 --- a/src/overlays/actors/ovl_Dm_Zl/z_dm_zl.c +++ b/src/overlays/actors/ovl_Dm_Zl/z_dm_zl.c @@ -9,6 +9,8 @@ void DmZl_Destroy(Actor* thisx, GlobalContext* globalCtx); void DmZl_Update(Actor* thisx, GlobalContext* globalCtx); void DmZl_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80A382FC(DmZl* this, GlobalContext* globalCtx); + #if 0 const ActorInit Dm_Zl_InitVars = { ACTOR_DM_ZL, @@ -24,22 +26,25 @@ const ActorInit Dm_Zl_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Zl_0x80A38190/func_80A38190.asm") +extern UNK_TYPE D_0600DE08; +extern UNK_TYPE D_0600E038; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Zl_0x80A38190/DmZl_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Zl/func_80A38190.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Zl_0x80A38190/DmZl_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Zl/DmZl_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Zl_0x80A38190/func_80A382FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Zl/DmZl_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Zl_0x80A38190/func_80A3830C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Zl/func_80A382FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Zl_0x80A38190/func_80A38468.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Zl/func_80A3830C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Zl_0x80A38190/DmZl_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Zl/func_80A38468.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Zl_0x80A38190/func_80A3862C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Zl/DmZl_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Zl_0x80A38190/func_80A38648.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Zl/func_80A3862C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Dm_Zl_0x80A38190/DmZl_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Zl/func_80A38648.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Dm_Zl/DmZl_Draw.s") diff --git a/src/overlays/actors/ovl_Dm_Zl/z_dm_zl.h b/src/overlays/actors/ovl_Dm_Zl/z_dm_zl.h index d617d39038..3daf940cca 100644 --- a/src/overlays/actors/ovl_Dm_Zl/z_dm_zl.h +++ b/src/overlays/actors/ovl_Dm_Zl/z_dm_zl.h @@ -1,13 +1,17 @@ #ifndef Z_DM_ZL_H #define Z_DM_ZL_H -#include +#include "global.h" struct DmZl; +typedef void (*DmZlActionFunc)(struct DmZl* this, GlobalContext* globalCtx); + typedef struct DmZl { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x190]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x11C]; + /* 0x0260 */ DmZlActionFunc actionFunc; + /* 0x0264 */ char unk_264[0x70]; } DmZl; // size = 0x2D4 extern const ActorInit Dm_Zl_InitVars; diff --git a/src/overlays/actors/ovl_Door_Ana/z_door_ana.h b/src/overlays/actors/ovl_Door_Ana/z_door_ana.h index df6286a69f..aec6e70be5 100644 --- a/src/overlays/actors/ovl_Door_Ana/z_door_ana.h +++ b/src/overlays/actors/ovl_Door_Ana/z_door_ana.h @@ -1,7 +1,7 @@ #ifndef Z_DOOR_ANA_H #define Z_DOOR_ANA_H -#include +#include "global.h" struct DoorAna; diff --git a/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c b/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c index cddf4cecec..7b870e03d7 100644 --- a/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c +++ b/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c @@ -21,7 +21,6 @@ const ActorInit Door_Shutter_InitVars = { (ActorFunc)NULL, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_808A2248[] = { ICHAIN_VEC3F(scale, 1, ICHAIN_CONTINUE), @@ -30,56 +29,56 @@ static InitChainEntry D_808A2248[] = { ICHAIN_F32(uncullZoneDownward, 800, ICHAIN_STOP), }; - -extern InitChainEntry D_808A2248[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Shutter_0x808A08F0/func_808A08F0.asm") +extern InitChainEntry D_808A2248[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Shutter_0x808A08F0/func_808A0900.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Shutter/func_808A08F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Shutter_0x808A08F0/func_808A0974.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Shutter/func_808A0900.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Shutter_0x808A08F0/DoorShutter_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Shutter/func_808A0974.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Shutter_0x808A08F0/DoorShutter_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Shutter/DoorShutter_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Shutter_0x808A08F0/func_808A0D0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Shutter/DoorShutter_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Shutter_0x808A08F0/func_808A0D90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Shutter/func_808A0D0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Shutter_0x808A08F0/func_808A0E28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Shutter/func_808A0D90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Shutter_0x808A08F0/func_808A0F88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Shutter/func_808A0E28.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Shutter_0x808A08F0/func_808A1080.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Shutter/func_808A0F88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Shutter_0x808A08F0/func_808A1090.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Shutter/func_808A1080.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Shutter_0x808A08F0/func_808A1288.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Shutter/func_808A1090.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Shutter_0x808A08F0/func_808A1340.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Shutter/func_808A1288.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Shutter_0x808A08F0/func_808A1478.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Shutter/func_808A1340.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Shutter_0x808A08F0/func_808A1548.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Shutter/func_808A1478.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Shutter_0x808A08F0/func_808A1618.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Shutter/func_808A1548.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Shutter_0x808A08F0/func_808A1684.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Shutter/func_808A1618.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Shutter_0x808A08F0/func_808A1784.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Shutter/func_808A1684.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Shutter_0x808A08F0/func_808A1884.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Shutter/func_808A1784.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Shutter_0x808A08F0/func_808A1A70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Shutter/func_808A1884.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Shutter_0x808A08F0/func_808A1B48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Shutter/func_808A1A70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Shutter_0x808A08F0/func_808A1C50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Shutter/func_808A1B48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Shutter_0x808A08F0/DoorShutter_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Shutter/func_808A1C50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Shutter_0x808A08F0/func_808A1D68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Shutter/DoorShutter_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Shutter_0x808A08F0/func_808A1E14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Shutter/func_808A1D68.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Shutter/func_808A1E14.s") diff --git a/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.h b/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.h index 2f3757c7fe..80ebc827a4 100644 --- a/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.h +++ b/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.h @@ -1,13 +1,16 @@ #ifndef Z_DOOR_SHUTTER_H #define Z_DOOR_SHUTTER_H -#include +#include "global.h" struct DoorShutter; +typedef void (*DoorShutterActionFunc)(struct DoorShutter* this, GlobalContext* globalCtx); + typedef struct DoorShutter { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x2C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x28]; + /* 0x016C */ DoorShutterActionFunc actionFunc; } DoorShutter; // size = 0x170 extern const ActorInit Door_Shutter_InitVars; diff --git a/src/overlays/actors/ovl_Door_Spiral/z_door_spiral.h b/src/overlays/actors/ovl_Door_Spiral/z_door_spiral.h index 6b5f0e2ffe..cf191949ab 100644 --- a/src/overlays/actors/ovl_Door_Spiral/z_door_spiral.h +++ b/src/overlays/actors/ovl_Door_Spiral/z_door_spiral.h @@ -1,7 +1,7 @@ #ifndef Z_DOOR_SPIRAL_H #define Z_DOOR_SPIRAL_H -#include +#include "global.h" struct DoorSpiral; diff --git a/src/overlays/actors/ovl_Door_Warp1/z_door_warp1.c b/src/overlays/actors/ovl_Door_Warp1/z_door_warp1.c index 56057a7531..0759321af9 100644 --- a/src/overlays/actors/ovl_Door_Warp1/z_door_warp1.c +++ b/src/overlays/actors/ovl_Door_Warp1/z_door_warp1.c @@ -9,6 +9,25 @@ void DoorWarp1_Destroy(Actor* thisx, GlobalContext* globalCtx); void DoorWarp1_Update(Actor* thisx, GlobalContext* globalCtx); void DoorWarp1_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_808B921C(DoorWarp1* this, GlobalContext* globalCtx); +void func_808B93A0(DoorWarp1* this, GlobalContext* globalCtx); +void func_808B94A4(DoorWarp1* this, GlobalContext* globalCtx); +void func_808B9524(DoorWarp1* this, GlobalContext* globalCtx); +void func_808B958C(DoorWarp1* this, GlobalContext* globalCtx); +void func_808B96B0(DoorWarp1* this, GlobalContext* globalCtx); +void func_808B9840(DoorWarp1* this, GlobalContext* globalCtx); +void func_808B98A8(DoorWarp1* this, GlobalContext* globalCtx); +void func_808B9B30(DoorWarp1* this, GlobalContext* globalCtx); +void func_808B9BE8(DoorWarp1* this, GlobalContext* globalCtx); +void func_808B9CE8(DoorWarp1* this, GlobalContext* globalCtx); +void func_808B9E94(DoorWarp1* this, GlobalContext* globalCtx); +void func_808B9FD0(DoorWarp1* this, GlobalContext* globalCtx); +void func_808BA550(DoorWarp1* this, GlobalContext* globalCtx); +void func_808BAAF4(DoorWarp1* this, GlobalContext* globalCtx); +void func_808BABF4(DoorWarp1* this, GlobalContext* globalCtx); + +void DoorWarp1_SetupAction(DoorWarp1* this, DoorWarp1ActionFunc actionFunc); + #if 0 const ActorInit Door_Warp1_InitVars = { ACTOR_DOOR_WARP1, @@ -24,84 +43,90 @@ const ActorInit Door_Warp1_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Warp1_0x808B8490/func_808B8490.asm") +extern UNK_TYPE D_060001A0; +extern UNK_TYPE D_06001374; +extern UNK_TYPE D_060044D8; +extern UNK_TYPE D_060076C0; +extern UNK_TYPE D_06008BD4; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Warp1_0x808B8490/func_808B849C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Warp1/DoorWarp1_SetupAction.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Warp1_0x808B8490/func_808B8568.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Warp1/func_808B849C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Warp1_0x808B8490/func_808B866C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Warp1/func_808B8568.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Warp1_0x808B8490/DoorWarp1_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Warp1/func_808B866C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Warp1_0x808B8490/DoorWarp1_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Warp1/DoorWarp1_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Warp1_0x808B8490/func_808B8924.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Warp1/DoorWarp1_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Warp1_0x808B8490/func_808B8A7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Warp1/func_808B8924.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Warp1_0x808B8490/func_808B8C48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Warp1/func_808B8A7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Warp1_0x808B8490/func_808B8E78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Warp1/func_808B8C48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Warp1_0x808B8490/func_808B900C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Warp1/func_808B8E78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Warp1_0x808B8490/func_808B9094.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Warp1/func_808B900C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Warp1_0x808B8490/func_808B90CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Warp1/func_808B9094.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Warp1_0x808B8490/func_808B921C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Warp1/func_808B90CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Warp1_0x808B8490/func_808B93A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Warp1/func_808B921C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Warp1_0x808B8490/func_808B94A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Warp1/func_808B93A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Warp1_0x808B8490/func_808B9524.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Warp1/func_808B94A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Warp1_0x808B8490/func_808B958C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Warp1/func_808B9524.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Warp1_0x808B8490/func_808B96A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Warp1/func_808B958C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Warp1_0x808B8490/func_808B96B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Warp1/func_808B96A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Warp1_0x808B8490/func_808B977C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Warp1/func_808B96B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Warp1_0x808B8490/func_808B9840.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Warp1/func_808B977C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Warp1_0x808B8490/func_808B98A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Warp1/func_808B9840.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Warp1_0x808B8490/func_808B9B30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Warp1/func_808B98A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Warp1_0x808B8490/func_808B9BE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Warp1/func_808B9B30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Warp1_0x808B8490/func_808B9CE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Warp1/func_808B9BE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Warp1_0x808B8490/func_808B9E94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Warp1/func_808B9CE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Warp1_0x808B8490/func_808B9ED8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Warp1/func_808B9E94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Warp1_0x808B8490/func_808B9F10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Warp1/func_808B9ED8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Warp1_0x808B8490/func_808B9FD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Warp1/func_808B9F10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Warp1_0x808B8490/func_808BA10C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Warp1/func_808B9FD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Warp1_0x808B8490/func_808BA550.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Warp1/func_808BA10C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Warp1_0x808B8490/func_808BAAF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Warp1/func_808BA550.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Warp1_0x808B8490/func_808BABF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Warp1/func_808BAAF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Warp1_0x808B8490/DoorWarp1_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Warp1/func_808BABF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Warp1_0x808B8490/func_808BACCC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Warp1/DoorWarp1_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Warp1_0x808B8490/func_808BAE9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Warp1/func_808BACCC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Warp1_0x808B8490/func_808BB4C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Warp1/func_808BAE9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Warp1_0x808B8490/func_808BB4F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Warp1/func_808BB4C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Warp1_0x808B8490/DoorWarp1_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Warp1/func_808BB4F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Door_Warp1_0x808B8490/func_808BB8D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Warp1/DoorWarp1_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Door_Warp1/func_808BB8D4.s") diff --git a/src/overlays/actors/ovl_Door_Warp1/z_door_warp1.h b/src/overlays/actors/ovl_Door_Warp1/z_door_warp1.h index 7cc84da79b..8957156e63 100644 --- a/src/overlays/actors/ovl_Door_Warp1/z_door_warp1.h +++ b/src/overlays/actors/ovl_Door_Warp1/z_door_warp1.h @@ -1,13 +1,17 @@ #ifndef Z_DOOR_WARP1_H #define Z_DOOR_WARP1_H -#include +#include "global.h" struct DoorWarp1; +typedef void (*DoorWarp1ActionFunc)(struct DoorWarp1* this, GlobalContext* globalCtx); + typedef struct DoorWarp1 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0xC8]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x94]; + /* 0x01D8 */ DoorWarp1ActionFunc actionFunc; + /* 0x01DC */ char unk_1DC[0x30]; } DoorWarp1; // size = 0x20C extern const ActorInit Door_Warp1_InitVars; diff --git a/src/overlays/actors/ovl_Eff_Change/z_eff_change.c b/src/overlays/actors/ovl_Eff_Change/z_eff_change.c index 913020907b..f9f6a77f8d 100644 --- a/src/overlays/actors/ovl_Eff_Change/z_eff_change.c +++ b/src/overlays/actors/ovl_Eff_Change/z_eff_change.c @@ -23,14 +23,14 @@ const ActorInit Eff_Change_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Eff_Change_0x80A4C490/EffChange_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Eff_Change/EffChange_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Eff_Change_0x80A4C490/EffChange_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Eff_Change/EffChange_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Eff_Change_0x80A4C490/func_80A4C578.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Eff_Change/func_80A4C578.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Eff_Change_0x80A4C490/func_80A4C5CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Eff_Change/func_80A4C5CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Eff_Change_0x80A4C490/EffChange_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Eff_Change/EffChange_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Eff_Change_0x80A4C490/func_80A4C7B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Eff_Change/func_80A4C7B0.s") diff --git a/src/overlays/actors/ovl_Eff_Change/z_eff_change.h b/src/overlays/actors/ovl_Eff_Change/z_eff_change.h index 867e3b785c..3d98cbcd08 100644 --- a/src/overlays/actors/ovl_Eff_Change/z_eff_change.h +++ b/src/overlays/actors/ovl_Eff_Change/z_eff_change.h @@ -1,13 +1,16 @@ #ifndef Z_EFF_CHANGE_H #define Z_EFF_CHANGE_H -#include +#include "global.h" struct EffChange; +typedef void (*EffChangeActionFunc)(struct EffChange* this, GlobalContext* globalCtx); + typedef struct EffChange { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x88]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x84]; + /* 0x01C8 */ EffChangeActionFunc actionFunc; } EffChange; // size = 0x1CC extern const ActorInit Eff_Change_InitVars; diff --git a/src/overlays/actors/ovl_Eff_Dust/z_eff_dust.c b/src/overlays/actors/ovl_Eff_Dust/z_eff_dust.c index 106f55651f..f8259e4fa5 100644 --- a/src/overlays/actors/ovl_Eff_Dust/z_eff_dust.c +++ b/src/overlays/actors/ovl_Eff_Dust/z_eff_dust.c @@ -22,8 +22,6 @@ void func_80919230(EffDust* this, GlobalContext* globalCtx); void func_80919768(Actor* thisx, GlobalContext* globalCtx); void func_809199FC(Actor* thisx, GlobalContext* globalCtx); -extern Gfx D_04054A90[]; - const ActorInit Eff_Dust_InitVars = { ACTOR_EFF_DUST, ACTORCAT_NPC, diff --git a/src/overlays/actors/ovl_Eff_Dust/z_eff_dust.h b/src/overlays/actors/ovl_Eff_Dust/z_eff_dust.h index d6421066aa..ec03b49d0d 100644 --- a/src/overlays/actors/ovl_Eff_Dust/z_eff_dust.h +++ b/src/overlays/actors/ovl_Eff_Dust/z_eff_dust.h @@ -1,7 +1,7 @@ #ifndef Z_EFF_DUST_H #define Z_EFF_DUST_H -#include +#include "global.h" struct EffDust; diff --git a/src/overlays/actors/ovl_Eff_Kamejima_Wave/z_eff_kamejima_wave.c b/src/overlays/actors/ovl_Eff_Kamejima_Wave/z_eff_kamejima_wave.c index c36f1765c5..d127a76a0e 100644 --- a/src/overlays/actors/ovl_Eff_Kamejima_Wave/z_eff_kamejima_wave.c +++ b/src/overlays/actors/ovl_Eff_Kamejima_Wave/z_eff_kamejima_wave.c @@ -23,20 +23,24 @@ const ActorInit Eff_Kamejima_Wave_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Eff_Kamejima_Wave_0x80BCEB20/EffKamejimaWave_Init.asm") +extern UNK_TYPE D_06000000; +extern UNK_TYPE D_06000140; +extern UNK_TYPE D_06001AF0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Eff_Kamejima_Wave_0x80BCEB20/EffKamejimaWave_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Eff_Kamejima_Wave/EffKamejimaWave_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Eff_Kamejima_Wave_0x80BCEB20/func_80BCEBC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Eff_Kamejima_Wave/EffKamejimaWave_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Eff_Kamejima_Wave_0x80BCEB20/func_80BCEC6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Eff_Kamejima_Wave/func_80BCEBC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Eff_Kamejima_Wave_0x80BCEB20/func_80BCED34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Eff_Kamejima_Wave/func_80BCEC6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Eff_Kamejima_Wave_0x80BCEB20/func_80BCEDE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Eff_Kamejima_Wave/func_80BCED34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Eff_Kamejima_Wave_0x80BCEB20/EffKamejimaWave_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Eff_Kamejima_Wave/func_80BCEDE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Eff_Kamejima_Wave_0x80BCEB20/func_80BCEEBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Eff_Kamejima_Wave/EffKamejimaWave_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Eff_Kamejima_Wave_0x80BCEB20/func_80BCEF0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Eff_Kamejima_Wave/func_80BCEEBC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Eff_Kamejima_Wave/func_80BCEF0C.s") diff --git a/src/overlays/actors/ovl_Eff_Kamejima_Wave/z_eff_kamejima_wave.h b/src/overlays/actors/ovl_Eff_Kamejima_Wave/z_eff_kamejima_wave.h index 0a4c476f14..09b731b9fd 100644 --- a/src/overlays/actors/ovl_Eff_Kamejima_Wave/z_eff_kamejima_wave.h +++ b/src/overlays/actors/ovl_Eff_Kamejima_Wave/z_eff_kamejima_wave.h @@ -1,13 +1,16 @@ #ifndef Z_EFF_KAMEJIMA_WAVE_H #define Z_EFF_KAMEJIMA_WAVE_H -#include +#include "global.h" struct EffKamejimaWave; +typedef void (*EffKamejimaWaveActionFunc)(struct EffKamejimaWave* this, GlobalContext* globalCtx); + typedef struct EffKamejimaWave { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0xC]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x8]; + /* 0x014C */ EffKamejimaWaveActionFunc actionFunc; } EffKamejimaWave; // size = 0x150 extern const ActorInit Eff_Kamejima_Wave_InitVars; diff --git a/src/overlays/actors/ovl_Eff_Lastday/z_eff_lastday.c b/src/overlays/actors/ovl_Eff_Lastday/z_eff_lastday.c index 9f08d854c4..378fe8e3b4 100644 --- a/src/overlays/actors/ovl_Eff_Lastday/z_eff_lastday.c +++ b/src/overlays/actors/ovl_Eff_Lastday/z_eff_lastday.c @@ -9,6 +9,11 @@ void EffLastday_Destroy(Actor* thisx, GlobalContext* globalCtx); void EffLastday_Update(Actor* thisx, GlobalContext* globalCtx); void EffLastday_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80BEBD0C(EffLastday* this, GlobalContext* globalCtx); +void func_80BEBDF8(EffLastday* this, GlobalContext* globalCtx); +void func_80BEBEB8(EffLastday* this, GlobalContext* globalCtx); +void func_80BEBF78(EffLastday* this, GlobalContext* globalCtx); + #if 0 const ActorInit Eff_Lastday_InitVars = { ACTOR_EFF_LASTDAY, @@ -24,20 +29,23 @@ const ActorInit Eff_Lastday_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Eff_Lastday_0x80BEBAC0/EffLastday_Init.asm") +extern UNK_TYPE D_06000000; +extern UNK_TYPE D_06000510; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Eff_Lastday_0x80BEBAC0/EffLastday_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Eff_Lastday/EffLastday_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Eff_Lastday_0x80BEBAC0/func_80BEBD0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Eff_Lastday/EffLastday_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Eff_Lastday_0x80BEBAC0/func_80BEBDF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Eff_Lastday/func_80BEBD0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Eff_Lastday_0x80BEBAC0/func_80BEBEB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Eff_Lastday/func_80BEBDF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Eff_Lastday_0x80BEBAC0/func_80BEBF78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Eff_Lastday/func_80BEBEB8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Eff_Lastday_0x80BEBAC0/EffLastday_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Eff_Lastday/func_80BEBF78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Eff_Lastday_0x80BEBAC0/func_80BEC0A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Eff_Lastday/EffLastday_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Eff_Lastday_0x80BEBAC0/EffLastday_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Eff_Lastday/func_80BEC0A4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Eff_Lastday/EffLastday_Draw.s") diff --git a/src/overlays/actors/ovl_Eff_Lastday/z_eff_lastday.h b/src/overlays/actors/ovl_Eff_Lastday/z_eff_lastday.h index eea5aed8aa..f50e1d052f 100644 --- a/src/overlays/actors/ovl_Eff_Lastday/z_eff_lastday.h +++ b/src/overlays/actors/ovl_Eff_Lastday/z_eff_lastday.h @@ -1,13 +1,16 @@ #ifndef Z_EFF_LASTDAY_H #define Z_EFF_LASTDAY_H -#include +#include "global.h" struct EffLastday; +typedef void (*EffLastdayActionFunc)(struct EffLastday* this, GlobalContext* globalCtx); + typedef struct EffLastday { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x14]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x10]; + /* 0x0154 */ EffLastdayActionFunc actionFunc; } EffLastday; // size = 0x158 extern const ActorInit Eff_Lastday_InitVars; diff --git a/src/overlays/actors/ovl_Eff_Stk/z_eff_stk.c b/src/overlays/actors/ovl_Eff_Stk/z_eff_stk.c index 81749b85fd..7e114b311a 100644 --- a/src/overlays/actors/ovl_Eff_Stk/z_eff_stk.c +++ b/src/overlays/actors/ovl_Eff_Stk/z_eff_stk.c @@ -24,12 +24,14 @@ const ActorInit Eff_Stk_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Eff_Stk_0x80BF0D90/EffStk_Init.asm") +extern UNK_TYPE D_06009F60; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Eff_Stk_0x80BF0D90/EffStk_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Eff_Stk/EffStk_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Eff_Stk_0x80BF0D90/func_80BF0DE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Eff_Stk/EffStk_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Eff_Stk_0x80BF0D90/EffStk_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Eff_Stk/func_80BF0DE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Eff_Stk_0x80BF0D90/EffStk_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Eff_Stk/EffStk_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Eff_Stk/EffStk_Draw.s") diff --git a/src/overlays/actors/ovl_Eff_Stk/z_eff_stk.h b/src/overlays/actors/ovl_Eff_Stk/z_eff_stk.h index c3479ff179..2e57aa6eaa 100644 --- a/src/overlays/actors/ovl_Eff_Stk/z_eff_stk.h +++ b/src/overlays/actors/ovl_Eff_Stk/z_eff_stk.h @@ -1,13 +1,16 @@ #ifndef Z_EFF_STK_H #define Z_EFF_STK_H -#include +#include "global.h" struct EffStk; +typedef void (*EffStkActionFunc)(struct EffStk* this, GlobalContext* globalCtx); + typedef struct EffStk { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0xC]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x8]; + /* 0x014C */ EffStkActionFunc actionFunc; } EffStk; // size = 0x150 extern const ActorInit Eff_Stk_InitVars; diff --git a/src/overlays/actors/ovl_Eff_Zoraband/z_eff_zoraband.c b/src/overlays/actors/ovl_Eff_Zoraband/z_eff_zoraband.c index c81fb07ebb..ff1ee79863 100644 --- a/src/overlays/actors/ovl_Eff_Zoraband/z_eff_zoraband.c +++ b/src/overlays/actors/ovl_Eff_Zoraband/z_eff_zoraband.c @@ -9,6 +9,8 @@ void EffZoraband_Destroy(Actor* thisx, GlobalContext* globalCtx); void EffZoraband_Update(Actor* thisx, GlobalContext* globalCtx); void EffZoraband_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80C07790(EffZoraband* this, GlobalContext* globalCtx); + #if 0 const ActorInit Eff_Zoraband_InitVars = { ACTOR_EFF_ZORABAND, @@ -24,12 +26,14 @@ const ActorInit Eff_Zoraband_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Eff_Zoraband_0x80C07740/EffZoraband_Init.asm") +extern UNK_TYPE D_06000F38; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Eff_Zoraband_0x80C07740/EffZoraband_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Eff_Zoraband/EffZoraband_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Eff_Zoraband_0x80C07740/func_80C07790.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Eff_Zoraband/EffZoraband_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Eff_Zoraband_0x80C07740/EffZoraband_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Eff_Zoraband/func_80C07790.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Eff_Zoraband_0x80C07740/EffZoraband_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Eff_Zoraband/EffZoraband_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Eff_Zoraband/EffZoraband_Draw.s") diff --git a/src/overlays/actors/ovl_Eff_Zoraband/z_eff_zoraband.h b/src/overlays/actors/ovl_Eff_Zoraband/z_eff_zoraband.h index aa3aad98a0..c6ca857dd6 100644 --- a/src/overlays/actors/ovl_Eff_Zoraband/z_eff_zoraband.h +++ b/src/overlays/actors/ovl_Eff_Zoraband/z_eff_zoraband.h @@ -1,13 +1,16 @@ #ifndef Z_EFF_ZORABAND_H #define Z_EFF_ZORABAND_H -#include +#include "global.h" struct EffZoraband; +typedef void (*EffZorabandActionFunc)(struct EffZoraband* this, GlobalContext* globalCtx); + typedef struct EffZoraband { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x8]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x4]; + /* 0x0148 */ EffZorabandActionFunc actionFunc; } EffZoraband; // size = 0x14C extern const ActorInit Eff_Zoraband_InitVars; diff --git a/src/overlays/actors/ovl_Elf_Msg/z_elf_msg.c b/src/overlays/actors/ovl_Elf_Msg/z_elf_msg.c index 331fd500b6..bf27f5e21f 100644 --- a/src/overlays/actors/ovl_Elf_Msg/z_elf_msg.c +++ b/src/overlays/actors/ovl_Elf_Msg/z_elf_msg.c @@ -8,6 +8,8 @@ void ElfMsg_Init(Actor* thisx, GlobalContext* globalCtx); void ElfMsg_Destroy(Actor* thisx, GlobalContext* globalCtx); void ElfMsg_Update(Actor* thisx, GlobalContext* globalCtx); +void ElfMsg_SetupAction(ElfMsg* this, ElfMsgActionFunc actionFunc); + #if 0 const ActorInit Elf_Msg_InitVars = { ACTOR_ELF_MSG, @@ -21,29 +23,30 @@ const ActorInit Elf_Msg_InitVars = { (ActorFunc)NULL, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_8092E470[] = { ICHAIN_VEC3F_DIV1000(scale, 1000, ICHAIN_CONTINUE), ICHAIN_F32(uncullZoneForward, 1000, ICHAIN_STOP), }; - -extern InitChainEntry D_8092E470[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg_0x8092DF90/func_8092DF90.asm") +extern InitChainEntry D_8092E470[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg_0x8092DF90/func_8092DF9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg/D_8092E480.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg_0x8092DF90/ElfMsg_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg/ElfMsg_SetupAction.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg_0x8092DF90/ElfMsg_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg/func_8092DF9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg_0x8092DF90/func_8092E1D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg/ElfMsg_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg_0x8092DF90/func_8092E1FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg/ElfMsg_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg_0x8092DF90/func_8092E284.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg/func_8092E1D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg_0x8092DF90/ElfMsg_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg/func_8092E1FC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg/func_8092E284.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg/ElfMsg_Update.s") diff --git a/src/overlays/actors/ovl_Elf_Msg/z_elf_msg.h b/src/overlays/actors/ovl_Elf_Msg/z_elf_msg.h index 9e90b2eb04..1963478c7a 100644 --- a/src/overlays/actors/ovl_Elf_Msg/z_elf_msg.h +++ b/src/overlays/actors/ovl_Elf_Msg/z_elf_msg.h @@ -1,13 +1,15 @@ #ifndef Z_ELF_MSG_H #define Z_ELF_MSG_H -#include +#include "global.h" struct ElfMsg; +typedef void (*ElfMsgActionFunc)(struct ElfMsg* this, GlobalContext* globalCtx); + typedef struct ElfMsg { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x4]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ ElfMsgActionFunc actionFunc; } ElfMsg; // size = 0x148 extern const ActorInit Elf_Msg_InitVars; diff --git a/src/overlays/actors/ovl_Elf_Msg2/z_elf_msg2.c b/src/overlays/actors/ovl_Elf_Msg2/z_elf_msg2.c index caf51468c7..4ebc208fea 100644 --- a/src/overlays/actors/ovl_Elf_Msg2/z_elf_msg2.c +++ b/src/overlays/actors/ovl_Elf_Msg2/z_elf_msg2.c @@ -8,6 +8,10 @@ void ElfMsg2_Init(Actor* thisx, GlobalContext* globalCtx); void ElfMsg2_Destroy(Actor* thisx, GlobalContext* globalCtx); void ElfMsg2_Update(Actor* thisx, GlobalContext* globalCtx); +void func_8096EFD0(ElfMsg2* this, GlobalContext* globalCtx); + +void ElfMsg2_SetupAction(ElfMsg2* this, ElfMsg2ActionFunc actionFunc); + #if 0 const ActorInit Elf_Msg2_InitVars = { ACTOR_ELF_MSG2, @@ -21,31 +25,32 @@ const ActorInit Elf_Msg2_InitVars = { (ActorFunc)NULL, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_8096F0B0[] = { ICHAIN_VEC3F_DIV1000(scale, 200, ICHAIN_CONTINUE), ICHAIN_F32(uncullZoneForward, 1000, ICHAIN_STOP), }; - -extern InitChainEntry D_8096F0B0[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg2_0x8096EC40/func_8096EC40.asm") +extern InitChainEntry D_8096F0B0[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg2_0x8096EC40/func_8096EC4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg2/D_8096F0C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg2_0x8096EC40/ElfMsg2_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg2/ElfMsg2_SetupAction.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg2_0x8096EC40/ElfMsg2_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg2/func_8096EC4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg2_0x8096EC40/func_8096EE50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg2/ElfMsg2_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg2_0x8096EC40/func_8096EE64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg2/ElfMsg2_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg2_0x8096EC40/func_8096EF98.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg2/func_8096EE50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg2_0x8096EC40/func_8096EFD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg2/func_8096EE64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg2_0x8096EC40/ElfMsg2_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg2/func_8096EF98.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg2/func_8096EFD0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg2/ElfMsg2_Update.s") diff --git a/src/overlays/actors/ovl_Elf_Msg2/z_elf_msg2.h b/src/overlays/actors/ovl_Elf_Msg2/z_elf_msg2.h index 5a91815ee7..76607f5b77 100644 --- a/src/overlays/actors/ovl_Elf_Msg2/z_elf_msg2.h +++ b/src/overlays/actors/ovl_Elf_Msg2/z_elf_msg2.h @@ -1,13 +1,15 @@ #ifndef Z_ELF_MSG2_H #define Z_ELF_MSG2_H -#include +#include "global.h" struct ElfMsg2; +typedef void (*ElfMsg2ActionFunc)(struct ElfMsg2* this, GlobalContext* globalCtx); + typedef struct ElfMsg2 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x4]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ ElfMsg2ActionFunc actionFunc; } ElfMsg2; // size = 0x148 extern const ActorInit Elf_Msg2_InitVars; diff --git a/src/overlays/actors/ovl_Elf_Msg3/z_elf_msg3.c b/src/overlays/actors/ovl_Elf_Msg3/z_elf_msg3.c index bb9a284191..fd457ac2a4 100644 --- a/src/overlays/actors/ovl_Elf_Msg3/z_elf_msg3.c +++ b/src/overlays/actors/ovl_Elf_Msg3/z_elf_msg3.c @@ -8,6 +8,8 @@ void ElfMsg3_Init(Actor* thisx, GlobalContext* globalCtx); void ElfMsg3_Destroy(Actor* thisx, GlobalContext* globalCtx); void ElfMsg3_Update(Actor* thisx, GlobalContext* globalCtx); +void ElfMsg3_SetupAction(ElfMsg3* this, ElfMsg3ActionFunc actionFunc); + #if 0 const ActorInit Elf_Msg3_InitVars = { ACTOR_ELF_MSG3, @@ -21,27 +23,28 @@ const ActorInit Elf_Msg3_InitVars = { (ActorFunc)NULL, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80A2D1E0[] = { ICHAIN_VEC3F_DIV1000(scale, 1000, ICHAIN_CONTINUE), ICHAIN_F32(uncullZoneForward, 1000, ICHAIN_STOP), }; - -extern InitChainEntry D_80A2D1E0[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg3_0x80A2CD10/func_80A2CD10.asm") +extern InitChainEntry D_80A2D1E0[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg3_0x80A2CD10/func_80A2CD1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg3/D_80A2D1F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg3_0x80A2CD10/ElfMsg3_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg3/ElfMsg3_SetupAction.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg3_0x80A2CD10/ElfMsg3_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg3/func_80A2CD1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg3_0x80A2CD10/func_80A2CF50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg3/ElfMsg3_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg3_0x80A2CD10/func_80A2CF7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg3/ElfMsg3_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg3_0x80A2CD10/ElfMsg3_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg3/func_80A2CF50.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg3/func_80A2CF7C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg3/ElfMsg3_Update.s") diff --git a/src/overlays/actors/ovl_Elf_Msg3/z_elf_msg3.h b/src/overlays/actors/ovl_Elf_Msg3/z_elf_msg3.h index 1b1fd59846..7a26137c59 100644 --- a/src/overlays/actors/ovl_Elf_Msg3/z_elf_msg3.h +++ b/src/overlays/actors/ovl_Elf_Msg3/z_elf_msg3.h @@ -1,13 +1,15 @@ #ifndef Z_ELF_MSG3_H #define Z_ELF_MSG3_H -#include +#include "global.h" struct ElfMsg3; +typedef void (*ElfMsg3ActionFunc)(struct ElfMsg3* this, GlobalContext* globalCtx); + typedef struct ElfMsg3 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x4]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ ElfMsg3ActionFunc actionFunc; } ElfMsg3; // size = 0x148 extern const ActorInit Elf_Msg3_InitVars; diff --git a/src/overlays/actors/ovl_Elf_Msg4/z_elf_msg4.c b/src/overlays/actors/ovl_Elf_Msg4/z_elf_msg4.c index 73ffd9be57..3c0d1cca4f 100644 --- a/src/overlays/actors/ovl_Elf_Msg4/z_elf_msg4.c +++ b/src/overlays/actors/ovl_Elf_Msg4/z_elf_msg4.c @@ -8,6 +8,9 @@ void ElfMsg4_Init(Actor* thisx, GlobalContext* globalCtx); void ElfMsg4_Destroy(Actor* thisx, GlobalContext* globalCtx); void ElfMsg4_Update(Actor* thisx, GlobalContext* globalCtx); +void func_80AFD668(ElfMsg4* this, GlobalContext* globalCtx); +void func_80AFD770(ElfMsg4* this, GlobalContext* globalCtx); + #if 0 const ActorInit Elf_Msg4_InitVars = { ACTOR_ELF_MSG4, @@ -21,29 +24,30 @@ const ActorInit Elf_Msg4_InitVars = { (ActorFunc)NULL, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80AFD8F0[] = { ICHAIN_VEC3F_DIV1000(scale, 1000, ICHAIN_CONTINUE), ICHAIN_F32(uncullZoneForward, 1000, ICHAIN_STOP), }; - -extern InitChainEntry D_80AFD8F0[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg4_0x80AFD380/func_80AFD380.asm") +extern InitChainEntry D_80AFD8F0[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg4_0x80AFD380/ElfMsg4_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg4/D_80AFD900.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg4_0x80AFD380/ElfMsg4_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg4/func_80AFD380.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg4_0x80AFD380/func_80AFD5B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg4/ElfMsg4_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg4_0x80AFD380/func_80AFD5E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg4/ElfMsg4_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg4_0x80AFD380/func_80AFD668.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg4/func_80AFD5B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg4_0x80AFD380/func_80AFD770.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg4/func_80AFD5E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg4_0x80AFD380/ElfMsg4_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg4/func_80AFD668.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg4/func_80AFD770.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg4/ElfMsg4_Update.s") diff --git a/src/overlays/actors/ovl_Elf_Msg4/z_elf_msg4.h b/src/overlays/actors/ovl_Elf_Msg4/z_elf_msg4.h index 4de6f91d4a..1a68d87bfc 100644 --- a/src/overlays/actors/ovl_Elf_Msg4/z_elf_msg4.h +++ b/src/overlays/actors/ovl_Elf_Msg4/z_elf_msg4.h @@ -1,13 +1,16 @@ #ifndef Z_ELF_MSG4_H #define Z_ELF_MSG4_H -#include +#include "global.h" struct ElfMsg4; +typedef void (*ElfMsg4ActionFunc)(struct ElfMsg4* this, GlobalContext* globalCtx); + typedef struct ElfMsg4 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x8]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x4]; + /* 0x0148 */ ElfMsg4ActionFunc actionFunc; } ElfMsg4; // size = 0x14C extern const ActorInit Elf_Msg4_InitVars; diff --git a/src/overlays/actors/ovl_Elf_Msg5/z_elf_msg5.c b/src/overlays/actors/ovl_Elf_Msg5/z_elf_msg5.c index e2c739bdd0..abd811d286 100644 --- a/src/overlays/actors/ovl_Elf_Msg5/z_elf_msg5.c +++ b/src/overlays/actors/ovl_Elf_Msg5/z_elf_msg5.c @@ -8,6 +8,8 @@ void ElfMsg5_Init(Actor* thisx, GlobalContext* globalCtx); void ElfMsg5_Destroy(Actor* thisx, GlobalContext* globalCtx); void ElfMsg5_Update(Actor* thisx, GlobalContext* globalCtx); +void func_80AFDB38(ElfMsg5* this, GlobalContext* globalCtx); + #if 0 const ActorInit Elf_Msg5_InitVars = { ACTOR_ELF_MSG5, @@ -21,23 +23,24 @@ const ActorInit Elf_Msg5_InitVars = { (ActorFunc)NULL, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80AFDBD0[] = { ICHAIN_VEC3F_DIV1000(scale, 200, ICHAIN_CONTINUE), ICHAIN_F32(uncullZoneForward, 1000, ICHAIN_STOP), }; - -extern InitChainEntry D_80AFDBD0[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg5_0x80AFD990/func_80AFD990.asm") +extern InitChainEntry D_80AFDBD0[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg5_0x80AFD990/ElfMsg5_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg5/D_80AFDBE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg5_0x80AFD990/ElfMsg5_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg5/func_80AFD990.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg5_0x80AFD990/func_80AFDB38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg5/ElfMsg5_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg5_0x80AFD990/ElfMsg5_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg5/ElfMsg5_Destroy.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg5/func_80AFDB38.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg5/ElfMsg5_Update.s") diff --git a/src/overlays/actors/ovl_Elf_Msg5/z_elf_msg5.h b/src/overlays/actors/ovl_Elf_Msg5/z_elf_msg5.h index 14ef9a2981..dbbc58f4f4 100644 --- a/src/overlays/actors/ovl_Elf_Msg5/z_elf_msg5.h +++ b/src/overlays/actors/ovl_Elf_Msg5/z_elf_msg5.h @@ -1,13 +1,15 @@ #ifndef Z_ELF_MSG5_H #define Z_ELF_MSG5_H -#include +#include "global.h" struct ElfMsg5; +typedef void (*ElfMsg5ActionFunc)(struct ElfMsg5* this, GlobalContext* globalCtx); + typedef struct ElfMsg5 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x4]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ ElfMsg5ActionFunc actionFunc; } ElfMsg5; // size = 0x148 extern const ActorInit Elf_Msg5_InitVars; diff --git a/src/overlays/actors/ovl_Elf_Msg6/z_elf_msg6.c b/src/overlays/actors/ovl_Elf_Msg6/z_elf_msg6.c index 60f5faf5fb..ec07f5fef3 100644 --- a/src/overlays/actors/ovl_Elf_Msg6/z_elf_msg6.c +++ b/src/overlays/actors/ovl_Elf_Msg6/z_elf_msg6.c @@ -8,6 +8,14 @@ void ElfMsg6_Init(Actor* thisx, GlobalContext* globalCtx); void ElfMsg6_Destroy(Actor* thisx, GlobalContext* globalCtx); void ElfMsg6_Update(Actor* thisx, GlobalContext* globalCtx); +void func_80BA1CF8(ElfMsg6* this, GlobalContext* globalCtx); +void func_80BA1E30(ElfMsg6* this, GlobalContext* globalCtx); +void func_80BA1F80(ElfMsg6* this, GlobalContext* globalCtx); +void func_80BA2038(ElfMsg6* this, GlobalContext* globalCtx); +void func_80BA2048(ElfMsg6* this, GlobalContext* globalCtx); +void func_80BA215C(ElfMsg6* this, GlobalContext* globalCtx); +void func_80BA21C4(ElfMsg6* this, GlobalContext* globalCtx); + #if 0 const ActorInit Elf_Msg6_InitVars = { ACTOR_ELF_MSG6, @@ -23,32 +31,32 @@ const ActorInit Elf_Msg6_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg6_0x80BA15A0/func_80BA15A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg6/func_80BA15A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg6_0x80BA15A0/func_80BA165C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg6/func_80BA165C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg6_0x80BA15A0/func_80BA16F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg6/func_80BA16F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg6_0x80BA15A0/ElfMsg6_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg6/ElfMsg6_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg6_0x80BA15A0/ElfMsg6_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg6/ElfMsg6_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg6_0x80BA15A0/func_80BA1C00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg6/func_80BA1C00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg6_0x80BA15A0/func_80BA1C88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg6/func_80BA1C88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg6_0x80BA15A0/func_80BA1CF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg6/func_80BA1CF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg6_0x80BA15A0/func_80BA1E30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg6/func_80BA1E30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg6_0x80BA15A0/func_80BA1F80.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg6/func_80BA1F80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg6_0x80BA15A0/func_80BA2038.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg6/func_80BA2038.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg6_0x80BA15A0/func_80BA2048.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg6/func_80BA2048.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg6_0x80BA15A0/func_80BA215C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg6/func_80BA215C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg6_0x80BA15A0/func_80BA21C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg6/func_80BA21C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Elf_Msg6_0x80BA15A0/ElfMsg6_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Elf_Msg6/ElfMsg6_Update.s") diff --git a/src/overlays/actors/ovl_Elf_Msg6/z_elf_msg6.h b/src/overlays/actors/ovl_Elf_Msg6/z_elf_msg6.h index d52e139da2..b65f2751de 100644 --- a/src/overlays/actors/ovl_Elf_Msg6/z_elf_msg6.h +++ b/src/overlays/actors/ovl_Elf_Msg6/z_elf_msg6.h @@ -1,13 +1,15 @@ #ifndef Z_ELF_MSG6_H #define Z_ELF_MSG6_H -#include +#include "global.h" struct ElfMsg6; +typedef void (*ElfMsg6ActionFunc)(struct ElfMsg6* this, GlobalContext* globalCtx); + typedef struct ElfMsg6 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x4]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ ElfMsg6ActionFunc actionFunc; } ElfMsg6; // size = 0x148 extern const ActorInit Elf_Msg6_InitVars; diff --git a/src/overlays/actors/ovl_En_Ah/z_en_ah.c b/src/overlays/actors/ovl_En_Ah/z_en_ah.c index 53b32e265e..1f68470d93 100644 --- a/src/overlays/actors/ovl_En_Ah/z_en_ah.c +++ b/src/overlays/actors/ovl_En_Ah/z_en_ah.c @@ -9,6 +9,9 @@ void EnAh_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnAh_Update(Actor* thisx, GlobalContext* globalCtx); void EnAh_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80BD36B8(EnAh* this, GlobalContext* globalCtx); +void func_80BD3768(EnAh* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Ah_InitVars = { ACTOR_EN_AH, @@ -22,7 +25,6 @@ const ActorInit En_Ah_InitVars = { (ActorFunc)EnAh_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80BD3E34 = { { COLTYPE_HIT1, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,67 +32,68 @@ static ColliderCylinderInit D_80BD3E34 = { { 10, 68, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_80BD3E60 = { 0, 0, 0, 0, MASS_IMMOVABLE }; +#endif extern ColliderCylinderInit D_80BD3E34; extern CollisionCheckInfoInit2 D_80BD3E60; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ah_0x80BD2A30/func_80BD2A30.asm") +extern UNK_TYPE D_06009E70; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ah_0x80BD2A30/func_80BD2AE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ah/func_80BD2A30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ah_0x80BD2A30/func_80BD2B0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ah/func_80BD2AE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ah_0x80BD2A30/func_80BD2BA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ah/func_80BD2B0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ah_0x80BD2A30/func_80BD2BE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ah/func_80BD2BA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ah_0x80BD2A30/func_80BD2C6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ah/func_80BD2BE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ah_0x80BD2A30/func_80BD2DA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ah/func_80BD2C6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ah_0x80BD2A30/func_80BD2DC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ah/func_80BD2DA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ah_0x80BD2A30/func_80BD2FD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ah/func_80BD2DC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ah_0x80BD2A30/func_80BD30C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ah/func_80BD2FD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ah_0x80BD2A30/func_80BD3118.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ah/func_80BD30C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ah_0x80BD2A30/func_80BD3198.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ah/func_80BD3118.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ah_0x80BD2A30/func_80BD3294.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ah/func_80BD3198.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ah_0x80BD2A30/func_80BD3320.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ah/func_80BD3294.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ah_0x80BD2A30/func_80BD3374.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ah/func_80BD3320.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ah_0x80BD2A30/func_80BD33FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ah/func_80BD3374.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ah_0x80BD2A30/func_80BD3484.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ah/func_80BD33FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ah_0x80BD2A30/func_80BD3548.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ah/func_80BD3484.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ah_0x80BD2A30/func_80BD35BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ah/func_80BD3548.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ah_0x80BD2A30/func_80BD3658.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ah/func_80BD35BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ah_0x80BD2A30/func_80BD36B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ah/func_80BD3658.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ah_0x80BD2A30/func_80BD3768.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ah/func_80BD36B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ah_0x80BD2A30/EnAh_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ah/func_80BD3768.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ah_0x80BD2A30/EnAh_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ah/EnAh_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ah_0x80BD2A30/EnAh_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ah/EnAh_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ah_0x80BD2A30/func_80BD3AA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ah/EnAh_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ah_0x80BD2A30/func_80BD3AF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ah/func_80BD3AA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ah_0x80BD2A30/EnAh_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ah/func_80BD3AF8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ah/EnAh_Draw.s") diff --git a/src/overlays/actors/ovl_En_Ah/z_en_ah.h b/src/overlays/actors/ovl_En_Ah/z_en_ah.h index a3f51dc3b6..b39cb4be7f 100644 --- a/src/overlays/actors/ovl_En_Ah/z_en_ah.h +++ b/src/overlays/actors/ovl_En_Ah/z_en_ah.h @@ -1,13 +1,17 @@ #ifndef Z_EN_AH_H #define Z_EN_AH_H -#include +#include "global.h" struct EnAh; +typedef void (*EnAhActionFunc)(struct EnAh* this, GlobalContext* globalCtx); + typedef struct EnAh { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x1C0]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ EnAhActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x178]; } EnAh; // size = 0x304 extern const ActorInit En_Ah_InitVars; diff --git a/src/overlays/actors/ovl_En_Akindonuts/z_en_akindonuts.c b/src/overlays/actors/ovl_En_Akindonuts/z_en_akindonuts.c index 04a4061618..44abc76845 100644 --- a/src/overlays/actors/ovl_En_Akindonuts/z_en_akindonuts.c +++ b/src/overlays/actors/ovl_En_Akindonuts/z_en_akindonuts.c @@ -22,7 +22,6 @@ const ActorInit En_Akindonuts_InitVars = { (ActorFunc)EnAkindonuts_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80BF02F0 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_HIT_PLAYER, COLSHAPE_JNTSPH, }, @@ -30,104 +29,106 @@ static ColliderCylinderInit D_80BF02F0 = { { 27, 32, 0, { 0, 0, 0 } }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80BF04B4[] = { ICHAIN_U8(targetMode, 0, ICHAIN_CONTINUE), ICHAIN_F32(targetArrowOffset, 30, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80BF02F0; extern InitChainEntry D_80BF04B4[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Akindonuts_0x80BECBE0/func_80BECBE0.asm") +extern UNK_TYPE D_06001350; +extern UNK_TYPE D_06005488; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Akindonuts_0x80BECBE0/func_80BECC7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Akindonuts/func_80BECBE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Akindonuts_0x80BECBE0/func_80BECD10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Akindonuts/func_80BECC7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Akindonuts_0x80BECBE0/func_80BECEAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Akindonuts/func_80BECD10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Akindonuts_0x80BECBE0/func_80BECF6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Akindonuts/func_80BECEAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Akindonuts_0x80BECBE0/func_80BECFBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Akindonuts/func_80BECF6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Akindonuts_0x80BECBE0/func_80BED034.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Akindonuts/func_80BECFBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Akindonuts_0x80BECBE0/func_80BED090.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Akindonuts/func_80BED034.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Akindonuts_0x80BECBE0/func_80BED140.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Akindonuts/func_80BED090.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Akindonuts_0x80BECBE0/func_80BED208.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Akindonuts/func_80BED140.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Akindonuts_0x80BECBE0/func_80BED27C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Akindonuts/func_80BED208.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Akindonuts_0x80BECBE0/func_80BED2FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Akindonuts/func_80BED27C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Akindonuts_0x80BECBE0/func_80BED35C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Akindonuts/func_80BED2FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Akindonuts_0x80BECBE0/func_80BED3BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Akindonuts/func_80BED35C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Akindonuts_0x80BECBE0/func_80BED680.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Akindonuts/func_80BED3BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Akindonuts_0x80BECBE0/func_80BED8A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Akindonuts/func_80BED680.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Akindonuts_0x80BECBE0/func_80BEDB88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Akindonuts/func_80BED8A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Akindonuts_0x80BECBE0/func_80BEDDAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Akindonuts/func_80BEDB88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Akindonuts_0x80BECBE0/func_80BEE070.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Akindonuts/func_80BEDDAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Akindonuts_0x80BECBE0/func_80BEE274.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Akindonuts/func_80BEE070.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Akindonuts_0x80BECBE0/func_80BEE530.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Akindonuts/func_80BEE274.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Akindonuts_0x80BECBE0/func_80BEE73C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Akindonuts/func_80BEE530.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Akindonuts_0x80BECBE0/func_80BEE938.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Akindonuts/func_80BEE73C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Akindonuts_0x80BECBE0/func_80BEEB20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Akindonuts/func_80BEE938.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Akindonuts_0x80BECBE0/func_80BEEDC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Akindonuts/func_80BEEB20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Akindonuts_0x80BECBE0/func_80BEEE10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Akindonuts/func_80BEEDC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Akindonuts_0x80BECBE0/func_80BEEFA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Akindonuts/func_80BEEE10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Akindonuts_0x80BECBE0/func_80BEF18C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Akindonuts/func_80BEEFA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Akindonuts_0x80BECBE0/func_80BEF20C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Akindonuts/func_80BEF18C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Akindonuts_0x80BECBE0/func_80BEF360.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Akindonuts/func_80BEF20C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Akindonuts_0x80BECBE0/func_80BEF450.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Akindonuts/func_80BEF360.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Akindonuts_0x80BECBE0/func_80BEF4B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Akindonuts/func_80BEF450.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Akindonuts_0x80BECBE0/func_80BEF518.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Akindonuts/func_80BEF4B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Akindonuts_0x80BECBE0/func_80BEF770.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Akindonuts/func_80BEF518.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Akindonuts_0x80BECBE0/func_80BEF83C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Akindonuts/func_80BEF770.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Akindonuts_0x80BECBE0/func_80BEF9F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Akindonuts/func_80BEF83C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Akindonuts_0x80BECBE0/func_80BEFAF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Akindonuts/func_80BEF9F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Akindonuts_0x80BECBE0/func_80BEFD74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Akindonuts/func_80BEFAF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Akindonuts_0x80BECBE0/EnAkindonuts_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Akindonuts/func_80BEFD74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Akindonuts_0x80BECBE0/EnAkindonuts_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Akindonuts/EnAkindonuts_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Akindonuts_0x80BECBE0/EnAkindonuts_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Akindonuts/EnAkindonuts_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Akindonuts_0x80BECBE0/func_80BEFFB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Akindonuts/EnAkindonuts_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Akindonuts_0x80BECBE0/func_80BF0178.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Akindonuts/func_80BEFFB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Akindonuts_0x80BECBE0/func_80BF0190.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Akindonuts/func_80BF0178.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Akindonuts_0x80BECBE0/EnAkindonuts_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Akindonuts/func_80BF0190.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Akindonuts/EnAkindonuts_Draw.s") diff --git a/src/overlays/actors/ovl_En_Akindonuts/z_en_akindonuts.h b/src/overlays/actors/ovl_En_Akindonuts/z_en_akindonuts.h index f8c4726b4d..12cdd4120a 100644 --- a/src/overlays/actors/ovl_En_Akindonuts/z_en_akindonuts.h +++ b/src/overlays/actors/ovl_En_Akindonuts/z_en_akindonuts.h @@ -1,13 +1,17 @@ #ifndef Z_EN_AKINDONUTS_H #define Z_EN_AKINDONUTS_H -#include +#include "global.h" struct EnAkindonuts; +typedef void (*EnAkindonutsActionFunc)(struct EnAkindonuts* this, GlobalContext* globalCtx); + typedef struct EnAkindonuts { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x228]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x194]; + /* 0x02D8 */ EnAkindonutsActionFunc actionFunc; + /* 0x02DC */ char unk_2DC[0x90]; } EnAkindonuts; // size = 0x36C extern const ActorInit En_Akindonuts_InitVars; diff --git a/src/overlays/actors/ovl_En_Al/z_en_al.c b/src/overlays/actors/ovl_En_Al/z_en_al.c index 41b24d3976..239997d36a 100644 --- a/src/overlays/actors/ovl_En_Al/z_en_al.c +++ b/src/overlays/actors/ovl_En_Al/z_en_al.c @@ -9,6 +9,9 @@ void EnAl_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnAl_Update(Actor* thisx, GlobalContext* globalCtx); void EnAl_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80BDF5E8(EnAl* this, GlobalContext* globalCtx); +void func_80BDF6C4(EnAl* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Al_InitVars = { ACTOR_EN_AL, @@ -22,7 +25,6 @@ const ActorInit En_Al_InitVars = { (ActorFunc)EnAl_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80BDFFB8 = { { COLTYPE_HIT1, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,79 +32,80 @@ static ColliderCylinderInit D_80BDFFB8 = { { 14, 62, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_80BDFFE4 = { 0, 0, 0, 0, MASS_IMMOVABLE }; +#endif extern ColliderCylinderInit D_80BDFFB8; extern CollisionCheckInfoInit2 D_80BDFFE4; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Al_0x80BDE1A0/func_80BDE1A0.asm") +extern UNK_TYPE D_0600A0D8; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Al_0x80BDE1A0/func_80BDE250.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Al/func_80BDE1A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Al_0x80BDE1A0/func_80BDE27C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Al/func_80BDE250.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Al_0x80BDE1A0/func_80BDE318.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Al/func_80BDE27C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Al_0x80BDE1A0/func_80BDE384.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Al/func_80BDE318.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Al_0x80BDE1A0/func_80BDE408.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Al/func_80BDE384.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Al_0x80BDE1A0/func_80BDE484.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Al/func_80BDE408.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Al_0x80BDE1A0/func_80BDE4E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Al/func_80BDE484.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Al_0x80BDE1A0/func_80BDE678.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Al/func_80BDE4E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Al_0x80BDE1A0/func_80BDE7FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Al/func_80BDE678.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Al_0x80BDE1A0/func_80BDE92C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Al/func_80BDE7FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Al_0x80BDE1A0/func_80BDEA14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Al/func_80BDE92C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Al_0x80BDE1A0/func_80BDEABC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Al/func_80BDEA14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Al_0x80BDE1A0/func_80BDEC2C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Al/func_80BDEABC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Al_0x80BDE1A0/func_80BDED20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Al/func_80BDEC2C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Al_0x80BDE1A0/func_80BDEE5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Al/func_80BDED20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Al_0x80BDE1A0/func_80BDEF3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Al/func_80BDEE5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Al_0x80BDE1A0/func_80BDEFE4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Al/func_80BDEF3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Al_0x80BDE1A0/func_80BDF064.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Al/func_80BDEFE4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Al_0x80BDE1A0/func_80BDF244.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Al/func_80BDF064.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Al_0x80BDE1A0/func_80BDF308.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Al/func_80BDF244.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Al_0x80BDE1A0/func_80BDF390.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Al/func_80BDF308.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Al_0x80BDE1A0/func_80BDF414.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Al/func_80BDF390.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Al_0x80BDE1A0/func_80BDF568.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Al/func_80BDF414.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Al_0x80BDE1A0/func_80BDF578.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Al/func_80BDF568.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Al_0x80BDE1A0/func_80BDF5E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Al/func_80BDF578.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Al_0x80BDE1A0/func_80BDF6C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Al/func_80BDF5E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Al_0x80BDE1A0/EnAl_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Al/func_80BDF6C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Al_0x80BDE1A0/EnAl_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Al/EnAl_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Al_0x80BDE1A0/EnAl_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Al/EnAl_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Al_0x80BDE1A0/func_80BDF914.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Al/EnAl_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Al_0x80BDE1A0/func_80BDF950.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Al/func_80BDF914.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Al_0x80BDE1A0/func_80BDFA34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Al/func_80BDF950.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Al_0x80BDE1A0/EnAl_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Al/func_80BDFA34.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Al/EnAl_Draw.s") diff --git a/src/overlays/actors/ovl_En_Al/z_en_al.h b/src/overlays/actors/ovl_En_Al/z_en_al.h index 980a4d0b34..837ac0258e 100644 --- a/src/overlays/actors/ovl_En_Al/z_en_al.h +++ b/src/overlays/actors/ovl_En_Al/z_en_al.h @@ -1,13 +1,17 @@ #ifndef Z_EN_AL_H #define Z_EN_AL_H -#include +#include "global.h" struct EnAl; +typedef void (*EnAlActionFunc)(struct EnAl* this, GlobalContext* globalCtx); + typedef struct EnAl { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x3BC]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ EnAlActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x374]; } EnAl; // size = 0x500 extern const ActorInit En_Al_InitVars; diff --git a/src/overlays/actors/ovl_En_Am/z_en_am.c b/src/overlays/actors/ovl_En_Am/z_en_am.c index 5f18d76a49..411b25f2bd 100644 --- a/src/overlays/actors/ovl_En_Am/z_en_am.c +++ b/src/overlays/actors/ovl_En_Am/z_en_am.c @@ -9,6 +9,17 @@ void EnAm_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnAm_Update(Actor* thisx, GlobalContext* globalCtx); void EnAm_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_808B0040(EnAm* this, GlobalContext* globalCtx); +void func_808B0124(EnAm* this, GlobalContext* globalCtx); +void func_808B03C0(EnAm* this, GlobalContext* globalCtx); +void func_808B04A8(EnAm* this, GlobalContext* globalCtx); +void func_808B0508(EnAm* this, GlobalContext* globalCtx); +void func_808B05C8(EnAm* this, GlobalContext* globalCtx); +void func_808B066C(EnAm* this, GlobalContext* globalCtx); +void func_808B07A8(EnAm* this, GlobalContext* globalCtx); +void func_808B0894(EnAm* this, GlobalContext* globalCtx); +void func_808B0B4C(EnAm* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Am_InitVars = { ACTOR_EN_AM, @@ -22,7 +33,6 @@ const ActorInit En_Am_InitVars = { (ActorFunc)EnAm_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_808B1070 = { { COLTYPE_HIT5, AT_NONE | AT_TYPE_ENEMY, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,7 +40,6 @@ static ColliderCylinderInit D_808B1070 = { { 23, 98, 0, { 0, 0, 0 } }, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_808B109C = { { COLTYPE_METAL, AT_NONE, AC_ON | AC_HARD | AC_TYPE_PLAYER, OC1_NONE, OC2_NONE, COLSHAPE_CYLINDER, }, @@ -38,7 +47,6 @@ static ColliderCylinderInit D_808B109C = { { 23, 98, 0, { 0, 0, 0 } }, }; - // static DamageTable sDamageTable = { static DamageTable D_808B10C8 = { /* Deku Nut */ DMG_ENTRY(0, 0xF), @@ -75,11 +83,9 @@ static DamageTable D_808B10C8 = { /* Powder Keg */ DMG_ENTRY(1, 0xF), }; - // sColChkInfoInit static CollisionCheckInfoInit D_808B10E8 = { 1, 23, 98, MASS_HEAVY }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_808B10F0[] = { ICHAIN_VEC3F_DIV1000(scale, 14, ICHAIN_CONTINUE), @@ -88,66 +94,70 @@ static InitChainEntry D_808B10F0[] = { ICHAIN_F32(targetArrowOffset, 2000, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_808B1070; extern ColliderCylinderInit D_808B109C; extern DamageTable D_808B10C8; extern CollisionCheckInfoInit D_808B10E8; extern InitChainEntry D_808B10F0[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Am_0x808AFCD0/EnAm_Init.asm") +extern UNK_TYPE D_06000238; +extern UNK_TYPE D_0600033C; +extern UNK_TYPE D_06005B3C; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Am_0x808AFCD0/EnAm_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Am/EnAm_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Am_0x808AFCD0/func_808AFE38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Am/EnAm_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Am_0x808AFCD0/func_808AFF9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Am/func_808AFE38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Am_0x808AFCD0/func_808B0040.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Am/func_808AFF9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Am_0x808AFCD0/func_808B00D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Am/func_808B0040.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Am_0x808AFCD0/func_808B0124.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Am/func_808B00D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Am_0x808AFCD0/func_808B0208.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Am/func_808B0124.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Am_0x808AFCD0/func_808B0358.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Am/func_808B0208.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Am_0x808AFCD0/func_808B03C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Am/func_808B0358.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Am_0x808AFCD0/func_808B0460.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Am/func_808B03C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Am_0x808AFCD0/func_808B04A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Am/func_808B0460.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Am_0x808AFCD0/func_808B04E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Am/func_808B04A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Am_0x808AFCD0/func_808B0508.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Am/func_808B04E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Am_0x808AFCD0/func_808B057C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Am/func_808B0508.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Am_0x808AFCD0/func_808B05C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Am/func_808B057C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Am_0x808AFCD0/func_808B0640.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Am/func_808B05C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Am_0x808AFCD0/func_808B066C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Am/func_808B0640.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Am_0x808AFCD0/func_808B06D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Am/func_808B066C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Am_0x808AFCD0/func_808B07A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Am/func_808B06D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Am_0x808AFCD0/func_808B0820.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Am/func_808B07A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Am_0x808AFCD0/func_808B0894.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Am/func_808B0820.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Am_0x808AFCD0/func_808B0AD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Am/func_808B0894.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Am_0x808AFCD0/func_808B0B4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Am/func_808B0AD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Am_0x808AFCD0/func_808B0B9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Am/func_808B0B4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Am_0x808AFCD0/EnAm_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Am/func_808B0B9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Am_0x808AFCD0/func_808B0EA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Am/EnAm_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Am_0x808AFCD0/EnAm_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Am/func_808B0EA4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Am/EnAm_Draw.s") diff --git a/src/overlays/actors/ovl_En_Am/z_en_am.h b/src/overlays/actors/ovl_En_Am/z_en_am.h index fc6d188e08..9a4c5faf16 100644 --- a/src/overlays/actors/ovl_En_Am/z_en_am.h +++ b/src/overlays/actors/ovl_En_Am/z_en_am.h @@ -1,13 +1,17 @@ #ifndef Z_EN_AM_H #define Z_EN_AM_H -#include +#include "global.h" struct EnAm; +typedef void (*EnAmActionFunc)(struct EnAm* this, GlobalContext* globalCtx); + typedef struct EnAm { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x23C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0xEC]; + /* 0x0230 */ EnAmActionFunc actionFunc; + /* 0x0234 */ char unk_234[0x14C]; } EnAm; // size = 0x380 extern const ActorInit En_Am_InitVars; diff --git a/src/overlays/actors/ovl_En_An/z_en_an.c b/src/overlays/actors/ovl_En_An/z_en_an.c index e9d3072e9e..285d334472 100644 --- a/src/overlays/actors/ovl_En_An/z_en_an.c +++ b/src/overlays/actors/ovl_En_An/z_en_an.c @@ -8,6 +8,10 @@ void EnAn_Init(Actor* thisx, GlobalContext* globalCtx); void EnAn_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnAn_Update(Actor* thisx, GlobalContext* globalCtx); +void func_80B577F0(EnAn* this, GlobalContext* globalCtx); +void func_80B578F8(EnAn* this, GlobalContext* globalCtx); +void func_80B57A44(EnAn* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_An_InitVars = { ACTOR_EN_AN, @@ -21,7 +25,6 @@ const ActorInit En_An_InitVars = { (ActorFunc)NULL, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80B58BBC = { { COLTYPE_HIT1, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -29,133 +32,135 @@ static ColliderCylinderInit D_80B58BBC = { { 14, 62, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_80B58BE8 = { 0, 0, 0, 0, MASS_IMMOVABLE }; +#endif extern ColliderCylinderInit D_80B58BBC; extern CollisionCheckInfoInit2 D_80B58BE8; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B53840.asm") +extern UNK_TYPE D_060111E8; +extern UNK_TYPE D_06012618; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B539CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B53840.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B53A7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B539CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B53B3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B53A7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B53BA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B53B3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B53CE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B53BA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B53ED4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B53CE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B53F84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B53ED4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B54124.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B53F84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B54678.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B54124.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B546F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B54678.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B54750.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B546F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B547C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B54750.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B5492C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B547C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B54A94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B5492C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B54BC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B54A94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B54C5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B54BC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B54D18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B54C5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B54DF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B54D18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B55180.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B54DF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B552E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B55180.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B553AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B552E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B554E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B553AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B555C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B554E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B556F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B555C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B557AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B556F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B55860.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B557AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B55914.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B55860.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B55D20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B55914.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B55D98.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B55D20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B55ECC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B55D98.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B55F8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B55ECC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B5600C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B55F8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B56094.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B5600C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B5611C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B56094.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B561A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B5611C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B56418.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B561A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B56744.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B56418.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B56880.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B56744.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B56B00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B56880.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B56BC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B56B00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B56CAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B56BC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B56D28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B56CAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B56E44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B56D28.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B56EB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B56E44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B5702C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B56EB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B572D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B5702C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B573F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B572D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B575BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B573F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B57674.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B575BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B57718.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B57674.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B577F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B57718.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B578F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B577F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B57A44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B578F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B57B48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B57A44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/EnAn_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B57B48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/EnAn_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/EnAn_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/EnAn_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/EnAn_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B57EE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/EnAn_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B57FC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B57EE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_An_0x80B53840/func_80B580C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B57FC4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_An/func_80B580C0.s") diff --git a/src/overlays/actors/ovl_En_An/z_en_an.h b/src/overlays/actors/ovl_En_An/z_en_an.h index e550135b74..e0743f9ea2 100644 --- a/src/overlays/actors/ovl_En_An/z_en_an.h +++ b/src/overlays/actors/ovl_En_An/z_en_an.h @@ -1,13 +1,17 @@ #ifndef Z_EN_AN_H #define Z_EN_AN_H -#include +#include "global.h" struct EnAn; +typedef void (*EnAnActionFunc)(struct EnAn* this, GlobalContext* globalCtx); + typedef struct EnAn { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x284]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ EnAnActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x23C]; } EnAn; // size = 0x3C8 extern const ActorInit En_An_InitVars; diff --git a/src/overlays/actors/ovl_En_And/z_en_and.c b/src/overlays/actors/ovl_En_And/z_en_and.c index c9ca734401..96de4702b7 100644 --- a/src/overlays/actors/ovl_En_And/z_en_and.c +++ b/src/overlays/actors/ovl_En_And/z_en_and.c @@ -9,6 +9,8 @@ void EnAnd_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnAnd_Update(Actor* thisx, GlobalContext* globalCtx); void EnAnd_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80C18C50(EnAnd* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_And_InitVars = { ACTOR_EN_AND, @@ -24,18 +26,20 @@ const ActorInit En_And_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_And_0x80C18B90/func_80C18B90.asm") +extern UNK_TYPE D_0600B380; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_And_0x80C18B90/func_80C18BD8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_And/func_80C18B90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_And_0x80C18B90/func_80C18C50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_And/func_80C18BD8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_And_0x80C18B90/EnAnd_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_And/func_80C18C50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_And_0x80C18B90/EnAnd_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_And/EnAnd_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_And_0x80C18B90/EnAnd_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_And/EnAnd_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_And_0x80C18B90/func_80C18ED0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_And/EnAnd_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_And_0x80C18B90/EnAnd_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_And/func_80C18ED0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_And/EnAnd_Draw.s") diff --git a/src/overlays/actors/ovl_En_And/z_en_and.h b/src/overlays/actors/ovl_En_And/z_en_and.h index 1769d94c43..e6df28854c 100644 --- a/src/overlays/actors/ovl_En_And/z_en_and.h +++ b/src/overlays/actors/ovl_En_And/z_en_and.h @@ -1,13 +1,17 @@ #ifndef Z_EN_AND_H #define Z_EN_AND_H -#include +#include "global.h" struct EnAnd; +typedef void (*EnAndActionFunc)(struct EnAnd* this, GlobalContext* globalCtx); + typedef struct EnAnd { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x1D0]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ EnAndActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x188]; } EnAnd; // size = 0x314 extern const ActorInit En_And_InitVars; diff --git a/src/overlays/actors/ovl_En_Ani/z_en_ani.c b/src/overlays/actors/ovl_En_Ani/z_en_ani.c index 0385569ae1..9f8d2e22b2 100644 --- a/src/overlays/actors/ovl_En_Ani/z_en_ani.c +++ b/src/overlays/actors/ovl_En_Ani/z_en_ani.c @@ -22,7 +22,6 @@ const ActorInit En_Ani_InitVars = { (ActorFunc)EnAni_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80968670 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_ENEMY, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,50 +29,55 @@ static ColliderCylinderInit D_80968670 = { { 30, 40, 0, { 0, 0, 0 } }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_8096869C[] = { ICHAIN_VEC3F_DIV1000(scale, 10, ICHAIN_CONTINUE), ICHAIN_F32(uncullZoneForward, 850, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80968670; extern InitChainEntry D_8096869C[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ani_0x809679D0/func_809679D0.asm") +extern UNK_TYPE D_06000C14; +extern UNK_TYPE D_060011CC; +extern UNK_TYPE D_060027A0; +extern UNK_TYPE D_06009220; +extern UNK_TYPE D_06009D34; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ani_0x809679D0/func_80967A48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ani/func_809679D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ani_0x809679D0/func_80967AB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ani/func_80967A48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ani_0x809679D0/EnAni_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ani/func_80967AB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ani_0x809679D0/EnAni_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ani/EnAni_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ani_0x809679D0/func_80967D20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ani/EnAni_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ani_0x809679D0/func_80967DA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ani/func_80967D20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ani_0x809679D0/func_80967DCC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ani/func_80967DA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ani_0x809679D0/func_80967E34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ani/func_80967DCC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ani_0x809679D0/func_80967E90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ani/func_80967E34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ani_0x809679D0/func_80967F20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ani/func_80967E90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ani_0x809679D0/func_80967FA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ani/func_80967F20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ani_0x809679D0/func_809680B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ani/func_80967FA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ani_0x809679D0/func_80968164.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ani/func_809680B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ani_0x809679D0/EnAni_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ani/func_80968164.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ani_0x809679D0/func_80968504.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ani/EnAni_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ani_0x809679D0/func_8096854C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ani/func_80968504.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ani_0x809679D0/EnAni_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ani/func_8096854C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ani/EnAni_Draw.s") diff --git a/src/overlays/actors/ovl_En_Ani/z_en_ani.h b/src/overlays/actors/ovl_En_Ani/z_en_ani.h index 4965921cdc..590475eecb 100644 --- a/src/overlays/actors/ovl_En_Ani/z_en_ani.h +++ b/src/overlays/actors/ovl_En_Ani/z_en_ani.h @@ -1,13 +1,17 @@ #ifndef Z_EN_ANI_H #define Z_EN_ANI_H -#include +#include "global.h" struct EnAni; +typedef void (*EnAniActionFunc)(struct EnAni* this, GlobalContext* globalCtx); + typedef struct EnAni { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x1BC]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x1B0]; + /* 0x02F4 */ EnAniActionFunc actionFunc; + /* 0x02F8 */ char unk_2F8[0x8]; } EnAni; // size = 0x300 extern const ActorInit En_Ani_InitVars; diff --git a/src/overlays/actors/ovl_En_Aob_01/z_en_aob_01.c b/src/overlays/actors/ovl_En_Aob_01/z_en_aob_01.c index 337016442e..54af774ac2 100644 --- a/src/overlays/actors/ovl_En_Aob_01/z_en_aob_01.c +++ b/src/overlays/actors/ovl_En_Aob_01/z_en_aob_01.c @@ -9,6 +9,20 @@ void EnAob01_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnAob01_Update(Actor* thisx, GlobalContext* globalCtx); void EnAob01_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_809C1C9C(EnAob01* this, GlobalContext* globalCtx); +void func_809C1D64(EnAob01* this, GlobalContext* globalCtx); +void func_809C2060(EnAob01* this, GlobalContext* globalCtx); +void func_809C21E0(EnAob01* this, GlobalContext* globalCtx); +void func_809C26E4(EnAob01* this, GlobalContext* globalCtx); +void func_809C2730(EnAob01* this, GlobalContext* globalCtx); +void func_809C2788(EnAob01* this, GlobalContext* globalCtx); +void func_809C2824(EnAob01* this, GlobalContext* globalCtx); +void func_809C28B8(EnAob01* this, GlobalContext* globalCtx); +void func_809C2A64(EnAob01* this, GlobalContext* globalCtx); +void func_809C2BE4(EnAob01* this, GlobalContext* globalCtx); +void func_809C2C9C(EnAob01* this, GlobalContext* globalCtx); +void func_809C2D0C(EnAob01* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Aob_01_InitVars = { ACTOR_EN_AOB_01, @@ -22,7 +36,6 @@ const ActorInit En_Aob_01_InitVars = { (ActorFunc)EnAob01_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_809C3820 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,82 +43,85 @@ static ColliderCylinderInit D_809C3820 = { { 18, 64, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_809C3820; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Aob_01_0x809C10B0/func_809C10B0.asm") +extern ColliderCylinderInit D_809C3820; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Aob_01_0x809C10B0/func_809C1124.asm") +extern UNK_TYPE D_06000180; +extern UNK_TYPE D_06003D18; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Aob_01_0x809C10B0/func_809C1158.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Aob_01/func_809C10B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Aob_01_0x809C10B0/func_809C11EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Aob_01/func_809C1124.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Aob_01_0x809C10B0/func_809C1304.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Aob_01/func_809C1158.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Aob_01_0x809C10B0/func_809C1424.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Aob_01/func_809C11EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Aob_01_0x809C10B0/func_809C14D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Aob_01/func_809C1304.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Aob_01_0x809C10B0/func_809C15BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Aob_01/func_809C1424.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Aob_01_0x809C10B0/func_809C165C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Aob_01/func_809C14D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Aob_01_0x809C10B0/func_809C16DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Aob_01/func_809C15BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Aob_01_0x809C10B0/func_809C1C9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Aob_01/func_809C165C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Aob_01_0x809C10B0/func_809C1D64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Aob_01/func_809C16DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Aob_01_0x809C10B0/func_809C1EC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Aob_01/func_809C1C9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Aob_01_0x809C10B0/func_809C2060.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Aob_01/func_809C1D64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Aob_01_0x809C10B0/func_809C21E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Aob_01/func_809C1EC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Aob_01_0x809C10B0/func_809C2504.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Aob_01/func_809C2060.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Aob_01_0x809C10B0/func_809C2594.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Aob_01/func_809C21E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Aob_01_0x809C10B0/func_809C25E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Aob_01/func_809C2504.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Aob_01_0x809C10B0/func_809C2680.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Aob_01/func_809C2594.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Aob_01_0x809C10B0/func_809C26E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Aob_01/func_809C25E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Aob_01_0x809C10B0/func_809C2730.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Aob_01/func_809C2680.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Aob_01_0x809C10B0/func_809C2788.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Aob_01/func_809C26E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Aob_01_0x809C10B0/func_809C2824.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Aob_01/func_809C2730.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Aob_01_0x809C10B0/func_809C28B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Aob_01/func_809C2788.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Aob_01_0x809C10B0/func_809C2A64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Aob_01/func_809C2824.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Aob_01_0x809C10B0/func_809C2BE4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Aob_01/func_809C28B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Aob_01_0x809C10B0/func_809C2C9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Aob_01/func_809C2A64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Aob_01_0x809C10B0/func_809C2D0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Aob_01/func_809C2BE4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Aob_01_0x809C10B0/func_809C2EC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Aob_01/func_809C2C9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Aob_01_0x809C10B0/func_809C2F34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Aob_01/func_809C2D0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Aob_01_0x809C10B0/func_809C2FA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Aob_01/func_809C2EC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Aob_01_0x809C10B0/EnAob01_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Aob_01/func_809C2F34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Aob_01_0x809C10B0/EnAob01_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Aob_01/func_809C2FA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Aob_01_0x809C10B0/EnAob01_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Aob_01/EnAob01_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Aob_01_0x809C10B0/func_809C33D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Aob_01/EnAob01_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Aob_01_0x809C10B0/func_809C35B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Aob_01/EnAob01_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Aob_01_0x809C10B0/func_809C35F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Aob_01/func_809C33D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Aob_01_0x809C10B0/EnAob01_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Aob_01/func_809C35B4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Aob_01/func_809C35F4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Aob_01/EnAob01_Draw.s") diff --git a/src/overlays/actors/ovl_En_Aob_01/z_en_aob_01.h b/src/overlays/actors/ovl_En_Aob_01/z_en_aob_01.h index f151475c30..3e992db975 100644 --- a/src/overlays/actors/ovl_En_Aob_01/z_en_aob_01.h +++ b/src/overlays/actors/ovl_En_Aob_01/z_en_aob_01.h @@ -1,13 +1,16 @@ #ifndef Z_EN_AOB_01_H #define Z_EN_AOB_01_H -#include +#include "global.h" struct EnAob01; +typedef void (*EnAob01ActionFunc)(struct EnAob01* this, GlobalContext* globalCtx); + typedef struct EnAob01 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x300]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ EnAob01ActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x2FC]; } EnAob01; // size = 0x444 extern const ActorInit En_Aob_01_InitVars; diff --git a/src/overlays/actors/ovl_En_Arrow/z_en_arrow.c b/src/overlays/actors/ovl_En_Arrow/z_en_arrow.c index 052cb0ad37..a4bacc799d 100644 --- a/src/overlays/actors/ovl_En_Arrow/z_en_arrow.c +++ b/src/overlays/actors/ovl_En_Arrow/z_en_arrow.c @@ -9,6 +9,11 @@ void EnArrow_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnArrow_Update(Actor* thisx, GlobalContext* globalCtx); void EnArrow_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_8088A594(EnArrow* this, GlobalContext* globalCtx); +void func_8088ACE0(EnArrow* this, GlobalContext* globalCtx); +void func_8088B630(EnArrow* this, GlobalContext* globalCtx); +void func_8088B6B0(EnArrow* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Arrow_InitVars = { ACTOR_EN_ARROW, @@ -22,7 +27,6 @@ const ActorInit En_Arrow_InitVars = { (ActorFunc)EnArrow_Draw, }; - // static ColliderQuadInit sQuadInit = { static ColliderQuadInit D_8088C1E0 = { { COLTYPE_NONE, AT_ON | AT_TYPE_PLAYER, AC_NONE, OC1_NONE, OC2_TYPE_PLAYER, COLSHAPE_QUAD, }, @@ -30,39 +34,38 @@ static ColliderQuadInit D_8088C1E0 = { { { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } } }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_8088C230[] = { ICHAIN_F32(minVelocityY, -150, ICHAIN_STOP), }; +#endif extern ColliderQuadInit D_8088C1E0; extern InitChainEntry D_8088C230[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Arrow_0x8088A240/EnArrow_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Arrow/EnArrow_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Arrow_0x8088A240/EnArrow_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Arrow/EnArrow_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Arrow_0x8088A240/func_8088A514.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Arrow/func_8088A514.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Arrow_0x8088A240/func_8088A594.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Arrow/func_8088A594.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Arrow_0x8088A240/func_8088A7D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Arrow/func_8088A7D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Arrow_0x8088A240/func_8088A894.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Arrow/func_8088A894.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Arrow_0x8088A240/func_8088AA98.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Arrow/func_8088AA98.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Arrow_0x8088A240/func_8088ACE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Arrow/func_8088ACE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Arrow_0x8088A240/func_8088B630.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Arrow/func_8088B630.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Arrow_0x8088A240/func_8088B6B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Arrow/func_8088B6B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Arrow_0x8088A240/EnArrow_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Arrow/EnArrow_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Arrow_0x8088A240/func_8088B88C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Arrow/func_8088B88C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Arrow_0x8088A240/EnArrow_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Arrow/EnArrow_Draw.s") diff --git a/src/overlays/actors/ovl_En_Arrow/z_en_arrow.h b/src/overlays/actors/ovl_En_Arrow/z_en_arrow.h index 042e359291..ff2adf7f0e 100644 --- a/src/overlays/actors/ovl_En_Arrow/z_en_arrow.h +++ b/src/overlays/actors/ovl_En_Arrow/z_en_arrow.h @@ -1,13 +1,16 @@ #ifndef Z_EN_ARROW_H #define Z_EN_ARROW_H -#include +#include "global.h" struct EnArrow; +typedef void (*EnArrowActionFunc)(struct EnArrow* this, GlobalContext* globalCtx); + typedef struct EnArrow { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x134]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x130]; + /* 0x0274 */ EnArrowActionFunc actionFunc; } EnArrow; // size = 0x278 extern const ActorInit En_Arrow_InitVars; diff --git a/src/overlays/actors/ovl_En_Attack_Niw/z_en_attack_niw.c b/src/overlays/actors/ovl_En_Attack_Niw/z_en_attack_niw.c index a9445dff1d..c1342a0f34 100644 --- a/src/overlays/actors/ovl_En_Attack_Niw/z_en_attack_niw.c +++ b/src/overlays/actors/ovl_En_Attack_Niw/z_en_attack_niw.c @@ -9,6 +9,10 @@ void EnAttackNiw_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnAttackNiw_Update(Actor* thisx, GlobalContext* globalCtx); void EnAttackNiw_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80958634(EnAttackNiw* this, GlobalContext* globalCtx); +void func_80958974(EnAttackNiw* this, GlobalContext* globalCtx); +void func_80958BE4(EnAttackNiw* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Attack_Niw_InitVars = { ACTOR_EN_ATTACK_NIW, @@ -22,7 +26,6 @@ const ActorInit En_Attack_Niw_InitVars = { (ActorFunc)EnAttackNiw_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80959120[] = { ICHAIN_U8(targetMode, 1, ICHAIN_CONTINUE), @@ -30,26 +33,28 @@ static InitChainEntry D_80959120[] = { ICHAIN_F32(targetArrowOffset, 0, ICHAIN_STOP), }; - -extern InitChainEntry D_80959120[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Attack_Niw_0x809580C0/EnAttackNiw_Init.asm") +extern InitChainEntry D_80959120[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Attack_Niw_0x809580C0/EnAttackNiw_Destroy.asm") +extern UNK_TYPE D_060000E8; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Attack_Niw_0x809580C0/func_80958228.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Attack_Niw/EnAttackNiw_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Attack_Niw_0x809580C0/func_809585B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Attack_Niw/EnAttackNiw_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Attack_Niw_0x809580C0/func_80958634.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Attack_Niw/func_80958228.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Attack_Niw_0x809580C0/func_80958974.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Attack_Niw/func_809585B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Attack_Niw_0x809580C0/func_80958BE4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Attack_Niw/func_80958634.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Attack_Niw_0x809580C0/EnAttackNiw_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Attack_Niw/func_80958974.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Attack_Niw_0x809580C0/func_80958F6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Attack_Niw/func_80958BE4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Attack_Niw_0x809580C0/EnAttackNiw_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Attack_Niw/EnAttackNiw_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Attack_Niw/func_80958F6C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Attack_Niw/EnAttackNiw_Draw.s") diff --git a/src/overlays/actors/ovl_En_Attack_Niw/z_en_attack_niw.h b/src/overlays/actors/ovl_En_Attack_Niw/z_en_attack_niw.h index ac88ff3b66..984e11c8e1 100644 --- a/src/overlays/actors/ovl_En_Attack_Niw/z_en_attack_niw.h +++ b/src/overlays/actors/ovl_En_Attack_Niw/z_en_attack_niw.h @@ -1,13 +1,17 @@ #ifndef Z_EN_ATTACK_NIW_H #define Z_EN_ATTACK_NIW_H -#include +#include "global.h" struct EnAttackNiw; +typedef void (*EnAttackNiwActionFunc)(struct EnAttackNiw* this, GlobalContext* globalCtx); + typedef struct EnAttackNiw { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x19C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x104]; + /* 0x0248 */ EnAttackNiwActionFunc actionFunc; + /* 0x024C */ char unk_24C[0x94]; } EnAttackNiw; // size = 0x2E0 extern const ActorInit En_Attack_Niw_InitVars; diff --git a/src/overlays/actors/ovl_En_Az/z_en_az.c b/src/overlays/actors/ovl_En_Az/z_en_az.c index f84fb53fde..6ce1660e94 100644 --- a/src/overlays/actors/ovl_En_Az/z_en_az.c +++ b/src/overlays/actors/ovl_En_Az/z_en_az.c @@ -9,6 +9,17 @@ void EnAz_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnAz_Update(Actor* thisx, GlobalContext* globalCtx); void EnAz_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80A95CEC(EnAz* this, GlobalContext* globalCtx); +void func_80A95E88(EnAz* this, GlobalContext* globalCtx); +void func_80A95FE8(EnAz* this, GlobalContext* globalCtx); +void func_80A979F4(EnAz* this, GlobalContext* globalCtx); +void func_80A97A40(EnAz* this, GlobalContext* globalCtx); +void func_80A97AB4(EnAz* this, GlobalContext* globalCtx); +void func_80A97C24(EnAz* this, GlobalContext* globalCtx); +void func_80A97C4C(EnAz* this, GlobalContext* globalCtx); +void func_80A97E48(EnAz* this, GlobalContext* globalCtx); +void func_80A97F9C(EnAz* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Az_InitVars = { ACTOR_EN_AZ, @@ -22,7 +33,6 @@ const ActorInit En_Az_InitVars = { (ActorFunc)EnAz_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80A99110 = { { COLTYPE_HIT0, AT_NONE, AC_ON | AC_TYPE_PLAYER | AC_TYPE_ENEMY, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,98 +40,101 @@ static ColliderCylinderInit D_80A99110 = { { 18, 46, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80A99110; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/func_80A94A30.asm") +extern ColliderCylinderInit D_80A99110; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/func_80A94A64.asm") +extern UNK_TYPE D_0600C94C; +extern UNK_TYPE D_0601ABF0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/func_80A94A90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/func_80A94A30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/func_80A94AB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/func_80A94A64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/func_80A94B20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/func_80A94A90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/func_80A94B98.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/func_80A94AB8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/EnAz_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/func_80A94B20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/EnAz_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/func_80A94B98.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/func_80A954AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/EnAz_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/func_80A95534.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/EnAz_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/func_80A9565C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/func_80A954AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/func_80A95730.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/func_80A95534.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/func_80A958B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/func_80A9565C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/func_80A95B34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/func_80A95730.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/func_80A95C5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/func_80A958B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/func_80A95CEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/func_80A95B34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/func_80A95DA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/func_80A95C5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/func_80A95E88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/func_80A95CEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/func_80A95F94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/func_80A95DA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/func_80A95FE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/func_80A95E88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/func_80A9617C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/func_80A95F94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/func_80A97114.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/func_80A95FE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/func_80A97274.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/func_80A9617C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/func_80A973B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/func_80A97114.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/func_80A97410.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/func_80A97274.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/func_80A979DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/func_80A973B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/func_80A979F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/func_80A97410.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/func_80A97A28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/func_80A979DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/func_80A97A40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/func_80A979F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/func_80A97A9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/func_80A97A28.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/func_80A97AB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/func_80A97A40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/func_80A97C0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/func_80A97A9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/func_80A97C24.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/func_80A97AB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/func_80A97C4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/func_80A97C0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/func_80A97D5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/func_80A97C24.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/func_80A97E48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/func_80A97C4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/func_80A97EAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/func_80A97D5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/func_80A97F9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/func_80A97E48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/func_80A982E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/func_80A97EAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/func_80A98414.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/func_80A97F9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/EnAz_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/func_80A982E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/EnAz_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/func_80A98414.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/func_80A98DA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/EnAz_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/func_80A98E48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/EnAz_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/func_80A98EFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/func_80A98DA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Az_0x80A94A30/func_80A98F94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/func_80A98E48.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/func_80A98EFC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Az/func_80A98F94.s") diff --git a/src/overlays/actors/ovl_En_Az/z_en_az.h b/src/overlays/actors/ovl_En_Az/z_en_az.h index ffe0b5f87f..61db4e6a82 100644 --- a/src/overlays/actors/ovl_En_Az/z_en_az.h +++ b/src/overlays/actors/ovl_En_Az/z_en_az.h @@ -1,13 +1,16 @@ #ifndef Z_EN_AZ_H #define Z_EN_AZ_H -#include +#include "global.h" struct EnAz; +typedef void (*EnAzActionFunc)(struct EnAz* this, GlobalContext* globalCtx); + typedef struct EnAz { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x294]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ EnAzActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x290]; } EnAz; // size = 0x3D8 extern const ActorInit En_Az_InitVars; diff --git a/src/overlays/actors/ovl_En_Baba/z_en_baba.c b/src/overlays/actors/ovl_En_Baba/z_en_baba.c index 53f3619a2e..8c90219272 100644 --- a/src/overlays/actors/ovl_En_Baba/z_en_baba.c +++ b/src/overlays/actors/ovl_En_Baba/z_en_baba.c @@ -9,6 +9,18 @@ void EnBaba_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnBaba_Update(Actor* thisx, GlobalContext* globalCtx); void EnBaba_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80BA9480(EnBaba* this, GlobalContext* globalCtx); +void func_80BA9758(EnBaba* this, GlobalContext* globalCtx); +void func_80BA9848(EnBaba* this, GlobalContext* globalCtx); +void func_80BA98EC(EnBaba* this, GlobalContext* globalCtx); +void func_80BA9AB8(EnBaba* this, GlobalContext* globalCtx); +void func_80BA9B24(EnBaba* this, GlobalContext* globalCtx); +void func_80BA9B80(EnBaba* this, GlobalContext* globalCtx); +void func_80BA9CD4(EnBaba* this, GlobalContext* globalCtx); +void func_80BA9E00(EnBaba* this, GlobalContext* globalCtx); +void func_80BA9E10(EnBaba* this, GlobalContext* globalCtx); +void func_80BA9E48(EnBaba* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Baba_InitVars = { ACTOR_EN_BABA, @@ -22,7 +34,6 @@ const ActorInit En_Baba_InitVars = { (ActorFunc)EnBaba_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80BAA430 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,11 +41,9 @@ static ColliderCylinderInit D_80BAA430 = { { 18, 64, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_80BAA45C = { 0, 0, 0, 0, MASS_IMMOVABLE }; - // static DamageTable sDamageTable = { static DamageTable D_80BAA468 = { /* Deku Nut */ DMG_ENTRY(1, 0x0), @@ -71,64 +80,67 @@ static DamageTable D_80BAA468 = { /* Powder Keg */ DMG_ENTRY(1, 0x0), }; +#endif extern ColliderCylinderInit D_80BAA430; extern CollisionCheckInfoInit2 D_80BAA45C; extern DamageTable D_80BAA468; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Baba_0x80BA8820/func_80BA8820.asm") +extern UNK_TYPE D_06006B10; +extern UNK_TYPE D_060092A0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Baba_0x80BA8820/func_80BA886C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Baba/func_80BA8820.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Baba_0x80BA8820/func_80BA8C4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Baba/func_80BA886C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Baba_0x80BA8820/func_80BA8C90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Baba/func_80BA8C4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Baba_0x80BA8820/func_80BA8D2C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Baba/func_80BA8C90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Baba_0x80BA8820/func_80BA8DF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Baba/func_80BA8D2C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Baba_0x80BA8820/func_80BA8F88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Baba/func_80BA8DF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Baba_0x80BA8820/func_80BA9110.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Baba/func_80BA8F88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Baba_0x80BA8820/func_80BA9160.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Baba/func_80BA9110.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Baba_0x80BA8820/func_80BA93AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Baba/func_80BA9160.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Baba_0x80BA8820/func_80BA9480.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Baba/func_80BA93AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Baba_0x80BA8820/func_80BA9758.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Baba/func_80BA9480.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Baba_0x80BA8820/func_80BA9848.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Baba/func_80BA9758.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Baba_0x80BA8820/func_80BA98EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Baba/func_80BA9848.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Baba_0x80BA8820/func_80BA9AB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Baba/func_80BA98EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Baba_0x80BA8820/func_80BA9B24.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Baba/func_80BA9AB8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Baba_0x80BA8820/func_80BA9B80.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Baba/func_80BA9B24.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Baba_0x80BA8820/func_80BA9CD4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Baba/func_80BA9B80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Baba_0x80BA8820/func_80BA9E00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Baba/func_80BA9CD4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Baba_0x80BA8820/func_80BA9E10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Baba/func_80BA9E00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Baba_0x80BA8820/func_80BA9E48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Baba/func_80BA9E10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Baba_0x80BA8820/EnBaba_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Baba/func_80BA9E48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Baba_0x80BA8820/EnBaba_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Baba/EnBaba_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Baba_0x80BA8820/EnBaba_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Baba/EnBaba_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Baba_0x80BA8820/func_80BA9FB0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Baba/EnBaba_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Baba_0x80BA8820/func_80BAA198.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Baba/func_80BA9FB0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Baba_0x80BA8820/func_80BAA20C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Baba/func_80BAA198.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Baba_0x80BA8820/EnBaba_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Baba/func_80BAA20C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Baba/EnBaba_Draw.s") diff --git a/src/overlays/actors/ovl_En_Baba/z_en_baba.h b/src/overlays/actors/ovl_En_Baba/z_en_baba.h index 9e0dedef4d..af6c447eff 100644 --- a/src/overlays/actors/ovl_En_Baba/z_en_baba.h +++ b/src/overlays/actors/ovl_En_Baba/z_en_baba.h @@ -1,13 +1,17 @@ #ifndef Z_EN_BABA_H #define Z_EN_BABA_H -#include +#include "global.h" struct EnBaba; +typedef void (*EnBabaActionFunc)(struct EnBaba* this, GlobalContext* globalCtx); + typedef struct EnBaba { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x2FC]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x4]; + /* 0x0148 */ EnBabaActionFunc actionFunc; + /* 0x014C */ char unk_14C[0x2F4]; } EnBaba; // size = 0x440 extern const ActorInit En_Baba_InitVars; diff --git a/src/overlays/actors/ovl_En_Baguo/z_en_baguo.c b/src/overlays/actors/ovl_En_Baguo/z_en_baguo.c index 2f550ac035..52df1b78eb 100644 --- a/src/overlays/actors/ovl_En_Baguo/z_en_baguo.c +++ b/src/overlays/actors/ovl_En_Baguo/z_en_baguo.c @@ -21,7 +21,6 @@ const ActorInit En_Baguo_InitVars = { (ActorFunc)NULL, }; - // static ColliderJntSphElementInit sJntSphElementsInit[1] = { static ColliderJntSphElementInit D_80A3C2F0[1] = { { @@ -36,7 +35,6 @@ static ColliderJntSphInit D_80A3C314 = { 1, D_80A3C2F0, // sJntSphElementsInit, }; - // static DamageTable sDamageTable = { static DamageTable D_80A3C324 = { /* Deku Nut */ DMG_ENTRY(0, 0xF), @@ -73,40 +71,42 @@ static DamageTable D_80A3C324 = { /* Powder Keg */ DMG_ENTRY(1, 0xE), }; +#endif extern ColliderJntSphElementInit D_80A3C2F0[1]; extern ColliderJntSphInit D_80A3C314; extern DamageTable D_80A3C324; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Baguo_0x80A3B080/EnBaguo_Init.asm") +extern UNK_TYPE D_060020E8; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Baguo_0x80A3B080/EnBaguo_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Baguo/EnBaguo_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Baguo_0x80A3B080/func_80A3B220.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Baguo/EnBaguo_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Baguo_0x80A3B080/func_80A3B2CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Baguo/func_80A3B220.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Baguo_0x80A3B080/func_80A3B3E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Baguo/func_80A3B2CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Baguo_0x80A3B080/func_80A3B5E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Baguo/func_80A3B3E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Baguo_0x80A3B080/func_80A3B794.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Baguo/func_80A3B5E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Baguo_0x80A3B080/func_80A3B7B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Baguo/func_80A3B794.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Baguo_0x80A3B080/func_80A3B8F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Baguo/func_80A3B7B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Baguo_0x80A3B080/func_80A3B958.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Baguo/func_80A3B8F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Baguo_0x80A3B080/EnBaguo_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Baguo/func_80A3B958.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Baguo_0x80A3B080/func_80A3BE24.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Baguo/EnBaguo_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Baguo_0x80A3B080/func_80A3BE60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Baguo/func_80A3BE24.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Baguo_0x80A3B080/func_80A3BF0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Baguo/func_80A3BE60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Baguo_0x80A3B080/func_80A3C008.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Baguo/func_80A3BF0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Baguo_0x80A3B080/func_80A3C17C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Baguo/func_80A3C008.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Baguo/func_80A3C17C.s") diff --git a/src/overlays/actors/ovl_En_Baguo/z_en_baguo.h b/src/overlays/actors/ovl_En_Baguo/z_en_baguo.h index b83a6655f2..0b60b55832 100644 --- a/src/overlays/actors/ovl_En_Baguo/z_en_baguo.h +++ b/src/overlays/actors/ovl_En_Baguo/z_en_baguo.h @@ -1,13 +1,17 @@ #ifndef Z_EN_BAGUO_H #define Z_EN_BAGUO_H -#include +#include "global.h" struct EnBaguo; +typedef void (*EnBaguoActionFunc)(struct EnBaguo* this, GlobalContext* globalCtx); + typedef struct EnBaguo { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x788]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x68]; + /* 0x01AC */ EnBaguoActionFunc actionFunc; + /* 0x01B0 */ char unk_1B0[0x71C]; } EnBaguo; // size = 0x8CC extern const ActorInit En_Baguo_InitVars; diff --git a/src/overlays/actors/ovl_En_Baisen/z_en_baisen.h b/src/overlays/actors/ovl_En_Baisen/z_en_baisen.h index 9497ababa6..f903ec15d5 100644 --- a/src/overlays/actors/ovl_En_Baisen/z_en_baisen.h +++ b/src/overlays/actors/ovl_En_Baisen/z_en_baisen.h @@ -1,7 +1,7 @@ #ifndef Z_EN_BAISEN_H #define Z_EN_BAISEN_H -#include +#include "global.h" struct EnBaisen; diff --git a/src/overlays/actors/ovl_En_Bal/z_en_bal.c b/src/overlays/actors/ovl_En_Bal/z_en_bal.c index daed7a5170..8c284396d7 100644 --- a/src/overlays/actors/ovl_En_Bal/z_en_bal.c +++ b/src/overlays/actors/ovl_En_Bal/z_en_bal.c @@ -22,7 +22,6 @@ const ActorInit En_Bal_InitVars = { (ActorFunc)EnBal_Draw, }; - // static DamageTable sDamageTable = { static DamageTable D_80A63CE0 = { /* Deku Nut */ DMG_ENTRY(0, 0x0), @@ -59,11 +58,9 @@ static DamageTable D_80A63CE0 = { /* Powder Keg */ DMG_ENTRY(0, 0x0), }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_80A63D00 = { 1, 0, 0, 0, MASS_IMMOVABLE }; - // static ColliderJntSphElementInit sJntSphElementsInit[1] = { static ColliderJntSphElementInit D_80A63D0C[1] = { { @@ -78,87 +75,91 @@ static ColliderJntSphInit D_80A63D30 = { 1, D_80A63D0C, // sJntSphElementsInit, }; +#endif extern DamageTable D_80A63CE0; extern CollisionCheckInfoInit2 D_80A63D00; extern ColliderJntSphElementInit D_80A63D0C[1]; extern ColliderJntSphInit D_80A63D30; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bal_0x80A61810/EnBal_Init.asm") +extern UNK_TYPE D_060005FC; +extern UNK_TYPE D_0600CB78; +extern UNK_TYPE D_0600D530; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bal_0x80A61810/EnBal_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bal/EnBal_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bal_0x80A61810/func_80A61A18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bal/EnBal_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bal_0x80A61810/func_80A61A44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bal/func_80A61A18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bal_0x80A61810/func_80A61A6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bal/func_80A61A44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bal_0x80A61810/func_80A61ADC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bal/func_80A61A6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bal_0x80A61810/func_80A61B5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bal/func_80A61ADC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bal_0x80A61810/func_80A61C9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bal/func_80A61B5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bal_0x80A61810/func_80A61CE4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bal/func_80A61C9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bal_0x80A61810/func_80A61DF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bal/func_80A61CE4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bal_0x80A61810/func_80A61E5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bal/func_80A61DF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bal_0x80A61810/func_80A62128.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bal/func_80A61E5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bal_0x80A61810/func_80A621C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bal/func_80A62128.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bal_0x80A61810/func_80A62260.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bal/func_80A621C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bal_0x80A61810/func_80A622A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bal/func_80A62260.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bal_0x80A61810/func_80A623CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bal/func_80A622A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bal_0x80A61810/func_80A624DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bal/func_80A623CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bal_0x80A61810/func_80A62818.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bal/func_80A624DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bal_0x80A61810/func_80A62830.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bal/func_80A62818.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bal_0x80A61810/func_80A629C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bal/func_80A62830.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bal_0x80A61810/func_80A62AC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bal/func_80A629C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bal_0x80A61810/func_80A62B30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bal/func_80A62AC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bal_0x80A61810/func_80A62B78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bal/func_80A62B30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bal_0x80A61810/func_80A62CF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bal/func_80A62B78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bal_0x80A61810/func_80A62DCC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bal/func_80A62CF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bal_0x80A61810/func_80A62ED0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bal/func_80A62DCC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bal_0x80A61810/func_80A62FAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bal/func_80A62ED0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bal_0x80A61810/func_80A63158.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bal/func_80A62FAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bal_0x80A61810/func_80A634B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bal/func_80A63158.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bal_0x80A61810/func_80A634C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bal/func_80A634B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bal_0x80A61810/func_80A635DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bal/func_80A634C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bal_0x80A61810/func_80A635F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bal/func_80A635DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bal_0x80A61810/func_80A636AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bal/func_80A635F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bal_0x80A61810/func_80A637FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bal/func_80A636AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bal_0x80A61810/func_80A63884.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bal/func_80A637FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bal_0x80A61810/EnBal_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bal/func_80A63884.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bal_0x80A61810/func_80A63A10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bal/EnBal_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bal_0x80A61810/func_80A63B94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bal/func_80A63A10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bal_0x80A61810/EnBal_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bal/func_80A63B94.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bal/EnBal_Draw.s") diff --git a/src/overlays/actors/ovl_En_Bal/z_en_bal.h b/src/overlays/actors/ovl_En_Bal/z_en_bal.h index 6622fd9ed0..150e94e10e 100644 --- a/src/overlays/actors/ovl_En_Bal/z_en_bal.h +++ b/src/overlays/actors/ovl_En_Bal/z_en_bal.h @@ -1,13 +1,17 @@ #ifndef Z_EN_BAL_H #define Z_EN_BAL_H -#include +#include "global.h" struct EnBal; +typedef void (*EnBalActionFunc)(struct EnBal* this, GlobalContext* globalCtx); + typedef struct EnBal { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x270]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x48]; + /* 0x018C */ EnBalActionFunc actionFunc; + /* 0x0190 */ char unk_190[0x224]; } EnBal; // size = 0x3B4 extern const ActorInit En_Bal_InitVars; diff --git a/src/overlays/actors/ovl_En_Bat/z_en_bat.c b/src/overlays/actors/ovl_En_Bat/z_en_bat.c index 7fb0aec09f..4fb3df60a4 100644 --- a/src/overlays/actors/ovl_En_Bat/z_en_bat.c +++ b/src/overlays/actors/ovl_En_Bat/z_en_bat.c @@ -9,6 +9,11 @@ void EnBat_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnBat_Update(Actor* thisx, GlobalContext* globalCtx); void EnBat_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80A438D4(EnBat* this, GlobalContext* globalCtx); +void func_80A4392C(EnBat* this, GlobalContext* globalCtx); +void func_80A43CE8(EnBat* this, GlobalContext* globalCtx); +void func_80A44114(EnBat* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Bat_InitVars = { ACTOR_EN_BAT, @@ -22,7 +27,6 @@ const ActorInit En_Bat_InitVars = { (ActorFunc)EnBat_Draw, }; - // static ColliderSphereInit sSphereInit = { static ColliderSphereInit D_80A44A00 = { { COLTYPE_HIT3, AT_NONE | AT_TYPE_ENEMY, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_SPHERE, }, @@ -30,7 +34,6 @@ static ColliderSphereInit D_80A44A00 = { { 1, { { 0, 0, 0 }, 15 }, 100 }, }; - // static DamageTable sDamageTable = { static DamageTable D_80A44A2C = { /* Deku Nut */ DMG_ENTRY(0, 0x1), @@ -67,11 +70,9 @@ static DamageTable D_80A44A2C = { /* Powder Keg */ DMG_ENTRY(1, 0x0), }; - // sColChkInfoInit static CollisionCheckInfoInit D_80A44A4C = { 1, 15, 30, 10 }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80A44A54[] = { ICHAIN_S8(hintId, 96, ICHAIN_CONTINUE), @@ -80,43 +81,45 @@ static InitChainEntry D_80A44A54[] = { ICHAIN_F32(targetArrowOffset, 2000, ICHAIN_STOP), }; +#endif extern ColliderSphereInit D_80A44A00; extern DamageTable D_80A44A2C; extern CollisionCheckInfoInit D_80A44A4C; extern InitChainEntry D_80A44A54[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bat_0x80A434E0/EnBat_Init.asm") +extern UNK_TYPE D_060000A0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bat_0x80A434E0/EnBat_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bat/EnBat_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bat_0x80A434E0/func_80A437CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bat/EnBat_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bat_0x80A434E0/func_80A43810.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bat/func_80A437CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bat_0x80A434E0/func_80A43870.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bat/func_80A43810.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bat_0x80A434E0/func_80A438D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bat/func_80A43870.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bat_0x80A434E0/func_80A438F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bat/func_80A438D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bat_0x80A434E0/func_80A4392C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bat/func_80A438F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bat_0x80A434E0/func_80A43CA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bat/func_80A4392C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bat_0x80A434E0/func_80A43CE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bat/func_80A43CA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bat_0x80A434E0/func_80A43F60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bat/func_80A43CE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bat_0x80A434E0/func_80A44114.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bat/func_80A43F60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bat_0x80A434E0/func_80A44294.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bat/func_80A44114.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bat_0x80A434E0/func_80A4431C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bat/func_80A44294.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bat_0x80A434E0/func_80A443D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bat/func_80A4431C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bat_0x80A434E0/EnBat_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bat/func_80A443D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bat_0x80A434E0/EnBat_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bat/EnBat_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bat/EnBat_Draw.s") diff --git a/src/overlays/actors/ovl_En_Bat/z_en_bat.h b/src/overlays/actors/ovl_En_Bat/z_en_bat.h index 280589e436..288eabefe0 100644 --- a/src/overlays/actors/ovl_En_Bat/z_en_bat.h +++ b/src/overlays/actors/ovl_En_Bat/z_en_bat.h @@ -1,13 +1,16 @@ #ifndef Z_EN_BAT_H #define Z_EN_BAT_H -#include +#include "global.h" struct EnBat; +typedef void (*EnBatActionFunc)(struct EnBat* this, GlobalContext* globalCtx); + typedef struct EnBat { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x98]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ EnBatActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x94]; } EnBat; // size = 0x1DC extern const ActorInit En_Bat_InitVars; diff --git a/src/overlays/actors/ovl_En_Bb/z_en_bb.c b/src/overlays/actors/ovl_En_Bb/z_en_bb.c index 1f4886d3a3..0d12dfc467 100644 --- a/src/overlays/actors/ovl_En_Bb/z_en_bb.c +++ b/src/overlays/actors/ovl_En_Bb/z_en_bb.c @@ -9,6 +9,14 @@ void EnBb_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnBb_Update(Actor* thisx, GlobalContext* globalCtx); void EnBb_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_808C23EC(EnBb* this, GlobalContext* globalCtx); +void func_808C25E0(EnBb* this, GlobalContext* globalCtx); +void func_808C28CC(EnBb* this, GlobalContext* globalCtx); +void func_808C2B1C(EnBb* this, GlobalContext* globalCtx); +void func_808C2BD0(EnBb* this, GlobalContext* globalCtx); +void func_808C2CB4(EnBb* this, GlobalContext* globalCtx); +void func_808C2D78(EnBb* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Bb_InitVars = { ACTOR_EN_BB, @@ -22,7 +30,6 @@ const ActorInit En_Bb_InitVars = { (ActorFunc)EnBb_Draw, }; - // static ColliderSphereInit sSphereInit = { static ColliderSphereInit D_808C37A0 = { { COLTYPE_HIT3, AT_NONE | AT_TYPE_ENEMY, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_SPHERE, }, @@ -30,7 +37,6 @@ static ColliderSphereInit D_808C37A0 = { { 0, { { 0, 0, 0 }, 20 }, 100 }, }; - // static DamageTable sDamageTable = { static DamageTable D_808C37CC = { /* Deku Nut */ DMG_ENTRY(0, 0x1), @@ -67,74 +73,75 @@ static DamageTable D_808C37CC = { /* Powder Keg */ DMG_ENTRY(1, 0x0), }; - // sColChkInfoInit static CollisionCheckInfoInit D_808C37EC = { 2, 20, 40, 50 }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_808C37F4[] = { ICHAIN_S8(hintId, 28, ICHAIN_CONTINUE), ICHAIN_F32(targetArrowOffset, 10, ICHAIN_STOP), }; +#endif extern ColliderSphereInit D_808C37A0; extern DamageTable D_808C37CC; extern CollisionCheckInfoInit D_808C37EC; extern InitChainEntry D_808C37F4[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bb_0x808C1D40/EnBb_Init.asm") +extern UNK_TYPE D_06000184; +extern UNK_TYPE D_06000444; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bb_0x808C1D40/EnBb_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bb/EnBb_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bb_0x808C1D40/func_808C1E94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bb/EnBb_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bb_0x808C1D40/func_808C1F00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bb/func_808C1E94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bb_0x808C1D40/func_808C1F74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bb/func_808C1F00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bb_0x808C1D40/func_808C1FF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bb/func_808C1F74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bb_0x808C1D40/func_808C20D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bb/func_808C1FF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bb_0x808C1D40/func_808C2238.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bb/func_808C20D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bb_0x808C1D40/func_808C2344.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bb/func_808C2238.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bb_0x808C1D40/func_808C23EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bb/func_808C2344.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bb_0x808C1D40/func_808C254C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bb/func_808C23EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bb_0x808C1D40/func_808C25E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bb/func_808C254C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bb_0x808C1D40/func_808C272C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bb/func_808C25E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bb_0x808C1D40/func_808C28CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bb/func_808C272C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bb_0x808C1D40/func_808C2A00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bb/func_808C28CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bb_0x808C1D40/func_808C2B1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bb/func_808C2A00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bb_0x808C1D40/func_808C2B94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bb/func_808C2B1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bb_0x808C1D40/func_808C2BD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bb/func_808C2B94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bb_0x808C1D40/func_808C2C38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bb/func_808C2BD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bb_0x808C1D40/func_808C2CB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bb/func_808C2C38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bb_0x808C1D40/func_808C2CF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bb/func_808C2CB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bb_0x808C1D40/func_808C2D78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bb/func_808C2CF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bb_0x808C1D40/func_808C2E34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bb/func_808C2D78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bb_0x808C1D40/EnBb_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bb/func_808C2E34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bb_0x808C1D40/func_808C32EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bb/EnBb_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bb_0x808C1D40/func_808C3324.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bb/func_808C32EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bb_0x808C1D40/EnBb_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bb/func_808C3324.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bb/EnBb_Draw.s") diff --git a/src/overlays/actors/ovl_En_Bb/z_en_bb.h b/src/overlays/actors/ovl_En_Bb/z_en_bb.h index 099e87b302..274fc31f0e 100644 --- a/src/overlays/actors/ovl_En_Bb/z_en_bb.h +++ b/src/overlays/actors/ovl_En_Bb/z_en_bb.h @@ -1,13 +1,17 @@ #ifndef Z_EN_BB_H #define Z_EN_BB_H -#include +#include "global.h" struct EnBb; +typedef void (*EnBbActionFunc)(struct EnBb* this, GlobalContext* globalCtx); + typedef struct EnBb { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x208]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x104]; + /* 0x0248 */ EnBbActionFunc actionFunc; + /* 0x024C */ char unk_24C[0x100]; } EnBb; // size = 0x34C extern const ActorInit En_Bb_InitVars; diff --git a/src/overlays/actors/ovl_En_Bba_01/z_en_bba_01.c b/src/overlays/actors/ovl_En_Bba_01/z_en_bba_01.c index e9d8f5e398..9057a96723 100644 --- a/src/overlays/actors/ovl_En_Bba_01/z_en_bba_01.c +++ b/src/overlays/actors/ovl_En_Bba_01/z_en_bba_01.c @@ -9,6 +9,11 @@ void EnBba01_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnBba01_Update(Actor* thisx, GlobalContext* globalCtx); void EnBba01_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_809CC2F0(EnBba01* this, GlobalContext* globalCtx); +void func_809CC370(EnBba01* this, GlobalContext* globalCtx); +void func_809CC3A8(EnBba01* this, GlobalContext* globalCtx); +void func_809CC3CC(EnBba01* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Bba_01_InitVars = { ACTOR_EN_BBA_01, @@ -22,7 +27,6 @@ const ActorInit En_Bba_01_InitVars = { (ActorFunc)EnBba01_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_809CCC80 = { { COLTYPE_HIT0, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,11 +34,9 @@ static ColliderCylinderInit D_809CCC80 = { { 18, 64, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_809CCCAC = { 0, 0, 0, 0, MASS_IMMOVABLE }; - // static DamageTable sDamageTable = { static DamageTable D_809CCCB8 = { /* Deku Nut */ DMG_ENTRY(0, 0x0), @@ -71,36 +73,38 @@ static DamageTable D_809CCCB8 = { /* Powder Keg */ DMG_ENTRY(0, 0x0), }; +#endif extern ColliderCylinderInit D_809CCC80; extern CollisionCheckInfoInit2 D_809CCCAC; extern DamageTable D_809CCCB8; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bba_01_0x809CC060/func_809CC060.asm") +extern UNK_TYPE D_06005EF0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bba_01_0x809CC060/func_809CC1D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bba_01/func_809CC060.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bba_01_0x809CC060/func_809CC270.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bba_01/func_809CC1D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bba_01_0x809CC060/func_809CC2F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bba_01/func_809CC270.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bba_01_0x809CC060/func_809CC370.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bba_01/func_809CC2F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bba_01_0x809CC060/func_809CC3A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bba_01/func_809CC370.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bba_01_0x809CC060/func_809CC3CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bba_01/func_809CC3A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bba_01_0x809CC060/EnBba01_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bba_01/func_809CC3CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bba_01_0x809CC060/EnBba01_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bba_01/EnBba01_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bba_01_0x809CC060/EnBba01_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bba_01/EnBba01_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bba_01_0x809CC060/func_809CC6F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bba_01/EnBba01_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bba_01_0x809CC060/func_809CC984.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bba_01/func_809CC6F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bba_01_0x809CC060/func_809CCA5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bba_01/func_809CC984.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bba_01_0x809CC060/EnBba01_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bba_01/func_809CCA5C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bba_01/EnBba01_Draw.s") diff --git a/src/overlays/actors/ovl_En_Bba_01/z_en_bba_01.h b/src/overlays/actors/ovl_En_Bba_01/z_en_bba_01.h index d97733f7b6..ff0a3fb72a 100644 --- a/src/overlays/actors/ovl_En_Bba_01/z_en_bba_01.h +++ b/src/overlays/actors/ovl_En_Bba_01/z_en_bba_01.h @@ -1,13 +1,16 @@ #ifndef Z_EN_BBA_01_H #define Z_EN_BBA_01_H -#include +#include "global.h" struct EnBba01; +typedef void (*EnBba01ActionFunc)(struct EnBba01* this, GlobalContext* globalCtx); + typedef struct EnBba01 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x4D8]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ EnBba01ActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x4D4]; } EnBba01; // size = 0x61C extern const ActorInit En_Bba_01_InitVars; diff --git a/src/overlays/actors/ovl_En_Bbfall/z_en_bbfall.c b/src/overlays/actors/ovl_En_Bbfall/z_en_bbfall.c index c136e38349..df6ef4f5c6 100644 --- a/src/overlays/actors/ovl_En_Bbfall/z_en_bbfall.c +++ b/src/overlays/actors/ovl_En_Bbfall/z_en_bbfall.c @@ -9,6 +9,15 @@ void EnBbfall_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnBbfall_Update(Actor* thisx, GlobalContext* globalCtx); void EnBbfall_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_808BF734(EnBbfall* this, GlobalContext* globalCtx); +void func_808BF830(EnBbfall* this, GlobalContext* globalCtx); +void func_808BF8DC(EnBbfall* this, GlobalContext* globalCtx); +void func_808BFA3C(EnBbfall* this, GlobalContext* globalCtx); +void func_808BFB4C(EnBbfall* this, GlobalContext* globalCtx); +void func_808BFE58(EnBbfall* this, GlobalContext* globalCtx); +void func_808C00A0(EnBbfall* this, GlobalContext* globalCtx); +void func_808C0178(EnBbfall* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Bbfall_InitVars = { ACTOR_EN_BBFALL, @@ -22,7 +31,6 @@ const ActorInit En_Bbfall_InitVars = { (ActorFunc)EnBbfall_Draw, }; - // static ColliderJntSphElementInit sJntSphElementsInit[3] = { static ColliderJntSphElementInit D_808C0D30[3] = { { @@ -45,7 +53,6 @@ static ColliderJntSphInit D_808C0D9C = { 3, D_808C0D30, // sJntSphElementsInit, }; - // static DamageTable sDamageTable = { static DamageTable D_808C0DAC = { /* Deku Nut */ DMG_ENTRY(0, 0x1), @@ -82,81 +89,82 @@ static DamageTable D_808C0DAC = { /* Powder Keg */ DMG_ENTRY(1, 0x0), }; - // sColChkInfoInit static CollisionCheckInfoInit D_808C0DCC = { 2, 20, 40, 50 }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_808C0DD4[] = { ICHAIN_S8(hintId, 36, ICHAIN_CONTINUE), ICHAIN_F32(targetArrowOffset, 10, ICHAIN_STOP), }; +#endif extern ColliderJntSphElementInit D_808C0D30[3]; extern ColliderJntSphInit D_808C0D9C; extern DamageTable D_808C0DAC; extern CollisionCheckInfoInit D_808C0DCC; extern InitChainEntry D_808C0DD4[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bbfall_0x808BF220/EnBbfall_Init.asm") +extern UNK_TYPE D_06000184; +extern UNK_TYPE D_06000444; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bbfall_0x808BF220/EnBbfall_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bbfall/EnBbfall_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bbfall_0x808BF220/func_808BF344.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bbfall/EnBbfall_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bbfall_0x808BF220/func_808BF3B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bbfall/func_808BF344.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bbfall_0x808BF220/func_808BF438.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bbfall/func_808BF3B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bbfall_0x808BF220/func_808BF4B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bbfall/func_808BF438.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bbfall_0x808BF220/func_808BF514.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bbfall/func_808BF4B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bbfall_0x808BF220/func_808BF578.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bbfall/func_808BF514.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bbfall_0x808BF220/func_808BF5AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bbfall/func_808BF578.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bbfall_0x808BF220/func_808BF5E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bbfall/func_808BF5AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bbfall_0x808BF220/func_808BF734.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bbfall/func_808BF5E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bbfall_0x808BF220/func_808BF7A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bbfall/func_808BF734.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bbfall_0x808BF220/func_808BF830.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bbfall/func_808BF7A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bbfall_0x808BF220/func_808BF894.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bbfall/func_808BF830.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bbfall_0x808BF220/func_808BF8DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bbfall/func_808BF894.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bbfall_0x808BF220/func_808BFA18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bbfall/func_808BF8DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bbfall_0x808BF220/func_808BFA3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bbfall/func_808BFA18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bbfall_0x808BF220/func_808BFAB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bbfall/func_808BFA3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bbfall_0x808BF220/func_808BFB4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bbfall/func_808BFAB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bbfall_0x808BF220/func_808BFCCC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bbfall/func_808BFB4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bbfall_0x808BF220/func_808BFE58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bbfall/func_808BFCCC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bbfall_0x808BF220/func_808BFF8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bbfall/func_808BFE58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bbfall_0x808BF220/func_808C00A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bbfall/func_808BFF8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bbfall_0x808BF220/func_808C013C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bbfall/func_808C00A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bbfall_0x808BF220/func_808C0178.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bbfall/func_808C013C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bbfall_0x808BF220/func_808C01E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bbfall/func_808C0178.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bbfall_0x808BF220/EnBbfall_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bbfall/func_808C01E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bbfall_0x808BF220/func_808C07D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bbfall/EnBbfall_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bbfall_0x808BF220/func_808C080C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bbfall/func_808C07D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bbfall_0x808BF220/EnBbfall_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bbfall/func_808C080C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bbfall/EnBbfall_Draw.s") diff --git a/src/overlays/actors/ovl_En_Bbfall/z_en_bbfall.h b/src/overlays/actors/ovl_En_Bbfall/z_en_bbfall.h index 34ed161db5..acc3328412 100644 --- a/src/overlays/actors/ovl_En_Bbfall/z_en_bbfall.h +++ b/src/overlays/actors/ovl_En_Bbfall/z_en_bbfall.h @@ -1,13 +1,17 @@ #ifndef Z_EN_BBFALL_H #define Z_EN_BBFALL_H -#include +#include "global.h" struct EnBbfall; +typedef void (*EnBbfallActionFunc)(struct EnBbfall* this, GlobalContext* globalCtx); + typedef struct EnBbfall { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x320]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x104]; + /* 0x0248 */ EnBbfallActionFunc actionFunc; + /* 0x024C */ char unk_24C[0x218]; } EnBbfall; // size = 0x464 extern const ActorInit En_Bbfall_InitVars; diff --git a/src/overlays/actors/ovl_En_Bee/z_en_bee.c b/src/overlays/actors/ovl_En_Bee/z_en_bee.c index b15bf9cffd..ca3c3decb5 100644 --- a/src/overlays/actors/ovl_En_Bee/z_en_bee.c +++ b/src/overlays/actors/ovl_En_Bee/z_en_bee.c @@ -9,6 +9,9 @@ void EnBee_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnBee_Update(Actor* thisx, GlobalContext* globalCtx); void EnBee_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80B5A9E8(EnBee* this, GlobalContext* globalCtx); +void func_80B5AC3C(EnBee* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Bee_InitVars = { ACTOR_EN_BEE, @@ -22,7 +25,6 @@ const ActorInit En_Bee_InitVars = { (ActorFunc)EnBee_Draw, }; - // static DamageTable sDamageTable = { static DamageTable D_80B5B214 = { /* Deku Nut */ DMG_ENTRY(1, 0xF), @@ -59,7 +61,6 @@ static DamageTable D_80B5B214 = { /* Powder Keg */ DMG_ENTRY(1, 0xF), }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80B5B234 = { { COLTYPE_NONE, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_HARD | AC_TYPE_PLAYER, OC1_ON, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -67,25 +68,27 @@ static ColliderCylinderInit D_80B5B234 = { { 6, 13, -4, { 0, 0, 0 } }, }; +#endif extern DamageTable D_80B5B214; extern ColliderCylinderInit D_80B5B234; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bee_0x80B5A720/EnBee_Init.asm") +extern UNK_TYPE D_0600005C; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bee_0x80B5A720/EnBee_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bee/EnBee_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bee_0x80B5A720/func_80B5A854.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bee/EnBee_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bee_0x80B5A720/func_80B5A9E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bee/func_80B5A854.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bee_0x80B5A720/func_80B5ABC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bee/func_80B5A9E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bee_0x80B5A720/func_80B5AC3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bee/func_80B5ABC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bee_0x80B5A720/func_80B5AF80.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bee/func_80B5AC3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bee_0x80B5A720/EnBee_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bee/func_80B5AF80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bee_0x80B5A720/EnBee_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bee/EnBee_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bee/EnBee_Draw.s") diff --git a/src/overlays/actors/ovl_En_Bee/z_en_bee.h b/src/overlays/actors/ovl_En_Bee/z_en_bee.h index 65cc4088ac..c008a1a3d4 100644 --- a/src/overlays/actors/ovl_En_Bee/z_en_bee.h +++ b/src/overlays/actors/ovl_En_Bee/z_en_bee.h @@ -1,13 +1,17 @@ #ifndef Z_EN_BEE_H #define Z_EN_BEE_H -#include +#include "global.h" struct EnBee; +typedef void (*EnBeeActionFunc)(struct EnBee* this, GlobalContext* globalCtx); + typedef struct EnBee { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x144]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0xBC]; + /* 0x0200 */ EnBeeActionFunc actionFunc; + /* 0x0204 */ char unk_204[0x84]; } EnBee; // size = 0x288 extern const ActorInit En_Bee_InitVars; diff --git a/src/overlays/actors/ovl_En_Bh/z_en_bh.c b/src/overlays/actors/ovl_En_Bh/z_en_bh.c index d3630b4458..1bc0ea0827 100644 --- a/src/overlays/actors/ovl_En_Bh/z_en_bh.c +++ b/src/overlays/actors/ovl_En_Bh/z_en_bh.c @@ -24,12 +24,14 @@ const ActorInit En_Bh_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bh_0x80C22D40/EnBh_Init.asm") +extern UNK_TYPE D_06000074; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bh_0x80C22D40/EnBh_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bh/EnBh_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bh_0x80C22D40/func_80C22DEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bh/EnBh_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bh_0x80C22D40/EnBh_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bh/func_80C22DEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bh_0x80C22D40/EnBh_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bh/EnBh_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bh/EnBh_Draw.s") diff --git a/src/overlays/actors/ovl_En_Bh/z_en_bh.h b/src/overlays/actors/ovl_En_Bh/z_en_bh.h index 5855a093f5..61eed4fcd1 100644 --- a/src/overlays/actors/ovl_En_Bh/z_en_bh.h +++ b/src/overlays/actors/ovl_En_Bh/z_en_bh.h @@ -1,13 +1,16 @@ #ifndef Z_EN_BH_H #define Z_EN_BH_H -#include +#include "global.h" struct EnBh; +typedef void (*EnBhActionFunc)(struct EnBh* this, GlobalContext* globalCtx); + typedef struct EnBh { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0xA8]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0xA4]; + /* 0x01E8 */ EnBhActionFunc actionFunc; } EnBh; // size = 0x1EC extern const ActorInit En_Bh_InitVars; diff --git a/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.c b/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.c index c2c9dca0ab..8f11c38c8d 100644 --- a/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.c +++ b/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.c @@ -22,7 +22,6 @@ const ActorInit En_Bigokuta_InitVars = { (ActorFunc)EnBigokuta_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80AC4530 = { { COLTYPE_HARD, AT_NONE, AC_ON | AC_HARD | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,7 +29,6 @@ static ColliderCylinderInit D_80AC4530 = { { 75, 125, 0, { 0, 0, 0 } }, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80AC455C = { { COLTYPE_HIT0, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_NONE, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -38,11 +36,9 @@ static ColliderCylinderInit D_80AC455C = { { 70, 125, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit D_80AC4588 = { 4, 130, 120, MASS_HEAVY }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80AC4590[] = { ICHAIN_F32(uncullZoneForward, 2500, ICHAIN_CONTINUE), @@ -52,69 +48,73 @@ static InitChainEntry D_80AC4590[] = { ICHAIN_VEC3F_DIV1000(scale, 33, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80AC4530; extern ColliderCylinderInit D_80AC455C; extern CollisionCheckInfoInit D_80AC4588; extern InitChainEntry D_80AC4590[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigokuta_0x80AC26F0/EnBigokuta_Init.asm") +extern UNK_TYPE D_06000444; +extern UNK_TYPE D_06000A74; +extern UNK_TYPE D_060014B8; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigokuta_0x80AC26F0/EnBigokuta_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigokuta/EnBigokuta_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigokuta_0x80AC26F0/func_80AC28B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigokuta/EnBigokuta_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigokuta_0x80AC26F0/func_80AC299C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigokuta/func_80AC28B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigokuta_0x80AC26F0/func_80AC2A1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigokuta/func_80AC299C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigokuta_0x80AC26F0/func_80AC2A7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigokuta/func_80AC2A1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigokuta_0x80AC26F0/func_80AC2B4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigokuta/func_80AC2A7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigokuta_0x80AC26F0/func_80AC2B98.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigokuta/func_80AC2B4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigokuta_0x80AC26F0/func_80AC2C30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigokuta/func_80AC2B98.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigokuta_0x80AC26F0/func_80AC2C84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigokuta/func_80AC2C30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigokuta_0x80AC26F0/func_80AC2CE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigokuta/func_80AC2C84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigokuta_0x80AC26F0/func_80AC2DAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigokuta/func_80AC2CE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigokuta_0x80AC26F0/func_80AC2EBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigokuta/func_80AC2DAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigokuta_0x80AC26F0/func_80AC2F20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigokuta/func_80AC2EBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigokuta_0x80AC26F0/func_80AC2F64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigokuta/func_80AC2F20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigokuta_0x80AC26F0/func_80AC3054.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigokuta/func_80AC2F64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigokuta_0x80AC26F0/func_80AC30EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigokuta/func_80AC3054.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigokuta_0x80AC26F0/func_80AC31EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigokuta/func_80AC30EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigokuta_0x80AC26F0/func_80AC33A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigokuta/func_80AC31EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigokuta_0x80AC26F0/func_80AC33C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigokuta/func_80AC33A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigokuta_0x80AC26F0/func_80AC3460.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigokuta/func_80AC33C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigokuta_0x80AC26F0/func_80AC34A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigokuta/func_80AC3460.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigokuta_0x80AC26F0/func_80AC35E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigokuta/func_80AC34A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigokuta_0x80AC26F0/func_80AC3650.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigokuta/func_80AC35E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigokuta_0x80AC26F0/func_80AC3930.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigokuta/func_80AC3650.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigokuta_0x80AC26F0/func_80AC39A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigokuta/func_80AC3930.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigokuta_0x80AC26F0/EnBigokuta_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigokuta/func_80AC39A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigokuta_0x80AC26F0/func_80AC3D48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigokuta/EnBigokuta_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigokuta_0x80AC26F0/func_80AC4204.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigokuta/func_80AC3D48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigokuta_0x80AC26F0/EnBigokuta_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigokuta/func_80AC4204.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigokuta/EnBigokuta_Draw.s") diff --git a/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.h b/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.h index 6c032c65a7..67a5bcd09e 100644 --- a/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.h +++ b/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.h @@ -1,13 +1,17 @@ #ifndef Z_EN_BIGOKUTA_H #define Z_EN_BIGOKUTA_H -#include +#include "global.h" struct EnBigokuta; +typedef void (*EnBigokutaActionFunc)(struct EnBigokuta* this, GlobalContext* globalCtx); + typedef struct EnBigokuta { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x2B4]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x48]; + /* 0x018C */ EnBigokutaActionFunc actionFunc; + /* 0x0190 */ char unk_190[0x268]; } EnBigokuta; // size = 0x3F8 extern const ActorInit En_Bigokuta_InitVars; diff --git a/src/overlays/actors/ovl_En_Bigpamet/z_en_bigpamet.c b/src/overlays/actors/ovl_En_Bigpamet/z_en_bigpamet.c index afa76ede75..ebfc25ddb6 100644 --- a/src/overlays/actors/ovl_En_Bigpamet/z_en_bigpamet.c +++ b/src/overlays/actors/ovl_En_Bigpamet/z_en_bigpamet.c @@ -9,6 +9,21 @@ void EnBigpamet_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnBigpamet_Update(Actor* thisx, GlobalContext* globalCtx); void EnBigpamet_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80A281DC(EnBigpamet* this, GlobalContext* globalCtx); +void func_80A282C8(EnBigpamet* this, GlobalContext* globalCtx); +void func_80A283A0(EnBigpamet* this, GlobalContext* globalCtx); +void func_80A2844C(EnBigpamet* this, GlobalContext* globalCtx); +void func_80A2855C(EnBigpamet* this, GlobalContext* globalCtx); +void func_80A2866C(EnBigpamet* this, GlobalContext* globalCtx); +void func_80A28708(EnBigpamet* this, GlobalContext* globalCtx); +void func_80A287E8(EnBigpamet* this, GlobalContext* globalCtx); +void func_80A289C8(EnBigpamet* this, GlobalContext* globalCtx); +void func_80A28A98(EnBigpamet* this, GlobalContext* globalCtx); +void func_80A28D0C(EnBigpamet* this, GlobalContext* globalCtx); +void func_80A28DC0(EnBigpamet* this, GlobalContext* globalCtx); +void func_80A28E98(EnBigpamet* this, GlobalContext* globalCtx); +void func_80A28EE8(EnBigpamet* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Bigpamet_InitVars = { ACTOR_EN_BIGPAMET, @@ -22,7 +37,6 @@ const ActorInit En_Bigpamet_InitVars = { (ActorFunc)EnBigpamet_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80A29700 = { { COLTYPE_HARD, AT_NONE | AT_TYPE_ENEMY, AC_ON | AC_HARD | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,11 +44,9 @@ static ColliderCylinderInit D_80A29700 = { { 53, 50, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit D_80A2972C = { 1, 53, 60, 250 }; - // static DamageTable sDamageTable = { static DamageTable D_80A29734 = { /* Deku Nut */ DMG_ENTRY(1, 0x0), @@ -71,7 +83,6 @@ static DamageTable D_80A29734 = { /* Powder Keg */ DMG_ENTRY(1, 0xF), }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80A29764[] = { ICHAIN_S8(hintId, 1, ICHAIN_CONTINUE), @@ -81,105 +92,112 @@ static InitChainEntry D_80A29764[] = { ICHAIN_U8(targetMode, 5, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80A29700; extern CollisionCheckInfoInit D_80A2972C; extern DamageTable D_80A29734; extern InitChainEntry D_80A29764[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/EnBigpamet_Init.asm") +extern UNK_TYPE D_06000440; +extern UNK_TYPE D_06000AF4; +extern UNK_TYPE D_06001C68; +extern UNK_TYPE D_060031DC; +extern UNK_TYPE D_06004210; +extern UNK_TYPE D_0600823C; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/EnBigpamet_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/EnBigpamet_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/func_80A2768C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/EnBigpamet_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/func_80A276F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/func_80A2768C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/func_80A2778C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/func_80A276F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/func_80A27970.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/func_80A2778C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/func_80A27B58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/func_80A27970.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/func_80A27DD8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/func_80A27B58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/func_80A27FE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/func_80A27DD8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/func_80A2811C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/func_80A27FE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/func_80A281B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/func_80A2811C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/func_80A281DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/func_80A281B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/func_80A28274.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/func_80A281DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/func_80A282C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/func_80A28274.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/func_80A28378.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/func_80A282C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/func_80A283A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/func_80A28378.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/func_80A283F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/func_80A283A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/func_80A2844C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/func_80A283F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/func_80A284E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/func_80A2844C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/func_80A2855C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/func_80A284E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/func_80A28618.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/func_80A2855C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/func_80A2866C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/func_80A28618.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/func_80A286C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/func_80A2866C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/func_80A28708.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/func_80A286C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/func_80A28760.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/func_80A28708.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/func_80A287E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/func_80A28760.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/func_80A28970.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/func_80A287E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/func_80A289C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/func_80A28970.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/func_80A28A28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/func_80A289C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/func_80A28A98.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/func_80A28A28.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/func_80A28B98.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/func_80A28A98.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/func_80A28D0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/func_80A28B98.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/func_80A28D80.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/func_80A28D0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/func_80A28DC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/func_80A28D80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/func_80A28E40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/func_80A28DC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/func_80A28E98.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/func_80A28E40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/func_80A28ED4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/func_80A28E98.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/func_80A28EE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/func_80A28ED4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/func_80A29028.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/func_80A28EE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/func_80A29094.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/func_80A29028.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/EnBigpamet_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/func_80A29094.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/func_80A292A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/EnBigpamet_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/func_80A293E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/func_80A292A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/func_80A29494.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/func_80A293E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/EnBigpamet_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/func_80A29494.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/func_80A29580.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/EnBigpamet_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/func_80A29628.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/func_80A29580.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpamet_0x80A27520/func_80A2966C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/func_80A29628.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpamet/func_80A2966C.s") diff --git a/src/overlays/actors/ovl_En_Bigpamet/z_en_bigpamet.h b/src/overlays/actors/ovl_En_Bigpamet/z_en_bigpamet.h index 9d5d40fcbb..2efd2b90fb 100644 --- a/src/overlays/actors/ovl_En_Bigpamet/z_en_bigpamet.h +++ b/src/overlays/actors/ovl_En_Bigpamet/z_en_bigpamet.h @@ -1,15 +1,19 @@ #ifndef Z_EN_BIGPAMET_H #define Z_EN_BIGPAMET_H -#include +#include "global.h" struct EnBigpamet; +typedef void (*EnBigpametActionFunc)(struct EnBigpamet* this, GlobalContext* globalCtx); + typedef struct EnBigpamet { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x168]; - /* 0x2AC */ f32 unk_2AC; - /* 0x2B0 */ char unk_2B0[0x31C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x154]; + /* 0x0298 */ EnBigpametActionFunc actionFunc; + /* 0x029C */ char unk_29C[0x10]; + /* 0x02AC */ f32 unk_2AC; + /* 0x02B0 */ char unk_2B0[0x31C]; } EnBigpamet; // size = 0x5CC extern const ActorInit En_Bigpamet_InitVars; diff --git a/src/overlays/actors/ovl_En_Bigpo/z_en_bigpo.c b/src/overlays/actors/ovl_En_Bigpo/z_en_bigpo.c index 8431d0de94..c2640bf31d 100644 --- a/src/overlays/actors/ovl_En_Bigpo/z_en_bigpo.c +++ b/src/overlays/actors/ovl_En_Bigpo/z_en_bigpo.c @@ -8,6 +8,33 @@ void EnBigpo_Init(Actor* thisx, GlobalContext* globalCtx); void EnBigpo_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnBigpo_Update(Actor* thisx, GlobalContext* globalCtx); +void func_80B61AF8(EnBigpo* this, GlobalContext* globalCtx); +void func_80B61B70(EnBigpo* this, GlobalContext* globalCtx); +void func_80B61CFC(EnBigpo* this, GlobalContext* globalCtx); +void func_80B61DA4(EnBigpo* this, GlobalContext* globalCtx); +void func_80B61F04(EnBigpo* this, GlobalContext* globalCtx); +void func_80B62084(EnBigpo* this, GlobalContext* globalCtx); +void func_80B621CC(EnBigpo* this, GlobalContext* globalCtx); +void func_80B623BC(EnBigpo* this, GlobalContext* globalCtx); +void func_80B6259C(EnBigpo* this, GlobalContext* globalCtx); +void func_80B627B4(EnBigpo* this, GlobalContext* globalCtx); +void func_80B62830(EnBigpo* this, GlobalContext* globalCtx); +void func_80B62920(EnBigpo* this, GlobalContext* globalCtx); +void func_80B62A68(EnBigpo* this, GlobalContext* globalCtx); +void func_80B62B10(EnBigpo* this, GlobalContext* globalCtx); +void func_80B62F10(EnBigpo* this, GlobalContext* globalCtx); +void func_80B63264(EnBigpo* this, GlobalContext* globalCtx); +void func_80B6330C(EnBigpo* this, GlobalContext* globalCtx); +void func_80B63410(EnBigpo* this, GlobalContext* globalCtx); +void func_80B63474(EnBigpo* this, GlobalContext* globalCtx); +void func_80B636E4(EnBigpo* this, GlobalContext* globalCtx); +void func_80B6382C(EnBigpo* this, GlobalContext* globalCtx); +void func_80B63854(EnBigpo* this, GlobalContext* globalCtx); +void func_80B63888(EnBigpo* this, GlobalContext* globalCtx); +void func_80B638D4(EnBigpo* this, GlobalContext* globalCtx); +void func_80B63980(EnBigpo* this, GlobalContext* globalCtx); +void func_80B63AC4(EnBigpo* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Bigpo_InitVars = { ACTOR_EN_BIGPO, @@ -21,7 +48,6 @@ const ActorInit En_Bigpo_InitVars = { (ActorFunc)NULL, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80B65010 = { { COLTYPE_HIT3, AT_NONE | AT_TYPE_ENEMY, AC_NONE | AC_TYPE_PLAYER, OC1_NONE | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -29,11 +55,9 @@ static ColliderCylinderInit D_80B65010 = { { 35, 100, 10, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit D_80B6503C = { 10, 35, 100, 50 }; - // static DamageTable sDamageTable = { static DamageTable D_80B65044 = { /* Deku Nut */ DMG_ENTRY(0, 0x0), @@ -70,154 +94,161 @@ static DamageTable D_80B65044 = { /* Powder Keg */ DMG_ENTRY(1, 0x0), }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80B65064[] = { ICHAIN_S8(hintId, 90, ICHAIN_CONTINUE), ICHAIN_F32(targetArrowOffset, 3200, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80B65010; extern CollisionCheckInfoInit D_80B6503C; extern DamageTable D_80B65044; extern InitChainEntry D_80B65064[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/EnBigpo_Init.asm") +extern UNK_TYPE D_06000454; +extern UNK_TYPE D_06000924; +extern UNK_TYPE D_06001360; +extern UNK_TYPE D_06001BB0; +extern UNK_TYPE D_060041A0; +extern UNK_TYPE D_060042C8; +extern UNK_TYPE D_060058B8; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/EnBigpo_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/EnBigpo_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B61914.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/EnBigpo_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B619B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B61914.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B619FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B619B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B61AC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B619FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B61AF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B61AC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B61B38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B61AF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B61B70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B61B38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B61C04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B61B70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B61CFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B61C04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B61D74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B61CFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B61DA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B61D74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B61E9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B61DA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B61F04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B61E9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B62034.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B61F04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B62084.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B62034.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B62154.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B62084.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B621CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B62154.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B622E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B621CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B623BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B622E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B624F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B623BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B6259C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B624F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B6275C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B6259C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B627B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B6275C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B62814.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B627B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B62830.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B62814.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B62900.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B62830.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B62920.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B62900.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B629E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B62920.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B62A68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B629E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B62AD4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B62A68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B62B10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B62AD4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B62E38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B62B10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B62F10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B62E38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B62FCC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B62F10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B631F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B62FCC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B63264.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B631F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B632BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B63264.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B6330C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B632BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B633E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B6330C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B63410.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B633E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B63450.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B63410.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B63474.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B63450.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B636D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B63474.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B636E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B636D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B63758.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B636E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B6382C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B63758.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B6383C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B6382C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B63854.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B6383C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B63888.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B63854.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B638AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B63888.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B638D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B638AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B63964.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B638D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B63980.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B63964.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B63A18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B63980.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B63AC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B63A18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B63C28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B63AC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B63D0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B63C28.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B63D88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B63D0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/EnBigpo_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B63D88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B64190.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/EnBigpo_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B641E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B64190.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B64240.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B641E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B64470.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B64240.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B6467C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B64470.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B64880.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B6467C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B64B08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B64880.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigpo_0x80B615E0/func_80B64DFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B64B08.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigpo/func_80B64DFC.s") diff --git a/src/overlays/actors/ovl_En_Bigpo/z_en_bigpo.h b/src/overlays/actors/ovl_En_Bigpo/z_en_bigpo.h index 65152dfc20..3c8ec964e0 100644 --- a/src/overlays/actors/ovl_En_Bigpo/z_en_bigpo.h +++ b/src/overlays/actors/ovl_En_Bigpo/z_en_bigpo.h @@ -1,13 +1,17 @@ #ifndef Z_EN_BIGPO_H #define Z_EN_BIGPO_H -#include +#include "global.h" struct EnBigpo; +typedef void (*EnBigpoActionFunc)(struct EnBigpo* this, GlobalContext* globalCtx); + typedef struct EnBigpo { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x254]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0xBC]; + /* 0x0200 */ EnBigpoActionFunc actionFunc; + /* 0x0204 */ char unk_204[0x194]; } EnBigpo; // size = 0x398 extern const ActorInit En_Bigpo_InitVars; diff --git a/src/overlays/actors/ovl_En_Bigslime/z_en_bigslime.c b/src/overlays/actors/ovl_En_Bigslime/z_en_bigslime.c index 59bf7b5509..6aaa779561 100644 --- a/src/overlays/actors/ovl_En_Bigslime/z_en_bigslime.c +++ b/src/overlays/actors/ovl_En_Bigslime/z_en_bigslime.c @@ -9,6 +9,36 @@ void EnBigslime_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnBigslime_Update(Actor* thisx, GlobalContext* globalCtx); void EnBigslime_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_808E6E80(EnBigslime* this, GlobalContext* globalCtx); +void func_808E6F50(EnBigslime* this, GlobalContext* globalCtx); +void func_808E7048(EnBigslime* this, GlobalContext* globalCtx); +void func_808E71FC(EnBigslime* this, GlobalContext* globalCtx); +void func_808E7354(EnBigslime* this, GlobalContext* globalCtx); +void func_808E7B80(EnBigslime* this, GlobalContext* globalCtx); +void func_808E84DC(EnBigslime* this, GlobalContext* globalCtx); +void func_808E89CC(EnBigslime* this, GlobalContext* globalCtx); +void func_808E8CCC(EnBigslime* this, GlobalContext* globalCtx); +void func_808E91EC(EnBigslime* this, GlobalContext* globalCtx); +void func_808E97D0(EnBigslime* this, GlobalContext* globalCtx); +void func_808E9AE0(EnBigslime* this, GlobalContext* globalCtx); +void func_808E9DD0(EnBigslime* this, GlobalContext* globalCtx); +void func_808E9FC0(EnBigslime* this, GlobalContext* globalCtx); +void func_808EA1C8(EnBigslime* this, GlobalContext* globalCtx); +void func_808EA2D0(EnBigslime* this, GlobalContext* globalCtx); +void func_808EA5E8(EnBigslime* this, GlobalContext* globalCtx); +void func_808EA7A4(EnBigslime* this, GlobalContext* globalCtx); +void func_808EA860(EnBigslime* this, GlobalContext* globalCtx); +void func_808EA9B8(EnBigslime* this, GlobalContext* globalCtx); +void func_808EAA8C(EnBigslime* this, GlobalContext* globalCtx); +void func_808EAB74(EnBigslime* this, GlobalContext* globalCtx); +void func_808EACEC(EnBigslime* this, GlobalContext* globalCtx); +void func_808EB0A8(EnBigslime* this, GlobalContext* globalCtx); +void func_808EB24C(EnBigslime* this, GlobalContext* globalCtx); +void func_808EB574(EnBigslime* this, GlobalContext* globalCtx); +void func_808EB708(EnBigslime* this, GlobalContext* globalCtx); +void func_808EB804(EnBigslime* this, GlobalContext* globalCtx); +void func_808EB8B4(EnBigslime* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Bigslime_InitVars = { ACTOR_EN_BIGSLIME, @@ -22,7 +52,6 @@ const ActorInit En_Bigslime_InitVars = { (ActorFunc)EnBigslime_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_808F02A0 = { { COLTYPE_NONE, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_NO_PUSH | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,11 +59,9 @@ static ColliderCylinderInit D_808F02A0 = { { 30, 60, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit D_808F02CC = { 10, 100, 100, 50 }; - // static DamageTable sDamageTable = { static DamageTable D_808F02D4 = { /* Deku Nut */ DMG_ENTRY(0, 0x1), @@ -71,7 +98,6 @@ static DamageTable D_808F02D4 = { /* Powder Keg */ DMG_ENTRY(1, 0xF), }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_808F0338[] = { ICHAIN_S8(hintId, 95, ICHAIN_CONTINUE), @@ -80,215 +106,231 @@ static InitChainEntry D_808F0338[] = { ICHAIN_U8(targetMode, 5, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_808F02A0; extern CollisionCheckInfoInit D_808F02CC; extern DamageTable D_808F02D4; extern InitChainEntry D_808F0338[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/EnBigslime_Init.asm") +extern UNK_TYPE D_060010F4; +extern UNK_TYPE D_06001B08; +extern UNK_TYPE D_0600276C; +extern UNK_TYPE D_06002E0C; +extern UNK_TYPE D_0600347C; +extern UNK_TYPE D_060039C4; +extern UNK_TYPE D_060066B4; +extern UNK_TYPE D_060069FC; +extern UNK_TYPE D_06007790; +extern UNK_TYPE D_0600F048; +extern UNK_TYPE D_0600F990; +extern UNK_TYPE D_0600FB40; +extern UNK_TYPE D_06010530; +extern UNK_TYPE D_06011050; +extern UNK_TYPE D_060113B0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/EnBigslime_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/EnBigslime_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E5388.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/EnBigslime_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E5430.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E5388.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E5484.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E5430.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E574C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E5484.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E5988.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E574C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E5A00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E5988.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E5BB0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E5A00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E5ED4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E5BB0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E601C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E5ED4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E616C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E601C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E62B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E616C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E64D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E62B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E6538.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E64D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E6570.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E6538.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E670C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E6570.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E6828.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E670C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E68AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E6828.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E69AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E68AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E69F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E69AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E6A70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E69F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E6B08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E6A70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E6B68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E6B08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E6C18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E6B68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E6C44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E6C18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E6C70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E6C44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E6CC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E6C70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E6D58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E6CC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E6E80.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E6D58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E6F08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E6E80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E6F50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E6F08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E6FE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E6F50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E7048.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E6FE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E7154.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E7048.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E71FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E7154.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E732C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E71FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E7354.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E732C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E75D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E7354.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E7770.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E75D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E7AF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E7770.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E7B80.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E7AF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E7D68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E7B80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E8064.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E7D68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E836C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E8064.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E844C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E836C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E84DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E844C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E88B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E84DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E89CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E88B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E8C38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E89CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E8CCC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E8C38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E90A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E8CCC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E91EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E90A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E9778.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E91EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E97D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E9778.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E994C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E97D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E9AE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E994C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E9DA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E9AE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E9DD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E9DA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E9F38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E9DD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808E9FC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E9F38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808EA14C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808E9FC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808EA1C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808EA14C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808EA264.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808EA1C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808EA2D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808EA264.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808EA538.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808EA2D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808EA5E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808EA538.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808EA748.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808EA5E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808EA7A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808EA748.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808EA80C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808EA7A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808EA860.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808EA80C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808EA8FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808EA860.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808EA9B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808EA8FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808EAA40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808EA9B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808EAA8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808EAA40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808EAAF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808EAA8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808EAB74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808EAAF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808EABCC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808EAB74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808EACEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808EABCC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808EAEBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808EACEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808EB0A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808EAEBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808EB178.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808EB0A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808EB24C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808EB178.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808EB328.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808EB24C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808EB574.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808EB328.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808EB690.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808EB574.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808EB708.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808EB690.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808EB7F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808EB708.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808EB804.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808EB7F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808EB83C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808EB804.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808EB8B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808EB83C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808EB9E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808EB8B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808EBBE4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808EB9E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808EBED0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808EBBE4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808EC158.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808EBED0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808EC354.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808EC158.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/EnBigslime_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808EC354.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808EC708.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/EnBigslime_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808EC990.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808EC708.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808ECD14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808EC990.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808ED07C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808ECD14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/EnBigslime_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808ED07C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bigslime_0x808E4FC0/func_808ED3F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/EnBigslime_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bigslime/func_808ED3F4.s") diff --git a/src/overlays/actors/ovl_En_Bigslime/z_en_bigslime.h b/src/overlays/actors/ovl_En_Bigslime/z_en_bigslime.h index 443a339f4c..419b6c1f61 100644 --- a/src/overlays/actors/ovl_En_Bigslime/z_en_bigslime.h +++ b/src/overlays/actors/ovl_En_Bigslime/z_en_bigslime.h @@ -1,7 +1,7 @@ #ifndef Z_EN_BIGSLIME_H #define Z_EN_BIGSLIME_H -#include +#include "global.h" #include "overlays/actors/ovl_En_Minislime/z_en_minislime.h" #include "overlays/actors/ovl_En_Pametfrog/z_en_pametfrog.h" diff --git a/src/overlays/actors/ovl_En_Bji_01/z_en_bji_01.h b/src/overlays/actors/ovl_En_Bji_01/z_en_bji_01.h index e6a8426923..b1ed3f8af7 100644 --- a/src/overlays/actors/ovl_En_Bji_01/z_en_bji_01.h +++ b/src/overlays/actors/ovl_En_Bji_01/z_en_bji_01.h @@ -1,7 +1,7 @@ #ifndef Z_EN_BJI_01_H #define Z_EN_BJI_01_H -#include +#include "global.h" #include "overlays/actors/ovl_Obj_Moon_Stone/z_obj_moon_stone.h" struct EnBji01; diff --git a/src/overlays/actors/ovl_En_Bjt/z_en_bjt.c b/src/overlays/actors/ovl_En_Bjt/z_en_bjt.c index 0ad57f4e9a..b082951077 100644 --- a/src/overlays/actors/ovl_En_Bjt/z_en_bjt.c +++ b/src/overlays/actors/ovl_En_Bjt/z_en_bjt.c @@ -9,6 +9,9 @@ void EnBjt_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnBjt_Update(Actor* thisx, GlobalContext* globalCtx); void EnBjt_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80BFDA48(EnBjt* this, GlobalContext* globalCtx); +void func_80BFDAE8(EnBjt* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Bjt_InitVars = { ACTOR_EN_BJT, @@ -22,7 +25,6 @@ const ActorInit En_Bjt_InitVars = { (ActorFunc)EnBjt_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80BFDF48 = { { COLTYPE_HIT1, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,41 +32,42 @@ static ColliderCylinderInit D_80BFDF48 = { { 10, 68, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_80BFDF74 = { 0, 0, 0, 0, MASS_IMMOVABLE }; +#endif extern ColliderCylinderInit D_80BFDF48; extern CollisionCheckInfoInit2 D_80BFDF74; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bjt_0x80BFD2E0/func_80BFD2E0.asm") +extern UNK_TYPE D_06002390; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bjt_0x80BFD2E0/func_80BFD30C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bjt/func_80BFD2E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bjt_0x80BFD2E0/func_80BFD3A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bjt/func_80BFD30C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bjt_0x80BFD2E0/func_80BFD434.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bjt/func_80BFD3A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bjt_0x80BFD2E0/func_80BFD4FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bjt/func_80BFD434.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bjt_0x80BFD2E0/func_80BFD5E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bjt/func_80BFD4FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bjt_0x80BFD2E0/func_80BFD6BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bjt/func_80BFD5E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bjt_0x80BFD2E0/func_80BFD8F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bjt/func_80BFD6BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bjt_0x80BFD2E0/func_80BFD984.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bjt/func_80BFD8F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bjt_0x80BFD2E0/func_80BFDA48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bjt/func_80BFD984.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bjt_0x80BFD2E0/func_80BFDAE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bjt/func_80BFDA48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bjt_0x80BFD2E0/EnBjt_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bjt/func_80BFDAE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bjt_0x80BFD2E0/EnBjt_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bjt/EnBjt_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bjt_0x80BFD2E0/EnBjt_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bjt/EnBjt_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bjt_0x80BFD2E0/EnBjt_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bjt/EnBjt_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bjt/EnBjt_Draw.s") diff --git a/src/overlays/actors/ovl_En_Bjt/z_en_bjt.h b/src/overlays/actors/ovl_En_Bjt/z_en_bjt.h index 344403868b..f2084fc825 100644 --- a/src/overlays/actors/ovl_En_Bjt/z_en_bjt.h +++ b/src/overlays/actors/ovl_En_Bjt/z_en_bjt.h @@ -1,13 +1,17 @@ #ifndef Z_EN_BJT_H #define Z_EN_BJT_H -#include +#include "global.h" struct EnBjt; +typedef void (*EnBjtActionFunc)(struct EnBjt* this, GlobalContext* globalCtx); + typedef struct EnBjt { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x118]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ EnBjtActionFunc actionFunc; + /* 0x018C */ char unk_18C[0xD0]; } EnBjt; // size = 0x25C extern const ActorInit En_Bjt_InitVars; diff --git a/src/overlays/actors/ovl_En_Boj_01/z_en_boj_01.h b/src/overlays/actors/ovl_En_Boj_01/z_en_boj_01.h index 88d0f66e4d..cfee748df9 100644 --- a/src/overlays/actors/ovl_En_Boj_01/z_en_boj_01.h +++ b/src/overlays/actors/ovl_En_Boj_01/z_en_boj_01.h @@ -1,7 +1,7 @@ #ifndef Z_EN_BOJ_01_H #define Z_EN_BOJ_01_H -#include +#include "global.h" struct EnBoj01; diff --git a/src/overlays/actors/ovl_En_Boj_02/z_en_boj_02.h b/src/overlays/actors/ovl_En_Boj_02/z_en_boj_02.h index 1f0c2d4f73..1ef9785efb 100644 --- a/src/overlays/actors/ovl_En_Boj_02/z_en_boj_02.h +++ b/src/overlays/actors/ovl_En_Boj_02/z_en_boj_02.h @@ -1,7 +1,7 @@ #ifndef Z_EN_BOJ_02_H #define Z_EN_BOJ_02_H -#include +#include "global.h" struct EnBoj02; diff --git a/src/overlays/actors/ovl_En_Boj_03/z_en_boj_03.h b/src/overlays/actors/ovl_En_Boj_03/z_en_boj_03.h index 545b27fa56..eac4fc691c 100644 --- a/src/overlays/actors/ovl_En_Boj_03/z_en_boj_03.h +++ b/src/overlays/actors/ovl_En_Boj_03/z_en_boj_03.h @@ -1,7 +1,7 @@ #ifndef Z_EN_BOJ_03_H #define Z_EN_BOJ_03_H -#include +#include "global.h" struct EnBoj03; diff --git a/src/overlays/actors/ovl_En_Boj_04/z_en_boj_04.h b/src/overlays/actors/ovl_En_Boj_04/z_en_boj_04.h index 53c80b566a..9681073e8d 100644 --- a/src/overlays/actors/ovl_En_Boj_04/z_en_boj_04.h +++ b/src/overlays/actors/ovl_En_Boj_04/z_en_boj_04.h @@ -1,7 +1,7 @@ #ifndef Z_EN_BOJ_04_H #define Z_EN_BOJ_04_H -#include +#include "global.h" struct EnBoj04; diff --git a/src/overlays/actors/ovl_En_Boj_05/z_en_boj_05.h b/src/overlays/actors/ovl_En_Boj_05/z_en_boj_05.h index 0e01946285..bed1ad78eb 100644 --- a/src/overlays/actors/ovl_En_Boj_05/z_en_boj_05.h +++ b/src/overlays/actors/ovl_En_Boj_05/z_en_boj_05.h @@ -1,7 +1,7 @@ #ifndef Z_EN_BOJ_05_H #define Z_EN_BOJ_05_H -#include +#include "global.h" struct EnBoj05; diff --git a/src/overlays/actors/ovl_En_Bom/z_en_bom.c b/src/overlays/actors/ovl_En_Bom/z_en_bom.c index d434a12c2c..62e63c7e9c 100644 --- a/src/overlays/actors/ovl_En_Bom/z_en_bom.c +++ b/src/overlays/actors/ovl_En_Bom/z_en_bom.c @@ -9,6 +9,9 @@ void EnBom_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnBom_Update(Actor* thisx, GlobalContext* globalCtx); void EnBom_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80871058(EnBom* this, GlobalContext* globalCtx); +void func_808714D4(EnBom* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Bom_InitVars = { ACTOR_EN_BOM, @@ -22,7 +25,6 @@ const ActorInit En_Bom_InitVars = { (ActorFunc)EnBom_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80872DC8 = { { COLTYPE_HIT0, AT_NONE, AC_ON | AC_TYPE_PLAYER | AC_TYPE_OTHER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -30,7 +32,6 @@ static ColliderCylinderInit D_80872DC8 = { { 6, 11, 14, { 0, 0, 0 } }, }; - // static ColliderJntSphElementInit sJntSphElementsInit[1] = { static ColliderJntSphElementInit D_80872DF4[1] = { { @@ -45,7 +46,6 @@ static ColliderJntSphInit D_80872E18 = { 1, D_80872DF4, // sJntSphElementsInit, }; - // static ColliderJntSphElementInit sJntSphElementsInit[1] = { static ColliderJntSphElementInit D_80872E28[1] = { { @@ -60,7 +60,6 @@ static ColliderJntSphInit D_80872E4C = { 1, D_80872E28, // sJntSphElementsInit, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80872E5C[] = { ICHAIN_VEC3F(scale, 0, ICHAIN_CONTINUE), @@ -68,6 +67,7 @@ static InitChainEntry D_80872E5C[] = { ICHAIN_F32_DIV1000(gravity, -4000, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80872DC8; extern ColliderJntSphElementInit D_80872DF4[1]; @@ -75,24 +75,23 @@ extern ColliderJntSphInit D_80872E18; extern ColliderJntSphElementInit D_80872E28[1]; extern ColliderJntSphInit D_80872E4C; extern InitChainEntry D_80872E5C[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_0x80870DB0/EnBom_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom/EnBom_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_0x80870DB0/EnBom_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom/EnBom_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_0x80870DB0/func_80871058.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom/func_80871058.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_0x80870DB0/func_808714D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom/func_808714D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_0x80870DB0/func_808715B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom/func_808715B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_0x80870DB0/EnBom_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom/EnBom_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_0x80870DB0/EnBom_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom/EnBom_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_0x80870DB0/func_80872648.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom/func_80872648.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_0x80870DB0/func_808726DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom/func_808726DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_0x80870DB0/func_80872BC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom/func_80872BC0.s") diff --git a/src/overlays/actors/ovl_En_Bom/z_en_bom.h b/src/overlays/actors/ovl_En_Bom/z_en_bom.h index 3ed63f9bdc..32b43f32c0 100644 --- a/src/overlays/actors/ovl_En_Bom/z_en_bom.h +++ b/src/overlays/actors/ovl_En_Bom/z_en_bom.h @@ -1,15 +1,18 @@ #ifndef Z_EN_BOM_H #define Z_EN_BOM_H -#include +#include "global.h" struct EnBom; +typedef void (*EnBomActionFunc)(struct EnBom* this, GlobalContext* globalCtx); + typedef struct EnBom { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0xAC]; - /* 0x1F0 */ s16 timer; - /* 0x1F2 */ char unk_1F2[0x12]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0xAC]; + /* 0x01F0 */ s16 timer; + /* 0x01F2 */ char unk_1F2[0xE]; + /* 0x0200 */ EnBomActionFunc actionFunc; } EnBom; // size = 0x204 extern const ActorInit En_Bom_InitVars; diff --git a/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.c b/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.c index e16c013135..dec58fb36b 100644 --- a/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.c +++ b/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.c @@ -9,6 +9,17 @@ void EnBomBowlMan_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnBomBowlMan_Update(Actor* thisx, GlobalContext* globalCtx); void EnBomBowlMan_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_809C4DA4(EnBomBowlMan* this, GlobalContext* globalCtx); +void func_809C51B4(EnBomBowlMan* this, GlobalContext* globalCtx); +void func_809C5310(EnBomBowlMan* this, GlobalContext* globalCtx); +void func_809C5408(EnBomBowlMan* this, GlobalContext* globalCtx); +void func_809C5598(EnBomBowlMan* this, GlobalContext* globalCtx); +void func_809C5738(EnBomBowlMan* this, GlobalContext* globalCtx); +void func_809C59F0(EnBomBowlMan* this, GlobalContext* globalCtx); +void func_809C5AA4(EnBomBowlMan* this, GlobalContext* globalCtx); +void func_809C5B1C(EnBomBowlMan* this, GlobalContext* globalCtx); +void func_809C5BF4(EnBomBowlMan* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Bom_Bowl_Man_InitVars = { ACTOR_EN_BOM_BOWL_MAN, @@ -24,52 +35,54 @@ const ActorInit En_Bom_Bowl_Man_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man_0x809C4790/EnBomBowlMan_Init.asm") +extern UNK_TYPE D_060064B8; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man_0x809C4790/EnBomBowlMan_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man/EnBomBowlMan_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man_0x809C4790/func_809C493C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man/EnBomBowlMan_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man_0x809C4790/func_809C49CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man/func_809C493C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man_0x809C4790/func_809C4B50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man/func_809C49CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man_0x809C4790/func_809C4B6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man/func_809C4B50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man_0x809C4790/func_809C4BC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man/func_809C4B6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man_0x809C4790/func_809C4DA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man/func_809C4BC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man_0x809C4790/func_809C51B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man/func_809C4DA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man_0x809C4790/func_809C52B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man/func_809C51B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man_0x809C4790/func_809C5310.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man/func_809C52B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man_0x809C4790/func_809C53A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man/func_809C5310.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man_0x809C4790/func_809C5408.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man/func_809C53A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man_0x809C4790/func_809C5524.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man/func_809C5408.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man_0x809C4790/func_809C5598.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man/func_809C5524.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man_0x809C4790/func_809C5738.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man/func_809C5598.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man_0x809C4790/func_809C59A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man/func_809C5738.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man_0x809C4790/func_809C59F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man/func_809C59A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man_0x809C4790/func_809C5AA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man/func_809C59F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man_0x809C4790/func_809C5B1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man/func_809C5AA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man_0x809C4790/func_809C5BA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man/func_809C5B1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man_0x809C4790/func_809C5BF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man/func_809C5BA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man_0x809C4790/EnBomBowlMan_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man/func_809C5BF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man_0x809C4790/func_809C5F44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man/EnBomBowlMan_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man_0x809C4790/EnBomBowlMan_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man/func_809C5F44.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom_Bowl_Man/EnBomBowlMan_Draw.s") diff --git a/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.h b/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.h index b7615f8192..dfb0e2399d 100644 --- a/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.h +++ b/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.h @@ -1,13 +1,17 @@ #ifndef Z_EN_BOM_BOWL_MAN_H #define Z_EN_BOM_BOWL_MAN_H -#include +#include "global.h" struct EnBomBowlMan; +typedef void (*EnBomBowlManActionFunc)(struct EnBomBowlMan* this, GlobalContext* globalCtx); + typedef struct EnBomBowlMan { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x1B8]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x140]; + /* 0x0284 */ EnBomBowlManActionFunc actionFunc; + /* 0x0288 */ char unk_288[0x74]; } EnBomBowlMan; // size = 0x2FC extern const ActorInit En_Bom_Bowl_Man_InitVars; diff --git a/src/overlays/actors/ovl_En_Bom_Chu/z_en_bom_chu.c b/src/overlays/actors/ovl_En_Bom_Chu/z_en_bom_chu.c index bdb581cf0d..e6e584bb84 100644 --- a/src/overlays/actors/ovl_En_Bom_Chu/z_en_bom_chu.c +++ b/src/overlays/actors/ovl_En_Bom_Chu/z_en_bom_chu.c @@ -9,6 +9,10 @@ void EnBomChu_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnBomChu_Update(Actor* thisx, GlobalContext* globalCtx); void EnBomChu_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_808F7868(EnBomChu* this, GlobalContext* globalCtx); +void func_808F7A84(EnBomChu* this, GlobalContext* globalCtx); +void func_808F7FA0(EnBomChu* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Bom_Chu_InitVars = { ACTOR_EN_BOM_CHU, @@ -22,7 +26,6 @@ const ActorInit En_Bom_Chu_InitVars = { (ActorFunc)EnBomChu_Draw, }; - // static ColliderSphereInit sSphereInit = { static ColliderSphereInit D_808F88E0 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_1 | OC1_TYPE_2, OC2_TYPE_2, COLSHAPE_SPHERE, }, @@ -30,44 +33,43 @@ static ColliderSphereInit D_808F88E0 = { { 1, { { 0, 0, 0 }, 13 }, 100 }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_808F890C[] = { ICHAIN_U8(targetMode, 2, ICHAIN_CONTINUE), ICHAIN_VEC3F_DIV1000(scale, 10, ICHAIN_STOP), }; +#endif extern ColliderSphereInit D_808F88E0; extern InitChainEntry D_808F890C[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_Chu_0x808F74B0/EnBomChu_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom_Chu/EnBomChu_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_Chu_0x808F74B0/EnBomChu_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom_Chu/EnBomChu_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_Chu_0x808F74B0/func_808F75D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom_Chu/func_808F75D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_Chu_0x808F74B0/func_808F77E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom_Chu/func_808F77E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_Chu_0x808F74B0/func_808F7868.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom_Chu/func_808F7868.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_Chu_0x808F74B0/func_808F7944.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom_Chu/func_808F7944.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_Chu_0x808F74B0/func_808F79D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom_Chu/func_808F79D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_Chu_0x808F74B0/func_808F7A84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom_Chu/func_808F7A84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_Chu_0x808F74B0/func_808F7E74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom_Chu/func_808F7E74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_Chu_0x808F74B0/func_808F7FA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom_Chu/func_808F7FA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_Chu_0x808F74B0/func_808F7FD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom_Chu/func_808F7FD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_Chu_0x808F74B0/func_808F8080.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom_Chu/func_808F8080.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_Chu_0x808F74B0/func_808F818C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom_Chu/func_808F818C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_Chu_0x808F74B0/EnBomChu_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom_Chu/EnBomChu_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bom_Chu_0x808F74B0/EnBomChu_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bom_Chu/EnBomChu_Draw.s") diff --git a/src/overlays/actors/ovl_En_Bom_Chu/z_en_bom_chu.h b/src/overlays/actors/ovl_En_Bom_Chu/z_en_bom_chu.h index 3bbea982f4..75344cecd2 100644 --- a/src/overlays/actors/ovl_En_Bom_Chu/z_en_bom_chu.h +++ b/src/overlays/actors/ovl_En_Bom_Chu/z_en_bom_chu.h @@ -1,13 +1,16 @@ #ifndef Z_EN_BOM_CHU_H #define Z_EN_BOM_CHU_H -#include +#include "global.h" struct EnBomChu; +typedef void (*EnBomChuActionFunc)(struct EnBomChu* this, GlobalContext* globalCtx); + typedef struct EnBomChu { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x9C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ EnBomChuActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x98]; } EnBomChu; // size = 0x1E0 extern const ActorInit En_Bom_Chu_InitVars; diff --git a/src/overlays/actors/ovl_En_Bombal/z_en_bombal.c b/src/overlays/actors/ovl_En_Bombal/z_en_bombal.c index dcc9f8e9f2..75eb00e815 100644 --- a/src/overlays/actors/ovl_En_Bombal/z_en_bombal.c +++ b/src/overlays/actors/ovl_En_Bombal/z_en_bombal.c @@ -9,6 +9,10 @@ void EnBombal_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnBombal_Update(Actor* thisx, GlobalContext* globalCtx); void EnBombal_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80C05B3C(EnBombal* this, GlobalContext* globalCtx); +void func_80C05C44(EnBombal* this, GlobalContext* globalCtx); +void func_80C05DE8(EnBombal* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Bombal_InitVars = { ACTOR_EN_BOMBAL, @@ -22,7 +26,6 @@ const ActorInit En_Bombal_InitVars = { (ActorFunc)EnBombal_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80C06460 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_NONE, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -30,28 +33,30 @@ static ColliderCylinderInit D_80C06460 = { { 60, 90, -50, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80C06460; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombal_0x80C05A70/EnBombal_Init.asm") +extern ColliderCylinderInit D_80C06460; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombal_0x80C05A70/EnBombal_Destroy.asm") +extern UNK_TYPE D_06000A00; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombal_0x80C05A70/func_80C05B24.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombal/EnBombal_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombal_0x80C05A70/func_80C05B3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombal/EnBombal_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombal_0x80C05A70/func_80C05C44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombal/func_80C05B24.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombal_0x80C05A70/func_80C05DE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombal/func_80C05B3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombal_0x80C05A70/EnBombal_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombal/func_80C05C44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombal_0x80C05A70/EnBombal_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombal/func_80C05DE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombal_0x80C05A70/func_80C05F90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombal/EnBombal_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombal_0x80C05A70/func_80C060B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombal/EnBombal_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombal_0x80C05A70/func_80C06208.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombal/func_80C05F90.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombal/func_80C060B8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombal/func_80C06208.s") diff --git a/src/overlays/actors/ovl_En_Bombal/z_en_bombal.h b/src/overlays/actors/ovl_En_Bombal/z_en_bombal.h index 4359b03c16..f7155faa1d 100644 --- a/src/overlays/actors/ovl_En_Bombal/z_en_bombal.h +++ b/src/overlays/actors/ovl_En_Bombal/z_en_bombal.h @@ -1,13 +1,16 @@ #ifndef Z_EN_BOMBAL_H #define Z_EN_BOMBAL_H -#include +#include "global.h" struct EnBombal; +typedef void (*EnBombalActionFunc)(struct EnBombal* this, GlobalContext* globalCtx); + typedef struct EnBombal { /* 0x0000 */ Actor actor; - /* 0x0144 */ char unk_0144[0x2900]; + /* 0x0144 */ EnBombalActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x28FC]; } EnBombal; // size = 0x2A44 extern const ActorInit En_Bombal_InitVars; diff --git a/src/overlays/actors/ovl_En_Bombers/z_en_bombers.c b/src/overlays/actors/ovl_En_Bombers/z_en_bombers.c index aec1c03b48..7786d5c03f 100644 --- a/src/overlays/actors/ovl_En_Bombers/z_en_bombers.c +++ b/src/overlays/actors/ovl_En_Bombers/z_en_bombers.c @@ -9,6 +9,11 @@ void EnBombers_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnBombers_Update(Actor* thisx, GlobalContext* globalCtx); void EnBombers_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80C03AF4(EnBombers* this, GlobalContext* globalCtx); +void func_80C03FAC(EnBombers* this, GlobalContext* globalCtx); +void func_80C04354(EnBombers* this, GlobalContext* globalCtx); +void func_80C043C8(EnBombers* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Bombers_InitVars = { ACTOR_EN_BOMBERS, @@ -22,7 +27,6 @@ const ActorInit En_Bombers_InitVars = { (ActorFunc)EnBombers_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80C04770 = { { COLTYPE_NONE, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_PLAYER, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -30,36 +34,38 @@ static ColliderCylinderInit D_80C04770 = { { 10, 30, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80C04770; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombers_0x80C03530/EnBombers_Init.asm") +extern ColliderCylinderInit D_80C04770; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombers_0x80C03530/EnBombers_Destroy.asm") +extern UNK_TYPE D_060064B8; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombers_0x80C03530/func_80C03824.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombers/EnBombers_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombers_0x80C03530/func_80C038B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombers/EnBombers_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombers_0x80C03530/func_80C039A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombers/func_80C03824.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombers_0x80C03530/func_80C03ACC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombers/func_80C038B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombers_0x80C03530/func_80C03AF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombers/func_80C039A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombers_0x80C03530/func_80C03F64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombers/func_80C03ACC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombers_0x80C03530/func_80C03FAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombers/func_80C03AF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombers_0x80C03530/func_80C042F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombers/func_80C03F64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombers_0x80C03530/func_80C04354.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombers/func_80C03FAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombers_0x80C03530/func_80C043C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombers/func_80C042F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombers_0x80C03530/EnBombers_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombers/func_80C04354.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombers_0x80C03530/func_80C045B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombers/func_80C043C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombers_0x80C03530/EnBombers_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombers/EnBombers_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombers/func_80C045B4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombers/EnBombers_Draw.s") diff --git a/src/overlays/actors/ovl_En_Bombers/z_en_bombers.h b/src/overlays/actors/ovl_En_Bombers/z_en_bombers.h index 99e2989dea..8dad49c4c4 100644 --- a/src/overlays/actors/ovl_En_Bombers/z_en_bombers.h +++ b/src/overlays/actors/ovl_En_Bombers/z_en_bombers.h @@ -1,13 +1,17 @@ #ifndef Z_EN_BOMBERS_H #define Z_EN_BOMBERS_H -#include +#include "global.h" struct EnBombers; +typedef void (*EnBombersActionFunc)(struct EnBombers* this, GlobalContext* globalCtx); + typedef struct EnBombers { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x1D0]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x140]; + /* 0x0284 */ EnBombersActionFunc actionFunc; + /* 0x0288 */ char unk_288[0x8C]; } EnBombers; // size = 0x314 extern const ActorInit En_Bombers_InitVars; diff --git a/src/overlays/actors/ovl_En_Bombers2/z_en_bombers2.c b/src/overlays/actors/ovl_En_Bombers2/z_en_bombers2.c index 2831972102..6d7a8d43a9 100644 --- a/src/overlays/actors/ovl_En_Bombers2/z_en_bombers2.c +++ b/src/overlays/actors/ovl_En_Bombers2/z_en_bombers2.c @@ -9,6 +9,10 @@ void EnBombers2_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnBombers2_Update(Actor* thisx, GlobalContext* globalCtx); void EnBombers2_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80C04BA0(EnBombers2* this, GlobalContext* globalCtx); +void func_80C04D8C(EnBombers2* this, GlobalContext* globalCtx); +void func_80C0520C(EnBombers2* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Bombers2_InitVars = { ACTOR_EN_BOMBERS2, @@ -22,7 +26,6 @@ const ActorInit En_Bombers2_InitVars = { (ActorFunc)EnBombers2_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80C058B0 = { { COLTYPE_NONE, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -30,30 +33,32 @@ static ColliderCylinderInit D_80C058B0 = { { 35, 30, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80C058B0; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombers2_0x80C04930/EnBombers2_Init.asm") +extern ColliderCylinderInit D_80C058B0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombers2_0x80C04930/EnBombers2_Destroy.asm") +extern UNK_TYPE D_060064B8; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombers2_0x80C04930/func_80C04AAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombers2/EnBombers2_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombers2_0x80C04930/func_80C04B40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombers2/EnBombers2_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombers2_0x80C04930/func_80C04BA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombers2/func_80C04AAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombers2_0x80C04930/func_80C04D00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombers2/func_80C04B40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombers2_0x80C04930/func_80C04D8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombers2/func_80C04BA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombers2_0x80C04930/func_80C050B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombers2/func_80C04D00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombers2_0x80C04930/func_80C0520C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombers2/func_80C04D8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombers2_0x80C04930/EnBombers2_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombers2/func_80C050B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombers2_0x80C04930/func_80C056D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombers2/func_80C0520C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombers2_0x80C04930/EnBombers2_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombers2/EnBombers2_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombers2/func_80C056D4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombers2/EnBombers2_Draw.s") diff --git a/src/overlays/actors/ovl_En_Bombers2/z_en_bombers2.h b/src/overlays/actors/ovl_En_Bombers2/z_en_bombers2.h index 97145e11cc..077a124cce 100644 --- a/src/overlays/actors/ovl_En_Bombers2/z_en_bombers2.h +++ b/src/overlays/actors/ovl_En_Bombers2/z_en_bombers2.h @@ -1,13 +1,17 @@ #ifndef Z_EN_BOMBERS2_H #define Z_EN_BOMBERS2_H -#include +#include "global.h" struct EnBombers2; +typedef void (*EnBombers2ActionFunc)(struct EnBombers2* this, GlobalContext* globalCtx); + typedef struct EnBombers2 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x1D8]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x140]; + /* 0x0284 */ EnBombers2ActionFunc actionFunc; + /* 0x0288 */ char unk_288[0x94]; } EnBombers2; // size = 0x31C extern const ActorInit En_Bombers2_InitVars; diff --git a/src/overlays/actors/ovl_En_Bombf/z_en_bombf.c b/src/overlays/actors/ovl_En_Bombf/z_en_bombf.c index a82c84d7aa..8456301cd7 100644 --- a/src/overlays/actors/ovl_En_Bombf/z_en_bombf.c +++ b/src/overlays/actors/ovl_En_Bombf/z_en_bombf.c @@ -9,6 +9,12 @@ void EnBombf_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnBombf_Update(Actor* thisx, GlobalContext* globalCtx); void EnBombf_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_808AEE3C(EnBombf* this, GlobalContext* globalCtx); +void func_808AEF68(EnBombf* this, GlobalContext* globalCtx); +void func_808AEFD4(EnBombf* this, GlobalContext* globalCtx); + +void EnBombf_SetupAction(EnBombf* this, EnBombfActionFunc actionFunc); + #if 0 const ActorInit En_Bombf_InitVars = { ACTOR_EN_BOMBF, @@ -22,7 +28,6 @@ const ActorInit En_Bombf_InitVars = { (ActorFunc)EnBombf_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_808AFB20 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER | AC_TYPE_OTHER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -30,7 +35,6 @@ static ColliderCylinderInit D_808AFB20 = { { 9, 18, 10, { 0, 0, 0 } }, }; - // static ColliderJntSphElementInit sJntSphElementsInit[1] = { static ColliderJntSphElementInit D_808AFB4C[1] = { { @@ -45,30 +49,32 @@ static ColliderJntSphInit D_808AFB70 = { 1, D_808AFB4C, // sJntSphElementsInit, }; +#endif extern ColliderCylinderInit D_808AFB20; extern ColliderJntSphElementInit D_808AFB4C[1]; extern ColliderJntSphInit D_808AFB70; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombf_0x808AE8C0/func_808AE8C0.asm") +extern UNK_TYPE D_06000340; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombf_0x808AE8C0/EnBombf_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombf/EnBombf_SetupAction.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombf_0x808AE8C0/EnBombf_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombf/EnBombf_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombf_0x808AE8C0/func_808AEAB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombf/EnBombf_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombf_0x808AE8C0/func_808AEAE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombf/func_808AEAB8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombf_0x808AE8C0/func_808AEE3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombf/func_808AEAE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombf_0x808AE8C0/func_808AEF68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombf/func_808AEE3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombf_0x808AE8C0/func_808AEFD4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombf/func_808AEF68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombf_0x808AE8C0/EnBombf_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombf/func_808AEFD4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombf_0x808AE8C0/func_808AF86C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombf/EnBombf_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bombf_0x808AE8C0/EnBombf_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombf/func_808AF86C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bombf/EnBombf_Draw.s") diff --git a/src/overlays/actors/ovl_En_Bombf/z_en_bombf.h b/src/overlays/actors/ovl_En_Bombf/z_en_bombf.h index 6eabd5845e..695800dac0 100644 --- a/src/overlays/actors/ovl_En_Bombf/z_en_bombf.h +++ b/src/overlays/actors/ovl_En_Bombf/z_en_bombf.h @@ -1,13 +1,17 @@ #ifndef Z_EN_BOMBF_H #define Z_EN_BOMBF_H -#include +#include "global.h" struct EnBombf; +typedef void (*EnBombfActionFunc)(struct EnBombf* this, GlobalContext* globalCtx); + typedef struct EnBombf { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0xC4]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0xB0]; + /* 0x01F4 */ EnBombfActionFunc actionFunc; + /* 0x01F8 */ char unk_1F8[0x10]; } EnBombf; // size = 0x208 extern const ActorInit En_Bombf_InitVars; diff --git a/src/overlays/actors/ovl_En_Bomjima/z_en_bomjima.c b/src/overlays/actors/ovl_En_Bomjima/z_en_bomjima.c index 5c09e043f8..64336e59de 100644 --- a/src/overlays/actors/ovl_En_Bomjima/z_en_bomjima.c +++ b/src/overlays/actors/ovl_En_Bomjima/z_en_bomjima.c @@ -9,6 +9,23 @@ void EnBomjima_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnBomjima_Update(Actor* thisx, GlobalContext* globalCtx); void EnBomjima_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80BFEA94(EnBomjima* this, GlobalContext* globalCtx); +void func_80BFEB64(EnBomjima* this, GlobalContext* globalCtx); +void func_80BFF03C(EnBomjima* this, GlobalContext* globalCtx); +void func_80BFF174(EnBomjima* this, GlobalContext* globalCtx); +void func_80BFF430(EnBomjima* this, GlobalContext* globalCtx); +void func_80BFF52C(EnBomjima* this, GlobalContext* globalCtx); +void func_80BFF6CC(EnBomjima* this, GlobalContext* globalCtx); +void func_80BFF754(EnBomjima* this, GlobalContext* globalCtx); +void func_80BFF9B0(EnBomjima* this, GlobalContext* globalCtx); +void func_80BFFB40(EnBomjima* this, GlobalContext* globalCtx); +void func_80BFFBC4(EnBomjima* this, GlobalContext* globalCtx); +void func_80BFFD48(EnBomjima* this, GlobalContext* globalCtx); +void func_80BFFE48(EnBomjima* this, GlobalContext* globalCtx); +void func_80BFFF54(EnBomjima* this, GlobalContext* globalCtx); +void func_80C00168(EnBomjima* this, GlobalContext* globalCtx); +void func_80C00284(EnBomjima* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Bomjima_InitVars = { ACTOR_EN_BOMJIMA, @@ -22,7 +39,6 @@ const ActorInit En_Bomjima_InitVars = { (ActorFunc)EnBomjima_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80C00A18 = { { COLTYPE_NONE, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_PLAYER, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -30,74 +46,76 @@ static ColliderCylinderInit D_80C00A18 = { { 10, 30, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80C00A18; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjima_0x80BFE170/EnBomjima_Init.asm") +extern ColliderCylinderInit D_80C00A18; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjima_0x80BFE170/EnBomjima_Destroy.asm") +extern UNK_TYPE D_060064B8; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjima_0x80BFE170/func_80BFE32C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjima/EnBomjima_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjima_0x80BFE170/func_80BFE494.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjima/EnBomjima_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjima_0x80BFE170/func_80BFE524.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjima/func_80BFE32C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjima_0x80BFE170/func_80BFE65C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjima/func_80BFE494.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjima_0x80BFE170/func_80BFE67C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjima/func_80BFE524.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjima_0x80BFE170/func_80BFEA94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjima/func_80BFE65C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjima_0x80BFE170/func_80BFEB1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjima/func_80BFE67C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjima_0x80BFE170/func_80BFEB64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjima/func_80BFEA94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjima_0x80BFE170/func_80BFEFF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjima/func_80BFEB1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjima_0x80BFE170/func_80BFF03C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjima/func_80BFEB64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjima_0x80BFE170/func_80BFF120.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjima/func_80BFEFF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjima_0x80BFE170/func_80BFF174.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjima/func_80BFF03C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjima_0x80BFE170/func_80BFF3F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjima/func_80BFF120.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjima_0x80BFE170/func_80BFF430.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjima/func_80BFF174.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjima_0x80BFE170/func_80BFF4F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjima/func_80BFF3F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjima_0x80BFE170/func_80BFF52C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjima/func_80BFF430.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjima_0x80BFE170/func_80BFF6CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjima/func_80BFF4F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjima_0x80BFE170/func_80BFF754.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjima/func_80BFF52C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjima_0x80BFE170/func_80BFF9B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjima/func_80BFF6CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjima_0x80BFE170/func_80BFFB40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjima/func_80BFF754.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjima_0x80BFE170/func_80BFFBC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjima/func_80BFF9B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjima_0x80BFE170/func_80BFFCFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjima/func_80BFFB40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjima_0x80BFE170/func_80BFFD48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjima/func_80BFFBC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjima_0x80BFE170/func_80BFFE48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjima/func_80BFFCFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjima_0x80BFE170/func_80BFFF54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjima/func_80BFFD48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjima_0x80BFE170/func_80C0011C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjima/func_80BFFE48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjima_0x80BFE170/func_80C00168.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjima/func_80BFFF54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjima_0x80BFE170/func_80C00234.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjima/func_80C0011C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjima_0x80BFE170/func_80C00284.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjima/func_80C00168.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjima_0x80BFE170/EnBomjima_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjima/func_80C00234.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjima_0x80BFE170/func_80C007F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjima/func_80C00284.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjima_0x80BFE170/EnBomjima_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjima/EnBomjima_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjima/func_80C007F4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjima/EnBomjima_Draw.s") diff --git a/src/overlays/actors/ovl_En_Bomjima/z_en_bomjima.h b/src/overlays/actors/ovl_En_Bomjima/z_en_bomjima.h index 6d2f67d403..c69365aedb 100644 --- a/src/overlays/actors/ovl_En_Bomjima/z_en_bomjima.h +++ b/src/overlays/actors/ovl_En_Bomjima/z_en_bomjima.h @@ -1,13 +1,17 @@ #ifndef Z_EN_BOMJIMA_H #define Z_EN_BOMJIMA_H -#include +#include "global.h" struct EnBomjima; +typedef void (*EnBomjimaActionFunc)(struct EnBomjima* this, GlobalContext* globalCtx); + typedef struct EnBomjima { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x200]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x140]; + /* 0x0284 */ EnBomjimaActionFunc actionFunc; + /* 0x0288 */ char unk_288[0xBC]; } EnBomjima; // size = 0x344 extern const ActorInit En_Bomjima_InitVars; diff --git a/src/overlays/actors/ovl_En_Bomjimb/z_en_bomjimb.c b/src/overlays/actors/ovl_En_Bomjimb/z_en_bomjimb.c index 4bfbd98fd7..9833d0d774 100644 --- a/src/overlays/actors/ovl_En_Bomjimb/z_en_bomjimb.c +++ b/src/overlays/actors/ovl_En_Bomjimb/z_en_bomjimb.c @@ -9,6 +9,18 @@ void EnBomjimb_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnBomjimb_Update(Actor* thisx, GlobalContext* globalCtx); void EnBomjimb_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80C014E4(EnBomjimb* this, GlobalContext* globalCtx); +void func_80C01A24(EnBomjimb* this, GlobalContext* globalCtx); +void func_80C01B74(EnBomjimb* this, GlobalContext* globalCtx); +void func_80C01CD0(EnBomjimb* this, GlobalContext* globalCtx); +void func_80C0201C(EnBomjimb* this, GlobalContext* globalCtx); +void func_80C0217C(EnBomjimb* this, GlobalContext* globalCtx); +void func_80C02570(EnBomjimb* this, GlobalContext* globalCtx); +void func_80C02704(EnBomjimb* this, GlobalContext* globalCtx); +void func_80C02A14(EnBomjimb* this, GlobalContext* globalCtx); +void func_80C02BCC(EnBomjimb* this, GlobalContext* globalCtx); +void func_80C02DAC(EnBomjimb* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Bomjimb_InitVars = { ACTOR_EN_BOMJIMB, @@ -22,7 +34,6 @@ const ActorInit En_Bomjimb_InitVars = { (ActorFunc)EnBomjimb_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80C03194 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -30,70 +41,72 @@ static ColliderCylinderInit D_80C03194 = { { 20, 30, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80C03194; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjimb_0x80C00EA0/EnBomjimb_Init.asm") +extern ColliderCylinderInit D_80C03194; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjimb_0x80C00EA0/EnBomjimb_Destroy.asm") +extern UNK_TYPE D_060064B8; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjimb_0x80C00EA0/func_80C0113C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjimb/EnBomjimb_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjimb_0x80C00EA0/func_80C011CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjimb/EnBomjimb_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjimb_0x80C00EA0/func_80C012E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjimb/func_80C0113C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjimb_0x80C00EA0/func_80C012FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjimb/func_80C011CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjimb_0x80C00EA0/func_80C013B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjimb/func_80C012E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjimb_0x80C00EA0/func_80C013F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjimb/func_80C012FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjimb_0x80C00EA0/func_80C01494.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjimb/func_80C013B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjimb_0x80C00EA0/func_80C014E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjimb/func_80C013F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjimb_0x80C00EA0/func_80C01984.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjimb/func_80C01494.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjimb_0x80C00EA0/func_80C01A24.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjimb/func_80C014E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjimb_0x80C00EA0/func_80C01B40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjimb/func_80C01984.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjimb_0x80C00EA0/func_80C01B74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjimb/func_80C01A24.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjimb_0x80C00EA0/func_80C01C18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjimb/func_80C01B40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjimb_0x80C00EA0/func_80C01CD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjimb/func_80C01B74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjimb_0x80C00EA0/func_80C01FD4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjimb/func_80C01C18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjimb_0x80C00EA0/func_80C0201C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjimb/func_80C01CD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjimb_0x80C00EA0/func_80C02108.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjimb/func_80C01FD4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjimb_0x80C00EA0/func_80C0217C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjimb/func_80C0201C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjimb_0x80C00EA0/func_80C0250C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjimb/func_80C02108.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjimb_0x80C00EA0/func_80C02570.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjimb/func_80C0217C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjimb_0x80C00EA0/func_80C0267C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjimb/func_80C0250C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjimb_0x80C00EA0/func_80C02704.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjimb/func_80C02570.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjimb_0x80C00EA0/func_80C02740.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjimb/func_80C0267C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjimb_0x80C00EA0/func_80C02A14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjimb/func_80C02704.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjimb_0x80C00EA0/func_80C02BCC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjimb/func_80C02740.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjimb_0x80C00EA0/func_80C02CA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjimb/func_80C02A14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjimb_0x80C00EA0/func_80C02DAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjimb/func_80C02BCC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjimb_0x80C00EA0/EnBomjimb_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjimb/func_80C02CA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjimb_0x80C00EA0/func_80C02FA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjimb/func_80C02DAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bomjimb_0x80C00EA0/EnBomjimb_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjimb/EnBomjimb_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjimb/func_80C02FA8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bomjimb/EnBomjimb_Draw.s") diff --git a/src/overlays/actors/ovl_En_Bomjimb/z_en_bomjimb.h b/src/overlays/actors/ovl_En_Bomjimb/z_en_bomjimb.h index 32c70c7e91..a7e504e622 100644 --- a/src/overlays/actors/ovl_En_Bomjimb/z_en_bomjimb.h +++ b/src/overlays/actors/ovl_En_Bomjimb/z_en_bomjimb.h @@ -1,13 +1,17 @@ #ifndef Z_EN_BOMJIMB_H #define Z_EN_BOMJIMB_H -#include +#include "global.h" struct EnBomjimb; +typedef void (*EnBomjimbActionFunc)(struct EnBomjimb* this, GlobalContext* globalCtx); + typedef struct EnBomjimb { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x1F0]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x140]; + /* 0x0284 */ EnBomjimbActionFunc actionFunc; + /* 0x0288 */ char unk_288[0xAC]; } EnBomjimb; // size = 0x334 extern const ActorInit En_Bomjimb_InitVars; diff --git a/src/overlays/actors/ovl_En_Boom/z_en_boom.c b/src/overlays/actors/ovl_En_Boom/z_en_boom.c index 648d269986..ffc8401655 100644 --- a/src/overlays/actors/ovl_En_Boom/z_en_boom.c +++ b/src/overlays/actors/ovl_En_Boom/z_en_boom.c @@ -9,6 +9,10 @@ void EnBoom_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnBoom_Update(Actor* thisx, GlobalContext* globalCtx); void EnBoom_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_808A2918(EnBoom* this, GlobalContext* globalCtx); + +void EnBoom_SetupAction(EnBoom* this, EnBoomActionFunc actionFunc); + #if 0 const ActorInit En_Boom_InitVars = { ACTOR_EN_BOOM, @@ -22,7 +26,6 @@ const ActorInit En_Boom_InitVars = { (ActorFunc)EnBoom_Draw, }; - // static ColliderQuadInit sQuadInit = { static ColliderQuadInit D_808A3010 = { { COLTYPE_NONE, AT_ON | AT_TYPE_PLAYER, AC_NONE, OC1_NONE, OC2_TYPE_PLAYER, COLSHAPE_QUAD, }, @@ -30,28 +33,27 @@ static ColliderQuadInit D_808A3010 = { { { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } } }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_808A3060[] = { ICHAIN_S8(targetMode, 5, ICHAIN_CONTINUE), ICHAIN_VEC3S(shape.rot, 0, ICHAIN_STOP), }; +#endif extern ColliderQuadInit D_808A3010; extern InitChainEntry D_808A3060[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Boom_0x808A24D0/func_808A24D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Boom/EnBoom_SetupAction.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Boom_0x808A24D0/func_808A24DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Boom/func_808A24DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Boom_0x808A24D0/EnBoom_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Boom/EnBoom_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Boom_0x808A24D0/EnBoom_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Boom/EnBoom_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Boom_0x808A24D0/func_808A2918.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Boom/func_808A2918.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Boom_0x808A24D0/EnBoom_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Boom/EnBoom_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Boom_0x808A24D0/EnBoom_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Boom/EnBoom_Draw.s") diff --git a/src/overlays/actors/ovl_En_Boom/z_en_boom.h b/src/overlays/actors/ovl_En_Boom/z_en_boom.h index 5918b1c9d4..7288a7d547 100644 --- a/src/overlays/actors/ovl_En_Boom/z_en_boom.h +++ b/src/overlays/actors/ovl_En_Boom/z_en_boom.h @@ -1,13 +1,16 @@ #ifndef Z_EN_BOOM_H #define Z_EN_BOOM_H -#include +#include "global.h" struct EnBoom; +typedef void (*EnBoomActionFunc)(struct EnBoom* this, GlobalContext* globalCtx); + typedef struct EnBoom { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0xB0]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0xAC]; + /* 0x01F0 */ EnBoomActionFunc actionFunc; } EnBoom; // size = 0x1F4 extern const ActorInit En_Boom_InitVars; diff --git a/src/overlays/actors/ovl_En_Box/z_en_box.c b/src/overlays/actors/ovl_En_Box/z_en_box.c index b14ee63621..46fb321623 100644 --- a/src/overlays/actors/ovl_En_Box/z_en_box.c +++ b/src/overlays/actors/ovl_En_Box/z_en_box.c @@ -22,64 +22,66 @@ const ActorInit En_Box_InitVars = { (ActorFunc)EnBox_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80869B50[] = { ICHAIN_U8(targetMode, 0, ICHAIN_STOP), }; - -extern InitChainEntry D_80869B50[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Box_0x80867BD0/func_80867BD0.asm") +extern InitChainEntry D_80869B50[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Box_0x80867BD0/func_80867BDC.asm") +extern UNK_TYPE D_0600043C; +extern UNK_TYPE D_06000DB0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Box_0x80867BD0/func_80867C14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Box/func_80867BD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Box_0x80867BD0/func_80867C8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Box/func_80867BDC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Box_0x80867BD0/func_80867FBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Box/func_80867C14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Box_0x80867BD0/func_80867FE4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Box/func_80867C8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Box_0x80867BD0/func_8086800C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Box/func_80867FBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Box_0x80867BD0/EnBox_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Box/func_80867FE4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Box_0x80867BD0/EnBox_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Box/func_8086800C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Box_0x80867BD0/func_80868630.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Box/EnBox_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Box_0x80867BD0/func_80868734.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Box/EnBox_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Box_0x80867BD0/func_808687E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Box/func_80868630.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Box_0x80867BD0/func_80868944.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Box/func_80868734.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Box_0x80867BD0/func_808689E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Box/func_808687E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Box_0x80867BD0/func_80868A6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Box/func_80868944.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Box_0x80867BD0/func_80868AFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Box/func_808689E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Box_0x80867BD0/func_80868B74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Box/func_80868A6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Box_0x80867BD0/func_80868CC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Box/func_80868AFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Box_0x80867BD0/func_80869020.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Box/func_80868B74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Box_0x80867BD0/func_808692E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Box/func_80868CC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Box_0x80867BD0/EnBox_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Box/func_80869020.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Box_0x80867BD0/func_80869600.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Box/func_808692E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Box_0x80867BD0/func_80869850.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Box/EnBox_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Box_0x80867BD0/func_80869874.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Box/func_80869600.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Box_0x80867BD0/func_808698B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Box/func_80869850.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Box_0x80867BD0/EnBox_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Box/func_80869874.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Box/func_808698B4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Box/EnBox_Draw.s") diff --git a/src/overlays/actors/ovl_En_Box/z_en_box.h b/src/overlays/actors/ovl_En_Box/z_en_box.h index f99f5cf349..c8e3751a5e 100644 --- a/src/overlays/actors/ovl_En_Box/z_en_box.h +++ b/src/overlays/actors/ovl_En_Box/z_en_box.h @@ -1,13 +1,17 @@ #ifndef Z_EN_BOX_H #define Z_EN_BOX_H -#include +#include "global.h" struct EnBox; +typedef void (*EnBoxActionFunc)(struct EnBox* this, GlobalContext* globalCtx); + typedef struct EnBox { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0xE0]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0xBC]; + /* 0x0200 */ EnBoxActionFunc actionFunc; + /* 0x0204 */ char unk_204[0x20]; } EnBox; // size = 0x224 extern const ActorInit En_Box_InitVars; diff --git a/src/overlays/actors/ovl_En_Bsb/z_en_bsb.c b/src/overlays/actors/ovl_En_Bsb/z_en_bsb.c index e2a0462b47..bbf95860ca 100644 --- a/src/overlays/actors/ovl_En_Bsb/z_en_bsb.c +++ b/src/overlays/actors/ovl_En_Bsb/z_en_bsb.c @@ -9,6 +9,26 @@ void EnBsb_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnBsb_Update(Actor* thisx, GlobalContext* globalCtx); void EnBsb_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80C0BFE8(EnBsb* this, GlobalContext* globalCtx); +void func_80C0C238(EnBsb* this, GlobalContext* globalCtx); +void func_80C0C364(EnBsb* this, GlobalContext* globalCtx); +void func_80C0C484(EnBsb* this, GlobalContext* globalCtx); +void func_80C0C6A8(EnBsb* this, GlobalContext* globalCtx); +void func_80C0C8EC(EnBsb* this, GlobalContext* globalCtx); +void func_80C0CB3C(EnBsb* this, GlobalContext* globalCtx); +void func_80C0CD04(EnBsb* this, GlobalContext* globalCtx); +void func_80C0CDE4(EnBsb* this, GlobalContext* globalCtx); +void func_80C0CFDC(EnBsb* this, GlobalContext* globalCtx); +void func_80C0D10C(EnBsb* this, GlobalContext* globalCtx); +void func_80C0D27C(EnBsb* this, GlobalContext* globalCtx); +void func_80C0D384(EnBsb* this, GlobalContext* globalCtx); +void func_80C0D51C(EnBsb* this, GlobalContext* globalCtx); +void func_80C0D9B4(EnBsb* this, GlobalContext* globalCtx); +void func_80C0DB18(EnBsb* this, GlobalContext* globalCtx); +void func_80C0E1C0(EnBsb* this, GlobalContext* globalCtx); +void func_80C0E480(EnBsb* this, GlobalContext* globalCtx); +void func_80C0E4FC(EnBsb* this, GlobalContext* globalCtx); + #if 0 // static ColliderJntSphElementInit sJntSphElementsInit[7] = { static ColliderJntSphElementInit D_80C0F8D4[7] = { @@ -48,7 +68,6 @@ static ColliderJntSphInit D_80C0F9D0 = { 7, D_80C0F8D4, // sJntSphElementsInit, }; - // static DamageTable sDamageTable = { static DamageTable D_80C0F9E0 = { /* Deku Nut */ DMG_ENTRY(0, 0x1), @@ -85,7 +104,6 @@ static DamageTable D_80C0F9E0 = { /* Powder Keg */ DMG_ENTRY(1, 0xD), }; - const ActorInit En_Bsb_InitVars = { ACTOR_EN_BSB, ACTORCAT_PROP, @@ -98,120 +116,123 @@ const ActorInit En_Bsb_InitVars = { (ActorFunc)EnBsb_Draw, }; +#endif extern ColliderJntSphElementInit D_80C0F8D4[7]; extern ColliderJntSphInit D_80C0F9D0; extern DamageTable D_80C0F9E0; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0B290.asm") +extern UNK_TYPE D_06000C50; +extern UNK_TYPE D_06004894; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0B31C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0B290.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/EnBsb_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0B31C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/EnBsb_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/EnBsb_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0B888.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/EnBsb_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0B970.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0B888.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0BA58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0B970.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0BC30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0BA58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0BE1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0BC30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0BF2C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0BE1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0BFE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0BF2C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0C0F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0BFE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0C238.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0C0F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0C32C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0C238.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0C364.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0C32C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0C430.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0C364.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0C484.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0C430.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0C610.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0C484.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0C6A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0C610.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0C86C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0C6A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0C8EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0C86C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0CA28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0C8EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0CB3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0CA28.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0CCCC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0CB3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0CD04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0CCCC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0CD90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0CD04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0CDE4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0CD90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0CF4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0CDE4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0CFDC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0CF4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0D00C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0CFDC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0D10C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0D00C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0D214.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0D10C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0D27C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0D214.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0D334.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0D27C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0D384.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0D334.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0D3C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0D384.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0D51C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0D3C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0D964.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0D51C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0D9B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0D964.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0DA58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0D9B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0DB18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0DA58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0E178.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0DB18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0E1C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0E178.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0E3B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0E1C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0E480.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0E3B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0E4FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0E480.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0E618.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0E4FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0E9CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0E618.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/EnBsb_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0E9CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0EEA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/EnBsb_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0F078.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0EEA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0F170.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0F078.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/EnBsb_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0F170.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0F544.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/EnBsb_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0F640.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0F544.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bsb_0x80C0B290/func_80C0F758.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0F640.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bsb/func_80C0F758.s") diff --git a/src/overlays/actors/ovl_En_Bsb/z_en_bsb.h b/src/overlays/actors/ovl_En_Bsb/z_en_bsb.h index 2c28184943..9cef39097c 100644 --- a/src/overlays/actors/ovl_En_Bsb/z_en_bsb.h +++ b/src/overlays/actors/ovl_En_Bsb/z_en_bsb.h @@ -1,13 +1,17 @@ #ifndef Z_EN_BSB_H #define Z_EN_BSB_H -#include +#include "global.h" struct EnBsb; +typedef void (*EnBsbActionFunc)(struct EnBsb* this, GlobalContext* globalCtx); + typedef struct EnBsb { /* 0x0000 */ Actor actor; - /* 0x0144 */ char unk_0144[0x1014]; + /* 0x0144 */ char unk_144[0x140]; + /* 0x0284 */ EnBsbActionFunc actionFunc; + /* 0x0288 */ char unk_288[0xED0]; } EnBsb; // size = 0x1158 extern const ActorInit En_Bsb_InitVars; diff --git a/src/overlays/actors/ovl_En_Bu/z_en_bu.h b/src/overlays/actors/ovl_En_Bu/z_en_bu.h index 256f44720d..6200ca5a74 100644 --- a/src/overlays/actors/ovl_En_Bu/z_en_bu.h +++ b/src/overlays/actors/ovl_En_Bu/z_en_bu.h @@ -1,7 +1,7 @@ #ifndef Z_EN_BU_H #define Z_EN_BU_H -#include +#include "global.h" struct EnBu; diff --git a/src/overlays/actors/ovl_En_Bubble/z_en_bubble.c b/src/overlays/actors/ovl_En_Bubble/z_en_bubble.c index a13d7a01eb..4a78ad3dcf 100644 --- a/src/overlays/actors/ovl_En_Bubble/z_en_bubble.c +++ b/src/overlays/actors/ovl_En_Bubble/z_en_bubble.c @@ -9,6 +9,10 @@ void EnBubble_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnBubble_Update(Actor* thisx, GlobalContext* globalCtx); void EnBubble_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_808A029C(EnBubble* this, GlobalContext* globalCtx); +void func_808A0350(EnBubble* this, GlobalContext* globalCtx); +void func_808A03E8(EnBubble* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Bubble_InitVars = { ACTOR_EN_BUBBLE, @@ -22,7 +26,6 @@ const ActorInit En_Bubble_InitVars = { (ActorFunc)EnBubble_Draw, }; - // static ColliderJntSphElementInit sJntSphElementsInit[2] = { static ColliderJntSphElementInit D_808A0700[2] = { { @@ -41,54 +44,55 @@ static ColliderJntSphInit D_808A0748 = { 2, D_808A0700, // sJntSphElementsInit, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_808A0758 = { 1, 2, 25, 25, MASS_IMMOVABLE }; +#endif extern ColliderJntSphElementInit D_808A0700[2]; extern ColliderJntSphInit D_808A0748; extern CollisionCheckInfoInit2 D_808A0758; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bubble_0x8089F4E0/func_8089F4E0.asm") +extern UNK_TYPE D_06001000; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bubble_0x8089F4E0/func_8089F59C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bubble/func_8089F4E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bubble_0x8089F4E0/func_8089F5D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bubble/func_8089F59C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bubble_0x8089F4E0/func_8089F5F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bubble/func_8089F5D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bubble_0x8089F4E0/func_8089F660.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bubble/func_8089F5F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bubble_0x8089F4E0/func_8089F8BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bubble/func_8089F660.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bubble_0x8089F4E0/func_8089F908.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bubble/func_8089F8BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bubble_0x8089F4E0/func_8089F95C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bubble/func_8089F908.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bubble_0x8089F4E0/func_8089F9E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bubble/func_8089F95C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bubble_0x8089F4E0/func_8089FA54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bubble/func_8089F9E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bubble_0x8089F4E0/func_8089FF30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bubble/func_8089FA54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bubble_0x8089F4E0/func_8089FFCC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bubble/func_8089FF30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bubble_0x8089F4E0/func_808A005C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bubble/func_8089FFCC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bubble_0x8089F4E0/EnBubble_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bubble/func_808A005C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bubble_0x8089F4E0/EnBubble_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bubble/EnBubble_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bubble_0x8089F4E0/func_808A029C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bubble/EnBubble_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bubble_0x8089F4E0/func_808A0350.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bubble/func_808A029C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bubble_0x8089F4E0/func_808A03A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bubble/func_808A0350.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bubble_0x8089F4E0/func_808A03E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bubble/func_808A03A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bubble_0x8089F4E0/EnBubble_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bubble/func_808A03E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Bubble_0x8089F4E0/EnBubble_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bubble/EnBubble_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Bubble/EnBubble_Draw.s") diff --git a/src/overlays/actors/ovl_En_Bubble/z_en_bubble.h b/src/overlays/actors/ovl_En_Bubble/z_en_bubble.h index 4863f4971d..a950254376 100644 --- a/src/overlays/actors/ovl_En_Bubble/z_en_bubble.h +++ b/src/overlays/actors/ovl_En_Bubble/z_en_bubble.h @@ -1,13 +1,16 @@ #ifndef Z_EN_BUBBLE_H #define Z_EN_BUBBLE_H -#include +#include "global.h" struct EnBubble; +typedef void (*EnBubbleActionFunc)(struct EnBubble* this, GlobalContext* globalCtx); + typedef struct EnBubble { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x114]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ EnBubbleActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x110]; } EnBubble; // size = 0x258 extern const ActorInit En_Bubble_InitVars; diff --git a/src/overlays/actors/ovl_En_Butte/z_en_butte.c b/src/overlays/actors/ovl_En_Butte/z_en_butte.c index 5954377fa8..50ecc46fd2 100644 --- a/src/overlays/actors/ovl_En_Butte/z_en_butte.c +++ b/src/overlays/actors/ovl_En_Butte/z_en_butte.c @@ -9,6 +9,11 @@ void EnButte_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnButte_Update(Actor* thisx, GlobalContext* globalCtx); void EnButte_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_8091C794(EnButte* this, GlobalContext* globalCtx); +void func_8091CBB4(EnButte* this, GlobalContext* globalCtx); +void func_8091CFB4(EnButte* this, GlobalContext* globalCtx); +void func_8091D090(EnButte* this, GlobalContext* globalCtx); + #if 0 // static ColliderJntSphElementInit sJntSphElementsInit[1] = { static ColliderJntSphElementInit D_8091D2D0[1] = { @@ -24,7 +29,6 @@ static ColliderJntSphInit D_8091D2F4 = { 1, D_8091D2D0, // sJntSphElementsInit, }; - const ActorInit En_Butte_InitVars = { ACTOR_EN_BUTTE, ACTORCAT_ITEMACTION, @@ -37,7 +41,6 @@ const ActorInit En_Butte_InitVars = { (ActorFunc)EnButte_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_8091D3B0[] = { ICHAIN_VEC3F_DIV1000(scale, 10, ICHAIN_CONTINUE), @@ -46,46 +49,46 @@ static InitChainEntry D_8091D3B0[] = { ICHAIN_F32(uncullZoneDownward, 60, ICHAIN_STOP), }; +#endif extern ColliderJntSphElementInit D_8091D2D0[1]; extern ColliderJntSphInit D_8091D2F4; extern InitChainEntry D_8091D3B0[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Butte_0x8091C0A0/func_8091C0A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Butte/func_8091C0A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Butte_0x8091C0A0/func_8091C124.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Butte/func_8091C124.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Butte_0x8091C0A0/func_8091C140.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Butte/func_8091C140.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Butte_0x8091C0A0/func_8091C178.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Butte/func_8091C178.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Butte_0x8091C0A0/EnButte_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Butte/EnButte_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Butte_0x8091C0A0/EnButte_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Butte/EnButte_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Butte_0x8091C0A0/func_8091C524.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Butte/func_8091C524.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Butte_0x8091C0A0/func_8091C5EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Butte/func_8091C5EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Butte_0x8091C0A0/func_8091C6B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Butte/func_8091C6B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Butte_0x8091C0A0/func_8091C748.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Butte/func_8091C748.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Butte_0x8091C0A0/func_8091C794.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Butte/func_8091C794.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Butte_0x8091C0A0/func_8091CB68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Butte/func_8091CB68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Butte_0x8091C0A0/func_8091CBB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Butte/func_8091CBB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Butte_0x8091C0A0/func_8091CF64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Butte/func_8091CF64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Butte_0x8091C0A0/func_8091CFB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Butte/func_8091CFB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Butte_0x8091C0A0/func_8091D070.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Butte/func_8091D070.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Butte_0x8091C0A0/func_8091D090.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Butte/func_8091D090.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Butte_0x8091C0A0/EnButte_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Butte/EnButte_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Butte_0x8091C0A0/EnButte_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Butte/EnButte_Draw.s") diff --git a/src/overlays/actors/ovl_En_Butte/z_en_butte.h b/src/overlays/actors/ovl_En_Butte/z_en_butte.h index 26ea78b79a..ce9e0e0dc5 100644 --- a/src/overlays/actors/ovl_En_Butte/z_en_butte.h +++ b/src/overlays/actors/ovl_En_Butte/z_en_butte.h @@ -1,13 +1,17 @@ #ifndef Z_EN_BUTTE_H #define Z_EN_BUTTE_H -#include +#include "global.h" struct EnButte; +typedef void (*EnButteActionFunc)(struct EnButte* this, GlobalContext* globalCtx); + typedef struct EnButte { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x11C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x104]; + /* 0x0248 */ EnButteActionFunc actionFunc; + /* 0x024C */ char unk_24C[0x14]; } EnButte; // size = 0x260 extern const ActorInit En_Butte_InitVars; diff --git a/src/overlays/actors/ovl_En_Cha/z_en_cha.h b/src/overlays/actors/ovl_En_Cha/z_en_cha.h index 17a6fec870..c9a292b2bd 100644 --- a/src/overlays/actors/ovl_En_Cha/z_en_cha.h +++ b/src/overlays/actors/ovl_En_Cha/z_en_cha.h @@ -1,7 +1,7 @@ #ifndef Z_EN_CHA_H #define Z_EN_CHA_H -#include +#include "global.h" struct EnCha; diff --git a/src/overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.c b/src/overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.c index 28f10a2aad..0f23074539 100644 --- a/src/overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.c +++ b/src/overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.c @@ -30,17 +30,6 @@ const ActorInit En_Clear_Tag_InitVars = { (ActorFunc)EnClearTag_Draw, }; -extern Gfx D_04030100[]; // Floor shockwave ring -extern Gfx D_040378F0[]; // gExplosionSplashTex1 -extern Gfx D_04037DF0[]; // gExplosionSplashTex2 -extern Gfx D_040382F0[]; // gExplosionSplashTex3 -extern Gfx D_040387F0[]; // gExplosionSplashTex4 -extern Gfx D_04038CF0[]; // gExplosionSplashTex5 -extern Gfx D_040391F0[]; // gExplosionSplashTex6 -extern Gfx D_040396F0[]; // gExplosionSplashTex7 -extern Gfx D_04039BF0[]; // gExplosionSplashTex8 -extern Gfx D_0403A0F0[]; // gExplosionSplashDL - static Vec3f sZeroVector = { 0.0f, 0.0f, 0.0f }; static Vec3f sLightRayEnvColor[] = { diff --git a/src/overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.h b/src/overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.h index ec8e3ef30e..453e6c0ac2 100644 --- a/src/overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.h +++ b/src/overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.h @@ -1,7 +1,7 @@ #ifndef Z_EN_CLEAR_TAG_H #define Z_EN_CLEAR_TAG_H -#include +#include "global.h" struct EnClearTag; diff --git a/src/overlays/actors/ovl_En_Cne_01/z_en_cne_01.c b/src/overlays/actors/ovl_En_Cne_01/z_en_cne_01.c index eef5a55b31..fa6a977f9b 100644 --- a/src/overlays/actors/ovl_En_Cne_01/z_en_cne_01.c +++ b/src/overlays/actors/ovl_En_Cne_01/z_en_cne_01.c @@ -9,6 +9,11 @@ void EnCne01_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnCne01_Update(Actor* thisx, GlobalContext* globalCtx); void EnCne01_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_809CB520(EnCne01* this, GlobalContext* globalCtx); +void func_809CB5A0(EnCne01* this, GlobalContext* globalCtx); +void func_809CB5D8(EnCne01* this, GlobalContext* globalCtx); +void func_809CB5FC(EnCne01* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Cne_01_InitVars = { ACTOR_EN_CNE_01, @@ -22,7 +27,6 @@ const ActorInit En_Cne_01_InitVars = { (ActorFunc)EnCne01_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_809CBF00 = { { COLTYPE_HIT0, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,11 +34,9 @@ static ColliderCylinderInit D_809CBF00 = { { 18, 64, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_809CBF2C = { 0, 0, 0, 0, MASS_IMMOVABLE }; - // static DamageTable sDamageTable = { static DamageTable D_809CBF38 = { /* Deku Nut */ DMG_ENTRY(0, 0x0), @@ -71,36 +73,39 @@ static DamageTable D_809CBF38 = { /* Powder Keg */ DMG_ENTRY(0, 0x0), }; +#endif extern ColliderCylinderInit D_809CBF00; extern CollisionCheckInfoInit2 D_809CBF2C; extern DamageTable D_809CBF38; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Cne_01_0x809CB290/func_809CB290.asm") +extern UNK_TYPE D_060000F0; +extern UNK_TYPE D_06001300; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Cne_01_0x809CB290/func_809CB404.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Cne_01/func_809CB290.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Cne_01_0x809CB290/func_809CB4A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Cne_01/func_809CB404.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Cne_01_0x809CB290/func_809CB520.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Cne_01/func_809CB4A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Cne_01_0x809CB290/func_809CB5A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Cne_01/func_809CB520.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Cne_01_0x809CB290/func_809CB5D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Cne_01/func_809CB5A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Cne_01_0x809CB290/func_809CB5FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Cne_01/func_809CB5D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Cne_01_0x809CB290/EnCne01_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Cne_01/func_809CB5FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Cne_01_0x809CB290/EnCne01_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Cne_01/EnCne01_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Cne_01_0x809CB290/EnCne01_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Cne_01/EnCne01_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Cne_01_0x809CB290/func_809CB920.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Cne_01/EnCne01_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Cne_01_0x809CB290/func_809CBBC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Cne_01/func_809CB920.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Cne_01_0x809CB290/func_809CBCA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Cne_01/func_809CBBC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Cne_01_0x809CB290/EnCne01_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Cne_01/func_809CBCA0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Cne_01/EnCne01_Draw.s") diff --git a/src/overlays/actors/ovl_En_Cne_01/z_en_cne_01.h b/src/overlays/actors/ovl_En_Cne_01/z_en_cne_01.h index ccb80705bb..1180baa2f2 100644 --- a/src/overlays/actors/ovl_En_Cne_01/z_en_cne_01.h +++ b/src/overlays/actors/ovl_En_Cne_01/z_en_cne_01.h @@ -1,13 +1,16 @@ #ifndef Z_EN_CNE_01_H #define Z_EN_CNE_01_H -#include +#include "global.h" struct EnCne01; +typedef void (*EnCne01ActionFunc)(struct EnCne01* this, GlobalContext* globalCtx); + typedef struct EnCne01 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x4D8]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ EnCne01ActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x4D4]; } EnCne01; // size = 0x61C extern const ActorInit En_Cne_01_InitVars; diff --git a/src/overlays/actors/ovl_En_Col_Man/z_en_col_man.c b/src/overlays/actors/ovl_En_Col_Man/z_en_col_man.c index 24b8466f6c..a81f6a24ab 100644 --- a/src/overlays/actors/ovl_En_Col_Man/z_en_col_man.c +++ b/src/overlays/actors/ovl_En_Col_Man/z_en_col_man.c @@ -8,6 +8,11 @@ void EnColMan_Init(Actor* thisx, GlobalContext* globalCtx); void EnColMan_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnColMan_Update(Actor* thisx, GlobalContext* globalCtx); +void func_80AFDE00(EnColMan* this, GlobalContext* globalCtx); +void func_80AFDF00(EnColMan* this, GlobalContext* globalCtx); +void func_80AFDFB4(EnColMan* this, GlobalContext* globalCtx); +void func_80AFE25C(EnColMan* this, GlobalContext* globalCtx); + #if 0 // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80AFE730 = { @@ -16,7 +21,6 @@ static ColliderCylinderInit D_80AFE730 = { { 10, 11, 1, { 0, 0, 0 } }, }; - const ActorInit En_Col_Man_InitVars = { ACTOR_EN_COL_MAN, ACTORCAT_MISC, @@ -29,34 +33,34 @@ const ActorInit En_Col_Man_InitVars = { (ActorFunc)NULL, }; - -extern ColliderCylinderInit D_80AFE730; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Col_Man_0x80AFDC40/EnColMan_Init.asm") +extern ColliderCylinderInit D_80AFE730; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Col_Man_0x80AFDC40/EnColMan_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Col_Man/EnColMan_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Col_Man_0x80AFDC40/func_80AFDD60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Col_Man/EnColMan_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Col_Man_0x80AFDC40/func_80AFDE00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Col_Man/func_80AFDD60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Col_Man_0x80AFDC40/func_80AFDF00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Col_Man/func_80AFDE00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Col_Man_0x80AFDC40/func_80AFDF60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Col_Man/func_80AFDF00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Col_Man_0x80AFDC40/func_80AFDFB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Col_Man/func_80AFDF60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Col_Man_0x80AFDC40/func_80AFE234.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Col_Man/func_80AFDFB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Col_Man_0x80AFDC40/func_80AFE25C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Col_Man/func_80AFE234.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Col_Man_0x80AFDC40/EnColMan_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Col_Man/func_80AFE25C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Col_Man_0x80AFDC40/func_80AFE414.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Col_Man/EnColMan_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Col_Man_0x80AFDC40/func_80AFE4AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Col_Man/func_80AFE414.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Col_Man_0x80AFDC40/func_80AFE584.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Col_Man/func_80AFE4AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Col_Man_0x80AFDC40/func_80AFE650.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Col_Man/func_80AFE584.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Col_Man/func_80AFE650.s") diff --git a/src/overlays/actors/ovl_En_Col_Man/z_en_col_man.h b/src/overlays/actors/ovl_En_Col_Man/z_en_col_man.h index 12b9819a49..f1ca8fc524 100644 --- a/src/overlays/actors/ovl_En_Col_Man/z_en_col_man.h +++ b/src/overlays/actors/ovl_En_Col_Man/z_en_col_man.h @@ -1,13 +1,16 @@ #ifndef Z_EN_COL_MAN_H #define Z_EN_COL_MAN_H -#include +#include "global.h" struct EnColMan; +typedef void (*EnColManActionFunc)(struct EnColMan* this, GlobalContext* globalCtx); + typedef struct EnColMan { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x5C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ EnColManActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x58]; } EnColMan; // size = 0x1A0 extern const ActorInit En_Col_Man_InitVars; diff --git a/src/overlays/actors/ovl_En_Cow/z_en_cow.c b/src/overlays/actors/ovl_En_Cow/z_en_cow.c index ee1f7b3339..6a76160bb7 100644 --- a/src/overlays/actors/ovl_En_Cow/z_en_cow.c +++ b/src/overlays/actors/ovl_En_Cow/z_en_cow.c @@ -9,6 +9,15 @@ void EnCow_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnCow_Update(Actor* thisx, GlobalContext* globalCtx); void EnCow_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_8099CAA8(EnCow* this, GlobalContext* globalCtx); +void func_8099CB20(EnCow* this, GlobalContext* globalCtx); +void func_8099CB68(EnCow* this, GlobalContext* globalCtx); +void func_8099CBCC(EnCow* this, GlobalContext* globalCtx); +void func_8099CC68(EnCow* this, GlobalContext* globalCtx); +void func_8099CCF8(EnCow* this, GlobalContext* globalCtx); +void func_8099CDA0(EnCow* this, GlobalContext* globalCtx); +void func_8099CFAC(EnCow* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Cow_InitVars = { ACTOR_EN_COW, @@ -22,7 +31,6 @@ const ActorInit En_Cow_InitVars = { (ActorFunc)EnCow_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_8099D610 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_ENEMY, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,46 +38,50 @@ static ColliderCylinderInit D_8099D610 = { { 30, 40, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_8099D610; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Cow_0x8099C290/func_8099C290.asm") +extern ColliderCylinderInit D_8099D610; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Cow_0x8099C290/func_8099C328.asm") +extern UNK_TYPE D_060001CC; +extern UNK_TYPE D_06004010; +extern UNK_TYPE D_06004348; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Cow_0x8099C290/func_8099C41C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Cow/func_8099C290.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Cow_0x8099C290/EnCow_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Cow/func_8099C328.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Cow_0x8099C290/EnCow_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Cow/func_8099C41C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Cow_0x8099C290/func_8099C880.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Cow/EnCow_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Cow_0x8099C290/func_8099CAA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Cow/EnCow_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Cow_0x8099C290/func_8099CB20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Cow/func_8099C880.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Cow_0x8099C290/func_8099CB68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Cow/func_8099CAA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Cow_0x8099C290/func_8099CBCC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Cow/func_8099CB20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Cow_0x8099C290/func_8099CC68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Cow/func_8099CB68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Cow_0x8099C290/func_8099CCF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Cow/func_8099CBCC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Cow_0x8099C290/func_8099CDA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Cow/func_8099CC68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Cow_0x8099C290/func_8099CFAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Cow/func_8099CCF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Cow_0x8099C290/EnCow_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Cow/func_8099CDA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Cow_0x8099C290/func_8099D3C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Cow/func_8099CFAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Cow_0x8099C290/func_8099D4AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Cow/EnCow_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Cow_0x8099C290/func_8099D4FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Cow/func_8099D3C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Cow_0x8099C290/EnCow_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Cow/func_8099D4AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Cow_0x8099C290/func_8099D59C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Cow/func_8099D4FC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Cow/EnCow_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Cow/func_8099D59C.s") diff --git a/src/overlays/actors/ovl_En_Cow/z_en_cow.h b/src/overlays/actors/ovl_En_Cow/z_en_cow.h index d31bf5b2e0..895508240b 100644 --- a/src/overlays/actors/ovl_En_Cow/z_en_cow.h +++ b/src/overlays/actors/ovl_En_Cow/z_en_cow.h @@ -1,13 +1,16 @@ #ifndef Z_EN_COW_H #define Z_EN_COW_H -#include +#include "global.h" struct EnCow; +typedef void (*EnCowActionFunc)(struct EnCow* this, GlobalContext* globalCtx); + typedef struct EnCow { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x134]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x130]; + /* 0x0274 */ EnCowActionFunc actionFunc; } EnCow; // size = 0x278 extern const ActorInit En_Cow_InitVars; diff --git a/src/overlays/actors/ovl_En_Crow/z_en_crow.c b/src/overlays/actors/ovl_En_Crow/z_en_crow.c index 20a6cfbd69..dc32a698e2 100644 --- a/src/overlays/actors/ovl_En_Crow/z_en_crow.c +++ b/src/overlays/actors/ovl_En_Crow/z_en_crow.c @@ -9,6 +9,13 @@ void EnCrow_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnCrow_Update(Actor* thisx, GlobalContext* globalCtx); void EnCrow_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_8099AC8C(EnCrow* this, GlobalContext* globalCtx); +void func_8099B0CC(EnCrow* this, GlobalContext* globalCtx); +void func_8099B584(EnCrow* this, GlobalContext* globalCtx); +void func_8099B6C4(EnCrow* this, GlobalContext* globalCtx); +void func_8099B838(EnCrow* this, GlobalContext* globalCtx); +void func_8099B9E8(EnCrow* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Crow_InitVars = { ACTOR_EN_CROW, @@ -22,7 +29,6 @@ const ActorInit En_Crow_InitVars = { (ActorFunc)EnCrow_Draw, }; - // static ColliderJntSphElementInit sJntSphElementsInit[1] = { static ColliderJntSphElementInit D_8099C070[1] = { { @@ -37,11 +43,9 @@ static ColliderJntSphInit D_8099C094 = { 1, D_8099C070, // sJntSphElementsInit, }; - // sColChkInfoInit static CollisionCheckInfoInit D_8099C0A4 = { 1, 15, 30, 30 }; - // static DamageTable sDamageTable = { static DamageTable D_8099C0AC = { /* Deku Nut */ DMG_ENTRY(0, 0x1), @@ -78,7 +82,6 @@ static DamageTable D_8099C0AC = { /* Powder Keg */ DMG_ENTRY(1, 0x0), }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_8099C0D0[] = { ICHAIN_F32(uncullZoneForward, 3000, ICHAIN_CONTINUE), @@ -87,50 +90,52 @@ static InitChainEntry D_8099C0D0[] = { ICHAIN_F32(targetArrowOffset, 2000, ICHAIN_STOP), }; +#endif extern ColliderJntSphElementInit D_8099C070[1]; extern ColliderJntSphInit D_8099C094; extern CollisionCheckInfoInit D_8099C0A4; extern DamageTable D_8099C0AC; extern InitChainEntry D_8099C0D0[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Crow_0x8099AB30/EnCrow_Init.asm") +extern UNK_TYPE D_060000F0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Crow_0x8099AB30/EnCrow_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Crow/EnCrow_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Crow_0x8099AB30/func_8099AC58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Crow/EnCrow_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Crow_0x8099AB30/func_8099AC8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Crow/func_8099AC58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Crow_0x8099AB30/func_8099B098.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Crow/func_8099AC8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Crow_0x8099AB30/func_8099B0CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Crow/func_8099B098.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Crow_0x8099AB30/func_8099B318.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Crow/func_8099B0CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Crow_0x8099AB30/func_8099B384.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Crow/func_8099B318.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Crow_0x8099AB30/func_8099B584.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Crow/func_8099B384.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Crow_0x8099AB30/func_8099B6AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Crow/func_8099B584.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Crow_0x8099AB30/func_8099B6C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Crow/func_8099B6AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Crow_0x8099AB30/func_8099B778.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Crow/func_8099B6C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Crow_0x8099AB30/func_8099B838.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Crow/func_8099B778.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Crow_0x8099AB30/func_8099B8EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Crow/func_8099B838.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Crow_0x8099AB30/func_8099B9E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Crow/func_8099B8EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Crow_0x8099AB30/func_8099BAB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Crow/func_8099B9E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Crow_0x8099AB30/EnCrow_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Crow/func_8099BAB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Crow_0x8099AB30/func_8099BE48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Crow/EnCrow_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Crow_0x8099AB30/func_8099BF20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Crow/func_8099BE48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Crow_0x8099AB30/EnCrow_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Crow/func_8099BF20.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Crow/EnCrow_Draw.s") diff --git a/src/overlays/actors/ovl_En_Crow/z_en_crow.h b/src/overlays/actors/ovl_En_Crow/z_en_crow.h index 021b2d915c..0fee4d7ba0 100644 --- a/src/overlays/actors/ovl_En_Crow/z_en_crow.h +++ b/src/overlays/actors/ovl_En_Crow/z_en_crow.h @@ -1,13 +1,17 @@ #ifndef Z_EN_CROW_H #define Z_EN_CROW_H -#include +#include "global.h" struct EnCrow; +typedef void (*EnCrowActionFunc)(struct EnCrow* this, GlobalContext* globalCtx); + typedef struct EnCrow { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x158]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ EnCrowActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x110]; } EnCrow; // size = 0x29C extern const ActorInit En_Crow_InitVars; diff --git a/src/overlays/actors/ovl_En_Dai/z_en_dai.c b/src/overlays/actors/ovl_En_Dai/z_en_dai.c index 846263a4bd..131dbaec98 100644 --- a/src/overlays/actors/ovl_En_Dai/z_en_dai.c +++ b/src/overlays/actors/ovl_En_Dai/z_en_dai.c @@ -9,6 +9,10 @@ void EnDai_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnDai_Update(Actor* thisx, GlobalContext* globalCtx); void EnDai_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80B3EE8C(EnDai* this, GlobalContext* globalCtx); +void func_80B3EF90(EnDai* this, GlobalContext* globalCtx); +void func_80B3F00C(EnDai* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Dai_InitVars = { ACTOR_EN_DAI, @@ -24,56 +28,60 @@ const ActorInit En_Dai_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dai_0x80B3DFF0/func_80B3DFF0.asm") +extern UNK_TYPE D_060002E8; +extern UNK_TYPE D_0600C538; +extern UNK_TYPE D_060130D0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dai_0x80B3DFF0/func_80B3E168.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dai/func_80B3DFF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dai_0x80B3DFF0/func_80B3E460.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dai/func_80B3E168.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dai_0x80B3DFF0/func_80B3E5B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dai/func_80B3E460.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dai_0x80B3DFF0/func_80B3E5DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dai/func_80B3E5B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dai_0x80B3DFF0/func_80B3E69C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dai/func_80B3E5DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dai_0x80B3DFF0/func_80B3E7C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dai/func_80B3E69C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dai_0x80B3DFF0/func_80B3E834.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dai/func_80B3E7C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dai_0x80B3DFF0/func_80B3E8BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dai/func_80B3E834.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dai_0x80B3DFF0/func_80B3E96C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dai/func_80B3E8BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dai_0x80B3DFF0/func_80B3EC10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dai/func_80B3E96C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dai_0x80B3DFF0/func_80B3EC84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dai/func_80B3EC10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dai_0x80B3DFF0/func_80B3ED88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dai/func_80B3EC84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dai_0x80B3DFF0/func_80B3EE8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dai/func_80B3ED88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dai_0x80B3DFF0/func_80B3EEDC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dai/func_80B3EE8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dai_0x80B3DFF0/func_80B3EF90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dai/func_80B3EEDC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dai_0x80B3DFF0/func_80B3F00C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dai/func_80B3EF90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dai_0x80B3DFF0/func_80B3F044.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dai/func_80B3F00C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dai_0x80B3DFF0/EnDai_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dai/func_80B3F044.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dai_0x80B3DFF0/EnDai_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dai/EnDai_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dai_0x80B3DFF0/EnDai_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dai/EnDai_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dai_0x80B3DFF0/func_80B3F598.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dai/EnDai_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dai_0x80B3DFF0/func_80B3F614.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dai/func_80B3F598.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dai_0x80B3DFF0/func_80B3F6EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dai/func_80B3F614.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dai_0x80B3DFF0/func_80B3F78C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dai/func_80B3F6EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dai_0x80B3DFF0/func_80B3F920.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dai/func_80B3F78C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dai_0x80B3DFF0/EnDai_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dai/func_80B3F920.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dai/EnDai_Draw.s") diff --git a/src/overlays/actors/ovl_En_Dai/z_en_dai.h b/src/overlays/actors/ovl_En_Dai/z_en_dai.h index 623a9cf1cb..29eaf8a3ab 100644 --- a/src/overlays/actors/ovl_En_Dai/z_en_dai.h +++ b/src/overlays/actors/ovl_En_Dai/z_en_dai.h @@ -1,13 +1,17 @@ #ifndef Z_EN_DAI_H #define Z_EN_DAI_H -#include +#include "global.h" struct EnDai; +typedef void (*EnDaiActionFunc)(struct EnDai* this, GlobalContext* globalCtx); + typedef struct EnDai { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x930]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ EnDaiActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x8E8]; } EnDai; // size = 0xA74 extern const ActorInit En_Dai_InitVars; diff --git a/src/overlays/actors/ovl_En_Daiku/z_en_daiku.c b/src/overlays/actors/ovl_En_Daiku/z_en_daiku.c index daa5059383..170b795cf5 100644 --- a/src/overlays/actors/ovl_En_Daiku/z_en_daiku.c +++ b/src/overlays/actors/ovl_En_Daiku/z_en_daiku.c @@ -9,6 +9,9 @@ void EnDaiku_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnDaiku_Update(Actor* thisx, GlobalContext* globalCtx); void EnDaiku_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_809438F8(EnDaiku* this, GlobalContext* globalCtx); +void func_80943BDC(EnDaiku* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Daiku_InitVars = { ACTOR_EN_DAIKU, @@ -22,7 +25,6 @@ const ActorInit En_Daiku_InitVars = { (ActorFunc)EnDaiku_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80944078 = { { COLTYPE_NONE, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -30,30 +32,33 @@ static ColliderCylinderInit D_80944078 = { { 20, 60, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80944078; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Daiku_0x809434B0/EnDaiku_Init.asm") +extern ColliderCylinderInit D_80944078; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Daiku_0x809434B0/EnDaiku_Destroy.asm") +extern UNK_TYPE D_06002FA0; +extern UNK_TYPE D_06008EC8; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Daiku_0x809434B0/func_8094373C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Daiku/EnDaiku_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Daiku_0x809434B0/func_809437C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Daiku/EnDaiku_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Daiku_0x809434B0/func_80943820.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Daiku/func_8094373C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Daiku_0x809434B0/func_809438F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Daiku/func_809437C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Daiku_0x809434B0/func_80943BC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Daiku/func_80943820.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Daiku_0x809434B0/func_80943BDC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Daiku/func_809438F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Daiku_0x809434B0/EnDaiku_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Daiku/func_80943BC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Daiku_0x809434B0/func_80943E18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Daiku/func_80943BDC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Daiku_0x809434B0/func_80943E60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Daiku/EnDaiku_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Daiku_0x809434B0/EnDaiku_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Daiku/func_80943E18.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Daiku/func_80943E60.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Daiku/EnDaiku_Draw.s") diff --git a/src/overlays/actors/ovl_En_Daiku/z_en_daiku.h b/src/overlays/actors/ovl_En_Daiku/z_en_daiku.h index 605bae4e57..c5f127a71a 100644 --- a/src/overlays/actors/ovl_En_Daiku/z_en_daiku.h +++ b/src/overlays/actors/ovl_En_Daiku/z_en_daiku.h @@ -1,13 +1,17 @@ #ifndef Z_EN_DAIKU_H #define Z_EN_DAIKU_H -#include +#include "global.h" struct EnDaiku; +typedef void (*EnDaikuActionFunc)(struct EnDaiku* this, GlobalContext* globalCtx); + typedef struct EnDaiku { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x1A4]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x110]; + /* 0x0254 */ EnDaikuActionFunc actionFunc; + /* 0x0258 */ char unk_258[0x90]; } EnDaiku; // size = 0x2E8 extern const ActorInit En_Daiku_InitVars; diff --git a/src/overlays/actors/ovl_En_Daiku2/z_en_daiku2.c b/src/overlays/actors/ovl_En_Daiku2/z_en_daiku2.c index 2bd5676962..3ae06ef823 100644 --- a/src/overlays/actors/ovl_En_Daiku2/z_en_daiku2.c +++ b/src/overlays/actors/ovl_En_Daiku2/z_en_daiku2.c @@ -9,6 +9,12 @@ void EnDaiku2_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnDaiku2_Update(Actor* thisx, GlobalContext* globalCtx); void EnDaiku2_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80BE66E4(EnDaiku2* this, GlobalContext* globalCtx); +void func_80BE6BC0(EnDaiku2* this, GlobalContext* globalCtx); +void func_80BE6D40(EnDaiku2* this, GlobalContext* globalCtx); +void func_80BE6EF0(EnDaiku2* this, GlobalContext* globalCtx); +void func_80BE71D8(EnDaiku2* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Daiku2_InitVars = { ACTOR_EN_DAIKU2, @@ -22,7 +28,6 @@ const ActorInit En_Daiku2_InitVars = { (ActorFunc)EnDaiku2_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80BE7900 = { { COLTYPE_NONE, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -30,48 +35,53 @@ static ColliderCylinderInit D_80BE7900 = { { 20, 60, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80BE7900; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Daiku2_0x80BE61D0/func_80BE61D0.asm") +extern ColliderCylinderInit D_80BE7900; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Daiku2_0x80BE61D0/EnDaiku2_Init.asm") +extern UNK_TYPE D_060009E0; +extern UNK_TYPE D_06002134; +extern UNK_TYPE D_06002FA0; +extern UNK_TYPE D_06009638; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Daiku2_0x80BE61D0/EnDaiku2_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Daiku2/func_80BE61D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Daiku2_0x80BE61D0/func_80BE6408.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Daiku2/EnDaiku2_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Daiku2_0x80BE61D0/func_80BE64C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Daiku2/EnDaiku2_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Daiku2_0x80BE61D0/func_80BE65B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Daiku2/func_80BE6408.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Daiku2_0x80BE61D0/func_80BE66E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Daiku2/func_80BE64C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Daiku2_0x80BE61D0/func_80BE6B40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Daiku2/func_80BE65B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Daiku2_0x80BE61D0/func_80BE6BC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Daiku2/func_80BE66E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Daiku2_0x80BE61D0/func_80BE6CFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Daiku2/func_80BE6B40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Daiku2_0x80BE61D0/func_80BE6D40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Daiku2/func_80BE6BC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Daiku2_0x80BE61D0/func_80BE6EB0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Daiku2/func_80BE6CFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Daiku2_0x80BE61D0/func_80BE6EF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Daiku2/func_80BE6D40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Daiku2_0x80BE61D0/func_80BE71A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Daiku2/func_80BE6EB0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Daiku2_0x80BE61D0/func_80BE71D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Daiku2/func_80BE6EF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Daiku2_0x80BE61D0/EnDaiku2_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Daiku2/func_80BE71A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Daiku2_0x80BE61D0/func_80BE738C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Daiku2/func_80BE71D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Daiku2_0x80BE61D0/EnDaiku2_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Daiku2/EnDaiku2_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Daiku2_0x80BE61D0/func_80BE7504.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Daiku2/func_80BE738C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Daiku2_0x80BE61D0/func_80BE7600.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Daiku2/EnDaiku2_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Daiku2_0x80BE61D0/func_80BE7718.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Daiku2/func_80BE7504.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Daiku2/func_80BE7600.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Daiku2/func_80BE7718.s") diff --git a/src/overlays/actors/ovl_En_Daiku2/z_en_daiku2.h b/src/overlays/actors/ovl_En_Daiku2/z_en_daiku2.h index 154b65b945..ce01de1b14 100644 --- a/src/overlays/actors/ovl_En_Daiku2/z_en_daiku2.h +++ b/src/overlays/actors/ovl_En_Daiku2/z_en_daiku2.h @@ -1,13 +1,17 @@ #ifndef Z_EN_DAIKU2_H #define Z_EN_DAIKU2_H -#include +#include "global.h" struct EnDaiku2; +typedef void (*EnDaiku2ActionFunc)(struct EnDaiku2* this, GlobalContext* globalCtx); + typedef struct EnDaiku2 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0xC84]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x110]; + /* 0x0254 */ EnDaiku2ActionFunc actionFunc; + /* 0x0258 */ char unk_258[0xB70]; } EnDaiku2; // size = 0xDC8 extern const ActorInit En_Daiku2_InitVars; diff --git a/src/overlays/actors/ovl_En_Death/z_en_death.c b/src/overlays/actors/ovl_En_Death/z_en_death.c index 89388283ca..f309102bc4 100644 --- a/src/overlays/actors/ovl_En_Death/z_en_death.c +++ b/src/overlays/actors/ovl_En_Death/z_en_death.c @@ -9,6 +9,27 @@ void EnDeath_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnDeath_Update(Actor* thisx, GlobalContext* globalCtx); void EnDeath_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_808C589C(EnDeath* this, GlobalContext* globalCtx); +void func_808C5AB8(EnDeath* this, GlobalContext* globalCtx); +void func_808C5CB4(EnDeath* this, GlobalContext* globalCtx); +void func_808C5E90(EnDeath* this, GlobalContext* globalCtx); +void func_808C6070(EnDeath* this, GlobalContext* globalCtx); +void func_808C64DC(EnDeath* this, GlobalContext* globalCtx); +void func_808C66A8(EnDeath* this, GlobalContext* globalCtx); +void func_808C682C(EnDeath* this, GlobalContext* globalCtx); +void func_808C692C(EnDeath* this, GlobalContext* globalCtx); +void func_808C6AB0(EnDeath* this, GlobalContext* globalCtx); +void func_808C6CDC(EnDeath* this, GlobalContext* globalCtx); +void func_808C6F6C(EnDeath* this, GlobalContext* globalCtx); +void func_808C72AC(EnDeath* this, GlobalContext* globalCtx); +void func_808C74F8(EnDeath* this, GlobalContext* globalCtx); +void func_808C7888(EnDeath* this, GlobalContext* globalCtx); +void func_808C7AAC(EnDeath* this, GlobalContext* globalCtx); +void func_808C7B88(EnDeath* this, GlobalContext* globalCtx); +void func_808C7C88(EnDeath* this, GlobalContext* globalCtx); +void func_808C7D34(EnDeath* this, GlobalContext* globalCtx); +void func_808C7DCC(EnDeath* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Death_InitVars = { ACTOR_EN_DEATH, @@ -22,7 +43,6 @@ const ActorInit En_Death_InitVars = { (ActorFunc)EnDeath_Draw, }; - // static ColliderSphereInit sSphereInit = { static ColliderSphereInit D_808C98E0 = { { COLTYPE_HIT3, AT_NONE, AC_NONE | AC_TYPE_PLAYER, OC1_NONE, OC2_TYPE_1, COLSHAPE_SPHERE, }, @@ -30,7 +50,6 @@ static ColliderSphereInit D_808C98E0 = { { 1, { { 0, 0, 0 }, 22 }, 100 }, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_808C990C = { { COLTYPE_NONE, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -38,7 +57,6 @@ static ColliderCylinderInit D_808C990C = { { 35, 90, 20, { 0, 0, 0 } }, }; - // static ColliderTrisElementInit sTrisElementsInit[2] = { static ColliderTrisElementInit D_808C9938[2] = { { @@ -57,7 +75,6 @@ static ColliderTrisInit D_808C99B0 = { 2, D_808C9938, // sTrisElementsInit, }; - // static ColliderQuadInit sQuadInit = { static ColliderQuadInit D_808C99C0 = { { COLTYPE_NONE, AT_NONE | AT_TYPE_ENEMY, AC_NONE, OC1_NONE, OC2_TYPE_2, COLSHAPE_QUAD, }, @@ -65,7 +82,6 @@ static ColliderQuadInit D_808C99C0 = { { { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } } }, }; - // static DamageTable sDamageTable = { static DamageTable D_808C9A10 = { /* Deku Nut */ DMG_ENTRY(0, 0x0), @@ -102,11 +118,9 @@ static DamageTable D_808C9A10 = { /* Powder Keg */ DMG_ENTRY(1, 0xF), }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_808C9A30 = { 20, 28, 90, 20, 100 }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_808C9A60[] = { ICHAIN_VEC3F(scale, 0, ICHAIN_CONTINUE), @@ -115,6 +129,7 @@ static InitChainEntry D_808C9A60[] = { ICHAIN_U8(targetMode, 5, ICHAIN_STOP), }; +#endif extern ColliderSphereInit D_808C98E0; extern ColliderCylinderInit D_808C990C; @@ -124,120 +139,134 @@ extern ColliderQuadInit D_808C99C0; extern DamageTable D_808C9A10; extern CollisionCheckInfoInit2 D_808C9A30; extern InitChainEntry D_808C9A60[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/EnDeath_Init.asm") +extern UNK_TYPE D_06000E64; +extern UNK_TYPE D_060015B4; +extern UNK_TYPE D_06001834; +extern UNK_TYPE D_06001F80; +extern UNK_TYPE D_06002DE8; +extern UNK_TYPE D_0600352C; +extern UNK_TYPE D_06003CAC; +extern UNK_TYPE D_06006F88; +extern UNK_TYPE D_060073D0; +extern UNK_TYPE D_06009988; +extern UNK_TYPE D_06009F10; +extern UNK_TYPE D_0600B284; +extern UNK_TYPE D_0600B508; +extern UNK_TYPE D_0600CB2C; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/EnDeath_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/EnDeath_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C5310.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/EnDeath_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C5394.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C5310.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C5428.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C5394.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C54F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C5428.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C566C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C54F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C571C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C566C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C589C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C571C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C597C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C589C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C5AB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C597C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C5C0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C5AB8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C5CB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C5C0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C5D6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C5CB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C5E90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C5D6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C5F58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C5E90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C6070.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C5F58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C645C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C6070.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C64DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C645C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C6620.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C64DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C66A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C6620.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C67C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C66A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C682C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C67C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C68B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C682C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C692C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C68B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C6A08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C692C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C6AB0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C6A08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C6C5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C6AB0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C6CDC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C6C5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C6D40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C6CDC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C6F6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C6D40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C70D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C6F6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C72AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C70D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C74A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C72AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C74F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C74A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C7800.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C74F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C7888.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C7800.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C7A30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C7888.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C7AAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C7A30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C7AEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C7AAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C7B88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C7AEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C7C04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C7B88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C7C88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C7C04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C7CFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C7C88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C7D34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C7CFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C7DB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C7D34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C7DCC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C7DB8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C7E24.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C7DCC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C7EDC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C7E24.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/EnDeath_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C7EDC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C84A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/EnDeath_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C8690.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C84A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C882C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C8690.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C8D18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C882C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C9160.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C8D18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C9220.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C9160.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/func_808C9340.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C9220.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Death_0x808C4F80/EnDeath_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/func_808C9340.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Death/EnDeath_Draw.s") diff --git a/src/overlays/actors/ovl_En_Death/z_en_death.h b/src/overlays/actors/ovl_En_Death/z_en_death.h index 60ffad95e6..bb06108ed8 100644 --- a/src/overlays/actors/ovl_En_Death/z_en_death.h +++ b/src/overlays/actors/ovl_En_Death/z_en_death.h @@ -1,13 +1,17 @@ #ifndef Z_EN_DEATH_H #define Z_EN_DEATH_H -#include +#include "global.h" struct EnDeath; +typedef void (*EnDeathActionFunc)(struct EnDeath* this, GlobalContext* globalCtx); + typedef struct EnDeath { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x7F4]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ EnDeathActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x7AC]; } EnDeath; // size = 0x938 extern const ActorInit En_Death_InitVars; diff --git a/src/overlays/actors/ovl_En_Dekubaba/z_en_dekubaba.c b/src/overlays/actors/ovl_En_Dekubaba/z_en_dekubaba.c index 2d9d4f3fc4..ecfd204834 100644 --- a/src/overlays/actors/ovl_En_Dekubaba/z_en_dekubaba.c +++ b/src/overlays/actors/ovl_En_Dekubaba/z_en_dekubaba.c @@ -9,6 +9,22 @@ void EnDekubaba_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnDekubaba_Update(Actor* thisx, GlobalContext* globalCtx); void EnDekubaba_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_808B1B14(EnDekubaba* this, GlobalContext* globalCtx); +void func_808B1CF0(EnDekubaba* this, GlobalContext* globalCtx); +void func_808B2240(EnDekubaba* this, GlobalContext* globalCtx); +void func_808B2660(EnDekubaba* this, GlobalContext* globalCtx); +void func_808B28B4(EnDekubaba* this, GlobalContext* globalCtx); +void func_808B29C4(EnDekubaba* this, GlobalContext* globalCtx); +void func_808B2CB8(EnDekubaba* this, GlobalContext* globalCtx); +void func_808B3078(EnDekubaba* this, GlobalContext* globalCtx); +void func_808B3280(EnDekubaba* this, GlobalContext* globalCtx); +void func_808B3404(EnDekubaba* this, GlobalContext* globalCtx); +void func_808B37E8(EnDekubaba* this, GlobalContext* globalCtx); +void func_808B3B48(EnDekubaba* this, GlobalContext* globalCtx); +void func_808B3C50(EnDekubaba* this, GlobalContext* globalCtx); +void func_808B3DA8(EnDekubaba* this, GlobalContext* globalCtx); +void func_808B3EE8(EnDekubaba* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Dekubaba_InitVars = { ACTOR_EN_DEKUBABA, @@ -22,7 +38,6 @@ const ActorInit En_Dekubaba_InitVars = { (ActorFunc)EnDekubaba_Draw, }; - // static ColliderJntSphElementInit sJntSphElementsInit[7] = { static ColliderJntSphElementInit D_808B4D60[7] = { { @@ -61,11 +76,9 @@ static ColliderJntSphInit D_808B4E5C = { 7, D_808B4D60, // sJntSphElementsInit, }; - // sColChkInfoInit static CollisionCheckInfoInit D_808B4E6C = { 2, 25, 25, MASS_IMMOVABLE }; - // static DamageTable sDamageTable = { static DamageTable D_808B4E74 = { /* Deku Nut */ DMG_ENTRY(0, 0x1), @@ -102,106 +115,111 @@ static DamageTable D_808B4E74 = { /* Powder Keg */ DMG_ENTRY(1, 0x0), }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_808B4E94[] = { ICHAIN_F32(targetArrowOffset, 1500, ICHAIN_STOP), }; +#endif extern ColliderJntSphElementInit D_808B4D60[7]; extern ColliderJntSphInit D_808B4E5C; extern CollisionCheckInfoInit D_808B4E6C; extern DamageTable D_808B4E74; extern InitChainEntry D_808B4E94[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekubaba_0x808B1330/EnDekubaba_Init.asm") +extern UNK_TYPE D_06000208; +extern UNK_TYPE D_060002B8; +extern UNK_TYPE D_060010F0; +extern UNK_TYPE D_06001330; +extern UNK_TYPE D_06001828; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekubaba_0x808B1330/EnDekubaba_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekubaba/EnDekubaba_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekubaba_0x808B1330/func_808B1530.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekubaba/EnDekubaba_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekubaba_0x808B1330/func_808B15B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekubaba/func_808B1530.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekubaba_0x808B1330/func_808B16BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekubaba/func_808B15B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekubaba_0x808B1330/func_808B1798.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekubaba/func_808B16BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekubaba_0x808B1330/func_808B1814.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekubaba/func_808B1798.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekubaba_0x808B1330/func_808B18A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekubaba/func_808B1814.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekubaba_0x808B1330/func_808B1B14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekubaba/func_808B18A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekubaba_0x808B1330/func_808B1BC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekubaba/func_808B1B14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekubaba_0x808B1330/func_808B1CF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekubaba/func_808B1BC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekubaba_0x808B1330/func_808B2158.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekubaba/func_808B1CF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekubaba_0x808B1330/func_808B2240.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekubaba/func_808B2158.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekubaba_0x808B1330/func_808B2608.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekubaba/func_808B2240.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekubaba_0x808B1330/func_808B2660.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekubaba/func_808B2608.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekubaba_0x808B1330/func_808B2890.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekubaba/func_808B2660.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekubaba_0x808B1330/func_808B28B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekubaba/func_808B2890.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekubaba_0x808B1330/func_808B2980.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekubaba/func_808B28B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekubaba_0x808B1330/func_808B29C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekubaba/func_808B2980.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekubaba_0x808B1330/func_808B2C40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekubaba/func_808B29C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekubaba_0x808B1330/func_808B2CB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekubaba/func_808B2C40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekubaba_0x808B1330/func_808B3044.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekubaba/func_808B2CB8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekubaba_0x808B1330/func_808B3078.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekubaba/func_808B3044.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekubaba_0x808B1330/func_808B3170.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekubaba/func_808B3078.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekubaba_0x808B1330/func_808B3280.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekubaba/func_808B3170.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekubaba_0x808B1330/func_808B3390.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekubaba/func_808B3280.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekubaba_0x808B1330/func_808B3404.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekubaba/func_808B3390.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekubaba_0x808B1330/func_808B3768.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekubaba/func_808B3404.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekubaba_0x808B1330/func_808B37E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekubaba/func_808B3768.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekubaba_0x808B1330/func_808B39AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekubaba/func_808B37E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekubaba_0x808B1330/func_808B3B48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekubaba/func_808B39AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekubaba_0x808B1330/func_808B3BE4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekubaba/func_808B3B48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekubaba_0x808B1330/func_808B3C50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekubaba/func_808B3BE4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekubaba_0x808B1330/func_808B3D74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekubaba/func_808B3C50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekubaba_0x808B1330/func_808B3DA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekubaba/func_808B3D74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekubaba_0x808B1330/func_808B3E40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekubaba/func_808B3DA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekubaba_0x808B1330/func_808B3EE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekubaba/func_808B3E40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekubaba_0x808B1330/func_808B3F50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekubaba/func_808B3EE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekubaba_0x808B1330/EnDekubaba_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekubaba/func_808B3F50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekubaba_0x808B1330/func_808B4548.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekubaba/EnDekubaba_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekubaba_0x808B1330/func_808B465C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekubaba/func_808B4548.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekubaba_0x808B1330/func_808B48FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekubaba/func_808B465C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekubaba_0x808B1330/func_808B49C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekubaba/func_808B48FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekubaba_0x808B1330/func_808B4ABC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekubaba/func_808B49C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekubaba_0x808B1330/EnDekubaba_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekubaba/func_808B4ABC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekubaba/EnDekubaba_Draw.s") diff --git a/src/overlays/actors/ovl_En_Dekubaba/z_en_dekubaba.h b/src/overlays/actors/ovl_En_Dekubaba/z_en_dekubaba.h index fe5cdb90bb..620aa4bfd0 100644 --- a/src/overlays/actors/ovl_En_Dekubaba/z_en_dekubaba.h +++ b/src/overlays/actors/ovl_En_Dekubaba/z_en_dekubaba.h @@ -1,13 +1,17 @@ #ifndef Z_EN_DEKUBABA_H #define Z_EN_DEKUBABA_H -#include +#include "global.h" struct EnDekubaba; +typedef void (*EnDekubabaActionFunc)(struct EnDekubaba* this, GlobalContext* globalCtx); + typedef struct EnDekubaba { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x2D8]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ EnDekubabaActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x290]; } EnDekubaba; // size = 0x41C extern const ActorInit En_Dekubaba_InitVars; diff --git a/src/overlays/actors/ovl_En_Dekunuts/z_en_dekunuts.c b/src/overlays/actors/ovl_En_Dekunuts/z_en_dekunuts.c index 9f74db2490..e264df696c 100644 --- a/src/overlays/actors/ovl_En_Dekunuts/z_en_dekunuts.c +++ b/src/overlays/actors/ovl_En_Dekunuts/z_en_dekunuts.c @@ -9,6 +9,19 @@ void EnDekunuts_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnDekunuts_Update(Actor* thisx, GlobalContext* globalCtx); void EnDekunuts_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_808BD49C(EnDekunuts* this, GlobalContext* globalCtx); +void func_808BD7D4(EnDekunuts* this, GlobalContext* globalCtx); +void func_808BD8D8(EnDekunuts* this, GlobalContext* globalCtx); +void func_808BDA4C(EnDekunuts* this, GlobalContext* globalCtx); +void func_808BDD54(EnDekunuts* this, GlobalContext* globalCtx); +void func_808BDEF8(EnDekunuts* this, GlobalContext* globalCtx); +void func_808BDFB8(EnDekunuts* this, GlobalContext* globalCtx); +void func_808BE22C(EnDekunuts* this, GlobalContext* globalCtx); +void func_808BE358(EnDekunuts* this, GlobalContext* globalCtx); +void func_808BE3FC(EnDekunuts* this, GlobalContext* globalCtx); +void func_808BE4D4(EnDekunuts* this, GlobalContext* globalCtx); +void func_808BE6C4(EnDekunuts* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Dekunuts_InitVars = { ACTOR_EN_DEKUNUTS, @@ -22,7 +35,6 @@ const ActorInit En_Dekunuts_InitVars = { (ActorFunc)EnDekunuts_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_808BEF30 = { { COLTYPE_HIT6, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,11 +42,9 @@ static ColliderCylinderInit D_808BEF30 = { { 18, 32, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit D_808BEF5C = { 1, 18, 32, MASS_IMMOVABLE }; - // static DamageTable sDamageTable = { static DamageTable D_808BEF64 = { /* Deku Nut */ DMG_ENTRY(1, 0x0), @@ -71,7 +81,6 @@ static DamageTable D_808BEF64 = { /* Powder Keg */ DMG_ENTRY(1, 0x0), }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_808BEF84[] = { ICHAIN_S8(hintId, 77, ICHAIN_CONTINUE), @@ -79,77 +88,90 @@ static InitChainEntry D_808BEF84[] = { ICHAIN_F32(targetArrowOffset, 2600, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_808BEF30; extern CollisionCheckInfoInit D_808BEF5C; extern DamageTable D_808BEF64; extern InitChainEntry D_808BEF84[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekunuts_0x808BD1E0/EnDekunuts_Init.asm") +extern UNK_TYPE D_06000168; +extern UNK_TYPE D_06001E50; +extern UNK_TYPE D_06001F50; +extern UNK_TYPE D_0600259C; +extern UNK_TYPE D_06002A5C; +extern UNK_TYPE D_06002BD4; +extern UNK_TYPE D_06002DD4; +extern UNK_TYPE D_06002FA4; +extern UNK_TYPE D_06003180; +extern UNK_TYPE D_0600326C; +extern UNK_TYPE D_060033E4; +extern UNK_TYPE D_06003780; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekunuts_0x808BD1E0/EnDekunuts_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekunuts/EnDekunuts_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekunuts_0x808BD1E0/func_808BD348.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekunuts/EnDekunuts_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekunuts_0x808BD1E0/func_808BD3B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekunuts/func_808BD348.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekunuts_0x808BD1E0/func_808BD428.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekunuts/func_808BD3B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekunuts_0x808BD1E0/func_808BD49C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekunuts/func_808BD428.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekunuts_0x808BD1E0/func_808BD78C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekunuts/func_808BD49C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekunuts_0x808BD1E0/func_808BD7D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekunuts/func_808BD78C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekunuts_0x808BD1E0/func_808BD870.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekunuts/func_808BD7D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekunuts_0x808BD1E0/func_808BD8D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekunuts/func_808BD870.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekunuts_0x808BD1E0/func_808BDA08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekunuts/func_808BD8D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekunuts_0x808BD1E0/func_808BDA4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekunuts/func_808BDA08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekunuts_0x808BD1E0/func_808BDC9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekunuts/func_808BDA4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekunuts_0x808BD1E0/func_808BDCF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekunuts/func_808BDC9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekunuts_0x808BD1E0/func_808BDD54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekunuts/func_808BDCF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekunuts_0x808BD1E0/func_808BDE7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekunuts/func_808BDD54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekunuts_0x808BD1E0/func_808BDEF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekunuts/func_808BDE7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekunuts_0x808BD1E0/func_808BDF60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekunuts/func_808BDEF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekunuts_0x808BD1E0/func_808BDFB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekunuts/func_808BDF60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekunuts_0x808BD1E0/func_808BE1CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekunuts/func_808BDFB8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekunuts_0x808BD1E0/func_808BE22C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekunuts/func_808BE1CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekunuts_0x808BD1E0/func_808BE294.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekunuts/func_808BE22C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekunuts_0x808BD1E0/func_808BE358.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekunuts/func_808BE294.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekunuts_0x808BD1E0/func_808BE3A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekunuts/func_808BE358.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekunuts_0x808BD1E0/func_808BE3FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekunuts/func_808BE3A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekunuts_0x808BD1E0/func_808BE484.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekunuts/func_808BE3FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekunuts_0x808BD1E0/func_808BE4D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekunuts/func_808BE484.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekunuts_0x808BD1E0/func_808BE680.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekunuts/func_808BE4D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekunuts_0x808BD1E0/func_808BE6C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekunuts/func_808BE680.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekunuts_0x808BD1E0/func_808BE73C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekunuts/func_808BE6C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekunuts_0x808BD1E0/EnDekunuts_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekunuts/func_808BE73C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekunuts_0x808BD1E0/func_808BEBD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekunuts/EnDekunuts_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekunuts_0x808BD1E0/func_808BED30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekunuts/func_808BEBD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dekunuts_0x808BD1E0/EnDekunuts_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekunuts/func_808BED30.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dekunuts/EnDekunuts_Draw.s") diff --git a/src/overlays/actors/ovl_En_Dekunuts/z_en_dekunuts.h b/src/overlays/actors/ovl_En_Dekunuts/z_en_dekunuts.h index d246df5f5e..3cd88d129e 100644 --- a/src/overlays/actors/ovl_En_Dekunuts/z_en_dekunuts.h +++ b/src/overlays/actors/ovl_En_Dekunuts/z_en_dekunuts.h @@ -1,13 +1,17 @@ #ifndef Z_EN_DEKUNUTS_H #define Z_EN_DEKUNUTS_H -#include +#include "global.h" struct EnDekunuts; +typedef void (*EnDekunutsActionFunc)(struct EnDekunuts* this, GlobalContext* globalCtx); + typedef struct EnDekunuts { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x184]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ EnDekunutsActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x13C]; } EnDekunuts; // size = 0x2C8 extern const ActorInit En_Dekunuts_InitVars; diff --git a/src/overlays/actors/ovl_En_Demo_heishi/z_en_demo_heishi.c b/src/overlays/actors/ovl_En_Demo_heishi/z_en_demo_heishi.c index 677475cb6d..18cc974edd 100644 --- a/src/overlays/actors/ovl_En_Demo_heishi/z_en_demo_heishi.c +++ b/src/overlays/actors/ovl_En_Demo_heishi/z_en_demo_heishi.c @@ -9,6 +9,9 @@ void EnDemoheishi_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnDemoheishi_Update(Actor* thisx, GlobalContext* globalCtx); void EnDemoheishi_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80BE975C(EnDemoheishi* this, GlobalContext* globalCtx); +void func_80BE980C(EnDemoheishi* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Demo_heishi_InitVars = { ACTOR_EN_DEMO_HEISHI, @@ -22,7 +25,6 @@ const ActorInit En_Demo_heishi_InitVars = { (ActorFunc)EnDemoheishi_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80BE9A50 = { { COLTYPE_NONE, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -30,28 +32,30 @@ static ColliderCylinderInit D_80BE9A50 = { { 40, 40, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80BE9A50; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Demo_heishi_0x80BE9510/EnDemoheishi_Init.asm") +extern ColliderCylinderInit D_80BE9A50; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Demo_heishi_0x80BE9510/EnDemoheishi_Destroy.asm") +extern UNK_TYPE D_06003BFC; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Demo_heishi_0x80BE9510/func_80BE95EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Demo_heishi/EnDemoheishi_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Demo_heishi_0x80BE9510/func_80BE9678.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Demo_heishi/EnDemoheishi_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Demo_heishi_0x80BE9510/func_80BE970C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Demo_heishi/func_80BE95EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Demo_heishi_0x80BE9510/func_80BE975C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Demo_heishi/func_80BE9678.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Demo_heishi_0x80BE9510/func_80BE97F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Demo_heishi/func_80BE970C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Demo_heishi_0x80BE9510/func_80BE980C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Demo_heishi/func_80BE975C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Demo_heishi_0x80BE9510/EnDemoheishi_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Demo_heishi/func_80BE97F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Demo_heishi_0x80BE9510/func_80BE9974.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Demo_heishi/func_80BE980C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Demo_heishi_0x80BE9510/EnDemoheishi_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Demo_heishi/EnDemoheishi_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Demo_heishi/func_80BE9974.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Demo_heishi/EnDemoheishi_Draw.s") diff --git a/src/overlays/actors/ovl_En_Demo_heishi/z_en_demo_heishi.h b/src/overlays/actors/ovl_En_Demo_heishi/z_en_demo_heishi.h index f41fc980d0..dc2d3fbae9 100644 --- a/src/overlays/actors/ovl_En_Demo_heishi/z_en_demo_heishi.h +++ b/src/overlays/actors/ovl_En_Demo_heishi/z_en_demo_heishi.h @@ -1,13 +1,17 @@ #ifndef Z_EN_DEMO_HEISHI_H #define Z_EN_DEMO_HEISHI_H -#include +#include "global.h" struct EnDemoheishi; +typedef void (*EnDemoheishiActionFunc)(struct EnDemoheishi* this, GlobalContext* globalCtx); + typedef struct EnDemoheishi { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x17C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x110]; + /* 0x0254 */ EnDemoheishiActionFunc actionFunc; + /* 0x0258 */ char unk_258[0x68]; } EnDemoheishi; // size = 0x2C0 extern const ActorInit En_Demo_heishi_InitVars; diff --git a/src/overlays/actors/ovl_En_Dg/z_en_dg.c b/src/overlays/actors/ovl_En_Dg/z_en_dg.c index e7856fa02f..9f2be5d01a 100644 --- a/src/overlays/actors/ovl_En_Dg/z_en_dg.c +++ b/src/overlays/actors/ovl_En_Dg/z_en_dg.c @@ -9,6 +9,30 @@ void EnDg_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnDg_Update(Actor* thisx, GlobalContext* globalCtx); void EnDg_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_8098A468(EnDg* this, GlobalContext* globalCtx); +void func_8098A55C(EnDg* this, GlobalContext* globalCtx); +void func_8098A618(EnDg* this, GlobalContext* globalCtx); +void func_8098A70C(EnDg* this, GlobalContext* globalCtx); +void func_8098A89C(EnDg* this, GlobalContext* globalCtx); +void func_8098A938(EnDg* this, GlobalContext* globalCtx); +void func_8098AAAC(EnDg* this, GlobalContext* globalCtx); +void func_8098AB48(EnDg* this, GlobalContext* globalCtx); +void func_8098AC34(EnDg* this, GlobalContext* globalCtx); +void func_8098AE58(EnDg* this, GlobalContext* globalCtx); +void func_8098AF44(EnDg* this, GlobalContext* globalCtx); +void func_8098AF98(EnDg* this, GlobalContext* globalCtx); +void func_8098B004(EnDg* this, GlobalContext* globalCtx); +void func_8098B198(EnDg* this, GlobalContext* globalCtx); +void func_8098B28C(EnDg* this, GlobalContext* globalCtx); +void func_8098B390(EnDg* this, GlobalContext* globalCtx); +void func_8098B464(EnDg* this, GlobalContext* globalCtx); +void func_8098B560(EnDg* this, GlobalContext* globalCtx); +void func_8098B88C(EnDg* this, GlobalContext* globalCtx); +void func_8098BA64(EnDg* this, GlobalContext* globalCtx); +void func_8098BB10(EnDg* this, GlobalContext* globalCtx); +void func_8098BBEC(EnDg* this, GlobalContext* globalCtx); +void func_8098BC54(EnDg* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Dg_InitVars = { ACTOR_EN_DG, @@ -22,7 +46,6 @@ const ActorInit En_Dg_InitVars = { (ActorFunc)EnDg_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_8098C304 = { { COLTYPE_NONE, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,11 +53,9 @@ static ColliderCylinderInit D_8098C304 = { { 13, 19, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_8098C330 = { 0, 0, 0, 0, 1 }; - // static DamageTable sDamageTable = { static DamageTable D_8098C33C = { /* Deku Nut */ DMG_ENTRY(0, 0x0), @@ -71,113 +92,114 @@ static DamageTable D_8098C33C = { /* Powder Keg */ DMG_ENTRY(0, 0x0), }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_8098C45C[] = { ICHAIN_F32(uncullZoneForward, 1000, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_8098C304; extern CollisionCheckInfoInit2 D_8098C330; extern DamageTable D_8098C33C; extern InitChainEntry D_8098C45C[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/func_80989140.asm") +extern UNK_TYPE D_060080F0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/func_80989204.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/func_80989140.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/func_8098933C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/func_80989204.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/func_80989418.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/func_8098933C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/func_809895B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/func_80989418.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/func_80989674.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/func_809895B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/func_80989864.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/func_80989674.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/func_80989974.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/func_80989864.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/func_809899C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/func_80989974.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/func_80989A08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/func_809899C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/func_80989A48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/func_80989A08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/func_80989A9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/func_80989A48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/func_80989ADC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/func_80989A9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/func_80989BF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/func_80989ADC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/func_80989D38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/func_80989BF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/func_80989E18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/func_80989D38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/func_80989FC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/func_80989E18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/func_8098A064.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/func_80989FC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/func_8098A1B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/func_8098A064.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/func_8098A234.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/func_8098A1B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/func_8098A468.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/func_8098A234.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/func_8098A55C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/func_8098A468.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/func_8098A618.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/func_8098A55C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/func_8098A70C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/func_8098A618.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/func_8098A89C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/func_8098A70C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/func_8098A938.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/func_8098A89C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/func_8098AAAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/func_8098A938.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/func_8098AB48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/func_8098AAAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/func_8098AC34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/func_8098AB48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/func_8098AE58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/func_8098AC34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/func_8098AF44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/func_8098AE58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/func_8098AF98.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/func_8098AF44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/func_8098B004.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/func_8098AF98.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/func_8098B198.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/func_8098B004.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/func_8098B28C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/func_8098B198.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/func_8098B390.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/func_8098B28C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/func_8098B464.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/func_8098B390.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/func_8098B560.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/func_8098B464.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/func_8098B88C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/func_8098B560.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/func_8098BA64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/func_8098B88C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/func_8098BB10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/func_8098BA64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/func_8098BBEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/func_8098BB10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/func_8098BC54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/func_8098BBEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/EnDg_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/func_8098BC54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/EnDg_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/EnDg_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/EnDg_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/EnDg_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/func_8098BFB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/EnDg_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/func_8098BFD4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/func_8098BFB8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dg_0x80989140/EnDg_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/func_8098BFD4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dg/EnDg_Draw.s") diff --git a/src/overlays/actors/ovl_En_Dg/z_en_dg.h b/src/overlays/actors/ovl_En_Dg/z_en_dg.h index 42b0d4b8af..e333c5b49e 100644 --- a/src/overlays/actors/ovl_En_Dg/z_en_dg.h +++ b/src/overlays/actors/ovl_En_Dg/z_en_dg.h @@ -1,13 +1,16 @@ #ifndef Z_EN_DG_H #define Z_EN_DG_H -#include +#include "global.h" struct EnDg; +typedef void (*EnDgActionFunc)(struct EnDg* this, GlobalContext* globalCtx); + typedef struct EnDg { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x15C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ EnDgActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x158]; } EnDg; // size = 0x2A0 extern const ActorInit En_Dg_InitVars; diff --git a/src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.c b/src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.c index 2cc1e1c5d7..98bca8ae9d 100644 --- a/src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.c +++ b/src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.c @@ -9,6 +9,26 @@ void EnDinofos_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnDinofos_Update(Actor* thisx, GlobalContext* globalCtx); void EnDinofos_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_8089B288(EnDinofos* this, GlobalContext* globalCtx); +void func_8089B3D4(EnDinofos* this, GlobalContext* globalCtx); +void func_8089B580(EnDinofos* this, GlobalContext* globalCtx); +void func_8089B72C(EnDinofos* this, GlobalContext* globalCtx); +void func_8089B834(EnDinofos* this, GlobalContext* globalCtx); +void func_8089C0DC(EnDinofos* this, GlobalContext* globalCtx); +void func_8089C1F8(EnDinofos* this, GlobalContext* globalCtx); +void func_8089C2A8(EnDinofos* this, GlobalContext* globalCtx); +void func_8089C44C(EnDinofos* this, GlobalContext* globalCtx); +void func_8089C56C(EnDinofos* this, GlobalContext* globalCtx); +void func_8089C724(EnDinofos* this, GlobalContext* globalCtx); +void func_8089C7B8(EnDinofos* this, GlobalContext* globalCtx); +void func_8089C938(EnDinofos* this, GlobalContext* globalCtx); +void func_8089CA74(EnDinofos* this, GlobalContext* globalCtx); +void func_8089CBEC(EnDinofos* this, GlobalContext* globalCtx); +void func_8089CF70(EnDinofos* this, GlobalContext* globalCtx); +void func_8089D018(EnDinofos* this, GlobalContext* globalCtx); +void func_8089D1E0(EnDinofos* this, GlobalContext* globalCtx); +void func_8089D318(EnDinofos* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Dinofos_InitVars = { ACTOR_EN_DINOFOS, @@ -22,7 +42,6 @@ const ActorInit En_Dinofos_InitVars = { (ActorFunc)EnDinofos_Draw, }; - // static ColliderJntSphElementInit sJntSphElementsInit[9] = { static ColliderJntSphElementInit D_8089E170[9] = { { @@ -69,7 +88,6 @@ static ColliderJntSphInit D_8089E2B4 = { 9, D_8089E170, // sJntSphElementsInit, }; - // static ColliderQuadInit sQuadInit = { static ColliderQuadInit D_8089E2C4 = { { COLTYPE_NONE, AT_NONE | AT_TYPE_ENEMY, AC_NONE, OC1_NONE, OC2_NONE, COLSHAPE_QUAD, }, @@ -77,7 +95,6 @@ static ColliderQuadInit D_8089E2C4 = { { { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } } }, }; - // static DamageTable sDamageTable = { static DamageTable D_8089E314 = { /* Deku Nut */ DMG_ENTRY(0, 0x1), @@ -114,11 +131,9 @@ static DamageTable D_8089E314 = { /* Powder Keg */ DMG_ENTRY(1, 0x0), }; - // sColChkInfoInit static CollisionCheckInfoInit D_8089E334 = { 4, 40, 100, 80 }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_8089E354[] = { ICHAIN_F32(targetArrowOffset, 2000, ICHAIN_CONTINUE), @@ -127,6 +142,7 @@ static InitChainEntry D_8089E354[] = { ICHAIN_VEC3F_DIV1000(scale, 15, ICHAIN_STOP), }; +#endif extern ColliderJntSphElementInit D_8089E170[9]; extern ColliderJntSphInit D_8089E2B4; @@ -134,124 +150,137 @@ extern ColliderQuadInit D_8089E2C4; extern DamageTable D_8089E314; extern CollisionCheckInfoInit D_8089E334; extern InitChainEntry D_8089E354[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/EnDinofos_Init.asm") +extern UNK_TYPE D_06000580; +extern UNK_TYPE D_06000AF0; +extern UNK_TYPE D_06001040; +extern UNK_TYPE D_060013C0; +extern UNK_TYPE D_060017B8; +extern UNK_TYPE D_06001CCC; +extern UNK_TYPE D_060025B4; +extern UNK_TYPE D_06002E40; +extern UNK_TYPE D_06009B70; +extern UNK_TYPE D_0600ABD0; +extern UNK_TYPE D_0600C974; +extern UNK_TYPE D_0600D21C; +extern UNK_TYPE D_0600D62C; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/EnDinofos_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/EnDinofos_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089A900.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/EnDinofos_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089A968.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089A900.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089A9B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089A968.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089ABF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089A9B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089AC70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089ABF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089ACEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089AC70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089AD70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089ACEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089AE00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089AD70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089B100.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089AE00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089B288.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089B100.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089B320.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089B288.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089B3D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089B320.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089B4A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089B3D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089B580.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089B4A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089B6E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089B580.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089B72C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089B6E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089B7B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089B72C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089B834.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089B7B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089B8B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089B834.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089B98C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089B8B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089BAC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089B98C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089BB60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089BAC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089BBB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089BB60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089BD28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089BBB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089C024.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089BD28.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089C0DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089C024.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089C164.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089C0DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089C1F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089C164.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089C244.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089C1F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089C2A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089C244.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089C398.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089C2A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089C44C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089C398.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089C4F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089C44C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089C56C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089C4F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089C690.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089C56C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089C724.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089C690.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089C784.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089C724.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089C7B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089C784.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089C87C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089C7B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089C938.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089C87C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089CA14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089C938.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089CA74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089CA14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089CB10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089CA74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089CBEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089CB10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089CF00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089CBEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089CF70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089CF00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089CFAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089CF70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089D018.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089CFAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089D11C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089D018.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089D1E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089D11C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089D2E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089D1E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089D318.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089D2E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089D42C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089D318.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089D60C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089D42C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/EnDinofos_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089D60C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089DC4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/EnDinofos_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/func_8089DC84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089DC4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dinofos_0x8089A6E0/EnDinofos_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/func_8089DC84.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dinofos/EnDinofos_Draw.s") diff --git a/src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.h b/src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.h index 337bba9b75..31b0914daa 100644 --- a/src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.h +++ b/src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.h @@ -1,13 +1,17 @@ #ifndef Z_EN_DINOFOS_H #define Z_EN_DINOFOS_H -#include +#include "global.h" struct EnDinofos; +typedef void (*EnDinofosActionFunc)(struct EnDinofos* this, GlobalContext* globalCtx); + typedef struct EnDinofos { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x500]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x140]; + /* 0x0284 */ EnDinofosActionFunc actionFunc; + /* 0x0288 */ char unk_288[0x3BC]; } EnDinofos; // size = 0x644 extern const ActorInit En_Dinofos_InitVars; diff --git a/src/overlays/actors/ovl_En_Dnb/z_en_dnb.c b/src/overlays/actors/ovl_En_Dnb/z_en_dnb.c index 31b71d6e18..8cd49b1fa1 100644 --- a/src/overlays/actors/ovl_En_Dnb/z_en_dnb.c +++ b/src/overlays/actors/ovl_En_Dnb/z_en_dnb.c @@ -24,28 +24,32 @@ const ActorInit En_Dnb_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnb_0x80A4FDD0/func_80A4FDD0.asm") +extern UNK_TYPE D_06000020; +extern UNK_TYPE D_06004638; +extern UNK_TYPE D_06004D8C; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnb_0x80A4FDD0/func_80A4FEBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnb/func_80A4FDD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnb_0x80A4FDD0/func_80A4FFE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnb/func_80A4FEBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnb_0x80A4FDD0/func_80A500F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnb/func_80A4FFE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnb_0x80A4FDD0/EnDnb_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnb/func_80A500F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnb_0x80A4FDD0/EnDnb_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnb/EnDnb_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnb_0x80A4FDD0/EnDnb_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnb/EnDnb_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnb_0x80A4FDD0/func_80A50510.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnb/EnDnb_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnb_0x80A4FDD0/func_80A5063C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnb/func_80A50510.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnb_0x80A4FDD0/EnDnb_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnb/func_80A5063C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnb_0x80A4FDD0/func_80A507C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnb/EnDnb_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnb_0x80A4FDD0/func_80A5086C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnb/func_80A507C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnb_0x80A4FDD0/func_80A50950.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnb/func_80A5086C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnb/func_80A50950.s") diff --git a/src/overlays/actors/ovl_En_Dnb/z_en_dnb.h b/src/overlays/actors/ovl_En_Dnb/z_en_dnb.h index 0bc3c7b611..b33afb4847 100644 --- a/src/overlays/actors/ovl_En_Dnb/z_en_dnb.h +++ b/src/overlays/actors/ovl_En_Dnb/z_en_dnb.h @@ -1,7 +1,7 @@ #ifndef Z_EN_DNB_H #define Z_EN_DNB_H -#include +#include "global.h" struct EnDnb; diff --git a/src/overlays/actors/ovl_En_Dnh/z_en_dnh.c b/src/overlays/actors/ovl_En_Dnh/z_en_dnh.c index 8f7d11db67..21071691e4 100644 --- a/src/overlays/actors/ovl_En_Dnh/z_en_dnh.c +++ b/src/overlays/actors/ovl_En_Dnh/z_en_dnh.c @@ -9,6 +9,9 @@ void EnDnh_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnDnh_Update(Actor* thisx, GlobalContext* globalCtx); void EnDnh_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80A50F38(EnDnh* this, GlobalContext* globalCtx); +void func_80A50F9C(EnDnh* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Dnh_InitVars = { ACTOR_EN_DNH, @@ -24,24 +27,26 @@ const ActorInit En_Dnh_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnh_0x80A50D40/func_80A50D40.asm") +extern UNK_TYPE D_06002950; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnh_0x80A50D40/func_80A50DF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnh/func_80A50D40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnh_0x80A50D40/func_80A50E40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnh/func_80A50DF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnh_0x80A50D40/func_80A50EC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnh/func_80A50E40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnh_0x80A50D40/func_80A50F38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnh/func_80A50EC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnh_0x80A50D40/func_80A50F9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnh/func_80A50F38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnh_0x80A50D40/EnDnh_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnh/func_80A50F9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnh_0x80A50D40/EnDnh_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnh/EnDnh_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnh_0x80A50D40/EnDnh_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnh/EnDnh_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnh_0x80A50D40/func_80A51168.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnh/EnDnh_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnh_0x80A50D40/EnDnh_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnh/func_80A51168.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnh/EnDnh_Draw.s") diff --git a/src/overlays/actors/ovl_En_Dnh/z_en_dnh.h b/src/overlays/actors/ovl_En_Dnh/z_en_dnh.h index 1157d5afd7..344fb25ec9 100644 --- a/src/overlays/actors/ovl_En_Dnh/z_en_dnh.h +++ b/src/overlays/actors/ovl_En_Dnh/z_en_dnh.h @@ -1,13 +1,16 @@ #ifndef Z_EN_DNH_H #define Z_EN_DNH_H -#include +#include "global.h" struct EnDnh; +typedef void (*EnDnhActionFunc)(struct EnDnh* this, GlobalContext* globalCtx); + typedef struct EnDnh { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x78]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ EnDnhActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x74]; } EnDnh; // size = 0x1BC extern const ActorInit En_Dnh_InitVars; diff --git a/src/overlays/actors/ovl_En_Dnk/z_en_dnk.c b/src/overlays/actors/ovl_En_Dnk/z_en_dnk.c index 0f7c3b37e4..ff03faad32 100644 --- a/src/overlays/actors/ovl_En_Dnk/z_en_dnk.c +++ b/src/overlays/actors/ovl_En_Dnk/z_en_dnk.c @@ -8,6 +8,9 @@ void EnDnk_Init(Actor* thisx, GlobalContext* globalCtx); void EnDnk_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnDnk_Update(Actor* thisx, GlobalContext* globalCtx); +void func_80A51648(EnDnk* this, GlobalContext* globalCtx); +void func_80A51890(EnDnk* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Dnk_InitVars = { ACTOR_EN_DNK, @@ -21,7 +24,6 @@ const ActorInit En_Dnk_InitVars = { (ActorFunc)NULL, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80A521C4 = { { COLTYPE_HIT0, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -29,11 +31,9 @@ static ColliderCylinderInit D_80A521C4 = { { 18, 46, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_80A521F0 = { 1, 0, 0, 0, MASS_IMMOVABLE }; - // static DamageTable sDamageTable = { static DamageTable D_80A521FC = { /* Deku Nut */ DMG_ENTRY(1, 0x0), @@ -70,42 +70,44 @@ static DamageTable D_80A521FC = { /* Powder Keg */ DMG_ENTRY(1, 0x0), }; +#endif extern ColliderCylinderInit D_80A521C4; extern CollisionCheckInfoInit2 D_80A521F0; extern DamageTable D_80A521FC; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnk_0x80A514F0/func_80A514F0.asm") +extern UNK_TYPE D_06002848; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnk_0x80A514F0/func_80A515C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnk/func_80A514F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnk_0x80A514F0/func_80A51648.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnk/func_80A515C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnk_0x80A514F0/func_80A51890.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnk/func_80A51648.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnk_0x80A514F0/func_80A518DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnk/func_80A51890.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnk_0x80A514F0/EnDnk_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnk/func_80A518DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnk_0x80A514F0/EnDnk_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnk/EnDnk_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnk_0x80A514F0/EnDnk_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnk/EnDnk_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnk_0x80A514F0/func_80A51A78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnk/EnDnk_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnk_0x80A514F0/func_80A51AA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnk/func_80A51A78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnk_0x80A514F0/func_80A51CB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnk/func_80A51AA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnk_0x80A514F0/func_80A51D78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnk/func_80A51CB8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnk_0x80A514F0/func_80A51DA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnk/func_80A51D78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnk_0x80A514F0/func_80A51FC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnk/func_80A51DA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnk_0x80A514F0/func_80A52018.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnk/func_80A51FC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnk_0x80A514F0/func_80A52074.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnk/func_80A52018.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnk_0x80A514F0/func_80A52134.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnk/func_80A52074.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnk/func_80A52134.s") diff --git a/src/overlays/actors/ovl_En_Dnk/z_en_dnk.h b/src/overlays/actors/ovl_En_Dnk/z_en_dnk.h index aa9208d5e5..81689fb1b2 100644 --- a/src/overlays/actors/ovl_En_Dnk/z_en_dnk.h +++ b/src/overlays/actors/ovl_En_Dnk/z_en_dnk.h @@ -1,13 +1,17 @@ #ifndef Z_EN_DNK_H #define Z_EN_DNK_H -#include +#include "global.h" struct EnDnk; +typedef void (*EnDnkActionFunc)(struct EnDnk* this, GlobalContext* globalCtx); + typedef struct EnDnk { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x160]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ EnDnkActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x118]; } EnDnk; // size = 0x2A4 extern const ActorInit En_Dnk_InitVars; diff --git a/src/overlays/actors/ovl_En_Dno/z_en_dno.c b/src/overlays/actors/ovl_En_Dno/z_en_dno.c index fee96a92dd..4b6dc51d54 100644 --- a/src/overlays/actors/ovl_En_Dno/z_en_dno.c +++ b/src/overlays/actors/ovl_En_Dno/z_en_dno.c @@ -9,6 +9,20 @@ void EnDno_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnDno_Update(Actor* thisx, GlobalContext* globalCtx); void EnDno_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80A71B04(EnDno* this, GlobalContext* globalCtx); +void func_80A71B58(EnDno* this, GlobalContext* globalCtx); +void func_80A71B68(EnDno* this, GlobalContext* globalCtx); +void func_80A71C3C(EnDno* this, GlobalContext* globalCtx); +void func_80A71F18(EnDno* this, GlobalContext* globalCtx); +void func_80A72438(EnDno* this, GlobalContext* globalCtx); +void func_80A724B8(EnDno* this, GlobalContext* globalCtx); +void func_80A72598(EnDno* this, GlobalContext* globalCtx); +void func_80A725F8(EnDno* this, GlobalContext* globalCtx); +void func_80A72B3C(EnDno* this, GlobalContext* globalCtx); +void func_80A72BA4(EnDno* this, GlobalContext* globalCtx); +void func_80A730A0(EnDno* this, GlobalContext* globalCtx); +void func_80A732C8(EnDno* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Dno_InitVars = { ACTOR_EN_DNO, @@ -22,7 +36,6 @@ const ActorInit En_Dno_InitVars = { (ActorFunc)EnDno_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80A73B00 = { { COLTYPE_HIT0, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,86 +43,87 @@ static ColliderCylinderInit D_80A73B00 = { { 17, 58, 0, { 0, 0, 0 } }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80A73B38[] = { ICHAIN_F32(uncullZoneDownward, 80, ICHAIN_CONTINUE), ICHAIN_F32(uncullZoneForward, 4000, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80A73B00; extern InitChainEntry D_80A73B38[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dno_0x80A711D0/func_80A711D0.asm") +extern UNK_TYPE D_06007CA4; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dno_0x80A711D0/func_80A71424.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dno/func_80A711D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dno_0x80A711D0/func_80A714B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dno/func_80A71424.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dno_0x80A711D0/func_80A7153C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dno/func_80A714B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dno_0x80A711D0/func_80A715DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dno/func_80A7153C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dno_0x80A711D0/func_80A71788.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dno/func_80A715DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dno_0x80A711D0/EnDno_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dno/func_80A71788.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dno_0x80A711D0/EnDno_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dno/EnDno_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dno_0x80A711D0/func_80A71B04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dno/EnDno_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dno_0x80A711D0/func_80A71B58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dno/func_80A71B04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dno_0x80A711D0/func_80A71B68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dno/func_80A71B58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dno_0x80A711D0/func_80A71C3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dno/func_80A71B68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dno_0x80A711D0/func_80A71E54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dno/func_80A71C3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dno_0x80A711D0/func_80A71F18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dno/func_80A71E54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dno_0x80A711D0/func_80A72438.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dno/func_80A71F18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dno_0x80A711D0/func_80A724B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dno/func_80A72438.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dno_0x80A711D0/func_80A7256C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dno/func_80A724B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dno_0x80A711D0/func_80A72598.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dno/func_80A7256C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dno_0x80A711D0/func_80A725E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dno/func_80A72598.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dno_0x80A711D0/func_80A725F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dno/func_80A725E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dno_0x80A711D0/func_80A72AE4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dno/func_80A725F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dno_0x80A711D0/func_80A72B3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dno/func_80A72AE4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dno_0x80A711D0/func_80A72B84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dno/func_80A72B3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dno_0x80A711D0/func_80A72BA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dno/func_80A72B84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dno_0x80A711D0/func_80A72C04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dno/func_80A72BA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dno_0x80A711D0/func_80A72CF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dno/func_80A72C04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dno_0x80A711D0/func_80A72D8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dno/func_80A72CF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dno_0x80A711D0/func_80A72FAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dno/func_80A72D8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dno_0x80A711D0/func_80A730A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dno/func_80A72FAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dno_0x80A711D0/func_80A73244.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dno/func_80A730A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dno_0x80A711D0/func_80A732C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dno/func_80A73244.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dno_0x80A711D0/func_80A73408.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dno/func_80A732C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dno_0x80A711D0/EnDno_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dno/func_80A73408.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dno_0x80A711D0/EnDno_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dno/EnDno_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dno_0x80A711D0/func_80A7361C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dno/EnDno_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dno_0x80A711D0/func_80A73654.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dno/func_80A7361C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dno/func_80A73654.s") diff --git a/src/overlays/actors/ovl_En_Dno/z_en_dno.h b/src/overlays/actors/ovl_En_Dno/z_en_dno.h index 1eac1215ba..9f0dd0d369 100644 --- a/src/overlays/actors/ovl_En_Dno/z_en_dno.h +++ b/src/overlays/actors/ovl_En_Dno/z_en_dno.h @@ -1,13 +1,16 @@ #ifndef Z_EN_DNO_H #define Z_EN_DNO_H -#include +#include "global.h" struct EnDno; +typedef void (*EnDnoActionFunc)(struct EnDno* this, GlobalContext* globalCtx); + typedef struct EnDno { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x328]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ EnDnoActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x324]; } EnDno; // size = 0x46C extern const ActorInit En_Dno_InitVars; diff --git a/src/overlays/actors/ovl_En_Dnp/z_en_dnp.c b/src/overlays/actors/ovl_En_Dnp/z_en_dnp.c index 9fe4fbd9dc..71a52eb425 100644 --- a/src/overlays/actors/ovl_En_Dnp/z_en_dnp.c +++ b/src/overlays/actors/ovl_En_Dnp/z_en_dnp.c @@ -9,6 +9,13 @@ void EnDnp_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnDnp_Update(Actor* thisx, GlobalContext* globalCtx); void EnDnp_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80B3D11C(EnDnp* this, GlobalContext* globalCtx); +void func_80B3D2D4(EnDnp* this, GlobalContext* globalCtx); +void func_80B3D338(EnDnp* this, GlobalContext* globalCtx); +void func_80B3D3F8(EnDnp* this, GlobalContext* globalCtx); +void func_80B3D47C(EnDnp* this, GlobalContext* globalCtx); +void func_80B3D558(EnDnp* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Dnp_InitVars = { ACTOR_EN_DNP, @@ -22,7 +29,6 @@ const ActorInit En_Dnp_InitVars = { (ActorFunc)EnDnp_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80B3DC80 = { { COLTYPE_HIT1, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,53 +36,54 @@ static ColliderCylinderInit D_80B3DC80 = { { 14, 38, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_80B3DCAC = { 0, 0, 0, 0, MASS_IMMOVABLE }; +#endif extern ColliderCylinderInit D_80B3DC80; extern CollisionCheckInfoInit2 D_80B3DCAC; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnp_0x80B3CA20/func_80B3CA20.asm") +extern UNK_TYPE D_06010D60; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnp_0x80B3CA20/func_80B3CC38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnp/func_80B3CA20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnp_0x80B3CA20/func_80B3CC80.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnp/func_80B3CC38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnp_0x80B3CA20/func_80B3CD1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnp/func_80B3CC80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnp_0x80B3CA20/func_80B3CDA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnp/func_80B3CD1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnp_0x80B3CA20/func_80B3CEC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnp/func_80B3CDA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnp_0x80B3CA20/func_80B3CF60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnp/func_80B3CEC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnp_0x80B3CA20/func_80B3D044.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnp/func_80B3CF60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnp_0x80B3CA20/func_80B3D11C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnp/func_80B3D044.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnp_0x80B3CA20/func_80B3D2D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnp/func_80B3D11C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnp_0x80B3CA20/func_80B3D338.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnp/func_80B3D2D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnp_0x80B3CA20/func_80B3D3F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnp/func_80B3D338.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnp_0x80B3CA20/func_80B3D47C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnp/func_80B3D3F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnp_0x80B3CA20/func_80B3D558.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnp/func_80B3D47C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnp_0x80B3CA20/EnDnp_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnp/func_80B3D558.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnp_0x80B3CA20/EnDnp_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnp/EnDnp_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnp_0x80B3CA20/EnDnp_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnp/EnDnp_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnp_0x80B3CA20/func_80B3D974.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnp/EnDnp_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnp_0x80B3CA20/func_80B3DA88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnp/func_80B3D974.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnp_0x80B3CA20/func_80B3DAA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnp/func_80B3DA88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnp_0x80B3CA20/EnDnp_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnp/func_80B3DAA0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnp/EnDnp_Draw.s") diff --git a/src/overlays/actors/ovl_En_Dnp/z_en_dnp.h b/src/overlays/actors/ovl_En_Dnp/z_en_dnp.h index 728d092050..f3e66f4185 100644 --- a/src/overlays/actors/ovl_En_Dnp/z_en_dnp.h +++ b/src/overlays/actors/ovl_En_Dnp/z_en_dnp.h @@ -1,13 +1,17 @@ #ifndef Z_EN_DNP_H #define Z_EN_DNP_H -#include +#include "global.h" struct EnDnp; +typedef void (*EnDnpActionFunc)(struct EnDnp* this, GlobalContext* globalCtx); + typedef struct EnDnp { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x200]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ EnDnpActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x1B8]; } EnDnp; // size = 0x344 extern const ActorInit En_Dnp_InitVars; diff --git a/src/overlays/actors/ovl_En_Dnq/z_en_dnq.c b/src/overlays/actors/ovl_En_Dnq/z_en_dnq.c index 8b1862ecdd..56dd93a6de 100644 --- a/src/overlays/actors/ovl_En_Dnq/z_en_dnq.c +++ b/src/overlays/actors/ovl_En_Dnq/z_en_dnq.c @@ -22,7 +22,6 @@ const ActorInit En_Dnq_InitVars = { (ActorFunc)EnDnq_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80A53464 = { { COLTYPE_HIT1, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,47 +29,48 @@ static ColliderCylinderInit D_80A53464 = { { 34, 80, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_80A53490 = { 1, 0, 0, 0, MASS_IMMOVABLE }; +#endif extern ColliderCylinderInit D_80A53464; extern CollisionCheckInfoInit2 D_80A53490; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnq_0x80A52530/func_80A52530.asm") +extern UNK_TYPE D_0600EB48; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnq_0x80A52530/func_80A5257C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnq/func_80A52530.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnq_0x80A52530/func_80A52604.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnq/func_80A5257C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnq_0x80A52530/func_80A52648.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnq/func_80A52604.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnq_0x80A52530/func_80A526F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnq/func_80A52648.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnq_0x80A52530/func_80A52944.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnq/func_80A526F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnq_0x80A52530/func_80A52A78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnq/func_80A52944.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnq_0x80A52530/func_80A52B68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnq/func_80A52A78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnq_0x80A52530/func_80A52C6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnq/func_80A52B68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnq_0x80A52530/func_80A52CF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnq/func_80A52C6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnq_0x80A52530/func_80A52D44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnq/func_80A52CF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnq_0x80A52530/func_80A52DC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnq/func_80A52D44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnq_0x80A52530/func_80A52FB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnq/func_80A52DC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnq_0x80A52530/func_80A53038.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnq/func_80A52FB8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnq_0x80A52530/EnDnq_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnq/func_80A53038.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnq_0x80A52530/EnDnq_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnq/EnDnq_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnq_0x80A52530/EnDnq_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnq/EnDnq_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dnq_0x80A52530/EnDnq_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnq/EnDnq_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dnq/EnDnq_Draw.s") diff --git a/src/overlays/actors/ovl_En_Dnq/z_en_dnq.h b/src/overlays/actors/ovl_En_Dnq/z_en_dnq.h index fe0c03aee7..a582c0d8f9 100644 --- a/src/overlays/actors/ovl_En_Dnq/z_en_dnq.h +++ b/src/overlays/actors/ovl_En_Dnq/z_en_dnq.h @@ -1,13 +1,17 @@ #ifndef Z_EN_DNQ_H #define Z_EN_DNQ_H -#include +#include "global.h" struct EnDnq; +typedef void (*EnDnqActionFunc)(struct EnDnq* this, GlobalContext* globalCtx); + typedef struct EnDnq { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x264]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x48]; + /* 0x018C */ EnDnqActionFunc actionFunc; + /* 0x0190 */ char unk_190[0x218]; } EnDnq; // size = 0x3A8 extern const ActorInit En_Dnq_InitVars; diff --git a/src/overlays/actors/ovl_En_Dns/z_en_dns.c b/src/overlays/actors/ovl_En_Dns/z_en_dns.c index 879198922c..23092aacd9 100644 --- a/src/overlays/actors/ovl_En_Dns/z_en_dns.c +++ b/src/overlays/actors/ovl_En_Dns/z_en_dns.c @@ -9,6 +9,11 @@ void EnDns_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnDns_Update(Actor* thisx, GlobalContext* globalCtx); void EnDns_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_8092D1B8(EnDns* this, GlobalContext* globalCtx); +void func_8092D320(EnDns* this, GlobalContext* globalCtx); +void func_8092D330(EnDns* this, GlobalContext* globalCtx); +void func_8092D4D8(EnDns* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Dns_InitVars = { ACTOR_EN_DNS, @@ -22,7 +27,6 @@ const ActorInit En_Dns_InitVars = { (ActorFunc)EnDns_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_8092DD28 = { { COLTYPE_HIT0, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,65 +34,67 @@ static ColliderCylinderInit D_8092DD28 = { { 18, 46, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_8092DD54 = { 1, 0, 0, 0, MASS_IMMOVABLE }; +#endif extern ColliderCylinderInit D_8092DD28; extern CollisionCheckInfoInit2 D_8092DD54; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dns_0x8092C5C0/func_8092C5C0.asm") +extern UNK_TYPE D_06002C48; +extern UNK_TYPE D_06002DD8; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dns_0x8092C5C0/func_8092C63C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dns/func_8092C5C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dns_0x8092C5C0/func_8092C6FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dns/func_8092C63C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dns_0x8092C5C0/func_8092C740.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dns/func_8092C6FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dns_0x8092C5C0/func_8092C86C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dns/func_8092C740.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dns_0x8092C5C0/func_8092C934.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dns/func_8092C86C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dns_0x8092C5C0/func_8092C9BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dns/func_8092C934.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dns_0x8092C5C0/func_8092CA74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dns/func_8092C9BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dns_0x8092C5C0/func_8092CAD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dns/func_8092CA74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dns_0x8092C5C0/func_8092CB98.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dns/func_8092CAD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dns_0x8092C5C0/func_8092CC68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dns/func_8092CB98.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dns_0x8092C5C0/func_8092CCEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dns/func_8092CC68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dns_0x8092C5C0/func_8092CE38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dns/func_8092CCEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dns_0x8092C5C0/func_8092D068.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dns/func_8092CE38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dns_0x8092C5C0/func_8092D108.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dns/func_8092D068.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dns_0x8092C5C0/func_8092D1B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dns/func_8092D108.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dns_0x8092C5C0/func_8092D320.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dns/func_8092D1B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dns_0x8092C5C0/func_8092D330.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dns/func_8092D320.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dns_0x8092C5C0/func_8092D4D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dns/func_8092D330.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dns_0x8092C5C0/func_8092D5E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dns/func_8092D4D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dns_0x8092C5C0/EnDns_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dns/func_8092D5E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dns_0x8092C5C0/EnDns_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dns/EnDns_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dns_0x8092C5C0/EnDns_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dns/EnDns_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dns_0x8092C5C0/func_8092D954.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dns/EnDns_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dns_0x8092C5C0/func_8092DA68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dns/func_8092D954.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dns_0x8092C5C0/func_8092DA94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dns/func_8092DA68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dns_0x8092C5C0/EnDns_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dns/func_8092DA94.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dns/EnDns_Draw.s") diff --git a/src/overlays/actors/ovl_En_Dns/z_en_dns.h b/src/overlays/actors/ovl_En_Dns/z_en_dns.h index bbf05ba362..38d6f5fb85 100644 --- a/src/overlays/actors/ovl_En_Dns/z_en_dns.h +++ b/src/overlays/actors/ovl_En_Dns/z_en_dns.h @@ -1,13 +1,17 @@ #ifndef Z_EN_DNS_H #define Z_EN_DNS_H -#include +#include "global.h" struct EnDns; +typedef void (*EnDnsActionFunc)(struct EnDns* this, GlobalContext* globalCtx); + typedef struct EnDns { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x1BC]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ EnDnsActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x174]; } EnDns; // size = 0x300 extern const ActorInit En_Dns_InitVars; diff --git a/src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.c b/src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.c index 101327e992..94b474c45a 100644 --- a/src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.c +++ b/src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.c @@ -22,7 +22,6 @@ const ActorInit En_Dodongo_InitVars = { (ActorFunc)EnDodongo_Draw, }; - // static ColliderJntSphElementInit sJntSphElementsInit[10] = { static ColliderJntSphElementInit D_808790D0[10] = { { @@ -73,30 +72,12 @@ static ColliderJntSphInit D_80879238 = { 10, D_808790D0, // sJntSphElementsInit, }; - -// static ColliderJntSphElementInit sJntSphElementsInit[3] = { -static ColliderJntSphElementInit D_808790D0[3] = { - { - { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x800CB019, 0x00, 0x00 }, TOUCH_NONE | TOUCH_SFX_NORMAL, BUMP_ON | BUMP_HOOKABLE, OCELEM_ON, }, - { 7, { { 500, 0, 0 }, 27 }, 100 }, - }, - { - { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x800CB019, 0x00, 0x00 }, TOUCH_NONE | TOUCH_SFX_NORMAL, BUMP_ON | BUMP_HOOKABLE, OCELEM_ON, }, - { 21, { { -200, 0, 0 }, 20 }, 100 }, - }, - { - { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x800CB019, 0x00, 0x00 }, TOUCH_NONE | TOUCH_SFX_NORMAL, BUMP_ON | BUMP_HOOKABLE, OCELEM_ON, }, - { 28, { { -200, 0, 0 }, 20 }, 100 }, - }, -}; - // static ColliderJntSphInit sJntSphInit = { static ColliderJntSphInit D_80879248 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_HARD | AC_TYPE_PLAYER, OC1_NONE, OC2_TYPE_1, COLSHAPE_JNTSPH, }, 3, D_808790D0, // sJntSphElementsInit, }; - // static ColliderJntSphElementInit sJntSphElementsInit[3] = { static ColliderJntSphElementInit D_80879258[3] = { { @@ -119,7 +100,6 @@ static ColliderJntSphInit D_808792C4 = { 3, D_80879258, // sJntSphElementsInit, }; - // static DamageTable sDamageTable = { static DamageTable D_808792D4 = { /* Deku Nut */ DMG_ENTRY(0, 0x1), @@ -156,11 +136,9 @@ static DamageTable D_808792D4 = { /* Powder Keg */ DMG_ENTRY(1, 0x0), }; - // sColChkInfoInit static CollisionCheckInfoInit D_808792F4 = { 3, 100, 100, 80 }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_808792FC[] = { ICHAIN_S8(hintId, 13, ICHAIN_CONTINUE), @@ -168,80 +146,87 @@ static InitChainEntry D_808792FC[] = { ICHAIN_F32(targetArrowOffset, 1400, ICHAIN_STOP), }; +#endif extern ColliderJntSphElementInit D_808790D0[10]; extern ColliderJntSphInit D_80879238; -extern ColliderJntSphElementInit D_808790D0[3]; extern ColliderJntSphInit D_80879248; extern ColliderJntSphElementInit D_80879258[3]; extern ColliderJntSphInit D_808792C4; extern DamageTable D_808792D4; extern CollisionCheckInfoInit D_808792F4; extern InitChainEntry D_808792FC[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dodongo_0x80876670/EnDodongo_Init.asm") +extern UNK_TYPE D_060013C4; +extern UNK_TYPE D_06001A44; +extern UNK_TYPE D_060028F0; +extern UNK_TYPE D_06003088; +extern UNK_TYPE D_060042C4; +extern UNK_TYPE D_06004C20; +extern UNK_TYPE D_06008B1C; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dodongo_0x80876670/EnDodongo_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dodongo/EnDodongo_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dodongo_0x80876670/func_80876930.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dodongo/EnDodongo_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dodongo_0x80876670/func_80876B08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dodongo/func_80876930.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dodongo_0x80876670/func_80876BD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dodongo/func_80876B08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dodongo_0x80876670/func_80876CAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dodongo/func_80876BD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dodongo_0x80876670/func_80876D28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dodongo/func_80876CAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dodongo_0x80876670/func_80876DC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dodongo/func_80876D28.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dodongo_0x80876670/func_8087721C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dodongo/func_80876DC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dodongo_0x80876670/func_80877278.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dodongo/func_8087721C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dodongo_0x80876670/func_808773C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dodongo/func_80877278.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dodongo_0x80876670/func_80877424.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dodongo/func_808773C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dodongo_0x80876670/func_80877494.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dodongo/func_80877424.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dodongo_0x80876670/func_80877500.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dodongo/func_80877494.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dodongo_0x80876670/func_808777A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dodongo/func_80877500.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dodongo_0x80876670/func_8087784C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dodongo/func_808777A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dodongo_0x80876670/func_80877D50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dodongo/func_8087784C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dodongo_0x80876670/func_80877D90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dodongo/func_80877D50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dodongo_0x80876670/func_80877DE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dodongo/func_80877D90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dodongo_0x80876670/func_80877E60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dodongo/func_80877DE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dodongo_0x80876670/func_80878354.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dodongo/func_80877E60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dodongo_0x80876670/func_80878424.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dodongo/func_80878354.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dodongo_0x80876670/func_80878594.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dodongo/func_80878424.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dodongo_0x80876670/func_808785B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dodongo/func_80878594.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dodongo_0x80876670/func_8087864C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dodongo/func_808785B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dodongo_0x80876670/func_808786C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dodongo/func_8087864C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dodongo_0x80876670/func_80878724.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dodongo/func_808786C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dodongo_0x80876670/func_808787B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dodongo/func_80878724.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dodongo_0x80876670/func_80878910.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dodongo/func_808787B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dodongo_0x80876670/EnDodongo_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dodongo/func_80878910.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dodongo_0x80876670/func_80878E44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dodongo/EnDodongo_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dodongo_0x80876670/func_80878EB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dodongo/func_80878E44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dodongo_0x80876670/EnDodongo_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dodongo/func_80878EB4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dodongo/EnDodongo_Draw.s") diff --git a/src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.h b/src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.h index 5dec05feb9..fbc3e3ef06 100644 --- a/src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.h +++ b/src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.h @@ -1,13 +1,17 @@ #ifndef Z_EN_DODONGO_H #define Z_EN_DODONGO_H -#include +#include "global.h" struct EnDodongo; +typedef void (*EnDodongoActionFunc)(struct EnDodongo* this, GlobalContext* globalCtx); + typedef struct EnDodongo { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x6D0]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x1B8]; + /* 0x02FC */ EnDodongoActionFunc actionFunc; + /* 0x0300 */ char unk_300[0x514]; } EnDodongo; // size = 0x814 extern const ActorInit En_Dodongo_InitVars; diff --git a/src/overlays/actors/ovl_En_Door/z_en_door.c b/src/overlays/actors/ovl_En_Door/z_en_door.c index 1bd6411282..894f11b488 100644 --- a/src/overlays/actors/ovl_En_Door/z_en_door.c +++ b/src/overlays/actors/ovl_En_Door/z_en_door.c @@ -22,7 +22,6 @@ const ActorInit En_Door_InitVars = { (ActorFunc)EnDoor_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80867954[] = { ICHAIN_U8(targetMode, 0, ICHAIN_CONTINUE), @@ -31,30 +30,30 @@ static InitChainEntry D_80867954[] = { ICHAIN_U16(shape.rot.z, 0, ICHAIN_STOP), }; - -extern InitChainEntry D_80867954[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Door_0x80866800/EnDoor_Init.asm") +extern InitChainEntry D_80867954[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Door_0x80866800/EnDoor_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Door/EnDoor_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Door_0x80866800/func_80866A5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Door/EnDoor_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Door_0x80866800/func_80866B20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Door/func_80866A5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Door_0x80866800/func_80866F94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Door/func_80866B20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Door_0x80866800/func_8086704C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Door/func_80866F94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Door_0x80866800/func_80867080.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Door/func_8086704C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Door_0x80866800/func_808670F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Door/func_80867080.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Door_0x80866800/func_80867144.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Door/func_808670F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Door_0x80866800/EnDoor_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Door/func_80867144.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Door_0x80866800/func_80867350.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Door/EnDoor_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Door_0x80866800/EnDoor_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Door/func_80867350.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Door/EnDoor_Draw.s") diff --git a/src/overlays/actors/ovl_En_Door/z_en_door.h b/src/overlays/actors/ovl_En_Door/z_en_door.h index b2ecdfa4f5..af5e60314d 100644 --- a/src/overlays/actors/ovl_En_Door/z_en_door.h +++ b/src/overlays/actors/ovl_En_Door/z_en_door.h @@ -1,15 +1,18 @@ #ifndef Z_EN_DOOR_H #define Z_EN_DOOR_H -#include +#include "global.h" struct EnDoor; +typedef void (*EnDoorActionFunc)(struct EnDoor* this, GlobalContext* globalCtx); + typedef struct EnDoor { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x63]; - /* 0x1A7 */ s8 unk1A7; - /* 0x1A8 */ char unk1A8[0x24]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x63]; + /* 0x01A7 */ s8 unk1A7; + /* 0x01A8 */ char unk_1A8[0x20]; + /* 0x01C8 */ EnDoorActionFunc actionFunc; } EnDoor; // size = 0x1CC extern const ActorInit En_Door_InitVars; diff --git a/src/overlays/actors/ovl_En_Door_Etc/z_en_door_etc.c b/src/overlays/actors/ovl_En_Door_Etc/z_en_door_etc.c index e226ec77c3..074739aa1e 100644 --- a/src/overlays/actors/ovl_En_Door_Etc/z_en_door_etc.c +++ b/src/overlays/actors/ovl_En_Door_Etc/z_en_door_etc.c @@ -21,7 +21,6 @@ const ActorInit En_Door_Etc_InitVars = { (ActorFunc)NULL, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80AC25A0 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -29,7 +28,6 @@ static ColliderCylinderInit D_80AC25A0 = { { 100, 40, 0, { 0, 0, 0 } }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80AC2634[] = { ICHAIN_U8(targetMode, 0, ICHAIN_CONTINUE), @@ -38,27 +36,27 @@ static InitChainEntry D_80AC2634[] = { ICHAIN_U16(shape.rot.z, 0, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80AC25A0; extern InitChainEntry D_80AC2634[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Door_Etc_0x80AC1ED0/EnDoorEtc_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Door_Etc/EnDoorEtc_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Door_Etc_0x80AC1ED0/EnDoorEtc_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Door_Etc/EnDoorEtc_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Door_Etc_0x80AC1ED0/func_80AC2044.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Door_Etc/func_80AC2044.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Door_Etc_0x80AC1ED0/func_80AC20A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Door_Etc/func_80AC20A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Door_Etc_0x80AC1ED0/func_80AC2118.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Door_Etc/func_80AC2118.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Door_Etc_0x80AC1ED0/func_80AC2154.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Door_Etc/func_80AC2154.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Door_Etc_0x80AC1ED0/func_80AC21A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Door_Etc/func_80AC21A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Door_Etc_0x80AC1ED0/func_80AC2354.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Door_Etc/func_80AC2354.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Door_Etc_0x80AC1ED0/EnDoorEtc_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Door_Etc/EnDoorEtc_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Door_Etc_0x80AC1ED0/func_80AC24A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Door_Etc/func_80AC24A8.s") diff --git a/src/overlays/actors/ovl_En_Door_Etc/z_en_door_etc.h b/src/overlays/actors/ovl_En_Door_Etc/z_en_door_etc.h index 55e2c15995..cd6f79dcfe 100644 --- a/src/overlays/actors/ovl_En_Door_Etc/z_en_door_etc.h +++ b/src/overlays/actors/ovl_En_Door_Etc/z_en_door_etc.h @@ -1,13 +1,16 @@ #ifndef Z_EN_DOOR_ETC_H #define Z_EN_DOOR_ETC_H -#include +#include "global.h" struct EnDoorEtc; +typedef void (*EnDoorEtcActionFunc)(struct EnDoorEtc* this, GlobalContext* globalCtx); + typedef struct EnDoorEtc { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0xB8]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0xB4]; + /* 0x01F8 */ EnDoorEtcActionFunc actionFunc; } EnDoorEtc; // size = 0x1FC extern const ActorInit En_Door_Etc_InitVars; diff --git a/src/overlays/actors/ovl_En_Dragon/z_en_dragon.c b/src/overlays/actors/ovl_En_Dragon/z_en_dragon.c index a9d27bce7a..8c16469f84 100644 --- a/src/overlays/actors/ovl_En_Dragon/z_en_dragon.c +++ b/src/overlays/actors/ovl_En_Dragon/z_en_dragon.c @@ -9,6 +9,15 @@ void EnDragon_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnDragon_Update(Actor* thisx, GlobalContext* globalCtx); void EnDragon_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80B5ED90(EnDragon* this, GlobalContext* globalCtx); +void func_80B5EE3C(EnDragon* this, GlobalContext* globalCtx); +void func_80B5EFD0(EnDragon* this, GlobalContext* globalCtx); +void func_80B5F418(EnDragon* this, GlobalContext* globalCtx); +void func_80B5F508(EnDragon* this, GlobalContext* globalCtx); +void func_80B5F8D8(EnDragon* this, GlobalContext* globalCtx); +void func_80B5FCC0(EnDragon* this, GlobalContext* globalCtx); +void func_80B5FD68(EnDragon* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Dragon_InitVars = { ACTOR_EN_DRAGON, @@ -22,7 +31,6 @@ const ActorInit En_Dragon_InitVars = { (ActorFunc)EnDragon_Draw, }; - // static DamageTable sDamageTable = { static DamageTable D_80B605F4 = { /* Deku Nut */ DMG_ENTRY(0, 0x0), @@ -59,7 +67,6 @@ static DamageTable D_80B605F4 = { /* Powder Keg */ DMG_ENTRY(1, 0xF), }; - // static ColliderJntSphElementInit sJntSphElementsInit[8] = { static ColliderJntSphElementInit D_80B60614[8] = { { @@ -102,50 +109,52 @@ static ColliderJntSphInit D_80B60734 = { 8, D_80B60614, // sJntSphElementsInit, }; +#endif extern DamageTable D_80B605F4; extern ColliderJntSphElementInit D_80B60614[8]; extern ColliderJntSphInit D_80B60734; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dragon_0x80B5E890/EnDragon_Init.asm") +extern UNK_TYPE D_060048B8; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dragon_0x80B5E890/EnDragon_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dragon/EnDragon_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dragon_0x80B5E890/func_80B5EAA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dragon/EnDragon_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dragon_0x80B5E890/func_80B5EB40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dragon/func_80B5EAA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dragon_0x80B5E890/func_80B5ED90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dragon/func_80B5EB40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dragon_0x80B5E890/func_80B5EDF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dragon/func_80B5ED90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dragon_0x80B5E890/func_80B5EE3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dragon/func_80B5EDF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dragon_0x80B5E890/func_80B5EF88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dragon/func_80B5EE3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dragon_0x80B5E890/func_80B5EFD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dragon/func_80B5EF88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dragon_0x80B5E890/func_80B5F3A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dragon/func_80B5EFD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dragon_0x80B5E890/func_80B5F418.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dragon/func_80B5F3A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dragon_0x80B5E890/func_80B5F508.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dragon/func_80B5F418.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dragon_0x80B5E890/func_80B5F888.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dragon/func_80B5F508.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dragon_0x80B5E890/func_80B5F8D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dragon/func_80B5F888.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dragon_0x80B5E890/func_80B5FCC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dragon/func_80B5F8D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dragon_0x80B5E890/func_80B5FD68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dragon/func_80B5FCC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dragon_0x80B5E890/func_80B60138.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dragon/func_80B5FD68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dragon_0x80B5E890/EnDragon_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dragon/func_80B60138.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dragon_0x80B5E890/func_80B6043C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dragon/EnDragon_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dragon_0x80B5E890/func_80B60494.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dragon/func_80B6043C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dragon_0x80B5E890/EnDragon_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dragon/func_80B60494.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dragon/EnDragon_Draw.s") diff --git a/src/overlays/actors/ovl_En_Dragon/z_en_dragon.h b/src/overlays/actors/ovl_En_Dragon/z_en_dragon.h index 3cf87d8db2..944c10b7d6 100644 --- a/src/overlays/actors/ovl_En_Dragon/z_en_dragon.h +++ b/src/overlays/actors/ovl_En_Dragon/z_en_dragon.h @@ -1,13 +1,17 @@ #ifndef Z_EN_DRAGON_H #define Z_EN_DRAGON_H -#include +#include "global.h" struct EnDragon; +typedef void (*EnDragonActionFunc)(struct EnDragon* this, GlobalContext* globalCtx); + typedef struct EnDragon { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x3B8]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x104]; + /* 0x0248 */ EnDragonActionFunc actionFunc; + /* 0x024C */ char unk_24C[0x2B0]; } EnDragon; // size = 0x4FC extern const ActorInit En_Dragon_InitVars; diff --git a/src/overlays/actors/ovl_En_Drs/z_en_drs.c b/src/overlays/actors/ovl_En_Drs/z_en_drs.c index 296233301d..3cc504594e 100644 --- a/src/overlays/actors/ovl_En_Drs/z_en_drs.c +++ b/src/overlays/actors/ovl_En_Drs/z_en_drs.c @@ -8,6 +8,9 @@ void EnDrs_Init(Actor* thisx, GlobalContext* globalCtx); void EnDrs_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnDrs_Update(Actor* thisx, GlobalContext* globalCtx); +void func_80C1E2D4(EnDrs* this, GlobalContext* globalCtx); +void func_80C1E3DC(EnDrs* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Drs_InitVars = { ACTOR_EN_DRS, @@ -21,7 +24,6 @@ const ActorInit En_Drs_InitVars = { (ActorFunc)NULL, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80C1E5E0 = { { COLTYPE_HIT1, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -29,27 +31,29 @@ static ColliderCylinderInit D_80C1E5E0 = { { 16, 62, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_80C1E60C = { 0, 0, 0, 0, MASS_IMMOVABLE }; +#endif extern ColliderCylinderInit D_80C1E5E0; extern CollisionCheckInfoInit2 D_80C1E60C; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Drs_0x80C1E290/func_80C1E290.asm") +extern UNK_TYPE D_06000E70; +extern UNK_TYPE D_06005A78; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Drs_0x80C1E290/func_80C1E2D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Drs/func_80C1E290.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Drs_0x80C1E290/func_80C1E3DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Drs/func_80C1E2D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Drs_0x80C1E290/EnDrs_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Drs/func_80C1E3DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Drs_0x80C1E290/EnDrs_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Drs/EnDrs_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Drs_0x80C1E290/EnDrs_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Drs/EnDrs_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Drs_0x80C1E290/func_80C1E4B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Drs/EnDrs_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Drs_0x80C1E290/func_80C1E568.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Drs/func_80C1E4B0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Drs/func_80C1E568.s") diff --git a/src/overlays/actors/ovl_En_Drs/z_en_drs.h b/src/overlays/actors/ovl_En_Drs/z_en_drs.h index e644408c66..c6d88d71bd 100644 --- a/src/overlays/actors/ovl_En_Drs/z_en_drs.h +++ b/src/overlays/actors/ovl_En_Drs/z_en_drs.h @@ -1,13 +1,17 @@ #ifndef Z_EN_DRS_H #define Z_EN_DRS_H -#include +#include "global.h" struct EnDrs; +typedef void (*EnDrsActionFunc)(struct EnDrs* this, GlobalContext* globalCtx); + typedef struct EnDrs { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0xC8]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ EnDrsActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x80]; } EnDrs; // size = 0x20C extern const ActorInit En_Drs_InitVars; diff --git a/src/overlays/actors/ovl_En_Ds2n/z_en_ds2n.c b/src/overlays/actors/ovl_En_Ds2n/z_en_ds2n.c index 6a3ce7ccf6..bf8d4b1db3 100644 --- a/src/overlays/actors/ovl_En_Ds2n/z_en_ds2n.c +++ b/src/overlays/actors/ovl_En_Ds2n/z_en_ds2n.c @@ -24,20 +24,22 @@ const ActorInit En_Ds2n_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ds2n_0x80AE1650/func_80AE1650.asm") +extern UNK_TYPE D_06008038; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ds2n_0x80AE1650/func_80AE16A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ds2n/func_80AE1650.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ds2n_0x80AE1650/func_80AE16D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ds2n/func_80AE16A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ds2n_0x80AE1650/EnDs2n_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ds2n/func_80AE16D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ds2n_0x80AE1650/EnDs2n_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ds2n/EnDs2n_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ds2n_0x80AE1650/EnDs2n_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ds2n/EnDs2n_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ds2n_0x80AE1650/func_80AE1874.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ds2n/EnDs2n_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ds2n_0x80AE1650/func_80AE18B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ds2n/func_80AE1874.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ds2n_0x80AE1650/EnDs2n_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ds2n/func_80AE18B4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ds2n/EnDs2n_Draw.s") diff --git a/src/overlays/actors/ovl_En_Ds2n/z_en_ds2n.h b/src/overlays/actors/ovl_En_Ds2n/z_en_ds2n.h index e4579560f3..857ac49a23 100644 --- a/src/overlays/actors/ovl_En_Ds2n/z_en_ds2n.h +++ b/src/overlays/actors/ovl_En_Ds2n/z_en_ds2n.h @@ -1,13 +1,17 @@ #ifndef Z_EN_DS2N_H #define Z_EN_DS2N_H -#include +#include "global.h" struct EnDs2n; +typedef void (*EnDs2nActionFunc)(struct EnDs2n* this, GlobalContext* globalCtx); + typedef struct EnDs2n { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0xF0]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x90]; + /* 0x01D4 */ EnDs2nActionFunc actionFunc; + /* 0x01D8 */ char unk_1D8[0x5C]; } EnDs2n; // size = 0x234 extern const ActorInit En_Ds2n_InitVars; diff --git a/src/overlays/actors/ovl_En_Dt/z_en_dt.c b/src/overlays/actors/ovl_En_Dt/z_en_dt.c index b53819b306..57e89b76be 100644 --- a/src/overlays/actors/ovl_En_Dt/z_en_dt.c +++ b/src/overlays/actors/ovl_En_Dt/z_en_dt.c @@ -22,7 +22,6 @@ const ActorInit En_Dt_InitVars = { (ActorFunc)EnDt_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80BEB29C = { { COLTYPE_NONE, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -30,50 +29,52 @@ static ColliderCylinderInit D_80BEB29C = { { 25, 70, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80BEB29C; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dt_0x80BE9B20/EnDt_Init.asm") +extern ColliderCylinderInit D_80BEB29C; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dt_0x80BE9B20/EnDt_Destroy.asm") +extern UNK_TYPE D_0600112C; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dt_0x80BE9B20/func_80BE9C74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dt/EnDt_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dt_0x80BE9B20/func_80BE9CE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dt/EnDt_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dt_0x80BE9B20/func_80BE9D9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dt/func_80BE9C74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dt_0x80BE9B20/func_80BE9DF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dt/func_80BE9CE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dt_0x80BE9B20/func_80BE9E94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dt/func_80BE9D9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dt_0x80BE9B20/func_80BE9EF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dt/func_80BE9DF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dt_0x80BE9B20/func_80BEA088.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dt/func_80BE9E94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dt_0x80BE9B20/func_80BEA254.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dt/func_80BE9EF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dt_0x80BE9B20/func_80BEA394.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dt/func_80BEA088.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dt_0x80BE9B20/func_80BEA8F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dt/func_80BEA254.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dt_0x80BE9B20/func_80BEAAF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dt/func_80BEA394.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dt_0x80BE9B20/func_80BEAB44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dt/func_80BEA8F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dt_0x80BE9B20/func_80BEABF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dt/func_80BEAAF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dt_0x80BE9B20/func_80BEAC84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dt/func_80BEAB44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dt_0x80BE9B20/func_80BEAD2C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dt/func_80BEABF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dt_0x80BE9B20/func_80BEADB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dt/func_80BEAC84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dt_0x80BE9B20/func_80BEADD4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dt/func_80BEAD2C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dt_0x80BE9B20/EnDt_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dt/func_80BEADB8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dt_0x80BE9B20/func_80BEB06C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dt/func_80BEADD4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Dt_0x80BE9B20/EnDt_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dt/EnDt_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dt/func_80BEB06C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Dt/EnDt_Draw.s") diff --git a/src/overlays/actors/ovl_En_Dt/z_en_dt.h b/src/overlays/actors/ovl_En_Dt/z_en_dt.h index f43c9f8949..c473ed0f40 100644 --- a/src/overlays/actors/ovl_En_Dt/z_en_dt.h +++ b/src/overlays/actors/ovl_En_Dt/z_en_dt.h @@ -1,13 +1,17 @@ #ifndef Z_EN_DT_H #define Z_EN_DT_H -#include +#include "global.h" struct EnDt; +typedef void (*EnDtActionFunc)(struct EnDt* this, GlobalContext* globalCtx); + typedef struct EnDt { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x19C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0xF8]; + /* 0x023C */ EnDtActionFunc actionFunc; + /* 0x0240 */ char unk_240[0xA0]; } EnDt; // size = 0x2E0 extern const ActorInit En_Dt_InitVars; diff --git a/src/overlays/actors/ovl_En_Dy_Extra/z_en_dy_extra.h b/src/overlays/actors/ovl_En_Dy_Extra/z_en_dy_extra.h index 05e6019fb1..752612c97d 100644 --- a/src/overlays/actors/ovl_En_Dy_Extra/z_en_dy_extra.h +++ b/src/overlays/actors/ovl_En_Dy_Extra/z_en_dy_extra.h @@ -1,7 +1,7 @@ #ifndef Z_EN_DY_EXTRA_H #define Z_EN_DY_EXTRA_H -#include +#include "global.h" struct EnDyExtra; diff --git a/src/overlays/actors/ovl_En_Egblock/z_en_egblock.c b/src/overlays/actors/ovl_En_Egblock/z_en_egblock.c index 56c5db8752..1dd7541b62 100644 --- a/src/overlays/actors/ovl_En_Egblock/z_en_egblock.c +++ b/src/overlays/actors/ovl_En_Egblock/z_en_egblock.c @@ -24,22 +24,26 @@ const ActorInit En_Egblock_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egblock_0x80ABA7A0/EnEgblock_Init.asm") +extern UNK_TYPE D_06001698; +extern UNK_TYPE D_06001820; +extern UNK_TYPE D_06001BF8; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egblock_0x80ABA7A0/EnEgblock_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egblock/EnEgblock_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egblock_0x80ABA7A0/func_80ABA8A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egblock/EnEgblock_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egblock_0x80ABA7A0/func_80ABA988.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egblock/func_80ABA8A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egblock_0x80ABA7A0/func_80ABA9B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egblock/func_80ABA988.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egblock_0x80ABA7A0/EnEgblock_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egblock/func_80ABA9B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egblock_0x80ABA7A0/EnEgblock_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egblock/EnEgblock_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egblock_0x80ABA7A0/func_80ABAAF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egblock/EnEgblock_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egblock_0x80ABA7A0/func_80ABACB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egblock/func_80ABAAF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egblock_0x80ABA7A0/func_80ABAE64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egblock/func_80ABACB4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egblock/func_80ABAE64.s") diff --git a/src/overlays/actors/ovl_En_Egblock/z_en_egblock.h b/src/overlays/actors/ovl_En_Egblock/z_en_egblock.h index 24b8986920..48d1246e09 100644 --- a/src/overlays/actors/ovl_En_Egblock/z_en_egblock.h +++ b/src/overlays/actors/ovl_En_Egblock/z_en_egblock.h @@ -1,13 +1,17 @@ #ifndef Z_EN_EGBLOCK_H #define Z_EN_EGBLOCK_H -#include +#include "global.h" struct EnEgblock; +typedef void (*EnEgblockActionFunc)(struct EnEgblock* this, GlobalContext* globalCtx); + typedef struct EnEgblock { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0xC70]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x5C]; + /* 0x01A0 */ EnEgblockActionFunc actionFunc; + /* 0x01A4 */ char unk_1A4[0xC10]; } EnEgblock; // size = 0xDB4 extern const ActorInit En_Egblock_InitVars; diff --git a/src/overlays/actors/ovl_En_Egol/z_en_egol.c b/src/overlays/actors/ovl_En_Egol/z_en_egol.c index f9e0b8b4f0..a005e8b57e 100644 --- a/src/overlays/actors/ovl_En_Egol/z_en_egol.c +++ b/src/overlays/actors/ovl_En_Egol/z_en_egol.c @@ -44,7 +44,6 @@ static ColliderJntSphInit D_80A80D3C = { 6, D_80A80C64, // sJntSphElementsInit, }; - // static ColliderJntSphElementInit sJntSphElementsInit[1] = { static ColliderJntSphElementInit D_80A80C40[1] = { { @@ -59,7 +58,6 @@ static ColliderJntSphInit D_80A80D4C = { 1, D_80A80C40, // sJntSphElementsInit, }; - // static ColliderQuadInit sQuadInit = { static ColliderQuadInit D_80A80D5C = { { COLTYPE_NONE, AT_ON | AT_TYPE_ENEMY, AC_NONE, OC1_NONE, OC2_NONE, COLSHAPE_QUAD, }, @@ -67,7 +65,6 @@ static ColliderQuadInit D_80A80D5C = { { { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } } }, }; - // static DamageTable sDamageTable = { static DamageTable D_80A80DAC = { /* Deku Nut */ DMG_ENTRY(0, 0xF), @@ -104,7 +101,6 @@ static DamageTable D_80A80DAC = { /* Powder Keg */ DMG_ENTRY(1, 0xF), }; - const ActorInit En_Egol_InitVars = { ACTOR_EN_EGOL, ACTORCAT_ENEMY, @@ -117,6 +113,7 @@ const ActorInit En_Egol_InitVars = { (ActorFunc)EnEgol_Draw, }; +#endif extern ColliderJntSphElementInit D_80A80C64[6]; extern ColliderJntSphInit D_80A80D3C; @@ -124,88 +121,91 @@ extern ColliderJntSphElementInit D_80A80C40[1]; extern ColliderJntSphInit D_80A80D4C; extern ColliderQuadInit D_80A80D5C; extern DamageTable D_80A80DAC; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egol_0x80A7C990/func_80A7C990.asm") +extern UNK_TYPE D_06000040; +extern UNK_TYPE D_060094E4; +extern UNK_TYPE D_0600EE4C; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egol_0x80A7C990/func_80A7CA18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egol/func_80A7C990.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egol_0x80A7C990/func_80A7CBC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egol/func_80A7CA18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egol_0x80A7C990/func_80A7CD08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egol/func_80A7CBC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egol_0x80A7C990/EnEgol_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egol/func_80A7CD08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egol_0x80A7C990/EnEgol_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egol/EnEgol_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egol_0x80A7C990/func_80A7D140.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egol/EnEgol_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egol_0x80A7C990/func_80A7D168.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egol/func_80A7D140.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egol_0x80A7C990/func_80A7D1E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egol/func_80A7D168.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egol_0x80A7C990/func_80A7D240.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egol/func_80A7D1E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egol_0x80A7C990/func_80A7D27C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egol/func_80A7D240.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egol_0x80A7C990/func_80A7D2C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egol/func_80A7D27C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egol_0x80A7C990/func_80A7D710.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egol/func_80A7D2C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egol_0x80A7C990/func_80A7D780.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egol/func_80A7D710.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egol_0x80A7C990/func_80A7DAAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egol/func_80A7D780.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egol_0x80A7C990/func_80A7DAF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egol/func_80A7DAAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egol_0x80A7C990/func_80A7E2E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egol/func_80A7DAF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egol_0x80A7C990/func_80A7E344.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egol/func_80A7E2E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egol_0x80A7C990/func_80A7E478.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egol/func_80A7E344.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egol_0x80A7C990/func_80A7E4B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egol/func_80A7E478.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egol_0x80A7C990/func_80A7E7EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egol/func_80A7E4B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egol_0x80A7C990/func_80A7E820.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egol/func_80A7E7EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egol_0x80A7C990/func_80A7E924.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egol/func_80A7E820.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egol_0x80A7C990/func_80A7E970.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egol/func_80A7E924.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egol_0x80A7C990/func_80A7E9D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egol/func_80A7E970.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egol_0x80A7C990/func_80A7EA28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egol/func_80A7E9D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egol_0x80A7C990/func_80A7EA88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egol/func_80A7EA28.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egol_0x80A7C990/func_80A7EAD8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egol/func_80A7EA88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egol_0x80A7C990/func_80A7EB14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egol/func_80A7EAD8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egol_0x80A7C990/func_80A7EB54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egol/func_80A7EB14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egol_0x80A7C990/func_80A7EB90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egol/func_80A7EB54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egol_0x80A7C990/func_80A7EBDC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egol/func_80A7EB90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egol_0x80A7C990/func_80A7EC84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egol/func_80A7EBDC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egol_0x80A7C990/func_80A7ED14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egol/func_80A7EC84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egol_0x80A7C990/func_80A7EFB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egol/func_80A7ED14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egol_0x80A7C990/EnEgol_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egol/func_80A7EFB8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egol_0x80A7C990/func_80A7F8E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egol/EnEgol_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egol_0x80A7C990/func_80A7FAFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egol/func_80A7F8E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egol_0x80A7C990/EnEgol_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egol/func_80A7FAFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egol_0x80A7C990/func_80A80508.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egol/EnEgol_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egol_0x80A7C990/func_80A80750.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egol/func_80A80508.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Egol_0x80A7C990/func_80A80904.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egol/func_80A80750.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Egol/func_80A80904.s") diff --git a/src/overlays/actors/ovl_En_Egol/z_en_egol.h b/src/overlays/actors/ovl_En_Egol/z_en_egol.h index 527f146cc8..3afcf180b4 100644 --- a/src/overlays/actors/ovl_En_Egol/z_en_egol.h +++ b/src/overlays/actors/ovl_En_Egol/z_en_egol.h @@ -1,13 +1,17 @@ #ifndef Z_EN_EGOL_H #define Z_EN_EGOL_H -#include +#include "global.h" struct EnEgol; +typedef void (*EnEgolActionFunc)(struct EnEgol* this, GlobalContext* globalCtx); + typedef struct EnEgol { /* 0x0000 */ Actor actor; - /* 0x0144 */ char unk_0144[0x1D2C]; + /* 0x0144 */ char unk_144[0x164]; + /* 0x02A8 */ EnEgolActionFunc actionFunc; + /* 0x02AC */ char unk_2AC[0x1BC4]; } EnEgol; // size = 0x1E70 extern const ActorInit En_Egol_InitVars; diff --git a/src/overlays/actors/ovl_En_Elf/z_en_elf.c b/src/overlays/actors/ovl_En_Elf/z_en_elf.c index 8ea70dc7c0..be9f5de3a6 100644 --- a/src/overlays/actors/ovl_En_Elf/z_en_elf.c +++ b/src/overlays/actors/ovl_En_Elf/z_en_elf.c @@ -9,6 +9,15 @@ void EnElf_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnElf_Update(Actor* thisx, GlobalContext* globalCtx); void EnElf_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_8088DD34(EnElf* this, GlobalContext* globalCtx); +void func_8088E018(EnElf* this, GlobalContext* globalCtx); +void func_8088E0E0(EnElf* this, GlobalContext* globalCtx); +void func_8088E0F0(EnElf* this, GlobalContext* globalCtx); +void func_8088E484(EnElf* this, GlobalContext* globalCtx); +void func_8088E850(EnElf* this, GlobalContext* globalCtx); + +void EnElf_SetupAction(EnElf* this, EnElfActionFunc actionFunc); + #if 0 const ActorInit En_Elf_InitVars = { ACTOR_EN_ELF, @@ -24,94 +33,94 @@ const ActorInit En_Elf_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/func_8088C510.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/EnElf_SetupAction.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/func_8088C51C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/func_8088C51C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/func_8088C804.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/func_8088C804.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/func_8088C858.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/func_8088C858.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/func_8088C920.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/func_8088C920.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/func_8088C9CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/func_8088C9CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/func_8088CBAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/func_8088CBAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/func_8088CC48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/func_8088CC48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/func_8088CD3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/func_8088CD3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/EnElf_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/EnElf_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/EnElf_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/EnElf_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/func_8088D3EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/func_8088D3EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/func_8088D470.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/func_8088D470.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/func_8088D504.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/func_8088D504.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/func_8088D5A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/func_8088D5A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/func_8088D660.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/func_8088D660.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/func_8088D7F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/func_8088D7F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/func_8088D864.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/func_8088D864.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/func_8088D8D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/func_8088D8D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/func_8088D9BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/func_8088D9BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/func_8088DB4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/func_8088DB4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/func_8088DCA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/func_8088DCA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/func_8088DD34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/func_8088DD34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/func_8088E018.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/func_8088E018.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/func_8088E0E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/func_8088E0E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/func_8088E0F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/func_8088E0F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/func_8088E304.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/func_8088E304.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/func_8088E484.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/func_8088E484.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/func_8088E5A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/func_8088E5A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/func_8088E60C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/func_8088E60C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/func_8088E850.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/func_8088E850.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/func_8088EF18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/func_8088EF18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/func_8088EFA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/func_8088EFA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/func_8088F214.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/func_8088F214.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/func_8088F5F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/func_8088F5F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/func_8088F9E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/func_8088F9E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/func_8088FA38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/func_8088FA38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/func_8088FC34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/func_8088FC34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/func_8088FD04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/func_8088FD04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/func_8088FDCC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/func_8088FDCC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/func_8088FE64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/func_8088FE64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/func_8089010C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/func_8089010C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/EnElf_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/EnElf_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/func_80890494.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/func_80890494.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/EnElf_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/EnElf_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elf_0x8088C510/func_808908D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elf/func_808908D0.s") diff --git a/src/overlays/actors/ovl_En_Elf/z_en_elf.h b/src/overlays/actors/ovl_En_Elf/z_en_elf.h index c60e469c01..2a6f20e672 100644 --- a/src/overlays/actors/ovl_En_Elf/z_en_elf.h +++ b/src/overlays/actors/ovl_En_Elf/z_en_elf.h @@ -1,15 +1,18 @@ #ifndef Z_EN_ELF_H #define Z_EN_ELF_H -#include +#include "global.h" struct EnElf; +typedef void (*EnElfActionFunc)(struct EnElf* this, GlobalContext* globalCtx); + typedef struct EnElf { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x120]; - /* 0x264 */ u16 unk264; - /* 0x266 */ char unk_266[0xE]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x120]; + /* 0x0264 */ u16 unk264; + /* 0x0266 */ char unk_266[0xA]; + /* 0x0270 */ EnElfActionFunc actionFunc; } EnElf; // size = 0x274 extern const ActorInit En_Elf_InitVars; diff --git a/src/overlays/actors/ovl_En_Elfbub/z_en_elfbub.c b/src/overlays/actors/ovl_En_Elfbub/z_en_elfbub.c index 6473e22881..954e5fa066 100644 --- a/src/overlays/actors/ovl_En_Elfbub/z_en_elfbub.c +++ b/src/overlays/actors/ovl_En_Elfbub/z_en_elfbub.c @@ -22,7 +22,6 @@ const ActorInit En_Elfbub_InitVars = { (ActorFunc)EnElfbub_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80ACE270 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_PLAYER, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,18 +29,20 @@ static ColliderCylinderInit D_80ACE270 = { { 16, 32, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80ACE270; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elfbub_0x80ACDCD0/EnElfbub_Init.asm") +extern ColliderCylinderInit D_80ACE270; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elfbub_0x80ACDCD0/EnElfbub_Destroy.asm") +extern UNK_TYPE D_06001000; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elfbub_0x80ACDCD0/func_80ACDE60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elfbub/EnElfbub_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elfbub_0x80ACDCD0/func_80ACE030.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elfbub/EnElfbub_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elfbub_0x80ACDCD0/EnElfbub_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elfbub/func_80ACDE60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elfbub_0x80ACDCD0/EnElfbub_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elfbub/func_80ACE030.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elfbub/EnElfbub_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elfbub/EnElfbub_Draw.s") diff --git a/src/overlays/actors/ovl_En_Elfbub/z_en_elfbub.h b/src/overlays/actors/ovl_En_Elfbub/z_en_elfbub.h index e85397810e..6dc2d1c09e 100644 --- a/src/overlays/actors/ovl_En_Elfbub/z_en_elfbub.h +++ b/src/overlays/actors/ovl_En_Elfbub/z_en_elfbub.h @@ -1,13 +1,16 @@ #ifndef Z_EN_ELFBUB_H #define Z_EN_ELFBUB_H -#include +#include "global.h" struct EnElfbub; +typedef void (*EnElfbubActionFunc)(struct EnElfbub* this, GlobalContext* globalCtx); + typedef struct EnElfbub { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x60]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x5C]; + /* 0x01A0 */ EnElfbubActionFunc actionFunc; } EnElfbub; // size = 0x1A4 extern const ActorInit En_Elfbub_InitVars; diff --git a/src/overlays/actors/ovl_En_Elfgrp/z_en_elfgrp.c b/src/overlays/actors/ovl_En_Elfgrp/z_en_elfgrp.c index f1f8ca9d71..0da225746f 100644 --- a/src/overlays/actors/ovl_En_Elfgrp/z_en_elfgrp.c +++ b/src/overlays/actors/ovl_En_Elfgrp/z_en_elfgrp.c @@ -23,52 +23,52 @@ const ActorInit En_Elfgrp_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elfgrp_0x80A396B0/func_80A396B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elfgrp/func_80A396B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elfgrp_0x80A396B0/EnElfgrp_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elfgrp/EnElfgrp_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elfgrp_0x80A396B0/EnElfgrp_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elfgrp/EnElfgrp_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elfgrp_0x80A396B0/func_80A39BD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elfgrp/func_80A39BD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elfgrp_0x80A396B0/func_80A39C1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elfgrp/func_80A39C1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elfgrp_0x80A396B0/func_80A39CD4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elfgrp/func_80A39CD4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elfgrp_0x80A396B0/func_80A39DC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elfgrp/func_80A39DC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elfgrp_0x80A396B0/func_80A39F50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elfgrp/func_80A39F50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elfgrp_0x80A396B0/func_80A39FBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elfgrp/func_80A39FBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elfgrp_0x80A396B0/func_80A3A044.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elfgrp/func_80A3A044.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elfgrp_0x80A396B0/func_80A3A0AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elfgrp/func_80A3A0AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elfgrp_0x80A396B0/func_80A3A0F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elfgrp/func_80A3A0F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elfgrp_0x80A396B0/func_80A3A210.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elfgrp/func_80A3A210.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elfgrp_0x80A396B0/func_80A3A274.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elfgrp/func_80A3A274.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elfgrp_0x80A396B0/func_80A3A398.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elfgrp/func_80A3A398.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elfgrp_0x80A396B0/func_80A3A484.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elfgrp/func_80A3A484.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elfgrp_0x80A396B0/func_80A3A4AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elfgrp/func_80A3A4AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elfgrp_0x80A396B0/func_80A3A520.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elfgrp/func_80A3A520.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elfgrp_0x80A396B0/func_80A3A600.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elfgrp/func_80A3A600.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elfgrp_0x80A396B0/func_80A3A610.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elfgrp/func_80A3A610.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elfgrp_0x80A396B0/func_80A3A6F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elfgrp/func_80A3A6F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elfgrp_0x80A396B0/func_80A3A77C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elfgrp/func_80A3A77C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elfgrp_0x80A396B0/func_80A3A7FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elfgrp/func_80A3A7FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elfgrp_0x80A396B0/func_80A3A8F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elfgrp/func_80A3A8F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elfgrp_0x80A396B0/EnElfgrp_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elfgrp/EnElfgrp_Update.s") diff --git a/src/overlays/actors/ovl_En_Elfgrp/z_en_elfgrp.h b/src/overlays/actors/ovl_En_Elfgrp/z_en_elfgrp.h index 396e4c3e88..cddcc13236 100644 --- a/src/overlays/actors/ovl_En_Elfgrp/z_en_elfgrp.h +++ b/src/overlays/actors/ovl_En_Elfgrp/z_en_elfgrp.h @@ -1,13 +1,16 @@ #ifndef Z_EN_ELFGRP_H #define Z_EN_ELFGRP_H -#include +#include "global.h" struct EnElfgrp; +typedef void (*EnElfgrpActionFunc)(struct EnElfgrp* this, GlobalContext* globalCtx); + typedef struct EnElfgrp { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0xC]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x8]; + /* 0x014C */ EnElfgrpActionFunc actionFunc; } EnElfgrp; // size = 0x150 extern const ActorInit En_Elfgrp_InitVars; diff --git a/src/overlays/actors/ovl_En_Elforg/z_en_elforg.c b/src/overlays/actors/ovl_En_Elforg/z_en_elforg.c index 25c4fcc02e..2302e1ccac 100644 --- a/src/overlays/actors/ovl_En_Elforg/z_en_elforg.c +++ b/src/overlays/actors/ovl_En_Elforg/z_en_elforg.c @@ -22,7 +22,6 @@ const ActorInit En_Elforg_InitVars = { (ActorFunc)EnElforg_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80ACDA30 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_PLAYER, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,56 +29,56 @@ static ColliderCylinderInit D_80ACDA30 = { { 16, 32, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80ACDA30; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elforg_0x80ACC470/func_80ACC470.asm") +extern ColliderCylinderInit D_80ACDA30; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elforg_0x80ACC470/EnElforg_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elforg/func_80ACC470.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elforg_0x80ACC470/EnElforg_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elforg/EnElforg_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elforg_0x80ACC470/func_80ACC7E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elforg/EnElforg_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elforg_0x80ACC470/func_80ACC8D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elforg/func_80ACC7E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elforg_0x80ACC470/func_80ACC934.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elforg/func_80ACC8D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elforg_0x80ACC470/func_80ACC994.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elforg/func_80ACC934.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elforg_0x80ACC470/func_80ACCAC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elforg/func_80ACC994.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elforg_0x80ACC470/func_80ACCBB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elforg/func_80ACCAC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elforg_0x80ACC470/func_80ACCBD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elforg/func_80ACCBB8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elforg_0x80ACC470/func_80ACCC98.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elforg/func_80ACCBD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elforg_0x80ACC470/func_80ACCE4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elforg/func_80ACCC98.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elforg_0x80ACC470/func_80ACCEB0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elforg/func_80ACCE4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elforg_0x80ACC470/func_80ACD088.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elforg/func_80ACCEB0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elforg_0x80ACC470/func_80ACD164.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elforg/func_80ACD088.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elforg_0x80ACC470/func_80ACD1B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elforg/func_80ACD164.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elforg_0x80ACC470/func_80ACD1F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elforg/func_80ACD1B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elforg_0x80ACC470/func_80ACD2E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elforg/func_80ACD1F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elforg_0x80ACC470/func_80ACD59C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elforg/func_80ACD2E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elforg_0x80ACC470/func_80ACD610.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elforg/func_80ACD59C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elforg_0x80ACC470/func_80ACD6A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elforg/func_80ACD610.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elforg_0x80ACC470/func_80ACD6EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elforg/func_80ACD6A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elforg_0x80ACC470/EnElforg_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elforg/func_80ACD6EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elforg_0x80ACC470/func_80ACD878.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elforg/EnElforg_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Elforg_0x80ACC470/EnElforg_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elforg/func_80ACD878.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Elforg/EnElforg_Draw.s") diff --git a/src/overlays/actors/ovl_En_Elforg/z_en_elforg.h b/src/overlays/actors/ovl_En_Elforg/z_en_elforg.h index 07fa10765a..afc299ef86 100644 --- a/src/overlays/actors/ovl_En_Elforg/z_en_elforg.h +++ b/src/overlays/actors/ovl_En_Elforg/z_en_elforg.h @@ -1,13 +1,16 @@ #ifndef Z_EN_ELFORG_H #define Z_EN_ELFORG_H -#include +#include "global.h" struct EnElforg; +typedef void (*EnElforgActionFunc)(struct EnElforg* this, GlobalContext* globalCtx); + typedef struct EnElforg { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0xEC]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0xE8]; + /* 0x022C */ EnElforgActionFunc actionFunc; } EnElforg; // size = 0x230 extern const ActorInit En_Elforg_InitVars; diff --git a/src/overlays/actors/ovl_En_Encount1/z_en_encount1.c b/src/overlays/actors/ovl_En_Encount1/z_en_encount1.c index faf1660a0e..3d8c9161c7 100644 --- a/src/overlays/actors/ovl_En_Encount1/z_en_encount1.c +++ b/src/overlays/actors/ovl_En_Encount1/z_en_encount1.c @@ -7,6 +7,8 @@ void EnEncount1_Init(Actor* thisx, GlobalContext* globalCtx); void EnEncount1_Update(Actor* thisx, GlobalContext* globalCtx); +void func_808E0954(EnEncount1* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Encount1_InitVars = { ACTOR_EN_ENCOUNT1, @@ -22,8 +24,8 @@ const ActorInit En_Encount1_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Encount1_0x808E0830/EnEncount1_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Encount1/EnEncount1_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Encount1_0x808E0830/func_808E0954.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Encount1/func_808E0954.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Encount1_0x808E0830/EnEncount1_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Encount1/EnEncount1_Update.s") diff --git a/src/overlays/actors/ovl_En_Encount1/z_en_encount1.h b/src/overlays/actors/ovl_En_Encount1/z_en_encount1.h index 51d6d2310a..cc1b499c7d 100644 --- a/src/overlays/actors/ovl_En_Encount1/z_en_encount1.h +++ b/src/overlays/actors/ovl_En_Encount1/z_en_encount1.h @@ -1,13 +1,16 @@ #ifndef Z_EN_ENCOUNT1_H #define Z_EN_ENCOUNT1_H -#include +#include "global.h" struct EnEncount1; +typedef void (*EnEncount1ActionFunc)(struct EnEncount1* this, GlobalContext* globalCtx); + typedef struct EnEncount1 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x20]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ EnEncount1ActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x1C]; } EnEncount1; // size = 0x164 extern const ActorInit En_Encount1_InitVars; diff --git a/src/overlays/actors/ovl_En_Encount2/z_en_encount2.c b/src/overlays/actors/ovl_En_Encount2/z_en_encount2.c index 3bbf965961..81a89ecf29 100644 --- a/src/overlays/actors/ovl_En_Encount2/z_en_encount2.c +++ b/src/overlays/actors/ovl_En_Encount2/z_en_encount2.c @@ -91,6 +91,10 @@ static DamageTable sDamageTable = { /* Powder Keg */ DMG_ENTRY(0, 0xF), }; +extern Gfx D_06000A00[]; +extern Gfx D_06000D78[]; +extern CollisionHeader D_06002420; + void EnEncount2_Init(Actor* thisx, GlobalContext* globalCtx) { EnEncount2* this = THIS; s32 pad; @@ -274,4 +278,4 @@ void EnEncount2_UpdateParticles(EnEncount2* this, GlobalContext* globalCtx) { } } -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Encount2_0x808E1560/EnEncount2_DrawParticles.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Encount2/EnEncount2_DrawParticles.s") diff --git a/src/overlays/actors/ovl_En_Encount2/z_en_encount2.h b/src/overlays/actors/ovl_En_Encount2/z_en_encount2.h index f211f2d231..f2ce8832f0 100644 --- a/src/overlays/actors/ovl_En_Encount2/z_en_encount2.h +++ b/src/overlays/actors/ovl_En_Encount2/z_en_encount2.h @@ -1,7 +1,7 @@ #ifndef Z_EN_ENCOUNT2_H #define Z_EN_ENCOUNT2_H -#include +#include "global.h" struct EnEncount2; @@ -16,7 +16,6 @@ typedef struct EnEncount2Particle{ /* 0x18 */ Vec3f vel; /* 0x24 */ Vec3f accel; /* 0x30 */ f32 scale; - } EnEncount2Particle; // size = 0x34 typedef struct EnEncount2 { @@ -36,9 +35,4 @@ typedef struct EnEncount2 { extern const ActorInit En_Encount2_InitVars; -extern CollisionHeader D_06002420; - -extern Gfx D_06000A00[]; -extern Gfx D_06000D78[]; - #endif // Z_EN_ENCOUNT2_H diff --git a/src/overlays/actors/ovl_En_Encount3/z_en_encount3.c b/src/overlays/actors/ovl_En_Encount3/z_en_encount3.c index c5636dfc6e..13ba1ea331 100644 --- a/src/overlays/actors/ovl_En_Encount3/z_en_encount3.c +++ b/src/overlays/actors/ovl_En_Encount3/z_en_encount3.c @@ -9,6 +9,10 @@ void EnEncount3_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnEncount3_Update(Actor* thisx, GlobalContext* globalCtx); void EnEncount3_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_809AD084(EnEncount3* this, GlobalContext* globalCtx); +void func_809AD194(EnEncount3* this, GlobalContext* globalCtx); +void func_809AD1EC(EnEncount3* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Encount3_InitVars = { ACTOR_EN_ENCOUNT3, @@ -24,18 +28,20 @@ const ActorInit En_Encount3_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Encount3_0x809ACF40/EnEncount3_Init.asm") +extern UNK_TYPE D_060009A0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Encount3_0x809ACF40/EnEncount3_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Encount3/EnEncount3_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Encount3_0x809ACF40/func_809AD058.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Encount3/EnEncount3_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Encount3_0x809ACF40/func_809AD084.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Encount3/func_809AD058.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Encount3_0x809ACF40/func_809AD194.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Encount3/func_809AD084.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Encount3_0x809ACF40/func_809AD1EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Encount3/func_809AD194.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Encount3_0x809ACF40/EnEncount3_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Encount3/func_809AD1EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Encount3_0x809ACF40/EnEncount3_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Encount3/EnEncount3_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Encount3/EnEncount3_Draw.s") diff --git a/src/overlays/actors/ovl_En_Encount3/z_en_encount3.h b/src/overlays/actors/ovl_En_Encount3/z_en_encount3.h index 236375f1c3..ce872df6bf 100644 --- a/src/overlays/actors/ovl_En_Encount3/z_en_encount3.h +++ b/src/overlays/actors/ovl_En_Encount3/z_en_encount3.h @@ -1,13 +1,16 @@ #ifndef Z_EN_ENCOUNT3_H #define Z_EN_ENCOUNT3_H -#include +#include "global.h" struct EnEncount3; +typedef void (*EnEncount3ActionFunc)(struct EnEncount3* this, GlobalContext* globalCtx); + typedef struct EnEncount3 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x88]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ EnEncount3ActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x84]; } EnEncount3; // size = 0x1CC extern const ActorInit En_Encount3_InitVars; diff --git a/src/overlays/actors/ovl_En_Encount4/z_en_encount4.c b/src/overlays/actors/ovl_En_Encount4/z_en_encount4.c index 1e5c078dd3..99c17f7c0d 100644 --- a/src/overlays/actors/ovl_En_Encount4/z_en_encount4.c +++ b/src/overlays/actors/ovl_En_Encount4/z_en_encount4.c @@ -8,6 +8,12 @@ void EnEncount4_Init(Actor* thisx, GlobalContext* globalCtx); void EnEncount4_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnEncount4_Update(Actor* thisx, GlobalContext* globalCtx); +void func_809C3FD8(EnEncount4* this, GlobalContext* globalCtx); +void func_809C4078(EnEncount4* this, GlobalContext* globalCtx); +void func_809C42A8(EnEncount4* this, GlobalContext* globalCtx); +void func_809C4598(EnEncount4* this, GlobalContext* globalCtx); +void func_809C464C(EnEncount4* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Encount4_InitVars = { ACTOR_EN_ENCOUNT4, @@ -23,18 +29,18 @@ const ActorInit En_Encount4_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Encount4_0x809C3F30/EnEncount4_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Encount4/EnEncount4_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Encount4_0x809C3F30/EnEncount4_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Encount4/EnEncount4_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Encount4_0x809C3F30/func_809C3FD8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Encount4/func_809C3FD8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Encount4_0x809C3F30/func_809C4078.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Encount4/func_809C4078.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Encount4_0x809C3F30/func_809C42A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Encount4/func_809C42A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Encount4_0x809C3F30/func_809C4598.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Encount4/func_809C4598.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Encount4_0x809C3F30/func_809C464C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Encount4/func_809C464C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Encount4_0x809C3F30/EnEncount4_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Encount4/EnEncount4_Update.s") diff --git a/src/overlays/actors/ovl_En_Encount4/z_en_encount4.h b/src/overlays/actors/ovl_En_Encount4/z_en_encount4.h index da8890c995..5e9b743e2b 100644 --- a/src/overlays/actors/ovl_En_Encount4/z_en_encount4.h +++ b/src/overlays/actors/ovl_En_Encount4/z_en_encount4.h @@ -1,13 +1,16 @@ #ifndef Z_EN_ENCOUNT4_H #define Z_EN_ENCOUNT4_H -#include +#include "global.h" struct EnEncount4; +typedef void (*EnEncount4ActionFunc)(struct EnEncount4* this, GlobalContext* globalCtx); + typedef struct EnEncount4 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x14]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ EnEncount4ActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x10]; } EnEncount4; // size = 0x158 extern const ActorInit En_Encount4_InitVars; diff --git a/src/overlays/actors/ovl_En_Ending_Hero/z_en_ending_hero.h b/src/overlays/actors/ovl_En_Ending_Hero/z_en_ending_hero.h index 750360190d..bd81f7e061 100644 --- a/src/overlays/actors/ovl_En_Ending_Hero/z_en_ending_hero.h +++ b/src/overlays/actors/ovl_En_Ending_Hero/z_en_ending_hero.h @@ -1,7 +1,7 @@ #ifndef Z_EN_ENDING_HERO_H #define Z_EN_ENDING_HERO_H -#include +#include "global.h" struct EnEndingHero; diff --git a/src/overlays/actors/ovl_En_Ending_Hero2/z_en_ending_hero2.h b/src/overlays/actors/ovl_En_Ending_Hero2/z_en_ending_hero2.h index 017886f408..99f57ab6af 100644 --- a/src/overlays/actors/ovl_En_Ending_Hero2/z_en_ending_hero2.h +++ b/src/overlays/actors/ovl_En_Ending_Hero2/z_en_ending_hero2.h @@ -1,7 +1,7 @@ #ifndef Z_EN_ENDING_HERO2_H #define Z_EN_ENDING_HERO2_H -#include +#include "global.h" struct EnEndingHero2; diff --git a/src/overlays/actors/ovl_En_Ending_Hero3/z_en_ending_hero3.h b/src/overlays/actors/ovl_En_Ending_Hero3/z_en_ending_hero3.h index 8fb9aa3fb2..fc5bb9c0f4 100644 --- a/src/overlays/actors/ovl_En_Ending_Hero3/z_en_ending_hero3.h +++ b/src/overlays/actors/ovl_En_Ending_Hero3/z_en_ending_hero3.h @@ -1,7 +1,7 @@ #ifndef Z_EN_ENDING_HERO3_H #define Z_EN_ENDING_HERO3_H -#include +#include "global.h" struct EnEndingHero3; diff --git a/src/overlays/actors/ovl_En_Ending_Hero4/z_en_ending_hero4.h b/src/overlays/actors/ovl_En_Ending_Hero4/z_en_ending_hero4.h index 77365bb7f6..048757932e 100644 --- a/src/overlays/actors/ovl_En_Ending_Hero4/z_en_ending_hero4.h +++ b/src/overlays/actors/ovl_En_Ending_Hero4/z_en_ending_hero4.h @@ -1,7 +1,7 @@ #ifndef Z_EN_ENDING_HERO4_H #define Z_EN_ENDING_HERO4_H -#include +#include "global.h" struct EnEndingHero4; diff --git a/src/overlays/actors/ovl_En_Ending_Hero5/z_en_ending_hero5.h b/src/overlays/actors/ovl_En_Ending_Hero5/z_en_ending_hero5.h index 914c73622d..a630b56f4c 100644 --- a/src/overlays/actors/ovl_En_Ending_Hero5/z_en_ending_hero5.h +++ b/src/overlays/actors/ovl_En_Ending_Hero5/z_en_ending_hero5.h @@ -1,7 +1,7 @@ #ifndef Z_EN_ENDING_HERO5_H #define Z_EN_ENDING_HERO5_H -#include +#include "global.h" struct EnEndingHero5; diff --git a/src/overlays/actors/ovl_En_Ending_Hero6/z_en_ending_hero6.c b/src/overlays/actors/ovl_En_Ending_Hero6/z_en_ending_hero6.c index 51babbbc3e..048e4c7a28 100644 --- a/src/overlays/actors/ovl_En_Ending_Hero6/z_en_ending_hero6.c +++ b/src/overlays/actors/ovl_En_Ending_Hero6/z_en_ending_hero6.c @@ -9,6 +9,8 @@ void EnEndingHero6_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnEndingHero6_Update(Actor* thisx, GlobalContext* globalCtx); void EnEndingHero6_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80C23E18(EnEndingHero6* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Ending_Hero6_InitVars = { ACTOR_EN_ENDING_HERO6, @@ -24,18 +26,18 @@ const ActorInit En_Ending_Hero6_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ending_Hero6_0x80C23C90/EnEndingHero6_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ending_Hero6/EnEndingHero6_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ending_Hero6_0x80C23C90/EnEndingHero6_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ending_Hero6/EnEndingHero6_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ending_Hero6_0x80C23C90/func_80C23D60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ending_Hero6/func_80C23D60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ending_Hero6_0x80C23C90/func_80C23DDC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ending_Hero6/func_80C23DDC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ending_Hero6_0x80C23C90/func_80C23E18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ending_Hero6/func_80C23E18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ending_Hero6_0x80C23C90/EnEndingHero6_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ending_Hero6/EnEndingHero6_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ending_Hero6_0x80C23C90/func_80C23F14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ending_Hero6/func_80C23F14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ending_Hero6_0x80C23C90/EnEndingHero6_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ending_Hero6/EnEndingHero6_Draw.s") diff --git a/src/overlays/actors/ovl_En_Ending_Hero6/z_en_ending_hero6.h b/src/overlays/actors/ovl_En_Ending_Hero6/z_en_ending_hero6.h index ad08569424..541a43f210 100644 --- a/src/overlays/actors/ovl_En_Ending_Hero6/z_en_ending_hero6.h +++ b/src/overlays/actors/ovl_En_Ending_Hero6/z_en_ending_hero6.h @@ -1,13 +1,17 @@ #ifndef Z_EN_ENDING_HERO6_H #define Z_EN_ENDING_HERO6_H -#include +#include "global.h" struct EnEndingHero6; +typedef void (*EnEndingHero6ActionFunc)(struct EnEndingHero6* this, GlobalContext* globalCtx); + typedef struct EnEndingHero6 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x150]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x134]; + /* 0x0278 */ EnEndingHero6ActionFunc actionFunc; + /* 0x027C */ char unk_27C[0x18]; } EnEndingHero6; // size = 0x294 extern const ActorInit En_Ending_Hero6_InitVars; diff --git a/src/overlays/actors/ovl_En_Estone/z_en_estone.c b/src/overlays/actors/ovl_En_Estone/z_en_estone.c index 3cf50264f5..a3cd6bd21e 100644 --- a/src/overlays/actors/ovl_En_Estone/z_en_estone.c +++ b/src/overlays/actors/ovl_En_Estone/z_en_estone.c @@ -9,6 +9,9 @@ void EnEstone_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnEstone_Update(Actor* thisx, GlobalContext* globalCtx); void EnEstone_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80A9A1DC(EnEstone* this, GlobalContext* globalCtx); +void func_80A9A4B0(EnEstone* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Estone_InitVars = { ACTOR_EN_ESTONE, @@ -22,7 +25,6 @@ const ActorInit En_Estone_InitVars = { (ActorFunc)EnEstone_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80A9AB70 = { { COLTYPE_HARD, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_TYPE_PLAYER, OC1_NONE, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -30,24 +32,26 @@ static ColliderCylinderInit D_80A9AB70 = { { 30, 30, -10, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80A9AB70; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Estone_0x80A99EA0/EnEstone_Init.asm") +extern ColliderCylinderInit D_80A9AB70; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Estone_0x80A99EA0/EnEstone_Destroy.asm") +extern UNK_TYPE D_06010240; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Estone_0x80A99EA0/func_80A9A1DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Estone/EnEstone_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Estone_0x80A99EA0/func_80A9A4B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Estone/EnEstone_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Estone_0x80A99EA0/EnEstone_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Estone/func_80A9A1DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Estone_0x80A99EA0/EnEstone_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Estone/func_80A9A4B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Estone_0x80A99EA0/func_80A9A774.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Estone/EnEstone_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Estone_0x80A99EA0/func_80A9A870.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Estone/EnEstone_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Estone_0x80A99EA0/func_80A9A9C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Estone/func_80A9A774.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Estone/func_80A9A870.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Estone/func_80A9A9C0.s") diff --git a/src/overlays/actors/ovl_En_Estone/z_en_estone.h b/src/overlays/actors/ovl_En_Estone/z_en_estone.h index 2afbb99a42..cdf6e0a9e1 100644 --- a/src/overlays/actors/ovl_En_Estone/z_en_estone.h +++ b/src/overlays/actors/ovl_En_Estone/z_en_estone.h @@ -1,13 +1,16 @@ #ifndef Z_EN_ESTONE_H #define Z_EN_ESTONE_H -#include +#include "global.h" struct EnEstone; +typedef void (*EnEstoneActionFunc)(struct EnEstone* this, GlobalContext* globalCtx); + typedef struct EnEstone { /* 0x0000 */ Actor actor; - /* 0x0144 */ char unk_0144[0x2C30]; + /* 0x0144 */ EnEstoneActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x2C2C]; } EnEstone; // size = 0x2D74 extern const ActorInit En_Estone_InitVars; diff --git a/src/overlays/actors/ovl_En_Fall/z_en_fall.c b/src/overlays/actors/ovl_En_Fall/z_en_fall.c index 31b5a2b446..f56948dede 100644 --- a/src/overlays/actors/ovl_En_Fall/z_en_fall.c +++ b/src/overlays/actors/ovl_En_Fall/z_en_fall.c @@ -8,6 +8,15 @@ void EnFall_Init(Actor* thisx, GlobalContext* globalCtx); void EnFall_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnFall_Update(Actor* thisx, GlobalContext* globalCtx); +void func_80A6C3FC(EnFall* this, GlobalContext* globalCtx); +void func_80A6C9A8(EnFall* this, GlobalContext* globalCtx); +void func_80A6CA9C(EnFall* this, GlobalContext* globalCtx); +void func_80A6CB74(EnFall* this, GlobalContext* globalCtx); +void func_80A6CD38(EnFall* this, GlobalContext* globalCtx); +void func_80A6CD74(EnFall* this, GlobalContext* globalCtx); +void func_80A6CF60(EnFall* this, GlobalContext* globalCtx); +void func_80A6CF70(EnFall* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Fall_InitVars = { ACTOR_EN_FALL, @@ -23,64 +32,73 @@ const ActorInit En_Fall_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fall_0x80A6BF90/func_80A6BF90.asm") +extern UNK_TYPE D_06000198; +extern UNK_TYPE D_060004C0; +extern UNK_TYPE D_060010E0; +extern UNK_TYPE D_060011D0; +extern UNK_TYPE D_06001220; +extern UNK_TYPE D_06002970; +extern UNK_TYPE D_06004E38; +extern UNK_TYPE D_060077F0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fall_0x80A6BF90/func_80A6C1DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fall/func_80A6BF90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fall_0x80A6BF90/EnFall_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fall/func_80A6C1DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fall_0x80A6BF90/EnFall_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fall/EnFall_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fall_0x80A6BF90/func_80A6C3AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fall/EnFall_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fall_0x80A6BF90/func_80A6C3FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fall/func_80A6C3AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fall_0x80A6BF90/func_80A6C7C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fall/func_80A6C3FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fall_0x80A6BF90/func_80A6C9A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fall/func_80A6C7C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fall_0x80A6BF90/func_80A6CA9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fall/func_80A6C9A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fall_0x80A6BF90/func_80A6CB74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fall/func_80A6CA9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fall_0x80A6BF90/func_80A6CD38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fall/func_80A6CB74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fall_0x80A6BF90/func_80A6CD74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fall/func_80A6CD38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fall_0x80A6BF90/func_80A6CECC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fall/func_80A6CD74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fall_0x80A6BF90/func_80A6CF60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fall/func_80A6CECC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fall_0x80A6BF90/func_80A6CF70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fall/func_80A6CF60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fall_0x80A6BF90/EnFall_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fall/func_80A6CF70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fall_0x80A6BF90/func_80A6D100.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fall/EnFall_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fall_0x80A6BF90/func_80A6D220.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fall/func_80A6D100.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fall_0x80A6BF90/func_80A6D444.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fall/func_80A6D220.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fall_0x80A6BF90/func_80A6D504.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fall/func_80A6D444.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fall_0x80A6BF90/func_80A6D698.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fall/func_80A6D504.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fall_0x80A6BF90/func_80A6D75C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fall/func_80A6D698.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fall_0x80A6BF90/func_80A6D88C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fall/func_80A6D75C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fall_0x80A6BF90/func_80A6D98C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fall/func_80A6D88C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fall_0x80A6BF90/func_80A6DA7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fall/func_80A6D98C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fall_0x80A6BF90/func_80A6DC20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fall/func_80A6DA7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fall_0x80A6BF90/func_80A6DC40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fall/func_80A6DC20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fall_0x80A6BF90/func_80A6DD3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fall/func_80A6DC40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fall_0x80A6BF90/func_80A6E07C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fall/func_80A6DD3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fall_0x80A6BF90/func_80A6E214.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fall/func_80A6E07C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fall_0x80A6BF90/func_80A6E37C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fall/func_80A6E214.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fall/func_80A6E37C.s") diff --git a/src/overlays/actors/ovl_En_Fall/z_en_fall.h b/src/overlays/actors/ovl_En_Fall/z_en_fall.h index c0983f1b2f..3bbac8c260 100644 --- a/src/overlays/actors/ovl_En_Fall/z_en_fall.h +++ b/src/overlays/actors/ovl_En_Fall/z_en_fall.h @@ -1,13 +1,16 @@ #ifndef Z_EN_FALL_H #define Z_EN_FALL_H -#include +#include "global.h" struct EnFall; +typedef void (*EnFallActionFunc)(struct EnFall* this, GlobalContext* globalCtx); + typedef struct EnFall { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x20]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x1C]; + /* 0x0160 */ EnFallActionFunc actionFunc; } EnFall; // size = 0x164 extern const ActorInit En_Fall_InitVars; diff --git a/src/overlays/actors/ovl_En_Fall2/z_en_fall2.c b/src/overlays/actors/ovl_En_Fall2/z_en_fall2.c index 6914a8ee3c..48514fd825 100644 --- a/src/overlays/actors/ovl_En_Fall2/z_en_fall2.c +++ b/src/overlays/actors/ovl_En_Fall2/z_en_fall2.c @@ -24,20 +24,24 @@ const ActorInit En_Fall2_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fall2_0x80C1B640/EnFall2_Init.asm") +extern UNK_TYPE D_06005EF4; +extern UNK_TYPE D_06005F10; +extern UNK_TYPE D_06008840; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fall2_0x80C1B640/EnFall2_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fall2/EnFall2_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fall2_0x80C1B640/func_80C1B724.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fall2/EnFall2_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fall2_0x80C1B640/func_80C1B8A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fall2/func_80C1B724.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fall2_0x80C1B640/func_80C1B8B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fall2/func_80C1B8A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fall2_0x80C1B640/func_80C1B8F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fall2/func_80C1B8B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fall2_0x80C1B640/func_80C1B9D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fall2/func_80C1B8F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fall2_0x80C1B640/EnFall2_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fall2/func_80C1B9D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fall2_0x80C1B640/EnFall2_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fall2/EnFall2_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fall2/EnFall2_Draw.s") diff --git a/src/overlays/actors/ovl_En_Fall2/z_en_fall2.h b/src/overlays/actors/ovl_En_Fall2/z_en_fall2.h index a94ce6567b..5862527fb8 100644 --- a/src/overlays/actors/ovl_En_Fall2/z_en_fall2.h +++ b/src/overlays/actors/ovl_En_Fall2/z_en_fall2.h @@ -1,13 +1,16 @@ #ifndef Z_EN_FALL2_H #define Z_EN_FALL2_H -#include +#include "global.h" struct EnFall2; +typedef void (*EnFall2ActionFunc)(struct EnFall2* this, GlobalContext* globalCtx); + typedef struct EnFall2 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x1A8]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x1A4]; + /* 0x02E8 */ EnFall2ActionFunc actionFunc; } EnFall2; // size = 0x2EC extern const ActorInit En_Fall2_InitVars; diff --git a/src/overlays/actors/ovl_En_Famos/z_en_famos.c b/src/overlays/actors/ovl_En_Famos/z_en_famos.c index 4215c741fb..6636923a46 100644 --- a/src/overlays/actors/ovl_En_Famos/z_en_famos.c +++ b/src/overlays/actors/ovl_En_Famos/z_en_famos.c @@ -22,7 +22,6 @@ const ActorInit En_Famos_InitVars = { (ActorFunc)EnFamos_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_808AE600 = { { COLTYPE_METAL, AT_NONE | AT_TYPE_ENEMY, AC_ON | AC_HARD | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,7 +29,6 @@ static ColliderCylinderInit D_808AE600 = { { 20, 80, 0, { 0, 0, 0 } }, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_808AE62C = { { COLTYPE_NONE, AT_NONE | AT_TYPE_ENEMY, AC_NONE, OC1_NONE, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -38,7 +36,6 @@ static ColliderCylinderInit D_808AE62C = { { 70, 10, 0, { 0, 0, 0 } }, }; - // static ColliderJntSphElementInit sJntSphElementsInit[2] = { static ColliderJntSphElementInit D_808AE658[2] = { { @@ -57,99 +54,101 @@ static ColliderJntSphInit D_808AE6A0 = { 2, D_808AE658, // sJntSphElementsInit, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_808AE6B8[] = { ICHAIN_S8(hintId, 15, ICHAIN_CONTINUE), ICHAIN_F32(targetArrowOffset, 3500, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_808AE600; extern ColliderCylinderInit D_808AE62C; extern ColliderJntSphElementInit D_808AE658[2]; extern ColliderJntSphInit D_808AE6A0; extern InitChainEntry D_808AE6B8[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Famos_0x808AC920/EnFamos_Init.asm") +extern UNK_TYPE D_060000F8; +extern UNK_TYPE D_06003DC8; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Famos_0x808AC920/EnFamos_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Famos/EnFamos_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Famos_0x808AC920/func_808ACB58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Famos/EnFamos_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Famos_0x808AC920/func_808ACD2C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Famos/func_808ACB58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Famos_0x808AC920/func_808ACF1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Famos/func_808ACD2C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Famos_0x808AC920/func_808ACF98.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Famos/func_808ACF1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Famos_0x808AC920/func_808AD05C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Famos/func_808ACF98.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Famos_0x808AC920/func_808AD170.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Famos/func_808AD05C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Famos_0x808AC920/func_808AD18C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Famos/func_808AD170.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Famos_0x808AC920/func_808AD1F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Famos/func_808AD18C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Famos_0x808AC920/func_808AD294.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Famos/func_808AD1F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Famos_0x808AC920/func_808AD31C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Famos/func_808AD294.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Famos_0x808AC920/func_808AD378.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Famos/func_808AD31C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Famos_0x808AC920/func_808AD3E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Famos/func_808AD378.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Famos_0x808AC920/func_808AD42C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Famos/func_808AD3E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Famos_0x808AC920/func_808AD54C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Famos/func_808AD42C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Famos_0x808AC920/func_808AD5B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Famos/func_808AD54C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Famos_0x808AC920/func_808AD66C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Famos/func_808AD5B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Famos_0x808AC920/func_808AD68C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Famos/func_808AD66C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Famos_0x808AC920/func_808AD7EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Famos/func_808AD68C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Famos_0x808AC920/func_808AD840.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Famos/func_808AD7EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Famos_0x808AC920/func_808AD888.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Famos/func_808AD840.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Famos_0x808AC920/func_808AD8B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Famos/func_808AD888.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Famos_0x808AC920/func_808ADA74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Famos/func_808AD8B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Famos_0x808AC920/func_808ADAE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Famos/func_808ADA74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Famos_0x808AC920/func_808ADB4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Famos/func_808ADAE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Famos_0x808AC920/func_808ADB70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Famos/func_808ADB4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Famos_0x808AC920/func_808ADC40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Famos/func_808ADB70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Famos_0x808AC920/func_808ADC64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Famos/func_808ADC40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Famos_0x808AC920/func_808ADD20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Famos/func_808ADC64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Famos_0x808AC920/func_808ADDA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Famos/func_808ADD20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Famos_0x808AC920/func_808ADE00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Famos/func_808ADDA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Famos_0x808AC920/func_808ADE74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Famos/func_808ADE00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Famos_0x808AC920/func_808ADFA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Famos/func_808ADE74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Famos_0x808AC920/func_808ADFF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Famos/func_808ADFA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Famos_0x808AC920/func_808AE030.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Famos/func_808ADFF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Famos_0x808AC920/EnFamos_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Famos/func_808AE030.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Famos_0x808AC920/func_808AE304.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Famos/EnFamos_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Famos_0x808AC920/func_808AE3A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Famos/func_808AE304.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Famos_0x808AC920/func_808AE3FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Famos/func_808AE3A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Famos_0x808AC920/EnFamos_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Famos/func_808AE3FC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Famos/EnFamos_Draw.s") diff --git a/src/overlays/actors/ovl_En_Famos/z_en_famos.h b/src/overlays/actors/ovl_En_Famos/z_en_famos.h index c48eea569b..89e58164c9 100644 --- a/src/overlays/actors/ovl_En_Famos/z_en_famos.h +++ b/src/overlays/actors/ovl_En_Famos/z_en_famos.h @@ -1,13 +1,17 @@ #ifndef Z_EN_FAMOS_H #define Z_EN_FAMOS_H -#include +#include "global.h" struct EnFamos; +typedef void (*EnFamosActionFunc)(struct EnFamos* this, GlobalContext* globalCtx); + typedef struct EnFamos { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x4D0]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x8C]; + /* 0x01D0 */ EnFamosActionFunc actionFunc; + /* 0x01D4 */ char unk_1D4[0x440]; } EnFamos; // size = 0x614 extern const ActorInit En_Famos_InitVars; diff --git a/src/overlays/actors/ovl_En_Fg/z_en_fg.c b/src/overlays/actors/ovl_En_Fg/z_en_fg.c index d6e5fdc0e6..791e31151d 100644 --- a/src/overlays/actors/ovl_En_Fg/z_en_fg.c +++ b/src/overlays/actors/ovl_En_Fg/z_en_fg.c @@ -22,14 +22,6 @@ void EnFg_AddDust(EnFgEffectDust* dustEffect, Vec3f* worldPos); void EnFg_UpdateDust(EnFgEffectDust* dustEffect); void EnFg_DrawDust(GlobalContext* globalCtx, EnFgEffectDust* dustEffect); -extern u64 D_0408DBE0[]; // gDust1Tex -extern u64 D_0408DFE0[]; // gDust2Tex -extern u64 D_0408E3E0[]; // gDust3Tex -extern u64 D_0408E7E0[]; // gDust4Tex -extern u64 D_0408EBE0[]; // gDust5Tex -extern u64 D_0408EFE0[]; // gDust6Tex -extern u64 D_0408F3E0[]; // gDust7Tex -extern u64 D_0408F7E0[]; // gDust8Tex extern AnimationHeader D_06001534; extern AnimationHeader D_060011C0; extern AnimationHeader D_060007BC; diff --git a/src/overlays/actors/ovl_En_Fg/z_en_fg.h b/src/overlays/actors/ovl_En_Fg/z_en_fg.h index b7ecca4841..5f12fca6ed 100644 --- a/src/overlays/actors/ovl_En_Fg/z_en_fg.h +++ b/src/overlays/actors/ovl_En_Fg/z_en_fg.h @@ -1,7 +1,7 @@ #ifndef Z_EN_FG_H #define Z_EN_FG_H -#include +#include "global.h" struct EnFg; diff --git a/src/overlays/actors/ovl_En_Fire_Rock/z_en_fire_rock.h b/src/overlays/actors/ovl_En_Fire_Rock/z_en_fire_rock.h index 637e7bd177..84c437ac10 100644 --- a/src/overlays/actors/ovl_En_Fire_Rock/z_en_fire_rock.h +++ b/src/overlays/actors/ovl_En_Fire_Rock/z_en_fire_rock.h @@ -1,7 +1,7 @@ #ifndef Z_EN_FIRE_ROCK_H #define Z_EN_FIRE_ROCK_H -#include +#include "global.h" struct EnFireRock; diff --git a/src/overlays/actors/ovl_En_Firefly/z_en_firefly.h b/src/overlays/actors/ovl_En_Firefly/z_en_firefly.h index a121d3fd86..a73a7a20dc 100644 --- a/src/overlays/actors/ovl_En_Firefly/z_en_firefly.h +++ b/src/overlays/actors/ovl_En_Firefly/z_en_firefly.h @@ -1,7 +1,7 @@ #ifndef Z_EN_FIREFLY_H #define Z_EN_FIREFLY_H -#include +#include "global.h" struct EnFirefly; diff --git a/src/overlays/actors/ovl_En_Firefly2/z_en_firefly2.h b/src/overlays/actors/ovl_En_Firefly2/z_en_firefly2.h index 515f834716..c60f26ae21 100644 --- a/src/overlays/actors/ovl_En_Firefly2/z_en_firefly2.h +++ b/src/overlays/actors/ovl_En_Firefly2/z_en_firefly2.h @@ -1,7 +1,7 @@ #ifndef Z_EN_FIREFLY2_H #define Z_EN_FIREFLY2_H -#include +#include "global.h" struct EnFirefly2; diff --git a/src/overlays/actors/ovl_En_Fish/z_en_fish.c b/src/overlays/actors/ovl_En_Fish/z_en_fish.c index d185f79444..ab615c304a 100644 --- a/src/overlays/actors/ovl_En_Fish/z_en_fish.c +++ b/src/overlays/actors/ovl_En_Fish/z_en_fish.c @@ -24,7 +24,6 @@ static ColliderJntSphInit D_8091FA84 = { 1, D_8091FA60, // sJntSphElementsInit, }; - const ActorInit En_Fish_InitVars = { ACTOR_EN_FISH, ACTORCAT_ITEMACTION, @@ -37,7 +36,6 @@ const ActorInit En_Fish_InitVars = { (ActorFunc)EnFish_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_8091FAC0[] = { ICHAIN_F32(uncullZoneForward, 720, ICHAIN_CONTINUE), @@ -45,80 +43,80 @@ static InitChainEntry D_8091FAC0[] = { ICHAIN_F32(uncullZoneDownward, 40, ICHAIN_STOP), }; +#endif extern ColliderJntSphElementInit D_8091FA60[1]; extern ColliderJntSphInit D_8091FA84; extern InitChainEntry D_8091FAC0[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish_0x8091D630/func_8091D630.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish/func_8091D630.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish_0x8091D630/func_8091D660.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish/func_8091D660.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish_0x8091D630/func_8091D6C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish/func_8091D6C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish_0x8091D630/func_8091D728.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish/func_8091D728.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish_0x8091D630/func_8091D7C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish/func_8091D7C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish_0x8091D630/func_8091D840.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish/func_8091D840.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish_0x8091D630/func_8091D904.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish/func_8091D904.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish_0x8091D630/func_8091D944.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish/func_8091D944.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish_0x8091D630/func_8091DA14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish/func_8091DA14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish_0x8091D630/EnFish_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish/EnFish_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish_0x8091D630/EnFish_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish/EnFish_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish_0x8091D630/func_8091DD48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish/func_8091DD48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish_0x8091D630/func_8091DDF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish/func_8091DDF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish_0x8091D630/func_8091DEE4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish/func_8091DEE4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish_0x8091D630/func_8091DF68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish/func_8091DF68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish_0x8091D630/func_8091E070.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish/func_8091E070.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish_0x8091D630/func_8091E128.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish/func_8091E128.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish_0x8091D630/func_8091E2E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish/func_8091E2E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish_0x8091D630/func_8091E34C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish/func_8091E34C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish_0x8091D630/func_8091E5EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish/func_8091E5EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish_0x8091D630/func_8091E658.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish/func_8091E658.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish_0x8091D630/func_8091E810.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish/func_8091E810.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish_0x8091D630/func_8091E880.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish/func_8091E880.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish_0x8091D630/func_8091E9A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish/func_8091E9A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish_0x8091D630/func_8091EAF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish/func_8091EAF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish_0x8091D630/func_8091ECF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish/func_8091ECF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish_0x8091D630/func_8091ED70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish/func_8091ED70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish_0x8091D630/func_8091EF30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish/func_8091EF30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish_0x8091D630/func_8091EFE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish/func_8091EFE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish_0x8091D630/func_8091F344.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish/func_8091F344.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish_0x8091D630/func_8091F3BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish/func_8091F3BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish_0x8091D630/func_8091F5A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish/func_8091F5A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish_0x8091D630/func_8091F830.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish/func_8091F830.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish_0x8091D630/EnFish_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish/EnFish_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish_0x8091D630/func_8091F994.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish/func_8091F994.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish_0x8091D630/EnFish_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish/EnFish_Draw.s") diff --git a/src/overlays/actors/ovl_En_Fish/z_en_fish.h b/src/overlays/actors/ovl_En_Fish/z_en_fish.h index 99302f6292..a80fe52ce2 100644 --- a/src/overlays/actors/ovl_En_Fish/z_en_fish.h +++ b/src/overlays/actors/ovl_En_Fish/z_en_fish.h @@ -1,7 +1,7 @@ #ifndef Z_EN_FISH_H #define Z_EN_FISH_H -#include +#include "global.h" struct EnFish; diff --git a/src/overlays/actors/ovl_En_Fish2/z_en_fish2.c b/src/overlays/actors/ovl_En_Fish2/z_en_fish2.c index 5b799bfda4..47e9c2efeb 100644 --- a/src/overlays/actors/ovl_En_Fish2/z_en_fish2.c +++ b/src/overlays/actors/ovl_En_Fish2/z_en_fish2.c @@ -22,7 +22,6 @@ const ActorInit En_Fish2_InitVars = { (ActorFunc)EnFish2_Draw, }; - // static ColliderJntSphElementInit sJntSphElementsInit[2] = { static ColliderJntSphElementInit D_80B2B318[2] = { { @@ -41,75 +40,77 @@ static ColliderJntSphInit D_80B2B360 = { 2, D_80B2B318, // sJntSphElementsInit, }; +#endif extern ColliderJntSphElementInit D_80B2B318[2]; extern ColliderJntSphInit D_80B2B360; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish2_0x80B28370/func_80B28370.asm") +extern UNK_TYPE D_060013AC; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish2_0x80B28370/func_80B28478.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish2/func_80B28370.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish2_0x80B28370/EnFish2_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish2/func_80B28478.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish2_0x80B28370/EnFish2_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish2/EnFish2_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish2_0x80B28370/func_80B287F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish2/EnFish2_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish2_0x80B28370/func_80B288E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish2/func_80B287F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish2_0x80B28370/func_80B2899C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish2/func_80B288E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish2_0x80B28370/func_80B289DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish2/func_80B2899C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish2_0x80B28370/func_80B28B5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish2/func_80B289DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish2_0x80B28370/func_80B28C14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish2/func_80B28B5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish2_0x80B28370/func_80B29128.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish2/func_80B28C14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish2_0x80B28370/func_80B2913C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish2/func_80B29128.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish2_0x80B28370/func_80B29194.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish2/func_80B2913C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish2_0x80B28370/func_80B29250.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish2/func_80B29194.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish2_0x80B28370/func_80B2938C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish2/func_80B29250.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish2_0x80B28370/func_80B293C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish2/func_80B2938C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish2_0x80B28370/func_80B2951C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish2/func_80B293C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish2_0x80B28370/func_80B295A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish2/func_80B2951C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish2_0x80B28370/func_80B29778.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish2/func_80B295A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish2_0x80B28370/func_80B297FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish2/func_80B29778.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish2_0x80B28370/func_80B29E5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish2/func_80B297FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish2_0x80B28370/func_80B29EE4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish2/func_80B29E5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish2_0x80B28370/func_80B2A01C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish2/func_80B29EE4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish2_0x80B28370/func_80B2A094.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish2/func_80B2A01C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish2_0x80B28370/func_80B2A23C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish2/func_80B2A094.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish2_0x80B28370/func_80B2A448.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish2/func_80B2A23C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish2_0x80B28370/func_80B2A498.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish2/func_80B2A448.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish2_0x80B28370/EnFish2_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish2/func_80B2A498.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish2_0x80B28370/func_80B2ABF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish2/EnFish2_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish2_0x80B28370/func_80B2AC20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish2/func_80B2ABF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish2_0x80B28370/EnFish2_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish2/func_80B2AC20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish2_0x80B28370/func_80B2ADB0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish2/EnFish2_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish2_0x80B28370/func_80B2AF80.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish2/func_80B2ADB0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fish2_0x80B28370/func_80B2B180.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish2/func_80B2AF80.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fish2/func_80B2B180.s") diff --git a/src/overlays/actors/ovl_En_Fish2/z_en_fish2.h b/src/overlays/actors/ovl_En_Fish2/z_en_fish2.h index 23083dff26..006c6dcc1a 100644 --- a/src/overlays/actors/ovl_En_Fish2/z_en_fish2.h +++ b/src/overlays/actors/ovl_En_Fish2/z_en_fish2.h @@ -1,13 +1,17 @@ #ifndef Z_EN_FISH2_H #define Z_EN_FISH2_H -#include +#include "global.h" struct EnFish2; +typedef void (*EnFish2ActionFunc)(struct EnFish2* this, GlobalContext* globalCtx); + typedef struct EnFish2 { /* 0x0000 */ Actor actor; - /* 0x0144 */ char unk_0144[0x1ED4]; + /* 0x0144 */ char unk_144[0x164]; + /* 0x02A8 */ EnFish2ActionFunc actionFunc; + /* 0x02AC */ char unk_2AC[0x1D6C]; } EnFish2; // size = 0x2018 extern const ActorInit En_Fish2_InitVars; diff --git a/src/overlays/actors/ovl_En_Fishing/z_en_fishing.c b/src/overlays/actors/ovl_En_Fishing/z_en_fishing.c index 7bf8cc94c5..d1f93bdbc8 100644 --- a/src/overlays/actors/ovl_En_Fishing/z_en_fishing.c +++ b/src/overlays/actors/ovl_En_Fishing/z_en_fishing.c @@ -28,7 +28,6 @@ const ActorInit En_Fishing_InitVars = { (ActorFunc)EnFishing_Draw, }; - // static ColliderJntSphElementInit sJntSphElementsInit[12] = { static ColliderJntSphElementInit D_8090CD58[12] = { { @@ -87,107 +86,119 @@ static ColliderJntSphInit D_8090CF08 = { 12, D_8090CD58, // sJntSphElementsInit, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_8090D4D0[] = { ICHAIN_U8(targetMode, 5, ICHAIN_CONTINUE), ICHAIN_F32(targetArrowOffset, 0, ICHAIN_STOP), }; - -extern ColliderJntSphElementInit D_8090CD58[12] -extern ColliderJntSphInit D_8090CF08 -extern InitChainEntry D_8090D4D0[] #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/func_808FC6C0.asm") +extern ColliderJntSphElementInit D_8090CD58[12]; +extern ColliderJntSphInit D_8090CF08; +extern InitChainEntry D_8090D4D0[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/func_808FC770.asm") +extern UNK_TYPE D_0600007C; +extern UNK_TYPE D_06003230; +extern UNK_TYPE D_0600453C; +extern UNK_TYPE D_060074C8; +extern UNK_TYPE D_06008678; +extern UNK_TYPE D_0600B950; +extern UNK_TYPE D_0600C220; +extern UNK_TYPE D_060113D0; +extern UNK_TYPE D_06012160; +extern UNK_TYPE D_060121F0; +extern UNK_TYPE D_06014030; +extern UNK_TYPE D_060153D0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/func_808FC790.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/func_808FC6C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/func_808FC8B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/func_808FC770.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/func_808FC964.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/func_808FC790.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/func_808FCABC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/func_808FC8B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/func_808FCC0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/func_808FC964.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/func_808FCDBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/func_808FCABC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/func_808FCF60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/func_808FCC0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/func_808FD054.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/func_808FCDBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/EnFishing_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/func_808FCF60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/EnFishing_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/func_808FD054.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/func_808FDCDC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/EnFishing_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/func_808FE3F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/EnFishing_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/func_808FEE1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/func_808FDCDC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/func_808FEF70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/func_808FE3F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/func_808FF064.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/func_808FEE1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/func_808FF5E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/func_808FEF70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/func_808FF750.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/func_808FF064.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/func_808FFC44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/func_808FF5E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/func_808FFF3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/func_808FF750.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/func_80900228.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/func_808FFC44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/func_80900A04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/func_808FFF3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/func_80901480.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/func_80900228.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/func_809033F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/func_80900A04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/func_809036BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/func_80901480.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/func_809038A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/func_809033F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/func_80903C60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/func_809036BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/func_80903E20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/func_809038A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/EnFishing_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/func_80903C60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/func_80908554.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/func_80903E20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/func_80908674.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/EnFishing_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/func_809086B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/func_80908554.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/func_80908734.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/func_80908674.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/EnFishing_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/func_809086B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/func_809089B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/func_80908734.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/func_80908A64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/EnFishing_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/func_80908B4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/func_809089B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/func_80908E08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/func_80908A64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/func_80909234.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/func_80908B4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/func_80909AD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/func_80908E08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/func_80909CC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/func_80909234.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/func_8090AB6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/func_80909AD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/func_8090C884.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/func_80909CC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/func_8090C8BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/func_8090AB6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fishing_0x808FC6C0/func_8090C96C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/func_8090C884.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/func_8090C8BC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fishing/func_8090C96C.s") diff --git a/src/overlays/actors/ovl_En_Floormas/z_en_floormas.c b/src/overlays/actors/ovl_En_Floormas/z_en_floormas.c index 6c2748ef0d..0cf1d64010 100644 --- a/src/overlays/actors/ovl_En_Floormas/z_en_floormas.c +++ b/src/overlays/actors/ovl_En_Floormas/z_en_floormas.c @@ -9,6 +9,29 @@ void EnFloormas_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnFloormas_Update(Actor* thisx, GlobalContext* globalCtx); void EnFloormas_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_808D0B50(EnFloormas* this, GlobalContext* globalCtx); +void func_808D0C58(EnFloormas* this, GlobalContext* globalCtx); +void func_808D0D70(EnFloormas* this, GlobalContext* globalCtx); +void func_808D0F14(EnFloormas* this, GlobalContext* globalCtx); +void func_808D0F80(EnFloormas* this, GlobalContext* globalCtx); +void func_808D11BC(EnFloormas* this, GlobalContext* globalCtx); +void func_808D1458(EnFloormas* this, GlobalContext* globalCtx); +void func_808D1650(EnFloormas* this, GlobalContext* globalCtx); +void func_808D17EC(EnFloormas* this, GlobalContext* globalCtx); +void func_808D1B44(EnFloormas* this, GlobalContext* globalCtx); +void func_808D1C1C(EnFloormas* this, GlobalContext* globalCtx); +void func_808D1D6C(EnFloormas* this, GlobalContext* globalCtx); +void func_808D1F7C(EnFloormas* this, GlobalContext* globalCtx); +void func_808D2040(EnFloormas* this, GlobalContext* globalCtx); +void func_808D22C8(EnFloormas* this, GlobalContext* globalCtx); +void func_808D24F0(EnFloormas* this, GlobalContext* globalCtx); +void func_808D2764(EnFloormas* this, GlobalContext* globalCtx); +void func_808D2AA8(EnFloormas* this, GlobalContext* globalCtx); +void func_808D2AF4(EnFloormas* this, GlobalContext* globalCtx); +void func_808D2C08(EnFloormas* this, GlobalContext* globalCtx); +void func_808D2D30(EnFloormas* this, GlobalContext* globalCtx); +void func_808D2DC0(EnFloormas* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Floormas_InitVars = { ACTOR_EN_FLOORMAS, @@ -22,7 +45,6 @@ const ActorInit En_Floormas_InitVars = { (ActorFunc)EnFloormas_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_808D38A0 = { { COLTYPE_HIT0, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,11 +52,9 @@ static ColliderCylinderInit D_808D38A0 = { { 25, 40, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit D_808D38CC = { 3, 30, 40, 150 }; - // static DamageTable sDamageTable = { static DamageTable D_808D38D4 = { /* Deku Nut */ DMG_ENTRY(0, 0x1), @@ -71,7 +91,6 @@ static DamageTable D_808D38D4 = { /* Powder Keg */ DMG_ENTRY(1, 0x0), }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_808D38F4[] = { ICHAIN_S8(hintId, 49, ICHAIN_CONTINUE), @@ -79,125 +98,137 @@ static InitChainEntry D_808D38F4[] = { ICHAIN_F32_DIV1000(gravity, -1000, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_808D38A0; extern CollisionCheckInfoInit D_808D38CC; extern DamageTable D_808D38D4; extern InitChainEntry D_808D38F4[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/EnFloormas_Init.asm") +extern UNK_TYPE D_06000590; +extern UNK_TYPE D_06000EA4; +extern UNK_TYPE D_060019CC; +extern UNK_TYPE D_06002158; +extern UNK_TYPE D_060039B0; +extern UNK_TYPE D_060041F4; +extern UNK_TYPE D_06008688; +extern UNK_TYPE D_06009244; +extern UNK_TYPE D_06009520; +extern UNK_TYPE D_06009DB0; +extern UNK_TYPE D_0600A054; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/EnFloormas_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/EnFloormas_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D08D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/EnFloormas_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D0908.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D08D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D0930.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D0908.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D09CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D0930.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D0A48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D09CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D0B08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D0A48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D0B50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D0B08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D0C14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D0B50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D0C58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D0C14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D0CE4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D0C58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D0D70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D0CE4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D0ECC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D0D70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D0F14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D0ECC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D0F50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D0F14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D0F80.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D0F50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D108C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D0F80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D11BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D108C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D1380.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D11BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D1458.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D1380.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D14DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D1458.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D161C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D14DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D1650.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D161C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D1740.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D1650.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D17EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D1740.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D19D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D17EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D1B44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D19D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D1BCC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D1B44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D1C1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D1BCC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D1D0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D1C1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D1D6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D1D0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D1ED4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D1D6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D1F7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D1ED4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D1FD4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D1F7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D2040.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D1FD4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D217C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D2040.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D22C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D217C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D2484.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D22C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D24F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D2484.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D2700.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D24F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D2764.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D2700.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D2A20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D2764.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D2AA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D2A20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D2AB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D2AA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D2AF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D2AB8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D2B18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D2AF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D2C08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D2B18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D2CDC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D2C08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D2D30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D2CDC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D2D6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D2D30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D2DC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D2D6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D2E34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D2DC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/EnFloormas_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D2E34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D3488.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/EnFloormas_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D34C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D3488.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/EnFloormas_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D34C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Floormas_0x808D0680/func_808D3754.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/EnFloormas_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Floormas/func_808D3754.s") diff --git a/src/overlays/actors/ovl_En_Floormas/z_en_floormas.h b/src/overlays/actors/ovl_En_Floormas/z_en_floormas.h index 411ee10881..06a23b59a9 100644 --- a/src/overlays/actors/ovl_En_Floormas/z_en_floormas.h +++ b/src/overlays/actors/ovl_En_Floormas/z_en_floormas.h @@ -1,13 +1,17 @@ #ifndef Z_EN_FLOORMAS_H #define Z_EN_FLOORMAS_H -#include +#include "global.h" struct EnFloormas; +typedef void (*EnFloormasActionFunc)(struct EnFloormas* this, GlobalContext* globalCtx); + typedef struct EnFloormas { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x25C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ EnFloormasActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x214]; } EnFloormas; // size = 0x3A0 extern const ActorInit En_Floormas_InitVars; diff --git a/src/overlays/actors/ovl_En_Fr/z_en_fr.c b/src/overlays/actors/ovl_En_Fr/z_en_fr.c index 7289155658..d8293b010d 100644 --- a/src/overlays/actors/ovl_En_Fr/z_en_fr.c +++ b/src/overlays/actors/ovl_En_Fr/z_en_fr.c @@ -23,8 +23,8 @@ const ActorInit En_Fr_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fr_0x808FC550/EnFr_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fr/EnFr_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fr_0x808FC550/EnFr_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fr/EnFr_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fr_0x808FC550/EnFr_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fr/EnFr_Update.s") diff --git a/src/overlays/actors/ovl_En_Fr/z_en_fr.h b/src/overlays/actors/ovl_En_Fr/z_en_fr.h index 8ef7fc87eb..ffc250d39b 100644 --- a/src/overlays/actors/ovl_En_Fr/z_en_fr.h +++ b/src/overlays/actors/ovl_En_Fr/z_en_fr.h @@ -1,7 +1,7 @@ #ifndef Z_EN_FR_H #define Z_EN_FR_H -#include +#include "global.h" struct EnFr; diff --git a/src/overlays/actors/ovl_En_Fsn/z_en_fsn.c b/src/overlays/actors/ovl_En_Fsn/z_en_fsn.c index 34ad934ab2..d3e2471e1b 100644 --- a/src/overlays/actors/ovl_En_Fsn/z_en_fsn.c +++ b/src/overlays/actors/ovl_En_Fsn/z_en_fsn.c @@ -45,9 +45,6 @@ void EnFsn_SelectItem(EnFsn* this, GlobalContext* globalCtx); void EnFsn_LookToShopkeeperFromShelf(EnFsn* this, GlobalContext* globalCtx); void EnFsn_PlayerCannotBuy(EnFsn* this, GlobalContext* globalCtx); -extern UNK_TYPE D_0401F740; -extern UNK_TYPE D_0401F8C0; -extern UNK_TYPE D_0401F7C0; extern AnimationHeader D_06012C34; extern AnimationHeader D_060131FC; extern AnimationHeader D_0600C58C; diff --git a/src/overlays/actors/ovl_En_Fsn/z_en_fsn.h b/src/overlays/actors/ovl_En_Fsn/z_en_fsn.h index 50e546e73e..94d1eed038 100644 --- a/src/overlays/actors/ovl_En_Fsn/z_en_fsn.h +++ b/src/overlays/actors/ovl_En_Fsn/z_en_fsn.h @@ -1,7 +1,7 @@ #ifndef Z_EN_FSN_H #define Z_EN_FSN_H -#include +#include "global.h" #include "overlays/actors/ovl_En_GirlA/z_en_girla.h" #define ENFSN_IS_BACKROOM(thisx) ((thisx)->params & 1) diff --git a/src/overlays/actors/ovl_En_Fu/z_en_fu.c b/src/overlays/actors/ovl_En_Fu/z_en_fu.c index 190479c5b0..99c23126f1 100644 --- a/src/overlays/actors/ovl_En_Fu/z_en_fu.c +++ b/src/overlays/actors/ovl_En_Fu/z_en_fu.c @@ -22,7 +22,6 @@ const ActorInit En_Fu_InitVars = { (ActorFunc)EnFu_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80964BD8 = { { COLTYPE_HIT0, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,116 +29,119 @@ static ColliderCylinderInit D_80964BD8 = { { 20, 50, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80964BD8; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_809616E0.asm") +extern ColliderCylinderInit D_80964BD8; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_809619D0.asm") +extern UNK_TYPE D_06001F74; +extern UNK_TYPE D_0600B0E0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/EnFu_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_809616E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/EnFu_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_809619D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_80961D10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/EnFu_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_80961D7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/EnFu_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_80961E88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_80961D10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_80961EC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_80961D7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_80961F00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_80961E88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_80961F38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_80961EC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_8096209C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_80961F00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_809622FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_80961F38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_80962340.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_8096209C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_80962588.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_809622FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_80962660.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_80962340.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_809628BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_80962588.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_809628D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_80962660.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_809629F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_809628BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_80962A10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_809628D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_80962BA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_809629F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_80962BCC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_80962A10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_80962D48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_80962BA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_80962D60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_80962BCC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_80962EBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_80962D48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_80962F10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_80962D60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_80962F4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_80962EBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_80963258.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_80962F10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_8096326C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_80962F4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_809632D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_80963258.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_80963350.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_8096326C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_80963540.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_809632D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_80963560.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_80963350.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_80963610.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_80963540.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_80963630.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_80963560.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_80963810.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_80963610.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_809638F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_80963630.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_809639D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_80963810.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_80963DE4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_809638F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_80963EAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_809639D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_80963F44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_80963DE4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_80963F88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_80963EAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_80963FF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_80963F44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_80964034.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_80963F88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_809640D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_80963FF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_8096413C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_80964034.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_80964190.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_809640D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_8096426C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_8096413C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_809642E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_80964190.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/EnFu_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_8096426C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_809643FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_809642E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_8096450C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/EnFu_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/EnFu_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_809643FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_80964694.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_8096450C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_809647EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/EnFu_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_0x809616E0/func_80964950.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_80964694.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_809647EC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu/func_80964950.s") diff --git a/src/overlays/actors/ovl_En_Fu/z_en_fu.h b/src/overlays/actors/ovl_En_Fu/z_en_fu.h index 1138ce55e4..597767f48a 100644 --- a/src/overlays/actors/ovl_En_Fu/z_en_fu.h +++ b/src/overlays/actors/ovl_En_Fu/z_en_fu.h @@ -1,13 +1,17 @@ #ifndef Z_EN_FU_H #define Z_EN_FU_H -#include +#include "global.h" struct EnFu; +typedef void (*EnFuActionFunc)(struct EnFu* this, GlobalContext* globalCtx); + typedef struct EnFu { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x410]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x90]; + /* 0x01D4 */ EnFuActionFunc actionFunc; + /* 0x01D8 */ char unk_1D8[0x37C]; } EnFu; // size = 0x554 extern const ActorInit En_Fu_InitVars; diff --git a/src/overlays/actors/ovl_En_Fu_Kago/z_en_fu_kago.c b/src/overlays/actors/ovl_En_Fu_Kago/z_en_fu_kago.c index 2e616205fc..ed55f10557 100644 --- a/src/overlays/actors/ovl_En_Fu_Kago/z_en_fu_kago.c +++ b/src/overlays/actors/ovl_En_Fu_Kago/z_en_fu_kago.c @@ -22,7 +22,6 @@ const ActorInit En_Fu_Kago_InitVars = { (ActorFunc)EnFuKago_Draw, }; - // static ColliderSphereInit sSphereInit = { static ColliderSphereInit D_80AD05F0 = { { COLTYPE_NONE, AT_NONE, AC_NONE, OC1_ON | OC1_NO_PUSH | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_SPHERE, }, @@ -30,36 +29,39 @@ static ColliderSphereInit D_80AD05F0 = { { 0, { { 0, 0, 0 }, 200 }, 100 }, }; - -extern ColliderSphereInit D_80AD05F0; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_Kago_0x80ACF780/EnFuKago_Init.asm") +extern ColliderSphereInit D_80AD05F0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_Kago_0x80ACF780/EnFuKago_Destroy.asm") +extern UNK_TYPE D_060006A0; +extern UNK_TYPE D_060015C0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_Kago_0x80ACF780/func_80ACF8B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu_Kago/EnFuKago_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_Kago_0x80ACF780/func_80ACF994.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu_Kago/EnFuKago_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_Kago_0x80ACF780/func_80ACF9A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu_Kago/func_80ACF8B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_Kago_0x80ACF780/func_80ACF9DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu_Kago/func_80ACF994.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_Kago_0x80ACF780/func_80ACF9FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu_Kago/func_80ACF9A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_Kago_0x80ACF780/func_80ACFA78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu_Kago/func_80ACF9DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_Kago_0x80ACF780/func_80ACFDAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu_Kago/func_80ACF9FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_Kago_0x80ACF780/func_80AD0028.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu_Kago/func_80ACFA78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_Kago_0x80ACF780/func_80AD0274.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu_Kago/func_80ACFDAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_Kago_0x80ACF780/func_80AD0288.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu_Kago/func_80AD0028.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_Kago_0x80ACF780/EnFuKago_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu_Kago/func_80AD0274.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_Kago_0x80ACF780/func_80AD0340.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu_Kago/func_80AD0288.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_Kago_0x80ACF780/EnFuKago_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu_Kago/EnFuKago_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu_Kago/func_80AD0340.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu_Kago/EnFuKago_Draw.s") diff --git a/src/overlays/actors/ovl_En_Fu_Kago/z_en_fu_kago.h b/src/overlays/actors/ovl_En_Fu_Kago/z_en_fu_kago.h index 9eaaf5a0b5..5c1db790f1 100644 --- a/src/overlays/actors/ovl_En_Fu_Kago/z_en_fu_kago.h +++ b/src/overlays/actors/ovl_En_Fu_Kago/z_en_fu_kago.h @@ -1,13 +1,17 @@ #ifndef Z_EN_FU_KAGO_H #define Z_EN_FU_KAGO_H -#include +#include "global.h" struct EnFuKago; +typedef void (*EnFuKagoActionFunc)(struct EnFuKago* this, GlobalContext* globalCtx); + typedef struct EnFuKago { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x1FC]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x18]; + /* 0x015C */ EnFuKagoActionFunc actionFunc; + /* 0x0160 */ char unk_160[0x1E0]; } EnFuKago; // size = 0x340 extern const ActorInit En_Fu_Kago_InitVars; diff --git a/src/overlays/actors/ovl_En_Fu_Mato/z_en_fu_mato.c b/src/overlays/actors/ovl_En_Fu_Mato/z_en_fu_mato.c index b76161727d..3963a7eb98 100644 --- a/src/overlays/actors/ovl_En_Fu_Mato/z_en_fu_mato.c +++ b/src/overlays/actors/ovl_En_Fu_Mato/z_en_fu_mato.c @@ -22,7 +22,6 @@ const ActorInit En_Fu_Mato_InitVars = { (ActorFunc)EnFuMato_Draw, }; - // static ColliderSphereInit sSphereInit = { static ColliderSphereInit D_80ACF610 = { { COLTYPE_HIT3, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_SPHERE, }, @@ -30,42 +29,45 @@ static ColliderSphereInit D_80ACF610 = { { 0, { { 0, 0, 0 }, 200 }, 100 }, }; - -extern ColliderSphereInit D_80ACF610; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_Mato_0x80ACE330/EnFuMato_Init.asm") +extern ColliderSphereInit D_80ACF610; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_Mato_0x80ACE330/EnFuMato_Destroy.asm") +extern UNK_TYPE D_060023D4; +extern UNK_TYPE D_06002720; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_Mato_0x80ACE330/func_80ACE4B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu_Mato/EnFuMato_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_Mato_0x80ACE330/func_80ACE4C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu_Mato/EnFuMato_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_Mato_0x80ACE330/func_80ACE508.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu_Mato/func_80ACE4B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_Mato_0x80ACE330/func_80ACE51C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu_Mato/func_80ACE4C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_Mato_0x80ACE330/func_80ACE680.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu_Mato/func_80ACE508.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_Mato_0x80ACE330/func_80ACE718.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu_Mato/func_80ACE51C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_Mato_0x80ACE330/func_80ACE850.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu_Mato/func_80ACE680.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_Mato_0x80ACE330/func_80ACEB2C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu_Mato/func_80ACE718.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_Mato_0x80ACE330/func_80ACECFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu_Mato/func_80ACE850.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_Mato_0x80ACE330/func_80ACEFC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu_Mato/func_80ACEB2C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_Mato_0x80ACE330/func_80ACEFD8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu_Mato/func_80ACECFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_Mato_0x80ACE330/func_80ACF04C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu_Mato/func_80ACEFC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_Mato_0x80ACE330/EnFuMato_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu_Mato/func_80ACEFD8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_Mato_0x80ACE330/func_80ACF1F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu_Mato/func_80ACF04C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_Mato_0x80ACE330/func_80ACF3F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu_Mato/EnFuMato_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fu_Mato_0x80ACE330/EnFuMato_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu_Mato/func_80ACF1F4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu_Mato/func_80ACF3F4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fu_Mato/EnFuMato_Draw.s") diff --git a/src/overlays/actors/ovl_En_Fu_Mato/z_en_fu_mato.h b/src/overlays/actors/ovl_En_Fu_Mato/z_en_fu_mato.h index 0f136a00bb..430be7ee1d 100644 --- a/src/overlays/actors/ovl_En_Fu_Mato/z_en_fu_mato.h +++ b/src/overlays/actors/ovl_En_Fu_Mato/z_en_fu_mato.h @@ -1,13 +1,17 @@ #ifndef Z_EN_FU_MATO_H #define Z_EN_FU_MATO_H -#include +#include "global.h" struct EnFuMato; +typedef void (*EnFuMatoActionFunc)(struct EnFuMato* this, GlobalContext* globalCtx); + typedef struct EnFuMato { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x1C8]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x18]; + /* 0x015C */ EnFuMatoActionFunc actionFunc; + /* 0x0160 */ char unk_160[0x1AC]; } EnFuMato; // size = 0x30C extern const ActorInit En_Fu_Mato_InitVars; diff --git a/src/overlays/actors/ovl_En_Fz/z_en_fz.c b/src/overlays/actors/ovl_En_Fz/z_en_fz.c index dde3fb2934..bde15b5c4a 100644 --- a/src/overlays/actors/ovl_En_Fz/z_en_fz.c +++ b/src/overlays/actors/ovl_En_Fz/z_en_fz.c @@ -22,7 +22,6 @@ const ActorInit En_Fz_InitVars = { (ActorFunc)EnFz_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_809346F8 = { { COLTYPE_NONE, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_HIT_PLAYER, COLSHAPE_JNTSPH, }, @@ -30,7 +29,6 @@ static ColliderCylinderInit D_809346F8 = { { 30, 80, 0, { 0, 0, 0 } }, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80934724 = { { COLTYPE_METAL, AT_NONE, AC_ON | AC_HARD | AC_TYPE_PLAYER, OC1_NONE, OC2_HIT_PLAYER, COLSHAPE_JNTSPH, }, @@ -38,7 +36,6 @@ static ColliderCylinderInit D_80934724 = { { 35, 80, 0, { 0, 0, 0 } }, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80934750 = { { COLTYPE_NONE, AT_ON | AT_TYPE_ENEMY, AC_NONE, OC1_NONE, OC2_HIT_PLAYER, COLSHAPE_JNTSPH, }, @@ -46,7 +43,6 @@ static ColliderCylinderInit D_80934750 = { { 20, 30, -15, { 0, 0, 0 } }, }; - // static DamageTable sDamageTable = { static DamageTable D_8093477C = { /* Deku Nut */ DMG_ENTRY(0, 0x0), @@ -83,7 +79,6 @@ static DamageTable D_8093477C = { /* Powder Keg */ DMG_ENTRY(1, 0xF), }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_8093479C[] = { ICHAIN_S8(hintId, 59, ICHAIN_CONTINUE), @@ -92,88 +87,88 @@ static InitChainEntry D_8093479C[] = { ICHAIN_F32(targetArrowOffset, 30, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_809346F8; extern ColliderCylinderInit D_80934724; extern ColliderCylinderInit D_80934750; extern DamageTable D_8093477C; extern InitChainEntry D_8093479C[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fz_0x80932490/EnFz_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fz/EnFz_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fz_0x80932490/EnFz_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fz/EnFz_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fz_0x80932490/func_80932784.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fz/func_80932784.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fz_0x80932490/func_809328A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fz/func_809328A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fz_0x80932490/func_809328F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fz/func_809328F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fz_0x80932490/func_80932AE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fz/func_80932AE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fz_0x80932490/func_80932AF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fz/func_80932AF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fz_0x80932490/func_80932BD4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fz/func_80932BD4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fz_0x80932490/func_80932C98.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fz/func_80932C98.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fz_0x80932490/func_80933014.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fz/func_80933014.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fz_0x80932490/func_809330D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fz/func_809330D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fz_0x80932490/func_80933104.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fz/func_80933104.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fz_0x80932490/func_80933184.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fz/func_80933184.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fz_0x80932490/func_809331F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fz/func_809331F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fz_0x80932490/func_80933248.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fz/func_80933248.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fz_0x80932490/func_80933274.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fz/func_80933274.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fz_0x80932490/func_80933324.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fz/func_80933324.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fz_0x80932490/func_80933368.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fz/func_80933368.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fz_0x80932490/func_809333A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fz/func_809333A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fz_0x80932490/func_809333D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fz/func_809333D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fz_0x80932490/func_80933414.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fz/func_80933414.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fz_0x80932490/func_80933444.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fz/func_80933444.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fz_0x80932490/func_80933480.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fz/func_80933480.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fz_0x80932490/func_809334B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fz/func_809334B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fz_0x80932490/func_809336C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fz/func_809336C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fz_0x80932490/func_80933760.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fz/func_80933760.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fz_0x80932490/func_80933790.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fz/func_80933790.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fz_0x80932490/func_809337D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fz/func_809337D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fz_0x80932490/func_8093389C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fz/func_8093389C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fz_0x80932490/func_809338E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fz/func_809338E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fz_0x80932490/func_80933AF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fz/func_80933AF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fz_0x80932490/func_80933B38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fz/func_80933B38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fz_0x80932490/func_80933B48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fz/func_80933B48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fz_0x80932490/EnFz_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fz/EnFz_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fz_0x80932490/EnFz_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fz/EnFz_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fz_0x80932490/func_80934018.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fz/func_80934018.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fz_0x80932490/func_809340BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fz/func_809340BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fz_0x80932490/func_80934178.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fz/func_80934178.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Fz_0x80932490/func_80934464.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Fz/func_80934464.s") diff --git a/src/overlays/actors/ovl_En_Fz/z_en_fz.h b/src/overlays/actors/ovl_En_Fz/z_en_fz.h index fd6bc160c6..7eb989cf36 100644 --- a/src/overlays/actors/ovl_En_Fz/z_en_fz.h +++ b/src/overlays/actors/ovl_En_Fz/z_en_fz.h @@ -1,7 +1,7 @@ #ifndef Z_EN_FZ_H #define Z_EN_FZ_H -#include +#include "global.h" struct EnFz; diff --git a/src/overlays/actors/ovl_En_Gakufu/z_en_gakufu.c b/src/overlays/actors/ovl_En_Gakufu/z_en_gakufu.c index 363c89d84c..4bea50eb40 100644 --- a/src/overlays/actors/ovl_En_Gakufu/z_en_gakufu.c +++ b/src/overlays/actors/ovl_En_Gakufu/z_en_gakufu.c @@ -9,6 +9,12 @@ void EnGakufu_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnGakufu_Update(Actor* thisx, GlobalContext* globalCtx); void EnGakufu_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80AFCB94(EnGakufu* this, GlobalContext* globalCtx); +void func_80AFCBD4(EnGakufu* this, GlobalContext* globalCtx); +void func_80AFCC14(EnGakufu* this, GlobalContext* globalCtx); +void func_80AFCD44(EnGakufu* this, GlobalContext* globalCtx); +void func_80AFCDC8(EnGakufu* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Gakufu_InitVars = { ACTOR_EN_GAKUFU, @@ -24,26 +30,26 @@ const ActorInit En_Gakufu_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gakufu_0x80AFC960/func_80AFC960.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gakufu/func_80AFC960.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gakufu_0x80AFC960/EnGakufu_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gakufu/EnGakufu_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gakufu_0x80AFC960/EnGakufu_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gakufu/EnGakufu_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gakufu_0x80AFC960/func_80AFCB94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gakufu/func_80AFCB94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gakufu_0x80AFC960/func_80AFCBD4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gakufu/func_80AFCBD4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gakufu_0x80AFC960/func_80AFCC14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gakufu/func_80AFCC14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gakufu_0x80AFC960/func_80AFCC24.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gakufu/func_80AFCC24.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gakufu_0x80AFC960/func_80AFCC58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gakufu/func_80AFCC58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gakufu_0x80AFC960/func_80AFCD44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gakufu/func_80AFCD44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gakufu_0x80AFC960/func_80AFCDC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gakufu/func_80AFCDC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gakufu_0x80AFC960/EnGakufu_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gakufu/EnGakufu_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gakufu_0x80AFC960/EnGakufu_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gakufu/EnGakufu_Draw.s") diff --git a/src/overlays/actors/ovl_En_Gakufu/z_en_gakufu.h b/src/overlays/actors/ovl_En_Gakufu/z_en_gakufu.h index 04be194018..6543da88e4 100644 --- a/src/overlays/actors/ovl_En_Gakufu/z_en_gakufu.h +++ b/src/overlays/actors/ovl_En_Gakufu/z_en_gakufu.h @@ -1,13 +1,16 @@ #ifndef Z_EN_GAKUFU_H #define Z_EN_GAKUFU_H -#include +#include "global.h" struct EnGakufu; +typedef void (*EnGakufuActionFunc)(struct EnGakufu* this, GlobalContext* globalCtx); + typedef struct EnGakufu { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x10]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0xC]; + /* 0x0150 */ EnGakufuActionFunc actionFunc; } EnGakufu; // size = 0x154 extern const ActorInit En_Gakufu_InitVars; diff --git a/src/overlays/actors/ovl_En_Gamelupy/z_en_gamelupy.c b/src/overlays/actors/ovl_En_Gamelupy/z_en_gamelupy.c index 4155aa8a58..e80c311d1c 100644 --- a/src/overlays/actors/ovl_En_Gamelupy/z_en_gamelupy.c +++ b/src/overlays/actors/ovl_En_Gamelupy/z_en_gamelupy.c @@ -9,6 +9,10 @@ void EnGamelupy_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnGamelupy_Update(Actor* thisx, GlobalContext* globalCtx); void EnGamelupy_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80AF6958(EnGamelupy* this, GlobalContext* globalCtx); +void func_80AF69A8(EnGamelupy* this, GlobalContext* globalCtx); +void func_80AF6A78(EnGamelupy* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Gamelupy_InitVars = { ACTOR_EN_GAMELUPY, @@ -22,7 +26,6 @@ const ActorInit En_Gamelupy_InitVars = { (ActorFunc)EnGamelupy_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80AF6CF0 = { { COLTYPE_NONE, AT_NONE, AC_NONE, OC1_ON | OC1_NO_PUSH | OC1_TYPE_PLAYER, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -30,30 +33,30 @@ static ColliderCylinderInit D_80AF6CF0 = { { 10, 30, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80AF6CF0; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gamelupy_0x80AF6760/EnGamelupy_Init.asm") +extern ColliderCylinderInit D_80AF6CF0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gamelupy_0x80AF6760/EnGamelupy_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gamelupy/EnGamelupy_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gamelupy_0x80AF6760/func_80AF6854.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gamelupy/EnGamelupy_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gamelupy_0x80AF6760/func_80AF6944.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gamelupy/func_80AF6854.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gamelupy_0x80AF6760/func_80AF6958.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gamelupy/func_80AF6944.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gamelupy_0x80AF6760/func_80AF6994.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gamelupy/func_80AF6958.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gamelupy_0x80AF6760/func_80AF69A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gamelupy/func_80AF6994.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gamelupy_0x80AF6760/func_80AF6A38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gamelupy/func_80AF69A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gamelupy_0x80AF6760/func_80AF6A78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gamelupy/func_80AF6A38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gamelupy_0x80AF6760/func_80AF6B40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gamelupy/func_80AF6A78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gamelupy_0x80AF6760/EnGamelupy_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gamelupy/func_80AF6B40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gamelupy_0x80AF6760/EnGamelupy_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gamelupy/EnGamelupy_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gamelupy/EnGamelupy_Draw.s") diff --git a/src/overlays/actors/ovl_En_Gamelupy/z_en_gamelupy.h b/src/overlays/actors/ovl_En_Gamelupy/z_en_gamelupy.h index 7672a2d9b0..8283e02a02 100644 --- a/src/overlays/actors/ovl_En_Gamelupy/z_en_gamelupy.h +++ b/src/overlays/actors/ovl_En_Gamelupy/z_en_gamelupy.h @@ -1,13 +1,17 @@ #ifndef Z_EN_GAMELUPY_H #define Z_EN_GAMELUPY_H -#include +#include "global.h" struct EnGamelupy; +typedef void (*EnGamelupyActionFunc)(struct EnGamelupy* this, GlobalContext* globalCtx); + typedef struct EnGamelupy { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x60]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x4C]; + /* 0x0190 */ EnGamelupyActionFunc actionFunc; + /* 0x0194 */ char unk_194[0x10]; } EnGamelupy; // size = 0x1A4 extern const ActorInit En_Gamelupy_InitVars; diff --git a/src/overlays/actors/ovl_En_Gb2/z_en_gb2.c b/src/overlays/actors/ovl_En_Gb2/z_en_gb2.c index 93030452a0..eff11c7fb6 100644 --- a/src/overlays/actors/ovl_En_Gb2/z_en_gb2.c +++ b/src/overlays/actors/ovl_En_Gb2/z_en_gb2.c @@ -9,6 +9,24 @@ void EnGb2_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnGb2_Update(Actor* thisx, GlobalContext* globalCtx); void EnGb2_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80B0FEBC(EnGb2* this, GlobalContext* globalCtx); +void func_80B0FFA8(EnGb2* this, GlobalContext* globalCtx); +void func_80B10240(EnGb2* this, GlobalContext* globalCtx); +void func_80B10344(EnGb2* this, GlobalContext* globalCtx); +void func_80B10584(EnGb2* this, GlobalContext* globalCtx); +void func_80B10634(EnGb2* this, GlobalContext* globalCtx); +void func_80B10868(EnGb2* this, GlobalContext* globalCtx); +void func_80B10924(EnGb2* this, GlobalContext* globalCtx); +void func_80B109DC(EnGb2* this, GlobalContext* globalCtx); +void func_80B10A48(EnGb2* this, GlobalContext* globalCtx); +void func_80B10B5C(EnGb2* this, GlobalContext* globalCtx); +void func_80B10DAC(EnGb2* this, GlobalContext* globalCtx); +void func_80B10E98(EnGb2* this, GlobalContext* globalCtx); +void func_80B11048(EnGb2* this, GlobalContext* globalCtx); +void func_80B111AC(EnGb2* this, GlobalContext* globalCtx); +void func_80B11268(EnGb2* this, GlobalContext* globalCtx); +void func_80B11344(EnGb2* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Gb2_InitVars = { ACTOR_EN_GB2, @@ -22,7 +40,6 @@ const ActorInit En_Gb2_InitVars = { (ActorFunc)EnGb2_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80B11A40 = { { COLTYPE_NONE, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_HIT_PLAYER, COLSHAPE_JNTSPH, }, @@ -30,90 +47,91 @@ static ColliderCylinderInit D_80B11A40 = { { 40, 75, 0, { 0, 0, 0 } }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80B11AC4[] = { ICHAIN_U8(targetMode, 4, ICHAIN_CONTINUE), ICHAIN_F32(targetArrowOffset, 2200, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80B11A40; extern InitChainEntry D_80B11AC4[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gb2_0x80B0F5E0/func_80B0F5E0.asm") +extern UNK_TYPE D_0600049C; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gb2_0x80B0F5E0/func_80B0F660.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gb2/func_80B0F5E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gb2_0x80B0F5E0/func_80B0F6DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gb2/func_80B0F660.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gb2_0x80B0F5E0/func_80B0F728.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gb2/func_80B0F6DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gb2_0x80B0F5E0/func_80B0F7FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gb2/func_80B0F728.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gb2_0x80B0F5E0/func_80B0F8F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gb2/func_80B0F7FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gb2_0x80B0F5E0/func_80B0F97C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gb2/func_80B0F8F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gb2_0x80B0F5E0/func_80B0FA04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gb2/func_80B0F97C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gb2_0x80B0F5E0/func_80B0FA48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gb2/func_80B0FA04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gb2_0x80B0F5E0/func_80B0FB24.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gb2/func_80B0FA48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gb2_0x80B0F5E0/func_80B0FBF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gb2/func_80B0FB24.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gb2_0x80B0F5E0/func_80B0FD8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gb2/func_80B0FBF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gb2_0x80B0F5E0/func_80B0FE18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gb2/func_80B0FD8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gb2_0x80B0F5E0/func_80B0FE7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gb2/func_80B0FE18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gb2_0x80B0F5E0/func_80B0FEBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gb2/func_80B0FE7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gb2_0x80B0F5E0/func_80B0FFA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gb2/func_80B0FEBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gb2_0x80B0F5E0/func_80B10240.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gb2/func_80B0FFA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gb2_0x80B0F5E0/func_80B10344.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gb2/func_80B10240.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gb2_0x80B0F5E0/func_80B10584.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gb2/func_80B10344.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gb2_0x80B0F5E0/func_80B10634.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gb2/func_80B10584.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gb2_0x80B0F5E0/func_80B10868.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gb2/func_80B10634.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gb2_0x80B0F5E0/func_80B10924.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gb2/func_80B10868.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gb2_0x80B0F5E0/func_80B109DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gb2/func_80B10924.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gb2_0x80B0F5E0/func_80B10A48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gb2/func_80B109DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gb2_0x80B0F5E0/func_80B10B5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gb2/func_80B10A48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gb2_0x80B0F5E0/func_80B10DAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gb2/func_80B10B5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gb2_0x80B0F5E0/func_80B10E98.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gb2/func_80B10DAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gb2_0x80B0F5E0/func_80B11048.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gb2/func_80B10E98.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gb2_0x80B0F5E0/func_80B110F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gb2/func_80B11048.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gb2_0x80B0F5E0/func_80B111AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gb2/func_80B110F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gb2_0x80B0F5E0/func_80B11268.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gb2/func_80B111AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gb2_0x80B0F5E0/func_80B11344.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gb2/func_80B11268.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gb2_0x80B0F5E0/EnGb2_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gb2/func_80B11344.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gb2_0x80B0F5E0/EnGb2_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gb2/EnGb2_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gb2_0x80B0F5E0/EnGb2_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gb2/EnGb2_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gb2_0x80B0F5E0/func_80B1179C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gb2/EnGb2_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gb2_0x80B0F5E0/func_80B117FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gb2/func_80B1179C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gb2_0x80B0F5E0/EnGb2_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gb2/func_80B117FC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gb2/EnGb2_Draw.s") diff --git a/src/overlays/actors/ovl_En_Gb2/z_en_gb2.h b/src/overlays/actors/ovl_En_Gb2/z_en_gb2.h index 4c5f3826ed..ba229118cd 100644 --- a/src/overlays/actors/ovl_En_Gb2/z_en_gb2.h +++ b/src/overlays/actors/ovl_En_Gb2/z_en_gb2.h @@ -1,13 +1,17 @@ #ifndef Z_EN_GB2_H #define Z_EN_GB2_H -#include +#include "global.h" struct EnGb2; +typedef void (*EnGb2ActionFunc)(struct EnGb2* this, GlobalContext* globalCtx); + typedef struct EnGb2 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x150]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0xD4]; + /* 0x0218 */ EnGb2ActionFunc actionFunc; + /* 0x021C */ char unk_21C[0x78]; } EnGb2; // size = 0x294 extern const ActorInit En_Gb2_InitVars; diff --git a/src/overlays/actors/ovl_En_Ge1/z_en_ge1.c b/src/overlays/actors/ovl_En_Ge1/z_en_ge1.c index 3cbeda374a..c7e133471b 100644 --- a/src/overlays/actors/ovl_En_Ge1/z_en_ge1.c +++ b/src/overlays/actors/ovl_En_Ge1/z_en_ge1.c @@ -22,7 +22,6 @@ const ActorInit En_Ge1_InitVars = { (ActorFunc)EnGe1_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_809464D0 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_ENEMY, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,36 +29,38 @@ static ColliderCylinderInit D_809464D0 = { { 20, 40, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_809464D0; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge1_0x80945650/EnGe1_Init.asm") +extern ColliderCylinderInit D_809464D0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge1_0x80945650/EnGe1_Destroy.asm") +extern UNK_TYPE D_06002B98; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge1_0x80945650/func_809457EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge1/EnGe1_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge1_0x80945650/func_80945924.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge1/EnGe1_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge1_0x80945650/func_80945A00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge1/func_809457EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge1_0x80945650/func_80945A9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge1/func_80945924.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge1_0x80945650/func_80945B60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge1/func_80945A00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge1_0x80945650/func_80945C50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge1/func_80945A9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge1_0x80945650/func_80945CAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge1/func_80945B60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge1_0x80945650/func_80945CE4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge1/func_80945C50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge1_0x80945650/EnGe1_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge1/func_80945CAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge1_0x80945650/func_80946190.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge1/func_80945CE4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge1_0x80945650/func_80946238.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge1/EnGe1_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge1_0x80945650/func_80946368.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge1/func_80946190.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge1_0x80945650/EnGe1_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge1/func_80946238.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge1/func_80946368.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge1/EnGe1_Draw.s") diff --git a/src/overlays/actors/ovl_En_Ge1/z_en_ge1.h b/src/overlays/actors/ovl_En_Ge1/z_en_ge1.h index 414f1c2f5a..7059d894b9 100644 --- a/src/overlays/actors/ovl_En_Ge1/z_en_ge1.h +++ b/src/overlays/actors/ovl_En_Ge1/z_en_ge1.h @@ -1,13 +1,16 @@ #ifndef Z_EN_GE1_H #define Z_EN_GE1_H -#include +#include "global.h" struct EnGe1; +typedef void (*EnGe1ActionFunc)(struct EnGe1* this, GlobalContext* globalCtx); + typedef struct EnGe1 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x188]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x184]; + /* 0x02C8 */ EnGe1ActionFunc actionFunc; } EnGe1; // size = 0x2CC extern const ActorInit En_Ge1_InitVars; diff --git a/src/overlays/actors/ovl_En_Ge2/z_en_ge2.c b/src/overlays/actors/ovl_En_Ge2/z_en_ge2.c index df7ca7f266..3622ae5c96 100644 --- a/src/overlays/actors/ovl_En_Ge2/z_en_ge2.c +++ b/src/overlays/actors/ovl_En_Ge2/z_en_ge2.c @@ -9,6 +9,17 @@ void EnGe2_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnGe2_Update(Actor* thisx, GlobalContext* globalCtx); void EnGe2_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80B8BCEC(EnGe2* this, GlobalContext* globalCtx); +void func_80B8BD38(EnGe2* this, GlobalContext* globalCtx); +void func_80B8BE08(EnGe2* this, GlobalContext* globalCtx); +void func_80B8BF04(EnGe2* this, GlobalContext* globalCtx); +void func_80B8C048(EnGe2* this, GlobalContext* globalCtx); +void func_80B8C0B0(EnGe2* this, GlobalContext* globalCtx); +void func_80B8C45C(EnGe2* this, GlobalContext* globalCtx); +void func_80B8C59C(EnGe2* this, GlobalContext* globalCtx); +void func_80B8C644(EnGe2* this, GlobalContext* globalCtx); +void func_80B8C9B8(EnGe2* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Ge2_InitVars = { ACTOR_EN_GE2, @@ -22,7 +33,6 @@ const ActorInit En_Ge2_InitVars = { (ActorFunc)EnGe2_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80B8CE40 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,66 +40,71 @@ static ColliderCylinderInit D_80B8CE40 = { { 30, 60, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80B8CE40; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge2_0x80B8B2D0/EnGe2_Init.asm") +extern ColliderCylinderInit D_80B8CE40; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge2_0x80B8B2D0/EnGe2_Destroy.asm") +extern UNK_TYPE D_06008DD8; +extern UNK_TYPE D_060091D0; +extern UNK_TYPE D_06009D1C; +extern UNK_TYPE D_0600A344; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge2_0x80B8B2D0/func_80B8B514.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge2/EnGe2_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge2_0x80B8B2D0/func_80B8B5AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge2/EnGe2_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge2_0x80B8B2D0/func_80B8B6B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge2/func_80B8B514.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge2_0x80B8B2D0/func_80B8B7A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge2/func_80B8B5AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge2_0x80B8B2D0/func_80B8B848.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge2/func_80B8B6B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge2_0x80B8B2D0/func_80B8B90C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge2/func_80B8B7A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge2_0x80B8B2D0/func_80B8BA40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge2/func_80B8B848.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge2_0x80B8B2D0/func_80B8BB3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge2/func_80B8B90C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge2_0x80B8B2D0/func_80B8BC1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge2/func_80B8BA40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge2_0x80B8B2D0/func_80B8BC78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge2/func_80B8BB3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge2_0x80B8B2D0/func_80B8BCEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge2/func_80B8BC1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge2_0x80B8B2D0/func_80B8BD38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge2/func_80B8BC78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge2_0x80B8B2D0/func_80B8BD90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge2/func_80B8BCEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge2_0x80B8B2D0/func_80B8BE08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge2/func_80B8BD38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge2_0x80B8B2D0/func_80B8BF04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge2/func_80B8BD90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge2_0x80B8B2D0/func_80B8BFC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge2/func_80B8BE08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge2_0x80B8B2D0/func_80B8C048.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge2/func_80B8BF04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge2_0x80B8B2D0/func_80B8C0B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge2/func_80B8BFC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge2_0x80B8B2D0/func_80B8C13C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge2/func_80B8C048.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge2_0x80B8B2D0/func_80B8C45C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge2/func_80B8C0B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge2_0x80B8B2D0/func_80B8C59C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge2/func_80B8C13C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge2_0x80B8B2D0/func_80B8C644.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge2/func_80B8C45C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge2_0x80B8B2D0/func_80B8C9B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge2/func_80B8C59C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge2_0x80B8B2D0/EnGe2_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge2/func_80B8C644.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge2_0x80B8B2D0/func_80B8CC0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge2/func_80B8C9B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge2_0x80B8B2D0/func_80B8CCB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge2/EnGe2_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge2_0x80B8B2D0/func_80B8CCFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge2/func_80B8CC0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge2_0x80B8B2D0/EnGe2_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge2/func_80B8CCB4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge2/func_80B8CCFC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge2/EnGe2_Draw.s") diff --git a/src/overlays/actors/ovl_En_Ge2/z_en_ge2.h b/src/overlays/actors/ovl_En_Ge2/z_en_ge2.h index 469d9514e8..e37a2695a8 100644 --- a/src/overlays/actors/ovl_En_Ge2/z_en_ge2.h +++ b/src/overlays/actors/ovl_En_Ge2/z_en_ge2.h @@ -1,13 +1,16 @@ #ifndef Z_EN_GE2_H #define Z_EN_GE2_H -#include +#include "global.h" struct EnGe2; +typedef void (*EnGe2ActionFunc)(struct EnGe2* this, GlobalContext* globalCtx); + typedef struct EnGe2 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x1C8]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x1C4]; + /* 0x0308 */ EnGe2ActionFunc actionFunc; } EnGe2; // size = 0x30C extern const ActorInit En_Ge2_InitVars; diff --git a/src/overlays/actors/ovl_En_Ge3/z_en_ge3.c b/src/overlays/actors/ovl_En_Ge3/z_en_ge3.c index a71b281400..b5c793db24 100644 --- a/src/overlays/actors/ovl_En_Ge3/z_en_ge3.c +++ b/src/overlays/actors/ovl_En_Ge3/z_en_ge3.c @@ -22,7 +22,6 @@ const ActorInit En_Ge3_InitVars = { (ActorFunc)EnGe3_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_809A0DA0 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,40 +29,42 @@ static ColliderCylinderInit D_809A0DA0 = { { 20, 50, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_809A0DA0; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge3_0x8099FEB0/EnGe3_Init.asm") +extern ColliderCylinderInit D_809A0DA0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge3_0x8099FEB0/EnGe3_Destroy.asm") +extern UNK_TYPE D_0600A808; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge3_0x8099FEB0/func_809A0070.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge3/EnGe3_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge3_0x8099FEB0/func_809A00F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge3/EnGe3_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge3_0x8099FEB0/func_809A020C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge3/func_809A0070.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge3_0x8099FEB0/func_809A024C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge3/func_809A00F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge3_0x8099FEB0/func_809A0350.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge3/func_809A020C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge3_0x8099FEB0/func_809A03AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge3/func_809A024C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge3_0x8099FEB0/func_809A03FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge3/func_809A0350.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge3_0x8099FEB0/func_809A04D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge3/func_809A03AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge3_0x8099FEB0/func_809A0820.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge3/func_809A03FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge3_0x8099FEB0/func_809A08A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge3/func_809A04D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge3_0x8099FEB0/EnGe3_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge3/func_809A0820.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge3_0x8099FEB0/func_809A096C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge3/func_809A08A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge3_0x8099FEB0/func_809A0A14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge3/EnGe3_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge3_0x8099FEB0/func_809A0C60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge3/func_809A096C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ge3_0x8099FEB0/EnGe3_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge3/func_809A0A14.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge3/func_809A0C60.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ge3/EnGe3_Draw.s") diff --git a/src/overlays/actors/ovl_En_Ge3/z_en_ge3.h b/src/overlays/actors/ovl_En_Ge3/z_en_ge3.h index a738d30207..e40a00614d 100644 --- a/src/overlays/actors/ovl_En_Ge3/z_en_ge3.h +++ b/src/overlays/actors/ovl_En_Ge3/z_en_ge3.h @@ -1,13 +1,16 @@ #ifndef Z_EN_GE3_H #define Z_EN_GE3_H -#include +#include "global.h" struct EnGe3; +typedef void (*EnGe3ActionFunc)(struct EnGe3* this, GlobalContext* globalCtx); + typedef struct EnGe3 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x1DC]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x1D8]; + /* 0x031C */ EnGe3ActionFunc actionFunc; } EnGe3; // size = 0x320 extern const ActorInit En_Ge3_InitVars; diff --git a/src/overlays/actors/ovl_En_Geg/z_en_geg.c b/src/overlays/actors/ovl_En_Geg/z_en_geg.c index 222d98b0f4..de611989e7 100644 --- a/src/overlays/actors/ovl_En_Geg/z_en_geg.c +++ b/src/overlays/actors/ovl_En_Geg/z_en_geg.c @@ -9,6 +9,22 @@ void EnGeg_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnGeg_Update(Actor* thisx, GlobalContext* globalCtx); void EnGeg_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80BB217C(EnGeg* this, GlobalContext* globalCtx); +void func_80BB221C(EnGeg* this, GlobalContext* globalCtx); +void func_80BB2520(EnGeg* this, GlobalContext* globalCtx); +void func_80BB26EC(EnGeg* this, GlobalContext* globalCtx); +void func_80BB27D4(EnGeg* this, GlobalContext* globalCtx); +void func_80BB2944(EnGeg* this, GlobalContext* globalCtx); +void func_80BB2A54(EnGeg* this, GlobalContext* globalCtx); +void func_80BB2B1C(EnGeg* this, GlobalContext* globalCtx); +void func_80BB2E00(EnGeg* this, GlobalContext* globalCtx); +void func_80BB2F7C(EnGeg* this, GlobalContext* globalCtx); +void func_80BB30B4(EnGeg* this, GlobalContext* globalCtx); +void func_80BB31B8(EnGeg* this, GlobalContext* globalCtx); +void func_80BB32AC(EnGeg* this, GlobalContext* globalCtx); +void func_80BB3318(EnGeg* this, GlobalContext* globalCtx); +void func_80BB347C(EnGeg* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Geg_InitVars = { ACTOR_EN_GEG, @@ -22,7 +38,6 @@ const ActorInit En_Geg_InitVars = { (ActorFunc)EnGeg_Draw, }; - // static ColliderSphereInit sSphereInit = { static ColliderSphereInit D_80BB3E70 = { { COLTYPE_NONE, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_SPHERE, }, @@ -30,7 +45,6 @@ static ColliderSphereInit D_80BB3E70 = { { 0, { { 0, 0, 0 }, 0 }, 100 }, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80BB3E9C = { { COLTYPE_HIT1, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -38,11 +52,9 @@ static ColliderCylinderInit D_80BB3E9C = { { 0, 0, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_80BB3EC8 = { 0, 0, 0, 0, MASS_IMMOVABLE }; - // static DamageTable sDamageTable = { static DamageTable D_80BB3ED4 = { /* Deku Nut */ DMG_ENTRY(1, 0x0), @@ -79,83 +91,87 @@ static DamageTable D_80BB3ED4 = { /* Powder Keg */ DMG_ENTRY(1, 0x0), }; +#endif extern ColliderSphereInit D_80BB3E70; extern ColliderCylinderInit D_80BB3E9C; extern CollisionCheckInfoInit2 D_80BB3EC8; extern DamageTable D_80BB3ED4; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Geg_0x80BB16D0/func_80BB16D0.asm") +extern UNK_TYPE D_06004DB0; +extern UNK_TYPE D_060091A8; +extern UNK_TYPE D_06012DE0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Geg_0x80BB16D0/func_80BB178C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Geg/func_80BB16D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Geg_0x80BB16D0/func_80BB18FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Geg/func_80BB178C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Geg_0x80BB16D0/func_80BB19C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Geg/func_80BB18FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Geg_0x80BB16D0/func_80BB1B14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Geg/func_80BB19C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Geg_0x80BB16D0/func_80BB1C1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Geg/func_80BB1B14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Geg_0x80BB16D0/func_80BB1C8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Geg/func_80BB1C1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Geg_0x80BB16D0/func_80BB1D04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Geg/func_80BB1C8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Geg_0x80BB16D0/func_80BB1D64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Geg/func_80BB1D04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Geg_0x80BB16D0/func_80BB1FCC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Geg/func_80BB1D64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Geg_0x80BB16D0/func_80BB2020.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Geg/func_80BB1FCC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Geg_0x80BB16D0/func_80BB2088.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Geg/func_80BB2020.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Geg_0x80BB16D0/func_80BB217C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Geg/func_80BB2088.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Geg_0x80BB16D0/func_80BB221C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Geg/func_80BB217C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Geg_0x80BB16D0/func_80BB2520.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Geg/func_80BB221C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Geg_0x80BB16D0/func_80BB26EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Geg/func_80BB2520.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Geg_0x80BB16D0/func_80BB27D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Geg/func_80BB26EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Geg_0x80BB16D0/func_80BB2944.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Geg/func_80BB27D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Geg_0x80BB16D0/func_80BB2A54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Geg/func_80BB2944.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Geg_0x80BB16D0/func_80BB2B1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Geg/func_80BB2A54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Geg_0x80BB16D0/func_80BB2E00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Geg/func_80BB2B1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Geg_0x80BB16D0/func_80BB2F7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Geg/func_80BB2E00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Geg_0x80BB16D0/func_80BB30B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Geg/func_80BB2F7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Geg_0x80BB16D0/func_80BB31B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Geg/func_80BB30B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Geg_0x80BB16D0/func_80BB32AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Geg/func_80BB31B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Geg_0x80BB16D0/func_80BB3318.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Geg/func_80BB32AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Geg_0x80BB16D0/func_80BB347C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Geg/func_80BB3318.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Geg_0x80BB16D0/EnGeg_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Geg/func_80BB347C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Geg_0x80BB16D0/EnGeg_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Geg/EnGeg_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Geg_0x80BB16D0/EnGeg_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Geg/EnGeg_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Geg_0x80BB16D0/func_80BB3728.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Geg/EnGeg_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Geg_0x80BB16D0/func_80BB3860.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Geg/func_80BB3728.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Geg_0x80BB16D0/func_80BB387C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Geg/func_80BB3860.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Geg_0x80BB16D0/func_80BB39F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Geg/func_80BB387C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Geg_0x80BB16D0/func_80BB3BE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Geg/func_80BB39F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Geg_0x80BB16D0/func_80BB3CB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Geg/func_80BB3BE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Geg_0x80BB16D0/EnGeg_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Geg/func_80BB3CB4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Geg/EnGeg_Draw.s") diff --git a/src/overlays/actors/ovl_En_Geg/z_en_geg.h b/src/overlays/actors/ovl_En_Geg/z_en_geg.h index 5743b771dc..2960ac0928 100644 --- a/src/overlays/actors/ovl_En_Geg/z_en_geg.h +++ b/src/overlays/actors/ovl_En_Geg/z_en_geg.h @@ -1,13 +1,17 @@ #ifndef Z_EN_GEG_H #define Z_EN_GEG_H -#include +#include "global.h" struct EnGeg; +typedef void (*EnGegActionFunc)(struct EnGeg* this, GlobalContext* globalCtx); + typedef struct EnGeg { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x3AC]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ EnGegActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x364]; } EnGeg; // size = 0x4F0 extern const ActorInit En_Geg_InitVars; diff --git a/src/overlays/actors/ovl_En_Gg/z_en_gg.c b/src/overlays/actors/ovl_En_Gg/z_en_gg.c index 5c63182306..20fc87b437 100644 --- a/src/overlays/actors/ovl_En_Gg/z_en_gg.c +++ b/src/overlays/actors/ovl_En_Gg/z_en_gg.c @@ -22,7 +22,6 @@ const ActorInit En_Gg_InitVars = { (ActorFunc)EnGg_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80B36C00 = { { COLTYPE_NONE, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,11 +29,9 @@ static ColliderCylinderInit D_80B36C00 = { { 24, 72, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_80B36C2C = { 0, 24, 72, 0, MASS_IMMOVABLE }; - // static DamageTable sDamageTable = { static DamageTable D_80B36C38 = { /* Deku Nut */ DMG_ENTRY(0, 0x0), @@ -71,60 +68,62 @@ static DamageTable D_80B36C38 = { /* Powder Keg */ DMG_ENTRY(0, 0x0), }; +#endif extern ColliderCylinderInit D_80B36C00; extern CollisionCheckInfoInit2 D_80B36C2C; extern DamageTable D_80B36C38; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg_0x80B34F70/func_80B34F70.asm") +extern UNK_TYPE D_0600F578; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg_0x80B34F70/func_80B34FB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg/func_80B34F70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg_0x80B34F70/func_80B35108.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg/func_80B34FB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg_0x80B34F70/func_80B351A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg/func_80B35108.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg_0x80B34F70/func_80B35250.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg/func_80B351A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg_0x80B34F70/func_80B352A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg/func_80B35250.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg_0x80B34F70/func_80B35450.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg/func_80B352A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg_0x80B34F70/func_80B3556C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg/func_80B35450.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg_0x80B34F70/func_80B35634.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg/func_80B3556C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg_0x80B34F70/func_80B357F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg/func_80B35634.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg_0x80B34F70/func_80B3584C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg/func_80B357F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg_0x80B34F70/func_80B358D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg/func_80B3584C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg_0x80B34F70/func_80B35968.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg/func_80B358D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg_0x80B34F70/func_80B359DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg/func_80B35968.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg_0x80B34F70/func_80B35B24.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg/func_80B359DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg_0x80B34F70/func_80B35B44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg/func_80B35B24.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg_0x80B34F70/func_80B35C84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg/func_80B35B44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg_0x80B34F70/func_80B3610C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg/func_80B35C84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg_0x80B34F70/func_80B363E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg/func_80B3610C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg_0x80B34F70/func_80B364D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg/func_80B363E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg_0x80B34F70/EnGg_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg/func_80B364D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg_0x80B34F70/EnGg_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg/EnGg_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg_0x80B34F70/EnGg_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg/EnGg_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg_0x80B34F70/func_80B368B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg/EnGg_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg_0x80B34F70/func_80B368F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg/func_80B368B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg_0x80B34F70/EnGg_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg/func_80B368F0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg/EnGg_Draw.s") diff --git a/src/overlays/actors/ovl_En_Gg/z_en_gg.h b/src/overlays/actors/ovl_En_Gg/z_en_gg.h index ce0762fb6e..b35537c508 100644 --- a/src/overlays/actors/ovl_En_Gg/z_en_gg.h +++ b/src/overlays/actors/ovl_En_Gg/z_en_gg.h @@ -1,13 +1,17 @@ #ifndef Z_EN_GG_H #define Z_EN_GG_H -#include +#include "global.h" struct EnGg; +typedef void (*EnGgActionFunc)(struct EnGg* this, GlobalContext* globalCtx); + typedef struct EnGg { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x24C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x90]; + /* 0x01D4 */ EnGgActionFunc actionFunc; + /* 0x01D8 */ char unk_1D8[0x1B8]; } EnGg; // size = 0x390 extern const ActorInit En_Gg_InitVars; diff --git a/src/overlays/actors/ovl_En_Gg2/z_en_gg2.c b/src/overlays/actors/ovl_En_Gg2/z_en_gg2.c index 53a1a57851..7fe7d43fb8 100644 --- a/src/overlays/actors/ovl_En_Gg2/z_en_gg2.c +++ b/src/overlays/actors/ovl_En_Gg2/z_en_gg2.c @@ -24,44 +24,46 @@ const ActorInit En_Gg2_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg2_0x80B3AC50/func_80B3AC50.asm") +extern UNK_TYPE D_0600F578; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg2_0x80B3AC50/func_80B3AC94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg2/func_80B3AC50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg2_0x80B3AC50/func_80B3ADD8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg2/func_80B3AC94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg2_0x80B3AC50/func_80B3AE60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg2/func_80B3ADD8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg2_0x80B3AC50/func_80B3AFB0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg2/func_80B3AE60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg2_0x80B3AC50/func_80B3B05C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg2/func_80B3AFB0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg2_0x80B3AC50/func_80B3B0A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg2/func_80B3B05C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg2_0x80B3AC50/func_80B3B120.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg2/func_80B3B0A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg2_0x80B3AC50/func_80B3B21C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg2/func_80B3B120.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg2_0x80B3AC50/func_80B3B294.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg2/func_80B3B21C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg2_0x80B3AC50/func_80B3B4B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg2/func_80B3B294.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg2_0x80B3AC50/func_80B3B5D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg2/func_80B3B4B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg2_0x80B3AC50/func_80B3B648.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg2/func_80B3B5D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg2_0x80B3AC50/func_80B3B7E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg2/func_80B3B648.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg2_0x80B3AC50/func_80B3B8A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg2/func_80B3B7E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg2_0x80B3AC50/EnGg2_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg2/func_80B3B8A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg2_0x80B3AC50/EnGg2_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg2/EnGg2_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg2_0x80B3AC50/EnGg2_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg2/EnGg2_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg2_0x80B3AC50/func_80B3BD44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg2/EnGg2_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg2_0x80B3AC50/func_80B3BDC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg2/func_80B3BD44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gg2_0x80B3AC50/EnGg2_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg2/func_80B3BDC0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gg2/EnGg2_Draw.s") diff --git a/src/overlays/actors/ovl_En_Gg2/z_en_gg2.h b/src/overlays/actors/ovl_En_Gg2/z_en_gg2.h index cb94ad6dab..bca9070188 100644 --- a/src/overlays/actors/ovl_En_Gg2/z_en_gg2.h +++ b/src/overlays/actors/ovl_En_Gg2/z_en_gg2.h @@ -1,13 +1,17 @@ #ifndef Z_EN_GG2_H #define Z_EN_GG2_H -#include +#include "global.h" struct EnGg2; +typedef void (*EnGg2ActionFunc)(struct EnGg2* this, GlobalContext* globalCtx); + typedef struct EnGg2 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x1CC]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x90]; + /* 0x01D4 */ EnGg2ActionFunc actionFunc; + /* 0x01D8 */ char unk_1D8[0x138]; } EnGg2; // size = 0x310 extern const ActorInit En_Gg2_InitVars; diff --git a/src/overlays/actors/ovl_En_Giant/z_en_giant.c b/src/overlays/actors/ovl_En_Giant/z_en_giant.c index 780d8248e2..2bf3bbd53b 100644 --- a/src/overlays/actors/ovl_En_Giant/z_en_giant.c +++ b/src/overlays/actors/ovl_En_Giant/z_en_giant.c @@ -9,6 +9,10 @@ void EnGiant_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnGiant_Update(Actor* thisx, GlobalContext* globalCtx); void EnGiant_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80B023D0(EnGiant* this, GlobalContext* globalCtx); +void func_80B024AC(EnGiant* this, GlobalContext* globalCtx); +void func_80B024D8(EnGiant* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Giant_InitVars = { ACTOR_EN_GIANT, @@ -24,36 +28,40 @@ const ActorInit En_Giant_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Giant_0x80B01990/func_80B01990.asm") +extern UNK_TYPE D_06002168; +extern UNK_TYPE D_06007610; +extern UNK_TYPE D_060116E4; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Giant_0x80B01990/func_80B01A74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Giant/func_80B01990.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Giant_0x80B01990/EnGiant_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Giant/func_80B01A74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Giant_0x80B01990/EnGiant_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Giant/EnGiant_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Giant_0x80B01990/func_80B01E84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Giant/EnGiant_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Giant_0x80B01990/func_80B01EE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Giant/func_80B01E84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Giant_0x80B01990/func_80B020A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Giant/func_80B01EE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Giant_0x80B01990/func_80B0211C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Giant/func_80B020A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Giant_0x80B01990/func_80B02234.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Giant/func_80B0211C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Giant_0x80B01990/func_80B02354.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Giant/func_80B02234.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Giant_0x80B01990/func_80B023D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Giant/func_80B02354.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Giant_0x80B01990/func_80B024AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Giant/func_80B023D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Giant_0x80B01990/func_80B024D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Giant/func_80B024AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Giant_0x80B01990/EnGiant_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Giant/func_80B024D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Giant_0x80B01990/func_80B02688.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Giant/EnGiant_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Giant_0x80B01990/func_80B026C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Giant/func_80B02688.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Giant_0x80B01990/EnGiant_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Giant/func_80B026C4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Giant/EnGiant_Draw.s") diff --git a/src/overlays/actors/ovl_En_Giant/z_en_giant.h b/src/overlays/actors/ovl_En_Giant/z_en_giant.h index e661415c14..bf26024af7 100644 --- a/src/overlays/actors/ovl_En_Giant/z_en_giant.h +++ b/src/overlays/actors/ovl_En_Giant/z_en_giant.h @@ -1,13 +1,16 @@ #ifndef Z_EN_GIANT_H #define Z_EN_GIANT_H -#include +#include "global.h" struct EnGiant; +typedef void (*EnGiantActionFunc)(struct EnGiant* this, GlobalContext* globalCtx); + typedef struct EnGiant { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x158]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x154]; + /* 0x0298 */ EnGiantActionFunc actionFunc; } EnGiant; // size = 0x29C extern const ActorInit En_Giant_InitVars; diff --git a/src/overlays/actors/ovl_En_Ginko_Man/z_en_ginko_man.c b/src/overlays/actors/ovl_En_Ginko_Man/z_en_ginko_man.c index f370600a2b..39eeee2bcc 100644 --- a/src/overlays/actors/ovl_En_Ginko_Man/z_en_ginko_man.c +++ b/src/overlays/actors/ovl_En_Ginko_Man/z_en_ginko_man.c @@ -23,6 +23,14 @@ void EnGinkoMan_Stamp(EnGinkoMan* this, GlobalContext* globalCtx); void EnGinkoMan_Dialogue(EnGinkoMan* this, GlobalContext* globalCtx); void EnGinkoMan_SwitchAnimation(EnGinkoMan* this, GlobalContext* globalCtx); +extern FlexSkeletonHeader D_0600C240; // object_ginko_skeleton +extern Gfx D_0600B1D8[]; // object_ginko_limb15_dlist +extern AnimationHeader D_060008C0; // object_ginko_floorsmacking_anim +extern AnimationHeader D_060043F0; // object_ginko_sitting_anim +extern AnimationHeader D_06004A7C; // object_ginko_amazed_anim +extern AnimationHeader D_06004F40; // object_ginko_stamp_reach_anim +extern AnimationHeader D_06000AC4; // object_ginko_advertising_anim + const ActorInit En_Ginko_Man_InitVars = { ACTOR_EN_GINKO_MAN, ACTORCAT_NPC, @@ -36,11 +44,11 @@ const ActorInit En_Ginko_Man_InitVars = { }; ActorAnimationEntry animations[] = { - { object_ginko_floorsmacking_anim, 1.0f, 0.0f, 0.0f, 0, -4.0f }, - { object_ginko_sitting_anim, 1.0f, 0.0f, 0.0f, 0, -4.0f }, - { object_ginko_stamp_reach_anim, 1.0f, 0.0f, 0.0f, 2, -4.0f }, - { object_ginko_advertising_anim, 1.0f, 0.0f, 0.0f, 0, -4.0f }, // looking around for customers - { object_ginko_amazed_anim, 1.0f, 0.0f, 0.0f, 0, -4.0f }, + { &D_060008C0, 1.0f, 0.0f, 0.0f, 0, -4.0f }, + { &D_060043F0, 1.0f, 0.0f, 0.0f, 0, -4.0f }, + { &D_06004F40, 1.0f, 0.0f, 0.0f, 2, -4.0f }, + { &D_06000AC4, 1.0f, 0.0f, 0.0f, 0, -4.0f }, // looking around for customers + { &D_06004A7C, 1.0f, 0.0f, 0.0f, 0, -4.0f }, }; void EnGinkoMan_Init(Actor* thisx, GlobalContext* globalCtx) { @@ -55,8 +63,8 @@ void EnGinkoMan_Init(Actor* thisx, GlobalContext* globalCtx) { this->isStampChecked = false; this->choiceDepositWithdrawl = GINKOMAN_CHOICE_RESET; this->serviceFee = 0; - SkelAnime_InitSV(globalCtx, &this->skelAnime, object_ginko_skeleton, object_ginko_sitting_anim, this->limbDrawTbl, - this->transitionDrawTbl, 16); + SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_0600C240, &D_060043F0, this->limbDrawTbl, this->transitionDrawTbl, + 16); EnGinkoMan_SetupIdle(this); } @@ -395,8 +403,7 @@ void EnGinkoMan_WaitForDialogueInput(EnGinkoMan* this, GlobalContext* globalCtx) func_800BDC5C(&this->skelAnime, animations, GINKO_FLOORSMACKING); func_801518B0(globalCtx, 0x476, &this->actor); this->curTextId = 0x476; // you dont have enough deposited to withdrawl - } else if (D_801C1E2C[CUR_UPG_VALUE(UPG_WALLET)] < - (globalCtx->msgCtx.bankRupeesSelected + gSaveContext.rupees)) { + } else if (CUR_CAPACITY(UPG_WALLET) < (globalCtx->msgCtx.bankRupeesSelected + gSaveContext.rupees)) { // check if wallet is big enough play_sound(NA_SE_SY_ERROR); func_801518B0(globalCtx, 0x475, &this->actor); @@ -489,7 +496,7 @@ void EnGinkoMan_Dialogue(EnGinkoMan* this, GlobalContext* globalCtx) { break; } - if ((this->skelAnime.animCurrentSeg == object_ginko_floorsmacking_anim) && + if ((this->skelAnime.animCurrentSeg == &D_060008C0) && func_801378B8(&this->skelAnime, this->skelAnime.animFrameCount)) { Audio_PlayActorSound2(&this->actor, NA_SE_EV_BANK_MAN_HAND_HIT); } @@ -590,12 +597,12 @@ void EnGinkoMan_Stamp(EnGinkoMan* this, GlobalContext* globalCtx) { void EnGinkoMan_SwitchAnimation(EnGinkoMan* this, GlobalContext* globalCtx) { if (this->actor.xzDistToPlayer > 160.0f) { if (this->animTimer == 0) { - if (this->skelAnime.animCurrentSeg != object_ginko_amazed_anim) { + if (this->skelAnime.animCurrentSeg != &D_06004A7C) { this->animTimer = 40; func_800BDC5C(&this->skelAnime, animations, GINKO_ADVERTISING); } } - } else if ((this->animTimer == 0) && (this->skelAnime.animCurrentSeg != object_ginko_advertising_anim)) { + } else if ((this->animTimer == 0) && (this->skelAnime.animCurrentSeg != &D_06000AC4)) { this->animTimer = 40; func_800BDC5C(&this->skelAnime, animations, GINKO_AMAZED); } @@ -605,7 +612,7 @@ void EnGinkoMan_SwitchAnimation(EnGinkoMan* this, GlobalContext* globalCtx) { void EnGinkoMan_FacePlayer(EnGinkoMan* this, GlobalContext* globalCtx) { SkelAnime_FrameUpdateMatrix(&this->skelAnime); - if (this->skelAnime.animCurrentSeg != object_ginko_amazed_anim) { + if (this->skelAnime.animCurrentSeg != &D_06004A7C) { func_800E9250(globalCtx, &this->actor, &this->limb15Rot, &this->limb8Rot, this->actor.focus.pos); } else { func_800E8F08(&this->limb15Rot, &this->limb8Rot); @@ -626,7 +633,7 @@ s32 EnGinkoMan_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** d EnGinkoMan* this = THIS; if (limbIndex == 15) { - *dList = object_ginko_limb15_dlist; + *dList = D_0600B1D8; } if (limbIndex == 15) { diff --git a/src/overlays/actors/ovl_En_Ginko_Man/z_en_ginko_man.h b/src/overlays/actors/ovl_En_Ginko_Man/z_en_ginko_man.h index bc7eb5bcbc..ce992c0b3c 100644 --- a/src/overlays/actors/ovl_En_Ginko_Man/z_en_ginko_man.h +++ b/src/overlays/actors/ovl_En_Ginko_Man/z_en_ginko_man.h @@ -1,7 +1,7 @@ #ifndef Z_EN_GINKO_MAN_H #define Z_EN_GINKO_MAN_H -#include +#include "global.h" struct EnGinkoMan; @@ -34,15 +34,6 @@ extern const ActorInit En_Ginko_Man_InitVars; #define GINKOMAN_CHOICE_YES 0 #define GINKOMAN_CHOICE_NO 1 -extern FlexSkeletonHeader object_ginko_skeleton[]; -extern Gfx object_ginko_limb15_dlist[]; - -extern AnimationHeader object_ginko_floorsmacking_anim[]; -extern AnimationHeader object_ginko_sitting_anim[]; -extern AnimationHeader object_ginko_amazed_anim[]; -extern AnimationHeader object_ginko_stamp_reach_anim[]; -extern AnimationHeader object_ginko_advertising_anim[]; - typedef enum { /* 0 */ GINKO_FLOORSMACKING, /* 1 */ GINKO_SITTING, @@ -51,7 +42,4 @@ typedef enum { /* 4 */ GINKO_ADVERTISING, } GinkoAnimationIndex; -// values to get wallet capacity -extern u16 D_801C1E2C[]; // wallet capacities - #endif // Z_EN_GINKO_MAN_H diff --git a/src/overlays/actors/ovl_En_GirlA/z_en_girla.h b/src/overlays/actors/ovl_En_GirlA/z_en_girla.h index f73be40b17..6c362b372e 100644 --- a/src/overlays/actors/ovl_En_GirlA/z_en_girla.h +++ b/src/overlays/actors/ovl_En_GirlA/z_en_girla.h @@ -1,7 +1,7 @@ #ifndef Z_EN_GIRLA_H #define Z_EN_GIRLA_H -#include +#include "global.h" struct EnGirlA; diff --git a/src/overlays/actors/ovl_En_Gk/z_en_gk.c b/src/overlays/actors/ovl_En_Gk/z_en_gk.c index 68d1471652..fc77cba3ec 100644 --- a/src/overlays/actors/ovl_En_Gk/z_en_gk.c +++ b/src/overlays/actors/ovl_En_Gk/z_en_gk.c @@ -22,7 +22,6 @@ const ActorInit En_Gk_InitVars = { (ActorFunc)EnGk_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80B53210 = { { COLTYPE_NONE, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,11 +29,9 @@ static ColliderCylinderInit D_80B53210 = { { 24, 32, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_80B5323C = { 0, 24, 32, 0, MASS_IMMOVABLE }; - // static DamageTable sDamageTable = { static DamageTable D_80B53248 = { /* Deku Nut */ DMG_ENTRY(0, 0x0), @@ -71,86 +68,89 @@ static DamageTable D_80B53248 = { /* Powder Keg */ DMG_ENTRY(0, 0x0), }; +#endif extern ColliderCylinderInit D_80B53210; extern CollisionCheckInfoInit2 D_80B5323C; extern DamageTable D_80B53248; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gk_0x80B50410/func_80B50410.asm") +extern UNK_TYPE D_06006688; +extern UNK_TYPE D_0600787C; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gk_0x80B50410/func_80B50710.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gk/func_80B50410.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gk_0x80B50410/func_80B507A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gk/func_80B50710.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gk_0x80B50410/func_80B50854.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gk/func_80B507A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gk_0x80B50410/func_80B50954.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gk/func_80B50854.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gk_0x80B50410/func_80B509A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gk/func_80B50954.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gk_0x80B50410/func_80B50B38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gk/func_80B509A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gk_0x80B50410/func_80B50C78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gk/func_80B50B38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gk_0x80B50410/func_80B50E14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gk/func_80B50C78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gk_0x80B50410/func_80B50ED4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gk/func_80B50E14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gk_0x80B50410/func_80B5100C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gk/func_80B50ED4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gk_0x80B50410/func_80B5123C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gk/func_80B5100C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gk_0x80B50410/func_80B51308.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gk/func_80B5123C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gk_0x80B50410/func_80B51398.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gk/func_80B51308.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gk_0x80B50410/func_80B51410.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gk/func_80B51398.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gk_0x80B50410/func_80B51510.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gk/func_80B51410.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gk_0x80B50410/func_80B51698.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gk/func_80B51510.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gk_0x80B50410/func_80B51760.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gk/func_80B51698.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gk_0x80B50410/func_80B51970.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gk/func_80B51760.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gk_0x80B50410/func_80B51B40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gk/func_80B51970.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gk_0x80B50410/func_80B51D9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gk/func_80B51B40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gk_0x80B50410/func_80B51EA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gk/func_80B51D9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gk_0x80B50410/func_80B51FD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gk/func_80B51EA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gk_0x80B50410/func_80B5202C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gk/func_80B51FD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gk_0x80B50410/func_80B5216C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gk/func_80B5202C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gk_0x80B50410/func_80B521E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gk/func_80B5216C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gk_0x80B50410/func_80B5227C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gk/func_80B521E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gk_0x80B50410/func_80B52340.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gk/func_80B5227C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gk_0x80B50410/func_80B52430.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gk/func_80B52340.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gk_0x80B50410/func_80B5253C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gk/func_80B52430.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gk_0x80B50410/func_80B525E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gk/func_80B5253C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gk_0x80B50410/func_80B52654.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gk/func_80B525E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gk_0x80B50410/EnGk_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gk/func_80B52654.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gk_0x80B50410/EnGk_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gk/EnGk_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gk_0x80B50410/EnGk_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gk/EnGk_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gk_0x80B50410/func_80B52AD4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gk/EnGk_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gk_0x80B50410/func_80B52AF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gk/func_80B52AD4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gk_0x80B50410/func_80B52D8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gk/func_80B52AF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gk_0x80B50410/EnGk_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gk/func_80B52D8C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gk/EnGk_Draw.s") diff --git a/src/overlays/actors/ovl_En_Gk/z_en_gk.h b/src/overlays/actors/ovl_En_Gk/z_en_gk.h index b2a13cb45a..71fc03b7fe 100644 --- a/src/overlays/actors/ovl_En_Gk/z_en_gk.h +++ b/src/overlays/actors/ovl_En_Gk/z_en_gk.h @@ -1,13 +1,17 @@ #ifndef Z_EN_GK_H #define Z_EN_GK_H -#include +#include "global.h" struct EnGk; +typedef void (*EnGkActionFunc)(struct EnGk* this, GlobalContext* globalCtx); + typedef struct EnGk { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x214]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x90]; + /* 0x01D4 */ EnGkActionFunc actionFunc; + /* 0x01D8 */ char unk_1D8[0x180]; } EnGk; // size = 0x358 extern const ActorInit En_Gk_InitVars; diff --git a/src/overlays/actors/ovl_En_Gm/z_en_gm.c b/src/overlays/actors/ovl_En_Gm/z_en_gm.c index a26bec2b3b..2dfe45e800 100644 --- a/src/overlays/actors/ovl_En_Gm/z_en_gm.c +++ b/src/overlays/actors/ovl_En_Gm/z_en_gm.c @@ -9,6 +9,9 @@ void EnGm_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnGm_Update(Actor* thisx, GlobalContext* globalCtx); void EnGm_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80950CDC(EnGm* this, GlobalContext* globalCtx); +void func_80950DB8(EnGm* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Gm_InitVars = { ACTOR_EN_GM, @@ -22,7 +25,6 @@ const ActorInit En_Gm_InitVars = { (ActorFunc)EnGm_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80951C5C = { { COLTYPE_HIT1, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,7 +32,6 @@ static ColliderCylinderInit D_80951C5C = { { 14, 62, 0, { 0, 0, 0 } }, }; - // static ColliderSphereInit sSphereInit = { static ColliderSphereInit D_80951C88 = { { COLTYPE_NONE, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_SPHERE, }, @@ -38,114 +39,116 @@ static ColliderSphereInit D_80951C88 = { { 0, { { 0, 0, 0 }, 20 }, 100 }, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_80951CB4 = { 0, 0, 0, 0, MASS_IMMOVABLE }; +#endif extern ColliderCylinderInit D_80951C5C; extern ColliderSphereInit D_80951C88; extern CollisionCheckInfoInit2 D_80951CB4; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_8094DEE0.asm") +extern UNK_TYPE D_06007528; +extern UNK_TYPE D_060078B0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_8094DF90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_8094DEE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_8094DFF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_8094DF90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_8094E054.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_8094DFF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_8094E0F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_8094E054.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_8094E1DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_8094E0F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_8094E278.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_8094E1DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_8094E2D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_8094E278.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_8094E454.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_8094E2D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_8094E4D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_8094E454.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_8094E52C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_8094E4D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_8094E69C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_8094E52C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_8094EA34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_8094E69C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_8094EB1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_8094EA34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_8094EDBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_8094EB1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_8094EE84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_8094EDBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_8094EFC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_8094EE84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_8094F074.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_8094EFC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_8094F0E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_8094F074.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_8094F2E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_8094F0E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_8094F3D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_8094F2E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_8094F4EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_8094F3D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_8094F53C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_8094F4EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_8094F7D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_8094F53C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_8094F904.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_8094F7D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_8094FAC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_8094F904.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_8094FCC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_8094FAC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_8094FD88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_8094FCC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_8094FE10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_8094FD88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_8094FF04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_8094FE10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_80950088.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_8094FF04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_80950120.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_80950088.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_809501B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_80950120.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_80950280.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_809501B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_80950388.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_80950280.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_809503F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_80950388.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_80950490.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_809503F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_80950690.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_80950490.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_80950804.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_80950690.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_8095097C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_80950804.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_80950C24.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_8095097C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_80950CDC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_80950C24.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_80950DB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_80950CDC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_80950F2C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_80950DB8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/EnGm_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_80950F2C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/EnGm_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/EnGm_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/EnGm_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/EnGm_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_809513AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/EnGm_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_809514BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_809513AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/func_80951594.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_809514BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gm_0x8094DEE0/EnGm_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/func_80951594.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gm/EnGm_Draw.s") diff --git a/src/overlays/actors/ovl_En_Gm/z_en_gm.h b/src/overlays/actors/ovl_En_Gm/z_en_gm.h index 51aed87977..88097cd3bd 100644 --- a/src/overlays/actors/ovl_En_Gm/z_en_gm.h +++ b/src/overlays/actors/ovl_En_Gm/z_en_gm.h @@ -1,13 +1,17 @@ #ifndef Z_EN_GM_H #define Z_EN_GM_H -#include +#include "global.h" struct EnGm; +typedef void (*EnGmActionFunc)(struct EnGm* this, GlobalContext* globalCtx); + typedef struct EnGm { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x2C0]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ EnGmActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x278]; } EnGm; // size = 0x404 extern const ActorInit En_Gm_InitVars; diff --git a/src/overlays/actors/ovl_En_Go/z_en_go.c b/src/overlays/actors/ovl_En_Go/z_en_go.c index 065702030e..fcdaf8eaa8 100644 --- a/src/overlays/actors/ovl_En_Go/z_en_go.c +++ b/src/overlays/actors/ovl_En_Go/z_en_go.c @@ -8,6 +8,16 @@ void EnGo_Init(Actor* thisx, GlobalContext* globalCtx); void EnGo_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnGo_Update(Actor* thisx, GlobalContext* globalCtx); +void func_80A14798(EnGo* this, GlobalContext* globalCtx); +void func_80A149B0(EnGo* this, GlobalContext* globalCtx); +void func_80A14B30(EnGo* this, GlobalContext* globalCtx); +void func_80A14E14(EnGo* this, GlobalContext* globalCtx); +void func_80A14E74(EnGo* this, GlobalContext* globalCtx); +void func_80A14EB0(EnGo* this, GlobalContext* globalCtx); +void func_80A14FC8(EnGo* this, GlobalContext* globalCtx); +void func_80A153FC(EnGo* this, GlobalContext* globalCtx); +void func_80A157C4(EnGo* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Go_InitVars = { ACTOR_EN_GO, @@ -21,7 +31,6 @@ const ActorInit En_Go_InitVars = { (ActorFunc)NULL, }; - // static ColliderSphereInit sSphereInit = { static ColliderSphereInit D_80A16434 = { { COLTYPE_NONE, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_SPHERE, }, @@ -29,7 +38,6 @@ static ColliderSphereInit D_80A16434 = { { 0, { { 0, 0, 0 }, 0 }, 100 }, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80A16460 = { { COLTYPE_METAL, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_TYPE_PLAYER | AC_TYPE_OTHER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -37,7 +45,6 @@ static ColliderCylinderInit D_80A16460 = { { 0, 0, 0, { 0, 0, 0 } }, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80A1648C = { { COLTYPE_HIT1, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -45,11 +52,9 @@ static ColliderCylinderInit D_80A1648C = { { 0, 0, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_80A164B8 = { 0, 0, 0, 0, MASS_IMMOVABLE }; - // static DamageTable sDamageTable = { static DamageTable D_80A164C4 = { /* Deku Nut */ DMG_ENTRY(1, 0x0), @@ -86,150 +91,156 @@ static DamageTable D_80A164C4 = { /* Powder Keg */ DMG_ENTRY(1, 0x0), }; +#endif extern ColliderSphereInit D_80A16434; extern ColliderCylinderInit D_80A16460; extern ColliderCylinderInit D_80A1648C; extern CollisionCheckInfoInit2 D_80A164B8; extern DamageTable D_80A164C4; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A10FD0.asm") +extern UNK_TYPE D_06000458; +extern UNK_TYPE D_06003258; +extern UNK_TYPE D_060091A8; +extern UNK_TYPE D_06011AC8; +extern UNK_TYPE D_06014D00; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A11144.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A10FD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A1143C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A11144.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A115B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A1143C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A118F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A115B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A11BF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A118F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A11EC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A11BF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A1203C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A11EC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A1213C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A1203C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A121F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A1213C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A1222C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A121F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A122EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A1222C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A123A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A122EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A124A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A123A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A124FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A124A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A125BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A124FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A12660.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A125BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A126BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A12660.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A12774.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A126BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A12868.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A12774.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A12954.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A12868.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A12A64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A12954.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A12B78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A12A64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A12C48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A12B78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A12D6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A12C48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A12DF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A12D6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A12E80.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A12DF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A12FE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A12E80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A131F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A12FE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A132C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A131F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A133A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A132C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A13400.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A133A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A134B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A13400.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A134F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A134B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A13564.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A134F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A136B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A13564.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A13728.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A136B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A137C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A13728.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A139E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A137C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A13B1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A139E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A13E80.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A13B1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A14018.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A13E80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A14104.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A14018.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A141D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A14104.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A1428C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A141D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A14324.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A1428C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A143A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A14324.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A14430.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A143A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A1449C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A14430.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A144F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A1449C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A145AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A144F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A14668.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A145AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A146CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A14668.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A14798.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A146CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A149B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A14798.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A14B30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A149B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A14E14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A14B30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A14E74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A14E14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A14EB0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A14E74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A14FC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A14EB0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A153FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A14FC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A15684.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A153FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A157C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A15684.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/EnGo_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A157C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/EnGo_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/EnGo_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/EnGo_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/EnGo_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A15B80.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/EnGo_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A15D04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A15B80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A15E38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A15D04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Go_0x80A10FD0/func_80A15FEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A15E38.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Go/func_80A15FEC.s") diff --git a/src/overlays/actors/ovl_En_Go/z_en_go.h b/src/overlays/actors/ovl_En_Go/z_en_go.h index 0aabbb802a..d8bcca27d5 100644 --- a/src/overlays/actors/ovl_En_Go/z_en_go.h +++ b/src/overlays/actors/ovl_En_Go/z_en_go.h @@ -1,13 +1,17 @@ #ifndef Z_EN_GO_H #define Z_EN_GO_H -#include +#include "global.h" struct EnGo; +typedef void (*EnGoActionFunc)(struct EnGo* this, GlobalContext* globalCtx); + typedef struct EnGo { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0xA34]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ EnGoActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x9EC]; } EnGo; // size = 0xB78 extern const ActorInit En_Go_InitVars; diff --git a/src/overlays/actors/ovl_En_Goroiwa/z_en_goroiwa.c b/src/overlays/actors/ovl_En_Goroiwa/z_en_goroiwa.c index 451112df91..49cf58f3d4 100644 --- a/src/overlays/actors/ovl_En_Goroiwa/z_en_goroiwa.c +++ b/src/overlays/actors/ovl_En_Goroiwa/z_en_goroiwa.c @@ -22,7 +22,6 @@ const ActorInit En_Goroiwa_InitVars = { (ActorFunc)EnGoroiwa_Draw, }; - // static ColliderJntSphElementInit sJntSphElementsInit[1] = { static ColliderJntSphElementInit D_80942DC0[1] = { { @@ -37,11 +36,9 @@ static ColliderJntSphInit D_80942DE4 = { 1, D_80942DC0, // sJntSphElementsInit, }; - // sColChkInfoInit static CollisionCheckInfoInit D_80942DF4 = { 0, 12, 60, MASS_HEAVY }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80942E78[] = { ICHAIN_F32_DIV1000(gravity, -900, ICHAIN_CONTINUE), @@ -51,113 +48,115 @@ static InitChainEntry D_80942E78[] = { ICHAIN_F32(uncullZoneDownward, 350, ICHAIN_STOP), }; +#endif extern ColliderJntSphElementInit D_80942DC0[1]; extern ColliderJntSphInit D_80942DE4; extern CollisionCheckInfoInit D_80942DF4; extern InitChainEntry D_80942E78[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_8093E8A0.asm") +extern UNK_TYPE D_060032E0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_8093E91C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_8093E8A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_8093E938.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_8093E91C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_8093E9B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_8093E938.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_8093EAB0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_8093E9B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_8093EAD4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_8093EAB0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_8093EB58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_8093EAD4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_8093EB74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_8093EB58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_8093EC50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_8093EB74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_8093ECD4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_8093EC50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_8093ED80.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_8093ECD4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_8093EDB0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_8093ED80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_8093EDD8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_8093EDB0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_8093EE18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_8093EDD8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_8093EE64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_8093EE18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_8093EEBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_8093EE64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_8093EEDC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_8093EEBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_8093EF54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_8093EEDC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_8093F198.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_8093EF54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_8093F34C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_8093F198.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_8093F498.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_8093F34C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_8093F5EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_8093F498.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_8093F6F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_8093F5EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_8093FAA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_8093F6F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_8093FC00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_8093FAA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_8093FC6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_8093FC00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_80940090.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_8093FC6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_80940588.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_80940090.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_80940A1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_80940588.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_80940E38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_80940A1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_80941060.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_80940E38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_80941274.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_80941060.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/EnGoroiwa_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_80941274.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/EnGoroiwa_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/EnGoroiwa_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_8094156C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/EnGoroiwa_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_809419D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_8094156C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_80941A10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_809419D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_80941DB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_80941A10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_80941E28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_80941DB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_80941EB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_80941E28.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_80941F10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_80941EB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_80941F54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_80941F10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_80941FA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_80941F54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_80942084.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_80941FA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_809420F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_80942084.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_809421E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_809420F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_8094220C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_809421E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_809425CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_8094220C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_80942604.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_809425CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/EnGoroiwa_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_80942604.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/func_80942B1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/EnGoroiwa_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Goroiwa_0x8093E8A0/EnGoroiwa_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/func_80942B1C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Goroiwa/EnGoroiwa_Draw.s") diff --git a/src/overlays/actors/ovl_En_Goroiwa/z_en_goroiwa.h b/src/overlays/actors/ovl_En_Goroiwa/z_en_goroiwa.h index 2935485d0b..c09390d182 100644 --- a/src/overlays/actors/ovl_En_Goroiwa/z_en_goroiwa.h +++ b/src/overlays/actors/ovl_En_Goroiwa/z_en_goroiwa.h @@ -1,13 +1,17 @@ #ifndef Z_EN_GOROIWA_H #define Z_EN_GOROIWA_H -#include +#include "global.h" struct EnGoroiwa; +typedef void (*EnGoroiwaActionFunc)(struct EnGoroiwa* this, GlobalContext* globalCtx); + typedef struct EnGoroiwa { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x108]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x60]; + /* 0x01A4 */ EnGoroiwaActionFunc actionFunc; + /* 0x01A8 */ char unk_1A8[0xA4]; } EnGoroiwa; // size = 0x24C extern const ActorInit En_Goroiwa_InitVars; diff --git a/src/overlays/actors/ovl_En_Grasshopper/z_en_grasshopper.c b/src/overlays/actors/ovl_En_Grasshopper/z_en_grasshopper.c index b958d72a7f..f04e9c2b83 100644 --- a/src/overlays/actors/ovl_En_Grasshopper/z_en_grasshopper.c +++ b/src/overlays/actors/ovl_En_Grasshopper/z_en_grasshopper.c @@ -46,7 +46,6 @@ static DamageTable D_809A8CDC = { /* Powder Keg */ DMG_ENTRY(1, 0xE), }; - const ActorInit En_Grasshopper_InitVars = { ACTOR_EN_GRASSHOPPER, ACTORCAT_ENEMY, @@ -59,7 +58,6 @@ const ActorInit En_Grasshopper_InitVars = { (ActorFunc)EnGrasshopper_Draw, }; - // static ColliderJntSphElementInit sJntSphElementsInit[2] = { static ColliderJntSphElementInit D_809A8D1C[2] = { { @@ -78,72 +76,74 @@ static ColliderJntSphInit D_809A8D64 = { 2, D_809A8D1C, // sJntSphElementsInit, }; +#endif extern DamageTable D_809A8CDC; extern ColliderJntSphElementInit D_809A8D1C[2]; extern ColliderJntSphInit D_809A8D64; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Grasshopper_0x809A6280/EnGrasshopper_Init.asm") +extern UNK_TYPE D_06000F9C; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Grasshopper_0x809A6280/EnGrasshopper_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Grasshopper/EnGrasshopper_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Grasshopper_0x809A6280/func_809A6524.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Grasshopper/EnGrasshopper_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Grasshopper_0x809A6280/func_809A65D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Grasshopper/func_809A6524.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Grasshopper_0x809A6280/func_809A6628.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Grasshopper/func_809A65D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Grasshopper_0x809A6280/func_809A6668.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Grasshopper/func_809A6628.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Grasshopper_0x809A6280/func_809A6754.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Grasshopper/func_809A6668.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Grasshopper_0x809A6280/func_809A67A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Grasshopper/func_809A6754.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Grasshopper_0x809A6280/func_809A6B6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Grasshopper/func_809A67A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Grasshopper_0x809A6280/func_809A6E18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Grasshopper/func_809A6B6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Grasshopper_0x809A6280/func_809A6E74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Grasshopper/func_809A6E18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Grasshopper_0x809A6280/func_809A6F8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Grasshopper/func_809A6E74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Grasshopper_0x809A6280/func_809A700C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Grasshopper/func_809A6F8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Grasshopper_0x809A6280/func_809A7134.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Grasshopper/func_809A700C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Grasshopper_0x809A6280/func_809A71CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Grasshopper/func_809A7134.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Grasshopper_0x809A6280/func_809A7494.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Grasshopper/func_809A71CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Grasshopper_0x809A6280/func_809A753C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Grasshopper/func_809A7494.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Grasshopper_0x809A6280/func_809A7844.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Grasshopper/func_809A753C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Grasshopper_0x809A6280/func_809A78EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Grasshopper/func_809A7844.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Grasshopper_0x809A6280/func_809A797C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Grasshopper/func_809A78EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Grasshopper_0x809A6280/func_809A7A8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Grasshopper/func_809A797C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Grasshopper_0x809A6280/func_809A7AE4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Grasshopper/func_809A7A8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Grasshopper_0x809A6280/func_809A7BBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Grasshopper/func_809A7AE4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Grasshopper_0x809A6280/func_809A7C98.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Grasshopper/func_809A7BBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Grasshopper_0x809A6280/func_809A7CE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Grasshopper/func_809A7C98.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Grasshopper_0x809A6280/func_809A8044.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Grasshopper/func_809A7CE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Grasshopper_0x809A6280/EnGrasshopper_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Grasshopper/func_809A8044.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Grasshopper_0x809A6280/func_809A847C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Grasshopper/EnGrasshopper_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Grasshopper_0x809A6280/EnGrasshopper_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Grasshopper/func_809A847C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Grasshopper_0x809A6280/func_809A8870.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Grasshopper/EnGrasshopper_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Grasshopper_0x809A6280/func_809A8924.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Grasshopper/func_809A8870.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Grasshopper_0x809A6280/func_809A8A64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Grasshopper/func_809A8924.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Grasshopper/func_809A8A64.s") diff --git a/src/overlays/actors/ovl_En_Grasshopper/z_en_grasshopper.h b/src/overlays/actors/ovl_En_Grasshopper/z_en_grasshopper.h index 52b1af55da..ca3319b578 100644 --- a/src/overlays/actors/ovl_En_Grasshopper/z_en_grasshopper.h +++ b/src/overlays/actors/ovl_En_Grasshopper/z_en_grasshopper.h @@ -1,13 +1,17 @@ #ifndef Z_EN_GRASSHOPPER_H #define Z_EN_GRASSHOPPER_H -#include +#include "global.h" struct EnGrasshopper; +typedef void (*EnGrasshopperActionFunc)(struct EnGrasshopper* this, GlobalContext* globalCtx); + typedef struct EnGrasshopper { /* 0x0000 */ Actor actor; - /* 0x0144 */ char unk_0144[0x172C]; + /* 0x0144 */ char unk_144[0x164]; + /* 0x02A8 */ EnGrasshopperActionFunc actionFunc; + /* 0x02AC */ char unk_2AC[0x15C4]; } EnGrasshopper; // size = 0x1870 extern const ActorInit En_Grasshopper_InitVars; diff --git a/src/overlays/actors/ovl_En_Gs/z_en_gs.c b/src/overlays/actors/ovl_En_Gs/z_en_gs.c index f618e58fa9..cb95479b40 100644 --- a/src/overlays/actors/ovl_En_Gs/z_en_gs.c +++ b/src/overlays/actors/ovl_En_Gs/z_en_gs.c @@ -22,7 +22,6 @@ const ActorInit En_Gs_InitVars = { (ActorFunc)EnGs_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_8099A3A0 = { { COLTYPE_METAL, AT_NONE, AC_ON | AC_HARD | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -30,11 +29,9 @@ static ColliderCylinderInit D_8099A3A0 = { { 21, 48, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_8099A3CC = { 0, 0, 0, 0, MASS_IMMOVABLE }; - // static DamageTable sDamageTable = { static DamageTable D_8099A3D8 = { /* Deku Nut */ DMG_ENTRY(0, 0xE), @@ -71,77 +68,78 @@ static DamageTable D_8099A3D8 = { /* Powder Keg */ DMG_ENTRY(0, 0xC), }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_8099A404[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_8099A3A0; extern CollisionCheckInfoInit2 D_8099A3CC; extern DamageTable D_8099A3D8; extern InitChainEntry D_8099A404[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gs_0x80997A90/func_80997A90.asm") +extern UNK_TYPE D_06000950; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gs_0x80997A90/func_80997AFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gs/func_80997A90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gs_0x80997A90/EnGs_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gs/func_80997AFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gs_0x80997A90/EnGs_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gs/EnGs_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gs_0x80997A90/func_80997D14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gs/EnGs_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gs_0x80997A90/func_80997D38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gs/func_80997D14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gs_0x80997A90/func_80997DEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gs/func_80997D38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gs_0x80997A90/func_80997E4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gs/func_80997DEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gs_0x80997A90/func_80997FF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gs/func_80997E4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gs_0x80997A90/func_80998040.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gs/func_80997FF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gs_0x80997A90/func_8099807C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gs/func_80998040.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gs_0x80997A90/func_80998300.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gs/func_8099807C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gs_0x80997A90/func_80998334.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gs/func_80998300.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gs_0x80997A90/func_809984F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gs/func_80998334.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gs_0x80997A90/func_809985B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gs/func_809984F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gs_0x80997A90/func_80998704.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gs/func_809985B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gs_0x80997A90/func_8099874C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gs/func_80998704.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gs_0x80997A90/func_809989B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gs/func_8099874C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gs_0x80997A90/func_809989F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gs/func_809989B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gs_0x80997A90/func_80998A48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gs/func_809989F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gs_0x80997A90/func_80998BBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gs/func_80998A48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gs_0x80997A90/func_80998D44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gs/func_80998BBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gs_0x80997A90/func_80998F9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gs/func_80998D44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gs_0x80997A90/func_80999584.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gs/func_80998F9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gs_0x80997A90/func_809995A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gs/func_80999584.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gs_0x80997A90/func_80999A8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gs/func_809995A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gs_0x80997A90/func_80999AC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gs/func_80999A8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gs_0x80997A90/func_80999B34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gs/func_80999AC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gs_0x80997A90/func_80999BC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gs/func_80999B34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gs_0x80997A90/EnGs_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gs/func_80999BC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Gs_0x80997A90/EnGs_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gs/EnGs_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Gs/EnGs_Draw.s") diff --git a/src/overlays/actors/ovl_En_Gs/z_en_gs.h b/src/overlays/actors/ovl_En_Gs/z_en_gs.h index ee027308a4..7b01d2c0a2 100644 --- a/src/overlays/actors/ovl_En_Gs/z_en_gs.h +++ b/src/overlays/actors/ovl_En_Gs/z_en_gs.h @@ -1,7 +1,7 @@ #ifndef Z_EN_GS_H #define Z_EN_GS_H -#include +#include "global.h" struct EnGs; diff --git a/src/overlays/actors/ovl_En_Guard_Nuts/z_en_guard_nuts.c b/src/overlays/actors/ovl_En_Guard_Nuts/z_en_guard_nuts.c index 45e4034d14..6bf970c34e 100644 --- a/src/overlays/actors/ovl_En_Guard_Nuts/z_en_guard_nuts.c +++ b/src/overlays/actors/ovl_En_Guard_Nuts/z_en_guard_nuts.c @@ -22,7 +22,6 @@ const ActorInit En_Guard_Nuts_InitVars = { (ActorFunc)EnGuardNuts_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80ABBDF0 = { { COLTYPE_NONE, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_PLAYER, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -30,32 +29,35 @@ static ColliderCylinderInit D_80ABBDF0 = { { 50, 50, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80ABBDF0; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Guard_Nuts_0x80ABB0E0/EnGuardNuts_Init.asm") +extern ColliderCylinderInit D_80ABBDF0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Guard_Nuts_0x80ABB0E0/EnGuardNuts_Destroy.asm") +extern UNK_TYPE D_06002700; +extern UNK_TYPE D_06002A08; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Guard_Nuts_0x80ABB0E0/func_80ABB210.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Guard_Nuts/EnGuardNuts_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Guard_Nuts_0x80ABB0E0/func_80ABB29C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Guard_Nuts/EnGuardNuts_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Guard_Nuts_0x80ABB0E0/func_80ABB2D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Guard_Nuts/func_80ABB210.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Guard_Nuts_0x80ABB0E0/func_80ABB540.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Guard_Nuts/func_80ABB29C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Guard_Nuts_0x80ABB0E0/func_80ABB590.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Guard_Nuts/func_80ABB2D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Guard_Nuts_0x80ABB0E0/func_80ABB854.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Guard_Nuts/func_80ABB540.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Guard_Nuts_0x80ABB0E0/func_80ABB91C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Guard_Nuts/func_80ABB590.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Guard_Nuts_0x80ABB0E0/func_80ABB990.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Guard_Nuts/func_80ABB854.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Guard_Nuts_0x80ABB0E0/EnGuardNuts_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Guard_Nuts/func_80ABB91C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Guard_Nuts_0x80ABB0E0/func_80ABBC60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Guard_Nuts/func_80ABB990.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Guard_Nuts_0x80ABB0E0/EnGuardNuts_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Guard_Nuts/EnGuardNuts_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Guard_Nuts/func_80ABBC60.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Guard_Nuts/EnGuardNuts_Draw.s") diff --git a/src/overlays/actors/ovl_En_Guard_Nuts/z_en_guard_nuts.h b/src/overlays/actors/ovl_En_Guard_Nuts/z_en_guard_nuts.h index 6a98a4fa4e..c9cca44d8d 100644 --- a/src/overlays/actors/ovl_En_Guard_Nuts/z_en_guard_nuts.h +++ b/src/overlays/actors/ovl_En_Guard_Nuts/z_en_guard_nuts.h @@ -1,13 +1,17 @@ #ifndef Z_EN_GUARD_NUTS_H #define Z_EN_GUARD_NUTS_H -#include +#include "global.h" struct EnGuardNuts; +typedef void (*EnGuardNutsActionFunc)(struct EnGuardNuts* this, GlobalContext* globalCtx); + typedef struct EnGuardNuts { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x14C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0xC8]; + /* 0x020C */ EnGuardNutsActionFunc actionFunc; + /* 0x0210 */ char unk_210[0x80]; } EnGuardNuts; // size = 0x290 extern const ActorInit En_Guard_Nuts_InitVars; diff --git a/src/overlays/actors/ovl_En_Guruguru/z_en_guruguru.h b/src/overlays/actors/ovl_En_Guruguru/z_en_guruguru.h index e61b6843f5..98d8d05488 100644 --- a/src/overlays/actors/ovl_En_Guruguru/z_en_guruguru.h +++ b/src/overlays/actors/ovl_En_Guruguru/z_en_guruguru.h @@ -1,7 +1,7 @@ #ifndef Z_EN_GURUGURU_H #define Z_EN_GURUGURU_H -#include +#include "global.h" struct EnGuruguru; diff --git a/src/overlays/actors/ovl_En_Hakurock/z_en_hakurock.c b/src/overlays/actors/ovl_En_Hakurock/z_en_hakurock.c index 3b3ddca090..560a86dee1 100644 --- a/src/overlays/actors/ovl_En_Hakurock/z_en_hakurock.c +++ b/src/overlays/actors/ovl_En_Hakurock/z_en_hakurock.c @@ -8,6 +8,12 @@ void EnHakurock_Init(Actor* thisx, GlobalContext* globalCtx); void EnHakurock_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnHakurock_Update(Actor* thisx, GlobalContext* globalCtx); +void func_80B22040(EnHakurock* this, GlobalContext* globalCtx); +void func_80B221E8(EnHakurock* this, GlobalContext* globalCtx); +void func_80B2242C(EnHakurock* this, GlobalContext* globalCtx); +void func_80B22500(EnHakurock* this, GlobalContext* globalCtx); +void func_80B22750(EnHakurock* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Hakurock_InitVars = { ACTOR_EN_HAKUROCK, @@ -21,7 +27,6 @@ const ActorInit En_Hakurock_InitVars = { (ActorFunc)NULL, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80B22A80 = { { COLTYPE_HARD, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_HARD | AC_TYPE_PLAYER, OC1_ON | OC1_NO_PUSH | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -29,45 +34,46 @@ static ColliderCylinderInit D_80B22A80 = { { 60, 60, -30, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit D_80B22AAC = { 0, 60, 60, MASS_IMMOVABLE }; +#endif extern ColliderCylinderInit D_80B22A80; extern CollisionCheckInfoInit D_80B22AAC; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hakurock_0x80B21B00/EnHakurock_Init.asm") +extern UNK_TYPE D_06011100; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hakurock_0x80B21B00/EnHakurock_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hakurock/EnHakurock_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hakurock_0x80B21B00/func_80B21BE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hakurock/EnHakurock_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hakurock_0x80B21B00/func_80B21EA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hakurock/func_80B21BE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hakurock_0x80B21B00/func_80B21FFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hakurock/func_80B21EA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hakurock_0x80B21B00/func_80B22040.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hakurock/func_80B21FFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hakurock_0x80B21B00/func_80B220A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hakurock/func_80B22040.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hakurock_0x80B21B00/func_80B221E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hakurock/func_80B220A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hakurock_0x80B21B00/func_80B222AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hakurock/func_80B221E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hakurock_0x80B21B00/func_80B2242C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hakurock/func_80B222AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hakurock_0x80B21B00/func_80B224C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hakurock/func_80B2242C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hakurock_0x80B21B00/func_80B22500.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hakurock/func_80B224C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hakurock_0x80B21B00/func_80B226AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hakurock/func_80B22500.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hakurock_0x80B21B00/func_80B22750.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hakurock/func_80B226AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hakurock_0x80B21B00/EnHakurock_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hakurock/func_80B22750.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hakurock_0x80B21B00/func_80B228F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hakurock/EnHakurock_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hakurock_0x80B21B00/func_80B229A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hakurock/func_80B228F4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hakurock/func_80B229A4.s") diff --git a/src/overlays/actors/ovl_En_Hakurock/z_en_hakurock.h b/src/overlays/actors/ovl_En_Hakurock/z_en_hakurock.h index 0818480ec5..0d9a2fae92 100644 --- a/src/overlays/actors/ovl_En_Hakurock/z_en_hakurock.h +++ b/src/overlays/actors/ovl_En_Hakurock/z_en_hakurock.h @@ -1,13 +1,16 @@ #ifndef Z_EN_HAKUROCK_H #define Z_EN_HAKUROCK_H -#include +#include "global.h" struct EnHakurock; +typedef void (*EnHakurockActionFunc)(struct EnHakurock* this, GlobalContext* globalCtx); + typedef struct EnHakurock { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x54]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ EnHakurockActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x50]; } EnHakurock; // size = 0x198 extern const ActorInit En_Hakurock_InitVars; diff --git a/src/overlays/actors/ovl_En_Hanabi/z_en_hanabi.c b/src/overlays/actors/ovl_En_Hanabi/z_en_hanabi.c index fd806c1db1..cda19b4fde 100644 --- a/src/overlays/actors/ovl_En_Hanabi/z_en_hanabi.c +++ b/src/overlays/actors/ovl_En_Hanabi/z_en_hanabi.c @@ -8,6 +8,11 @@ void EnHanabi_Init(Actor* thisx, GlobalContext* globalCtx); void EnHanabi_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnHanabi_Update(Actor* thisx, GlobalContext* globalCtx); +void func_80B23894(EnHanabi* this, GlobalContext* globalCtx); +void func_80B238D4(EnHanabi* this, GlobalContext* globalCtx); +void func_80B23910(EnHanabi* this, GlobalContext* globalCtx); +void func_80B23934(EnHanabi* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Hanabi_InitVars = { ACTOR_EN_HANABI, @@ -23,36 +28,36 @@ const ActorInit En_Hanabi_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hanabi_0x80B22C00/func_80B22C00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hanabi/func_80B22C00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hanabi_0x80B22C00/func_80B22C2C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hanabi/func_80B22C2C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hanabi_0x80B22C00/func_80B22C80.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hanabi/func_80B22C80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hanabi_0x80B22C00/func_80B22E0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hanabi/func_80B22E0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hanabi_0x80B22C00/func_80B22F34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hanabi/func_80B22F34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hanabi_0x80B22C00/func_80B22FA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hanabi/func_80B22FA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hanabi_0x80B22C00/EnHanabi_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hanabi/EnHanabi_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hanabi_0x80B22C00/EnHanabi_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hanabi/EnHanabi_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hanabi_0x80B22C00/func_80B234C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hanabi/func_80B234C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hanabi_0x80B22C00/func_80B235CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hanabi/func_80B235CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hanabi_0x80B22C00/func_80B236C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hanabi/func_80B236C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hanabi_0x80B22C00/func_80B23894.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hanabi/func_80B23894.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hanabi_0x80B22C00/func_80B238D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hanabi/func_80B238D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hanabi_0x80B22C00/func_80B23910.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hanabi/func_80B23910.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hanabi_0x80B22C00/func_80B23934.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hanabi/func_80B23934.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hanabi_0x80B22C00/EnHanabi_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hanabi/EnHanabi_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hanabi_0x80B22C00/func_80B23A38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hanabi/func_80B23A38.s") diff --git a/src/overlays/actors/ovl_En_Hanabi/z_en_hanabi.h b/src/overlays/actors/ovl_En_Hanabi/z_en_hanabi.h index dd411e4fb7..41cecc1e90 100644 --- a/src/overlays/actors/ovl_En_Hanabi/z_en_hanabi.h +++ b/src/overlays/actors/ovl_En_Hanabi/z_en_hanabi.h @@ -1,13 +1,16 @@ #ifndef Z_EN_HANABI_H #define Z_EN_HANABI_H -#include +#include "global.h" struct EnHanabi; +typedef void (*EnHanabiActionFunc)(struct EnHanabi* this, GlobalContext* globalCtx); + typedef struct EnHanabi { /* 0x0000 */ Actor actor; - /* 0x0144 */ char unk_0144[0x4514]; + /* 0x0144 */ char unk_144[0x4510]; + /* 0x4654 */ EnHanabiActionFunc actionFunc; } EnHanabi; // size = 0x4658 extern const ActorInit En_Hanabi_InitVars; diff --git a/src/overlays/actors/ovl_En_Hata/z_en_hata.c b/src/overlays/actors/ovl_En_Hata/z_en_hata.c index eb3318ce50..c849e86731 100644 --- a/src/overlays/actors/ovl_En_Hata/z_en_hata.c +++ b/src/overlays/actors/ovl_En_Hata/z_en_hata.c @@ -24,12 +24,14 @@ const ActorInit En_Hata_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hata_0x8089E8E0/EnHata_Init.asm") +extern UNK_TYPE D_06002FD0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hata_0x8089E8E0/EnHata_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hata/EnHata_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hata_0x8089E8E0/EnHata_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hata/EnHata_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hata_0x8089E8E0/func_8089EC68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hata/EnHata_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hata_0x8089E8E0/EnHata_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hata/func_8089EC68.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hata/EnHata_Draw.s") diff --git a/src/overlays/actors/ovl_En_Hata/z_en_hata.h b/src/overlays/actors/ovl_En_Hata/z_en_hata.h index 907f077a38..f80403933a 100644 --- a/src/overlays/actors/ovl_En_Hata/z_en_hata.h +++ b/src/overlays/actors/ovl_En_Hata/z_en_hata.h @@ -1,7 +1,7 @@ #ifndef Z_EN_HATA_H #define Z_EN_HATA_H -#include +#include "global.h" struct EnHata; diff --git a/src/overlays/actors/ovl_En_Heishi/z_en_heishi.c b/src/overlays/actors/ovl_En_Heishi/z_en_heishi.c index 0ff3fefd00..df42118184 100644 --- a/src/overlays/actors/ovl_En_Heishi/z_en_heishi.c +++ b/src/overlays/actors/ovl_En_Heishi/z_en_heishi.c @@ -9,6 +9,8 @@ void EnHeishi_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnHeishi_Update(Actor* thisx, GlobalContext* globalCtx); void EnHeishi_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80BE9214(EnHeishi* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Heishi_InitVars = { ACTOR_EN_HEISHI, @@ -22,7 +24,6 @@ const ActorInit En_Heishi_InitVars = { (ActorFunc)EnHeishi_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80BE9450 = { { COLTYPE_NONE, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_PLAYER, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -30,24 +31,26 @@ static ColliderCylinderInit D_80BE9450 = { { 20, 60, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80BE9450; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Heishi_0x80BE8F20/EnHeishi_Init.asm") +extern ColliderCylinderInit D_80BE9450; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Heishi_0x80BE8F20/EnHeishi_Destroy.asm") +extern UNK_TYPE D_06003BFC; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Heishi_0x80BE8F20/func_80BE90BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Heishi/EnHeishi_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Heishi_0x80BE8F20/func_80BE9148.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Heishi/EnHeishi_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Heishi_0x80BE8F20/func_80BE91DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Heishi/func_80BE90BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Heishi_0x80BE8F20/func_80BE9214.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Heishi/func_80BE9148.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Heishi_0x80BE8F20/EnHeishi_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Heishi/func_80BE91DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Heishi_0x80BE8F20/func_80BE9380.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Heishi/func_80BE9214.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Heishi_0x80BE8F20/EnHeishi_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Heishi/EnHeishi_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Heishi/func_80BE9380.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Heishi/EnHeishi_Draw.s") diff --git a/src/overlays/actors/ovl_En_Heishi/z_en_heishi.h b/src/overlays/actors/ovl_En_Heishi/z_en_heishi.h index 4fc2e26ea2..febb09413d 100644 --- a/src/overlays/actors/ovl_En_Heishi/z_en_heishi.h +++ b/src/overlays/actors/ovl_En_Heishi/z_en_heishi.h @@ -1,13 +1,17 @@ #ifndef Z_EN_HEISHI_H #define Z_EN_HEISHI_H -#include +#include "global.h" struct EnHeishi; +typedef void (*EnHeishiActionFunc)(struct EnHeishi* this, GlobalContext* globalCtx); + typedef struct EnHeishi { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x18C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x110]; + /* 0x0254 */ EnHeishiActionFunc actionFunc; + /* 0x0258 */ char unk_258[0x78]; } EnHeishi; // size = 0x2D0 extern const ActorInit En_Heishi_InitVars; diff --git a/src/overlays/actors/ovl_En_Hg/z_en_hg.c b/src/overlays/actors/ovl_En_Hg/z_en_hg.c index 8e2a6af9a7..1e14aa3559 100644 --- a/src/overlays/actors/ovl_En_Hg/z_en_hg.c +++ b/src/overlays/actors/ovl_En_Hg/z_en_hg.c @@ -30,16 +30,16 @@ void func_80BCF95C(EnHg* this, GlobalContext* globalCtx); s32 EnHg_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx); void EnHg_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, Actor* thisx); -extern FlexSkeletonHeader D_06008580; -extern AnimationHeader D_0600260C; -extern AnimationHeader D_06009D44; -extern AnimationHeader D_0600A164; extern AnimationHeader D_06000370; extern AnimationHeader D_06001138; extern AnimationHeader D_060015D4; extern AnimationHeader D_06001960; -extern AnimationHeader D_0600AE1C; +extern AnimationHeader D_0600260C; extern Gfx D_06005E28[]; +extern FlexSkeletonHeader D_06008580; +extern AnimationHeader D_06009D44; +extern AnimationHeader D_0600A164; +extern AnimationHeader D_0600AE1C; const ActorInit En_Hg_InitVars = { ACTOR_EN_HG, diff --git a/src/overlays/actors/ovl_En_Hg/z_en_hg.h b/src/overlays/actors/ovl_En_Hg/z_en_hg.h index 6fde574161..e6825ea45b 100644 --- a/src/overlays/actors/ovl_En_Hg/z_en_hg.h +++ b/src/overlays/actors/ovl_En_Hg/z_en_hg.h @@ -1,7 +1,7 @@ #ifndef Z_EN_HG_H #define Z_EN_HG_H -#include +#include "global.h" struct EnHg; diff --git a/src/overlays/actors/ovl_En_Hgo/z_en_hgo.c b/src/overlays/actors/ovl_En_Hgo/z_en_hgo.c index d3cfb8b428..3a206e0c46 100644 --- a/src/overlays/actors/ovl_En_Hgo/z_en_hgo.c +++ b/src/overlays/actors/ovl_En_Hgo/z_en_hgo.c @@ -22,7 +22,6 @@ const ActorInit En_Hgo_InitVars = { (ActorFunc)EnHgo_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80BD0F48 = { { COLTYPE_NONE, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -30,45 +29,47 @@ static ColliderCylinderInit D_80BD0F48 = { { 18, 46, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_80BD0F74 = { 0, 0, 0, 0, MASS_IMMOVABLE }; +#endif extern ColliderCylinderInit D_80BD0F48; extern CollisionCheckInfoInit2 D_80BD0F74; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hgo_0x80BD02B0/EnHgo_Init.asm") +extern UNK_TYPE D_0600B644; +extern UNK_TYPE D_0600F248; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hgo_0x80BD02B0/EnHgo_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hgo/EnHgo_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hgo_0x80BD02B0/func_80BD03EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hgo/EnHgo_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hgo_0x80BD02B0/func_80BD0410.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hgo/func_80BD03EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hgo_0x80BD02B0/func_80BD0420.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hgo/func_80BD0410.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hgo_0x80BD02B0/func_80BD0434.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hgo/func_80BD0420.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hgo_0x80BD02B0/func_80BD049C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hgo/func_80BD0434.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hgo_0x80BD02B0/func_80BD04E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hgo/func_80BD049C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hgo_0x80BD02B0/func_80BD064C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hgo/func_80BD04E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hgo_0x80BD02B0/func_80BD0660.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hgo/func_80BD064C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hgo_0x80BD02B0/func_80BD06FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hgo/func_80BD0660.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hgo_0x80BD02B0/func_80BD0898.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hgo/func_80BD06FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hgo_0x80BD02B0/func_80BD0B8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hgo/func_80BD0898.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hgo_0x80BD02B0/EnHgo_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hgo/func_80BD0B8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hgo_0x80BD02B0/func_80BD0CF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hgo/EnHgo_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hgo_0x80BD02B0/func_80BD0D38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hgo/func_80BD0CF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hgo_0x80BD02B0/EnHgo_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hgo/func_80BD0D38.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hgo/EnHgo_Draw.s") diff --git a/src/overlays/actors/ovl_En_Hgo/z_en_hgo.h b/src/overlays/actors/ovl_En_Hgo/z_en_hgo.h index a82ab004c9..5774039c63 100644 --- a/src/overlays/actors/ovl_En_Hgo/z_en_hgo.h +++ b/src/overlays/actors/ovl_En_Hgo/z_en_hgo.h @@ -1,13 +1,17 @@ #ifndef Z_EN_HGO_H #define Z_EN_HGO_H -#include +#include "global.h" struct EnHgo; +typedef void (*EnHgoActionFunc)(struct EnHgo* this, GlobalContext* globalCtx); + typedef struct EnHgo { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x1D4]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x90]; + /* 0x01D4 */ EnHgoActionFunc actionFunc; + /* 0x01D8 */ char unk_1D8[0x140]; } EnHgo; // size = 0x318 extern const ActorInit En_Hgo_InitVars; diff --git a/src/overlays/actors/ovl_En_Hidden_Nuts/z_en_hidden_nuts.c b/src/overlays/actors/ovl_En_Hidden_Nuts/z_en_hidden_nuts.c index 2c50bcb0ca..03fb8e965b 100644 --- a/src/overlays/actors/ovl_En_Hidden_Nuts/z_en_hidden_nuts.c +++ b/src/overlays/actors/ovl_En_Hidden_Nuts/z_en_hidden_nuts.c @@ -9,6 +9,14 @@ void EnHiddenNuts_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnHiddenNuts_Update(Actor* thisx, GlobalContext* globalCtx); void EnHiddenNuts_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80BDB2B8(EnHiddenNuts* this, GlobalContext* globalCtx); +void func_80BDB59C(EnHiddenNuts* this, GlobalContext* globalCtx); +void func_80BDB7E8(EnHiddenNuts* this, GlobalContext* globalCtx); +void func_80BDB8F4(EnHiddenNuts* this, GlobalContext* globalCtx); +void func_80BDB978(EnHiddenNuts* this, GlobalContext* globalCtx); +void func_80BDBB48(EnHiddenNuts* this, GlobalContext* globalCtx); +void func_80BDBED4(EnHiddenNuts* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Hidden_Nuts_InitVars = { ACTOR_EN_HIDDEN_NUTS, @@ -22,7 +30,6 @@ const ActorInit En_Hidden_Nuts_InitVars = { (ActorFunc)EnHiddenNuts_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80BDC0D0 = { { COLTYPE_NONE, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_PLAYER, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,42 +37,44 @@ static ColliderCylinderInit D_80BDC0D0 = { { 30, 20, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80BDC0D0; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hidden_Nuts_0x80BDB040/EnHiddenNuts_Init.asm") +extern ColliderCylinderInit D_80BDC0D0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hidden_Nuts_0x80BDB040/EnHiddenNuts_Destroy.asm") +extern UNK_TYPE D_060024CC; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hidden_Nuts_0x80BDB040/func_80BDB1B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hidden_Nuts/EnHiddenNuts_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hidden_Nuts_0x80BDB040/func_80BDB268.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hidden_Nuts/EnHiddenNuts_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hidden_Nuts_0x80BDB040/func_80BDB2B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hidden_Nuts/func_80BDB1B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hidden_Nuts_0x80BDB040/func_80BDB580.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hidden_Nuts/func_80BDB268.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hidden_Nuts_0x80BDB040/func_80BDB59C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hidden_Nuts/func_80BDB2B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hidden_Nuts_0x80BDB040/func_80BDB788.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hidden_Nuts/func_80BDB580.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hidden_Nuts_0x80BDB040/func_80BDB7E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hidden_Nuts/func_80BDB59C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hidden_Nuts_0x80BDB040/func_80BDB8F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hidden_Nuts/func_80BDB788.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hidden_Nuts_0x80BDB040/func_80BDB930.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hidden_Nuts/func_80BDB7E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hidden_Nuts_0x80BDB040/func_80BDB978.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hidden_Nuts/func_80BDB8F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hidden_Nuts_0x80BDB040/func_80BDBA28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hidden_Nuts/func_80BDB930.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hidden_Nuts_0x80BDB040/func_80BDBB48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hidden_Nuts/func_80BDB978.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hidden_Nuts_0x80BDB040/func_80BDBE70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hidden_Nuts/func_80BDBA28.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hidden_Nuts_0x80BDB040/func_80BDBED4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hidden_Nuts/func_80BDBB48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hidden_Nuts_0x80BDB040/EnHiddenNuts_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hidden_Nuts/func_80BDBE70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hidden_Nuts_0x80BDB040/EnHiddenNuts_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hidden_Nuts/func_80BDBED4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hidden_Nuts/EnHiddenNuts_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hidden_Nuts/EnHiddenNuts_Draw.s") diff --git a/src/overlays/actors/ovl_En_Hidden_Nuts/z_en_hidden_nuts.h b/src/overlays/actors/ovl_En_Hidden_Nuts/z_en_hidden_nuts.h index cdceff787a..07533e102a 100644 --- a/src/overlays/actors/ovl_En_Hidden_Nuts/z_en_hidden_nuts.h +++ b/src/overlays/actors/ovl_En_Hidden_Nuts/z_en_hidden_nuts.h @@ -1,13 +1,17 @@ #ifndef Z_EN_HIDDEN_NUTS_H #define Z_EN_HIDDEN_NUTS_H -#include +#include "global.h" struct EnHiddenNuts; +typedef void (*EnHiddenNutsActionFunc)(struct EnHiddenNuts* this, GlobalContext* globalCtx); + typedef struct EnHiddenNuts { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x13C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0xBC]; + /* 0x0200 */ EnHiddenNutsActionFunc actionFunc; + /* 0x0204 */ char unk_204[0x7C]; } EnHiddenNuts; // size = 0x280 extern const ActorInit En_Hidden_Nuts_InitVars; diff --git a/src/overlays/actors/ovl_En_Hint_Skb/z_en_hint_skb.c b/src/overlays/actors/ovl_En_Hint_Skb/z_en_hint_skb.c index 0d94b62a44..c9436c9d92 100644 --- a/src/overlays/actors/ovl_En_Hint_Skb/z_en_hint_skb.c +++ b/src/overlays/actors/ovl_En_Hint_Skb/z_en_hint_skb.c @@ -9,6 +9,18 @@ void EnHintSkb_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnHintSkb_Update(Actor* thisx, GlobalContext* globalCtx); void EnHintSkb_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80C1FE20(EnHintSkb* this, GlobalContext* globalCtx); +void func_80C1FE80(EnHintSkb* this, GlobalContext* globalCtx); +void func_80C1FF88(EnHintSkb* this, GlobalContext* globalCtx); +void func_80C200B8(EnHintSkb* this, GlobalContext* globalCtx); +void func_80C2016C(EnHintSkb* this, GlobalContext* globalCtx); +void func_80C20334(EnHintSkb* this, GlobalContext* globalCtx); +void func_80C204F0(EnHintSkb* this, GlobalContext* globalCtx); +void func_80C20590(EnHintSkb* this, GlobalContext* globalCtx); +void func_80C2069C(EnHintSkb* this, GlobalContext* globalCtx); +void func_80C2077C(EnHintSkb* this, GlobalContext* globalCtx); +void func_80C208D0(EnHintSkb* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Hint_Skb_InitVars = { ACTOR_EN_HINT_SKB, @@ -22,7 +34,6 @@ const ActorInit En_Hint_Skb_InitVars = { (ActorFunc)EnHintSkb_Draw, }; - // static ColliderJntSphElementInit sJntSphElementsInit[2] = { static ColliderJntSphElementInit D_80C21C80[2] = { { @@ -41,11 +52,9 @@ static ColliderJntSphInit D_80C21CC8 = { 2, D_80C21C80, // sJntSphElementsInit, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_80C21CD8 = { 2, 0, 0, 0, MASS_IMMOVABLE }; - // static DamageTable sDamageTable = { static DamageTable D_80C21CE4 = { /* Deku Nut */ DMG_ENTRY(0, 0x1), @@ -82,93 +91,96 @@ static DamageTable D_80C21CE4 = { /* Powder Keg */ DMG_ENTRY(1, 0xF), }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80C21E3C[] = { ICHAIN_F32(targetArrowOffset, 2000, ICHAIN_CONTINUE), ICHAIN_F32_DIV1000(gravity, -2000, ICHAIN_STOP), }; +#endif extern ColliderJntSphElementInit D_80C21C80[2]; extern ColliderJntSphInit D_80C21CC8; extern CollisionCheckInfoInit2 D_80C21CD8; extern DamageTable D_80C21CE4; extern InitChainEntry D_80C21E3C[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hint_Skb_0x80C1FCF0/EnHintSkb_Init.asm") +extern UNK_TYPE D_06002190; +extern UNK_TYPE D_06003584; +extern UNK_TYPE D_0600697C; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hint_Skb_0x80C1FCF0/EnHintSkb_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hint_Skb/EnHintSkb_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hint_Skb_0x80C1FCF0/func_80C1FE0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hint_Skb/EnHintSkb_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hint_Skb_0x80C1FCF0/func_80C1FE20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hint_Skb/func_80C1FE0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hint_Skb_0x80C1FCF0/func_80C1FE30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hint_Skb/func_80C1FE20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hint_Skb_0x80C1FCF0/func_80C1FE80.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hint_Skb/func_80C1FE30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hint_Skb_0x80C1FCF0/func_80C1FF30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hint_Skb/func_80C1FE80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hint_Skb_0x80C1FCF0/func_80C1FF88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hint_Skb/func_80C1FF30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hint_Skb_0x80C1FCF0/func_80C2003C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hint_Skb/func_80C1FF88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hint_Skb_0x80C1FCF0/func_80C200B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hint_Skb/func_80C2003C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hint_Skb_0x80C1FCF0/func_80C2011C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hint_Skb/func_80C200B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hint_Skb_0x80C1FCF0/func_80C2016C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hint_Skb/func_80C2011C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hint_Skb_0x80C1FCF0/func_80C20274.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hint_Skb/func_80C2016C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hint_Skb_0x80C1FCF0/func_80C20334.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hint_Skb/func_80C20274.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hint_Skb_0x80C1FCF0/func_80C20484.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hint_Skb/func_80C20334.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hint_Skb_0x80C1FCF0/func_80C204F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hint_Skb/func_80C20484.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hint_Skb_0x80C1FCF0/func_80C20540.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hint_Skb/func_80C204F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hint_Skb_0x80C1FCF0/func_80C20590.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hint_Skb/func_80C20540.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hint_Skb_0x80C1FCF0/func_80C2066C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hint_Skb/func_80C20590.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hint_Skb_0x80C1FCF0/func_80C2069C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hint_Skb/func_80C2066C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hint_Skb_0x80C1FCF0/func_80C2075C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hint_Skb/func_80C2069C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hint_Skb_0x80C1FCF0/func_80C2077C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hint_Skb/func_80C2075C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hint_Skb_0x80C1FCF0/func_80C208BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hint_Skb/func_80C2077C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hint_Skb_0x80C1FCF0/func_80C208D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hint_Skb/func_80C208BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hint_Skb_0x80C1FCF0/func_80C20A74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hint_Skb/func_80C208D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hint_Skb_0x80C1FCF0/func_80C20B88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hint_Skb/func_80C20A74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hint_Skb_0x80C1FCF0/func_80C20C24.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hint_Skb/func_80C20B88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hint_Skb_0x80C1FCF0/func_80C20D64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hint_Skb/func_80C20C24.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hint_Skb_0x80C1FCF0/func_80C20E90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hint_Skb/func_80C20D64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hint_Skb_0x80C1FCF0/func_80C21250.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hint_Skb/func_80C20E90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hint_Skb_0x80C1FCF0/func_80C21320.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hint_Skb/func_80C21250.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hint_Skb_0x80C1FCF0/func_80C21414.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hint_Skb/func_80C21320.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hint_Skb_0x80C1FCF0/func_80C21468.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hint_Skb/func_80C21414.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hint_Skb_0x80C1FCF0/func_80C215E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hint_Skb/func_80C21468.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hint_Skb_0x80C1FCF0/EnHintSkb_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hint_Skb/func_80C215E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hint_Skb_0x80C1FCF0/func_80C21858.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hint_Skb/EnHintSkb_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hint_Skb_0x80C1FCF0/func_80C219D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hint_Skb/func_80C21858.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hint_Skb_0x80C1FCF0/EnHintSkb_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hint_Skb/func_80C219D4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hint_Skb/EnHintSkb_Draw.s") diff --git a/src/overlays/actors/ovl_En_Hint_Skb/z_en_hint_skb.h b/src/overlays/actors/ovl_En_Hint_Skb/z_en_hint_skb.h index 57e3de4aa5..3f79cae98b 100644 --- a/src/overlays/actors/ovl_En_Hint_Skb/z_en_hint_skb.h +++ b/src/overlays/actors/ovl_En_Hint_Skb/z_en_hint_skb.h @@ -1,13 +1,17 @@ #ifndef Z_EN_HINT_SKB_H #define Z_EN_HINT_SKB_H -#include +#include "global.h" struct EnHintSkb; +typedef void (*EnHintSkbActionFunc)(struct EnHintSkb* this, GlobalContext* globalCtx); + typedef struct EnHintSkb { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x2A8]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0xE4]; + /* 0x0228 */ EnHintSkbActionFunc actionFunc; + /* 0x022C */ char unk_22C[0x1C0]; } EnHintSkb; // size = 0x3EC extern const ActorInit En_Hint_Skb_InitVars; diff --git a/src/overlays/actors/ovl_En_Hit_Tag/z_en_hit_tag.c b/src/overlays/actors/ovl_En_Hit_Tag/z_en_hit_tag.c index ed62f7f531..98f2eca76c 100644 --- a/src/overlays/actors/ovl_En_Hit_Tag/z_en_hit_tag.c +++ b/src/overlays/actors/ovl_En_Hit_Tag/z_en_hit_tag.c @@ -8,6 +8,8 @@ void EnHitTag_Init(Actor* thisx, GlobalContext* globalCtx); void EnHitTag_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnHitTag_Update(Actor* thisx, GlobalContext* globalCtx); +void func_80BE20E8(EnHitTag* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Hit_Tag_InitVars = { ACTOR_EN_HIT_TAG, @@ -21,7 +23,6 @@ const ActorInit En_Hit_Tag_InitVars = { (ActorFunc)NULL, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80BE21F0 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_PLAYER, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -29,14 +30,14 @@ static ColliderCylinderInit D_80BE21F0 = { { 16, 32, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80BE21F0; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hit_Tag_0x80BE2030/EnHitTag_Init.asm") +extern ColliderCylinderInit D_80BE21F0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hit_Tag_0x80BE2030/EnHitTag_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hit_Tag/EnHitTag_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hit_Tag_0x80BE2030/func_80BE20E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hit_Tag/EnHitTag_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hit_Tag_0x80BE2030/EnHitTag_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hit_Tag/func_80BE20E8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hit_Tag/EnHitTag_Update.s") diff --git a/src/overlays/actors/ovl_En_Hit_Tag/z_en_hit_tag.h b/src/overlays/actors/ovl_En_Hit_Tag/z_en_hit_tag.h index 1e742be8a1..26e3c006a5 100644 --- a/src/overlays/actors/ovl_En_Hit_Tag/z_en_hit_tag.h +++ b/src/overlays/actors/ovl_En_Hit_Tag/z_en_hit_tag.h @@ -1,13 +1,16 @@ #ifndef Z_EN_HIT_TAG_H #define Z_EN_HIT_TAG_H -#include +#include "global.h" struct EnHitTag; +typedef void (*EnHitTagActionFunc)(struct EnHitTag* this, GlobalContext* globalCtx); + typedef struct EnHitTag { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x50]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x4C]; + /* 0x0190 */ EnHitTagActionFunc actionFunc; } EnHitTag; // size = 0x194 extern const ActorInit En_Hit_Tag_InitVars; diff --git a/src/overlays/actors/ovl_En_Holl/z_en_holl.c b/src/overlays/actors/ovl_En_Holl/z_en_holl.c index d108f992a2..0b7accd486 100644 --- a/src/overlays/actors/ovl_En_Holl/z_en_holl.c +++ b/src/overlays/actors/ovl_En_Holl/z_en_holl.c @@ -9,6 +9,8 @@ void EnHoll_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnHoll_Update(Actor* thisx, GlobalContext* globalCtx); void EnHoll_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_8089A330(EnHoll* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Holl_InitVars = { ACTOR_EN_HOLL, @@ -22,7 +24,6 @@ const ActorInit En_Holl_InitVars = { (ActorFunc)EnHoll_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_8089A5D0[] = { ICHAIN_F32(uncullZoneForward, 4000, ICHAIN_CONTINUE), @@ -30,30 +31,30 @@ static InitChainEntry D_8089A5D0[] = { ICHAIN_F32(uncullZoneDownward, 400, ICHAIN_STOP), }; - -extern InitChainEntry D_8089A5D0[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Holl_0x80899960/func_80899960.asm") +extern InitChainEntry D_8089A5D0[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Holl_0x80899960/func_808999B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Holl/func_80899960.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Holl_0x80899960/EnHoll_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Holl/func_808999B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Holl_0x80899960/EnHoll_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Holl/EnHoll_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Holl_0x80899960/func_80899ACC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Holl/EnHoll_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Holl_0x80899960/func_80899B88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Holl/func_80899ACC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Holl_0x80899960/func_80899F30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Holl/func_80899B88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Holl_0x80899960/func_8089A0C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Holl/func_80899F30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Holl_0x80899960/func_8089A238.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Holl/func_8089A0C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Holl_0x80899960/func_8089A330.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Holl/func_8089A238.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Holl_0x80899960/EnHoll_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Holl/func_8089A330.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Holl_0x80899960/EnHoll_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Holl/EnHoll_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Holl/EnHoll_Draw.s") diff --git a/src/overlays/actors/ovl_En_Holl/z_en_holl.h b/src/overlays/actors/ovl_En_Holl/z_en_holl.h index a3e4530e42..3637bffbf8 100644 --- a/src/overlays/actors/ovl_En_Holl/z_en_holl.h +++ b/src/overlays/actors/ovl_En_Holl/z_en_holl.h @@ -1,13 +1,16 @@ #ifndef Z_EN_HOLL_H #define Z_EN_HOLL_H -#include +#include "global.h" struct EnHoll; +typedef void (*EnHollActionFunc)(struct EnHoll* this, GlobalContext* globalCtx); + typedef struct EnHoll { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x8]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x4]; + /* 0x0148 */ EnHollActionFunc actionFunc; } EnHoll; // size = 0x14C extern const ActorInit En_Holl_InitVars; diff --git a/src/overlays/actors/ovl_En_Honotrap/z_en_honotrap.c b/src/overlays/actors/ovl_En_Honotrap/z_en_honotrap.c index 267dc6c26c..19e79782c5 100644 --- a/src/overlays/actors/ovl_En_Honotrap/z_en_honotrap.c +++ b/src/overlays/actors/ovl_En_Honotrap/z_en_honotrap.c @@ -9,6 +9,21 @@ void EnHonotrap_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnHonotrap_Update(Actor* thisx, GlobalContext* globalCtx); void EnHonotrap_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_8092EBDC(EnHonotrap* this, GlobalContext* globalCtx); +void func_8092ECF0(EnHonotrap* this, GlobalContext* globalCtx); +void func_8092EDD8(EnHonotrap* this, GlobalContext* globalCtx); +void func_8092EE1C(EnHonotrap* this, GlobalContext* globalCtx); +void func_8092EE90(EnHonotrap* this, GlobalContext* globalCtx); +void func_8092EF98(EnHonotrap* this, GlobalContext* globalCtx); +void func_8092F074(EnHonotrap* this, GlobalContext* globalCtx); +void func_8092F0B8(EnHonotrap* this, GlobalContext* globalCtx); +void func_8092F10C(EnHonotrap* this, GlobalContext* globalCtx); +void func_8092F208(EnHonotrap* this, GlobalContext* globalCtx); +void func_8092F3D8(EnHonotrap* this, GlobalContext* globalCtx); +void func_8092F5EC(EnHonotrap* this, GlobalContext* globalCtx); +void func_8092F7BC(EnHonotrap* this, GlobalContext* globalCtx); +void func_8092F878(EnHonotrap* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Honotrap_InitVars = { ACTOR_EN_HONOTRAP, @@ -22,7 +37,6 @@ const ActorInit En_Honotrap_InitVars = { (ActorFunc)EnHonotrap_Draw, }; - // static ColliderTrisElementInit sTrisElementsInit[2] = { static ColliderTrisElementInit D_80930424[2] = { { @@ -41,7 +55,6 @@ static ColliderTrisInit D_8093049C = { 2, D_80930424, // sTrisElementsInit, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_809304AC = { { COLTYPE_NONE, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -49,11 +62,9 @@ static ColliderCylinderInit D_809304AC = { { 10, 25, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit D_809304D8 = { 0, 9, 23, 1 }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_809304E0[] = { ICHAIN_F32(uncullZoneForward, 4000, ICHAIN_CONTINUE), @@ -61,92 +72,92 @@ static InitChainEntry D_809304E0[] = { ICHAIN_F32(uncullZoneDownward, 100, ICHAIN_STOP), }; +#endif extern ColliderTrisElementInit D_80930424[2]; extern ColliderTrisInit D_8093049C; extern ColliderCylinderInit D_809304AC; extern CollisionCheckInfoInit D_809304D8; extern InitChainEntry D_809304E0[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Honotrap_0x8092E510/func_8092E510.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Honotrap/func_8092E510.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Honotrap_0x8092E510/func_8092E5A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Honotrap/func_8092E5A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Honotrap_0x8092E510/func_8092E638.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Honotrap/func_8092E638.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Honotrap_0x8092E510/func_8092E840.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Honotrap/func_8092E840.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Honotrap_0x8092E510/func_8092E988.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Honotrap/func_8092E988.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Honotrap_0x8092E510/EnHonotrap_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Honotrap/EnHonotrap_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Honotrap_0x8092E510/EnHonotrap_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Honotrap/EnHonotrap_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Honotrap_0x8092E510/func_8092EBC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Honotrap/func_8092EBC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Honotrap_0x8092E510/func_8092EBDC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Honotrap/func_8092EBDC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Honotrap_0x8092E510/func_8092EC9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Honotrap/func_8092EC9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Honotrap_0x8092E510/func_8092ECF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Honotrap/func_8092ECF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Honotrap_0x8092E510/func_8092EDC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Honotrap/func_8092EDC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Honotrap_0x8092E510/func_8092EDD8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Honotrap/func_8092EDD8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Honotrap_0x8092E510/func_8092EE08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Honotrap/func_8092EE08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Honotrap_0x8092E510/func_8092EE1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Honotrap/func_8092EE1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Honotrap_0x8092E510/func_8092EE68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Honotrap/func_8092EE68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Honotrap_0x8092E510/func_8092EE90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Honotrap/func_8092EE90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Honotrap_0x8092E510/func_8092EF3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Honotrap/func_8092EF3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Honotrap_0x8092E510/func_8092EF98.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Honotrap/func_8092EF98.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Honotrap_0x8092E510/func_8092F05C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Honotrap/func_8092F05C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Honotrap_0x8092E510/func_8092F074.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Honotrap/func_8092F074.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Honotrap_0x8092E510/func_8092F0A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Honotrap/func_8092F0A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Honotrap_0x8092E510/func_8092F0B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Honotrap/func_8092F0B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Honotrap_0x8092E510/func_8092F0F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Honotrap/func_8092F0F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Honotrap_0x8092E510/func_8092F10C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Honotrap/func_8092F10C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Honotrap_0x8092E510/func_8092F1A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Honotrap/func_8092F1A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Honotrap_0x8092E510/func_8092F208.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Honotrap/func_8092F208.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Honotrap_0x8092E510/func_8092F34C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Honotrap/func_8092F34C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Honotrap_0x8092E510/func_8092F3D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Honotrap/func_8092F3D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Honotrap_0x8092E510/func_8092F5AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Honotrap/func_8092F5AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Honotrap_0x8092E510/func_8092F5EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Honotrap/func_8092F5EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Honotrap_0x8092E510/func_8092F7A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Honotrap/func_8092F7A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Honotrap_0x8092E510/func_8092F7BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Honotrap/func_8092F7BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Honotrap_0x8092E510/func_8092F854.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Honotrap/func_8092F854.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Honotrap_0x8092E510/func_8092F878.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Honotrap/func_8092F878.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Honotrap_0x8092E510/EnHonotrap_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Honotrap/EnHonotrap_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Honotrap_0x8092E510/func_8092FE44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Honotrap/func_8092FE44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Honotrap_0x8092E510/func_8092FEFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Honotrap/func_8092FEFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Honotrap_0x8092E510/EnHonotrap_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Honotrap/EnHonotrap_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Honotrap_0x8092E510/func_80930030.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Honotrap/func_80930030.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Honotrap_0x8092E510/func_80930190.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Honotrap/func_80930190.s") diff --git a/src/overlays/actors/ovl_En_Honotrap/z_en_honotrap.h b/src/overlays/actors/ovl_En_Honotrap/z_en_honotrap.h index 93b67e5fd6..b9d341e298 100644 --- a/src/overlays/actors/ovl_En_Honotrap/z_en_honotrap.h +++ b/src/overlays/actors/ovl_En_Honotrap/z_en_honotrap.h @@ -1,13 +1,16 @@ #ifndef Z_EN_HONOTRAP_H #define Z_EN_HONOTRAP_H -#include +#include "global.h" struct EnHonotrap; +typedef void (*EnHonotrapActionFunc)(struct EnHonotrap* this, GlobalContext* globalCtx); + typedef struct EnHonotrap { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x180]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ EnHonotrapActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x17C]; } EnHonotrap; // size = 0x2C4 extern const ActorInit En_Honotrap_InitVars; diff --git a/src/overlays/actors/ovl_En_Horse/z_en_horse.c b/src/overlays/actors/ovl_En_Horse/z_en_horse.c index aabe101cd0..4eddd6b422 100644 --- a/src/overlays/actors/ovl_En_Horse/z_en_horse.c +++ b/src/overlays/actors/ovl_En_Horse/z_en_horse.c @@ -22,7 +22,6 @@ const ActorInit En_Horse_InitVars = { (ActorFunc)EnHorse_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80888F74 = { { COLTYPE_NONE, AT_NONE | AT_TYPE_PLAYER, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1 | OC2_UNK1, COLSHAPE_CYLINDER, }, @@ -30,7 +29,6 @@ static ColliderCylinderInit D_80888F74 = { { 20, 70, 0, { 0, 0, 0 } }, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80888FA0 = { { COLTYPE_NONE, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1 | OC2_UNK1, COLSHAPE_CYLINDER, }, @@ -38,7 +36,6 @@ static ColliderCylinderInit D_80888FA0 = { { 20, 70, 0, { 0, 0, 0 } }, }; - // static ColliderJntSphElementInit sJntSphElementsInit[1] = { static ColliderJntSphElementInit D_80888FCC[1] = { { @@ -53,17 +50,16 @@ static ColliderJntSphInit D_80888FF0 = { 1, D_80888FCC, // sJntSphElementsInit, }; - // sColChkInfoInit static CollisionCheckInfoInit D_80889000 = { 10, 35, 100, MASS_HEAVY }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80889010[] = { ICHAIN_F32(uncullZoneScale, 1200, ICHAIN_CONTINUE), ICHAIN_F32(uncullZoneDownward, 300, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80888F74; extern ColliderCylinderInit D_80888FA0; @@ -71,318 +67,325 @@ extern ColliderJntSphElementInit D_80888FCC[1]; extern ColliderJntSphInit D_80888FF0; extern CollisionCheckInfoInit D_80889000; extern InitChainEntry D_80889010[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087B730.asm") +extern UNK_TYPE D_06008C68; +extern UNK_TYPE D_0600A8DC; +extern UNK_TYPE D_0600AD08; +extern UNK_TYPE D_0600B3E0; +extern UNK_TYPE D_0600BDE0; +extern UNK_TYPE D_0600D178; +extern UNK_TYPE D_0600D4E8; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087B784.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087B730.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087B7C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087B784.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087C0AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087B7C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087C178.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087C0AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087C1C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087C178.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087C208.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087C1C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087C288.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087C208.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087C2B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087C288.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087C38C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087C2B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087C43C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087C38C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087C590.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087C43C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087C8B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087C590.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087C8D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087C8B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087C8E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087C8D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087C9D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087C8E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087C9EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087C9D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087C9F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087C9EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087CA04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087C9F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/EnHorse_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087CA04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087D540.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/EnHorse_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/EnHorse_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087D540.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087D70C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/EnHorse_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087D75C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087D70C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087D814.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087D75C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087D988.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087D814.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087DDEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087D988.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087DE28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087DDEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087DF64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087DE28.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087E080.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087DF64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087E0A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087E080.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087E18C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087E0A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087E2A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087E18C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087E350.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087E2A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087E564.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087E350.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087E5B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087E564.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087E5D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087E5B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087E684.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087E5D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087E6D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087E684.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087E92C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087E6D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087E9D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087E92C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087EA1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087E9D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087EB54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087EA1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087EB78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087EB54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087EC20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087EB78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087EC78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087EC20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087ED10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087EC78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087EEC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087ED10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087F078.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087EEC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087F1FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087F078.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087F39C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087F1FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087F590.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087F39C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087F5B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087F590.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087F658.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087F5B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087F9A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087F658.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087F9C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087F9A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087FB08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087F9C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087FB14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087FB08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087FD94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087FB14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087FDB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087FD94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087FF08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087FDB8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8087FF14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087FF08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_808801A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8087FF14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_808801F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_808801A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_808802D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_808801F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_808804A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_808802D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_808804CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_808804A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80880500.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_808804CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80880534.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80880500.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_808806DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80880534.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80880844.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_808806DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80880978.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80880844.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80880D50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80880978.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80880DA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80880D50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80880E00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80880DA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80881128.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80880E00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8088126C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80881128.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80881290.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8088126C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80881398.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80881290.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8088159C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80881398.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80881634.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8088159C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8088168C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80881634.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_808819D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8088168C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80881BDC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_808819D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80881C54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80881BDC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80881DA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80881C54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80881DC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80881DA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80881F10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80881DC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80881F48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80881F10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_808821C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80881F48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_808822CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_808821C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8088247C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_808822CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80882564.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8088247C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_808826B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80882564.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80882820.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_808826B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_808829D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80882820.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_808829F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_808829D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80882A44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_808829F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80882B9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80882A44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80882D8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80882B9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80882DC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80882D8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80883104.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80882DC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80883308.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80883104.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80883B70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80883308.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80883BEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80883B70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80883CB0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80883BEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80883D64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80883CB0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80883DE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80883D64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80883E10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80883DE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80883EA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80883E10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80883F18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80883EA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80883F98.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80883F18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80884010.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80883F98.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_808840C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80884010.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80884194.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_808840C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8088424C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80884194.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80884314.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8088424C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_808843B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80884314.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80884444.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_808843B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_808844E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80884444.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80884564.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_808844E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80884604.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80884564.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_808846B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80884604.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_808846DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_808846B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_808846F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_808846DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80884718.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_808846F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80884868.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80884718.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_808848C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80884868.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80884994.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_808848C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80884A40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80884994.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80884D04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80884A40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80884E0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80884D04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80885060.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80884E0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_808850DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80885060.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80885220.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_808850DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_808853E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80885220.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_8088598C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_808853E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80885A80.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_8088598C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80885AF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80885A80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80885B4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80885AF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80885C90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80885B4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80885DA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80885C90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80886C00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80885DA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80886DC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80886C00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80886FA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80886DC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_808870A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80886FA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_808871A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_808870A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80887270.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_808871A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/EnHorse_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80887270.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80887D20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/EnHorse_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80887D60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80887D20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80887E64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80887D60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80887EBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80887E64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80887F58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80887EBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80888C48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80887F58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/func_80888D18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80888C48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_0x8087B730/EnHorse_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/func_80888D18.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse/EnHorse_Draw.s") diff --git a/src/overlays/actors/ovl_En_Horse/z_en_horse.h b/src/overlays/actors/ovl_En_Horse/z_en_horse.h index 03775fac2f..2345521434 100644 --- a/src/overlays/actors/ovl_En_Horse/z_en_horse.h +++ b/src/overlays/actors/ovl_En_Horse/z_en_horse.h @@ -1,7 +1,7 @@ #ifndef Z_EN_HORSE_H #define Z_EN_HORSE_H -#include +#include "global.h" struct EnHorse; diff --git a/src/overlays/actors/ovl_En_Horse_Game_Check/z_en_horse_game_check.c b/src/overlays/actors/ovl_En_Horse_Game_Check/z_en_horse_game_check.c index 24279f8309..593f56e35c 100644 --- a/src/overlays/actors/ovl_En_Horse_Game_Check/z_en_horse_game_check.c +++ b/src/overlays/actors/ovl_En_Horse_Game_Check/z_en_horse_game_check.c @@ -22,59 +22,63 @@ const ActorInit En_Horse_Game_Check_InitVars = { (ActorFunc)EnHorseGameCheck_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_808F9BDC[] = { ICHAIN_F32(uncullZoneScale, 2400, ICHAIN_CONTINUE), ICHAIN_F32(uncullZoneDownward, 300, ICHAIN_STOP), }; - -extern InitChainEntry D_808F9BDC[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_Game_Check_0x808F8AA0/func_808F8AA0.asm") +extern InitChainEntry D_808F9BDC[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_Game_Check_0x808F8AA0/func_808F8C24.asm") +extern UNK_TYPE D_060014B0; +extern UNK_TYPE D_06002FB8; +extern UNK_TYPE D_06003030; +extern UNK_TYPE D_06003918; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_Game_Check_0x808F8AA0/func_808F8C5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse_Game_Check/func_808F8AA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_Game_Check_0x808F8AA0/func_808F8C70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse_Game_Check/func_808F8C24.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_Game_Check_0x808F8AA0/func_808F8CCC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse_Game_Check/func_808F8C5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_Game_Check_0x808F8AA0/func_808F8E94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse_Game_Check/func_808F8C70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_Game_Check_0x808F8AA0/func_808F8EB0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse_Game_Check/func_808F8CCC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_Game_Check_0x808F8AA0/func_808F8FAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse_Game_Check/func_808F8E94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_Game_Check_0x808F8AA0/func_808F96E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse_Game_Check/func_808F8EB0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_Game_Check_0x808F8AA0/func_808F9830.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse_Game_Check/func_808F8FAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_Game_Check_0x808F8AA0/func_808F9868.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse_Game_Check/func_808F96E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_Game_Check_0x808F8AA0/func_808F987C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse_Game_Check/func_808F9830.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_Game_Check_0x808F8AA0/func_808F990C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse_Game_Check/func_808F9868.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_Game_Check_0x808F8AA0/func_808F9944.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse_Game_Check/func_808F987C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_Game_Check_0x808F8AA0/func_808F9958.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse_Game_Check/func_808F990C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_Game_Check_0x808F8AA0/func_808F999C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse_Game_Check/func_808F9944.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_Game_Check_0x808F8AA0/func_808F99B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse_Game_Check/func_808F9958.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_Game_Check_0x808F8AA0/func_808F99C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse_Game_Check/func_808F999C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_Game_Check_0x808F8AA0/func_808F99D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse_Game_Check/func_808F99B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_Game_Check_0x808F8AA0/EnHorseGameCheck_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse_Game_Check/func_808F99C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_Game_Check_0x808F8AA0/EnHorseGameCheck_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse_Game_Check/func_808F99D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_Game_Check_0x808F8AA0/EnHorseGameCheck_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse_Game_Check/EnHorseGameCheck_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_Game_Check_0x808F8AA0/EnHorseGameCheck_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse_Game_Check/EnHorseGameCheck_Destroy.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse_Game_Check/EnHorseGameCheck_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse_Game_Check/EnHorseGameCheck_Draw.s") diff --git a/src/overlays/actors/ovl_En_Horse_Game_Check/z_en_horse_game_check.h b/src/overlays/actors/ovl_En_Horse_Game_Check/z_en_horse_game_check.h index 5576996edf..4c04619826 100644 --- a/src/overlays/actors/ovl_En_Horse_Game_Check/z_en_horse_game_check.h +++ b/src/overlays/actors/ovl_En_Horse_Game_Check/z_en_horse_game_check.h @@ -1,7 +1,7 @@ #ifndef Z_EN_HORSE_GAME_CHECK_H #define Z_EN_HORSE_GAME_CHECK_H -#include +#include "global.h" struct EnHorseGameCheck; diff --git a/src/overlays/actors/ovl_En_Horse_Link_Child/z_en_horse_link_child.c b/src/overlays/actors/ovl_En_Horse_Link_Child/z_en_horse_link_child.c index 288913259b..8057ca491e 100644 --- a/src/overlays/actors/ovl_En_Horse_Link_Child/z_en_horse_link_child.c +++ b/src/overlays/actors/ovl_En_Horse_Link_Child/z_en_horse_link_child.c @@ -22,7 +22,6 @@ const ActorInit En_Horse_Link_Child_InitVars = { (ActorFunc)EnHorseLinkChild_Draw, }; - // static ColliderJntSphElementInit sJntSphElementsInit[1] = { static ColliderJntSphElementInit D_808DFED4[1] = { { @@ -37,63 +36,63 @@ static ColliderJntSphInit D_808DFEF8 = { 1, D_808DFED4, // sJntSphElementsInit, }; - // sColChkInfoInit static CollisionCheckInfoInit D_808DFF08 = { 10, 35, 100, MASS_HEAVY }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_808DFF2C[] = { ICHAIN_F32(uncullZoneScale, 1200, ICHAIN_STOP), }; +#endif extern ColliderJntSphElementInit D_808DFED4[1]; extern ColliderJntSphInit D_808DFEF8; extern CollisionCheckInfoInit D_808DFF08; extern InitChainEntry D_808DFF2C[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_Link_Child_0x808DE5C0/func_808DE5C0.asm") +extern UNK_TYPE D_06002F98; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_Link_Child_0x808DE5C0/func_808DE660.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse_Link_Child/func_808DE5C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_Link_Child_0x808DE5C0/func_808DE728.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse_Link_Child/func_808DE660.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_Link_Child_0x808DE5C0/EnHorseLinkChild_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse_Link_Child/func_808DE728.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_Link_Child_0x808DE5C0/EnHorseLinkChild_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse_Link_Child/EnHorseLinkChild_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_Link_Child_0x808DE5C0/func_808DE9A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse_Link_Child/EnHorseLinkChild_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_Link_Child_0x808DE5C0/func_808DEA0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse_Link_Child/func_808DE9A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_Link_Child_0x808DE5C0/func_808DEA54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse_Link_Child/func_808DEA0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_Link_Child_0x808DE5C0/func_808DEB14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse_Link_Child/func_808DEA54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_Link_Child_0x808DE5C0/func_808DECA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse_Link_Child/func_808DEB14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_Link_Child_0x808DE5C0/func_808DED40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse_Link_Child/func_808DECA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_Link_Child_0x808DE5C0/func_808DEFE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse_Link_Child/func_808DED40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_Link_Child_0x808DE5C0/func_808DF088.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse_Link_Child/func_808DEFE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_Link_Child_0x808DE5C0/func_808DF194.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse_Link_Child/func_808DF088.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_Link_Child_0x808DE5C0/func_808DF560.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse_Link_Child/func_808DF194.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_Link_Child_0x808DE5C0/func_808DF620.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse_Link_Child/func_808DF560.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_Link_Child_0x808DE5C0/func_808DF788.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse_Link_Child/func_808DF620.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_Link_Child_0x808DE5C0/func_808DF838.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse_Link_Child/func_808DF788.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_Link_Child_0x808DE5C0/EnHorseLinkChild_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse_Link_Child/func_808DF838.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_Link_Child_0x808DE5C0/func_808DFC3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse_Link_Child/EnHorseLinkChild_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_Link_Child_0x808DE5C0/func_808DFDC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse_Link_Child/func_808DFC3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Horse_Link_Child_0x808DE5C0/EnHorseLinkChild_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse_Link_Child/func_808DFDC8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Horse_Link_Child/EnHorseLinkChild_Draw.s") diff --git a/src/overlays/actors/ovl_En_Horse_Link_Child/z_en_horse_link_child.h b/src/overlays/actors/ovl_En_Horse_Link_Child/z_en_horse_link_child.h index 6fe7f608e4..16ac6a6160 100644 --- a/src/overlays/actors/ovl_En_Horse_Link_Child/z_en_horse_link_child.h +++ b/src/overlays/actors/ovl_En_Horse_Link_Child/z_en_horse_link_child.h @@ -1,7 +1,7 @@ #ifndef Z_EN_HORSE_LINK_CHILD_H #define Z_EN_HORSE_LINK_CHILD_H -#include +#include "global.h" struct EnHorseLinkChild; diff --git a/src/overlays/actors/ovl_En_Hs/z_en_hs.c b/src/overlays/actors/ovl_En_Hs/z_en_hs.c index 35bad4c62d..ca2f01e565 100644 --- a/src/overlays/actors/ovl_En_Hs/z_en_hs.c +++ b/src/overlays/actors/ovl_En_Hs/z_en_hs.c @@ -9,6 +9,14 @@ void EnHs_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnHs_Update(Actor* thisx, GlobalContext* globalCtx); void EnHs_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80952FE0(EnHs* this, GlobalContext* globalCtx); +void func_80953098(EnHs* this, GlobalContext* globalCtx); +void func_80953180(EnHs* this, GlobalContext* globalCtx); +void func_809532C0(EnHs* this, GlobalContext* globalCtx); +void func_809532D0(EnHs* this, GlobalContext* globalCtx); +void func_80953354(EnHs* this, GlobalContext* globalCtx); +void func_8095345C(EnHs* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Hs_InitVars = { ACTOR_EN_HS, @@ -22,7 +30,6 @@ const ActorInit En_Hs_InitVars = { (ActorFunc)EnHs_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80953910 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_ENEMY, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,42 +37,44 @@ static ColliderCylinderInit D_80953910 = { { 40, 40, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80953910; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hs_0x80952C50/func_80952C50.asm") +extern ColliderCylinderInit D_80953910; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hs_0x80952C50/EnHs_Init.asm") +extern UNK_TYPE D_060005C0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hs_0x80952C50/EnHs_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hs/func_80952C50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hs_0x80952C50/func_80952DFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hs/EnHs_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hs_0x80952C50/func_80952E50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hs/EnHs_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hs_0x80952C50/func_80952F00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hs/func_80952DFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hs_0x80952C50/func_80952FE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hs/func_80952E50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hs_0x80952C50/func_80953098.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hs/func_80952F00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hs_0x80952C50/func_80953180.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hs/func_80952FE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hs_0x80952C50/func_809532C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hs/func_80953098.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hs_0x80952C50/func_809532D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hs/func_80953180.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hs_0x80952C50/func_80953354.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hs/func_809532C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hs_0x80952C50/func_809533A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hs/func_809532D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hs_0x80952C50/func_8095345C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hs/func_80953354.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hs_0x80952C50/EnHs_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hs/func_809533A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hs_0x80952C50/func_8095376C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hs/func_8095345C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hs_0x80952C50/func_80953848.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hs/EnHs_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Hs_0x80952C50/EnHs_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hs/func_8095376C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hs/func_80953848.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Hs/EnHs_Draw.s") diff --git a/src/overlays/actors/ovl_En_Hs/z_en_hs.h b/src/overlays/actors/ovl_En_Hs/z_en_hs.h index c08b527945..8d993e473d 100644 --- a/src/overlays/actors/ovl_En_Hs/z_en_hs.h +++ b/src/overlays/actors/ovl_En_Hs/z_en_hs.h @@ -1,13 +1,16 @@ #ifndef Z_EN_HS_H #define Z_EN_HS_H -#include +#include "global.h" struct EnHs; +typedef void (*EnHsActionFunc)(struct EnHs* this, GlobalContext* globalCtx); + typedef struct EnHs { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x254]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x250]; + /* 0x0394 */ EnHsActionFunc actionFunc; } EnHs; // size = 0x398 extern const ActorInit En_Hs_InitVars; diff --git a/src/overlays/actors/ovl_En_Hs2/z_en_hs2.h b/src/overlays/actors/ovl_En_Hs2/z_en_hs2.h index 08119cfc00..3c7145f3ac 100644 --- a/src/overlays/actors/ovl_En_Hs2/z_en_hs2.h +++ b/src/overlays/actors/ovl_En_Hs2/z_en_hs2.h @@ -1,7 +1,7 @@ #ifndef Z_EN_HS2_H #define Z_EN_HS2_H -#include +#include "global.h" struct EnHs2; diff --git a/src/overlays/actors/ovl_En_Ig/z_en_ig.c b/src/overlays/actors/ovl_En_Ig/z_en_ig.c index c041d1e2eb..b8e6e91d60 100644 --- a/src/overlays/actors/ovl_En_Ig/z_en_ig.c +++ b/src/overlays/actors/ovl_En_Ig/z_en_ig.c @@ -9,6 +9,9 @@ void EnIg_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnIg_Update(Actor* thisx, GlobalContext* globalCtx); void EnIg_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80BF2AF8(EnIg* this, GlobalContext* globalCtx); +void func_80BF2BD4(EnIg* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Ig_InitVars = { ACTOR_EN_IG, @@ -22,7 +25,6 @@ const ActorInit En_Ig_InitVars = { (ActorFunc)EnIg_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80BF3418 = { { COLTYPE_HIT1, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,7 +32,6 @@ static ColliderCylinderInit D_80BF3418 = { { 28, 62, 0, { 0, 0, 0 } }, }; - // static ColliderSphereInit sSphereInit = { static ColliderSphereInit D_80BF3444 = { { COLTYPE_NONE, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_SPHERE, }, @@ -38,88 +39,91 @@ static ColliderSphereInit D_80BF3444 = { { 0, { { 0, 0, 0 }, 20 }, 100 }, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_80BF3470 = { 0, 0, 0, 0, MASS_IMMOVABLE }; +#endif extern ColliderCylinderInit D_80BF3418; extern ColliderSphereInit D_80BF3444; extern CollisionCheckInfoInit2 D_80BF3470; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ig_0x80BF1150/func_80BF1150.asm") +extern UNK_TYPE D_06008710; +extern UNK_TYPE D_0600C538; +extern UNK_TYPE D_060130D0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ig_0x80BF1150/func_80BF1200.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ig/func_80BF1150.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ig_0x80BF1150/func_80BF1258.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ig/func_80BF1200.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ig_0x80BF1150/func_80BF1284.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ig/func_80BF1258.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ig_0x80BF1150/func_80BF1354.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ig/func_80BF1284.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ig_0x80BF1150/func_80BF13E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ig/func_80BF1354.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ig_0x80BF1150/func_80BF146C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ig/func_80BF13E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ig_0x80BF1150/func_80BF14B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ig/func_80BF146C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ig_0x80BF1150/func_80BF15EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ig/func_80BF14B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ig_0x80BF1150/func_80BF16C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ig/func_80BF15EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ig_0x80BF1150/func_80BF1744.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ig/func_80BF16C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ig_0x80BF1150/func_80BF17BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ig/func_80BF1744.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ig_0x80BF1150/func_80BF1920.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ig/func_80BF17BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ig_0x80BF1150/func_80BF19A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ig/func_80BF1920.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ig_0x80BF1150/func_80BF1A60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ig/func_80BF19A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ig_0x80BF1150/func_80BF1AE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ig/func_80BF1A60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ig_0x80BF1150/func_80BF1B40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ig/func_80BF1AE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ig_0x80BF1150/func_80BF1C44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ig/func_80BF1B40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ig_0x80BF1150/func_80BF1D78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ig/func_80BF1C44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ig_0x80BF1150/func_80BF1DF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ig/func_80BF1D78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ig_0x80BF1150/func_80BF1FA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ig/func_80BF1DF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ig_0x80BF1150/func_80BF219C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ig/func_80BF1FA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ig_0x80BF1150/func_80BF2368.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ig/func_80BF219C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ig_0x80BF1150/func_80BF2400.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ig/func_80BF2368.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ig_0x80BF1150/func_80BF2470.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ig/func_80BF2400.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ig_0x80BF1150/func_80BF25E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ig/func_80BF2470.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ig_0x80BF1150/func_80BF2890.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ig/func_80BF25E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ig_0x80BF1150/func_80BF293C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ig/func_80BF2890.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ig_0x80BF1150/func_80BF2A50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ig/func_80BF293C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ig_0x80BF1150/func_80BF2AF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ig/func_80BF2A50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ig_0x80BF1150/func_80BF2BD4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ig/func_80BF2AF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ig_0x80BF1150/EnIg_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ig/func_80BF2BD4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ig_0x80BF1150/EnIg_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ig/EnIg_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ig_0x80BF1150/EnIg_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ig/EnIg_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ig_0x80BF1150/func_80BF2EDC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ig/EnIg_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ig_0x80BF1150/func_80BF2EFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ig/func_80BF2EDC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ig_0x80BF1150/func_80BF302C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ig/func_80BF2EFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ig_0x80BF1150/EnIg_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ig/func_80BF302C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ig/EnIg_Draw.s") diff --git a/src/overlays/actors/ovl_En_Ig/z_en_ig.h b/src/overlays/actors/ovl_En_Ig/z_en_ig.h index 289fb690a9..2868a30ce3 100644 --- a/src/overlays/actors/ovl_En_Ig/z_en_ig.h +++ b/src/overlays/actors/ovl_En_Ig/z_en_ig.h @@ -1,13 +1,17 @@ #ifndef Z_EN_IG_H #define Z_EN_IG_H -#include +#include "global.h" struct EnIg; +typedef void (*EnIgActionFunc)(struct EnIg* this, GlobalContext* globalCtx); + typedef struct EnIg { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x2C8]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ EnIgActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x280]; } EnIg; // size = 0x40C extern const ActorInit En_Ig_InitVars; diff --git a/src/overlays/actors/ovl_En_Ik/z_en_ik.c b/src/overlays/actors/ovl_En_Ik/z_en_ik.c index bd256b99dc..4b61b88edf 100644 --- a/src/overlays/actors/ovl_En_Ik/z_en_ik.c +++ b/src/overlays/actors/ovl_En_Ik/z_en_ik.c @@ -22,7 +22,6 @@ const ActorInit En_Ik_InitVars = { (ActorFunc)EnIk_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_8092C01C = { { COLTYPE_METAL, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -30,7 +29,6 @@ static ColliderCylinderInit D_8092C01C = { { 25, 80, 0, { 0, 0, 0 } }, }; - // static ColliderTrisElementInit sTrisElementsInit[2] = { static ColliderTrisElementInit D_8092C048[2] = { { @@ -49,7 +47,6 @@ static ColliderTrisInit D_8092C0C0 = { 2, D_8092C048, // sTrisElementsInit, }; - // static ColliderQuadInit sQuadInit = { static ColliderQuadInit D_8092C0D0 = { { COLTYPE_NONE, AT_NONE | AT_TYPE_ENEMY, AC_NONE, OC1_NONE, OC2_TYPE_2, COLSHAPE_QUAD, }, @@ -57,7 +54,6 @@ static ColliderQuadInit D_8092C0D0 = { { { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } } }, }; - // static DamageTable sDamageTable = { static DamageTable D_8092C120 = { /* Deku Nut */ DMG_ENTRY(0, 0xF), @@ -94,7 +90,6 @@ static DamageTable D_8092C120 = { /* Powder Keg */ DMG_ENTRY(1, 0x0), }; - // static DamageTable sDamageTable = { static DamageTable D_8092C140 = { /* Deku Nut */ DMG_ENTRY(0, 0x0), @@ -131,11 +126,9 @@ static DamageTable D_8092C140 = { /* Powder Keg */ DMG_ENTRY(1, 0x0), }; - // sColChkInfoInit static CollisionCheckInfoInit D_8092C160 = { 18, 25, 80, MASS_HEAVY }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_8092C168[] = { ICHAIN_F32(targetArrowOffset, 2916, ICHAIN_CONTINUE), @@ -143,6 +136,7 @@ static InitChainEntry D_8092C168[] = { ICHAIN_F32_DIV1000(gravity, -1000, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_8092C01C; extern ColliderTrisElementInit D_8092C048[2]; @@ -152,86 +146,95 @@ extern DamageTable D_8092C120; extern DamageTable D_8092C140; extern CollisionCheckInfoInit D_8092C160; extern InitChainEntry D_8092C168[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ik_0x80929910/EnIk_Init.asm") +extern UNK_TYPE D_06000CE8; +extern UNK_TYPE D_060015F8; +extern UNK_TYPE D_06001ABC; +extern UNK_TYPE D_06002484; +extern UNK_TYPE D_0600391C; +extern UNK_TYPE D_06004A04; +extern UNK_TYPE D_06005254; +extern UNK_TYPE D_060057F4; +extern UNK_TYPE D_06006294; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ik_0x80929910/EnIk_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ik/EnIk_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ik_0x80929910/func_80929AF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ik/EnIk_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ik_0x80929910/func_80929B6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ik/func_80929AF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ik_0x80929910/func_80929BEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ik/func_80929B6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ik_0x80929910/func_80929C80.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ik/func_80929BEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ik_0x80929910/func_80929D04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ik/func_80929C80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ik_0x80929910/func_80929E2C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ik/func_80929D04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ik_0x80929910/func_80929E88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ik/func_80929E2C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ik_0x80929910/func_80929F20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ik/func_80929E88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ik_0x80929910/func_80929FC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ik/func_80929F20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ik_0x80929910/func_8092A020.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ik/func_80929FC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ik_0x80929910/func_8092A124.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ik/func_8092A020.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ik_0x80929910/func_8092A188.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ik/func_8092A124.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ik_0x80929910/func_8092A28C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ik/func_8092A188.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ik_0x80929910/func_8092A33C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ik/func_8092A28C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ik_0x80929910/func_8092A570.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ik/func_8092A33C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ik_0x80929910/func_8092A5BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ik/func_8092A570.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ik_0x80929910/func_8092A680.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ik/func_8092A5BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ik_0x80929910/func_8092A754.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ik/func_8092A680.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ik_0x80929910/func_8092A8D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ik/func_8092A754.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ik_0x80929910/func_8092A994.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ik/func_8092A8D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ik_0x80929910/func_8092AA6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ik/func_8092A994.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ik_0x80929910/func_8092AB14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ik/func_8092AA6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ik_0x80929910/func_8092AB50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ik/func_8092AB14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ik_0x80929910/func_8092ABD8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ik/func_8092AB50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ik_0x80929910/func_8092AC4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ik/func_8092ABD8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ik_0x80929910/func_8092ACFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ik/func_8092AC4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ik_0x80929910/func_8092ADB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ik/func_8092ACFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ik_0x80929910/func_8092AE14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ik/func_8092ADB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ik_0x80929910/func_8092AFB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ik/func_8092AE14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ik_0x80929910/func_8092AFD4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ik/func_8092AFB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ik_0x80929910/func_8092B03C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ik/func_8092AFD4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ik_0x80929910/func_8092B098.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ik/func_8092B03C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ik_0x80929910/func_8092B1B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ik/func_8092B098.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ik_0x80929910/func_8092B46C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ik/func_8092B1B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ik_0x80929910/EnIk_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ik/func_8092B46C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ik_0x80929910/func_8092B900.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ik/EnIk_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ik_0x80929910/func_8092B93C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ik/func_8092B900.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ik_0x80929910/func_8092BC6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ik/func_8092B93C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ik_0x80929910/EnIk_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ik/func_8092BC6C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ik/EnIk_Draw.s") diff --git a/src/overlays/actors/ovl_En_Ik/z_en_ik.h b/src/overlays/actors/ovl_En_Ik/z_en_ik.h index 9c7988ade5..7ee43330a1 100644 --- a/src/overlays/actors/ovl_En_Ik/z_en_ik.h +++ b/src/overlays/actors/ovl_En_Ik/z_en_ik.h @@ -1,13 +1,17 @@ #ifndef Z_EN_IK_H #define Z_EN_IK_H -#include +#include "global.h" struct EnIk; +typedef void (*EnIkActionFunc)(struct EnIk* this, GlobalContext* globalCtx); + typedef struct EnIk { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x524]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x1AC]; + /* 0x02F0 */ EnIkActionFunc actionFunc; + /* 0x02F4 */ char unk_2F4[0x374]; } EnIk; // size = 0x668 extern const ActorInit En_Ik_InitVars; diff --git a/src/overlays/actors/ovl_En_In/z_en_in.h b/src/overlays/actors/ovl_En_In/z_en_in.h index f4b1ef3789..e874ced5df 100644 --- a/src/overlays/actors/ovl_En_In/z_en_in.h +++ b/src/overlays/actors/ovl_En_In/z_en_in.h @@ -1,7 +1,7 @@ #ifndef Z_EN_IN_H #define Z_EN_IN_H -#include +#include "global.h" struct EnIn; diff --git a/src/overlays/actors/ovl_En_Insect/z_en_insect.c b/src/overlays/actors/ovl_En_Insect/z_en_insect.c index 234350e552..cc07e58dd5 100644 --- a/src/overlays/actors/ovl_En_Insect/z_en_insect.c +++ b/src/overlays/actors/ovl_En_Insect/z_en_insect.c @@ -9,6 +9,14 @@ void EnInsect_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnInsect_Update(Actor* thisx, GlobalContext* globalCtx); void EnInsect_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_8091ACC4(EnInsect* this, GlobalContext* globalCtx); +void func_8091AE5C(EnInsect* this, GlobalContext* globalCtx); +void func_8091B07C(EnInsect* this, GlobalContext* globalCtx); +void func_8091B2D8(EnInsect* this, GlobalContext* globalCtx); +void func_8091B440(EnInsect* this, GlobalContext* globalCtx); +void func_8091B670(EnInsect* this, GlobalContext* globalCtx); +void func_8091B984(EnInsect* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Insect_InitVars = { ACTOR_EN_INSECT, @@ -22,7 +30,6 @@ const ActorInit En_Insect_InitVars = { (ActorFunc)EnInsect_Draw, }; - // static ColliderJntSphElementInit sJntSphElementsInit[1] = { static ColliderJntSphElementInit D_8091BD84[1] = { { @@ -37,7 +44,6 @@ static ColliderJntSphInit D_8091BDA8 = { 1, D_8091BD84, // sJntSphElementsInit, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_8091BDBC[] = { ICHAIN_VEC3F_DIV1000(scale, 10, ICHAIN_CONTINUE), @@ -46,52 +52,52 @@ static InitChainEntry D_8091BDBC[] = { ICHAIN_F32(uncullZoneDownward, 30, ICHAIN_STOP), }; +#endif extern ColliderJntSphElementInit D_8091BD84[1]; extern ColliderJntSphInit D_8091BDA8; extern InitChainEntry D_8091BDBC[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Insect_0x8091A8A0/func_8091A8A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Insect/func_8091A8A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Insect_0x8091A8A0/func_8091A8C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Insect/func_8091A8C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Insect_0x8091A8A0/func_8091A8F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Insect/func_8091A8F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Insect_0x8091A8A0/func_8091A9E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Insect/func_8091A9E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Insect_0x8091A8A0/EnInsect_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Insect/EnInsect_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Insect_0x8091A8A0/EnInsect_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Insect/EnInsect_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Insect_0x8091A8A0/func_8091AC78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Insect/func_8091AC78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Insect_0x8091A8A0/func_8091ACC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Insect/func_8091ACC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Insect_0x8091A8A0/func_8091AE10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Insect/func_8091AE10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Insect_0x8091A8A0/func_8091AE5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Insect/func_8091AE5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Insect_0x8091A8A0/func_8091B030.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Insect/func_8091B030.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Insect_0x8091A8A0/func_8091B07C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Insect/func_8091B07C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Insect_0x8091A8A0/func_8091B274.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Insect/func_8091B274.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Insect_0x8091A8A0/func_8091B2D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Insect/func_8091B2D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Insect_0x8091A8A0/func_8091B3D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Insect/func_8091B3D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Insect_0x8091A8A0/func_8091B440.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Insect/func_8091B440.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Insect_0x8091A8A0/func_8091B618.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Insect/func_8091B618.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Insect_0x8091A8A0/func_8091B670.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Insect/func_8091B670.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Insect_0x8091A8A0/func_8091B928.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Insect/func_8091B928.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Insect_0x8091A8A0/func_8091B984.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Insect/func_8091B984.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Insect_0x8091A8A0/EnInsect_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Insect/EnInsect_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Insect_0x8091A8A0/EnInsect_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Insect/EnInsect_Draw.s") diff --git a/src/overlays/actors/ovl_En_Insect/z_en_insect.h b/src/overlays/actors/ovl_En_Insect/z_en_insect.h index 6a000ede79..2817be41e1 100644 --- a/src/overlays/actors/ovl_En_Insect/z_en_insect.h +++ b/src/overlays/actors/ovl_En_Insect/z_en_insect.h @@ -1,13 +1,17 @@ #ifndef Z_EN_INSECT_H #define Z_EN_INSECT_H -#include +#include "global.h" struct EnInsect; +typedef void (*EnInsectActionFunc)(struct EnInsect* this, GlobalContext* globalCtx); + typedef struct EnInsect { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x1D4]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x1C4]; + /* 0x0308 */ EnInsectActionFunc actionFunc; + /* 0x030C */ char unk_30C[0xC]; } EnInsect; // size = 0x318 extern const ActorInit En_Insect_InitVars; diff --git a/src/overlays/actors/ovl_En_Invadepoh/z_en_invadepoh.c b/src/overlays/actors/ovl_En_Invadepoh/z_en_invadepoh.c index 3068279176..5d58eacde2 100644 --- a/src/overlays/actors/ovl_En_Invadepoh/z_en_invadepoh.c +++ b/src/overlays/actors/ovl_En_Invadepoh/z_en_invadepoh.c @@ -5,7 +5,7 @@ */ #include "z_en_invadepoh.h" -#include "../ovl_En_Door/z_en_door.h" +#include "overlays/actors/ovl_En_Door/z_en_door.h" #define FLAGS 0x00000010 @@ -216,12 +216,8 @@ extern Gfx D_06014AD8[]; extern Gfx D_06014ED8[]; extern Gfx D_060152D8[]; extern Gfx D_060156D8[]; -extern Gfx D_04023210[]; extern Gfx D_060003B0[]; -extern Gfx D_04029CB0[]; -extern Gfx D_04029CF0[]; extern Gfx D_06000720[]; -extern Gfx D_0402E510[]; extern Gfx D_06000080[]; extern s32 D_801BDA9C; @@ -696,7 +692,7 @@ s32 func_80B43A24(s32 arg0) { } void func_80B43A74(s32 arg0) { - gSaveContext.roomInf[124][4] = (gSaveContext.roomInf[124][4] & ~0xFF) | arg0 & 0xFF; + gSaveContext.roomInf[124][4] = (gSaveContext.roomInf[124][4] & ~0xFF) | (arg0 & 0xFF); } s32 func_80B43A9C(void) { @@ -3924,7 +3920,7 @@ void func_80B4C3A0(Actor* thisx, GlobalContext* globalCtx) { this->actor.objBankIndex = this->bankIndex; Actor_SetObjectSegment(globalCtx, &this->actor); func_80B44FEC(); - SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_06015C28, &D_06016720, (0, this->limbDrawTable), + SkelAnime_InitSV(globalCtx, &this->skelAnime, &D_06015C28, &D_06016720, this->limbDrawTable, this->transitionDrawTable, 22); func_80B45C04(&this->behaviorInfo, D_80B4EBDC, 1, D_80B4EC08, 0, &D_801D15BC, 100, 0.03f, 0.3f, 0.03f); this->actor.textId = 0x33CD; @@ -4226,9 +4222,8 @@ void func_80B4D15C(EnInvadepoh* this) { } void func_80B4D290(EnInvadepoh* this, GlobalContext* globalCtx) { - f32 temp_f10; - f32 sp28; Actor* temp_v1; + f32 sp28; if (D_80B503F0 == NULL) { Actor_MarkForDeath(&this->actor); @@ -4239,12 +4234,12 @@ void func_80B4D290(EnInvadepoh* this, GlobalContext* globalCtx) { sp28 = Math_SmoothStepToF(&this->actor.world.pos.y, this->actor.home.pos.y + 850.0f, 0.2f, this->actor.velocity.y, 0.01f); this->unk304 += 0x2BC; - this->actor.world.pos.x = (Math_SinS(this->unk304) * 80.0f) + this->actor.home.pos.x; - temp_f10 = Math_CosS(this->unk304) * 80.0f; + this->actor.world.pos.x = this->actor.home.pos.x + Math_SinS(this->unk304) * 80.0f; + this->actor.world.pos.z = this->actor.home.pos.z + Math_CosS(this->unk304) * 80.0f; this->behaviorInfo.unk4C += this->behaviorInfo.unk4E; - temp_v1 = this->actor.child; this->actor.shape.rot.y += this->behaviorInfo.unk4C; - this->actor.world.pos.z = this->actor.home.pos.z + ((0, temp_f10)); + temp_v1 = this->actor.child; + if (this->actor.child != NULL) { this->actor.child->world.pos.x = this->actor.world.pos.x; temp_v1->world.pos.y = this->actor.world.pos.y - 38.0f; diff --git a/src/overlays/actors/ovl_En_Invadepoh/z_en_invadepoh.h b/src/overlays/actors/ovl_En_Invadepoh/z_en_invadepoh.h index 52cde0e270..8b766189f4 100644 --- a/src/overlays/actors/ovl_En_Invadepoh/z_en_invadepoh.h +++ b/src/overlays/actors/ovl_En_Invadepoh/z_en_invadepoh.h @@ -1,7 +1,7 @@ #ifndef Z_EN_INVADEPOH_H #define Z_EN_INVADEPOH_H -#include +#include "global.h" struct EnInvadepoh; diff --git a/src/overlays/actors/ovl_En_Invadepoh_Demo/z_en_invadepoh_demo.c b/src/overlays/actors/ovl_En_Invadepoh_Demo/z_en_invadepoh_demo.c index 3ebfab7aac..5d0b78a23d 100644 --- a/src/overlays/actors/ovl_En_Invadepoh_Demo/z_en_invadepoh_demo.c +++ b/src/overlays/actors/ovl_En_Invadepoh_Demo/z_en_invadepoh_demo.c @@ -9,6 +9,13 @@ void EnInvadepohDemo_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnInvadepohDemo_Update(Actor* thisx, GlobalContext* globalCtx); void EnInvadepohDemo_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80C19AB4(EnInvadepohDemo* this, GlobalContext* globalCtx); +void func_80C19D00(EnInvadepohDemo* this, GlobalContext* globalCtx); +void func_80C19D48(EnInvadepohDemo* this, GlobalContext* globalCtx); +void func_80C19E04(EnInvadepohDemo* this, GlobalContext* globalCtx); +void func_80C19EC0(EnInvadepohDemo* this, GlobalContext* globalCtx); +void func_80C19F7C(EnInvadepohDemo* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Invadepoh_Demo_InitVars = { ACTOR_EN_INVADEPOH_DEMO, @@ -22,7 +29,6 @@ const ActorInit En_Invadepoh_Demo_InitVars = { (ActorFunc)EnInvadepohDemo_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80C1AA74[] = { ICHAIN_F32(uncullZoneForward, 20000, ICHAIN_CONTINUE), @@ -32,7 +38,6 @@ static InitChainEntry D_80C1AA74[] = { ICHAIN_VEC3F_DIV1000(scale, 10, ICHAIN_STOP), }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80C1AA88[] = { ICHAIN_F32(uncullZoneForward, 20000, ICHAIN_CONTINUE), @@ -43,7 +48,6 @@ static InitChainEntry D_80C1AA88[] = { ICHAIN_VEC3F_DIV1000(scale, 10, ICHAIN_STOP), }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80C1AAA0[] = { ICHAIN_F32(uncullZoneForward, 20000, ICHAIN_CONTINUE), @@ -52,7 +56,6 @@ static InitChainEntry D_80C1AAA0[] = { ICHAIN_VEC3F_DIV1000(scale, 10, ICHAIN_STOP), }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80C1AAB0[] = { ICHAIN_F32(uncullZoneForward, 20000, ICHAIN_CONTINUE), @@ -63,7 +66,6 @@ static InitChainEntry D_80C1AAB0[] = { ICHAIN_VEC3F_DIV1000(scale, 800, ICHAIN_STOP), }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80C1AAC8[] = { ICHAIN_F32(uncullZoneForward, 20000, ICHAIN_CONTINUE), @@ -72,82 +74,89 @@ static InitChainEntry D_80C1AAC8[] = { ICHAIN_VEC3F_DIV1000(scale, 10, ICHAIN_STOP), }; +#endif extern InitChainEntry D_80C1AA74[]; extern InitChainEntry D_80C1AA88[]; extern InitChainEntry D_80C1AAA0[]; extern InitChainEntry D_80C1AAB0[]; extern InitChainEntry D_80C1AAC8[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Invadepoh_Demo_0x80C192A0/func_80C192A0.asm") +extern UNK_TYPE D_06000560; +extern UNK_TYPE D_06001D80; +extern UNK_TYPE D_06004264; +extern UNK_TYPE D_06004E98; +extern UNK_TYPE D_06011FC8; +extern UNK_TYPE D_06016588; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Invadepoh_Demo_0x80C192A0/func_80C192B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Invadepoh_Demo/func_80C192A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Invadepoh_Demo_0x80C192A0/func_80C19334.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Invadepoh_Demo/func_80C192B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Invadepoh_Demo_0x80C192A0/func_80C193A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Invadepoh_Demo/func_80C19334.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Invadepoh_Demo_0x80C192A0/func_80C19454.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Invadepoh_Demo/func_80C193A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Invadepoh_Demo_0x80C192A0/func_80C19498.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Invadepoh_Demo/func_80C19454.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Invadepoh_Demo_0x80C192A0/func_80C1950C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Invadepoh_Demo/func_80C19498.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Invadepoh_Demo_0x80C192A0/func_80C19548.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Invadepoh_Demo/func_80C1950C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Invadepoh_Demo_0x80C192A0/func_80C19564.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Invadepoh_Demo/func_80C19548.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Invadepoh_Demo_0x80C192A0/func_80C19590.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Invadepoh_Demo/func_80C19564.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Invadepoh_Demo_0x80C192A0/func_80C1965C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Invadepoh_Demo/func_80C19590.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Invadepoh_Demo_0x80C192A0/func_80C19688.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Invadepoh_Demo/func_80C1965C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Invadepoh_Demo_0x80C192A0/func_80C19754.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Invadepoh_Demo/func_80C19688.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Invadepoh_Demo_0x80C192A0/func_80C1985C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Invadepoh_Demo/func_80C19754.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Invadepoh_Demo_0x80C192A0/func_80C1987C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Invadepoh_Demo/func_80C1985C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Invadepoh_Demo_0x80C192A0/func_80C199BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Invadepoh_Demo/func_80C1987C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Invadepoh_Demo_0x80C192A0/func_80C199EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Invadepoh_Demo/func_80C199BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Invadepoh_Demo_0x80C192A0/func_80C19AB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Invadepoh_Demo/func_80C199EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Invadepoh_Demo_0x80C192A0/func_80C19D00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Invadepoh_Demo/func_80C19AB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Invadepoh_Demo_0x80C192A0/func_80C19D48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Invadepoh_Demo/func_80C19D00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Invadepoh_Demo_0x80C192A0/func_80C19E04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Invadepoh_Demo/func_80C19D48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Invadepoh_Demo_0x80C192A0/func_80C19EC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Invadepoh_Demo/func_80C19E04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Invadepoh_Demo_0x80C192A0/func_80C19F7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Invadepoh_Demo/func_80C19EC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Invadepoh_Demo_0x80C192A0/func_80C1A038.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Invadepoh_Demo/func_80C19F7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Invadepoh_Demo_0x80C192A0/func_80C1A070.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Invadepoh_Demo/func_80C1A038.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Invadepoh_Demo_0x80C192A0/func_80C1A168.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Invadepoh_Demo/func_80C1A070.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Invadepoh_Demo_0x80C192A0/func_80C1A244.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Invadepoh_Demo/func_80C1A168.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Invadepoh_Demo_0x80C192A0/func_80C1A590.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Invadepoh_Demo/func_80C1A244.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Invadepoh_Demo_0x80C192A0/func_80C1A650.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Invadepoh_Demo/func_80C1A590.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Invadepoh_Demo_0x80C192A0/func_80C1A670.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Invadepoh_Demo/func_80C1A650.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Invadepoh_Demo_0x80C192A0/func_80C1A6C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Invadepoh_Demo/func_80C1A670.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Invadepoh_Demo_0x80C192A0/func_80C1A854.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Invadepoh_Demo/func_80C1A6C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Invadepoh_Demo_0x80C192A0/EnInvadepohDemo_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Invadepoh_Demo/func_80C1A854.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Invadepoh_Demo_0x80C192A0/EnInvadepohDemo_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Invadepoh_Demo/EnInvadepohDemo_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Invadepoh_Demo_0x80C192A0/EnInvadepohDemo_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Invadepoh_Demo/EnInvadepohDemo_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Invadepoh_Demo_0x80C192A0/EnInvadepohDemo_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Invadepoh_Demo/EnInvadepohDemo_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Invadepoh_Demo/EnInvadepohDemo_Draw.s") diff --git a/src/overlays/actors/ovl_En_Invadepoh_Demo/z_en_invadepoh_demo.h b/src/overlays/actors/ovl_En_Invadepoh_Demo/z_en_invadepoh_demo.h index 2f3256abdf..5b13873263 100644 --- a/src/overlays/actors/ovl_En_Invadepoh_Demo/z_en_invadepoh_demo.h +++ b/src/overlays/actors/ovl_En_Invadepoh_Demo/z_en_invadepoh_demo.h @@ -1,13 +1,16 @@ #ifndef Z_EN_INVADEPOH_DEMO_H #define Z_EN_INVADEPOH_DEMO_H -#include +#include "global.h" struct EnInvadepohDemo; +typedef void (*EnInvadepohDemoActionFunc)(struct EnInvadepohDemo* this, GlobalContext* globalCtx); + typedef struct EnInvadepohDemo { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x184]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ EnInvadepohDemoActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x180]; } EnInvadepohDemo; // size = 0x2C8 extern const ActorInit En_Invadepoh_Demo_InitVars; diff --git a/src/overlays/actors/ovl_En_Invisible_Ruppe/z_en_invisible_ruppe.c b/src/overlays/actors/ovl_En_Invisible_Ruppe/z_en_invisible_ruppe.c index 58450d52ac..9935eb67a6 100644 --- a/src/overlays/actors/ovl_En_Invisible_Ruppe/z_en_invisible_ruppe.c +++ b/src/overlays/actors/ovl_En_Invisible_Ruppe/z_en_invisible_ruppe.c @@ -8,6 +8,9 @@ void EnInvisibleRuppe_Init(Actor* thisx, GlobalContext* globalCtx); void EnInvisibleRuppe_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnInvisibleRuppe_Update(Actor* thisx, GlobalContext* globalCtx); +void func_80C2590C(EnInvisibleRuppe* this, GlobalContext* globalCtx); +void func_80C259E8(EnInvisibleRuppe* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Invisible_Ruppe_InitVars = { ACTOR_EN_INVISIBLE_RUPPE, @@ -21,7 +24,6 @@ const ActorInit En_Invisible_Ruppe_InitVars = { (ActorFunc)NULL, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80C25B50 = { { COLTYPE_NONE, AT_NONE, AC_NONE, OC1_ON | OC1_NO_PUSH | OC1_TYPE_PLAYER, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -29,18 +31,18 @@ static ColliderCylinderInit D_80C25B50 = { { 10, 30, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80C25B50; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Invisible_Ruppe_0x80C258A0/func_80C258A0.asm") +extern ColliderCylinderInit D_80C25B50; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Invisible_Ruppe_0x80C258A0/func_80C2590C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Invisible_Ruppe/func_80C258A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Invisible_Ruppe_0x80C258A0/func_80C259E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Invisible_Ruppe/func_80C2590C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Invisible_Ruppe_0x80C258A0/EnInvisibleRuppe_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Invisible_Ruppe/func_80C259E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Invisible_Ruppe_0x80C258A0/EnInvisibleRuppe_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Invisible_Ruppe/EnInvisibleRuppe_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Invisible_Ruppe_0x80C258A0/EnInvisibleRuppe_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Invisible_Ruppe/EnInvisibleRuppe_Destroy.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Invisible_Ruppe/EnInvisibleRuppe_Update.s") diff --git a/src/overlays/actors/ovl_En_Invisible_Ruppe/z_en_invisible_ruppe.h b/src/overlays/actors/ovl_En_Invisible_Ruppe/z_en_invisible_ruppe.h index 62ae099d25..559916052f 100644 --- a/src/overlays/actors/ovl_En_Invisible_Ruppe/z_en_invisible_ruppe.h +++ b/src/overlays/actors/ovl_En_Invisible_Ruppe/z_en_invisible_ruppe.h @@ -1,13 +1,16 @@ #ifndef Z_EN_INVISIBLE_RUPPE_H #define Z_EN_INVISIBLE_RUPPE_H -#include +#include "global.h" struct EnInvisibleRuppe; +typedef void (*EnInvisibleRuppeActionFunc)(struct EnInvisibleRuppe* this, GlobalContext* globalCtx); + typedef struct EnInvisibleRuppe { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x54]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x50]; + /* 0x0194 */ EnInvisibleRuppeActionFunc actionFunc; } EnInvisibleRuppe; // size = 0x198 extern const ActorInit En_Invisible_Ruppe_InitVars; diff --git a/src/overlays/actors/ovl_En_Ishi/z_en_ishi.c b/src/overlays/actors/ovl_En_Ishi/z_en_ishi.c index 004ad27845..d74a917fb4 100644 --- a/src/overlays/actors/ovl_En_Ishi/z_en_ishi.c +++ b/src/overlays/actors/ovl_En_Ishi/z_en_ishi.c @@ -8,6 +8,13 @@ void EnIshi_Init(Actor* thisx, GlobalContext* globalCtx); void EnIshi_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnIshi_Update(Actor* thisx, GlobalContext* globalCtx); +void func_8095E5C0(EnIshi* this, GlobalContext* globalCtx); +void func_8095E660(EnIshi* this, GlobalContext* globalCtx); +void func_8095E95C(EnIshi* this, GlobalContext* globalCtx); +void func_8095EBDC(EnIshi* this, GlobalContext* globalCtx); +void func_8095F0A4(EnIshi* this, GlobalContext* globalCtx); +void func_8095F194(EnIshi* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Ishi_InitVars = { ACTOR_EN_ISHI, @@ -21,7 +28,6 @@ const ActorInit En_Ishi_InitVars = { (ActorFunc)NULL, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_8095F6EC = { { COLTYPE_HARD, AT_ON | AT_TYPE_PLAYER, AC_ON | AC_HARD | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -29,7 +35,6 @@ static ColliderCylinderInit D_8095F6EC = { { 10, 18, -2, { 0, 0, 0 } }, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_8095F718 = { { COLTYPE_HARD, AT_ON | AT_TYPE_PLAYER, AC_ON | AC_HARD | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -37,11 +42,9 @@ static ColliderCylinderInit D_8095F718 = { { 55, 70, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit D_8095F744 = { 0, 12, 60, MASS_IMMOVABLE }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_8095F784[] = { ICHAIN_F32_DIV1000(gravity, -1200, ICHAIN_CONTINUE), @@ -51,7 +54,6 @@ static InitChainEntry D_8095F784[] = { ICHAIN_F32(uncullZoneDownward, 100, ICHAIN_STOP), }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_8095F798[] = { ICHAIN_F32_DIV1000(gravity, -2500, ICHAIN_CONTINUE), @@ -61,72 +63,74 @@ static InitChainEntry D_8095F798[] = { ICHAIN_F32(uncullZoneDownward, 400, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_8095F6EC; extern ColliderCylinderInit D_8095F718; extern CollisionCheckInfoInit D_8095F744; extern InitChainEntry D_8095F784[]; extern InitChainEntry D_8095F798[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ishi_0x8095D6E0/func_8095D6E0.asm") +extern UNK_TYPE D_060009B0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ishi_0x8095D6E0/func_8095D758.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ishi/func_8095D6E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ishi_0x8095D6E0/func_8095D804.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ishi/func_8095D758.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ishi_0x8095D6E0/func_8095DABC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ishi/func_8095D804.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ishi_0x8095D6E0/func_8095DDA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ishi/func_8095DABC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ishi_0x8095D6E0/func_8095DE9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ishi/func_8095DDA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ishi_0x8095D6E0/func_8095DF90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ishi/func_8095DE9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ishi_0x8095D6E0/func_8095DFF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ishi/func_8095DF90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ishi_0x8095D6E0/func_8095E14C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ishi/func_8095DFF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ishi_0x8095D6E0/func_8095E180.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ishi/func_8095E14C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ishi_0x8095D6E0/func_8095E204.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ishi/func_8095E180.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ishi_0x8095D6E0/func_8095E2B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ishi/func_8095E204.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ishi_0x8095D6E0/EnIshi_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ishi/func_8095E2B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ishi_0x8095D6E0/EnIshi_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ishi/EnIshi_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ishi_0x8095D6E0/func_8095E5AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ishi/EnIshi_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ishi_0x8095D6E0/func_8095E5C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ishi/func_8095E5AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ishi_0x8095D6E0/func_8095E64C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ishi/func_8095E5C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ishi_0x8095D6E0/func_8095E660.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ishi/func_8095E64C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ishi_0x8095D6E0/func_8095E934.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ishi/func_8095E660.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ishi_0x8095D6E0/func_8095E95C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ishi/func_8095E934.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ishi_0x8095D6E0/func_8095EA70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ishi/func_8095E95C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ishi_0x8095D6E0/func_8095EBDC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ishi/func_8095EA70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ishi_0x8095D6E0/func_8095F060.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ishi/func_8095EBDC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ishi_0x8095D6E0/func_8095F0A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ishi/func_8095F060.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ishi_0x8095D6E0/func_8095F180.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ishi/func_8095F0A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ishi_0x8095D6E0/func_8095F194.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ishi/func_8095F180.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ishi_0x8095D6E0/EnIshi_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ishi/func_8095F194.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ishi_0x8095D6E0/func_8095F210.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ishi/EnIshi_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ishi_0x8095D6E0/func_8095F36C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ishi/func_8095F210.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ishi_0x8095D6E0/func_8095F61C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ishi/func_8095F36C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ishi_0x8095D6E0/func_8095F654.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ishi/func_8095F61C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ishi/func_8095F654.s") diff --git a/src/overlays/actors/ovl_En_Ishi/z_en_ishi.h b/src/overlays/actors/ovl_En_Ishi/z_en_ishi.h index 354d4c5496..93e1ac1503 100644 --- a/src/overlays/actors/ovl_En_Ishi/z_en_ishi.h +++ b/src/overlays/actors/ovl_En_Ishi/z_en_ishi.h @@ -1,13 +1,17 @@ #ifndef Z_EN_ISHI_H #define Z_EN_ISHI_H -#include +#include "global.h" struct EnIshi; +typedef void (*EnIshiActionFunc)(struct EnIshi* this, GlobalContext* globalCtx); + typedef struct EnIshi { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x54]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x4C]; + /* 0x0190 */ EnIshiActionFunc actionFunc; + /* 0x0194 */ char unk_194[0x4]; } EnIshi; // size = 0x198 extern const ActorInit En_Ishi_InitVars; diff --git a/src/overlays/actors/ovl_En_Ja/z_en_ja.c b/src/overlays/actors/ovl_En_Ja/z_en_ja.c index 2fc356bd41..8fd60081a2 100644 --- a/src/overlays/actors/ovl_En_Ja/z_en_ja.c +++ b/src/overlays/actors/ovl_En_Ja/z_en_ja.c @@ -9,6 +9,9 @@ void EnJa_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnJa_Update(Actor* thisx, GlobalContext* globalCtx); void EnJa_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80BC21A8(EnJa* this, GlobalContext* globalCtx); +void func_80BC22F4(EnJa* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Ja_InitVars = { ACTOR_EN_JA, @@ -22,7 +25,6 @@ const ActorInit En_Ja_InitVars = { (ActorFunc)EnJa_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80BC36DC = { { COLTYPE_HIT1, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,71 +32,74 @@ static ColliderCylinderInit D_80BC36DC = { { 12, 64, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_80BC3708 = { 0, 0, 0, 0, MASS_IMMOVABLE }; +#endif extern ColliderCylinderInit D_80BC36DC; extern CollisionCheckInfoInit2 D_80BC3708; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ja_0x80BC1900/func_80BC1900.asm") +extern UNK_TYPE D_0600BA30; +extern UNK_TYPE D_0600BCC8; +extern UNK_TYPE D_0600C240; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ja_0x80BC1900/func_80BC192C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ja/func_80BC1900.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ja_0x80BC1900/func_80BC1984.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ja/func_80BC192C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ja_0x80BC1900/func_80BC19FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ja/func_80BC1984.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ja_0x80BC1900/func_80BC1A68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ja/func_80BC19FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ja_0x80BC1900/func_80BC1AE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ja/func_80BC1A68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ja_0x80BC1900/func_80BC1B50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ja/func_80BC1AE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ja_0x80BC1900/func_80BC1B60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ja/func_80BC1B50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ja_0x80BC1900/func_80BC1D70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ja/func_80BC1B60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ja_0x80BC1900/func_80BC1E40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ja/func_80BC1D70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ja_0x80BC1900/func_80BC1FC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ja/func_80BC1E40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ja_0x80BC1900/func_80BC203C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ja/func_80BC1FC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ja_0x80BC1900/func_80BC20D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ja/func_80BC203C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ja_0x80BC1900/func_80BC213C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ja/func_80BC20D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ja_0x80BC1900/func_80BC2150.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ja/func_80BC213C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ja_0x80BC1900/func_80BC21A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ja/func_80BC2150.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ja_0x80BC1900/func_80BC2274.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ja/func_80BC21A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ja_0x80BC1900/func_80BC22F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ja/func_80BC2274.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ja_0x80BC1900/EnJa_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ja/func_80BC22F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ja_0x80BC1900/EnJa_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ja/EnJa_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ja_0x80BC1900/EnJa_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ja/EnJa_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ja_0x80BC1900/func_80BC25E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ja/EnJa_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ja_0x80BC1900/func_80BC2620.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ja/func_80BC25E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ja_0x80BC1900/func_80BC2B30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ja/func_80BC2620.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ja_0x80BC1900/EnJa_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ja/func_80BC2B30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ja_0x80BC1900/func_80BC2EA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ja/EnJa_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ja_0x80BC1900/func_80BC3154.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ja/func_80BC2EA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ja_0x80BC1900/func_80BC32D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ja/func_80BC3154.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ja_0x80BC1900/func_80BC33C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ja/func_80BC32D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ja_0x80BC1900/func_80BC3594.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ja/func_80BC33C0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ja/func_80BC3594.s") diff --git a/src/overlays/actors/ovl_En_Ja/z_en_ja.h b/src/overlays/actors/ovl_En_Ja/z_en_ja.h index 8323e7dd59..d5c3c98d43 100644 --- a/src/overlays/actors/ovl_En_Ja/z_en_ja.h +++ b/src/overlays/actors/ovl_En_Ja/z_en_ja.h @@ -1,13 +1,17 @@ #ifndef Z_EN_JA_H #define Z_EN_JA_H -#include +#include "global.h" struct EnJa; +typedef void (*EnJaActionFunc)(struct EnJa* this, GlobalContext* globalCtx); + typedef struct EnJa { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x234]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ EnJaActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x1EC]; } EnJa; // size = 0x378 extern const ActorInit En_Ja_InitVars; diff --git a/src/overlays/actors/ovl_En_Jc_Mato/z_en_jc_mato.h b/src/overlays/actors/ovl_En_Jc_Mato/z_en_jc_mato.h index 3045cc359a..cb1e69ac8e 100644 --- a/src/overlays/actors/ovl_En_Jc_Mato/z_en_jc_mato.h +++ b/src/overlays/actors/ovl_En_Jc_Mato/z_en_jc_mato.h @@ -1,7 +1,7 @@ #ifndef Z_EN_JC_MATO_H #define Z_EN_JC_MATO_H -#include +#include "global.h" struct EnJcMato; diff --git a/src/overlays/actors/ovl_En_Jg/z_en_jg.c b/src/overlays/actors/ovl_En_Jg/z_en_jg.c index 2f60ac6851..240c6cb407 100644 --- a/src/overlays/actors/ovl_En_Jg/z_en_jg.c +++ b/src/overlays/actors/ovl_En_Jg/z_en_jg.c @@ -22,7 +22,6 @@ const ActorInit En_Jg_InitVars = { (ActorFunc)EnJg_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80B75820 = { { COLTYPE_NONE, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,11 +29,9 @@ static ColliderCylinderInit D_80B75820 = { { 60, 80, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_80B7584C = { 0, 50, 80, 0, MASS_IMMOVABLE }; - // static DamageTable sDamageTable = { static DamageTable D_80B75858 = { /* Deku Nut */ DMG_ENTRY(0, 0x0), @@ -71,68 +68,70 @@ static DamageTable D_80B75858 = { /* Powder Keg */ DMG_ENTRY(0, 0x0), }; +#endif extern ColliderCylinderInit D_80B75820; extern CollisionCheckInfoInit2 D_80B7584C; extern DamageTable D_80B75858; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jg_0x80B73A90/func_80B73A90.asm") +extern UNK_TYPE D_0601ADC0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jg_0x80B73A90/func_80B73AE4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jg/func_80B73A90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jg_0x80B73A90/func_80B73B98.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jg/func_80B73AE4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jg_0x80B73A90/func_80B73C58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jg/func_80B73B98.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jg_0x80B73A90/func_80B73DF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jg/func_80B73C58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jg_0x80B73A90/func_80B73E3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jg/func_80B73DF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jg_0x80B73A90/func_80B73F1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jg/func_80B73E3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jg_0x80B73A90/func_80B7406C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jg/func_80B73F1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jg_0x80B73A90/func_80B7408C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jg/func_80B7406C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jg_0x80B73A90/func_80B74134.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jg/func_80B7408C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jg_0x80B73A90/func_80B741F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jg/func_80B74134.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jg_0x80B73A90/func_80B742F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jg/func_80B741F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jg_0x80B73A90/func_80B74440.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jg/func_80B742F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jg_0x80B73A90/func_80B74550.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jg/func_80B74440.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jg_0x80B73A90/func_80B747C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jg/func_80B74550.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jg_0x80B73A90/func_80B74840.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jg/func_80B747C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jg_0x80B73A90/func_80B749D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jg/func_80B74840.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jg_0x80B73A90/func_80B74AD8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jg/func_80B749D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jg_0x80B73A90/func_80B74B54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jg/func_80B74AD8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jg_0x80B73A90/func_80B74BC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jg/func_80B74B54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jg_0x80B73A90/func_80B74E5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jg/func_80B74BC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jg_0x80B73A90/func_80B750A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jg/func_80B74E5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jg_0x80B73A90/func_80B7517C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jg/func_80B750A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jg_0x80B73A90/func_80B751F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jg/func_80B7517C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jg_0x80B73A90/EnJg_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jg/func_80B751F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jg_0x80B73A90/EnJg_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jg/EnJg_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jg_0x80B73A90/EnJg_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jg/EnJg_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jg_0x80B73A90/func_80B75658.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jg/EnJg_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jg_0x80B73A90/func_80B75708.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jg/func_80B75658.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jg_0x80B73A90/EnJg_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jg/func_80B75708.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jg/EnJg_Draw.s") diff --git a/src/overlays/actors/ovl_En_Jg/z_en_jg.h b/src/overlays/actors/ovl_En_Jg/z_en_jg.h index b541bfc003..46ce0f2782 100644 --- a/src/overlays/actors/ovl_En_Jg/z_en_jg.h +++ b/src/overlays/actors/ovl_En_Jg/z_en_jg.h @@ -1,13 +1,17 @@ #ifndef Z_EN_JG_H #define Z_EN_JG_H -#include +#include "global.h" struct EnJg; +typedef void (*EnJgActionFunc)(struct EnJg* this, GlobalContext* globalCtx); + typedef struct EnJg { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x290]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x98]; + /* 0x01DC */ EnJgActionFunc actionFunc; + /* 0x01E0 */ char unk_1E0[0x1F4]; } EnJg; // size = 0x3D4 extern const ActorInit En_Jg_InitVars; diff --git a/src/overlays/actors/ovl_En_Jgame_Tsn/z_en_jgame_tsn.c b/src/overlays/actors/ovl_En_Jgame_Tsn/z_en_jgame_tsn.c index 75ce9ba5b4..7148c01de4 100644 --- a/src/overlays/actors/ovl_En_Jgame_Tsn/z_en_jgame_tsn.c +++ b/src/overlays/actors/ovl_En_Jgame_Tsn/z_en_jgame_tsn.c @@ -22,7 +22,6 @@ const ActorInit En_Jgame_Tsn_InitVars = { (ActorFunc)EnJgameTsn_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80C15078 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_ENEMY, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,72 +29,74 @@ static ColliderCylinderInit D_80C15078 = { { 30, 40, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80C15078; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jgame_Tsn_0x80C13930/EnJgameTsn_Init.asm") +extern ColliderCylinderInit D_80C15078; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jgame_Tsn_0x80C13930/func_80C13A2C.asm") +extern UNK_TYPE D_060092FC; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jgame_Tsn_0x80C13930/EnJgameTsn_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jgame_Tsn/EnJgameTsn_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jgame_Tsn_0x80C13930/func_80C13B74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jgame_Tsn/func_80C13A2C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jgame_Tsn_0x80C13930/func_80C13BB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jgame_Tsn/EnJgameTsn_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jgame_Tsn_0x80C13930/func_80C13E6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jgame_Tsn/func_80C13B74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jgame_Tsn_0x80C13930/func_80C13E90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jgame_Tsn/func_80C13BB8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jgame_Tsn_0x80C13930/func_80C13F88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jgame_Tsn/func_80C13E6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jgame_Tsn_0x80C13930/func_80C13F9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jgame_Tsn/func_80C13E90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jgame_Tsn_0x80C13930/func_80C14030.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jgame_Tsn/func_80C13F88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jgame_Tsn_0x80C13930/func_80C14044.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jgame_Tsn/func_80C13F9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jgame_Tsn_0x80C13930/func_80C1410C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jgame_Tsn/func_80C14030.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jgame_Tsn_0x80C13930/func_80C1418C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jgame_Tsn/func_80C14044.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jgame_Tsn_0x80C13930/func_80C141DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jgame_Tsn/func_80C1410C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jgame_Tsn_0x80C13930/func_80C14230.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jgame_Tsn/func_80C1418C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jgame_Tsn_0x80C13930/func_80C144E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jgame_Tsn/func_80C141DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jgame_Tsn_0x80C13930/func_80C144F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jgame_Tsn/func_80C14230.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jgame_Tsn_0x80C13930/func_80C14540.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jgame_Tsn/func_80C144E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jgame_Tsn_0x80C13930/func_80C14554.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jgame_Tsn/func_80C144F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jgame_Tsn_0x80C13930/func_80C145FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jgame_Tsn/func_80C14540.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jgame_Tsn_0x80C13930/func_80C14610.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jgame_Tsn/func_80C14554.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jgame_Tsn_0x80C13930/func_80C14684.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jgame_Tsn/func_80C145FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jgame_Tsn_0x80C13930/func_80C1476C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jgame_Tsn/func_80C14610.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jgame_Tsn_0x80C13930/func_80C147B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jgame_Tsn/func_80C14684.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jgame_Tsn_0x80C13930/func_80C14960.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jgame_Tsn/func_80C1476C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jgame_Tsn_0x80C13930/func_80C149B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jgame_Tsn/func_80C147B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jgame_Tsn_0x80C13930/func_80C14BCC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jgame_Tsn/func_80C14960.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jgame_Tsn_0x80C13930/func_80C14D14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jgame_Tsn/func_80C149B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jgame_Tsn_0x80C13930/func_80C14D58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jgame_Tsn/func_80C14BCC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jgame_Tsn_0x80C13930/EnJgameTsn_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jgame_Tsn/func_80C14D14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jgame_Tsn_0x80C13930/func_80C14E64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jgame_Tsn/func_80C14D58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jgame_Tsn_0x80C13930/func_80C14EE4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jgame_Tsn/EnJgameTsn_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jgame_Tsn_0x80C13930/EnJgameTsn_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jgame_Tsn/func_80C14E64.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jgame_Tsn/func_80C14EE4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jgame_Tsn/EnJgameTsn_Draw.s") diff --git a/src/overlays/actors/ovl_En_Jgame_Tsn/z_en_jgame_tsn.h b/src/overlays/actors/ovl_En_Jgame_Tsn/z_en_jgame_tsn.h index e5fb483696..66299bf466 100644 --- a/src/overlays/actors/ovl_En_Jgame_Tsn/z_en_jgame_tsn.h +++ b/src/overlays/actors/ovl_En_Jgame_Tsn/z_en_jgame_tsn.h @@ -1,13 +1,17 @@ #ifndef Z_EN_JGAME_TSN_H #define Z_EN_JGAME_TSN_H -#include +#include "global.h" struct EnJgameTsn; +typedef void (*EnJgameTsnActionFunc)(struct EnJgameTsn* this, GlobalContext* globalCtx); + typedef struct EnJgameTsn { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x1C0]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x90]; + /* 0x01D4 */ EnJgameTsnActionFunc actionFunc; + /* 0x01D8 */ char unk_1D8[0x12C]; } EnJgameTsn; // size = 0x304 extern const ActorInit En_Jgame_Tsn_InitVars; diff --git a/src/overlays/actors/ovl_En_Js/z_en_js.c b/src/overlays/actors/ovl_En_Js/z_en_js.c index 6b617a7a1d..cab6ca7f2f 100644 --- a/src/overlays/actors/ovl_En_Js/z_en_js.c +++ b/src/overlays/actors/ovl_En_Js/z_en_js.c @@ -22,7 +22,6 @@ const ActorInit En_Js_InitVars = { (ActorFunc)EnJs_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_8096ABA0 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_ENEMY, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,78 +29,82 @@ static ColliderCylinderInit D_8096ABA0 = { { 20, 40, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_8096ABA0; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Js_0x809687B0/EnJs_Init.asm") +extern ColliderCylinderInit D_8096ABA0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Js_0x809687B0/EnJs_Destroy.asm") +extern UNK_TYPE D_06010880; +extern UNK_TYPE D_06016F58; +extern UNK_TYPE D_06017E98; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Js_0x809687B0/func_80968A5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Js/EnJs_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Js_0x809687B0/func_80968B18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Js/EnJs_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Js_0x809687B0/func_80968B8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Js/func_80968A5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Js_0x809687B0/func_80968CB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Js/func_80968B18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Js_0x809687B0/func_80968DD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Js/func_80968B8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Js_0x809687B0/func_80968E38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Js/func_80968CB8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Js_0x809687B0/func_80968F48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Js/func_80968DD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Js_0x809687B0/func_809691B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Js/func_80968E38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Js_0x809687B0/func_809692A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Js/func_80968F48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Js_0x809687B0/func_8096933C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Js/func_809691B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Js_0x809687B0/func_80969400.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Js/func_809692A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Js_0x809687B0/func_80969494.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Js/func_8096933C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Js_0x809687B0/func_809694E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Js/func_80969400.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Js_0x809687B0/func_80969530.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Js/func_80969494.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Js_0x809687B0/func_809695FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Js/func_809694E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Js_0x809687B0/func_80969688.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Js/func_80969530.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Js_0x809687B0/func_809696EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Js/func_809695FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Js_0x809687B0/func_8096971C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Js/func_80969688.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Js_0x809687B0/func_80969748.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Js/func_809696EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Js_0x809687B0/func_80969898.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Js/func_8096971C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Js_0x809687B0/func_80969AA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Js/func_80969748.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Js_0x809687B0/func_80969B5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Js/func_80969898.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Js_0x809687B0/func_80969C54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Js/func_80969AA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Js_0x809687B0/func_80969DA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Js/func_80969B5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Js_0x809687B0/func_8096A080.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Js/func_80969C54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Js_0x809687B0/func_8096A104.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Js/func_80969DA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Js_0x809687B0/func_8096A184.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Js/func_8096A080.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Js_0x809687B0/func_8096A1E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Js/func_8096A104.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Js_0x809687B0/func_8096A2C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Js/func_8096A184.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Js_0x809687B0/func_8096A38C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Js/func_8096A1E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Js_0x809687B0/func_8096A6F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Js/func_8096A2C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Js_0x809687B0/EnJs_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Js/func_8096A38C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Js_0x809687B0/func_8096A9F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Js/func_8096A6F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Js_0x809687B0/EnJs_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Js/EnJs_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Js/func_8096A9F4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Js/EnJs_Draw.s") diff --git a/src/overlays/actors/ovl_En_Js/z_en_js.h b/src/overlays/actors/ovl_En_Js/z_en_js.h index 52863ef8fc..5e45eb54b9 100644 --- a/src/overlays/actors/ovl_En_Js/z_en_js.h +++ b/src/overlays/actors/ovl_En_Js/z_en_js.h @@ -1,13 +1,16 @@ #ifndef Z_EN_JS_H #define Z_EN_JS_H -#include +#include "global.h" struct EnJs; +typedef void (*EnJsActionFunc)(struct EnJs* this, GlobalContext* globalCtx); + typedef struct EnJs { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x184]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x180]; + /* 0x02C4 */ EnJsActionFunc actionFunc; } EnJs; // size = 0x2C8 extern const ActorInit En_Js_InitVars; diff --git a/src/overlays/actors/ovl_En_Jso/z_en_jso.c b/src/overlays/actors/ovl_En_Jso/z_en_jso.c index e6e899b122..3248c716e6 100644 --- a/src/overlays/actors/ovl_En_Jso/z_en_jso.c +++ b/src/overlays/actors/ovl_En_Jso/z_en_jso.c @@ -8,6 +8,24 @@ void EnJso_Init(Actor* thisx, GlobalContext* globalCtx); void EnJso_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnJso_Update(Actor* thisx, GlobalContext* globalCtx); +void func_809ADCB8(EnJso* this, GlobalContext* globalCtx); +void func_809AE87C(EnJso* this, GlobalContext* globalCtx); +void func_809AEA08(EnJso* this, GlobalContext* globalCtx); +void func_809AED00(EnJso* this, GlobalContext* globalCtx); +void func_809AEDAC(EnJso* this, GlobalContext* globalCtx); +void func_809AEEC0(EnJso* this, GlobalContext* globalCtx); +void func_809AF110(EnJso* this, GlobalContext* globalCtx); +void func_809AF2F8(EnJso* this, GlobalContext* globalCtx); +void func_809AF3C0(EnJso* this, GlobalContext* globalCtx); +void func_809AF440(EnJso* this, GlobalContext* globalCtx); +void func_809AF53C(EnJso* this, GlobalContext* globalCtx); +void func_809AF714(EnJso* this, GlobalContext* globalCtx); +void func_809AF7F4(EnJso* this, GlobalContext* globalCtx); +void func_809AF99C(EnJso* this, GlobalContext* globalCtx); +void func_809AFAF4(EnJso* this, GlobalContext* globalCtx); +void func_809AFC10(EnJso* this, GlobalContext* globalCtx); +void func_809AFE38(EnJso* this, GlobalContext* globalCtx); + #if 0 // static DamageTable sDamageTable = { static DamageTable D_809B0F48 = { @@ -45,7 +63,6 @@ static DamageTable D_809B0F48 = { /* Powder Keg */ DMG_ENTRY(1, 0xF), }; - const ActorInit En_Jso_InitVars = { ACTOR_EN_JSO, ACTORCAT_ENEMY, @@ -58,7 +75,6 @@ const ActorInit En_Jso_InitVars = { (ActorFunc)NULL, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_809B0F88 = { { COLTYPE_NONE, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_HARD | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -66,7 +82,6 @@ static ColliderCylinderInit D_809B0F88 = { { 22, 55, 0, { 0, 0, 0 } }, }; - // static ColliderQuadInit sQuadInit = { static ColliderQuadInit D_809B0FB4 = { { COLTYPE_NONE, AT_ON | AT_TYPE_ENEMY, AC_NONE, OC1_NONE, OC2_NONE, COLSHAPE_QUAD, }, @@ -74,90 +89,92 @@ static ColliderQuadInit D_809B0FB4 = { { { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } } }, }; +#endif extern DamageTable D_809B0F48; extern ColliderCylinderInit D_809B0F88; extern ColliderQuadInit D_809B0FB4; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso_0x809AD8E0/EnJso_Init.asm") +extern UNK_TYPE D_060081F4; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso_0x809AD8E0/EnJso_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso/EnJso_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso_0x809AD8E0/func_809ADBC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso/EnJso_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso_0x809AD8E0/func_809ADC7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso/func_809ADBC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso_0x809AD8E0/func_809ADCB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso/func_809ADC7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso_0x809AD8E0/func_809AE754.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso/func_809ADCB8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso_0x809AD8E0/func_809AE87C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso/func_809AE754.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso_0x809AD8E0/func_809AE9B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso/func_809AE87C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso_0x809AD8E0/func_809AEA08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso/func_809AE9B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso_0x809AD8E0/func_809AECA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso/func_809AEA08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso_0x809AD8E0/func_809AED00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso/func_809AECA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso_0x809AD8E0/func_809AED54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso/func_809AED00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso_0x809AD8E0/func_809AEDAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso/func_809AED54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso_0x809AD8E0/func_809AEE44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso/func_809AEDAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso_0x809AD8E0/func_809AEEC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso/func_809AEE44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso_0x809AD8E0/func_809AF064.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso/func_809AEEC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso_0x809AD8E0/func_809AF110.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso/func_809AF064.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso_0x809AD8E0/func_809AF28C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso/func_809AF110.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso_0x809AD8E0/func_809AF2F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso/func_809AF28C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso_0x809AD8E0/func_809AF368.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso/func_809AF2F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso_0x809AD8E0/func_809AF3C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso/func_809AF368.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso_0x809AD8E0/func_809AF3FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso/func_809AF3C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso_0x809AD8E0/func_809AF440.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso/func_809AF3FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso_0x809AD8E0/func_809AF470.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso/func_809AF440.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso_0x809AD8E0/func_809AF53C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso/func_809AF470.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso_0x809AD8E0/func_809AF5F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso/func_809AF53C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso_0x809AD8E0/func_809AF714.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso/func_809AF5F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso_0x809AD8E0/func_809AF76C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso/func_809AF714.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso_0x809AD8E0/func_809AF7F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso/func_809AF76C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso_0x809AD8E0/func_809AF8D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso/func_809AF7F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso_0x809AD8E0/func_809AF99C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso/func_809AF8D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso_0x809AD8E0/func_809AFA58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso/func_809AF99C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso_0x809AD8E0/func_809AFAF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso/func_809AFA58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso_0x809AD8E0/func_809AFC10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso/func_809AFAF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso_0x809AD8E0/func_809AFE38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso/func_809AFC10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso_0x809AD8E0/func_809B0034.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso/func_809AFE38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso_0x809AD8E0/EnJso_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso/func_809B0034.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso_0x809AD8E0/func_809B0734.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso/EnJso_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso_0x809AD8E0/func_809B0820.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso/func_809B0734.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso_0x809AD8E0/func_809B0B70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso/func_809B0820.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso_0x809AD8E0/func_809B0BB0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso/func_809B0B70.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso/func_809B0BB0.s") diff --git a/src/overlays/actors/ovl_En_Jso/z_en_jso.h b/src/overlays/actors/ovl_En_Jso/z_en_jso.h index fe5c9dd7d8..7c14a00351 100644 --- a/src/overlays/actors/ovl_En_Jso/z_en_jso.h +++ b/src/overlays/actors/ovl_En_Jso/z_en_jso.h @@ -1,13 +1,17 @@ #ifndef Z_EN_JSO_H #define Z_EN_JSO_H -#include +#include "global.h" struct EnJso; +typedef void (*EnJsoActionFunc)(struct EnJso* this, GlobalContext* globalCtx); + typedef struct EnJso { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0xEA8]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x134]; + /* 0x0278 */ EnJsoActionFunc actionFunc; + /* 0x027C */ char unk_27C[0xD70]; } EnJso; // size = 0xFEC extern const ActorInit En_Jso_InitVars; diff --git a/src/overlays/actors/ovl_En_Jso2/z_en_jso2.c b/src/overlays/actors/ovl_En_Jso2/z_en_jso2.c index 59e09619f9..4b978eb160 100644 --- a/src/overlays/actors/ovl_En_Jso2/z_en_jso2.c +++ b/src/overlays/actors/ovl_En_Jso2/z_en_jso2.c @@ -9,6 +9,25 @@ void EnJso2_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnJso2_Update(Actor* thisx, GlobalContext* globalCtx); void EnJso2_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80A778F8(EnJso2* this, GlobalContext* globalCtx); +void func_80A785E4(EnJso2* this, GlobalContext* globalCtx); +void func_80A78868(EnJso2* this, GlobalContext* globalCtx); +void func_80A78ACC(EnJso2* this, GlobalContext* globalCtx); +void func_80A78B70(EnJso2* this, GlobalContext* globalCtx); +void func_80A78C7C(EnJso2* this, GlobalContext* globalCtx); +void func_80A78F04(EnJso2* this, GlobalContext* globalCtx); +void func_80A79038(EnJso2* this, GlobalContext* globalCtx); +void func_80A7919C(EnJso2* this, GlobalContext* globalCtx); +void func_80A79364(EnJso2* this, GlobalContext* globalCtx); +void func_80A794C8(EnJso2* this, GlobalContext* globalCtx); +void func_80A79600(EnJso2* this, GlobalContext* globalCtx); +void func_80A7980C(EnJso2* this, GlobalContext* globalCtx); +void func_80A798C8(EnJso2* this, GlobalContext* globalCtx); +void func_80A79A84(EnJso2* this, GlobalContext* globalCtx); +void func_80A79BA0(EnJso2* this, GlobalContext* globalCtx); +void func_80A7A124(EnJso2* this, GlobalContext* globalCtx); +void func_80A7A2EC(EnJso2* this, GlobalContext* globalCtx); + #if 0 // static DamageTable sDamageTable = { static DamageTable D_80A7B4F0 = { @@ -46,7 +65,6 @@ static DamageTable D_80A7B4F0 = { /* Powder Keg */ DMG_ENTRY(1, 0xF), }; - const ActorInit En_Jso2_InitVars = { ACTOR_EN_JSO2, ACTORCAT_ENEMY, @@ -59,7 +77,6 @@ const ActorInit En_Jso2_InitVars = { (ActorFunc)EnJso2_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80A7B608 = { { COLTYPE_NONE, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_HARD | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -67,7 +84,6 @@ static ColliderCylinderInit D_80A7B608 = { { 22, 70, 0, { 0, 0, 0 } }, }; - // static ColliderQuadInit sQuadInit = { static ColliderQuadInit D_80A7B634 = { { COLTYPE_NONE, AT_ON | AT_TYPE_ENEMY, AC_NONE, OC1_NONE, OC2_NONE, COLSHAPE_QUAD, }, @@ -75,98 +91,101 @@ static ColliderQuadInit D_80A7B634 = { { { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } } }, }; +#endif extern DamageTable D_80A7B4F0; extern ColliderCylinderInit D_80A7B608; extern ColliderQuadInit D_80A7B634; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso2_0x80A773C0/EnJso2_Init.asm") +extern UNK_TYPE D_06002ED8; +extern UNK_TYPE D_060081F4; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso2_0x80A773C0/EnJso2_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso2/EnJso2_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso2_0x80A773C0/func_80A776E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso2/EnJso2_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso2_0x80A773C0/func_80A77790.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso2/func_80A776E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso2_0x80A773C0/func_80A77880.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso2/func_80A77790.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso2_0x80A773C0/func_80A778D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso2/func_80A77880.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso2_0x80A773C0/func_80A778F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso2/func_80A778D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso2_0x80A773C0/func_80A78588.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso2/func_80A778F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso2_0x80A773C0/func_80A785E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso2/func_80A78588.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso2_0x80A773C0/func_80A787FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso2/func_80A785E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso2_0x80A773C0/func_80A78868.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso2/func_80A787FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso2_0x80A773C0/func_80A78A70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso2/func_80A78868.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso2_0x80A773C0/func_80A78ACC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso2/func_80A78A70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso2_0x80A773C0/func_80A78B04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso2/func_80A78ACC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso2_0x80A773C0/func_80A78B70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso2/func_80A78B04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso2_0x80A773C0/func_80A78C08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso2/func_80A78B70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso2_0x80A773C0/func_80A78C7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso2/func_80A78C08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso2_0x80A773C0/func_80A78E8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso2/func_80A78C7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso2_0x80A773C0/func_80A78F04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso2/func_80A78E8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso2_0x80A773C0/func_80A78F80.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso2/func_80A78F04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso2_0x80A773C0/func_80A79038.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso2/func_80A78F80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso2_0x80A773C0/func_80A790E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso2/func_80A79038.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso2_0x80A773C0/func_80A7919C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso2/func_80A790E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso2_0x80A773C0/func_80A79300.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso2/func_80A7919C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso2_0x80A773C0/func_80A79364.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso2/func_80A79300.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso2_0x80A773C0/func_80A79450.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso2/func_80A79364.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso2_0x80A773C0/func_80A794C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso2/func_80A79450.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso2_0x80A773C0/func_80A79524.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso2/func_80A794C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso2_0x80A773C0/func_80A79600.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso2/func_80A79524.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso2_0x80A773C0/func_80A796BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso2/func_80A79600.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso2_0x80A773C0/func_80A7980C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso2/func_80A796BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso2_0x80A773C0/func_80A79864.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso2/func_80A7980C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso2_0x80A773C0/func_80A798C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso2/func_80A79864.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso2_0x80A773C0/func_80A7998C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso2/func_80A798C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso2_0x80A773C0/func_80A79A84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso2/func_80A7998C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso2_0x80A773C0/func_80A79B60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso2/func_80A79A84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso2_0x80A773C0/func_80A79BA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso2/func_80A79B60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso2_0x80A773C0/func_80A7A0D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso2/func_80A79BA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso2_0x80A773C0/func_80A7A124.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso2/func_80A7A0D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso2_0x80A773C0/func_80A7A2EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso2/func_80A7A124.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso2_0x80A773C0/func_80A7A360.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso2/func_80A7A2EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso2_0x80A773C0/EnJso2_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso2/func_80A7A360.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso2_0x80A773C0/func_80A7AA48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso2/EnJso2_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso2_0x80A773C0/func_80A7AA9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso2/func_80A7AA48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Jso2_0x80A773C0/EnJso2_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso2/func_80A7AA9C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Jso2/EnJso2_Draw.s") diff --git a/src/overlays/actors/ovl_En_Jso2/z_en_jso2.h b/src/overlays/actors/ovl_En_Jso2/z_en_jso2.h index f1fba2d57b..44c9d77580 100644 --- a/src/overlays/actors/ovl_En_Jso2/z_en_jso2.h +++ b/src/overlays/actors/ovl_En_Jso2/z_en_jso2.h @@ -1,13 +1,17 @@ #ifndef Z_EN_JSO2_H #define Z_EN_JSO2_H -#include +#include "global.h" struct EnJso2; +typedef void (*EnJso2ActionFunc)(struct EnJso2* this, GlobalContext* globalCtx); + typedef struct EnJso2 { /* 0x0000 */ Actor actor; - /* 0x0144 */ char unk_0144[0xF4C]; + /* 0x0144 */ char unk_144[0x134]; + /* 0x0278 */ EnJso2ActionFunc actionFunc; + /* 0x027C */ char unk_27C[0xE14]; } EnJso2; // size = 0x1090 extern const ActorInit En_Jso2_InitVars; diff --git a/src/overlays/actors/ovl_En_Kaizoku/z_en_kaizoku.c b/src/overlays/actors/ovl_En_Kaizoku/z_en_kaizoku.c index 4b15414bdf..5cb0414588 100644 --- a/src/overlays/actors/ovl_En_Kaizoku/z_en_kaizoku.c +++ b/src/overlays/actors/ovl_En_Kaizoku/z_en_kaizoku.c @@ -45,7 +45,6 @@ static DamageTable D_80B8AB3C = { /* Powder Keg */ DMG_ENTRY(1, 0xE), }; - const ActorInit En_Kaizoku_InitVars = { ACTOR_EN_KAIZOKU, ACTORCAT_ENEMY, @@ -58,7 +57,6 @@ const ActorInit En_Kaizoku_InitVars = { (ActorFunc)NULL, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80B8AB7C = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -66,7 +64,6 @@ static ColliderCylinderInit D_80B8AB7C = { { 20, 50, 0, { 0, 0, 0 } }, }; - // static ColliderQuadInit sQuadInit = { static ColliderQuadInit D_80B8ABA8 = { { COLTYPE_NONE, AT_ON | AT_TYPE_PLAYER | AT_TYPE_ENEMY, AC_NONE, OC1_NONE, OC2_NONE, COLSHAPE_QUAD, }, @@ -74,104 +71,106 @@ static ColliderQuadInit D_80B8ABA8 = { { { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } } }, }; +#endif extern DamageTable D_80B8AB3C; extern ColliderCylinderInit D_80B8AB7C; extern ColliderQuadInit D_80B8ABA8; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/EnKaizoku_Init.asm") +extern UNK_TYPE D_060058B8; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/EnKaizoku_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/EnKaizoku_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/func_80B85858.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/EnKaizoku_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/func_80B85900.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/func_80B85858.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/func_80B85A00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/func_80B85900.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/func_80B85E18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/func_80B85A00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/func_80B85EA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/func_80B85E18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/func_80B85F48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/func_80B85EA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/func_80B85FA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/func_80B85F48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/func_80B86804.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/func_80B85FA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/func_80B868B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/func_80B86804.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/func_80B86B58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/func_80B868B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/func_80B86B74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/func_80B86B58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/func_80B872A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/func_80B86B74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/func_80B872F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/func_80B872A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/func_80B874D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/func_80B872F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/func_80B8760C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/func_80B874D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/func_80B87900.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/func_80B8760C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/func_80B8798C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/func_80B87900.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/func_80B87C7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/func_80B8798C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/func_80B87CF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/func_80B87C7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/func_80B87D3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/func_80B87CF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/func_80B87E28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/func_80B87D3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/func_80B87E9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/func_80B87E28.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/func_80B87F70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/func_80B87E9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/func_80B87FDC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/func_80B87F70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/func_80B88214.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/func_80B87FDC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/func_80B88278.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/func_80B88214.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/func_80B8833C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/func_80B88278.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/func_80B88378.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/func_80B8833C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/func_80B88770.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/func_80B88378.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/func_80B887AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/func_80B88770.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/func_80B88910.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/func_80B887AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/func_80B88964.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/func_80B88910.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/func_80B88CD8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/func_80B88964.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/func_80B88D6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/func_80B88CD8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/func_80B891B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/func_80B88D6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/func_80B89280.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/func_80B891B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/func_80B893CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/func_80B89280.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/func_80B894C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/func_80B893CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/func_80B8960C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/func_80B894C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/func_80B8971C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/func_80B8960C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/func_80B89A08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/func_80B8971C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/EnKaizoku_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/func_80B89A08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/func_80B8A318.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/EnKaizoku_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/func_80B8A468.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/func_80B8A318.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/func_80B8A6B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/func_80B8A468.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kaizoku_0x80B85590/func_80B8A718.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/func_80B8A6B0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kaizoku/func_80B8A718.s") diff --git a/src/overlays/actors/ovl_En_Kaizoku/z_en_kaizoku.h b/src/overlays/actors/ovl_En_Kaizoku/z_en_kaizoku.h index 0647b66543..c2b28e32e3 100644 --- a/src/overlays/actors/ovl_En_Kaizoku/z_en_kaizoku.h +++ b/src/overlays/actors/ovl_En_Kaizoku/z_en_kaizoku.h @@ -1,16 +1,20 @@ #ifndef Z_EN_KAIZOKU_H #define Z_EN_KAIZOKU_H -#include +#include "global.h" struct EnKaizoku; +typedef void (*EnKaizokuActionFunc)(struct EnKaizoku* this, GlobalContext* globalCtx); + typedef struct EnKaizoku { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x1AC]; - /* 0x2F0 */ f32 unk_2F0; - /* 0x2F4 */ s16 unk_2F4; - /* 0x2F6 */ char unk_2F6[0x2FA]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x168]; + /* 0x02AC */ EnKaizokuActionFunc actionFunc; + /* 0x02B0 */ char unk_2B0[0x40]; + /* 0x02F0 */ f32 unk_2F0; + /* 0x02F4 */ s16 unk_2F4; + /* 0x02F6 */ char unk_2F6[0x2FA]; } EnKaizoku; // size = 0x5F0 extern const ActorInit En_Kaizoku_InitVars; diff --git a/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c b/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c index 6681e89944..16d9f82713 100644 --- a/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c +++ b/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c @@ -9,6 +9,23 @@ void EnKakasi_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnKakasi_Update(Actor* thisx, GlobalContext* globalCtx); void EnKakasi_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_8096FCC4(EnKakasi* this, GlobalContext* globalCtx); +void func_8096FE00(EnKakasi* this, GlobalContext* globalCtx); +void func_8097006C(EnKakasi* this, GlobalContext* globalCtx); +void func_80970658(EnKakasi* this, GlobalContext* globalCtx); +void func_80970740(EnKakasi* this, GlobalContext* globalCtx); +void func_80970978(EnKakasi* this, GlobalContext* globalCtx); +void func_80970A9C(EnKakasi* this, GlobalContext* globalCtx); +void func_80970F20(EnKakasi* this, GlobalContext* globalCtx); +void func_80971064(EnKakasi* this, GlobalContext* globalCtx); +void func_80971430(EnKakasi* this, GlobalContext* globalCtx); +void func_809714BC(EnKakasi* this, GlobalContext* globalCtx); +void func_809717D0(EnKakasi* this, GlobalContext* globalCtx); +void func_8097185C(EnKakasi* this, GlobalContext* globalCtx); +void func_8097193C(EnKakasi* this, GlobalContext* globalCtx); +void func_80971A64(EnKakasi* this, GlobalContext* globalCtx); +void func_80971AD4(EnKakasi* this, GlobalContext* globalCtx); + #if 0 // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80971D80 = { @@ -17,7 +34,6 @@ static ColliderCylinderInit D_80971D80 = { { 20, 70, 0, { 0, 0, 0 } }, }; - const ActorInit En_Kakasi_InitVars = { ACTOR_EN_KAKASI, ACTORCAT_NPC, @@ -30,78 +46,80 @@ const ActorInit En_Kakasi_InitVars = { (ActorFunc)EnKakasi_Draw, }; - -extern ColliderCylinderInit D_80971D80; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kakasi_0x8096F5E0/EnKakasi_Destroy.asm") +extern ColliderCylinderInit D_80971D80; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kakasi_0x8096F5E0/EnKakasi_Init.asm") +extern UNK_TYPE D_06000214; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kakasi_0x8096F5E0/func_8096F800.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kakasi/EnKakasi_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kakasi_0x8096F5E0/func_8096F88C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kakasi/EnKakasi_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kakasi_0x8096F5E0/func_8096F8D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kakasi/func_8096F800.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kakasi_0x8096F5E0/func_8096FA18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kakasi/func_8096F88C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kakasi_0x8096F5E0/func_8096FAAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kakasi/func_8096F8D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kakasi_0x8096F5E0/func_8096FBB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kakasi/func_8096FA18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kakasi_0x8096F5E0/func_8096FC8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kakasi/func_8096FAAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kakasi_0x8096F5E0/func_8096FCC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kakasi/func_8096FBB8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kakasi_0x8096F5E0/func_8096FDE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kakasi/func_8096FC8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kakasi_0x8096F5E0/func_8096FE00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kakasi/func_8096FCC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kakasi_0x8096F5E0/func_80970008.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kakasi/func_8096FDE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kakasi_0x8096F5E0/func_8097006C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kakasi/func_8096FE00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kakasi_0x8096F5E0/func_809705E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kakasi/func_80970008.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kakasi_0x8096F5E0/func_80970658.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kakasi/func_8097006C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kakasi_0x8096F5E0/func_80970740.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kakasi/func_809705E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kakasi_0x8096F5E0/func_80970978.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kakasi/func_80970658.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kakasi_0x8096F5E0/func_80970A10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kakasi/func_80970740.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kakasi_0x8096F5E0/func_80970A9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kakasi/func_80970978.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kakasi_0x8096F5E0/func_80970F20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kakasi/func_80970A10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kakasi_0x8096F5E0/func_80970FF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kakasi/func_80970A9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kakasi_0x8096F5E0/func_80971064.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kakasi/func_80970F20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kakasi_0x8096F5E0/func_80971430.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kakasi/func_80970FF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kakasi_0x8096F5E0/func_80971440.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kakasi/func_80971064.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kakasi_0x8096F5E0/func_809714BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kakasi/func_80971430.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kakasi_0x8096F5E0/func_80971794.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kakasi/func_80971440.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kakasi_0x8096F5E0/func_809717D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kakasi/func_809714BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kakasi_0x8096F5E0/func_8097185C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kakasi/func_80971794.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kakasi_0x8096F5E0/func_8097193C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kakasi/func_809717D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kakasi_0x8096F5E0/func_80971A38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kakasi/func_8097185C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kakasi_0x8096F5E0/func_80971A64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kakasi/func_8097193C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kakasi_0x8096F5E0/func_80971AD4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kakasi/func_80971A38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kakasi_0x8096F5E0/EnKakasi_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kakasi/func_80971A64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kakasi_0x8096F5E0/func_80971CE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kakasi/func_80971AD4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kakasi_0x8096F5E0/EnKakasi_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kakasi/EnKakasi_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kakasi/func_80971CE0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kakasi/EnKakasi_Draw.s") diff --git a/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.h b/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.h index 143a589a64..62ce9d48b3 100644 --- a/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.h +++ b/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.h @@ -1,13 +1,17 @@ #ifndef Z_EN_KAKASI_H #define Z_EN_KAKASI_H -#include +#include "global.h" struct EnKakasi; +typedef void (*EnKakasiActionFunc)(struct EnKakasi* this, GlobalContext* globalCtx); + typedef struct EnKakasi { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x15C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x4]; + /* 0x0148 */ EnKakasiActionFunc actionFunc; + /* 0x014C */ char unk_14C[0x154]; } EnKakasi; // size = 0x2A0 extern const ActorInit En_Kakasi_InitVars; diff --git a/src/overlays/actors/ovl_En_Kame/z_en_kame.c b/src/overlays/actors/ovl_En_Kame/z_en_kame.c index 08266b25d1..c932fd0548 100644 --- a/src/overlays/actors/ovl_En_Kame/z_en_kame.c +++ b/src/overlays/actors/ovl_En_Kame/z_en_kame.c @@ -9,6 +9,20 @@ void EnKame_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnKame_Update(Actor* thisx, GlobalContext* globalCtx); void EnKame_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80AD70EC(EnKame* this, GlobalContext* globalCtx); +void func_80AD7254(EnKame* this, GlobalContext* globalCtx); +void func_80AD7424(EnKame* this, GlobalContext* globalCtx); +void func_80AD7798(EnKame* this, GlobalContext* globalCtx); +void func_80AD7948(EnKame* this, GlobalContext* globalCtx); +void func_80AD7B90(EnKame* this, GlobalContext* globalCtx); +void func_80AD7D40(EnKame* this, GlobalContext* globalCtx); +void func_80AD7E0C(EnKame* this, GlobalContext* globalCtx); +void func_80AD7F10(EnKame* this, GlobalContext* globalCtx); +void func_80AD7FF8(EnKame* this, GlobalContext* globalCtx); +void func_80AD810C(EnKame* this, GlobalContext* globalCtx); +void func_80AD825C(EnKame* this, GlobalContext* globalCtx); +void func_80AD8388(EnKame* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Kame_InitVars = { ACTOR_EN_KAME, @@ -22,7 +36,6 @@ const ActorInit En_Kame_InitVars = { (ActorFunc)EnKame_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80AD8DE0 = { { COLTYPE_HARD, AT_NONE | AT_TYPE_ENEMY, AC_ON | AC_HARD | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,11 +43,9 @@ static ColliderCylinderInit D_80AD8DE0 = { { 35, 40, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit D_80AD8E0C = { 3, 15, 30, 80 }; - // static DamageTable sDamageTable = { static DamageTable D_80AD8E14 = { /* Deku Nut */ DMG_ENTRY(0, 0x1), @@ -71,7 +82,6 @@ static DamageTable D_80AD8E14 = { /* Powder Keg */ DMG_ENTRY(1, 0xF), }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80AD8E44[] = { ICHAIN_S8(hintId, 1, ICHAIN_CONTINUE), @@ -79,89 +89,100 @@ static InitChainEntry D_80AD8E44[] = { ICHAIN_F32(targetArrowOffset, 3500, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80AD8DE0; extern CollisionCheckInfoInit D_80AD8E0C; extern DamageTable D_80AD8E14; extern InitChainEntry D_80AD8E44[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kame_0x80AD6DD0/EnKame_Init.asm") +extern UNK_TYPE D_060008B4; +extern UNK_TYPE D_06000AF4; +extern UNK_TYPE D_06001C68; +extern UNK_TYPE D_06002510; +extern UNK_TYPE D_060027D8; +extern UNK_TYPE D_06002F88; +extern UNK_TYPE D_060031DC; +extern UNK_TYPE D_060035EC; +extern UNK_TYPE D_06004210; +extern UNK_TYPE D_0600823C; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kame_0x80AD6DD0/EnKame_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kame/EnKame_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kame_0x80AD6DD0/func_80AD6F34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kame/EnKame_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kame_0x80AD6DD0/func_80AD6F9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kame/func_80AD6F34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kame_0x80AD6DD0/func_80AD7018.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kame/func_80AD6F9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kame_0x80AD6DD0/func_80AD70A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kame/func_80AD7018.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kame_0x80AD6DD0/func_80AD70EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kame/func_80AD70A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kame_0x80AD6DD0/func_80AD71B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kame/func_80AD70EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kame_0x80AD6DD0/func_80AD7254.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kame/func_80AD71B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kame_0x80AD6DD0/func_80AD73A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kame/func_80AD7254.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kame_0x80AD6DD0/func_80AD7424.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kame/func_80AD73A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kame_0x80AD6DD0/func_80AD7568.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kame/func_80AD7424.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kame_0x80AD6DD0/func_80AD75A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kame/func_80AD7568.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kame_0x80AD6DD0/func_80AD76CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kame/func_80AD75A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kame_0x80AD6DD0/func_80AD7798.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kame/func_80AD76CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kame_0x80AD6DD0/func_80AD792C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kame/func_80AD7798.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kame_0x80AD6DD0/func_80AD7948.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kame/func_80AD792C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kame_0x80AD6DD0/func_80AD7B18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kame/func_80AD7948.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kame_0x80AD6DD0/func_80AD7B90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kame/func_80AD7B18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kame_0x80AD6DD0/func_80AD7C54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kame/func_80AD7B90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kame_0x80AD6DD0/func_80AD7D40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kame/func_80AD7C54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kame_0x80AD6DD0/func_80AD7DA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kame/func_80AD7D40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kame_0x80AD6DD0/func_80AD7E0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kame/func_80AD7DA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kame_0x80AD6DD0/func_80AD7EC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kame/func_80AD7E0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kame_0x80AD6DD0/func_80AD7F10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kame/func_80AD7EC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kame_0x80AD6DD0/func_80AD7FA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kame/func_80AD7F10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kame_0x80AD6DD0/func_80AD7FF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kame/func_80AD7FA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kame_0x80AD6DD0/func_80AD8060.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kame/func_80AD7FF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kame_0x80AD6DD0/func_80AD810C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kame/func_80AD8060.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kame_0x80AD6DD0/func_80AD8148.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kame/func_80AD810C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kame_0x80AD6DD0/func_80AD825C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kame/func_80AD8148.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kame_0x80AD6DD0/func_80AD8364.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kame/func_80AD825C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kame_0x80AD6DD0/func_80AD8388.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kame/func_80AD8364.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kame_0x80AD6DD0/func_80AD84C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kame/func_80AD8388.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kame_0x80AD6DD0/EnKame_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kame/func_80AD84C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kame_0x80AD6DD0/func_80AD8A48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kame/EnKame_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kame_0x80AD6DD0/func_80AD8AF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kame/func_80AD8A48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kame_0x80AD6DD0/EnKame_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kame/func_80AD8AF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kame_0x80AD6DD0/func_80AD8CEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kame/EnKame_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kame_0x80AD6DD0/func_80AD8D64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kame/func_80AD8CEC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kame/func_80AD8D64.s") diff --git a/src/overlays/actors/ovl_En_Kame/z_en_kame.h b/src/overlays/actors/ovl_En_Kame/z_en_kame.h index 47376f58d0..9b23254846 100644 --- a/src/overlays/actors/ovl_En_Kame/z_en_kame.h +++ b/src/overlays/actors/ovl_En_Kame/z_en_kame.h @@ -1,13 +1,17 @@ #ifndef Z_EN_KAME_H #define Z_EN_KAME_H -#include +#include "global.h" struct EnKame; +typedef void (*EnKameActionFunc)(struct EnKame* this, GlobalContext* globalCtx); + typedef struct EnKame { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x248]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x154]; + /* 0x0298 */ EnKameActionFunc actionFunc; + /* 0x029C */ char unk_29C[0xF0]; } EnKame; // size = 0x38C extern const ActorInit En_Kame_InitVars; diff --git a/src/overlays/actors/ovl_En_Kanban/z_en_kanban.c b/src/overlays/actors/ovl_En_Kanban/z_en_kanban.c index 2f70297c3b..cccece6388 100644 --- a/src/overlays/actors/ovl_En_Kanban/z_en_kanban.c +++ b/src/overlays/actors/ovl_En_Kanban/z_en_kanban.c @@ -22,7 +22,6 @@ const ActorInit En_Kanban_InitVars = { (ActorFunc)EnKanban_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80957300 = { { COLTYPE_NONE, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,18 +29,20 @@ static ColliderCylinderInit D_80957300 = { { 20, 50, 5, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80957300; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kanban_0x80954960/func_80954960.asm") +extern ColliderCylinderInit D_80957300; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kanban_0x80954960/EnKanban_Init.asm") +extern UNK_TYPE D_06000C30; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kanban_0x80954960/EnKanban_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kanban/func_80954960.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kanban_0x80954960/func_80954BE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kanban/EnKanban_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kanban_0x80954960/EnKanban_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kanban/EnKanban_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kanban_0x80954960/EnKanban_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kanban/func_80954BE8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kanban/EnKanban_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kanban/EnKanban_Draw.s") diff --git a/src/overlays/actors/ovl_En_Kanban/z_en_kanban.h b/src/overlays/actors/ovl_En_Kanban/z_en_kanban.h index ab0eab506c..1ac4367046 100644 --- a/src/overlays/actors/ovl_En_Kanban/z_en_kanban.h +++ b/src/overlays/actors/ovl_En_Kanban/z_en_kanban.h @@ -1,7 +1,7 @@ #ifndef Z_EN_KANBAN_H #define Z_EN_KANBAN_H -#include +#include "global.h" struct EnKanban; diff --git a/src/overlays/actors/ovl_En_Karebaba/z_en_karebaba.c b/src/overlays/actors/ovl_En_Karebaba/z_en_karebaba.c index 81966a1b47..1d2d13da19 100644 --- a/src/overlays/actors/ovl_En_Karebaba/z_en_karebaba.c +++ b/src/overlays/actors/ovl_En_Karebaba/z_en_karebaba.c @@ -9,6 +9,18 @@ void EnKarebaba_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnKarebaba_Update(Actor* thisx, GlobalContext* globalCtx); void EnKarebaba_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_808F15B0(EnKarebaba* this, GlobalContext* globalCtx); +void func_808F169C(EnKarebaba* this, GlobalContext* globalCtx); +void func_808F1778(EnKarebaba* this, GlobalContext* globalCtx); +void func_808F190C(EnKarebaba* this, GlobalContext* globalCtx); +void func_808F1A58(EnKarebaba* this, GlobalContext* globalCtx); +void func_808F1C84(EnKarebaba* this, GlobalContext* globalCtx); +void func_808F200C(EnKarebaba* this, GlobalContext* globalCtx); +void func_808F21A4(EnKarebaba* this, GlobalContext* globalCtx); +void func_808F228C(EnKarebaba* this, GlobalContext* globalCtx); +void func_808F241C(EnKarebaba* this, GlobalContext* globalCtx); +void func_808F254C(EnKarebaba* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Karebaba_InitVars = { ACTOR_EN_KAREBABA, @@ -22,7 +34,6 @@ const ActorInit En_Karebaba_InitVars = { (ActorFunc)EnKarebaba_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_808F2DA0 = { { COLTYPE_HARD, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_NONE, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,7 +41,6 @@ static ColliderCylinderInit D_808F2DA0 = { { 7, 25, 0, { 0, 0, 0 } }, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_808F2DCC = { { COLTYPE_HARD, AT_ON | AT_TYPE_ENEMY, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -38,11 +48,9 @@ static ColliderCylinderInit D_808F2DCC = { { 4, 25, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit D_808F2DF8 = { 1, 15, 80, MASS_HEAVY }; - // static DamageTable sDamageTable = { static DamageTable D_808F2E00 = { /* Deku Nut */ DMG_ENTRY(0, 0x0), @@ -79,77 +87,79 @@ static DamageTable D_808F2E00 = { /* Powder Keg */ DMG_ENTRY(1, 0x0), }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_808F2E20[] = { ICHAIN_F32(targetArrowOffset, 2500, ICHAIN_CONTINUE), ICHAIN_U8(targetMode, 1, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_808F2DA0; extern ColliderCylinderInit D_808F2DCC; extern CollisionCheckInfoInit D_808F2DF8; extern DamageTable D_808F2E00; extern InitChainEntry D_808F2E20[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Karebaba_0x808F1200/EnKarebaba_Init.asm") +extern UNK_TYPE D_060002B8; +extern UNK_TYPE D_06003070; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Karebaba_0x808F1200/EnKarebaba_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Karebaba/EnKarebaba_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Karebaba_0x808F1200/func_808F1374.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Karebaba/EnKarebaba_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Karebaba_0x808F1200/func_808F13FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Karebaba/func_808F1374.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Karebaba_0x808F1200/func_808F152C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Karebaba/func_808F13FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Karebaba_0x808F1200/func_808F155C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Karebaba/func_808F152C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Karebaba_0x808F1200/func_808F15B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Karebaba/func_808F155C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Karebaba_0x808F1200/func_808F1648.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Karebaba/func_808F15B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Karebaba_0x808F1200/func_808F169C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Karebaba/func_808F1648.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Karebaba_0x808F1200/func_808F16FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Karebaba/func_808F169C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Karebaba_0x808F1200/func_808F1778.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Karebaba/func_808F16FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Karebaba_0x808F1200/func_808F1878.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Karebaba/func_808F1778.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Karebaba_0x808F1200/func_808F190C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Karebaba/func_808F1878.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Karebaba_0x808F1200/func_808F1A3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Karebaba/func_808F190C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Karebaba_0x808F1200/func_808F1A58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Karebaba/func_808F1A3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Karebaba_0x808F1200/func_808F1BF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Karebaba/func_808F1A58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Karebaba_0x808F1200/func_808F1C84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Karebaba/func_808F1BF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Karebaba_0x808F1200/func_808F1FAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Karebaba/func_808F1C84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Karebaba_0x808F1200/func_808F200C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Karebaba/func_808F1FAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Karebaba_0x808F1200/func_808F20FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Karebaba/func_808F200C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Karebaba_0x808F1200/func_808F21A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Karebaba/func_808F20FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Karebaba_0x808F1200/func_808F220C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Karebaba/func_808F21A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Karebaba_0x808F1200/func_808F228C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Karebaba/func_808F220C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Karebaba_0x808F1200/func_808F238C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Karebaba/func_808F228C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Karebaba_0x808F1200/func_808F241C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Karebaba/func_808F238C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Karebaba_0x808F1200/func_808F24F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Karebaba/func_808F241C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Karebaba_0x808F1200/func_808F254C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Karebaba/func_808F24F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Karebaba_0x808F1200/EnKarebaba_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Karebaba/func_808F254C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Karebaba_0x808F1200/func_808F280C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Karebaba/EnKarebaba_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Karebaba_0x808F1200/EnKarebaba_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Karebaba/func_808F280C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Karebaba/EnKarebaba_Draw.s") diff --git a/src/overlays/actors/ovl_En_Karebaba/z_en_karebaba.h b/src/overlays/actors/ovl_En_Karebaba/z_en_karebaba.h index e1558e376b..c06128ea41 100644 --- a/src/overlays/actors/ovl_En_Karebaba/z_en_karebaba.h +++ b/src/overlays/actors/ovl_En_Karebaba/z_en_karebaba.h @@ -1,13 +1,17 @@ #ifndef Z_EN_KAREBABA_H #define Z_EN_KAREBABA_H -#include +#include "global.h" struct EnKarebaba; +typedef void (*EnKarebabaActionFunc)(struct EnKarebaba* this, GlobalContext* globalCtx); + typedef struct EnKarebaba { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x184]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ EnKarebabaActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x13C]; } EnKarebaba; // size = 0x2C8 extern const ActorInit En_Karebaba_InitVars; diff --git a/src/overlays/actors/ovl_En_Kbt/z_en_kbt.c b/src/overlays/actors/ovl_En_Kbt/z_en_kbt.c index 5635fd8acc..159ce61f09 100644 --- a/src/overlays/actors/ovl_En_Kbt/z_en_kbt.c +++ b/src/overlays/actors/ovl_En_Kbt/z_en_kbt.c @@ -9,6 +9,9 @@ void EnKbt_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnKbt_Update(Actor* thisx, GlobalContext* globalCtx); void EnKbt_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80B34314(EnKbt* this, GlobalContext* globalCtx); +void func_80B34598(EnKbt* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Kbt_InitVars = { ACTOR_EN_KBT, @@ -24,32 +27,34 @@ const ActorInit En_Kbt_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kbt_0x80B33D30/EnKbt_Init.asm") +extern UNK_TYPE D_06004274; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kbt_0x80B33D30/EnKbt_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kbt/EnKbt_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kbt_0x80B33D30/func_80B33E64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kbt/EnKbt_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kbt_0x80B33D30/func_80B33E8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kbt/func_80B33E64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kbt_0x80B33D30/func_80B33EF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kbt/func_80B33E8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kbt_0x80B33D30/func_80B3403C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kbt/func_80B33EF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kbt_0x80B33D30/func_80B34078.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kbt/func_80B3403C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kbt_0x80B33D30/func_80B3415C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kbt/func_80B34078.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kbt_0x80B33D30/func_80B34314.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kbt/func_80B3415C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kbt_0x80B33D30/func_80B34574.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kbt/func_80B34314.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kbt_0x80B33D30/func_80B34598.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kbt/func_80B34574.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kbt_0x80B33D30/EnKbt_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kbt/func_80B34598.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kbt_0x80B33D30/func_80B349C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kbt/EnKbt_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kbt_0x80B33D30/func_80B34A00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kbt/func_80B349C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kbt_0x80B33D30/EnKbt_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kbt/func_80B34A00.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kbt/EnKbt_Draw.s") diff --git a/src/overlays/actors/ovl_En_Kbt/z_en_kbt.h b/src/overlays/actors/ovl_En_Kbt/z_en_kbt.h index 31a86a36f4..f7d7e396b4 100644 --- a/src/overlays/actors/ovl_En_Kbt/z_en_kbt.h +++ b/src/overlays/actors/ovl_En_Kbt/z_en_kbt.h @@ -1,13 +1,16 @@ #ifndef Z_EN_KBT_H #define Z_EN_KBT_H -#include +#include "global.h" struct EnKbt; +typedef void (*EnKbtActionFunc)(struct EnKbt* this, GlobalContext* globalCtx); + typedef struct EnKbt { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x148]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x144]; + /* 0x0288 */ EnKbtActionFunc actionFunc; } EnKbt; // size = 0x28C extern const ActorInit En_Kbt_InitVars; diff --git a/src/overlays/actors/ovl_En_Kendo_Js/z_en_kendo_js.c b/src/overlays/actors/ovl_En_Kendo_Js/z_en_kendo_js.c index 448a2e9ab1..142dfece74 100644 --- a/src/overlays/actors/ovl_En_Kendo_Js/z_en_kendo_js.c +++ b/src/overlays/actors/ovl_En_Kendo_Js/z_en_kendo_js.c @@ -22,7 +22,6 @@ const ActorInit En_Kendo_Js_InitVars = { (ActorFunc)EnKendoJs_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80B27C30 = { { COLTYPE_NONE, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -30,77 +29,79 @@ static ColliderCylinderInit D_80B27C30 = { { 18, 30, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_80B27C5C = { 0, 0, 0, 0, MASS_IMMOVABLE }; +#endif extern ColliderCylinderInit D_80B27C30; extern CollisionCheckInfoInit2 D_80B27C5C; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kendo_Js_0x80B262A0/EnKendoJs_Init.asm") +extern UNK_TYPE D_0600016C; +extern UNK_TYPE D_06000F4C; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kendo_Js_0x80B262A0/EnKendoJs_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kendo_Js/EnKendoJs_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kendo_Js_0x80B262A0/func_80B26538.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kendo_Js/EnKendoJs_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kendo_Js_0x80B262A0/func_80B2654C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kendo_Js/func_80B26538.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kendo_Js_0x80B262A0/func_80B26758.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kendo_Js/func_80B2654C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kendo_Js_0x80B262A0/func_80B269A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kendo_Js/func_80B26758.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kendo_Js_0x80B262A0/func_80B26AE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kendo_Js/func_80B269A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kendo_Js_0x80B262A0/func_80B26AFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kendo_Js/func_80B26AE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kendo_Js_0x80B262A0/func_80B26BF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kendo_Js/func_80B26AFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kendo_Js_0x80B262A0/func_80B26EB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kendo_Js/func_80B26BF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kendo_Js_0x80B262A0/func_80B26F14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kendo_Js/func_80B26EB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kendo_Js_0x80B262A0/func_80B26F6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kendo_Js/func_80B26F14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kendo_Js_0x80B262A0/func_80B2701C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kendo_Js/func_80B26F6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kendo_Js_0x80B262A0/func_80B27030.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kendo_Js/func_80B2701C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kendo_Js_0x80B262A0/func_80B2714C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kendo_Js/func_80B27030.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kendo_Js_0x80B262A0/func_80B27188.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kendo_Js/func_80B2714C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kendo_Js_0x80B262A0/func_80B273D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kendo_Js/func_80B27188.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kendo_Js_0x80B262A0/func_80B2740C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kendo_Js/func_80B273D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kendo_Js_0x80B262A0/func_80B274BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kendo_Js/func_80B2740C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kendo_Js_0x80B262A0/func_80B276C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kendo_Js/func_80B274BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kendo_Js_0x80B262A0/func_80B276D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kendo_Js/func_80B276C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kendo_Js_0x80B262A0/func_80B27760.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kendo_Js/func_80B276D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kendo_Js_0x80B262A0/func_80B27774.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kendo_Js/func_80B27760.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kendo_Js_0x80B262A0/func_80B2783C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kendo_Js/func_80B27774.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kendo_Js_0x80B262A0/func_80B27880.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kendo_Js/func_80B2783C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kendo_Js_0x80B262A0/func_80B278C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kendo_Js/func_80B27880.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kendo_Js_0x80B262A0/func_80B279AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kendo_Js/func_80B278C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kendo_Js_0x80B262A0/func_80B279F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kendo_Js/func_80B279AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kendo_Js_0x80B262A0/func_80B27A90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kendo_Js/func_80B279F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kendo_Js_0x80B262A0/EnKendoJs_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kendo_Js/func_80B27A90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kendo_Js_0x80B262A0/func_80B27B54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kendo_Js/EnKendoJs_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kendo_Js_0x80B262A0/func_80B27B8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kendo_Js/func_80B27B54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kendo_Js_0x80B262A0/EnKendoJs_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kendo_Js/func_80B27B8C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kendo_Js/EnKendoJs_Draw.s") diff --git a/src/overlays/actors/ovl_En_Kendo_Js/z_en_kendo_js.h b/src/overlays/actors/ovl_En_Kendo_Js/z_en_kendo_js.h index 208557cd1c..783d5e5ee7 100644 --- a/src/overlays/actors/ovl_En_Kendo_Js/z_en_kendo_js.h +++ b/src/overlays/actors/ovl_En_Kendo_Js/z_en_kendo_js.h @@ -1,13 +1,17 @@ #ifndef Z_EN_KENDO_JS_H #define Z_EN_KENDO_JS_H -#include +#include "global.h" struct EnKendoJs; +typedef void (*EnKendoJsActionFunc)(struct EnKendoJs* this, GlobalContext* globalCtx); + typedef struct EnKendoJs { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x150]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x90]; + /* 0x01D4 */ EnKendoJsActionFunc actionFunc; + /* 0x01D8 */ char unk_1D8[0xBC]; } EnKendoJs; // size = 0x294 extern const ActorInit En_Kendo_Js_InitVars; diff --git a/src/overlays/actors/ovl_En_Kgy/z_en_kgy.c b/src/overlays/actors/ovl_En_Kgy/z_en_kgy.c index c12023e804..cd641d50e4 100644 --- a/src/overlays/actors/ovl_En_Kgy/z_en_kgy.c +++ b/src/overlays/actors/ovl_En_Kgy/z_en_kgy.c @@ -9,6 +9,25 @@ void EnKgy_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnKgy_Update(Actor* thisx, GlobalContext* globalCtx); void EnKgy_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80B417B8(EnKgy* this, GlobalContext* globalCtx); +void func_80B41858(EnKgy* this, GlobalContext* globalCtx); +void func_80B419B0(EnKgy* this, GlobalContext* globalCtx); +void func_80B41A48(EnKgy* this, GlobalContext* globalCtx); +void func_80B41ACC(EnKgy* this, GlobalContext* globalCtx); +void func_80B41C30(EnKgy* this, GlobalContext* globalCtx); +void func_80B41C54(EnKgy* this, GlobalContext* globalCtx); +void func_80B41CBC(EnKgy* this, GlobalContext* globalCtx); +void func_80B41D64(EnKgy* this, GlobalContext* globalCtx); +void func_80B41E18(EnKgy* this, GlobalContext* globalCtx); +void func_80B42508(EnKgy* this, GlobalContext* globalCtx); +void func_80B425A0(EnKgy* this, GlobalContext* globalCtx); +void func_80B42660(EnKgy* this, GlobalContext* globalCtx); +void func_80B42714(EnKgy* this, GlobalContext* globalCtx); +void func_80B427C8(EnKgy* this, GlobalContext* globalCtx); +void func_80B4296C(EnKgy* this, GlobalContext* globalCtx); +void func_80B42A8C(EnKgy* this, GlobalContext* globalCtx); +void func_80B42D28(EnKgy* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Kgy_InitVars = { ACTOR_EN_KGY, @@ -24,100 +43,103 @@ const ActorInit En_Kgy_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/EnKgy_Init.asm") +extern UNK_TYPE D_06004B98; +extern UNK_TYPE D_0600F6A0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/EnKgy_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/EnKgy_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/func_80B40B38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/EnKgy_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/func_80B40BC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/func_80B40B38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/func_80B40BFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/func_80B40BC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/func_80B40C38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/func_80B40BFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/func_80B40C74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/func_80B40C38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/func_80B40D00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/func_80B40C74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/func_80B40D30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/func_80B40D00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/func_80B40D64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/func_80B40D30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/func_80B40D8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/func_80B40D64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/func_80B40DB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/func_80B40D8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/func_80B40E18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/func_80B40DB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/func_80B40E38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/func_80B40E18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/func_80B40E54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/func_80B40E38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/func_80B40E74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/func_80B40E54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/func_80B40EBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/func_80B40E74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/func_80B40EE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/func_80B40EBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/func_80B411DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/func_80B40EE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/func_80B41368.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/func_80B411DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/func_80B413C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/func_80B41368.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/func_80B41460.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/func_80B413C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/func_80B41528.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/func_80B41460.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/func_80B415A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/func_80B41528.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/func_80B4163C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/func_80B415A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/func_80B417B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/func_80B4163C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/func_80B41858.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/func_80B417B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/func_80B418C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/func_80B41858.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/func_80B419B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/func_80B418C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/func_80B41A48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/func_80B419B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/func_80B41ACC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/func_80B41A48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/func_80B41C30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/func_80B41ACC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/func_80B41C54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/func_80B41C30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/func_80B41CBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/func_80B41C54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/func_80B41D64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/func_80B41CBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/func_80B41E18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/func_80B41D64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/func_80B42508.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/func_80B41E18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/func_80B425A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/func_80B42508.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/func_80B42660.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/func_80B425A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/func_80B42714.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/func_80B42660.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/func_80B427C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/func_80B42714.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/func_80B4296C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/func_80B427C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/func_80B42A8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/func_80B4296C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/func_80B42D28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/func_80B42A8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/EnKgy_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/func_80B42D28.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/func_80B42FA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/EnKgy_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/func_80B43008.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/func_80B42FA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/func_80B43074.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/func_80B43008.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kgy_0x80B40800/EnKgy_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/func_80B43074.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kgy/EnKgy_Draw.s") diff --git a/src/overlays/actors/ovl_En_Kgy/z_en_kgy.h b/src/overlays/actors/ovl_En_Kgy/z_en_kgy.h index 71f1bef069..fd7ecc6a52 100644 --- a/src/overlays/actors/ovl_En_Kgy/z_en_kgy.h +++ b/src/overlays/actors/ovl_En_Kgy/z_en_kgy.h @@ -1,13 +1,16 @@ #ifndef Z_EN_KGY_H #define Z_EN_KGY_H -#include +#include "global.h" struct EnKgy; +typedef void (*EnKgyActionFunc)(struct EnKgy* this, GlobalContext* globalCtx); + typedef struct EnKgy { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x1C4]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x1C0]; + /* 0x0304 */ EnKgyActionFunc actionFunc; } EnKgy; // size = 0x308 extern const ActorInit En_Kgy_InitVars; diff --git a/src/overlays/actors/ovl_En_Kitan/z_en_kitan.c b/src/overlays/actors/ovl_En_Kitan/z_en_kitan.c index 9f809479c9..fa391cafd0 100644 --- a/src/overlays/actors/ovl_En_Kitan/z_en_kitan.c +++ b/src/overlays/actors/ovl_En_Kitan/z_en_kitan.c @@ -21,7 +21,6 @@ const ActorInit En_Kitan_InitVars = { (ActorFunc)NULL, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80C09D50 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_ENEMY, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -29,40 +28,43 @@ static ColliderCylinderInit D_80C09D50 = { { 20, 40, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80C09D50; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kitan_0x80C090D0/EnKitan_Init.asm") +extern ColliderCylinderInit D_80C09D50; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kitan_0x80C090D0/EnKitan_Destroy.asm") +extern UNK_TYPE D_06000CE8; +extern UNK_TYPE D_06002770; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kitan_0x80C090D0/func_80C0923C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kitan/EnKitan_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kitan_0x80C090D0/func_80C09390.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kitan/EnKitan_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kitan_0x80C090D0/func_80C09418.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kitan/func_80C0923C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kitan_0x80C090D0/func_80C094A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kitan/func_80C09390.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kitan_0x80C090D0/func_80C09518.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kitan/func_80C09418.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kitan_0x80C090D0/func_80C095C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kitan/func_80C094A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kitan_0x80C090D0/func_80C09648.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kitan/func_80C09518.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kitan_0x80C090D0/func_80C09708.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kitan/func_80C095C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kitan_0x80C090D0/func_80C09990.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kitan/func_80C09648.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kitan_0x80C090D0/func_80C09AA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kitan/func_80C09708.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kitan_0x80C090D0/func_80C09B50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kitan/func_80C09990.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kitan_0x80C090D0/EnKitan_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kitan/func_80C09AA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kitan_0x80C090D0/func_80C09C74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kitan/func_80C09B50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kitan_0x80C090D0/func_80C09C90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kitan/EnKitan_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kitan_0x80C090D0/func_80C09CD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kitan/func_80C09C74.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kitan/func_80C09C90.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kitan/func_80C09CD0.s") diff --git a/src/overlays/actors/ovl_En_Kitan/z_en_kitan.h b/src/overlays/actors/ovl_En_Kitan/z_en_kitan.h index 946e64f013..f81a59ce85 100644 --- a/src/overlays/actors/ovl_En_Kitan/z_en_kitan.h +++ b/src/overlays/actors/ovl_En_Kitan/z_en_kitan.h @@ -1,13 +1,16 @@ #ifndef Z_EN_KITAN_H #define Z_EN_KITAN_H -#include +#include "global.h" struct EnKitan; +typedef void (*EnKitanActionFunc)(struct EnKitan* this, GlobalContext* globalCtx); + typedef struct EnKitan { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x198]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x194]; + /* 0x02D8 */ EnKitanActionFunc actionFunc; } EnKitan; // size = 0x2DC extern const ActorInit En_Kitan_InitVars; diff --git a/src/overlays/actors/ovl_En_Knight/z_en_knight.c b/src/overlays/actors/ovl_En_Knight/z_en_knight.c index 64b3a352fe..64f1d78df3 100644 --- a/src/overlays/actors/ovl_En_Knight/z_en_knight.c +++ b/src/overlays/actors/ovl_En_Knight/z_en_knight.c @@ -9,6 +9,36 @@ void EnKnight_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnKnight_Update(Actor* thisx, GlobalContext* globalCtx); void EnKnight_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_809B331C(EnKnight* this, GlobalContext* globalCtx); +void func_809B33F0(EnKnight* this, GlobalContext* globalCtx); +void func_809B3618(EnKnight* this, GlobalContext* globalCtx); +void func_809B3834(EnKnight* this, GlobalContext* globalCtx); +void func_809B3958(EnKnight* this, GlobalContext* globalCtx); +void func_809B3B94(EnKnight* this, GlobalContext* globalCtx); +void func_809B40E8(EnKnight* this, GlobalContext* globalCtx); +void func_809B41F8(EnKnight* this, GlobalContext* globalCtx); +void func_809B4308(EnKnight* this, GlobalContext* globalCtx); +void func_809B4C58(EnKnight* this, GlobalContext* globalCtx); +void func_809B4ED8(EnKnight* this, GlobalContext* globalCtx); +void func_809B5058(EnKnight* this, GlobalContext* globalCtx); +void func_809B52E8(EnKnight* this, GlobalContext* globalCtx); +void func_809B5698(EnKnight* this, GlobalContext* globalCtx); +void func_809B58D4(EnKnight* this, GlobalContext* globalCtx); +void func_809B5B08(EnKnight* this, GlobalContext* globalCtx); +void func_809B5D54(EnKnight* this, GlobalContext* globalCtx); +void func_809B5ED0(EnKnight* this, GlobalContext* globalCtx); +void func_809B601C(EnKnight* this, GlobalContext* globalCtx); +void func_809B6764(EnKnight* this, GlobalContext* globalCtx); +void func_809B6C54(EnKnight* this, GlobalContext* globalCtx); +void func_809B6D94(EnKnight* this, GlobalContext* globalCtx); +void func_809B6F40(EnKnight* this, GlobalContext* globalCtx); +void func_809B71DC(EnKnight* this, GlobalContext* globalCtx); +void func_809B7778(EnKnight* this, GlobalContext* globalCtx); +void func_809B7950(EnKnight* this, GlobalContext* globalCtx); +void func_809B8458(EnKnight* this, GlobalContext* globalCtx); +void func_809BA0CC(EnKnight* this, GlobalContext* globalCtx); +void func_809BA978(EnKnight* this, GlobalContext* globalCtx); + #if 0 // static DamageTable sDamageTable = { static DamageTable D_809BDB04 = { @@ -46,7 +76,6 @@ static DamageTable D_809BDB04 = { /* Powder Keg */ DMG_ENTRY(1, 0xF), }; - // static DamageTable sDamageTable = { static DamageTable D_809BDB24 = { /* Deku Nut */ DMG_ENTRY(0, 0x0), @@ -83,7 +112,6 @@ static DamageTable D_809BDB24 = { /* Powder Keg */ DMG_ENTRY(1, 0xF), }; - // static ColliderJntSphElementInit sJntSphElementsInit[1] = { static ColliderJntSphElementInit D_809BDB44[1] = { { @@ -98,7 +126,6 @@ static ColliderJntSphInit D_809BDB8C = { 1, D_809BDB44, // sJntSphElementsInit, }; - // static ColliderJntSphElementInit sJntSphElementsInit[1] = { static ColliderJntSphElementInit D_809BDB68[1] = { { @@ -113,7 +140,6 @@ static ColliderJntSphInit D_809BDB9C = { 1, D_809BDB68, // sJntSphElementsInit, }; - // static ColliderJntSphElementInit sJntSphElementsInit[1] = { static ColliderJntSphElementInit D_809BDBAC[1] = { { @@ -128,7 +154,6 @@ static ColliderJntSphInit D_809BDBD0 = { 1, D_809BDBAC, // sJntSphElementsInit, }; - // static ColliderJntSphElementInit sJntSphElementsInit[2] = { static ColliderJntSphElementInit D_809BDBE0[2] = { { @@ -147,7 +172,6 @@ static ColliderJntSphInit D_809BDC28 = { 2, D_809BDBE0, // sJntSphElementsInit, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_809BDC38 = { { COLTYPE_METAL, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_HARD | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -155,7 +179,6 @@ static ColliderCylinderInit D_809BDC38 = { { 15, 20, -10, { 0, 0, 0 } }, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_809BDC64 = { { COLTYPE_HIT3, AT_ON | AT_TYPE_ALL, AC_ON | AC_TYPE_PLAYER | AC_TYPE_ENEMY | AC_TYPE_OTHER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -163,7 +186,6 @@ static ColliderCylinderInit D_809BDC64 = { { 20, 40, 0, { 0, 0, 0 } }, }; - const ActorInit En_Knight_InitVars = { ACTOR_EN_KNIGHT, ACTORCAT_BOSS, @@ -176,6 +198,7 @@ const ActorInit En_Knight_InitVars = { (ActorFunc)EnKnight_Draw, }; +#endif extern DamageTable D_809BDB04; extern DamageTable D_809BDB24; @@ -189,194 +212,223 @@ extern ColliderJntSphElementInit D_809BDBE0[2]; extern ColliderJntSphInit D_809BDC28; extern ColliderCylinderInit D_809BDC38; extern ColliderCylinderInit D_809BDC64; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B20F0.asm") +extern UNK_TYPE D_060005A8; +extern UNK_TYPE D_06001CDC; +extern UNK_TYPE D_06002174; +extern UNK_TYPE D_06003008; +extern UNK_TYPE D_060031F0; +extern UNK_TYPE D_06003650; +extern UNK_TYPE D_060040E0; +extern UNK_TYPE D_06004620; +extern UNK_TYPE D_06004974; +extern UNK_TYPE D_060079D4; +extern UNK_TYPE D_06008524; +extern UNK_TYPE D_06008D80; +extern UNK_TYPE D_06009538; +extern UNK_TYPE D_06009D8C; +extern UNK_TYPE D_0600A530; +extern UNK_TYPE D_0600AFAC; +extern UNK_TYPE D_0600B5D4; +extern UNK_TYPE D_0600BCF4; +extern UNK_TYPE D_0600CDE0; +extern UNK_TYPE D_0600DDCC; +extern UNK_TYPE D_0600EA90; +extern UNK_TYPE D_0600EF44; +extern UNK_TYPE D_06010E98; +extern UNK_TYPE D_06011298; +extern UNK_TYPE D_06013020; +extern UNK_TYPE D_06018BC4; +extern UNK_TYPE D_06020950; +extern UNK_TYPE D_06022728; +extern UNK_TYPE D_06022CAC; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B21F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B20F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B22CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B21F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/EnKnight_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B22CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/EnKnight_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/EnKnight_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B2DD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/EnKnight_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B2F54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B2DD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B316C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B2F54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B31E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B316C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B329C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B31E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B331C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B329C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B3394.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B331C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B33F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B3394.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B35BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B33F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B3618.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B35BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B37C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B3618.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B3834.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B37C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B389C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B3834.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B3958.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B389C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B3A7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B3958.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B3B94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B3A7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B3CD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B3B94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B3DAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B3CD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B3E9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B3DAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B3F0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B3E9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B4024.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B3F0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B40E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B4024.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B41D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B40E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B41F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B41D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B42B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B41F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B4308.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B42B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B47EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B4308.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B4880.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B47EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B4BFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B4880.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B4C58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B4BFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B4E84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B4C58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B4ED8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B4E84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B4F90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B4ED8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B5058.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B4F90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B51DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B5058.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B52E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B51DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B5634.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B52E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B5698.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B5634.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B58D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B5698.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B592C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B58D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B59FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B592C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B5B08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B59FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B5D38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B5B08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B5D54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B5D38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B5E90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B5D54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B5ED0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B5E90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B5FA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B5ED0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B601C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B5FA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B631C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B601C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B638C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B631C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B6528.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B638C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B6574.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B6528.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B6764.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B6574.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B6C04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B6764.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B6C54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B6C04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B6D38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B6C54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B6D94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B6D38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B6EC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B6D94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B6F40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B6EC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B7190.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B6F40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B71DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B7190.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B7708.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B71DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B7778.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B7708.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B78A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B7778.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B7950.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B78A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B842C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B7950.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B8458.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B842C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B9A18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B8458.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B9D24.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B9A18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B9E00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B9D24.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809B9F8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B9E00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809BA058.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809B9F8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809BA0CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809BA058.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809BA940.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809BA0CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809BA978.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809BA940.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/EnKnight_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809BA978.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809BC2C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/EnKnight_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809BC67C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809BC2C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809BC720.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809BC67C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809BC8B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809BC720.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809BCA80.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809BC8B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809BCAD8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809BCA80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809BCB54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809BCAD8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809BCB78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809BCB54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/EnKnight_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809BCB78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809BD1AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/EnKnight_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809BD260.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809BD1AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809BD29C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809BD260.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809BD490.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809BD29C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Knight_0x809B20F0/func_809BD858.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809BD490.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Knight/func_809BD858.s") diff --git a/src/overlays/actors/ovl_En_Knight/z_en_knight.h b/src/overlays/actors/ovl_En_Knight/z_en_knight.h index 60b4d3780d..32923ca2ec 100644 --- a/src/overlays/actors/ovl_En_Knight/z_en_knight.h +++ b/src/overlays/actors/ovl_En_Knight/z_en_knight.h @@ -1,13 +1,17 @@ #ifndef Z_EN_KNIGHT_H #define Z_EN_KNIGHT_H -#include +#include "global.h" struct EnKnight; +typedef void (*EnKnightActionFunc)(struct EnKnight* this, GlobalContext* globalCtx); + typedef struct EnKnight { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x590]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x2DC]; + /* 0x0420 */ EnKnightActionFunc actionFunc; + /* 0x0424 */ char unk_424[0x2B0]; } EnKnight; // size = 0x6D4 extern const ActorInit En_Knight_InitVars; diff --git a/src/overlays/actors/ovl_En_Kujiya/z_en_kujiya.c b/src/overlays/actors/ovl_En_Kujiya/z_en_kujiya.c index e0615854aa..dfc0a11734 100644 --- a/src/overlays/actors/ovl_En_Kujiya/z_en_kujiya.c +++ b/src/overlays/actors/ovl_En_Kujiya/z_en_kujiya.c @@ -9,6 +9,13 @@ void EnKujiya_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnKujiya_Update(Actor* thisx, GlobalContext* globalCtx); void EnKujiya_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80BB09BC(EnKujiya* this, GlobalContext* globalCtx); +void func_80BB0E58(EnKujiya* this, GlobalContext* globalCtx); +void func_80BB0F38(EnKujiya* this, GlobalContext* globalCtx); +void func_80BB0FA8(EnKujiya* this, GlobalContext* globalCtx); +void func_80BB1180(EnKujiya* this, GlobalContext* globalCtx); +void func_80BB1268(EnKujiya* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Kujiya_InitVars = { ACTOR_EN_KUJIYA, @@ -24,44 +31,46 @@ const ActorInit En_Kujiya_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kujiya_0x80BB08E0/EnKujiya_Init.asm") +extern UNK_TYPE D_06006198; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kujiya_0x80BB08E0/EnKujiya_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kujiya/EnKujiya_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kujiya_0x80BB08E0/func_80BB09A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kujiya/EnKujiya_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kujiya_0x80BB08E0/func_80BB09BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kujiya/func_80BB09A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kujiya_0x80BB08E0/func_80BB0B28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kujiya/func_80BB09BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kujiya_0x80BB08E0/func_80BB0BF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kujiya/func_80BB0B28.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kujiya_0x80BB08E0/func_80BB0E44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kujiya/func_80BB0BF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kujiya_0x80BB08E0/func_80BB0E58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kujiya/func_80BB0E44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kujiya_0x80BB08E0/func_80BB0F24.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kujiya/func_80BB0E58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kujiya_0x80BB08E0/func_80BB0F38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kujiya/func_80BB0F24.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kujiya_0x80BB08E0/func_80BB0F94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kujiya/func_80BB0F38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kujiya_0x80BB08E0/func_80BB0FA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kujiya/func_80BB0F94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kujiya_0x80BB08E0/func_80BB0FF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kujiya/func_80BB0FA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kujiya_0x80BB08E0/func_80BB1088.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kujiya/func_80BB0FF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kujiya_0x80BB08E0/func_80BB10F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kujiya/func_80BB1088.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kujiya_0x80BB08E0/func_80BB1168.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kujiya/func_80BB10F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kujiya_0x80BB08E0/func_80BB1180.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kujiya/func_80BB1168.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kujiya_0x80BB08E0/func_80BB1250.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kujiya/func_80BB1180.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kujiya_0x80BB08E0/func_80BB1268.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kujiya/func_80BB1250.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kujiya_0x80BB08E0/EnKujiya_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kujiya/func_80BB1268.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kujiya_0x80BB08E0/EnKujiya_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kujiya/EnKujiya_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kujiya/EnKujiya_Draw.s") diff --git a/src/overlays/actors/ovl_En_Kujiya/z_en_kujiya.h b/src/overlays/actors/ovl_En_Kujiya/z_en_kujiya.h index 9ca2843fcf..dc83d23539 100644 --- a/src/overlays/actors/ovl_En_Kujiya/z_en_kujiya.h +++ b/src/overlays/actors/ovl_En_Kujiya/z_en_kujiya.h @@ -1,13 +1,16 @@ #ifndef Z_EN_KUJIYA_H #define Z_EN_KUJIYA_H -#include +#include "global.h" struct EnKujiya; +typedef void (*EnKujiyaActionFunc)(struct EnKujiya* this, GlobalContext* globalCtx); + typedef struct EnKujiya { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x8]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ EnKujiyaActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x4]; } EnKujiya; // size = 0x14C extern const ActorInit En_Kujiya_InitVars; diff --git a/src/overlays/actors/ovl_En_Kusa/z_en_kusa.c b/src/overlays/actors/ovl_En_Kusa/z_en_kusa.c index 87e70f298e..5684c89ddb 100644 --- a/src/overlays/actors/ovl_En_Kusa/z_en_kusa.c +++ b/src/overlays/actors/ovl_En_Kusa/z_en_kusa.c @@ -8,6 +8,14 @@ void EnKusa_Init(Actor* thisx, GlobalContext* globalCtx); void EnKusa_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnKusa_Update(Actor* thisx, GlobalContext* globalCtx); +void func_809358D8(EnKusa* this, GlobalContext* globalCtx); +void func_809359AC(EnKusa* this, GlobalContext* globalCtx); +void func_80935BBC(EnKusa* this, GlobalContext* globalCtx); +void func_80935D64(EnKusa* this, GlobalContext* globalCtx); +void func_809361A4(EnKusa* this, GlobalContext* globalCtx); +void func_80936220(EnKusa* this, GlobalContext* globalCtx); +void func_809362D8(EnKusa* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Kusa_InitVars = { ACTOR_EN_KUSA, @@ -21,7 +29,6 @@ const ActorInit En_Kusa_InitVars = { (ActorFunc)NULL, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_809366E0 = { { COLTYPE_NONE, AT_ON | AT_TYPE_PLAYER, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_PLAYER | OC1_TYPE_2, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -29,11 +36,9 @@ static ColliderCylinderInit D_809366E0 = { { 6, 44, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit D_8093670C = { 0, 12, 30, MASS_IMMOVABLE }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80936754[] = { ICHAIN_VEC3F_DIV1000(scale, 400, ICHAIN_CONTINUE), @@ -44,70 +49,72 @@ static InitChainEntry D_80936754[] = { ICHAIN_F32(uncullZoneDownward, 200, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_809366E0; extern CollisionCheckInfoInit D_8093670C; extern InitChainEntry D_80936754[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa_0x809349E0/func_809349E0.asm") +extern UNK_TYPE D_060002E0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa_0x809349E0/func_80934AB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa/func_809349E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa_0x809349E0/func_80934F58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa/func_80934AB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa_0x809349E0/func_80934FFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa/func_80934F58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa_0x809349E0/func_809350C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa/func_80934FFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa_0x809349E0/func_809350F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa/func_809350C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa_0x809349E0/func_8093517C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa/func_809350F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa_0x809349E0/func_809351A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa/func_8093517C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa_0x809349E0/func_809354F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa/func_809351A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa_0x809349E0/func_809355A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa/func_809354F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa_0x809349E0/func_8093561C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa/func_809355A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa_0x809349E0/EnKusa_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa/func_8093561C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa_0x809349E0/EnKusa_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa/EnKusa_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa_0x809349E0/func_809358C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa/EnKusa_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa_0x809349E0/func_809358D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa/func_809358C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa_0x809349E0/func_80935988.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa/func_809358D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa_0x809349E0/func_809359AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa/func_80935988.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa_0x809349E0/func_80935B94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa/func_809359AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa_0x809349E0/func_80935BBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa/func_80935B94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa_0x809349E0/func_80935CE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa/func_80935BBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa_0x809349E0/func_80935D64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa/func_80935CE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa_0x809349E0/func_80936120.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa/func_80935D64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa_0x809349E0/func_80936168.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa/func_80936120.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa_0x809349E0/func_809361A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa/func_80936168.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa_0x809349E0/func_809361B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa/func_809361A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa_0x809349E0/func_80936220.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa/func_809361B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa_0x809349E0/func_80936290.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa/func_80936220.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa_0x809349E0/func_809362D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa/func_80936290.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa_0x809349E0/EnKusa_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa/func_809362D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa_0x809349E0/func_80936414.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa/EnKusa_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa_0x809349E0/func_809365CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa/func_80936414.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa/func_809365CC.s") diff --git a/src/overlays/actors/ovl_En_Kusa/z_en_kusa.h b/src/overlays/actors/ovl_En_Kusa/z_en_kusa.h index cc2745f445..036e4eab02 100644 --- a/src/overlays/actors/ovl_En_Kusa/z_en_kusa.h +++ b/src/overlays/actors/ovl_En_Kusa/z_en_kusa.h @@ -1,13 +1,16 @@ #ifndef Z_EN_KUSA_H #define Z_EN_KUSA_H -#include +#include "global.h" struct EnKusa; +typedef void (*EnKusaActionFunc)(struct EnKusa* this, GlobalContext* globalCtx); + typedef struct EnKusa { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x58]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ EnKusaActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x54]; } EnKusa; // size = 0x19C extern const ActorInit En_Kusa_InitVars; diff --git a/src/overlays/actors/ovl_En_Kusa2/z_en_kusa2.c b/src/overlays/actors/ovl_En_Kusa2/z_en_kusa2.c index e3fa211adf..cb6fe757c4 100644 --- a/src/overlays/actors/ovl_En_Kusa2/z_en_kusa2.c +++ b/src/overlays/actors/ovl_En_Kusa2/z_en_kusa2.c @@ -9,6 +9,17 @@ void EnKusa2_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnKusa2_Update(Actor* thisx, GlobalContext* globalCtx); void EnKusa2_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80A5D5F4(EnKusa2* this, GlobalContext* globalCtx); +void func_80A5D62C(EnKusa2* this, GlobalContext* globalCtx); +void func_80A5D6C4(EnKusa2* this, GlobalContext* globalCtx); +void func_80A5D794(EnKusa2* this, GlobalContext* globalCtx); +void func_80A5D7C4(EnKusa2* this, GlobalContext* globalCtx); +void func_80A5D9C8(EnKusa2* this, GlobalContext* globalCtx); +void func_80A5DC98(EnKusa2* this, GlobalContext* globalCtx); +void func_80A5DEB4(EnKusa2* this, GlobalContext* globalCtx); +void func_80A5E210(EnKusa2* this, GlobalContext* globalCtx); +void func_80A5E4BC(EnKusa2* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Kusa2_InitVars = { ACTOR_EN_KUSA2, @@ -22,7 +33,6 @@ const ActorInit En_Kusa2_InitVars = { (ActorFunc)EnKusa2_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80A5EAC0 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_PLAYER | OC1_TYPE_2, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -30,7 +40,6 @@ static ColliderCylinderInit D_80A5EAC0 = { { 6, 44, 0, { 0, 0, 0 } }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80A5EB50[] = { ICHAIN_F32_DIV1000(gravity, -2000, ICHAIN_CONTINUE), @@ -41,129 +50,129 @@ static InitChainEntry D_80A5EB50[] = { ICHAIN_F32(uncullZoneDownward, 100, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80A5EAC0; extern InitChainEntry D_80A5EB50[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5B160.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5B160.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5B334.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5B334.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5B3BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5B3BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5B490.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5B490.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5B508.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5B508.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5B954.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5B954.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5BA58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5BA58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5BAFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5BAFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5BB40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5BB40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5BD14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5BD14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5BD94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5BD94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5BDB0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5BDB0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5BF38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5BF38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5BF60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5BF60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5BF84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5BF84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5BFD8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5BFD8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5C074.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5C074.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5C0B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5C0B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5C104.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5C104.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5C2FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5C2FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5C410.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5C410.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5C70C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5C70C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5C718.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5C718.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5C7F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5C7F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5C918.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5C918.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5CAD4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5CAD4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5CAF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5CAF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5CB74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5CB74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5CCD4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5CCD4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5CD0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5CD0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5CF44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5CF44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5D178.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5D178.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/EnKusa2_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/EnKusa2_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/EnKusa2_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/EnKusa2_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5D5E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5D5E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5D5F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5D5F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5D618.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5D618.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5D62C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5D62C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5D6B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5D6B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5D6C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5D6C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5D754.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5D754.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5D794.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5D794.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5D7A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5D7A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5D7C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5D7C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5D964.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5D964.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5D9C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5D9C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5DC70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5DC70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5DC98.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5DC98.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5DE18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5DE18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5DEB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5DEB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5E1D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5E1D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5E210.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5E210.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5E418.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5E418.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5E4BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5E4BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5E604.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5E604.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/EnKusa2_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/EnKusa2_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5E6F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5E6F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5E80C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5E80C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/EnKusa2_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/EnKusa2_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5E9B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5E9B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Kusa2_0x80A5B160/func_80A5EA48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Kusa2/func_80A5EA48.s") diff --git a/src/overlays/actors/ovl_En_Kusa2/z_en_kusa2.h b/src/overlays/actors/ovl_En_Kusa2/z_en_kusa2.h index 69aa51c274..b7d1faf416 100644 --- a/src/overlays/actors/ovl_En_Kusa2/z_en_kusa2.h +++ b/src/overlays/actors/ovl_En_Kusa2/z_en_kusa2.h @@ -1,13 +1,17 @@ #ifndef Z_EN_KUSA2_H #define Z_EN_KUSA2_H -#include +#include "global.h" struct EnKusa2; +typedef void (*EnKusa2ActionFunc)(struct EnKusa2* this, GlobalContext* globalCtx); + typedef struct EnKusa2 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x90]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x4C]; + /* 0x0190 */ EnKusa2ActionFunc actionFunc; + /* 0x0194 */ char unk_194[0x40]; } EnKusa2; // size = 0x1D4 extern const ActorInit En_Kusa2_InitVars; diff --git a/src/overlays/actors/ovl_En_Lift_Nuts/z_en_lift_nuts.c b/src/overlays/actors/ovl_En_Lift_Nuts/z_en_lift_nuts.c index 462a0923ac..b35b39df0b 100644 --- a/src/overlays/actors/ovl_En_Lift_Nuts/z_en_lift_nuts.c +++ b/src/overlays/actors/ovl_En_Lift_Nuts/z_en_lift_nuts.c @@ -22,7 +22,6 @@ const ActorInit En_Lift_Nuts_InitVars = { (ActorFunc)EnLiftNuts_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80AEBF28 = { { COLTYPE_NONE, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -30,103 +29,104 @@ static ColliderCylinderInit D_80AEBF28 = { { 25, 75, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_80AEBF54 = { 0, 0, 0, 0, MASS_IMMOVABLE }; +#endif extern ColliderCylinderInit D_80AEBF28; extern CollisionCheckInfoInit2 D_80AEBF54; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/func_80AE9A20.asm") +extern UNK_TYPE D_060029E8; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/func_80AE9A80.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/func_80AE9A20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/func_80AE9AC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/func_80AE9A80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/func_80AE9B4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/func_80AE9AC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/func_80AE9B8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/func_80AE9B4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/func_80AE9BCC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/func_80AE9B8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/EnLiftNuts_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/func_80AE9BCC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/EnLiftNuts_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/EnLiftNuts_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/func_80AE9F28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/EnLiftNuts_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/func_80AE9F70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/func_80AE9F28.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/func_80AE9FC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/func_80AE9F70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/func_80AEA044.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/func_80AE9FC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/func_80AEA0B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/func_80AEA044.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/func_80AEA128.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/func_80AEA0B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/func_80AEA1A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/func_80AEA128.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/func_80AEA7A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/func_80AEA1A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/func_80AEA910.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/func_80AEA7A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/func_80AEABF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/func_80AEA910.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/func_80AEAC64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/func_80AEABF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/func_80AEACF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/func_80AEAC64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/func_80AEAEAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/func_80AEACF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/func_80AEAF14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/func_80AEAEAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/func_80AEAF8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/func_80AEAF14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/func_80AEAFA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/func_80AEAF8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/func_80AEB114.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/func_80AEAFA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/func_80AEB148.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/func_80AEB114.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/func_80AEB1C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/func_80AEB148.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/func_80AEB230.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/func_80AEB1C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/func_80AEB280.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/func_80AEB230.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/func_80AEB294.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/func_80AEB280.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/func_80AEB3E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/func_80AEB294.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/func_80AEB428.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/func_80AEB3E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/func_80AEB584.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/func_80AEB428.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/func_80AEB598.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/func_80AEB584.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/func_80AEB684.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/func_80AEB598.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/func_80AEB698.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/func_80AEB684.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/func_80AEB828.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/func_80AEB698.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/func_80AEB8A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/func_80AEB828.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/func_80AEB934.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/func_80AEB8A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/func_80AEB974.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/func_80AEB934.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/func_80AEB9E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/func_80AEB974.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/func_80AEBB30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/func_80AEB9E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/EnLiftNuts_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/func_80AEBB30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/func_80AEBC18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/EnLiftNuts_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/func_80AEBC90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/func_80AEBC18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Lift_Nuts_0x80AE9A20/EnLiftNuts_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/func_80AEBC90.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Lift_Nuts/EnLiftNuts_Draw.s") diff --git a/src/overlays/actors/ovl_En_Lift_Nuts/z_en_lift_nuts.h b/src/overlays/actors/ovl_En_Lift_Nuts/z_en_lift_nuts.h index 8834e4c875..4097b7fab6 100644 --- a/src/overlays/actors/ovl_En_Lift_Nuts/z_en_lift_nuts.h +++ b/src/overlays/actors/ovl_En_Lift_Nuts/z_en_lift_nuts.h @@ -1,13 +1,17 @@ #ifndef Z_EN_LIFT_NUTS_H #define Z_EN_LIFT_NUTS_H -#include +#include "global.h" struct EnLiftNuts; +typedef void (*EnLiftNutsActionFunc)(struct EnLiftNuts* this, GlobalContext* globalCtx); + typedef struct EnLiftNuts { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x214]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x90]; + /* 0x01D4 */ EnLiftNutsActionFunc actionFunc; + /* 0x01D8 */ char unk_1D8[0x180]; } EnLiftNuts; // size = 0x358 extern const ActorInit En_Lift_Nuts_InitVars; diff --git a/src/overlays/actors/ovl_En_Light/z_en_light.c b/src/overlays/actors/ovl_En_Light/z_en_light.c index f19b37fe7b..ba02662ae0 100644 --- a/src/overlays/actors/ovl_En_Light/z_en_light.c +++ b/src/overlays/actors/ovl_En_Light/z_en_light.c @@ -24,14 +24,14 @@ const ActorInit En_Light_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Light_0x80865990/EnLight_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Light/EnLight_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Light_0x80865990/EnLight_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Light/EnLight_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Light_0x80865990/func_80865BF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Light/func_80865BF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Light_0x80865990/EnLight_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Light/EnLight_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Light_0x80865990/func_80865F38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Light/func_80865F38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Light_0x80865990/EnLight_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Light/EnLight_Draw.s") diff --git a/src/overlays/actors/ovl_En_Light/z_en_light.h b/src/overlays/actors/ovl_En_Light/z_en_light.h index b2f477c949..f1aff8de96 100644 --- a/src/overlays/actors/ovl_En_Light/z_en_light.h +++ b/src/overlays/actors/ovl_En_Light/z_en_light.h @@ -1,7 +1,7 @@ #ifndef Z_EN_LIGHT_H #define Z_EN_LIGHT_H -#include +#include "global.h" struct EnLight; diff --git a/src/overlays/actors/ovl_En_Look_Nuts/z_en_look_nuts.c b/src/overlays/actors/ovl_En_Look_Nuts/z_en_look_nuts.c index 09be84c049..915164eed4 100644 --- a/src/overlays/actors/ovl_En_Look_Nuts/z_en_look_nuts.c +++ b/src/overlays/actors/ovl_En_Look_Nuts/z_en_look_nuts.c @@ -22,7 +22,6 @@ const ActorInit En_Look_Nuts_InitVars = { (ActorFunc)EnLookNuts_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80A68600 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_NONE, OC2_NONE, COLSHAPE_CYLINDER, }, @@ -30,7 +29,6 @@ static ColliderCylinderInit D_80A68600 = { { 20, 50, 0, { 0, 0, 0 } }, }; - // static DamageTable sDamageTable = { static DamageTable D_80A68630 = { /* Deku Nut */ DMG_ENTRY(1, 0xF), @@ -67,31 +65,34 @@ static DamageTable D_80A68630 = { /* Powder Keg */ DMG_ENTRY(1, 0xF), }; +#endif extern ColliderCylinderInit D_80A68600; extern DamageTable D_80A68630; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Look_Nuts_0x80A678B0/EnLookNuts_Init.asm") +extern UNK_TYPE D_06000430; +extern UNK_TYPE D_06002B6C; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Look_Nuts_0x80A678B0/EnLookNuts_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Look_Nuts/EnLookNuts_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Look_Nuts_0x80A678B0/func_80A67A34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Look_Nuts/EnLookNuts_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Look_Nuts_0x80A678B0/func_80A67AA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Look_Nuts/func_80A67A34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Look_Nuts_0x80A678B0/func_80A67C48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Look_Nuts/func_80A67AA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Look_Nuts_0x80A678B0/func_80A67D0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Look_Nuts/func_80A67C48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Look_Nuts_0x80A678B0/func_80A67F30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Look_Nuts/func_80A67D0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Look_Nuts_0x80A678B0/func_80A67FC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Look_Nuts/func_80A67F30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Look_Nuts_0x80A678B0/func_80A68080.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Look_Nuts/func_80A67FC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Look_Nuts_0x80A678B0/func_80A680FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Look_Nuts/func_80A68080.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Look_Nuts_0x80A678B0/EnLookNuts_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Look_Nuts/func_80A680FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Look_Nuts_0x80A678B0/EnLookNuts_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Look_Nuts/EnLookNuts_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Look_Nuts/EnLookNuts_Draw.s") diff --git a/src/overlays/actors/ovl_En_Look_Nuts/z_en_look_nuts.h b/src/overlays/actors/ovl_En_Look_Nuts/z_en_look_nuts.h index 1bbcd16bb9..7eac61ff2c 100644 --- a/src/overlays/actors/ovl_En_Look_Nuts/z_en_look_nuts.h +++ b/src/overlays/actors/ovl_En_Look_Nuts/z_en_look_nuts.h @@ -1,13 +1,17 @@ #ifndef Z_EN_LOOK_NUTS_H #define Z_EN_LOOK_NUTS_H -#include +#include "global.h" struct EnLookNuts; +typedef void (*EnLookNutsActionFunc)(struct EnLookNuts* this, GlobalContext* globalCtx); + typedef struct EnLookNuts { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x14C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0xC8]; + /* 0x020C */ EnLookNutsActionFunc actionFunc; + /* 0x0210 */ char unk_210[0x80]; } EnLookNuts; // size = 0x290 extern const ActorInit En_Look_Nuts_InitVars; diff --git a/src/overlays/actors/ovl_En_M_Fire1/z_en_m_fire1.h b/src/overlays/actors/ovl_En_M_Fire1/z_en_m_fire1.h index 8beb260ab5..fd5504e15f 100644 --- a/src/overlays/actors/ovl_En_M_Fire1/z_en_m_fire1.h +++ b/src/overlays/actors/ovl_En_M_Fire1/z_en_m_fire1.h @@ -1,7 +1,7 @@ #ifndef Z_EN_M_FIRE1_H #define Z_EN_M_FIRE1_H -#include +#include "global.h" struct EnMFire1; diff --git a/src/overlays/actors/ovl_En_M_Thunder/z_en_m_thunder.c b/src/overlays/actors/ovl_En_M_Thunder/z_en_m_thunder.c index 820af77787..03140ab1f3 100644 --- a/src/overlays/actors/ovl_En_M_Thunder/z_en_m_thunder.c +++ b/src/overlays/actors/ovl_En_M_Thunder/z_en_m_thunder.c @@ -22,7 +22,6 @@ const ActorInit En_M_Thunder_InitVars = { (ActorFunc)EnMThunder_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_808B7120 = { { COLTYPE_NONE, AT_ON | AT_TYPE_PLAYER, AC_NONE, OC1_NONE, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,32 +29,32 @@ static ColliderCylinderInit D_808B7120 = { { 200, 200, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_808B7120; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_M_Thunder_0x808B53C0/func_808B53C0.asm") +extern ColliderCylinderInit D_808B7120; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_M_Thunder_0x808B53C0/EnMThunder_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_M_Thunder/func_808B53C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_M_Thunder_0x808B53C0/EnMThunder_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_M_Thunder/EnMThunder_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_M_Thunder_0x808B53C0/func_808B5890.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_M_Thunder/EnMThunder_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_M_Thunder_0x808B53C0/func_808B58CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_M_Thunder/func_808B5890.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_M_Thunder_0x808B53C0/func_808B5984.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_M_Thunder/func_808B58CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_M_Thunder_0x808B53C0/func_808B5EEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_M_Thunder/func_808B5984.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_M_Thunder_0x808B53C0/func_808B5F68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_M_Thunder/func_808B5EEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_M_Thunder_0x808B53C0/func_808B60D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_M_Thunder/func_808B5F68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_M_Thunder_0x808B53C0/func_808B6310.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_M_Thunder/func_808B60D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_M_Thunder_0x808B53C0/EnMThunder_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_M_Thunder/func_808B6310.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_M_Thunder_0x808B53C0/func_808B65BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_M_Thunder/EnMThunder_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_M_Thunder_0x808B53C0/EnMThunder_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_M_Thunder/func_808B65BC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_M_Thunder/EnMThunder_Draw.s") diff --git a/src/overlays/actors/ovl_En_M_Thunder/z_en_m_thunder.h b/src/overlays/actors/ovl_En_M_Thunder/z_en_m_thunder.h index 4d7222ce1c..a6924e49ae 100644 --- a/src/overlays/actors/ovl_En_M_Thunder/z_en_m_thunder.h +++ b/src/overlays/actors/ovl_En_M_Thunder/z_en_m_thunder.h @@ -1,13 +1,17 @@ #ifndef Z_EN_M_THUNDER_H #define Z_EN_M_THUNDER_H -#include +#include "global.h" struct EnMThunder; +typedef void (*EnMThunderActionFunc)(struct EnMThunder* this, GlobalContext* globalCtx); + typedef struct EnMThunder { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x80]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x74]; + /* 0x01B8 */ EnMThunderActionFunc actionFunc; + /* 0x01BC */ char unk_1BC[0x8]; } EnMThunder; // size = 0x1C4 extern const ActorInit En_M_Thunder_InitVars; diff --git a/src/overlays/actors/ovl_En_Ma4/z_en_ma4.h b/src/overlays/actors/ovl_En_Ma4/z_en_ma4.h index 3a6b874052..1ecc67ed5a 100644 --- a/src/overlays/actors/ovl_En_Ma4/z_en_ma4.h +++ b/src/overlays/actors/ovl_En_Ma4/z_en_ma4.h @@ -1,7 +1,7 @@ #ifndef Z_EN_MA4_H #define Z_EN_MA4_H -#include +#include "global.h" #include "overlays/actors/ovl_En_Ma_Yts/z_en_ma_yts.h" struct EnMa4; diff --git a/src/overlays/actors/ovl_En_Ma_Yto/z_en_ma_yto.h b/src/overlays/actors/ovl_En_Ma_Yto/z_en_ma_yto.h index faf53ecb34..0fe7e009f9 100644 --- a/src/overlays/actors/ovl_En_Ma_Yto/z_en_ma_yto.h +++ b/src/overlays/actors/ovl_En_Ma_Yto/z_en_ma_yto.h @@ -1,7 +1,7 @@ #ifndef Z_EN_MA_YTO_H #define Z_EN_MA_YTO_H -#include +#include "global.h" #include "overlays/actors/ovl_En_Ma_Yts/z_en_ma_yts.h" struct EnMaYto; diff --git a/src/overlays/actors/ovl_En_Ma_Yts/z_en_ma_yts.h b/src/overlays/actors/ovl_En_Ma_Yts/z_en_ma_yts.h index f03b2ddc1a..75f0ee0b6a 100644 --- a/src/overlays/actors/ovl_En_Ma_Yts/z_en_ma_yts.h +++ b/src/overlays/actors/ovl_En_Ma_Yts/z_en_ma_yts.h @@ -1,7 +1,7 @@ #ifndef Z_EN_MA_YTS_H #define Z_EN_MA_YTS_H -#include +#include "global.h" struct EnMaYts; diff --git a/src/overlays/actors/ovl_En_Mag/z_en_mag.c b/src/overlays/actors/ovl_En_Mag/z_en_mag.c index 671f4c9317..3fdf1766ab 100644 --- a/src/overlays/actors/ovl_En_Mag/z_en_mag.c +++ b/src/overlays/actors/ovl_En_Mag/z_en_mag.c @@ -24,24 +24,26 @@ const ActorInit En_Mag_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mag_0x8096B310/EnMag_Init.asm") +extern UNK_TYPE D_06011E48; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mag_0x8096B310/EnMag_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mag/EnMag_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mag_0x8096B310/func_8096B604.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mag/EnMag_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mag_0x8096B310/EnMag_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mag/func_8096B604.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mag_0x8096B310/func_8096C998.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mag/EnMag_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mag_0x8096B310/func_8096CBB0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mag/func_8096C998.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mag_0x8096B310/func_8096CDC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mag/func_8096CBB0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mag_0x8096B310/func_8096D230.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mag/func_8096CDC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mag_0x8096B310/func_8096D60C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mag/func_8096D230.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mag_0x8096B310/func_8096D74C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mag/func_8096D60C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mag_0x8096B310/EnMag_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mag/func_8096D74C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mag/EnMag_Draw.s") diff --git a/src/overlays/actors/ovl_En_Mag/z_en_mag.h b/src/overlays/actors/ovl_En_Mag/z_en_mag.h index 47fc08f17b..3543b5cea8 100644 --- a/src/overlays/actors/ovl_En_Mag/z_en_mag.h +++ b/src/overlays/actors/ovl_En_Mag/z_en_mag.h @@ -1,7 +1,7 @@ #ifndef Z_EN_MAG_H #define Z_EN_MAG_H -#include +#include "global.h" struct EnMag; diff --git a/src/overlays/actors/ovl_En_Maruta/z_en_maruta.c b/src/overlays/actors/ovl_En_Maruta/z_en_maruta.c index c46f41fefc..01b47bf00d 100644 --- a/src/overlays/actors/ovl_En_Maruta/z_en_maruta.c +++ b/src/overlays/actors/ovl_En_Maruta/z_en_maruta.c @@ -9,6 +9,15 @@ void EnMaruta_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnMaruta_Update(Actor* thisx, GlobalContext* globalCtx); void EnMaruta_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80B372CC(EnMaruta* this, GlobalContext* globalCtx); +void func_80B3738C(EnMaruta* this, GlobalContext* globalCtx); +void func_80B37428(EnMaruta* this, GlobalContext* globalCtx); +void func_80B374FC(EnMaruta* this, GlobalContext* globalCtx); +void func_80B37950(EnMaruta* this, GlobalContext* globalCtx); +void func_80B379C0(EnMaruta* this, GlobalContext* globalCtx); +void func_80B37A64(EnMaruta* this, GlobalContext* globalCtx); +void func_80B37AA0(EnMaruta* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Maruta_InitVars = { ACTOR_EN_MARUTA, @@ -22,7 +31,6 @@ const ActorInit En_Maruta_InitVars = { (ActorFunc)EnMaruta_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80B38AFC = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,7 +38,6 @@ static ColliderCylinderInit D_80B38AFC = { { 12, 65, 0, { 0, 0, 0 } }, }; - // static DamageTable sDamageTable = { static DamageTable D_80B38B28 = { /* Deku Nut */ DMG_ENTRY(0, 0x0), @@ -67,70 +74,71 @@ static DamageTable D_80B38B28 = { /* Powder Keg */ DMG_ENTRY(0, 0x0), }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_80B38B48 = { 8, 0, 0, 0, MASS_HEAVY }; +#endif extern ColliderCylinderInit D_80B38AFC; extern DamageTable D_80B38B28; extern CollisionCheckInfoInit2 D_80B38B48; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Maruta_0x80B37080/EnMaruta_Init.asm") +extern UNK_TYPE D_06002EC0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Maruta_0x80B37080/EnMaruta_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Maruta/EnMaruta_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Maruta_0x80B37080/func_80B372B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Maruta/EnMaruta_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Maruta_0x80B37080/func_80B372CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Maruta/func_80B372B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Maruta_0x80B37080/func_80B37364.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Maruta/func_80B372CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Maruta_0x80B37080/func_80B3738C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Maruta/func_80B37364.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Maruta_0x80B37080/func_80B373F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Maruta/func_80B3738C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Maruta_0x80B37080/func_80B37428.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Maruta/func_80B373F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Maruta_0x80B37080/func_80B374B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Maruta/func_80B37428.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Maruta_0x80B37080/func_80B374FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Maruta/func_80B374B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Maruta_0x80B37080/func_80B37590.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Maruta/func_80B374FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Maruta_0x80B37080/func_80B37950.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Maruta/func_80B37590.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Maruta_0x80B37080/func_80B37998.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Maruta/func_80B37950.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Maruta_0x80B37080/func_80B379C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Maruta/func_80B37998.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Maruta_0x80B37080/func_80B37A14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Maruta/func_80B379C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Maruta_0x80B37080/func_80B37A64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Maruta/func_80B37A14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Maruta_0x80B37080/func_80B37A8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Maruta/func_80B37A64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Maruta_0x80B37080/func_80B37AA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Maruta/func_80B37A8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Maruta_0x80B37080/func_80B37B78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Maruta/func_80B37AA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Maruta_0x80B37080/func_80B37C04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Maruta/func_80B37B78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Maruta_0x80B37080/func_80B37C60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Maruta/func_80B37C04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Maruta_0x80B37080/func_80B37CA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Maruta/func_80B37C60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Maruta_0x80B37080/func_80B37EC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Maruta/func_80B37CA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Maruta_0x80B37080/func_80B38028.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Maruta/func_80B37EC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Maruta_0x80B37080/func_80B38060.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Maruta/func_80B38028.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Maruta_0x80B37080/func_80B3828C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Maruta/func_80B38060.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Maruta_0x80B37080/func_80B382E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Maruta/func_80B3828C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Maruta_0x80B37080/EnMaruta_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Maruta/func_80B382E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Maruta_0x80B37080/EnMaruta_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Maruta/EnMaruta_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Maruta/EnMaruta_Draw.s") diff --git a/src/overlays/actors/ovl_En_Maruta/z_en_maruta.h b/src/overlays/actors/ovl_En_Maruta/z_en_maruta.h index 9780e1ed25..d6f0096089 100644 --- a/src/overlays/actors/ovl_En_Maruta/z_en_maruta.h +++ b/src/overlays/actors/ovl_En_Maruta/z_en_maruta.h @@ -1,13 +1,16 @@ #ifndef Z_EN_MARUTA_H #define Z_EN_MARUTA_H -#include +#include "global.h" struct EnMaruta; +typedef void (*EnMarutaActionFunc)(struct EnMaruta* this, GlobalContext* globalCtx); + typedef struct EnMaruta { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0xE0]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ EnMarutaActionFunc actionFunc; + /* 0x0148 */ char unk_144[0xDC]; } EnMaruta; // size = 0x224 extern const ActorInit En_Maruta_InitVars; diff --git a/src/overlays/actors/ovl_En_Minideath/z_en_minideath.c b/src/overlays/actors/ovl_En_Minideath/z_en_minideath.c index b759500634..955cf8fc73 100644 --- a/src/overlays/actors/ovl_En_Minideath/z_en_minideath.c +++ b/src/overlays/actors/ovl_En_Minideath/z_en_minideath.c @@ -8,6 +8,20 @@ void EnMinideath_Init(Actor* thisx, GlobalContext* globalCtx); void EnMinideath_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnMinideath_Update(Actor* thisx, GlobalContext* globalCtx); +void func_808CA860(EnMinideath* this, GlobalContext* globalCtx); +void func_808CA8F4(EnMinideath* this, GlobalContext* globalCtx); +void func_808CAAEC(EnMinideath* this, GlobalContext* globalCtx); +void func_808CABB0(EnMinideath* this, GlobalContext* globalCtx); +void func_808CACD8(EnMinideath* this, GlobalContext* globalCtx); +void func_808CAE18(EnMinideath* this, GlobalContext* globalCtx); +void func_808CAF68(EnMinideath* this, GlobalContext* globalCtx); +void func_808CB094(EnMinideath* this, GlobalContext* globalCtx); +void func_808CB22C(EnMinideath* this, GlobalContext* globalCtx); +void func_808CB454(EnMinideath* this, GlobalContext* globalCtx); +void func_808CB59C(EnMinideath* this, GlobalContext* globalCtx); +void func_808CB6D4(EnMinideath* this, GlobalContext* globalCtx); +void func_808CB7CC(EnMinideath* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Minideath_InitVars = { ACTOR_EN_MINIDEATH, @@ -21,7 +35,6 @@ const ActorInit En_Minideath_InitVars = { (ActorFunc)NULL, }; - // static ColliderJntSphElementInit sJntSphElementsInit[3] = { static ColliderJntSphElementInit D_808CBF50[3] = { { @@ -44,7 +57,6 @@ static ColliderJntSphInit D_808CBFBC = { 3, D_808CBF50, // sJntSphElementsInit, }; - // static DamageTable sDamageTable = { static DamageTable D_808CBFCC = { /* Deku Nut */ DMG_ENTRY(0, 0x1), @@ -81,91 +93,89 @@ static DamageTable D_808CBFCC = { /* Powder Keg */ DMG_ENTRY(1, 0x0), }; - // sColChkInfoInit static CollisionCheckInfoInit D_808CBFEC = { 1, 15, 30, 10 }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_808CBFF4[] = { ICHAIN_F32(uncullZoneScale, 100, ICHAIN_CONTINUE), ICHAIN_F32(uncullZoneDownward, 100, ICHAIN_STOP), }; +#endif extern ColliderJntSphElementInit D_808CBF50[3]; extern ColliderJntSphInit D_808CBFBC; extern DamageTable D_808CBFCC; extern CollisionCheckInfoInit D_808CBFEC; extern InitChainEntry D_808CBFF4[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Minideath_0x808CA0B0/EnMinideath_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Minideath/EnMinideath_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Minideath_0x808CA0B0/EnMinideath_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Minideath/EnMinideath_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Minideath_0x808CA0B0/func_808CA268.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Minideath/func_808CA268.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Minideath_0x808CA0B0/func_808CA308.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Minideath/func_808CA308.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Minideath_0x808CA0B0/func_808CA34C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Minideath/func_808CA34C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Minideath_0x808CA0B0/func_808CA458.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Minideath/func_808CA458.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Minideath_0x808CA0B0/func_808CA7D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Minideath/func_808CA7D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Minideath_0x808CA0B0/func_808CA860.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Minideath/func_808CA860.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Minideath_0x808CA0B0/func_808CA8E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Minideath/func_808CA8E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Minideath_0x808CA0B0/func_808CA8F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Minideath/func_808CA8F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Minideath_0x808CA0B0/func_808CAAC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Minideath/func_808CAAC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Minideath_0x808CA0B0/func_808CAAEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Minideath/func_808CAAEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Minideath_0x808CA0B0/func_808CAB90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Minideath/func_808CAB90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Minideath_0x808CA0B0/func_808CABB0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Minideath/func_808CABB0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Minideath_0x808CA0B0/func_808CAC54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Minideath/func_808CAC54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Minideath_0x808CA0B0/func_808CACD8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Minideath/func_808CACD8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Minideath_0x808CA0B0/func_808CAE00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Minideath/func_808CAE00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Minideath_0x808CA0B0/func_808CAE18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Minideath/func_808CAE18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Minideath_0x808CA0B0/func_808CAF08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Minideath/func_808CAF08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Minideath_0x808CA0B0/func_808CAF68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Minideath/func_808CAF68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Minideath_0x808CA0B0/func_808CB07C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Minideath/func_808CB07C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Minideath_0x808CA0B0/func_808CB094.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Minideath/func_808CB094.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Minideath_0x808CA0B0/func_808CB0C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Minideath/func_808CB0C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Minideath_0x808CA0B0/func_808CB22C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Minideath/func_808CB22C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Minideath_0x808CA0B0/func_808CB418.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Minideath/func_808CB418.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Minideath_0x808CA0B0/func_808CB454.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Minideath/func_808CB454.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Minideath_0x808CA0B0/func_808CB524.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Minideath/func_808CB524.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Minideath_0x808CA0B0/func_808CB59C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Minideath/func_808CB59C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Minideath_0x808CA0B0/func_808CB6A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Minideath/func_808CB6A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Minideath_0x808CA0B0/func_808CB6D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Minideath/func_808CB6D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Minideath_0x808CA0B0/func_808CB7B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Minideath/func_808CB7B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Minideath_0x808CA0B0/func_808CB7CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Minideath/func_808CB7CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Minideath_0x808CA0B0/func_808CB810.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Minideath/func_808CB810.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Minideath_0x808CA0B0/func_808CB8F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Minideath/func_808CB8F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Minideath_0x808CA0B0/EnMinideath_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Minideath/EnMinideath_Update.s") diff --git a/src/overlays/actors/ovl_En_Minideath/z_en_minideath.h b/src/overlays/actors/ovl_En_Minideath/z_en_minideath.h index 878ad5b40c..45421e92a7 100644 --- a/src/overlays/actors/ovl_En_Minideath/z_en_minideath.h +++ b/src/overlays/actors/ovl_En_Minideath/z_en_minideath.h @@ -1,13 +1,16 @@ #ifndef Z_EN_MINIDEATH_H #define Z_EN_MINIDEATH_H -#include +#include "global.h" struct EnMinideath; +typedef void (*EnMinideathActionFunc)(struct EnMinideath* this, GlobalContext* globalCtx); + typedef struct EnMinideath { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x168]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ EnMinideathActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x164]; } EnMinideath; // size = 0x2AC extern const ActorInit En_Minideath_InitVars; diff --git a/src/overlays/actors/ovl_En_Minifrog/z_en_minifrog.c b/src/overlays/actors/ovl_En_Minifrog/z_en_minifrog.c index f1f3a7cb94..a620514087 100644 --- a/src/overlays/actors/ovl_En_Minifrog/z_en_minifrog.c +++ b/src/overlays/actors/ovl_En_Minifrog/z_en_minifrog.c @@ -29,8 +29,6 @@ extern AnimationHeader D_06001534; extern FlexSkeletonHeader D_0600B538; extern UNK_TYPE4 D_060059A0; extern UNK_TYPE4 D_06005BA0; -extern UNK_TYPE1 D_0400DEA8; -extern UNK_TYPE1 D_0400E2A8; const ActorInit En_Minifrog_InitVars = { ACTOR_EN_MINIFROG, diff --git a/src/overlays/actors/ovl_En_Minifrog/z_en_minifrog.h b/src/overlays/actors/ovl_En_Minifrog/z_en_minifrog.h index 5b60567d41..1dc4a53dea 100644 --- a/src/overlays/actors/ovl_En_Minifrog/z_en_minifrog.h +++ b/src/overlays/actors/ovl_En_Minifrog/z_en_minifrog.h @@ -1,7 +1,7 @@ #ifndef Z_EN_MINIFROG_H #define Z_EN_MINIFROG_H -#include +#include "global.h" struct EnMinifrog; diff --git a/src/overlays/actors/ovl_En_Minislime/z_en_minislime.h b/src/overlays/actors/ovl_En_Minislime/z_en_minislime.h index 2ddeec0946..e0b86e832d 100644 --- a/src/overlays/actors/ovl_En_Minislime/z_en_minislime.h +++ b/src/overlays/actors/ovl_En_Minislime/z_en_minislime.h @@ -1,7 +1,7 @@ #ifndef Z_EN_MINISLIME_H #define Z_EN_MINISLIME_H -#include +#include "global.h" struct EnMinislime; diff --git a/src/overlays/actors/ovl_En_Mk/z_en_mk.c b/src/overlays/actors/ovl_En_Mk/z_en_mk.c index 8605b625f5..2122321d31 100644 --- a/src/overlays/actors/ovl_En_Mk/z_en_mk.c +++ b/src/overlays/actors/ovl_En_Mk/z_en_mk.c @@ -9,6 +9,13 @@ void EnMk_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnMk_Update(Actor* thisx, GlobalContext* globalCtx); void EnMk_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_809596A0(EnMk* this, GlobalContext* globalCtx); +void func_80959774(EnMk* this, GlobalContext* globalCtx); +void func_80959A24(EnMk* this, GlobalContext* globalCtx); +void func_80959C94(EnMk* this, GlobalContext* globalCtx); +void func_80959D28(EnMk* this, GlobalContext* globalCtx); +void func_80959E18(EnMk* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Mk_InitVars = { ACTOR_EN_MK, @@ -22,7 +29,6 @@ const ActorInit En_Mk_InitVars = { (ActorFunc)EnMk_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_8095A260 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_ENEMY, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,40 +36,42 @@ static ColliderCylinderInit D_8095A260 = { { 30, 40, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_8095A260; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mk_0x809592E0/func_809592E0.asm") +extern ColliderCylinderInit D_8095A260; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mk_0x809592E0/EnMk_Init.asm") +extern UNK_TYPE D_06001C38; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mk_0x809592E0/EnMk_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mk/func_809592E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mk_0x809592E0/func_80959524.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mk/EnMk_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mk_0x809592E0/func_8095954C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mk/EnMk_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mk_0x809592E0/func_80959624.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mk/func_80959524.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mk_0x809592E0/func_809596A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mk/func_8095954C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mk_0x809592E0/func_80959774.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mk/func_80959624.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mk_0x809592E0/func_80959844.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mk/func_809596A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mk_0x809592E0/func_80959A24.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mk/func_80959774.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mk_0x809592E0/func_80959C94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mk/func_80959844.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mk_0x809592E0/func_80959D28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mk/func_80959A24.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mk_0x809592E0/func_80959E18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mk/func_80959C94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mk_0x809592E0/EnMk_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mk/func_80959D28.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mk_0x809592E0/func_8095A150.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mk/func_80959E18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mk_0x809592E0/func_8095A198.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mk/EnMk_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mk_0x809592E0/EnMk_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mk/func_8095A150.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mk/func_8095A198.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mk/EnMk_Draw.s") diff --git a/src/overlays/actors/ovl_En_Mk/z_en_mk.h b/src/overlays/actors/ovl_En_Mk/z_en_mk.h index e6d7fb0953..19bd28422a 100644 --- a/src/overlays/actors/ovl_En_Mk/z_en_mk.h +++ b/src/overlays/actors/ovl_En_Mk/z_en_mk.h @@ -1,13 +1,16 @@ #ifndef Z_EN_MK_H #define Z_EN_MK_H -#include +#include "global.h" struct EnMk; +typedef void (*EnMkActionFunc)(struct EnMk* this, GlobalContext* globalCtx); + typedef struct EnMk { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x140]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x13C]; + /* 0x0280 */ EnMkActionFunc actionFunc; } EnMk; // size = 0x284 extern const ActorInit En_Mk_InitVars; diff --git a/src/overlays/actors/ovl_En_Mkk/z_en_mkk.c b/src/overlays/actors/ovl_En_Mkk/z_en_mkk.c index e6425a39b9..81ba9a6ec1 100644 --- a/src/overlays/actors/ovl_En_Mkk/z_en_mkk.c +++ b/src/overlays/actors/ovl_En_Mkk/z_en_mkk.c @@ -9,6 +9,14 @@ void EnMkk_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnMkk_Update(Actor* thisx, GlobalContext* globalCtx); void EnMkk_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80A4E100(EnMkk* this, GlobalContext* globalCtx); +void func_80A4E1F0(EnMkk* this, GlobalContext* globalCtx); +void func_80A4E2E8(EnMkk* this, GlobalContext* globalCtx); +void func_80A4E60C(EnMkk* this, GlobalContext* globalCtx); +void func_80A4E72C(EnMkk* this, GlobalContext* globalCtx); +void func_80A4EE48(EnMkk* this, GlobalContext* globalCtx); +void func_80A4EF74(EnMkk* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Mkk_InitVars = { ACTOR_EN_MKK, @@ -22,7 +30,6 @@ const ActorInit En_Mkk_InitVars = { (ActorFunc)EnMkk_Draw, }; - // static ColliderSphereInit sSphereInit = { static ColliderSphereInit D_80A4F720 = { { COLTYPE_HIT3, AT_NONE | AT_TYPE_ENEMY, AC_NONE | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_SPHERE, }, @@ -30,11 +37,9 @@ static ColliderSphereInit D_80A4F720 = { { 1, { { 0, 0, 0 }, 15 }, 100 }, }; - // sColChkInfoInit static CollisionCheckInfoInit D_80A4F74C = { 1, 15, 30, 10 }; - // static DamageTable sDamageTable = { static DamageTable D_80A4F754 = { /* Deku Nut */ DMG_ENTRY(1, 0x0), @@ -71,7 +76,6 @@ static DamageTable D_80A4F754 = { /* Powder Keg */ DMG_ENTRY(1, 0x0), }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80A4F774[] = { ICHAIN_F32_DIV1000(gravity, -500, ICHAIN_CONTINUE), @@ -79,55 +83,55 @@ static InitChainEntry D_80A4F774[] = { ICHAIN_F32(targetArrowOffset, 3000, ICHAIN_STOP), }; +#endif extern ColliderSphereInit D_80A4F720; extern CollisionCheckInfoInit D_80A4F74C; extern DamageTable D_80A4F754; extern InitChainEntry D_80A4F774[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mkk_0x80A4DED0/EnMkk_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mkk/EnMkk_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mkk_0x80A4DED0/EnMkk_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mkk/EnMkk_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mkk_0x80A4DED0/func_80A4E0CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mkk/func_80A4E0CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mkk_0x80A4DED0/func_80A4E100.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mkk/func_80A4E100.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mkk_0x80A4DED0/func_80A4E190.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mkk/func_80A4E190.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mkk_0x80A4DED0/func_80A4E1F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mkk/func_80A4E1F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mkk_0x80A4DED0/func_80A4E22C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mkk/func_80A4E22C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mkk_0x80A4DED0/func_80A4E2B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mkk/func_80A4E2B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mkk_0x80A4DED0/func_80A4E2E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mkk/func_80A4E2E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mkk_0x80A4DED0/func_80A4E58C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mkk/func_80A4E58C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mkk_0x80A4DED0/func_80A4E60C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mkk/func_80A4E60C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mkk_0x80A4DED0/func_80A4E67C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mkk/func_80A4E67C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mkk_0x80A4DED0/func_80A4E72C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mkk/func_80A4E72C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mkk_0x80A4DED0/func_80A4E84C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mkk/func_80A4E84C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mkk_0x80A4DED0/func_80A4EBBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mkk/func_80A4EBBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mkk_0x80A4DED0/EnMkk_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mkk/EnMkk_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mkk_0x80A4DED0/func_80A4EDF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mkk/func_80A4EDF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mkk_0x80A4DED0/func_80A4EE48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mkk/func_80A4EE48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mkk_0x80A4DED0/func_80A4EEF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mkk/func_80A4EEF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mkk_0x80A4DED0/func_80A4EF74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mkk/func_80A4EF74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mkk_0x80A4DED0/func_80A4F16C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mkk/func_80A4F16C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mkk_0x80A4DED0/EnMkk_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mkk/EnMkk_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mkk_0x80A4DED0/func_80A4F4C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mkk/func_80A4F4C8.s") diff --git a/src/overlays/actors/ovl_En_Mkk/z_en_mkk.h b/src/overlays/actors/ovl_En_Mkk/z_en_mkk.h index 773420085f..bff1673957 100644 --- a/src/overlays/actors/ovl_En_Mkk/z_en_mkk.h +++ b/src/overlays/actors/ovl_En_Mkk/z_en_mkk.h @@ -1,13 +1,16 @@ #ifndef Z_EN_MKK_H #define Z_EN_MKK_H -#include +#include "global.h" struct EnMkk; +typedef void (*EnMkkActionFunc)(struct EnMkk* this, GlobalContext* globalCtx); + typedef struct EnMkk { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x90]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ EnMkkActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x8C]; } EnMkk; // size = 0x1D4 extern const ActorInit En_Mkk_InitVars; diff --git a/src/overlays/actors/ovl_En_Mm/z_en_mm.c b/src/overlays/actors/ovl_En_Mm/z_en_mm.c index a69b357a89..fc68595425 100644 --- a/src/overlays/actors/ovl_En_Mm/z_en_mm.c +++ b/src/overlays/actors/ovl_En_Mm/z_en_mm.c @@ -9,6 +9,12 @@ void EnMm_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnMm_Update(Actor* thisx, GlobalContext* globalCtx); void EnMm_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80965D3C(EnMm* this, GlobalContext* globalCtx); +void func_80965DB4(EnMm* this, GlobalContext* globalCtx); +void func_8096611C(EnMm* this, GlobalContext* globalCtx); + +void EnMm_SetupAction(EnMm* this, EnMmActionFunc actionFunc); + #if 0 const ActorInit En_Mm_InitVars = { ACTOR_EN_MM, @@ -22,7 +28,6 @@ const ActorInit En_Mm_InitVars = { (ActorFunc)EnMm_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80966340 = { { COLTYPE_METAL, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -30,32 +35,31 @@ static ColliderCylinderInit D_80966340 = { { 6, 30, 0, { 0, 0, 0 } }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_8096636C[] = { ICHAIN_F32_DIV1000(gravity, -1200, ICHAIN_CONTINUE), ICHAIN_VEC3F_DIV1000(scale, 270, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80966340; extern InitChainEntry D_8096636C[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mm_0x80965BB0/func_80965BB0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mm/EnMm_SetupAction.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mm_0x80965BB0/func_80965BBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mm/func_80965BBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mm_0x80965BB0/EnMm_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mm/EnMm_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mm_0x80965BB0/EnMm_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mm/EnMm_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mm_0x80965BB0/func_80965D3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mm/func_80965D3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mm_0x80965BB0/func_80965DB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mm/func_80965DB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mm_0x80965BB0/func_8096611C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mm/func_8096611C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mm_0x80965BB0/EnMm_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mm/EnMm_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mm_0x80965BB0/EnMm_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mm/EnMm_Draw.s") diff --git a/src/overlays/actors/ovl_En_Mm/z_en_mm.h b/src/overlays/actors/ovl_En_Mm/z_en_mm.h index 16e9efdf9a..26b8d9d19e 100644 --- a/src/overlays/actors/ovl_En_Mm/z_en_mm.h +++ b/src/overlays/actors/ovl_En_Mm/z_en_mm.h @@ -1,13 +1,16 @@ #ifndef Z_EN_MM_H #define Z_EN_MM_H -#include +#include "global.h" struct EnMm; +typedef void (*EnMmActionFunc)(struct EnMm* this, GlobalContext* globalCtx); + typedef struct EnMm { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x54]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x50]; + /* 0x0194 */ EnMmActionFunc actionFunc; } EnMm; // size = 0x198 extern const ActorInit En_Mm_InitVars; diff --git a/src/overlays/actors/ovl_En_Mm2/z_en_mm2.c b/src/overlays/actors/ovl_En_Mm2/z_en_mm2.c index 48cddfe620..4d008e9472 100644 --- a/src/overlays/actors/ovl_En_Mm2/z_en_mm2.c +++ b/src/overlays/actors/ovl_En_Mm2/z_en_mm2.c @@ -9,6 +9,9 @@ void EnMm2_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnMm2_Update(Actor* thisx, GlobalContext* globalCtx); void EnMm2_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_809A2080(EnMm2* this, GlobalContext* globalCtx); +void func_809A20FC(EnMm2* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Mm2_InitVars = { ACTOR_EN_MM2, @@ -24,14 +27,14 @@ const ActorInit En_Mm2_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mm2_0x809A2030/EnMm2_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mm2/EnMm2_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mm2_0x809A2030/EnMm2_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mm2/EnMm2_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mm2_0x809A2030/func_809A2080.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mm2/func_809A2080.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mm2_0x809A2030/func_809A20FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mm2/func_809A20FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mm2_0x809A2030/EnMm2_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mm2/EnMm2_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mm2_0x809A2030/EnMm2_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mm2/EnMm2_Draw.s") diff --git a/src/overlays/actors/ovl_En_Mm2/z_en_mm2.h b/src/overlays/actors/ovl_En_Mm2/z_en_mm2.h index 646030eea7..16518c16fd 100644 --- a/src/overlays/actors/ovl_En_Mm2/z_en_mm2.h +++ b/src/overlays/actors/ovl_En_Mm2/z_en_mm2.h @@ -1,13 +1,17 @@ #ifndef Z_EN_MM2_H #define Z_EN_MM2_H -#include +#include "global.h" struct EnMm2; +typedef void (*EnMm2ActionFunc)(struct EnMm2* this, GlobalContext* globalCtx); + typedef struct EnMm2 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x170]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ EnMm2ActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x128]; } EnMm2; // size = 0x2B4 extern const ActorInit En_Mm2_InitVars; diff --git a/src/overlays/actors/ovl_En_Mm3/z_en_mm3.c b/src/overlays/actors/ovl_En_Mm3/z_en_mm3.c index dd697146fd..8e2e633cf4 100644 --- a/src/overlays/actors/ovl_En_Mm3/z_en_mm3.c +++ b/src/overlays/actors/ovl_En_Mm3/z_en_mm3.c @@ -22,7 +22,6 @@ const ActorInit En_Mm3_InitVars = { (ActorFunc)EnMm3_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80A703F0 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,53 +29,54 @@ static ColliderCylinderInit D_80A703F0 = { { 18, 63, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_80A7041C = { 0, 0, 0, 0, MASS_IMMOVABLE }; +#endif extern ColliderCylinderInit D_80A703F0; extern CollisionCheckInfoInit2 D_80A7041C; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mm3_0x80A6F0A0/EnMm3_Init.asm") +extern UNK_TYPE D_0600A4E0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mm3_0x80A6F0A0/EnMm3_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mm3/EnMm3_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mm3_0x80A6F0A0/func_80A6F22C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mm3/EnMm3_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mm3_0x80A6F0A0/func_80A6F270.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mm3/func_80A6F22C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mm3_0x80A6F0A0/func_80A6F2C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mm3/func_80A6F270.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mm3_0x80A6F0A0/func_80A6F3B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mm3/func_80A6F2C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mm3_0x80A6F0A0/func_80A6F5E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mm3/func_80A6F3B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mm3_0x80A6F0A0/func_80A6F9C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mm3/func_80A6F5E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mm3_0x80A6F0A0/func_80A6F9DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mm3/func_80A6F9C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mm3_0x80A6F0A0/func_80A6FBA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mm3/func_80A6F9DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mm3_0x80A6F0A0/func_80A6FBFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mm3/func_80A6FBA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mm3_0x80A6F0A0/func_80A6FE1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mm3/func_80A6FBFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mm3_0x80A6F0A0/func_80A6FE30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mm3/func_80A6FE1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mm3_0x80A6F0A0/func_80A6FED8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mm3/func_80A6FE30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mm3_0x80A6F0A0/func_80A6FEEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mm3/func_80A6FED8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mm3_0x80A6F0A0/func_80A6FFAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mm3/func_80A6FEEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mm3_0x80A6F0A0/func_80A70084.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mm3/func_80A6FFAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mm3_0x80A6F0A0/EnMm3_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mm3/func_80A70084.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mm3_0x80A6F0A0/func_80A701E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mm3/EnMm3_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mm3_0x80A6F0A0/func_80A702B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mm3/func_80A701E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mm3_0x80A6F0A0/EnMm3_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mm3/func_80A702B0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mm3/EnMm3_Draw.s") diff --git a/src/overlays/actors/ovl_En_Mm3/z_en_mm3.h b/src/overlays/actors/ovl_En_Mm3/z_en_mm3.h index 457b8f09b5..b58bc783bb 100644 --- a/src/overlays/actors/ovl_En_Mm3/z_en_mm3.h +++ b/src/overlays/actors/ovl_En_Mm3/z_en_mm3.h @@ -1,13 +1,17 @@ #ifndef Z_EN_MM3_H #define Z_EN_MM3_H -#include +#include "global.h" struct EnMm3; +typedef void (*EnMm3ActionFunc)(struct EnMm3* this, GlobalContext* globalCtx); + typedef struct EnMm3 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x174]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x90]; + /* 0x01D4 */ EnMm3ActionFunc actionFunc; + /* 0x01D8 */ char unk_1D8[0xE0]; } EnMm3; // size = 0x2B8 extern const ActorInit En_Mm3_InitVars; diff --git a/src/overlays/actors/ovl_En_Mnk/z_en_mnk.c b/src/overlays/actors/ovl_En_Mnk/z_en_mnk.c index 28be266101..e0b247f547 100644 --- a/src/overlays/actors/ovl_En_Mnk/z_en_mnk.c +++ b/src/overlays/actors/ovl_En_Mnk/z_en_mnk.c @@ -22,7 +22,6 @@ const ActorInit En_Mnk_InitVars = { (ActorFunc)EnMnk_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80AB9D10 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,178 +29,184 @@ static ColliderCylinderInit D_80AB9D10 = { { 15, 30, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80AB9D10; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB4D10.asm") +extern ColliderCylinderInit D_80AB9D10; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB4E34.asm") +extern UNK_TYPE D_06003584; +extern UNK_TYPE D_060082C8; +extern UNK_TYPE D_06008814; +extern UNK_TYPE D_06009CC0; +extern UNK_TYPE D_060105DC; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB4E58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB4D10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB4E88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB4E34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB4F68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB4E58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB4F8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB4E88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB50B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB4F68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB50D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB4F8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB5148.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB50B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB51C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB50D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB52E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB5148.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/EnMnk_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB51C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/EnMnk_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB52E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB5A64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/EnMnk_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB5B38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/EnMnk_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB5B84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB5A64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB5BCC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB5B38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB5C14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB5B84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB5C74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB5BCC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB5CD8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB5C14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB5F6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB5C74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB60FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB5CD8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB61E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB5F6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB6304.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB60FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB63CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB61E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB64B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB6304.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB65F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB63CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB675C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB64B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB6870.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB65F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB6920.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB675C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB69C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB6870.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB6AF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB6920.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB6B78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB69C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB6BE4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB6AF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB6E08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB6B78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB6EB0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB6BE4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB6F98.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB6E08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB7108.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB6EB0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB7204.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB6F98.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB72BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB7108.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB7354.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB7204.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB740C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB72BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB7488.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB7354.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB7504.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB740C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB75A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB7488.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB7620.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB7504.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB76B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB75A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB794C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB7620.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB7AC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB76B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB7B20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB794C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB7DCC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB7AC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB7E50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB7B20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB8040.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB7DCC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB80BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB7E50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB81D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB8040.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB8478.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB80BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB852C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB81D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB85C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB8478.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB8644.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB852C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB86AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB85C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB8750.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB8644.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB8878.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB86AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB8968.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB8750.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB89F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB8878.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB8A74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB8968.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB8B18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB89F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB8BD4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB8A74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB8C60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB8B18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB8CFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB8BD4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB8E4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB8C60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB8EF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB8CFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB8FD8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB8E4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB9084.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB8EF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB92CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB8FD8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB94E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB9084.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/EnMnk_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB92CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB96A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB94E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB96E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/EnMnk_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB9708.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB96A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB973C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB96E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB977C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB9708.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB97B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB973C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB99D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB977C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/EnMnk_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB97B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB9BAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB99D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mnk_0x80AB4D10/func_80AB9C4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/EnMnk_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB9BAC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mnk/func_80AB9C4C.s") diff --git a/src/overlays/actors/ovl_En_Mnk/z_en_mnk.h b/src/overlays/actors/ovl_En_Mnk/z_en_mnk.h index ddb4505978..7672b7a076 100644 --- a/src/overlays/actors/ovl_En_Mnk/z_en_mnk.h +++ b/src/overlays/actors/ovl_En_Mnk/z_en_mnk.h @@ -1,13 +1,16 @@ #ifndef Z_EN_MNK_H #define Z_EN_MNK_H -#include +#include "global.h" struct EnMnk; +typedef void (*EnMnkActionFunc)(struct EnMnk* this, GlobalContext* globalCtx); + typedef struct EnMnk { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x2A8]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x2A4]; + /* 0x03E8 */ EnMnkActionFunc actionFunc; } EnMnk; // size = 0x3EC extern const ActorInit En_Mnk_InitVars; diff --git a/src/overlays/actors/ovl_En_Ms/z_en_ms.c b/src/overlays/actors/ovl_En_Ms/z_en_ms.c index 7fa7a03245..6753b3543d 100644 --- a/src/overlays/actors/ovl_En_Ms/z_en_ms.c +++ b/src/overlays/actors/ovl_En_Ms/z_en_ms.c @@ -22,7 +22,6 @@ const ActorInit En_Ms_InitVars = { (ActorFunc)EnMs_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80952BA0 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_HIT_PLAYER, COLSHAPE_JNTSPH, }, @@ -30,30 +29,31 @@ static ColliderCylinderInit D_80952BA0 = { { 22, 37, 0, { 0, 0, 0 } }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80952BCC[] = { ICHAIN_U8(targetMode, 2, ICHAIN_CONTINUE), ICHAIN_F32(targetArrowOffset, 500, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80952BA0; extern InitChainEntry D_80952BCC[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ms_0x80952620/EnMs_Init.asm") +extern UNK_TYPE D_060005EC; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ms_0x80952620/EnMs_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ms/EnMs_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ms_0x80952620/func_80952734.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ms/EnMs_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ms_0x80952620/func_809527F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ms/func_80952734.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ms_0x80952620/func_809529AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ms/func_809527F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ms_0x80952620/func_80952A1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ms/func_809529AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ms_0x80952620/EnMs_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ms/func_80952A1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ms_0x80952620/EnMs_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ms/EnMs_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ms/EnMs_Draw.s") diff --git a/src/overlays/actors/ovl_En_Ms/z_en_ms.h b/src/overlays/actors/ovl_En_Ms/z_en_ms.h index 71385fdcc7..8a382b4c38 100644 --- a/src/overlays/actors/ovl_En_Ms/z_en_ms.h +++ b/src/overlays/actors/ovl_En_Ms/z_en_ms.h @@ -1,13 +1,17 @@ #ifndef Z_EN_MS_H #define Z_EN_MS_H -#include +#include "global.h" struct EnMs; +typedef void (*EnMsActionFunc)(struct EnMs* this, GlobalContext* globalCtx); + typedef struct EnMs { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x100]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0xB0]; + /* 0x01F4 */ EnMsActionFunc actionFunc; + /* 0x01F8 */ char unk_1F8[0x4C]; } EnMs; // size = 0x244 extern const ActorInit En_Ms_InitVars; diff --git a/src/overlays/actors/ovl_En_Mt_tag/z_en_mt_tag.c b/src/overlays/actors/ovl_En_Mt_tag/z_en_mt_tag.c index 86a338ecc6..0a1497130b 100644 --- a/src/overlays/actors/ovl_En_Mt_tag/z_en_mt_tag.c +++ b/src/overlays/actors/ovl_En_Mt_tag/z_en_mt_tag.c @@ -8,6 +8,14 @@ void EnMttag_Init(Actor* thisx, GlobalContext* globalCtx); void EnMttag_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnMttag_Update(Actor* thisx, GlobalContext* globalCtx); +void func_809CF9A0(EnMttag* this, GlobalContext* globalCtx); +void func_809CFA00(EnMttag* this, GlobalContext* globalCtx); +void func_809CFA54(EnMttag* this, GlobalContext* globalCtx); +void func_809CFC38(EnMttag* this, GlobalContext* globalCtx); +void func_809CFD98(EnMttag* this, GlobalContext* globalCtx); +void func_809CFE28(EnMttag* this, GlobalContext* globalCtx); +void func_809CFF94(EnMttag* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Mt_tag_InitVars = { ACTOR_EN_MT_TAG, @@ -23,40 +31,40 @@ const ActorInit En_Mt_tag_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mt_tag_0x809CF350/func_809CF350.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mt_tag/func_809CF350.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mt_tag_0x809CF350/func_809CF394.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mt_tag/func_809CF394.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mt_tag_0x809CF350/func_809CF444.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mt_tag/func_809CF444.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mt_tag_0x809CF350/func_809CF4EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mt_tag/func_809CF4EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mt_tag_0x809CF350/func_809CF67C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mt_tag/func_809CF67C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mt_tag_0x809CF350/func_809CF848.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mt_tag/func_809CF848.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mt_tag_0x809CF350/func_809CF8EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mt_tag/func_809CF8EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mt_tag_0x809CF350/func_809CF950.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mt_tag/func_809CF950.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mt_tag_0x809CF350/func_809CF9A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mt_tag/func_809CF9A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mt_tag_0x809CF350/func_809CFA00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mt_tag/func_809CFA00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mt_tag_0x809CF350/func_809CFA54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mt_tag/func_809CFA54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mt_tag_0x809CF350/func_809CFBC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mt_tag/func_809CFBC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mt_tag_0x809CF350/func_809CFC38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mt_tag/func_809CFC38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mt_tag_0x809CF350/func_809CFD98.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mt_tag/func_809CFD98.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mt_tag_0x809CF350/func_809CFE28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mt_tag/func_809CFE28.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mt_tag_0x809CF350/func_809CFF94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mt_tag/func_809CFF94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mt_tag_0x809CF350/EnMttag_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mt_tag/EnMttag_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mt_tag_0x809CF350/EnMttag_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mt_tag/EnMttag_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mt_tag_0x809CF350/EnMttag_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mt_tag/EnMttag_Update.s") diff --git a/src/overlays/actors/ovl_En_Mt_tag/z_en_mt_tag.h b/src/overlays/actors/ovl_En_Mt_tag/z_en_mt_tag.h index 3e527cb4b2..deb8971902 100644 --- a/src/overlays/actors/ovl_En_Mt_tag/z_en_mt_tag.h +++ b/src/overlays/actors/ovl_En_Mt_tag/z_en_mt_tag.h @@ -1,13 +1,16 @@ #ifndef Z_EN_MT_TAG_H #define Z_EN_MT_TAG_H -#include +#include "global.h" struct EnMttag; +typedef void (*EnMttagActionFunc)(struct EnMttag* this, GlobalContext* globalCtx); + typedef struct EnMttag { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x24]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ EnMttagActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x20]; } EnMttag; // size = 0x168 extern const ActorInit En_Mt_tag_InitVars; diff --git a/src/overlays/actors/ovl_En_Mushi2/z_en_mushi2.c b/src/overlays/actors/ovl_En_Mushi2/z_en_mushi2.c index f0b901d40d..6c774240cb 100644 --- a/src/overlays/actors/ovl_En_Mushi2/z_en_mushi2.c +++ b/src/overlays/actors/ovl_En_Mushi2/z_en_mushi2.c @@ -9,6 +9,14 @@ void EnMushi2_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnMushi2_Update(Actor* thisx, GlobalContext* globalCtx); void EnMushi2_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80A6A36C(EnMushi2* this, GlobalContext* globalCtx); +void func_80A6A5C0(EnMushi2* this, GlobalContext* globalCtx); +void func_80A6A824(EnMushi2* this, GlobalContext* globalCtx); +void func_80A6A9E4(EnMushi2* this, GlobalContext* globalCtx); +void func_80A6AB08(EnMushi2* this, GlobalContext* globalCtx); +void func_80A6AE7C(EnMushi2* this, GlobalContext* globalCtx); +void func_80A6B0D8(EnMushi2* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Mushi2_InitVars = { ACTOR_EN_MUSHI2, @@ -22,7 +30,6 @@ const ActorInit En_Mushi2_InitVars = { (ActorFunc)EnMushi2_Draw, }; - // static ColliderJntSphElementInit sJntSphElementsInit[1] = { static ColliderJntSphElementInit D_80A6B950[1] = { { @@ -37,7 +44,6 @@ static ColliderJntSphInit D_80A6B974 = { 1, D_80A6B950, // sJntSphElementsInit, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80A6BA04[] = { ICHAIN_VEC3F_DIV1000(scale, 10, ICHAIN_CONTINUE), @@ -46,112 +52,112 @@ static InitChainEntry D_80A6BA04[] = { ICHAIN_F32(uncullZoneDownward, 20, ICHAIN_STOP), }; +#endif extern ColliderJntSphElementInit D_80A6B950[1]; extern ColliderJntSphInit D_80A6B974; extern InitChainEntry D_80A6BA04[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A687A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A687A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A68808.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A68808.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A68860.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A68860.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A68910.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A68910.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A68A78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A68A78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A68B3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A68B3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A68B6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A68B6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A68BA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A68BA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A68BC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A68BC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A68C5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A68C5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A68CE4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A68CE4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A68DD4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A68DD4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A68ED8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A68ED8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A68F24.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A68F24.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A68F9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A68F9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A690C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A690C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A691EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A691EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A69388.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A69388.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A69424.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A69424.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A69468.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A69468.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A6958C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A6958C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A6969C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A6969C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A697C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A697C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A699E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A699E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A69AA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A69AA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A69ADC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A69ADC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A69CE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A69CE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A69D3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A69D3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A69EE4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A69EE4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A69F5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A69F5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A6A024.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A6A024.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A6A058.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A6A058.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A6A094.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A6A094.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A6A0D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A6A0D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/EnMushi2_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/EnMushi2_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/EnMushi2_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/EnMushi2_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A6A300.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A6A300.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A6A36C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A6A36C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A6A508.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A6A508.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A6A5C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A6A5C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A6A794.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A6A794.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A6A824.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A6A824.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A6A984.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A6A984.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A6A9E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A6A9E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A6AAA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A6AAA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A6AB08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A6AB08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A6AE14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A6AE14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A6AE7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A6AE7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A6B078.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A6B078.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/func_80A6B0D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/func_80A6B0D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/EnMushi2_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/EnMushi2_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Mushi2_0x80A687A0/EnMushi2_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Mushi2/EnMushi2_Draw.s") diff --git a/src/overlays/actors/ovl_En_Mushi2/z_en_mushi2.h b/src/overlays/actors/ovl_En_Mushi2/z_en_mushi2.h index c002c0d588..c901df2b5d 100644 --- a/src/overlays/actors/ovl_En_Mushi2/z_en_mushi2.h +++ b/src/overlays/actors/ovl_En_Mushi2/z_en_mushi2.h @@ -1,13 +1,17 @@ #ifndef Z_EN_MUSHI2_H #define Z_EN_MUSHI2_H -#include +#include "global.h" struct EnMushi2; +typedef void (*EnMushi2ActionFunc)(struct EnMushi2* this, GlobalContext* globalCtx); + typedef struct EnMushi2 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x230]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x1C4]; + /* 0x0308 */ EnMushi2ActionFunc actionFunc; + /* 0x030C */ char unk_30C[0x68]; } EnMushi2; // size = 0x374 extern const ActorInit En_Mushi2_InitVars; diff --git a/src/overlays/actors/ovl_En_Muto/z_en_muto.c b/src/overlays/actors/ovl_En_Muto/z_en_muto.c index 80d29f681e..e8e88b6df7 100644 --- a/src/overlays/actors/ovl_En_Muto/z_en_muto.c +++ b/src/overlays/actors/ovl_En_Muto/z_en_muto.c @@ -9,6 +9,9 @@ void EnMuto_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnMuto_Update(Actor* thisx, GlobalContext* globalCtx); void EnMuto_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80BE7DEC(EnMuto* this, GlobalContext* globalCtx); +void func_80BE7FEC(EnMuto* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Muto_InitVars = { ACTOR_EN_MUTO, @@ -22,7 +25,6 @@ const ActorInit En_Muto_InitVars = { (ActorFunc)EnMuto_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80BE841C = { { COLTYPE_NONE, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -30,28 +32,30 @@ static ColliderCylinderInit D_80BE841C = { { 20, 60, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80BE841C; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Muto_0x80BE7B00/EnMuto_Init.asm") +extern ColliderCylinderInit D_80BE841C; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Muto_0x80BE7B00/EnMuto_Destroy.asm") +extern UNK_TYPE D_06000E50; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Muto_0x80BE7B00/func_80BE7C94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Muto/EnMuto_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Muto_0x80BE7B00/func_80BE7D20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Muto/EnMuto_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Muto_0x80BE7B00/func_80BE7DB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Muto/func_80BE7C94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Muto_0x80BE7B00/func_80BE7DEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Muto/func_80BE7D20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Muto_0x80BE7B00/func_80BE7F88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Muto/func_80BE7DB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Muto_0x80BE7B00/func_80BE7FEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Muto/func_80BE7DEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Muto_0x80BE7B00/EnMuto_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Muto/func_80BE7F88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Muto_0x80BE7B00/func_80BE8328.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Muto/func_80BE7FEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Muto_0x80BE7B00/EnMuto_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Muto/EnMuto_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Muto/func_80BE8328.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Muto/EnMuto_Draw.s") diff --git a/src/overlays/actors/ovl_En_Muto/z_en_muto.h b/src/overlays/actors/ovl_En_Muto/z_en_muto.h index 8833d17f4d..aa7a4cb6fd 100644 --- a/src/overlays/actors/ovl_En_Muto/z_en_muto.h +++ b/src/overlays/actors/ovl_En_Muto/z_en_muto.h @@ -1,13 +1,17 @@ #ifndef Z_EN_MUTO_H #define Z_EN_MUTO_H -#include +#include "global.h" struct EnMuto; +typedef void (*EnMutoActionFunc)(struct EnMuto* this, GlobalContext* globalCtx); + typedef struct EnMuto { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x19C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x110]; + /* 0x0254 */ EnMutoActionFunc actionFunc; + /* 0x0258 */ char unk_258[0x88]; } EnMuto; // size = 0x2E0 extern const ActorInit En_Muto_InitVars; diff --git a/src/overlays/actors/ovl_En_Nb/z_en_nb.c b/src/overlays/actors/ovl_En_Nb/z_en_nb.c index 99c21ff4c4..7739453934 100644 --- a/src/overlays/actors/ovl_En_Nb/z_en_nb.c +++ b/src/overlays/actors/ovl_En_Nb/z_en_nb.c @@ -9,6 +9,9 @@ void EnNb_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnNb_Update(Actor* thisx, GlobalContext* globalCtx); void EnNb_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80BC0D84(EnNb* this, GlobalContext* globalCtx); +void func_80BC0EAC(EnNb* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Nb_InitVars = { ACTOR_EN_NB, @@ -22,7 +25,6 @@ const ActorInit En_Nb_InitVars = { (ActorFunc)EnNb_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80BC15F0 = { { COLTYPE_HIT1, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,73 +32,74 @@ static ColliderCylinderInit D_80BC15F0 = { { 10, 68, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_80BC161C = { 0, 0, 0, 0, MASS_IMMOVABLE }; +#endif extern ColliderCylinderInit D_80BC15F0; extern CollisionCheckInfoInit2 D_80BC161C; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nb_0x80BBFDB0/func_80BBFDB0.asm") +extern UNK_TYPE D_06008C40; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nb_0x80BBFDB0/func_80BBFE60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nb/func_80BBFDB0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nb_0x80BBFDB0/func_80BBFE8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nb/func_80BBFE60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nb_0x80BBFDB0/func_80BBFF24.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nb/func_80BBFE8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nb_0x80BBFDB0/func_80BBFF90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nb/func_80BBFF24.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nb_0x80BBFDB0/func_80BBFFD4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nb/func_80BBFF90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nb_0x80BBFDB0/func_80BC0050.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nb/func_80BBFFD4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nb_0x80BBFDB0/func_80BC00AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nb/func_80BC0050.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nb_0x80BBFDB0/func_80BC01DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nb/func_80BC00AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nb_0x80BBFDB0/func_80BC045C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nb/func_80BC01DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nb_0x80BBFDB0/func_80BC04FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nb/func_80BC045C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nb_0x80BBFDB0/func_80BC05A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nb/func_80BC04FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nb_0x80BBFDB0/func_80BC06C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nb/func_80BC05A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nb_0x80BBFDB0/func_80BC0800.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nb/func_80BC06C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nb_0x80BBFDB0/func_80BC08E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nb/func_80BC0800.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nb_0x80BBFDB0/func_80BC0978.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nb/func_80BC08E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nb_0x80BBFDB0/func_80BC0A18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nb/func_80BC0978.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nb_0x80BBFDB0/func_80BC0B98.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nb/func_80BC0A18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nb_0x80BBFDB0/func_80BC0C0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nb/func_80BC0B98.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nb_0x80BBFDB0/func_80BC0C80.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nb/func_80BC0C0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nb_0x80BBFDB0/func_80BC0D08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nb/func_80BC0C80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nb_0x80BBFDB0/func_80BC0D1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nb/func_80BC0D08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nb_0x80BBFDB0/func_80BC0D84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nb/func_80BC0D1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nb_0x80BBFDB0/func_80BC0EAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nb/func_80BC0D84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nb_0x80BBFDB0/EnNb_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nb/func_80BC0EAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nb_0x80BBFDB0/EnNb_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nb/EnNb_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nb_0x80BBFDB0/EnNb_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nb/EnNb_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nb_0x80BBFDB0/func_80BC1174.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nb/EnNb_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nb_0x80BBFDB0/func_80BC11B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nb/func_80BC1174.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nb_0x80BBFDB0/func_80BC1278.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nb/func_80BC11B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nb_0x80BBFDB0/EnNb_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nb/func_80BC1278.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nb/EnNb_Draw.s") diff --git a/src/overlays/actors/ovl_En_Nb/z_en_nb.h b/src/overlays/actors/ovl_En_Nb/z_en_nb.h index 295144fb53..debc6fe744 100644 --- a/src/overlays/actors/ovl_En_Nb/z_en_nb.h +++ b/src/overlays/actors/ovl_En_Nb/z_en_nb.h @@ -1,13 +1,17 @@ #ifndef Z_EN_NB_H #define Z_EN_NB_H -#include +#include "global.h" struct EnNb; +typedef void (*EnNbActionFunc)(struct EnNb* this, GlobalContext* globalCtx); + typedef struct EnNb { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x158]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ EnNbActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x110]; } EnNb; // size = 0x29C extern const ActorInit En_Nb_InitVars; diff --git a/src/overlays/actors/ovl_En_Neo_Reeba/z_en_neo_reeba.c b/src/overlays/actors/ovl_En_Neo_Reeba/z_en_neo_reeba.c index 19364cd9a4..c2548d548e 100644 --- a/src/overlays/actors/ovl_En_Neo_Reeba/z_en_neo_reeba.c +++ b/src/overlays/actors/ovl_En_Neo_Reeba/z_en_neo_reeba.c @@ -22,7 +22,6 @@ const ActorInit En_Neo_Reeba_InitVars = { (ActorFunc)EnNeoReeba_Draw, }; - // static DamageTable sDamageTable = { static DamageTable D_80B7E500 = { /* Deku Nut */ DMG_ENTRY(0, 0x0), @@ -59,7 +58,6 @@ static DamageTable D_80B7E500 = { /* Powder Keg */ DMG_ENTRY(1, 0xF), }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80B7E520 = { { COLTYPE_HIT5, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -67,73 +65,75 @@ static ColliderCylinderInit D_80B7E520 = { { 18, 30, 0, { 0, 0, 0 } }, }; +#endif extern DamageTable D_80B7E500; extern ColliderCylinderInit D_80B7E520; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Neo_Reeba_0x80B7C890/EnNeoReeba_Init.asm") +extern UNK_TYPE D_060001E4; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Neo_Reeba_0x80B7C890/EnNeoReeba_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Neo_Reeba/EnNeoReeba_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Neo_Reeba_0x80B7C890/func_80B7CA34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Neo_Reeba/EnNeoReeba_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Neo_Reeba_0x80B7C890/func_80B7CA70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Neo_Reeba/func_80B7CA34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Neo_Reeba_0x80B7C890/func_80B7CB3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Neo_Reeba/func_80B7CA70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Neo_Reeba_0x80B7C890/func_80B7CB88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Neo_Reeba/func_80B7CB3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Neo_Reeba_0x80B7C890/func_80B7CCE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Neo_Reeba/func_80B7CB88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Neo_Reeba_0x80B7C890/func_80B7CD28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Neo_Reeba/func_80B7CCE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Neo_Reeba_0x80B7C890/func_80B7CE34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Neo_Reeba/func_80B7CD28.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Neo_Reeba_0x80B7C890/func_80B7CE94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Neo_Reeba/func_80B7CE34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Neo_Reeba_0x80B7C890/func_80B7CFA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Neo_Reeba/func_80B7CE94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Neo_Reeba_0x80B7C890/func_80B7CFFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Neo_Reeba/func_80B7CFA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Neo_Reeba_0x80B7C890/func_80B7D130.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Neo_Reeba/func_80B7CFFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Neo_Reeba_0x80B7C890/func_80B7D150.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Neo_Reeba/func_80B7D130.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Neo_Reeba_0x80B7C890/func_80B7D254.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Neo_Reeba/func_80B7D150.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Neo_Reeba_0x80B7C890/func_80B7D2E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Neo_Reeba/func_80B7D254.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Neo_Reeba_0x80B7C890/func_80B7D360.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Neo_Reeba/func_80B7D2E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Neo_Reeba_0x80B7C890/func_80B7D398.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Neo_Reeba/func_80B7D360.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Neo_Reeba_0x80B7C890/func_80B7D3EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Neo_Reeba/func_80B7D398.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Neo_Reeba_0x80B7C890/func_80B7D47C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Neo_Reeba/func_80B7D3EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Neo_Reeba_0x80B7C890/func_80B7D4FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Neo_Reeba/func_80B7D47C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Neo_Reeba_0x80B7C890/func_80B7D5A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Neo_Reeba/func_80B7D4FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Neo_Reeba_0x80B7C890/func_80B7D6D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Neo_Reeba/func_80B7D5A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Neo_Reeba_0x80B7C890/func_80B7D788.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Neo_Reeba/func_80B7D6D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Neo_Reeba_0x80B7C890/func_80B7D9B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Neo_Reeba/func_80B7D788.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Neo_Reeba_0x80B7C890/func_80B7DC80.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Neo_Reeba/func_80B7D9B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Neo_Reeba_0x80B7C890/func_80B7DD7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Neo_Reeba/func_80B7DC80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Neo_Reeba_0x80B7C890/func_80B7DF34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Neo_Reeba/func_80B7DD7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Neo_Reeba_0x80B7C890/func_80B7E0BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Neo_Reeba/func_80B7DF34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Neo_Reeba_0x80B7C890/func_80B7E260.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Neo_Reeba/func_80B7E0BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Neo_Reeba_0x80B7C890/EnNeoReeba_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Neo_Reeba/func_80B7E260.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Neo_Reeba_0x80B7C890/func_80B7E378.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Neo_Reeba/EnNeoReeba_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Neo_Reeba_0x80B7C890/EnNeoReeba_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Neo_Reeba/func_80B7E378.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Neo_Reeba/EnNeoReeba_Draw.s") diff --git a/src/overlays/actors/ovl_En_Neo_Reeba/z_en_neo_reeba.h b/src/overlays/actors/ovl_En_Neo_Reeba/z_en_neo_reeba.h index a7ad8e9329..dec4acf5bb 100644 --- a/src/overlays/actors/ovl_En_Neo_Reeba/z_en_neo_reeba.h +++ b/src/overlays/actors/ovl_En_Neo_Reeba/z_en_neo_reeba.h @@ -1,13 +1,17 @@ #ifndef Z_EN_NEO_REEBA_H #define Z_EN_NEO_REEBA_H -#include +#include "global.h" struct EnNeoReeba; +typedef void (*EnNeoReebaActionFunc)(struct EnNeoReeba* this, GlobalContext* globalCtx); + typedef struct EnNeoReeba { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x1D0]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x168]; + /* 0x02AC */ EnNeoReebaActionFunc actionFunc; + /* 0x02B0 */ char unk_2B0[0x64]; } EnNeoReeba; // size = 0x314 extern const ActorInit En_Neo_Reeba_InitVars; diff --git a/src/overlays/actors/ovl_En_Nimotsu/z_en_nimotsu.c b/src/overlays/actors/ovl_En_Nimotsu/z_en_nimotsu.c index 726290b945..2206589bf1 100644 --- a/src/overlays/actors/ovl_En_Nimotsu/z_en_nimotsu.c +++ b/src/overlays/actors/ovl_En_Nimotsu/z_en_nimotsu.c @@ -22,7 +22,6 @@ const ActorInit En_Nimotsu_InitVars = { (ActorFunc)EnNimotsu_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80BE1FB0 = { { COLTYPE_NONE, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -30,16 +29,18 @@ static ColliderCylinderInit D_80BE1FB0 = { { 10, 30, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80BE1FB0; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nimotsu_0x80BE1C80/func_80BE1C80.asm") +extern ColliderCylinderInit D_80BE1FB0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nimotsu_0x80BE1C80/EnNimotsu_Init.asm") +extern UNK_TYPE D_06013380; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nimotsu_0x80BE1C80/EnNimotsu_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nimotsu/func_80BE1C80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nimotsu_0x80BE1C80/EnNimotsu_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nimotsu/EnNimotsu_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nimotsu_0x80BE1C80/EnNimotsu_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nimotsu/EnNimotsu_Destroy.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nimotsu/EnNimotsu_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nimotsu/EnNimotsu_Draw.s") diff --git a/src/overlays/actors/ovl_En_Nimotsu/z_en_nimotsu.h b/src/overlays/actors/ovl_En_Nimotsu/z_en_nimotsu.h index 42a8cb490d..634697736f 100644 --- a/src/overlays/actors/ovl_En_Nimotsu/z_en_nimotsu.h +++ b/src/overlays/actors/ovl_En_Nimotsu/z_en_nimotsu.h @@ -1,7 +1,7 @@ #ifndef Z_EN_NIMOTSU_H #define Z_EN_NIMOTSU_H -#include +#include "global.h" struct EnNimotsu; diff --git a/src/overlays/actors/ovl_En_Niw/z_en_niw.h b/src/overlays/actors/ovl_En_Niw/z_en_niw.h index 6da6c97e7f..07d958893a 100644 --- a/src/overlays/actors/ovl_En_Niw/z_en_niw.h +++ b/src/overlays/actors/ovl_En_Niw/z_en_niw.h @@ -1,7 +1,7 @@ #ifndef Z_EN_NIW_H #define Z_EN_NIW_H -#include +#include "global.h" struct EnNiw; diff --git a/src/overlays/actors/ovl_En_Nnh/z_en_nnh.h b/src/overlays/actors/ovl_En_Nnh/z_en_nnh.h index 018890de8a..a006f10246 100644 --- a/src/overlays/actors/ovl_En_Nnh/z_en_nnh.h +++ b/src/overlays/actors/ovl_En_Nnh/z_en_nnh.h @@ -1,7 +1,7 @@ #ifndef Z_EN_NNH_H #define Z_EN_NNH_H -#include +#include "global.h" struct EnNnh; diff --git a/src/overlays/actors/ovl_En_Nutsball/z_en_nutsball.c b/src/overlays/actors/ovl_En_Nutsball/z_en_nutsball.c index f59d378b53..1205e0cebb 100644 --- a/src/overlays/actors/ovl_En_Nutsball/z_en_nutsball.c +++ b/src/overlays/actors/ovl_En_Nutsball/z_en_nutsball.c @@ -1,4 +1,5 @@ #include "z_en_nutsball.h" +#include "overlays/effects/ovl_Effect_Ss_Hahen/z_eff_ss_hahen.h" #define FLAGS 0x00000010 diff --git a/src/overlays/actors/ovl_En_Nutsball/z_en_nutsball.h b/src/overlays/actors/ovl_En_Nutsball/z_en_nutsball.h index 44c6c8b44f..a8ae31da2f 100644 --- a/src/overlays/actors/ovl_En_Nutsball/z_en_nutsball.h +++ b/src/overlays/actors/ovl_En_Nutsball/z_en_nutsball.h @@ -1,7 +1,7 @@ #ifndef Z_EN_NUTSBALL_H #define Z_EN_NUTSBALL_H -#include +#include "global.h" struct EnNutsball; diff --git a/src/overlays/actors/ovl_En_Nwc/z_en_nwc.c b/src/overlays/actors/ovl_En_Nwc/z_en_nwc.c index e51ac45d2b..2d6e56e580 100644 --- a/src/overlays/actors/ovl_En_Nwc/z_en_nwc.c +++ b/src/overlays/actors/ovl_En_Nwc/z_en_nwc.c @@ -9,6 +9,14 @@ void EnNwc_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnNwc_Update(Actor* thisx, GlobalContext* globalCtx); void EnNwc_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_809448A4(EnNwc* this, GlobalContext* globalCtx); +void func_809449D0(EnNwc* this, GlobalContext* globalCtx); +void func_80944A50(EnNwc* this, GlobalContext* globalCtx); +void func_80944E44(EnNwc* this, GlobalContext* globalCtx); +void func_80944EFC(EnNwc* this, GlobalContext* globalCtx); +void func_80944FA8(EnNwc* this, GlobalContext* globalCtx); +void func_8094506C(EnNwc* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Nwc_InitVars = { ACTOR_EN_NWC, @@ -24,42 +32,45 @@ const ActorInit En_Nwc_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nwc_0x809441E0/EnNwc_Init.asm") +extern UNK_TYPE D_060000E8; +extern UNK_TYPE D_060002E8; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nwc_0x809441E0/EnNwc_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nwc/EnNwc_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nwc_0x809441E0/func_80944320.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nwc/EnNwc_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nwc_0x809441E0/func_80944554.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nwc/func_80944320.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nwc_0x809441E0/func_80944590.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nwc/func_80944554.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nwc_0x809441E0/func_809445D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nwc/func_80944590.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nwc_0x809441E0/func_80944630.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nwc/func_809445D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nwc_0x809441E0/func_809447A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nwc/func_80944630.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nwc_0x809441E0/func_80944818.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nwc/func_809447A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nwc_0x809441E0/func_809448A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nwc/func_80944818.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nwc_0x809441E0/func_809449D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nwc/func_809448A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nwc_0x809441E0/func_80944A50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nwc/func_809449D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nwc_0x809441E0/func_80944E44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nwc/func_80944A50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nwc_0x809441E0/func_80944EFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nwc/func_80944E44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nwc_0x809441E0/func_80944FA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nwc/func_80944EFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nwc_0x809441E0/func_8094506C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nwc/func_80944FA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nwc_0x809441E0/EnNwc_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nwc/func_8094506C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nwc_0x809441E0/EnNwc_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nwc/EnNwc_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nwc_0x809441E0/func_8094529C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nwc/EnNwc_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Nwc_0x809441E0/func_80945310.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nwc/func_8094529C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Nwc/func_80945310.s") diff --git a/src/overlays/actors/ovl_En_Nwc/z_en_nwc.h b/src/overlays/actors/ovl_En_Nwc/z_en_nwc.h index 3bedcfd56f..54144cdac2 100644 --- a/src/overlays/actors/ovl_En_Nwc/z_en_nwc.h +++ b/src/overlays/actors/ovl_En_Nwc/z_en_nwc.h @@ -1,13 +1,16 @@ #ifndef Z_EN_NWC_H #define Z_EN_NWC_H -#include +#include "global.h" struct EnNwc; +typedef void (*EnNwcActionFunc)(struct EnNwc* this, GlobalContext* globalCtx); + typedef struct EnNwc { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x124]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x120]; + /* 0x0264 */ EnNwcActionFunc actionFunc; } EnNwc; // size = 0x268 extern const ActorInit En_Nwc_InitVars; diff --git a/src/overlays/actors/ovl_En_Okarina_Effect/z_en_okarina_effect.h b/src/overlays/actors/ovl_En_Okarina_Effect/z_en_okarina_effect.h index a0ab510a51..36413efc78 100644 --- a/src/overlays/actors/ovl_En_Okarina_Effect/z_en_okarina_effect.h +++ b/src/overlays/actors/ovl_En_Okarina_Effect/z_en_okarina_effect.h @@ -1,7 +1,7 @@ #ifndef Z_EN_OKARINA_EFFECT_H #define Z_EN_OKARINA_EFFECT_H -#include +#include "global.h" struct EnOkarinaEffect; diff --git a/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.c b/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.c index 51747fedc1..606f723e28 100644 --- a/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.c +++ b/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.c @@ -8,6 +8,9 @@ void EnOkarinaTag_Init(Actor* thisx, GlobalContext* globalCtx); void EnOkarinaTag_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnOkarinaTag_Update(Actor* thisx, GlobalContext* globalCtx); +void func_8093E518(EnOkarinaTag* this, GlobalContext* globalCtx); +void func_8093E68C(EnOkarinaTag* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Okarina_Tag_InitVars = { ACTOR_EN_OKARINA_TAG, @@ -23,12 +26,12 @@ const ActorInit En_Okarina_Tag_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Okarina_Tag_0x8093E420/EnOkarinaTag_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Okarina_Tag/EnOkarinaTag_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Okarina_Tag_0x8093E420/EnOkarinaTag_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Okarina_Tag/EnOkarinaTag_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Okarina_Tag_0x8093E420/func_8093E518.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Okarina_Tag/func_8093E518.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Okarina_Tag_0x8093E420/func_8093E68C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Okarina_Tag/func_8093E68C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Okarina_Tag_0x8093E420/EnOkarinaTag_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Okarina_Tag/EnOkarinaTag_Update.s") diff --git a/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.h b/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.h index c7f4642c4f..405887bd19 100644 --- a/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.h +++ b/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.h @@ -1,13 +1,16 @@ #ifndef Z_EN_OKARINA_TAG_H #define Z_EN_OKARINA_TAG_H -#include +#include "global.h" struct EnOkarinaTag; +typedef void (*EnOkarinaTagActionFunc)(struct EnOkarinaTag* this, GlobalContext* globalCtx); + typedef struct EnOkarinaTag { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x18]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ EnOkarinaTagActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x14]; } EnOkarinaTag; // size = 0x15C extern const ActorInit En_Okarina_Tag_InitVars; diff --git a/src/overlays/actors/ovl_En_Okuta/z_en_okuta.c b/src/overlays/actors/ovl_En_Okuta/z_en_okuta.c index 4475e5ea55..2ccb7c91b5 100644 --- a/src/overlays/actors/ovl_En_Okuta/z_en_okuta.c +++ b/src/overlays/actors/ovl_En_Okuta/z_en_okuta.c @@ -9,6 +9,18 @@ void EnOkuta_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnOkuta_Update(Actor* thisx, GlobalContext* globalCtx); void EnOkuta_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_8086E52C(EnOkuta* this, GlobalContext* globalCtx); +void func_8086E658(EnOkuta* this, GlobalContext* globalCtx); +void func_8086E7E8(EnOkuta* this, GlobalContext* globalCtx); +void func_8086E948(EnOkuta* this, GlobalContext* globalCtx); +void func_8086EC00(EnOkuta* this, GlobalContext* globalCtx); +void func_8086EF14(EnOkuta* this, GlobalContext* globalCtx); +void func_8086EFE8(EnOkuta* this, GlobalContext* globalCtx); +void func_8086F434(EnOkuta* this, GlobalContext* globalCtx); +void func_8086F4B0(EnOkuta* this, GlobalContext* globalCtx); +void func_8086F57C(EnOkuta* this, GlobalContext* globalCtx); +void func_8086F694(EnOkuta* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Okuta_InitVars = { ACTOR_EN_OKUTA, @@ -22,7 +34,6 @@ const ActorInit En_Okuta_InitVars = { (ActorFunc)EnOkuta_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_808708A0 = { { COLTYPE_NONE, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -30,7 +41,6 @@ static ColliderCylinderInit D_808708A0 = { { 13, 20, 0, { 0, 0, 0 } }, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_808708CC = { { COLTYPE_HIT0, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -38,11 +48,9 @@ static ColliderCylinderInit D_808708CC = { { 20, 40, -30, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit D_808708F8 = { 4, 15, 60, 100 }; - // static DamageTable sDamageTable = { static DamageTable D_80870900 = { /* Deku Nut */ DMG_ENTRY(0, 0x0), @@ -79,93 +87,100 @@ static DamageTable D_80870900 = { /* Powder Keg */ DMG_ENTRY(1, 0x0), }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80870920[] = { ICHAIN_S8(hintId, 66, ICHAIN_CONTINUE), ICHAIN_F32(targetArrowOffset, 6500, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_808708A0; extern ColliderCylinderInit D_808708CC; extern CollisionCheckInfoInit D_808708F8; extern DamageTable D_80870900; extern InitChainEntry D_80870920[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Okuta_0x8086DE20/EnOkuta_Init.asm") +extern UNK_TYPE D_0600044C; +extern UNK_TYPE D_06003250; +extern UNK_TYPE D_06003958; +extern UNK_TYPE D_06003B24; +extern UNK_TYPE D_06003EE4; +extern UNK_TYPE D_06004204; +extern UNK_TYPE D_0600466C; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Okuta_0x8086DE20/EnOkuta_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Okuta/EnOkuta_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Okuta_0x8086DE20/func_8086E084.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Okuta/EnOkuta_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Okuta_0x8086DE20/func_8086E0F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Okuta/func_8086E084.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Okuta_0x8086DE20/func_8086E168.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Okuta/func_8086E0F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Okuta_0x8086DE20/func_8086E214.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Okuta/func_8086E168.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Okuta_0x8086DE20/func_8086E27C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Okuta/func_8086E214.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Okuta_0x8086DE20/func_8086E2C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Okuta/func_8086E27C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Okuta_0x8086DE20/func_8086E378.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Okuta/func_8086E2C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Okuta_0x8086DE20/func_8086E3B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Okuta/func_8086E378.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Okuta_0x8086DE20/func_8086E4FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Okuta/func_8086E3B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Okuta_0x8086DE20/func_8086E52C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Okuta/func_8086E4FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Okuta_0x8086DE20/func_8086E5E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Okuta/func_8086E52C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Okuta_0x8086DE20/func_8086E658.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Okuta/func_8086E5E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Okuta_0x8086DE20/func_8086E7A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Okuta/func_8086E658.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Okuta_0x8086DE20/func_8086E7E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Okuta/func_8086E7A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Okuta_0x8086DE20/func_8086E8E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Okuta/func_8086E7E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Okuta_0x8086DE20/func_8086E948.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Okuta/func_8086E8E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Okuta_0x8086DE20/func_8086EAE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Okuta/func_8086E948.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Okuta_0x8086DE20/func_8086EC00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Okuta/func_8086EAE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Okuta_0x8086DE20/func_8086EE8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Okuta/func_8086EC00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Okuta_0x8086DE20/func_8086EF14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Okuta/func_8086EE8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Okuta_0x8086DE20/func_8086EF90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Okuta/func_8086EF14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Okuta_0x8086DE20/func_8086EFE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Okuta/func_8086EF90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Okuta_0x8086DE20/func_8086F2FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Okuta/func_8086EFE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Okuta_0x8086DE20/func_8086F434.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Okuta/func_8086F2FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Okuta_0x8086DE20/func_8086F4B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Okuta/func_8086F434.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Okuta_0x8086DE20/func_8086F4F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Okuta/func_8086F4B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Okuta_0x8086DE20/func_8086F57C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Okuta/func_8086F4F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Okuta_0x8086DE20/func_8086F694.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Okuta/func_8086F57C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Okuta_0x8086DE20/func_8086F8FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Okuta/func_8086F694.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Okuta_0x8086DE20/func_8086FCA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Okuta/func_8086F8FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Okuta_0x8086DE20/EnOkuta_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Okuta/func_8086FCA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Okuta_0x8086DE20/func_808700C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Okuta/EnOkuta_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Okuta_0x8086DE20/func_80870254.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Okuta/func_808700C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Okuta_0x8086DE20/func_808704DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Okuta/func_80870254.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Okuta_0x8086DE20/func_808705C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Okuta/func_808704DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Okuta_0x8086DE20/EnOkuta_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Okuta/func_808705C8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Okuta/EnOkuta_Draw.s") diff --git a/src/overlays/actors/ovl_En_Okuta/z_en_okuta.h b/src/overlays/actors/ovl_En_Okuta/z_en_okuta.h index 31ae2b3a59..fe26fe6e76 100644 --- a/src/overlays/actors/ovl_En_Okuta/z_en_okuta.h +++ b/src/overlays/actors/ovl_En_Okuta/z_en_okuta.h @@ -1,13 +1,17 @@ #ifndef Z_EN_OKUTA_H #define Z_EN_OKUTA_H -#include +#include "global.h" struct EnOkuta; +typedef void (*EnOkutaActionFunc)(struct EnOkuta* this, GlobalContext* globalCtx); + typedef struct EnOkuta { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x1F0]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ EnOkutaActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x1A8]; } EnOkuta; // size = 0x334 extern const ActorInit En_Okuta_InitVars; diff --git a/src/overlays/actors/ovl_En_Onpuman/z_en_onpuman.c b/src/overlays/actors/ovl_En_Onpuman/z_en_onpuman.c index c1406000d3..feddfb17ae 100644 --- a/src/overlays/actors/ovl_En_Onpuman/z_en_onpuman.c +++ b/src/overlays/actors/ovl_En_Onpuman/z_en_onpuman.c @@ -21,7 +21,6 @@ const ActorInit En_Onpuman_InitVars = { (ActorFunc)NULL, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80B12390 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -29,22 +28,22 @@ static ColliderCylinderInit D_80B12390 = { { 30, 40, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80B12390; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Onpuman_0x80B11E60/EnOnpuman_Init.asm") +extern ColliderCylinderInit D_80B12390; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Onpuman_0x80B11E60/EnOnpuman_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Onpuman/EnOnpuman_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Onpuman_0x80B11E60/func_80B11F44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Onpuman/EnOnpuman_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Onpuman_0x80B11E60/func_80B11F78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Onpuman/func_80B11F44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Onpuman_0x80B11E60/func_80B1202C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Onpuman/func_80B11F78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Onpuman_0x80B11E60/func_80B1217C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Onpuman/func_80B1202C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Onpuman_0x80B11E60/func_80B121D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Onpuman/func_80B1217C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Onpuman_0x80B11E60/EnOnpuman_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Onpuman/func_80B121D8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Onpuman/EnOnpuman_Update.s") diff --git a/src/overlays/actors/ovl_En_Onpuman/z_en_onpuman.h b/src/overlays/actors/ovl_En_Onpuman/z_en_onpuman.h index 76d59fd6b9..c05449cdf4 100644 --- a/src/overlays/actors/ovl_En_Onpuman/z_en_onpuman.h +++ b/src/overlays/actors/ovl_En_Onpuman/z_en_onpuman.h @@ -1,13 +1,16 @@ #ifndef Z_EN_ONPUMAN_H #define Z_EN_ONPUMAN_H -#include +#include "global.h" struct EnOnpuman; +typedef void (*EnOnpumanActionFunc)(struct EnOnpuman* this, GlobalContext* globalCtx); + typedef struct EnOnpuman { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x168]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x164]; + /* 0x02A8 */ EnOnpumanActionFunc actionFunc; } EnOnpuman; // size = 0x2AC extern const ActorInit En_Onpuman_InitVars; diff --git a/src/overlays/actors/ovl_En_Osk/z_en_osk.c b/src/overlays/actors/ovl_En_Osk/z_en_osk.c index 4186e4f4dd..3c88c3b0ae 100644 --- a/src/overlays/actors/ovl_En_Osk/z_en_osk.c +++ b/src/overlays/actors/ovl_En_Osk/z_en_osk.c @@ -9,6 +9,11 @@ void EnOsk_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnOsk_Update(Actor* thisx, GlobalContext* globalCtx); void EnOsk_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80BF5F60(EnOsk* this, GlobalContext* globalCtx); +void func_80BF61EC(EnOsk* this, GlobalContext* globalCtx); +void func_80BF656C(EnOsk* this, GlobalContext* globalCtx); +void func_80BF6A20(EnOsk* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Osk_InitVars = { ACTOR_EN_OSK, @@ -24,38 +29,40 @@ const ActorInit En_Osk_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Osk_0x80BF5C20/EnOsk_Init.asm") +extern UNK_TYPE D_06006808; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Osk_0x80BF5C20/EnOsk_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Osk/EnOsk_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Osk_0x80BF5C20/func_80BF5E00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Osk/EnOsk_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Osk_0x80BF5C20/func_80BF5E68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Osk/func_80BF5E00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Osk_0x80BF5C20/func_80BF5EBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Osk/func_80BF5E68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Osk_0x80BF5C20/func_80BF5F60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Osk/func_80BF5EBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Osk_0x80BF5C20/func_80BF5F70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Osk/func_80BF5F60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Osk_0x80BF5C20/func_80BF609C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Osk/func_80BF5F70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Osk_0x80BF5C20/func_80BF61EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Osk/func_80BF609C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Osk_0x80BF5C20/func_80BF6314.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Osk/func_80BF61EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Osk_0x80BF5C20/func_80BF6478.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Osk/func_80BF6314.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Osk_0x80BF5C20/func_80BF656C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Osk/func_80BF6478.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Osk_0x80BF5C20/func_80BF67A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Osk/func_80BF656C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Osk_0x80BF5C20/func_80BF68E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Osk/func_80BF67A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Osk_0x80BF5C20/func_80BF6A20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Osk/func_80BF68E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Osk_0x80BF5C20/EnOsk_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Osk/func_80BF6A20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Osk_0x80BF5C20/func_80BF6C54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Osk/EnOsk_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Osk_0x80BF5C20/EnOsk_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Osk/func_80BF6C54.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Osk/EnOsk_Draw.s") diff --git a/src/overlays/actors/ovl_En_Osk/z_en_osk.h b/src/overlays/actors/ovl_En_Osk/z_en_osk.h index ca7c8f7399..bebb2d3b52 100644 --- a/src/overlays/actors/ovl_En_Osk/z_en_osk.h +++ b/src/overlays/actors/ovl_En_Osk/z_en_osk.h @@ -1,13 +1,16 @@ #ifndef Z_EN_OSK_H #define Z_EN_OSK_H -#include +#include "global.h" struct EnOsk; +typedef void (*EnOskActionFunc)(struct EnOsk* this, GlobalContext* globalCtx); + typedef struct EnOsk { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x120]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x11C]; + /* 0x0260 */ EnOskActionFunc actionFunc; } EnOsk; // size = 0x264 extern const ActorInit En_Osk_InitVars; diff --git a/src/overlays/actors/ovl_En_Osn/z_en_osn.c b/src/overlays/actors/ovl_En_Osn/z_en_osn.c index 640ec7230b..8f301ace12 100644 --- a/src/overlays/actors/ovl_En_Osn/z_en_osn.c +++ b/src/overlays/actors/ovl_En_Osn/z_en_osn.c @@ -22,7 +22,6 @@ const ActorInit En_Osn_InitVars = { (ActorFunc)EnOsn_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80AD2518 = { { COLTYPE_NONE, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,11 +29,9 @@ static ColliderCylinderInit D_80AD2518 = { { 30, 40, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_80AD2544 = { 0, 0, 0, 0, MASS_IMMOVABLE }; - // static DamageTable sDamageTable = { static DamageTable D_80AD2550 = { /* Deku Nut */ DMG_ENTRY(0, 0x0), @@ -71,57 +68,59 @@ static DamageTable D_80AD2550 = { /* Powder Keg */ DMG_ENTRY(0, 0x0), }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80AD2570[] = { ICHAIN_U8(targetMode, 0, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80AD2518; extern CollisionCheckInfoInit2 D_80AD2544; extern DamageTable D_80AD2550; extern InitChainEntry D_80AD2570[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Osn_0x80AD0830/func_80AD0830.asm") +extern UNK_TYPE D_060192A0; +extern UNK_TYPE D_060201BC; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Osn_0x80AD0830/func_80AD08B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Osn/func_80AD0830.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Osn_0x80AD0830/func_80AD0998.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Osn/func_80AD08B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Osn_0x80AD0830/func_80AD0A24.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Osn/func_80AD0998.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Osn_0x80AD0830/func_80AD0AB0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Osn/func_80AD0A24.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Osn_0x80AD0830/func_80AD0B38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Osn/func_80AD0AB0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Osn_0x80AD0830/func_80AD0E10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Osn/func_80AD0B38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Osn_0x80AD0830/func_80AD10FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Osn/func_80AD0E10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Osn_0x80AD0830/func_80AD1398.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Osn/func_80AD10FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Osn_0x80AD0830/func_80AD144C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Osn/func_80AD1398.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Osn_0x80AD0830/func_80AD14C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Osn/func_80AD144C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Osn_0x80AD0830/func_80AD1634.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Osn/func_80AD14C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Osn_0x80AD0830/func_80AD16A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Osn/func_80AD1634.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Osn_0x80AD0830/func_80AD19A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Osn/func_80AD16A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Osn_0x80AD0830/func_80AD1A4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Osn/func_80AD19A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Osn_0x80AD0830/EnOsn_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Osn/func_80AD1A4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Osn_0x80AD0830/EnOsn_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Osn/EnOsn_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Osn_0x80AD0830/EnOsn_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Osn/EnOsn_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Osn_0x80AD0830/func_80AD1DA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Osn/EnOsn_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Osn_0x80AD0830/func_80AD1E28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Osn/func_80AD1DA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Osn_0x80AD0830/EnOsn_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Osn/func_80AD1E28.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Osn/EnOsn_Draw.s") diff --git a/src/overlays/actors/ovl_En_Osn/z_en_osn.h b/src/overlays/actors/ovl_En_Osn/z_en_osn.h index 6952509d93..7f6e6c00c8 100644 --- a/src/overlays/actors/ovl_En_Osn/z_en_osn.h +++ b/src/overlays/actors/ovl_En_Osn/z_en_osn.h @@ -1,13 +1,17 @@ #ifndef Z_EN_OSN_H #define Z_EN_OSN_H -#include +#include "global.h" struct EnOsn; +typedef void (*EnOsnActionFunc)(struct EnOsn* this, GlobalContext* globalCtx); + typedef struct EnOsn { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0xBC]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x90]; + /* 0x01D4 */ EnOsnActionFunc actionFunc; + /* 0x01D8 */ char unk_1D8[0x28]; } EnOsn; // size = 0x200 extern const ActorInit En_Osn_InitVars; diff --git a/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c b/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c index 06549255ee..0599c5a7e5 100644 --- a/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c +++ b/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c @@ -45,13 +45,15 @@ void EnOssan_ResetItemPosition(EnOssan* this); void EnOssan_Blink(EnOssan* this); void EnOssan_GetCutscenes(EnOssan* this, GlobalContext* globalCtx); -extern UNK_TYPE D_0401F740; -extern UNK_TYPE D_0401F8C0; -extern UNK_TYPE D_0401F7C0; -extern FlexSkeletonHeader D_06013320; -extern AnimationHeader D_06012C34; extern FlexSkeletonHeader D_060028A0; +extern TexturePtr D_06005BC0; +extern TexturePtr D_06006498; +extern TexturePtr D_06006B18; +extern TexturePtr D_06006D40; +extern TexturePtr D_06006F18; +extern TexturePtr D_06007140; extern AnimationHeader D_06009D34; +extern AnimationHeader D_0600A460; extern AnimationHeader D_0600CB3C; extern AnimationHeader D_0600DE34; extern AnimationHeader D_0600E3EC; @@ -60,17 +62,11 @@ extern AnimationHeader D_0600F00C; extern AnimationHeader D_0600B9D8; extern AnimationHeader D_0600C26C; extern AnimationHeader D_0600D354; +extern AnimationHeader D_06012C34; extern AnimationHeader D_060131FC; -extern AnimationHeader D_0601430C; +extern FlexSkeletonHeader D_06013320; extern AnimationHeader D_060138B0; -extern AnimationHeader D_0600A460; -extern TexturePtr D_06006498; -extern TexturePtr D_06007140; -extern TexturePtr D_06006D40; -extern TexturePtr D_06005BC0; -extern TexturePtr D_06006F18; -extern TexturePtr D_06006B18; - +extern AnimationHeader D_0601430C; const ActorInit En_Ossan_InitVars = { ACTOR_EN_OSSAN, @@ -966,7 +962,7 @@ void EnOssan_SetupBuy(GlobalContext* globalCtx, EnOssan* this, u16 textId) { void EnOssan_HandleCanBuyItem(GlobalContext* globalCtx, EnOssan* this) { EnGirlA* item = this->items[this->cursorIdx]; - + switch (item->canBuyFunc(globalCtx, item)) { case CANBUY_RESULT_SUCCESS_1: if (this->cutsceneState == ENOSSAN_CUTSCENESTATE_PLAYING) { @@ -1152,7 +1148,7 @@ void EnOssan_PositionSelectedItem(EnOssan* this) { u8 i2; ShopItem* shopItem = &sShops[this->actor.params][i]; Vec3f worldPos; - + item = this->items[i]; i2 = i >> 2; VEC3F_LERPIMPDST(&worldPos, &shopItem->spawnPos, &sSelectedItemPosition[i2], this->shopItemSelectedTween); @@ -1216,8 +1212,8 @@ void EnOssan_UpdateItemSelectedProperty(EnOssan* this) { } void EnOssan_UpdateCursorAnim(EnOssan* this) { - f32 t = this->cursorAnimTween; - + f32 t = this->cursorAnimTween; + if (this->cursorAnimState == 0) { t += 0.05f; if (t >= 1.0f) { @@ -1342,7 +1338,7 @@ void EnOssan_InitPartTimeWorker(EnOssan* this, GlobalContext* globalCtx) { s32 EnOssan_GetWelcomeCuriosityShopMan(EnOssan* this, GlobalContext* globalCtx) { Player* player = PLAYER; u16 ret = func_800F1250(globalCtx, 0x2F); - + if (ret != 0) { this->animationIdx = 4; this->flags |= END_INTERACTION; @@ -1375,7 +1371,7 @@ s32 EnOssan_GetWelcomeCuriosityShopMan(EnOssan* this, GlobalContext* globalCtx) s32 EnOssan_GetWelcomePartTimeWorker(EnOssan* this, GlobalContext* globalCtx) { Player* player = PLAYER; u16 ret = func_800F1250(globalCtx, 0x36); - + if (ret != 0) { this->flags |= END_INTERACTION; return ret; diff --git a/src/overlays/actors/ovl_En_Ossan/z_en_ossan.h b/src/overlays/actors/ovl_En_Ossan/z_en_ossan.h index 693c7d2ca2..3893e63f06 100644 --- a/src/overlays/actors/ovl_En_Ossan/z_en_ossan.h +++ b/src/overlays/actors/ovl_En_Ossan/z_en_ossan.h @@ -1,7 +1,7 @@ #ifndef Z_EN_OSSAN_H #define Z_EN_OSSAN_H -#include +#include "global.h" #include "overlays/actors/ovl_En_GirlA/z_en_girla.h" diff --git a/src/overlays/actors/ovl_En_Ot/z_en_ot.c b/src/overlays/actors/ovl_En_Ot/z_en_ot.c index 158d983a88..1744e5ddf8 100644 --- a/src/overlays/actors/ovl_En_Ot/z_en_ot.c +++ b/src/overlays/actors/ovl_En_Ot/z_en_ot.c @@ -9,6 +9,25 @@ void EnOt_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnOt_Update(Actor* thisx, GlobalContext* globalCtx); void EnOt_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80B5BE04(EnOt* this, GlobalContext* globalCtx); +void func_80B5BED4(EnOt* this, GlobalContext* globalCtx); +void func_80B5BFB8(EnOt* this, GlobalContext* globalCtx); +void func_80B5C1CC(EnOt* this, GlobalContext* globalCtx); +void func_80B5C25C(EnOt* this, GlobalContext* globalCtx); +void func_80B5C3D8(EnOt* this, GlobalContext* globalCtx); +void func_80B5C64C(EnOt* this, GlobalContext* globalCtx); +void func_80B5C6DC(EnOt* this, GlobalContext* globalCtx); +void func_80B5C950(EnOt* this, GlobalContext* globalCtx); +void func_80B5C9C0(EnOt* this, GlobalContext* globalCtx); +void func_80B5CA30(EnOt* this, GlobalContext* globalCtx); +void func_80B5CB0C(EnOt* this, GlobalContext* globalCtx); +void func_80B5CBEC(EnOt* this, GlobalContext* globalCtx); +void func_80B5CCA0(EnOt* this, GlobalContext* globalCtx); +void func_80B5CD40(EnOt* this, GlobalContext* globalCtx); +void func_80B5CEC8(EnOt* this, GlobalContext* globalCtx); +void func_80B5D160(EnOt* this, GlobalContext* globalCtx); +void func_80B5D750(EnOt* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Ot_InitVars = { ACTOR_EN_OT, @@ -22,7 +41,6 @@ const ActorInit En_Ot_InitVars = { (ActorFunc)EnOt_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80B5E3A0 = { { COLTYPE_HIT0, AT_NONE, AC_ON | AC_TYPE_PLAYER | AC_TYPE_ENEMY, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,7 +48,6 @@ static ColliderCylinderInit D_80B5E3A0 = { { 5, 33, -20, { 0, 0, 0 } }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80B5E3FC[] = { ICHAIN_F32(uncullZoneScale, 80, ICHAIN_CONTINUE), @@ -38,109 +55,114 @@ static InitChainEntry D_80B5E3FC[] = { ICHAIN_F32(uncullZoneForward, 4000, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80B5E3A0; extern InitChainEntry D_80B5E3FC[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5B2E0.asm") +extern UNK_TYPE D_06000078; +extern UNK_TYPE D_060004A0; +extern UNK_TYPE D_060005F8; +extern UNK_TYPE D_060008D8; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/EnOt_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5B2E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/EnOt_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/EnOt_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5BAAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/EnOt_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5BB38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5BAAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5BDA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5BB38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5BE04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5BDA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5BE88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5BE04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5BED4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5BE88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5BF60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5BED4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5BFB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5BF60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5C154.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5BFB8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5C1CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5C154.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5C244.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5C1CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5C25C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5C244.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5C3B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5C25C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5C3D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5C3B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5C634.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5C3D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5C64C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5C634.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5C684.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5C64C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5C6DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5C684.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5C910.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5C6DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5C950.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5C910.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5C9A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5C950.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5C9C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5C9A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5C9D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5C9C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5CA30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5C9D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5CAD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5CA30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5CB0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5CAD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5CBA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5CB0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5CBEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5CBA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5CC88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5CBEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5CCA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5CC88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5CCF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5CCA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5CD40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5CCF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5CE6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5CD40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5CEC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5CE6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5D114.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5CEC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5D160.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5D114.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5D37C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5D160.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5D470.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5D37C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5D648.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5D470.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5D750.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5D648.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/EnOt_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5D750.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5DAEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/EnOt_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5DB6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5DAEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/EnOt_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5DB6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5DECC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/EnOt_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5DF58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5DECC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5E078.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5DF58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ot_0x80B5B2E0/func_80B5E1D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5E078.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ot/func_80B5E1D8.s") diff --git a/src/overlays/actors/ovl_En_Ot/z_en_ot.h b/src/overlays/actors/ovl_En_Ot/z_en_ot.h index e86379303a..7d38d6ab43 100644 --- a/src/overlays/actors/ovl_En_Ot/z_en_ot.h +++ b/src/overlays/actors/ovl_En_Ot/z_en_ot.h @@ -1,13 +1,16 @@ #ifndef Z_EN_OT_H #define Z_EN_OT_H -#include +#include "global.h" struct EnOt; +typedef void (*EnOtActionFunc)(struct EnOt* this, GlobalContext* globalCtx); + typedef struct EnOt { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x614]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ EnOtActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x610]; } EnOt; // size = 0x758 extern const ActorInit En_Ot_InitVars; diff --git a/src/overlays/actors/ovl_En_Owl/z_en_owl.c b/src/overlays/actors/ovl_En_Owl/z_en_owl.c index 21cd333be7..19872cc690 100644 --- a/src/overlays/actors/ovl_En_Owl/z_en_owl.c +++ b/src/overlays/actors/ovl_En_Owl/z_en_owl.c @@ -9,6 +9,24 @@ void EnOwl_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnOwl_Update(Actor* thisx, GlobalContext* globalCtx); void EnOwl_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_8095AB1C(EnOwl* this, GlobalContext* globalCtx); +void func_8095ABF0(EnOwl* this, GlobalContext* globalCtx); +void func_8095AD54(EnOwl* this, GlobalContext* globalCtx); +void func_8095AE00(EnOwl* this, GlobalContext* globalCtx); +void func_8095AE60(EnOwl* this, GlobalContext* globalCtx); +void func_8095AEC0(EnOwl* this, GlobalContext* globalCtx); +void func_8095AF2C(EnOwl* this, GlobalContext* globalCtx); +void func_8095AFEC(EnOwl* this, GlobalContext* globalCtx); +void func_8095B254(EnOwl* this, GlobalContext* globalCtx); +void func_8095B2F8(EnOwl* this, GlobalContext* globalCtx); +void func_8095B650(EnOwl* this, GlobalContext* globalCtx); +void func_8095B6C8(EnOwl* this, GlobalContext* globalCtx); +void func_8095B76C(EnOwl* this, GlobalContext* globalCtx); +void func_8095B960(EnOwl* this, GlobalContext* globalCtx); +void func_8095BA84(EnOwl* this, GlobalContext* globalCtx); +void func_8095BE0C(EnOwl* this, GlobalContext* globalCtx); +void func_8095BF20(EnOwl* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Owl_InitVars = { ACTOR_EN_OWL, @@ -22,7 +40,6 @@ const ActorInit En_Owl_InitVars = { (ActorFunc)EnOwl_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_8095D2F0 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_ENEMY, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,7 +47,6 @@ static ColliderCylinderInit D_8095D2F0 = { { 30, 40, 0, { 0, 0, 0 } }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_8095D31C[] = { ICHAIN_VEC3F_DIV1000(scale, 25, ICHAIN_CONTINUE), @@ -39,115 +55,122 @@ static InitChainEntry D_8095D31C[] = { ICHAIN_F32(uncullZoneDownward, 2400, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_8095D2F0; extern InitChainEntry D_8095D31C[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095A510.asm") +extern UNK_TYPE D_06001168; +extern UNK_TYPE D_06001200; +extern UNK_TYPE D_06001ADC; +extern UNK_TYPE D_0600C6D4; +extern UNK_TYPE D_0600CB94; +extern UNK_TYPE D_0600CDB0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/EnOwl_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095A510.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/EnOwl_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/EnOwl_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095A920.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/EnOwl_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095A978.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095A920.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095A9FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095A978.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095AA70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095A9FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095AAD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095AA70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095AB1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095AAD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095AB4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095AB1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095ABA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095AB4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095ABF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095ABA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095AC50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095ABF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095ACEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095AC50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095AD54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095ACEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095AE00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095AD54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095AE60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095AE00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095AEC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095AE60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095AF2C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095AEC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095AFEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095AF2C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095B06C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095AFEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095B0C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095B06C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095B158.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095B0C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095B1E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095B158.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095B254.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095B1E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095B2F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095B254.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095B3DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095B2F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095B480.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095B3DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095B574.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095B480.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095B650.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095B574.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095B6C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095B650.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095B76C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095B6C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095B960.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095B76C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095B9FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095B960.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095BA84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095B9FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095BE0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095BA84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095BF20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095BE0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095BF58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095BF20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095BF78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095BF58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095C09C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095BF78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095C1C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095C09C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095C258.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095C1C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095C328.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095C258.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095C408.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095C328.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095C484.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095C408.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095C510.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095C484.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095C568.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095C510.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/EnOwl_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095C568.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095CCF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/EnOwl_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095CE18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095CCF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095CF44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095CE18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/EnOwl_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095CF44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095D074.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/EnOwl_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Owl_0x8095A510/func_8095D24C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095D074.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Owl/func_8095D24C.s") diff --git a/src/overlays/actors/ovl_En_Owl/z_en_owl.h b/src/overlays/actors/ovl_En_Owl/z_en_owl.h index 82d6542e6e..5a8797762f 100644 --- a/src/overlays/actors/ovl_En_Owl/z_en_owl.h +++ b/src/overlays/actors/ovl_En_Owl/z_en_owl.h @@ -1,13 +1,17 @@ #ifndef Z_EN_OWL_H #define Z_EN_OWL_H -#include +#include "global.h" struct EnOwl; +typedef void (*EnOwlActionFunc)(struct EnOwl* this, GlobalContext* globalCtx); + typedef struct EnOwl { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x2D4]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x2CC]; + /* 0x0410 */ EnOwlActionFunc actionFunc; + /* 0x0414 */ char unk_414[0x4]; } EnOwl; // size = 0x418 extern const ActorInit En_Owl_InitVars; diff --git a/src/overlays/actors/ovl_En_Pamera/z_en_pamera.h b/src/overlays/actors/ovl_En_Pamera/z_en_pamera.h index 0dc48a06c2..4ad65de5e7 100644 --- a/src/overlays/actors/ovl_En_Pamera/z_en_pamera.h +++ b/src/overlays/actors/ovl_En_Pamera/z_en_pamera.h @@ -1,7 +1,7 @@ #ifndef Z_EN_PAMERA_H #define Z_EN_PAMERA_H -#include +#include "global.h" struct EnPamera; diff --git a/src/overlays/actors/ovl_En_Pametfrog/z_en_pametfrog.c b/src/overlays/actors/ovl_En_Pametfrog/z_en_pametfrog.c index a8b47e2718..816e726a02 100644 --- a/src/overlays/actors/ovl_En_Pametfrog/z_en_pametfrog.c +++ b/src/overlays/actors/ovl_En_Pametfrog/z_en_pametfrog.c @@ -6,6 +6,7 @@ #include "z_en_pametfrog.h" #include "overlays/actors/ovl_En_Bigpamet/z_en_bigpamet.h" +#include "overlays/effects/ovl_Effect_Ss_Hahen/z_eff_ss_hahen.h" #define FLAGS 0x00000035 diff --git a/src/overlays/actors/ovl_En_Pametfrog/z_en_pametfrog.h b/src/overlays/actors/ovl_En_Pametfrog/z_en_pametfrog.h index 0bad69ebc9..58b8dcf4b1 100644 --- a/src/overlays/actors/ovl_En_Pametfrog/z_en_pametfrog.h +++ b/src/overlays/actors/ovl_En_Pametfrog/z_en_pametfrog.h @@ -1,7 +1,7 @@ #ifndef Z_EN_PAMETFROG_H #define Z_EN_PAMETFROG_H -#include +#include "global.h" struct EnPametfrog; diff --git a/src/overlays/actors/ovl_En_Paper/z_en_paper.c b/src/overlays/actors/ovl_En_Paper/z_en_paper.c index 7da67c8b72..037541cf43 100644 --- a/src/overlays/actors/ovl_En_Paper/z_en_paper.c +++ b/src/overlays/actors/ovl_En_Paper/z_en_paper.c @@ -9,6 +9,9 @@ void EnPaper_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnPaper_Update(Actor* thisx, GlobalContext* globalCtx); void EnPaper_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80C1F480(EnPaper* this, GlobalContext* globalCtx); +void func_80C1F4FC(EnPaper* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Paper_InitVars = { ACTOR_EN_PAPER, @@ -24,24 +27,26 @@ const ActorInit En_Paper_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Paper_0x80C1F3D0/EnPaper_Init.asm") +extern UNK_TYPE D_0600D5A0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Paper_0x80C1F3D0/EnPaper_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Paper/EnPaper_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Paper_0x80C1F3D0/func_80C1F46C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Paper/EnPaper_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Paper_0x80C1F3D0/func_80C1F480.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Paper/func_80C1F46C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Paper_0x80C1F3D0/func_80C1F4E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Paper/func_80C1F480.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Paper_0x80C1F3D0/func_80C1F4FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Paper/func_80C1F4E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Paper_0x80C1F3D0/func_80C1F55C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Paper/func_80C1F4FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Paper_0x80C1F3D0/func_80C1F6E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Paper/func_80C1F55C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Paper_0x80C1F3D0/func_80C1F87C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Paper/func_80C1F6E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Paper_0x80C1F3D0/EnPaper_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Paper/func_80C1F87C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Paper_0x80C1F3D0/EnPaper_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Paper/EnPaper_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Paper/EnPaper_Draw.s") diff --git a/src/overlays/actors/ovl_En_Paper/z_en_paper.h b/src/overlays/actors/ovl_En_Paper/z_en_paper.h index 5ed8426d7f..6559af763f 100644 --- a/src/overlays/actors/ovl_En_Paper/z_en_paper.h +++ b/src/overlays/actors/ovl_En_Paper/z_en_paper.h @@ -1,13 +1,16 @@ #ifndef Z_EN_PAPER_H #define Z_EN_PAPER_H -#include +#include "global.h" struct EnPaper; +typedef void (*EnPaperActionFunc)(struct EnPaper* this, GlobalContext* globalCtx); + typedef struct EnPaper { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0xC44]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ EnPaperActionFunc actionFunc; + /* 0x0148 */ char unk_144[0xC40]; } EnPaper; // size = 0xD88 extern const ActorInit En_Paper_InitVars; diff --git a/src/overlays/actors/ovl_En_Part/z_en_part.c b/src/overlays/actors/ovl_En_Part/z_en_part.c index bfef26f30b..e574ee53a1 100644 --- a/src/overlays/actors/ovl_En_Part/z_en_part.c +++ b/src/overlays/actors/ovl_En_Part/z_en_part.c @@ -24,14 +24,14 @@ const ActorInit En_Part_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Part_0x80865370/EnPart_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Part/EnPart_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Part_0x80865370/EnPart_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Part/EnPart_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Part_0x80865370/func_80865390.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Part/func_80865390.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Part_0x80865370/func_808654C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Part/func_808654C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Part_0x80865370/EnPart_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Part/EnPart_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Part_0x80865370/EnPart_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Part/EnPart_Draw.s") diff --git a/src/overlays/actors/ovl_En_Part/z_en_part.h b/src/overlays/actors/ovl_En_Part/z_en_part.h index affe2ad5c8..be5c5b503a 100644 --- a/src/overlays/actors/ovl_En_Part/z_en_part.h +++ b/src/overlays/actors/ovl_En_Part/z_en_part.h @@ -1,7 +1,7 @@ #ifndef Z_EN_PART_H #define Z_EN_PART_H -#include +#include "global.h" struct EnPart; diff --git a/src/overlays/actors/ovl_En_Peehat/z_en_peehat.c b/src/overlays/actors/ovl_En_Peehat/z_en_peehat.c index 5452215de3..f56e49f051 100644 --- a/src/overlays/actors/ovl_En_Peehat/z_en_peehat.c +++ b/src/overlays/actors/ovl_En_Peehat/z_en_peehat.c @@ -22,7 +22,6 @@ const ActorInit En_Peehat_InitVars = { (ActorFunc)EnPeehat_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80899430 = { { COLTYPE_WOOD, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,7 +29,6 @@ static ColliderCylinderInit D_80899430 = { { 50, 120, -20, { 0, 0, 0 } }, }; - // static ColliderSphereInit sSphereInit = { static ColliderSphereInit D_8089945C = { { COLTYPE_HIT6, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_SPHERE, }, @@ -38,7 +36,6 @@ static ColliderSphereInit D_8089945C = { { 0, { { 0, 0, 0 }, 40 }, 100 }, }; - // static ColliderTrisElementInit sTrisElementsInit[2] = { static ColliderTrisElementInit D_80899488[2] = { { @@ -57,7 +54,6 @@ static ColliderTrisInit D_80899500 = { 2, D_80899488, // sTrisElementsInit, }; - // static DamageTable sDamageTable = { static DamageTable D_80899510 = { /* Deku Nut */ DMG_ENTRY(0, 0x0), @@ -94,15 +90,12 @@ static DamageTable D_80899510 = { /* Powder Keg */ DMG_ENTRY(1, 0x0), }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_80899530 = { 15, 50, 120, -20, MASS_HEAVY }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_8089953C = { 1, 20, 15, -5, 30 }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80899548[] = { ICHAIN_F32(uncullZoneForward, 4200, ICHAIN_CONTINUE), @@ -111,6 +104,7 @@ static InitChainEntry D_80899548[] = { ICHAIN_F32(targetArrowOffset, 700, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80899430; extern ColliderSphereInit D_8089945C; @@ -120,70 +114,74 @@ extern DamageTable D_80899510; extern CollisionCheckInfoInit2 D_80899530; extern CollisionCheckInfoInit2 D_8089953C; extern InitChainEntry D_80899548[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Peehat_0x80896F30/EnPeehat_Init.asm") +extern UNK_TYPE D_06000350; +extern UNK_TYPE D_060005C4; +extern UNK_TYPE D_06000844; +extern UNK_TYPE D_060009C4; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Peehat_0x80896F30/EnPeehat_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Peehat/EnPeehat_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Peehat_0x80896F30/func_80897170.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Peehat/EnPeehat_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Peehat_0x80896F30/func_808971DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Peehat/func_80897170.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Peehat_0x80896F30/func_80897258.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Peehat/func_808971DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Peehat_0x80896F30/func_80897390.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Peehat/func_80897258.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Peehat_0x80896F30/func_80897498.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Peehat/func_80897390.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Peehat_0x80896F30/func_80897520.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Peehat/func_80897498.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Peehat_0x80896F30/func_80897648.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Peehat/func_80897520.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Peehat_0x80896F30/func_808976DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Peehat/func_80897648.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Peehat_0x80896F30/func_80897864.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Peehat/func_808976DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Peehat_0x80896F30/func_80897910.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Peehat/func_80897864.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Peehat_0x80896F30/func_80897A34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Peehat/func_80897910.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Peehat_0x80896F30/func_80897A94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Peehat/func_80897A34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Peehat_0x80896F30/func_80897D00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Peehat/func_80897A94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Peehat_0x80896F30/func_80897D48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Peehat/func_80897D00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Peehat_0x80896F30/func_80897EAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Peehat/func_80897D48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Peehat_0x80896F30/func_80897F44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Peehat/func_80897EAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Peehat_0x80896F30/func_80898124.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Peehat/func_80897F44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Peehat_0x80896F30/func_80898144.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Peehat/func_80898124.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Peehat_0x80896F30/func_808982E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Peehat/func_80898144.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Peehat_0x80896F30/func_80898338.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Peehat/func_808982E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Peehat_0x80896F30/func_80898414.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Peehat/func_80898338.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Peehat_0x80896F30/func_80898454.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Peehat/func_80898414.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Peehat_0x80896F30/func_808984E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Peehat/func_80898454.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Peehat_0x80896F30/func_80898594.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Peehat/func_808984E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Peehat_0x80896F30/func_80898654.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Peehat/func_80898594.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Peehat_0x80896F30/func_808986A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Peehat/func_80898654.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Peehat_0x80896F30/func_8089874C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Peehat/func_808986A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Peehat_0x80896F30/EnPeehat_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Peehat/func_8089874C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Peehat_0x80896F30/func_80898E74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Peehat/EnPeehat_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Peehat_0x80896F30/func_80899024.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Peehat/func_80898E74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Peehat_0x80896F30/EnPeehat_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Peehat/func_80899024.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Peehat/EnPeehat_Draw.s") diff --git a/src/overlays/actors/ovl_En_Peehat/z_en_peehat.h b/src/overlays/actors/ovl_En_Peehat/z_en_peehat.h index 48c242abf7..9fee48741c 100644 --- a/src/overlays/actors/ovl_En_Peehat/z_en_peehat.h +++ b/src/overlays/actors/ovl_En_Peehat/z_en_peehat.h @@ -1,13 +1,17 @@ #ifndef Z_EN_PEEHAT_H #define Z_EN_PEEHAT_H -#include +#include "global.h" struct EnPeehat; +typedef void (*EnPeehatActionFunc)(struct EnPeehat* this, GlobalContext* globalCtx); + typedef struct EnPeehat { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x3FC]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x164]; + /* 0x02A8 */ EnPeehatActionFunc actionFunc; + /* 0x02AC */ char unk_2AC[0x294]; } EnPeehat; // size = 0x540 extern const ActorInit En_Peehat_InitVars; diff --git a/src/overlays/actors/ovl_En_Pm/z_en_pm.c b/src/overlays/actors/ovl_En_Pm/z_en_pm.c index cbae6b7c6f..62620a035a 100644 --- a/src/overlays/actors/ovl_En_Pm/z_en_pm.c +++ b/src/overlays/actors/ovl_En_Pm/z_en_pm.c @@ -9,6 +9,9 @@ void EnPm_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnPm_Update(Actor* thisx, GlobalContext* globalCtx); void EnPm_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80AFA4D0(EnPm* this, GlobalContext* globalCtx); +void func_80AFA5FC(EnPm* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Pm_InitVars = { ACTOR_EN_PM, @@ -22,7 +25,6 @@ const ActorInit En_Pm_InitVars = { (ActorFunc)EnPm_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80AFB790 = { { COLTYPE_HIT1, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,7 +32,6 @@ static ColliderCylinderInit D_80AFB790 = { { 14, 62, 0, { 0, 0, 0 } }, }; - // static ColliderSphereInit sSphereInit = { static ColliderSphereInit D_80AFB7BC = { { COLTYPE_NONE, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_SPHERE, }, @@ -38,112 +39,114 @@ static ColliderSphereInit D_80AFB7BC = { { 0, { { 0, 0, 0 }, 26 }, 100 }, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_80AFB7E8 = { 0, 0, 0, 0, MASS_IMMOVABLE }; +#endif extern ColliderCylinderInit D_80AFB790; extern ColliderSphereInit D_80AFB7BC; extern CollisionCheckInfoInit2 D_80AFB7E8; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AF7B40.asm") +extern UNK_TYPE D_06008348; +extern UNK_TYPE D_060096E8; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AF7BAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AF7B40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AF7CB0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AF7BAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AF7D60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AF7CB0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AF7DC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AF7D60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AF7E6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AF7DC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AF7E98.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AF7E6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AF7F68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AF7E98.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AF8040.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AF7F68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AF80F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AF8040.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AF8170.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AF80F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AF81E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AF8170.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AF8348.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AF81E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AF8478.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AF8348.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AF8540.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AF8478.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AF86F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AF8540.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AF87C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AF86F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AF8890.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AF87C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AF898C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AF8890.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AF8AC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AF898C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AF8BA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AF8AC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AF8C68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AF8BA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AF8D84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AF8C68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AF8DD4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AF8D84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AF8ED4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AF8DD4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AF9008.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AF8ED4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AF91E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AF9008.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AF94AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AF91E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AF95E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AF94AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AF98A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AF95E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AF992C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AF98A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AF9A0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AF992C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AF9AB0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AF9A0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AF9B54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AF9AB0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AF9BF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AF9B54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AF9D04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AF9BF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AF9E7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AF9D04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AFA170.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AF9E7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AFA334.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AFA170.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AFA438.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AFA334.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AFA4D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AFA438.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AFA5FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AFA4D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AFA724.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AFA5FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/EnPm_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AFA724.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/EnPm_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/EnPm_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/EnPm_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/EnPm_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AFAA04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/EnPm_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AFAA44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AFAA04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/func_80AFABAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AFAA44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pm_0x80AF7B40/EnPm_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/func_80AFABAC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pm/EnPm_Draw.s") diff --git a/src/overlays/actors/ovl_En_Pm/z_en_pm.h b/src/overlays/actors/ovl_En_Pm/z_en_pm.h index 25febec89c..6c5efe3337 100644 --- a/src/overlays/actors/ovl_En_Pm/z_en_pm.h +++ b/src/overlays/actors/ovl_En_Pm/z_en_pm.h @@ -1,13 +1,17 @@ #ifndef Z_EN_PM_H #define Z_EN_PM_H -#include +#include "global.h" struct EnPm; +typedef void (*EnPmActionFunc)(struct EnPm* this, GlobalContext* globalCtx); + typedef struct EnPm { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x25C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ EnPmActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x214]; } EnPm; // size = 0x3A0 extern const ActorInit En_Pm_InitVars; diff --git a/src/overlays/actors/ovl_En_Po_Composer/z_en_po_composer.c b/src/overlays/actors/ovl_En_Po_Composer/z_en_po_composer.c index 7890364f4f..9c27418081 100644 --- a/src/overlays/actors/ovl_En_Po_Composer/z_en_po_composer.c +++ b/src/overlays/actors/ovl_En_Po_Composer/z_en_po_composer.c @@ -9,6 +9,18 @@ void EnPoComposer_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnPoComposer_Update(Actor* thisx, GlobalContext* globalCtx); void EnPoComposer_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80BC5294(EnPoComposer* this, GlobalContext* globalCtx); +void func_80BC52F0(EnPoComposer* this, GlobalContext* globalCtx); +void func_80BC53A0(EnPoComposer* this, GlobalContext* globalCtx); +void func_80BC5404(EnPoComposer* this, GlobalContext* globalCtx); +void func_80BC5570(EnPoComposer* this, GlobalContext* globalCtx); +void func_80BC55E0(EnPoComposer* this, GlobalContext* globalCtx); +void func_80BC5670(EnPoComposer* this, GlobalContext* globalCtx); +void func_80BC56D0(EnPoComposer* this, GlobalContext* globalCtx); +void func_80BC5780(EnPoComposer* this, GlobalContext* globalCtx); +void func_80BC5830(EnPoComposer* this, GlobalContext* globalCtx); +void func_80BC58E0(EnPoComposer* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Po_Composer_InitVars = { ACTOR_EN_PO_COMPOSER, @@ -22,7 +34,6 @@ const ActorInit En_Po_Composer_InitVars = { (ActorFunc)EnPoComposer_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80BC6780 = { { COLTYPE_HIT3, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,7 +41,6 @@ static ColliderCylinderInit D_80BC6780 = { { 20, 40, 20, { 0, 0, 0 } }, }; - // static ColliderJntSphElementInit sJntSphElementsInit[1] = { static ColliderJntSphElementInit D_80BC67AC[1] = { { @@ -45,11 +55,9 @@ static ColliderJntSphInit D_80BC67D0 = { 1, D_80BC67AC, // sJntSphElementsInit, }; - // sColChkInfoInit static CollisionCheckInfoInit D_80BC67E0 = { 4, 25, 50, 40 }; - // static DamageTable sDamageTable = { static DamageTable D_80BC67E8 = { /* Deku Nut */ DMG_ENTRY(0, 0x0), @@ -86,12 +94,12 @@ static DamageTable D_80BC67E8 = { /* Powder Keg */ DMG_ENTRY(0, 0x0), }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80BC6958[] = { ICHAIN_F32(targetArrowOffset, 3200, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80BC6780; extern ColliderJntSphElementInit D_80BC67AC[1]; @@ -99,72 +107,75 @@ extern ColliderJntSphInit D_80BC67D0; extern CollisionCheckInfoInit D_80BC67E0; extern DamageTable D_80BC67E8; extern InitChainEntry D_80BC6958[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Composer_0x80BC4F30/EnPoComposer_Init.asm") +extern UNK_TYPE D_0600188C; +extern UNK_TYPE D_06006E08; +extern UNK_TYPE D_06006FD8; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Composer_0x80BC4F30/EnPoComposer_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Composer/EnPoComposer_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Composer_0x80BC4F30/func_80BC5250.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Composer/EnPoComposer_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Composer_0x80BC4F30/func_80BC5294.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Composer/func_80BC5250.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Composer_0x80BC4F30/func_80BC52D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Composer/func_80BC5294.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Composer_0x80BC4F30/func_80BC52F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Composer/func_80BC52D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Composer_0x80BC4F30/func_80BC538C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Composer/func_80BC52F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Composer_0x80BC4F30/func_80BC53A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Composer/func_80BC538C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Composer_0x80BC4F30/func_80BC53B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Composer/func_80BC53A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Composer_0x80BC4F30/func_80BC5404.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Composer/func_80BC53B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Composer_0x80BC4F30/func_80BC552C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Composer/func_80BC5404.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Composer_0x80BC4F30/func_80BC5570.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Composer/func_80BC552C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Composer_0x80BC4F30/func_80BC5580.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Composer/func_80BC5570.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Composer_0x80BC4F30/func_80BC55E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Composer/func_80BC5580.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Composer_0x80BC4F30/func_80BC562C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Composer/func_80BC55E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Composer_0x80BC4F30/func_80BC5670.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Composer/func_80BC562C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Composer_0x80BC4F30/func_80BC5680.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Composer/func_80BC5670.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Composer_0x80BC4F30/func_80BC56D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Composer/func_80BC5680.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Composer_0x80BC4F30/func_80BC5738.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Composer/func_80BC56D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Composer_0x80BC4F30/func_80BC5780.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Composer/func_80BC5738.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Composer_0x80BC4F30/func_80BC57E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Composer/func_80BC5780.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Composer_0x80BC4F30/func_80BC5830.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Composer/func_80BC57E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Composer_0x80BC4F30/func_80BC5898.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Composer/func_80BC5830.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Composer_0x80BC4F30/func_80BC58E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Composer/func_80BC5898.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Composer_0x80BC4F30/func_80BC59BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Composer/func_80BC58E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Composer_0x80BC4F30/func_80BC59EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Composer/func_80BC59BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Composer_0x80BC4F30/func_80BC5CC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Composer/func_80BC59EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Composer_0x80BC4F30/func_80BC5D34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Composer/func_80BC5CC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Composer_0x80BC4F30/func_80BC5DEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Composer/func_80BC5D34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Composer_0x80BC4F30/func_80BC5FE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Composer/func_80BC5DEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Composer_0x80BC4F30/EnPoComposer_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Composer/func_80BC5FE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Composer_0x80BC4F30/func_80BC60BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Composer/EnPoComposer_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Composer_0x80BC4F30/func_80BC617C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Composer/func_80BC60BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Composer_0x80BC4F30/EnPoComposer_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Composer/func_80BC617C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Composer/EnPoComposer_Draw.s") diff --git a/src/overlays/actors/ovl_En_Po_Composer/z_en_po_composer.h b/src/overlays/actors/ovl_En_Po_Composer/z_en_po_composer.h index d247c5cfc8..fb1d2ed3e3 100644 --- a/src/overlays/actors/ovl_En_Po_Composer/z_en_po_composer.h +++ b/src/overlays/actors/ovl_En_Po_Composer/z_en_po_composer.h @@ -1,13 +1,17 @@ #ifndef Z_EN_PO_COMPOSER_H #define Z_EN_PO_COMPOSER_H -#include +#include "global.h" struct EnPoComposer; +typedef void (*EnPoComposerActionFunc)(struct EnPoComposer* this, GlobalContext* globalCtx); + typedef struct EnPoComposer { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x1FC]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0xF0]; + /* 0x0234 */ EnPoComposerActionFunc actionFunc; + /* 0x0238 */ char unk_238[0x108]; } EnPoComposer; // size = 0x340 extern const ActorInit En_Po_Composer_InitVars; diff --git a/src/overlays/actors/ovl_En_Po_Fusen/z_en_po_fusen.h b/src/overlays/actors/ovl_En_Po_Fusen/z_en_po_fusen.h index 9c0b1d21e1..b19cc01f90 100644 --- a/src/overlays/actors/ovl_En_Po_Fusen/z_en_po_fusen.h +++ b/src/overlays/actors/ovl_En_Po_Fusen/z_en_po_fusen.h @@ -1,7 +1,7 @@ #ifndef Z_EN_PO_FUSEN_H #define Z_EN_PO_FUSEN_H -#include +#include "global.h" struct EnPoFusen; diff --git a/src/overlays/actors/ovl_En_Po_Sisters/z_en_po_sisters.c b/src/overlays/actors/ovl_En_Po_Sisters/z_en_po_sisters.c index 09f4342b9d..50aba0d7be 100644 --- a/src/overlays/actors/ovl_En_Po_Sisters/z_en_po_sisters.c +++ b/src/overlays/actors/ovl_En_Po_Sisters/z_en_po_sisters.c @@ -9,6 +9,23 @@ void EnPoSisters_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnPoSisters_Update(Actor* thisx, GlobalContext* globalCtx); void EnPoSisters_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80B1AAE8(EnPoSisters* this, GlobalContext* globalCtx); +void func_80B1ABB8(EnPoSisters* this, GlobalContext* globalCtx); +void func_80B1ACB8(EnPoSisters* this, GlobalContext* globalCtx); +void func_80B1AE3C(EnPoSisters* this, GlobalContext* globalCtx); +void func_80B1B020(EnPoSisters* this, GlobalContext* globalCtx); +void func_80B1B168(EnPoSisters* this, GlobalContext* globalCtx); +void func_80B1B2F0(EnPoSisters* this, GlobalContext* globalCtx); +void func_80B1B444(EnPoSisters* this, GlobalContext* globalCtx); +void func_80B1B628(EnPoSisters* this, GlobalContext* globalCtx); +void func_80B1B7BC(EnPoSisters* this, GlobalContext* globalCtx); +void func_80B1B940(EnPoSisters* this, GlobalContext* globalCtx); +void func_80B1BA90(EnPoSisters* this, GlobalContext* globalCtx); +void func_80B1BCA0(EnPoSisters* this, GlobalContext* globalCtx); +void func_80B1BF2C(EnPoSisters* this, GlobalContext* globalCtx); +void func_80B1C0A4(EnPoSisters* this, GlobalContext* globalCtx); +void func_80B1C340(EnPoSisters* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Po_Sisters_InitVars = { ACTOR_EN_PO_SISTERS, @@ -22,7 +39,6 @@ const ActorInit En_Po_Sisters_InitVars = { (ActorFunc)EnPoSisters_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80B1DA70 = { { COLTYPE_HIT3, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,11 +46,9 @@ static ColliderCylinderInit D_80B1DA70 = { { 18, 60, 15, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit D_80B1DA9C = { 6, 25, 60, 50 }; - // static DamageTable sDamageTable = { static DamageTable D_80B1DAA4 = { /* Deku Nut */ DMG_ENTRY(0, 0xF), @@ -71,106 +85,114 @@ static DamageTable D_80B1DAA4 = { /* Powder Keg */ DMG_ENTRY(1, 0x0), }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80B1DAC4[] = { ICHAIN_VEC3F_DIV1000(scale, 7, ICHAIN_CONTINUE), ICHAIN_F32(targetArrowOffset, 6000, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80B1DA70; extern CollisionCheckInfoInit D_80B1DA9C; extern DamageTable D_80B1DAA4; extern InitChainEntry D_80B1DAC4[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Sisters_0x80B1A3B0/EnPoSisters_Init.asm") +extern UNK_TYPE D_06000114; +extern UNK_TYPE D_060008C0; +extern UNK_TYPE D_06000A54; +extern UNK_TYPE D_06000D40; +extern UNK_TYPE D_0600119C; +extern UNK_TYPE D_060014CC; +extern UNK_TYPE D_060027B0; +extern UNK_TYPE D_060046E0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Sisters_0x80B1A3B0/EnPoSisters_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Sisters/EnPoSisters_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Sisters_0x80B1A3B0/func_80B1A648.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Sisters/EnPoSisters_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Sisters_0x80B1A3B0/func_80B1A768.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Sisters/func_80B1A648.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Sisters_0x80B1A3B0/func_80B1A894.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Sisters/func_80B1A768.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Sisters_0x80B1A3B0/func_80B1A9B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Sisters/func_80B1A894.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Sisters_0x80B1A3B0/func_80B1AA88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Sisters/func_80B1A9B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Sisters_0x80B1A3B0/func_80B1AAE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Sisters/func_80B1AA88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Sisters_0x80B1A3B0/func_80B1AB5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Sisters/func_80B1AAE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Sisters_0x80B1A3B0/func_80B1ABB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Sisters/func_80B1AB5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Sisters_0x80B1A3B0/func_80B1AC40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Sisters/func_80B1ABB8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Sisters_0x80B1A3B0/func_80B1ACB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Sisters/func_80B1AC40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Sisters_0x80B1A3B0/func_80B1AE28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Sisters/func_80B1ACB8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Sisters_0x80B1A3B0/func_80B1AE3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Sisters/func_80B1AE28.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Sisters_0x80B1A3B0/func_80B1AF8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Sisters/func_80B1AE3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Sisters_0x80B1A3B0/func_80B1B020.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Sisters/func_80B1AF8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Sisters_0x80B1A3B0/func_80B1B0E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Sisters/func_80B1B020.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Sisters_0x80B1A3B0/func_80B1B168.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Sisters/func_80B1B0E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Sisters_0x80B1A3B0/func_80B1B280.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Sisters/func_80B1B168.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Sisters_0x80B1A3B0/func_80B1B2F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Sisters/func_80B1B280.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Sisters_0x80B1A3B0/func_80B1B3A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Sisters/func_80B1B2F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Sisters_0x80B1A3B0/func_80B1B444.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Sisters/func_80B1B3A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Sisters_0x80B1A3B0/func_80B1B5B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Sisters/func_80B1B444.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Sisters_0x80B1A3B0/func_80B1B628.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Sisters/func_80B1B5B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Sisters_0x80B1A3B0/func_80B1B70C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Sisters/func_80B1B628.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Sisters_0x80B1A3B0/func_80B1B7BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Sisters/func_80B1B70C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Sisters_0x80B1A3B0/func_80B1B860.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Sisters/func_80B1B7BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Sisters_0x80B1A3B0/func_80B1B940.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Sisters/func_80B1B860.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Sisters_0x80B1A3B0/func_80B1BA3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Sisters/func_80B1B940.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Sisters_0x80B1A3B0/func_80B1BA90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Sisters/func_80B1BA3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Sisters_0x80B1A3B0/func_80B1BC4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Sisters/func_80B1BA90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Sisters_0x80B1A3B0/func_80B1BCA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Sisters/func_80B1BC4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Sisters_0x80B1A3B0/func_80B1BCF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Sisters/func_80B1BCA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Sisters_0x80B1A3B0/func_80B1BE4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Sisters/func_80B1BCF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Sisters_0x80B1A3B0/func_80B1BF2C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Sisters/func_80B1BE4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Sisters_0x80B1A3B0/func_80B1C030.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Sisters/func_80B1BF2C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Sisters_0x80B1A3B0/func_80B1C0A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Sisters/func_80B1C030.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Sisters_0x80B1A3B0/func_80B1C2E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Sisters/func_80B1C0A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Sisters_0x80B1A3B0/func_80B1C340.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Sisters/func_80B1C2E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Sisters_0x80B1A3B0/func_80B1C408.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Sisters/func_80B1C340.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Sisters_0x80B1A3B0/EnPoSisters_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Sisters/func_80B1C408.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Sisters_0x80B1A3B0/func_80B1C974.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Sisters/EnPoSisters_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Sisters_0x80B1A3B0/func_80B1CB44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Sisters/func_80B1C974.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Sisters_0x80B1A3B0/func_80B1CD34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Sisters/func_80B1CB44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Po_Sisters_0x80B1A3B0/EnPoSisters_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Sisters/func_80B1CD34.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Po_Sisters/EnPoSisters_Draw.s") diff --git a/src/overlays/actors/ovl_En_Po_Sisters/z_en_po_sisters.h b/src/overlays/actors/ovl_En_Po_Sisters/z_en_po_sisters.h index 1ceae0f92f..90b8969ba9 100644 --- a/src/overlays/actors/ovl_En_Po_Sisters/z_en_po_sisters.h +++ b/src/overlays/actors/ovl_En_Po_Sisters/z_en_po_sisters.h @@ -1,13 +1,17 @@ #ifndef Z_EN_PO_SISTERS_H #define Z_EN_PO_SISTERS_H -#include +#include "global.h" struct EnPoSisters; +typedef void (*EnPoSistersActionFunc)(struct EnPoSisters* this, GlobalContext* globalCtx); + typedef struct EnPoSisters { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x254]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ EnPoSistersActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x20C]; } EnPoSisters; // size = 0x398 extern const ActorInit En_Po_Sisters_InitVars; diff --git a/src/overlays/actors/ovl_En_Poh/z_en_poh.c b/src/overlays/actors/ovl_En_Poh/z_en_poh.c index 3ee6a1203a..ae56732b7d 100644 --- a/src/overlays/actors/ovl_En_Poh/z_en_poh.c +++ b/src/overlays/actors/ovl_En_Poh/z_en_poh.c @@ -9,6 +9,23 @@ void EnPoh_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnPoh_Update(Actor* thisx, GlobalContext* globalCtx); void EnPoh_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80B2CAA4(EnPoh* this, GlobalContext* globalCtx); +void func_80B2CBBC(EnPoh* this, GlobalContext* globalCtx); +void func_80B2CD64(EnPoh* this, GlobalContext* globalCtx); +void func_80B2CF28(EnPoh* this, GlobalContext* globalCtx); +void func_80B2D07C(EnPoh* this, GlobalContext* globalCtx); +void func_80B2D140(EnPoh* this, GlobalContext* globalCtx); +void func_80B2D300(EnPoh* this, GlobalContext* globalCtx); +void func_80B2D628(EnPoh* this, GlobalContext* globalCtx); +void func_80B2D6EC(EnPoh* this, GlobalContext* globalCtx); +void func_80B2D7D4(EnPoh* this, GlobalContext* globalCtx); +void func_80B2D980(EnPoh* this, GlobalContext* globalCtx); +void func_80B2DB44(EnPoh* this, GlobalContext* globalCtx); +void func_80B2DD2C(EnPoh* this, GlobalContext* globalCtx); +void func_80B2E180(EnPoh* this, GlobalContext* globalCtx); +void func_80B2E230(EnPoh* this, GlobalContext* globalCtx); +void func_80B2E3F8(EnPoh* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Poh_InitVars = { ACTOR_EN_POH, @@ -22,7 +39,6 @@ const ActorInit En_Poh_InitVars = { (ActorFunc)EnPoh_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80B2F680 = { { COLTYPE_HIT3, AT_NONE, AC_NONE | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,7 +46,6 @@ static ColliderCylinderInit D_80B2F680 = { { 20, 40, 20, { 0, 0, 0 } }, }; - // static ColliderJntSphElementInit sJntSphElementsInit[1] = { static ColliderJntSphElementInit D_80B2F6AC[1] = { { @@ -45,7 +60,6 @@ static ColliderJntSphInit D_80B2F6D0 = { 1, D_80B2F6AC, // sJntSphElementsInit, }; - // static DamageTable sDamageTable = { static DamageTable D_80B2F6E0 = { /* Deku Nut */ DMG_ENTRY(0, 0xF), @@ -82,17 +96,16 @@ static DamageTable D_80B2F6E0 = { /* Powder Keg */ DMG_ENTRY(1, 0x0), }; - // sColChkInfoInit static CollisionCheckInfoInit D_80B2F700 = { 3, 25, 50, 50 }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80B2F708[] = { ICHAIN_S8(hintId, 68, ICHAIN_CONTINUE), ICHAIN_F32(targetArrowOffset, 3200, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80B2F680; extern ColliderJntSphElementInit D_80B2F6AC[1]; @@ -100,98 +113,106 @@ extern ColliderJntSphInit D_80B2F6D0; extern DamageTable D_80B2F6E0; extern CollisionCheckInfoInit D_80B2F700; extern InitChainEntry D_80B2F708[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/EnPoh_Init.asm") +extern UNK_TYPE D_060001A8; +extern UNK_TYPE D_060004EC; +extern UNK_TYPE D_060006E0; +extern UNK_TYPE D_06000A60; +extern UNK_TYPE D_060011C4; +extern UNK_TYPE D_060015B0; +extern UNK_TYPE D_06002608; +extern UNK_TYPE D_06002D28; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/EnPoh_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/EnPoh_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/func_80B2C910.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/EnPoh_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/func_80B2C9B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/func_80B2C910.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/func_80B2CA4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/func_80B2C9B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/func_80B2CAA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/func_80B2CA4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/func_80B2CB60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/func_80B2CAA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/func_80B2CBBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/func_80B2CB60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/func_80B2CD14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/func_80B2CBBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/func_80B2CD64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/func_80B2CD14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/func_80B2CEC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/func_80B2CD64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/func_80B2CF28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/func_80B2CEC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/func_80B2CFF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/func_80B2CF28.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/func_80B2D07C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/func_80B2CFF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/func_80B2D0E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/func_80B2D07C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/func_80B2D140.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/func_80B2D0E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/func_80B2D2C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/func_80B2D140.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/func_80B2D300.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/func_80B2D2C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/func_80B2D5DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/func_80B2D300.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/func_80B2D628.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/func_80B2D5DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/func_80B2D694.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/func_80B2D628.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/func_80B2D6EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/func_80B2D694.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/func_80B2D76C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/func_80B2D6EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/func_80B2D7D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/func_80B2D76C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/func_80B2D924.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/func_80B2D7D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/func_80B2D980.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/func_80B2D924.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/func_80B2DAD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/func_80B2D980.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/func_80B2DB44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/func_80B2DAD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/func_80B2DC50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/func_80B2DB44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/func_80B2DD2C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/func_80B2DC50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/func_80B2DDF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/func_80B2DD2C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/func_80B2E0B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/func_80B2DDF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/func_80B2E180.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/func_80B2E0B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/func_80B2E1D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/func_80B2E180.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/func_80B2E230.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/func_80B2E1D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/func_80B2E3B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/func_80B2E230.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/func_80B2E3F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/func_80B2E3B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/func_80B2E438.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/func_80B2E3F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/func_80B2E55C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/func_80B2E438.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/func_80B2E6C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/func_80B2E55C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/func_80B2E8E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/func_80B2E6C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/EnPoh_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/func_80B2E8E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/func_80B2ED14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/EnPoh_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/func_80B2EDD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/func_80B2ED14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/EnPoh_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/func_80B2EDD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/func_80B2F328.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/EnPoh_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Poh_0x80B2C6F0/func_80B2F37C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/func_80B2F328.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Poh/func_80B2F37C.s") diff --git a/src/overlays/actors/ovl_En_Poh/z_en_poh.h b/src/overlays/actors/ovl_En_Poh/z_en_poh.h index 809ed95fde..a451e4b1d4 100644 --- a/src/overlays/actors/ovl_En_Poh/z_en_poh.h +++ b/src/overlays/actors/ovl_En_Poh/z_en_poh.h @@ -1,13 +1,17 @@ #ifndef Z_EN_POH_H #define Z_EN_POH_H -#include +#include "global.h" struct EnPoh; +typedef void (*EnPohActionFunc)(struct EnPoh* this, GlobalContext* globalCtx); + typedef struct EnPoh { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x2D4]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ EnPohActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x28C]; } EnPoh; // size = 0x418 extern const ActorInit En_Poh_InitVars; diff --git a/src/overlays/actors/ovl_En_Pp/z_en_pp.c b/src/overlays/actors/ovl_En_Pp/z_en_pp.c index 59e95d9e76..2ae03a1668 100644 --- a/src/overlays/actors/ovl_En_Pp/z_en_pp.c +++ b/src/overlays/actors/ovl_En_Pp/z_en_pp.c @@ -46,7 +46,6 @@ static DamageTable D_80B21624 = { /* Powder Keg */ DMG_ENTRY(1, 0xC), }; - const ActorInit En_Pp_InitVars = { ACTOR_EN_PP, ACTORCAT_ENEMY, @@ -59,7 +58,6 @@ const ActorInit En_Pp_InitVars = { (ActorFunc)EnPp_Draw, }; - // static ColliderJntSphElementInit sJntSphElementsInit[1] = { static ColliderJntSphElementInit D_80B21664[1] = { { @@ -74,7 +72,6 @@ static ColliderJntSphInit D_80B21688 = { 1, D_80B21664, // sJntSphElementsInit, }; - // static ColliderJntSphElementInit sJntSphElementsInit[1] = { static ColliderJntSphElementInit D_80B21698[1] = { { @@ -89,7 +86,6 @@ static ColliderJntSphInit D_80B216BC = { 1, D_80B21698, // sJntSphElementsInit, }; - // static ColliderQuadInit sQuadInit = { static ColliderQuadInit D_80B216CC = { { COLTYPE_NONE, AT_ON | AT_TYPE_ENEMY, AC_NONE, OC1_NONE, OC2_NONE, COLSHAPE_QUAD, }, @@ -97,6 +93,7 @@ static ColliderQuadInit D_80B216CC = { { { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } } }, }; +#endif extern DamageTable D_80B21624; extern ColliderJntSphElementInit D_80B21664[1]; @@ -104,72 +101,73 @@ extern ColliderJntSphInit D_80B21688; extern ColliderJntSphElementInit D_80B21698[1]; extern ColliderJntSphInit D_80B216BC; extern ColliderQuadInit D_80B216CC; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pp_0x80B1DEB0/EnPp_Init.asm") +extern UNK_TYPE D_0600A844; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pp_0x80B1DEB0/EnPp_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pp/EnPp_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pp_0x80B1DEB0/func_80B1E29C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pp/EnPp_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pp_0x80B1DEB0/func_80B1E3D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pp/func_80B1E29C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pp_0x80B1DEB0/func_80B1E5A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pp/func_80B1E3D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pp_0x80B1DEB0/func_80B1E680.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pp/func_80B1E5A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pp_0x80B1DEB0/func_80B1E778.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pp/func_80B1E680.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pp_0x80B1DEB0/func_80B1E958.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pp/func_80B1E778.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pp_0x80B1DEB0/func_80B1E970.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pp/func_80B1E958.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pp_0x80B1DEB0/func_80B1EBD8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pp/func_80B1E970.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pp_0x80B1DEB0/func_80B1EC24.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pp/func_80B1EBD8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pp_0x80B1DEB0/func_80B1EFFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pp/func_80B1EC24.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pp_0x80B1DEB0/func_80B1F048.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pp/func_80B1EFFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pp_0x80B1DEB0/func_80B1F0A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pp/func_80B1F048.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pp_0x80B1DEB0/func_80B1F188.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pp/func_80B1F0A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pp_0x80B1DEB0/func_80B1F244.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pp/func_80B1F188.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pp_0x80B1DEB0/func_80B1F29C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pp/func_80B1F244.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pp_0x80B1DEB0/func_80B1F4A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pp/func_80B1F29C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pp_0x80B1DEB0/func_80B1F560.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pp/func_80B1F4A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pp_0x80B1DEB0/func_80B1F664.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pp/func_80B1F560.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pp_0x80B1DEB0/func_80B1F6B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pp/func_80B1F664.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pp_0x80B1DEB0/func_80B1F770.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pp/func_80B1F6B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pp_0x80B1DEB0/func_80B1F940.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pp/func_80B1F770.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pp_0x80B1DEB0/func_80B1FAD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pp/func_80B1F940.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pp_0x80B1DEB0/func_80B1FC7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pp/func_80B1FAD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pp_0x80B1DEB0/func_80B1FF20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pp/func_80B1FC7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pp_0x80B1DEB0/func_80B20030.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pp/func_80B1FF20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pp_0x80B1DEB0/func_80B202B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pp/func_80B20030.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pp_0x80B1DEB0/func_80B203BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pp/func_80B202B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pp_0x80B1DEB0/func_80B20668.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pp/func_80B203BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pp_0x80B1DEB0/EnPp_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pp/func_80B20668.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pp_0x80B1DEB0/func_80B20E6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pp/EnPp_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pp_0x80B1DEB0/func_80B20F70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pp/func_80B20E6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pp_0x80B1DEB0/EnPp_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pp/func_80B20F70.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pp/EnPp_Draw.s") diff --git a/src/overlays/actors/ovl_En_Pp/z_en_pp.h b/src/overlays/actors/ovl_En_Pp/z_en_pp.h index f6b34baa20..73de479fa6 100644 --- a/src/overlays/actors/ovl_En_Pp/z_en_pp.h +++ b/src/overlays/actors/ovl_En_Pp/z_en_pp.h @@ -1,13 +1,17 @@ #ifndef Z_EN_PP_H #define Z_EN_PP_H -#include +#include "global.h" struct EnPp; +typedef void (*EnPpActionFunc)(struct EnPp* this, GlobalContext* globalCtx); + typedef struct EnPp { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x4A8]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x17C]; + /* 0x02C0 */ EnPpActionFunc actionFunc; + /* 0x02C4 */ char unk_2C4[0x328]; } EnPp; // size = 0x5EC extern const ActorInit En_Pp_InitVars; diff --git a/src/overlays/actors/ovl_En_Pr/z_en_pr.c b/src/overlays/actors/ovl_En_Pr/z_en_pr.c index 1cb14fe903..91c8407a32 100644 --- a/src/overlays/actors/ovl_En_Pr/z_en_pr.c +++ b/src/overlays/actors/ovl_En_Pr/z_en_pr.c @@ -9,6 +9,15 @@ void EnPr_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnPr_Update(Actor* thisx, GlobalContext* globalCtx); void EnPr_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80A32740(EnPr* this, GlobalContext* globalCtx); +void func_80A3289C(EnPr* this, GlobalContext* globalCtx); +void func_80A32984(EnPr* this, GlobalContext* globalCtx); +void func_80A32A40(EnPr* this, GlobalContext* globalCtx); +void func_80A32B20(EnPr* this, GlobalContext* globalCtx); +void func_80A32D28(EnPr* this, GlobalContext* globalCtx); +void func_80A32EA4(EnPr* this, GlobalContext* globalCtx); +void func_80A32F48(EnPr* this, GlobalContext* globalCtx); + #if 0 // static DamageTable sDamageTable = { static DamageTable D_80A338A0 = { @@ -46,7 +55,6 @@ static DamageTable D_80A338A0 = { /* Powder Keg */ DMG_ENTRY(1, 0xF), }; - const ActorInit En_Pr_InitVars = { ACTOR_EN_PR, ACTORCAT_ENEMY, @@ -59,7 +67,6 @@ const ActorInit En_Pr_InitVars = { (ActorFunc)EnPr_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80A338F4 = { { COLTYPE_NONE, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_TYPE_PLAYER, OC1_NONE, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -67,55 +74,57 @@ static ColliderCylinderInit D_80A338F4 = { { 18, 20, 5, { 0, 0, 0 } }, }; +#endif extern DamageTable D_80A338A0; extern ColliderCylinderInit D_80A338F4; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pr_0x80A32210/EnPr_Init.asm") +extern UNK_TYPE D_060021E8; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pr_0x80A32210/EnPr_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pr/EnPr_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pr_0x80A32210/func_80A3242C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pr/EnPr_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pr_0x80A32210/func_80A324E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pr/func_80A3242C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pr_0x80A32210/func_80A325E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pr/func_80A324E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pr_0x80A32210/func_80A326F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pr/func_80A325E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pr_0x80A32210/func_80A32740.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pr/func_80A326F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pr_0x80A32210/func_80A32854.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pr/func_80A32740.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pr_0x80A32210/func_80A3289C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pr/func_80A32854.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pr_0x80A32210/func_80A3295C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pr/func_80A3289C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pr_0x80A32210/func_80A32984.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pr/func_80A3295C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pr_0x80A32210/func_80A32A40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pr/func_80A32984.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pr_0x80A32210/func_80A32AF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pr/func_80A32A40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pr_0x80A32210/func_80A32B20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pr/func_80A32AF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pr_0x80A32210/func_80A32CDC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pr/func_80A32B20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pr_0x80A32210/func_80A32D28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pr/func_80A32CDC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pr_0x80A32210/func_80A32E60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pr/func_80A32D28.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pr_0x80A32210/func_80A32EA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pr/func_80A32E60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pr_0x80A32210/func_80A32F48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pr/func_80A32EA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pr_0x80A32210/func_80A33098.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pr/func_80A32F48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pr_0x80A32210/EnPr_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pr/func_80A33098.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pr_0x80A32210/func_80A3357C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pr/EnPr_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pr_0x80A32210/func_80A335B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pr/func_80A3357C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pr_0x80A32210/EnPr_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pr/func_80A335B4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pr/EnPr_Draw.s") diff --git a/src/overlays/actors/ovl_En_Pr/z_en_pr.h b/src/overlays/actors/ovl_En_Pr/z_en_pr.h index 919ba8c864..5eb3740333 100644 --- a/src/overlays/actors/ovl_En_Pr/z_en_pr.h +++ b/src/overlays/actors/ovl_En_Pr/z_en_pr.h @@ -1,13 +1,17 @@ #ifndef Z_EN_PR_H #define Z_EN_PR_H -#include +#include "global.h" struct EnPr; +typedef void (*EnPrActionFunc)(struct EnPr* this, GlobalContext* globalCtx); + typedef struct EnPr { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x204]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0xBC]; + /* 0x0200 */ EnPrActionFunc actionFunc; + /* 0x0204 */ char unk_204[0x144]; } EnPr; // size = 0x348 extern const ActorInit En_Pr_InitVars; diff --git a/src/overlays/actors/ovl_En_Pr2/z_en_pr2.c b/src/overlays/actors/ovl_En_Pr2/z_en_pr2.c index 219e8393e3..b2d70518d6 100644 --- a/src/overlays/actors/ovl_En_Pr2/z_en_pr2.c +++ b/src/overlays/actors/ovl_En_Pr2/z_en_pr2.c @@ -46,7 +46,6 @@ static DamageTable D_80A75BC0 = { /* Powder Keg */ DMG_ENTRY(1, 0xF), }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80A75BE0 = { { COLTYPE_NONE, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_1, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -54,7 +53,6 @@ static ColliderCylinderInit D_80A75BE0 = { { 17, 32, -10, { 0, 0, 0 } }, }; - const ActorInit En_Pr2_InitVars = { ACTOR_EN_PR2, ACTORCAT_ENEMY, @@ -67,45 +65,48 @@ const ActorInit En_Pr2_InitVars = { (ActorFunc)EnPr2_Draw, }; +#endif extern DamageTable D_80A75BC0; extern ColliderCylinderInit D_80A75BE0; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pr2_0x80A73FA0/EnPr2_Init.asm") +extern UNK_TYPE D_06003904; +extern UNK_TYPE D_06004340; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pr2_0x80A73FA0/EnPr2_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pr2/EnPr2_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pr2_0x80A73FA0/func_80A7429C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pr2/EnPr2_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pr2_0x80A73FA0/func_80A7436C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pr2/func_80A7429C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pr2_0x80A73FA0/func_80A74510.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pr2/func_80A7436C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pr2_0x80A73FA0/func_80A745C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pr2/func_80A74510.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pr2_0x80A73FA0/func_80A745FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pr2/func_80A745C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pr2_0x80A73FA0/func_80A74888.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pr2/func_80A745FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pr2_0x80A73FA0/func_80A748E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pr2/func_80A74888.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pr2_0x80A73FA0/func_80A74DEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pr2/func_80A748E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pr2_0x80A73FA0/func_80A74E90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pr2/func_80A74DEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pr2_0x80A73FA0/func_80A751B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pr2/func_80A74E90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pr2_0x80A73FA0/func_80A75310.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pr2/func_80A751B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pr2_0x80A73FA0/func_80A755D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pr2/func_80A75310.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pr2_0x80A73FA0/EnPr2_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pr2/func_80A755D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pr2_0x80A73FA0/func_80A758E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pr2/EnPr2_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pr2_0x80A73FA0/func_80A75950.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pr2/func_80A758E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pr2_0x80A73FA0/func_80A759D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pr2/func_80A75950.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pr2_0x80A73FA0/EnPr2_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pr2/func_80A759D8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pr2/EnPr2_Draw.s") diff --git a/src/overlays/actors/ovl_En_Pr2/z_en_pr2.h b/src/overlays/actors/ovl_En_Pr2/z_en_pr2.h index f4c936a649..3daadcf90c 100644 --- a/src/overlays/actors/ovl_En_Pr2/z_en_pr2.h +++ b/src/overlays/actors/ovl_En_Pr2/z_en_pr2.h @@ -1,13 +1,17 @@ #ifndef Z_EN_PR2_H #define Z_EN_PR2_H -#include +#include "global.h" struct EnPr2; +typedef void (*EnPr2ActionFunc)(struct EnPr2* this, GlobalContext* globalCtx); + typedef struct EnPr2 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x184]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x80]; + /* 0x01C4 */ EnPr2ActionFunc actionFunc; + /* 0x01C8 */ char unk_1C8[0x100]; } EnPr2; // size = 0x2C8 extern const ActorInit En_Pr2_InitVars; diff --git a/src/overlays/actors/ovl_En_Prz/z_en_prz.c b/src/overlays/actors/ovl_En_Prz/z_en_prz.c index 12a5937515..d966b00d15 100644 --- a/src/overlays/actors/ovl_En_Prz/z_en_prz.c +++ b/src/overlays/actors/ovl_En_Prz/z_en_prz.c @@ -46,7 +46,6 @@ static DamageTable D_80A771C0 = { /* Powder Keg */ DMG_ENTRY(1, 0xF), }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80A771F4 = { { COLTYPE_NONE, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_TYPE_PLAYER, OC1_NONE, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -54,7 +53,6 @@ static ColliderCylinderInit D_80A771F4 = { { 10, 10, 0, { 0, 0, 0 } }, }; - const ActorInit En_Prz_InitVars = { ACTOR_EN_PRZ, ACTORCAT_ENEMY, @@ -67,43 +65,45 @@ const ActorInit En_Prz_InitVars = { (ActorFunc)EnPrz_Draw, }; +#endif extern DamageTable D_80A771C0; extern ColliderCylinderInit D_80A771F4; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Prz_0x80A75DC0/EnPrz_Init.asm") +extern UNK_TYPE D_06004340; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Prz_0x80A75DC0/EnPrz_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Prz/EnPrz_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Prz_0x80A75DC0/func_80A75F18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Prz/EnPrz_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Prz_0x80A75DC0/func_80A75FA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Prz/func_80A75F18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Prz_0x80A75DC0/func_80A76070.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Prz/func_80A75FA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Prz_0x80A75DC0/func_80A762C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Prz/func_80A76070.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Prz_0x80A75DC0/func_80A76388.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Prz/func_80A762C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Prz_0x80A75DC0/func_80A763E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Prz/func_80A76388.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Prz_0x80A75DC0/func_80A76604.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Prz/func_80A763E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Prz_0x80A75DC0/func_80A76634.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Prz/func_80A76604.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Prz_0x80A75DC0/func_80A76748.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Prz/func_80A76634.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Prz_0x80A75DC0/func_80A767A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Prz/func_80A76748.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Prz_0x80A75DC0/func_80A76A1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Prz/func_80A767A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Prz_0x80A75DC0/func_80A76B14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Prz/func_80A76A1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Prz_0x80A75DC0/EnPrz_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Prz/func_80A76B14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Prz_0x80A75DC0/func_80A76F70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Prz/EnPrz_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Prz_0x80A75DC0/func_80A76FCC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Prz/func_80A76F70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Prz_0x80A75DC0/EnPrz_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Prz/func_80A76FCC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Prz/EnPrz_Draw.s") diff --git a/src/overlays/actors/ovl_En_Prz/z_en_prz.h b/src/overlays/actors/ovl_En_Prz/z_en_prz.h index abcf286c1e..0202843aa4 100644 --- a/src/overlays/actors/ovl_En_Prz/z_en_prz.h +++ b/src/overlays/actors/ovl_En_Prz/z_en_prz.h @@ -1,13 +1,17 @@ #ifndef Z_EN_PRZ_H #define Z_EN_PRZ_H -#include +#include "global.h" struct EnPrz; +typedef void (*EnPrzActionFunc)(struct EnPrz* this, GlobalContext* globalCtx); + typedef struct EnPrz { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x12C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x80]; + /* 0x01C4 */ EnPrzActionFunc actionFunc; + /* 0x01C8 */ char unk_1C8[0xA8]; } EnPrz; // size = 0x270 extern const ActorInit En_Prz_InitVars; diff --git a/src/overlays/actors/ovl_En_Pst/z_en_pst.c b/src/overlays/actors/ovl_En_Pst/z_en_pst.c index e6fd5f6cf4..30ffa979bd 100644 --- a/src/overlays/actors/ovl_En_Pst/z_en_pst.c +++ b/src/overlays/actors/ovl_En_Pst/z_en_pst.c @@ -9,6 +9,9 @@ void EnPst_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnPst_Update(Actor* thisx, GlobalContext* globalCtx); void EnPst_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80B2BD98(EnPst* this, GlobalContext* globalCtx); +void func_80B2BE54(EnPst* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Pst_InitVars = { ACTOR_EN_PST, @@ -22,7 +25,6 @@ const ActorInit En_Pst_InitVars = { (ActorFunc)EnPst_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80B2C4B8 = { { COLTYPE_HIT1, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,43 +32,44 @@ static ColliderCylinderInit D_80B2C4B8 = { { 28, 72, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_80B2C4E4 = { 1, 0, 0, 0, MASS_IMMOVABLE }; +#endif extern ColliderCylinderInit D_80B2C4B8; extern CollisionCheckInfoInit2 D_80B2C4E4; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pst_0x80B2B830/func_80B2B830.asm") +extern UNK_TYPE D_06001A80; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pst_0x80B2B830/func_80B2B874.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pst/func_80B2B830.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pst_0x80B2B830/func_80B2B8F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pst/func_80B2B874.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pst_0x80B2B830/func_80B2B974.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pst/func_80B2B8F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pst_0x80B2B830/func_80B2BAA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pst/func_80B2B974.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pst_0x80B2B830/func_80B2BBFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pst/func_80B2BAA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pst_0x80B2B830/func_80B2BCF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pst/func_80B2BBFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pst_0x80B2B830/func_80B2BD30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pst/func_80B2BCF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pst_0x80B2B830/func_80B2BD88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pst/func_80B2BD30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pst_0x80B2B830/func_80B2BD98.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pst/func_80B2BD88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pst_0x80B2B830/func_80B2BE54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pst/func_80B2BD98.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pst_0x80B2B830/EnPst_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pst/func_80B2BE54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pst_0x80B2B830/EnPst_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pst/EnPst_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pst_0x80B2B830/EnPst_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pst/EnPst_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pst_0x80B2B830/func_80B2C11C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pst/EnPst_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Pst_0x80B2B830/EnPst_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pst/func_80B2C11C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Pst/EnPst_Draw.s") diff --git a/src/overlays/actors/ovl_En_Pst/z_en_pst.h b/src/overlays/actors/ovl_En_Pst/z_en_pst.h index c67ee0d070..ea750f3c19 100644 --- a/src/overlays/actors/ovl_En_Pst/z_en_pst.h +++ b/src/overlays/actors/ovl_En_Pst/z_en_pst.h @@ -1,13 +1,17 @@ #ifndef Z_EN_PST_H #define Z_EN_PST_H -#include +#include "global.h" struct EnPst; +typedef void (*EnPstActionFunc)(struct EnPst* this, GlobalContext* globalCtx); + typedef struct EnPst { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0xDC]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ EnPstActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x94]; } EnPst; // size = 0x220 extern const ActorInit En_Pst_InitVars; diff --git a/src/overlays/actors/ovl_En_Racedog/z_en_racedog.c b/src/overlays/actors/ovl_En_Racedog/z_en_racedog.c index ce466d3620..1170827cc0 100644 --- a/src/overlays/actors/ovl_En_Racedog/z_en_racedog.c +++ b/src/overlays/actors/ovl_En_Racedog/z_en_racedog.c @@ -9,6 +9,9 @@ void EnRacedog_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnRacedog_Update(Actor* thisx, GlobalContext* globalCtx); void EnRacedog_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80B24C14(EnRacedog* this, GlobalContext* globalCtx); +void func_80B24CB4(EnRacedog* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Racedog_InitVars = { ACTOR_EN_RACEDOG, @@ -22,7 +25,6 @@ const ActorInit En_Racedog_InitVars = { (ActorFunc)EnRacedog_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80B25E98 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,11 +32,9 @@ static ColliderCylinderInit D_80B25E98 = { { 13, 19, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_80B25EC4 = { 0, 0, 0, 0, 1 }; - // static DamageTable sDamageTable = { static DamageTable D_80B25ED0 = { /* Deku Nut */ DMG_ENTRY(0, 0x0), @@ -71,61 +71,63 @@ static DamageTable D_80B25ED0 = { /* Powder Keg */ DMG_ENTRY(0, 0x0), }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80B25FF0[] = { ICHAIN_F32(uncullZoneForward, 1000, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80B25E98; extern CollisionCheckInfoInit2 D_80B25EC4; extern DamageTable D_80B25ED0; extern InitChainEntry D_80B25FF0[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Racedog_0x80B24630/func_80B24630.asm") +extern UNK_TYPE D_06000618; +extern UNK_TYPE D_060080F0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Racedog_0x80B24630/func_80B246F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Racedog/func_80B24630.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Racedog_0x80B24630/func_80B2478C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Racedog/func_80B246F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Racedog_0x80B24630/func_80B248B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Racedog/func_80B2478C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Racedog_0x80B24630/EnRacedog_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Racedog/func_80B248B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Racedog_0x80B24630/EnRacedog_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Racedog/EnRacedog_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Racedog_0x80B24630/func_80B24C14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Racedog/EnRacedog_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Racedog_0x80B24630/func_80B24CB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Racedog/func_80B24C14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Racedog_0x80B24630/func_80B24E14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Racedog/func_80B24CB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Racedog_0x80B24630/func_80B24F08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Racedog/func_80B24E14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Racedog_0x80B24630/func_80B251EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Racedog/func_80B24F08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Racedog_0x80B24630/func_80B252F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Racedog/func_80B251EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Racedog_0x80B24630/func_80B2538C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Racedog/func_80B252F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Racedog_0x80B24630/func_80B25448.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Racedog/func_80B2538C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Racedog_0x80B24630/func_80B25490.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Racedog/func_80B25448.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Racedog_0x80B24630/func_80B255AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Racedog/func_80B25490.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Racedog_0x80B24630/func_80B256BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Racedog/func_80B255AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Racedog_0x80B24630/EnRacedog_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Racedog/func_80B256BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Racedog_0x80B24630/func_80B2583C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Racedog/EnRacedog_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Racedog_0x80B24630/func_80B258D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Racedog/func_80B2583C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Racedog_0x80B24630/func_80B25A74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Racedog/func_80B258D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Racedog_0x80B24630/func_80B25A90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Racedog/func_80B25A74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Racedog_0x80B24630/EnRacedog_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Racedog/func_80B25A90.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Racedog/EnRacedog_Draw.s") diff --git a/src/overlays/actors/ovl_En_Racedog/z_en_racedog.h b/src/overlays/actors/ovl_En_Racedog/z_en_racedog.h index 9ed9a4906e..0223681f0a 100644 --- a/src/overlays/actors/ovl_En_Racedog/z_en_racedog.h +++ b/src/overlays/actors/ovl_En_Racedog/z_en_racedog.h @@ -1,13 +1,16 @@ #ifndef Z_EN_RACEDOG_H #define Z_EN_RACEDOG_H -#include +#include "global.h" struct EnRacedog; +typedef void (*EnRacedogActionFunc)(struct EnRacedog* this, GlobalContext* globalCtx); + typedef struct EnRacedog { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x184]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ EnRacedogActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x180]; } EnRacedog; // size = 0x2C8 extern const ActorInit En_Racedog_InitVars; diff --git a/src/overlays/actors/ovl_En_Raf/z_en_raf.c b/src/overlays/actors/ovl_En_Raf/z_en_raf.c index f035a6205a..ee2cbd79e4 100644 --- a/src/overlays/actors/ovl_En_Raf/z_en_raf.c +++ b/src/overlays/actors/ovl_En_Raf/z_en_raf.c @@ -9,6 +9,15 @@ void EnRaf_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnRaf_Update(Actor* thisx, GlobalContext* globalCtx); void EnRaf_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80A171D8(EnRaf* this, GlobalContext* globalCtx); +void func_80A17464(EnRaf* this, GlobalContext* globalCtx); +void func_80A175E4(EnRaf* this, GlobalContext* globalCtx); +void func_80A178A0(EnRaf* this, GlobalContext* globalCtx); +void func_80A17C6C(EnRaf* this, GlobalContext* globalCtx); +void func_80A17D54(EnRaf* this, GlobalContext* globalCtx); +void func_80A17E1C(EnRaf* this, GlobalContext* globalCtx); +void func_80A180B4(EnRaf* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Raf_InitVars = { ACTOR_EN_RAF, @@ -22,7 +31,6 @@ const ActorInit En_Raf_InitVars = { (ActorFunc)EnRaf_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80A18EE0 = { { COLTYPE_NONE, AT_ON | AT_TYPE_ENEMY, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,7 +38,6 @@ static ColliderCylinderInit D_80A18EE0 = { { 50, 10, -10, { 0, 0, 0 } }, }; - // static DamageTable sDamageTable = { static DamageTable D_80A1939C = { /* Deku Nut */ DMG_ENTRY(0, 0xF), @@ -67,61 +74,65 @@ static DamageTable D_80A1939C = { /* Powder Keg */ DMG_ENTRY(0, 0xF), }; +#endif extern ColliderCylinderInit D_80A18EE0; extern DamageTable D_80A1939C; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Raf_0x80A16D40/func_80A16D40.asm") +extern UNK_TYPE D_06000108; +extern UNK_TYPE D_060024E0; +extern UNK_TYPE D_060032F8; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Raf_0x80A16D40/func_80A16D6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Raf/func_80A16D40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Raf_0x80A16D40/EnRaf_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Raf/func_80A16D6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Raf_0x80A16D40/EnRaf_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Raf/EnRaf_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Raf_0x80A16D40/func_80A17060.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Raf/EnRaf_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Raf_0x80A16D40/func_80A1712C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Raf/func_80A17060.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Raf_0x80A16D40/func_80A171D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Raf/func_80A1712C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Raf_0x80A16D40/func_80A17414.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Raf/func_80A171D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Raf_0x80A16D40/func_80A17464.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Raf/func_80A17414.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Raf_0x80A16D40/func_80A17530.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Raf/func_80A17464.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Raf_0x80A16D40/func_80A175E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Raf/func_80A17530.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Raf_0x80A16D40/func_80A17848.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Raf/func_80A175E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Raf_0x80A16D40/func_80A178A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Raf/func_80A17848.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Raf_0x80A16D40/func_80A179C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Raf/func_80A178A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Raf_0x80A16D40/func_80A17C6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Raf/func_80A179C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Raf_0x80A16D40/func_80A17D14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Raf/func_80A17C6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Raf_0x80A16D40/func_80A17D54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Raf/func_80A17D14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Raf_0x80A16D40/func_80A17DDC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Raf/func_80A17D54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Raf_0x80A16D40/func_80A17E1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Raf/func_80A17DDC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Raf_0x80A16D40/func_80A18080.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Raf/func_80A17E1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Raf_0x80A16D40/func_80A180B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Raf/func_80A18080.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Raf_0x80A16D40/EnRaf_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Raf/func_80A180B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Raf_0x80A16D40/func_80A1859C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Raf/EnRaf_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Raf_0x80A16D40/EnRaf_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Raf/func_80A1859C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Raf_0x80A16D40/func_80A18A90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Raf/EnRaf_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Raf_0x80A16D40/func_80A18B8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Raf/func_80A18A90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Raf_0x80A16D40/func_80A18DA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Raf/func_80A18B8C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Raf/func_80A18DA0.s") diff --git a/src/overlays/actors/ovl_En_Raf/z_en_raf.h b/src/overlays/actors/ovl_En_Raf/z_en_raf.h index 7f1d69ea7e..171337e54a 100644 --- a/src/overlays/actors/ovl_En_Raf/z_en_raf.h +++ b/src/overlays/actors/ovl_En_Raf/z_en_raf.h @@ -1,13 +1,17 @@ #ifndef Z_EN_RAF_H #define Z_EN_RAF_H -#include +#include "global.h" struct EnRaf; +typedef void (*EnRafActionFunc)(struct EnRaf* this, GlobalContext* globalCtx); + typedef struct EnRaf { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x9A0]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0xEC]; + /* 0x0230 */ EnRafActionFunc actionFunc; + /* 0x0234 */ char unk_234[0x8B0]; } EnRaf; // size = 0xAE4 extern const ActorInit En_Raf_InitVars; diff --git a/src/overlays/actors/ovl_En_Rail_Skb/z_en_rail_skb.c b/src/overlays/actors/ovl_En_Rail_Skb/z_en_rail_skb.c index ed8dea5037..38579f83a4 100644 --- a/src/overlays/actors/ovl_En_Rail_Skb/z_en_rail_skb.c +++ b/src/overlays/actors/ovl_En_Rail_Skb/z_en_rail_skb.c @@ -9,6 +9,22 @@ void EnRailSkb_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnRailSkb_Update(Actor* thisx, GlobalContext* globalCtx); void EnRailSkb_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80B70FF8(EnRailSkb* this, GlobalContext* globalCtx); +void func_80B710E4(EnRailSkb* this, GlobalContext* globalCtx); +void func_80B7114C(EnRailSkb* this, GlobalContext* globalCtx); +void func_80B7123C(EnRailSkb* this, GlobalContext* globalCtx); +void func_80B71314(EnRailSkb* this, GlobalContext* globalCtx); +void func_80B713A4(EnRailSkb* this, GlobalContext* globalCtx); +void func_80B714D8(EnRailSkb* this, GlobalContext* globalCtx); +void func_80B715AC(EnRailSkb* this, GlobalContext* globalCtx); +void func_80B716A8(EnRailSkb* this, GlobalContext* globalCtx); +void func_80B717E0(EnRailSkb* this, GlobalContext* globalCtx); +void func_80B718C4(EnRailSkb* this, GlobalContext* globalCtx); +void func_80B71954(EnRailSkb* this, GlobalContext* globalCtx); +void func_80B71A58(EnRailSkb* this, GlobalContext* globalCtx); +void func_80B71BB8(EnRailSkb* this, GlobalContext* globalCtx); +void func_80B71EA8(EnRailSkb* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Rail_Skb_InitVars = { ACTOR_EN_RAIL_SKB, @@ -22,7 +38,6 @@ const ActorInit En_Rail_Skb_InitVars = { (ActorFunc)EnRailSkb_Draw, }; - // static ColliderJntSphElementInit sJntSphElementsInit[2] = { static ColliderJntSphElementInit D_80B73408[2] = { { @@ -41,11 +56,9 @@ static ColliderJntSphInit D_80B73450 = { 2, D_80B73408, // sJntSphElementsInit, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_80B73460 = { 2, 0, 0, 0, MASS_IMMOVABLE }; - // static DamageTable sDamageTable = { static DamageTable D_80B7346C = { /* Deku Nut */ DMG_ENTRY(0, 0x1), @@ -82,121 +95,122 @@ static DamageTable D_80B7346C = { /* Powder Keg */ DMG_ENTRY(1, 0xF), }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80B73490[] = { ICHAIN_F32(targetArrowOffset, 2000, ICHAIN_CONTINUE), ICHAIN_F32_DIV1000(gravity, -2000, ICHAIN_STOP), }; +#endif extern ColliderJntSphElementInit D_80B73408[2]; extern ColliderJntSphInit D_80B73450; extern CollisionCheckInfoInit2 D_80B73460; extern DamageTable D_80B7346C; extern InitChainEntry D_80B73490[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B708C0.asm") +extern UNK_TYPE D_060064E0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B70AB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B708C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B70B04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B70AB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B70D24.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B70B04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/EnRailSkb_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B70D24.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/EnRailSkb_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/EnRailSkb_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B70FA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/EnRailSkb_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B70FF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B70FA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B710AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B70FF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B710E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B710AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B71114.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B710E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B7114C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B71114.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B71228.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B7114C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B7123C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B71228.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B712FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B7123C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B71314.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B712FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B71354.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B71314.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B713A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B71354.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B71488.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B713A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B714D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B71488.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B7151C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B714D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B715AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B7151C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B71650.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B715AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B716A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B71650.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B717C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B716A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B717E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B717C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B718B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B717E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B718C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B718B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B71910.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B718C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B71954.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B71910.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B71A08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B71954.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B71A58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B71A08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B71B6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B71A58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B71BB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B71B6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B71D8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B71BB8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B71DF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B71D8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B71EA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B71DF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B71F3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B71EA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B72100.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B71F3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B72190.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B72100.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B723F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B72190.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B72430.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B723F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B725C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B72430.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B726B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B725C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B72830.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B726B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B7285C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B72830.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B72880.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B7285C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B72970.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B72880.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/EnRailSkb_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B72970.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B72E88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/EnRailSkb_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/func_80B7302C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B72E88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rail_Skb_0x80B708C0/EnRailSkb_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/func_80B7302C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rail_Skb/EnRailSkb_Draw.s") diff --git a/src/overlays/actors/ovl_En_Rail_Skb/z_en_rail_skb.h b/src/overlays/actors/ovl_En_Rail_Skb/z_en_rail_skb.h index 902dc2d13c..f6486f498b 100644 --- a/src/overlays/actors/ovl_En_Rail_Skb/z_en_rail_skb.h +++ b/src/overlays/actors/ovl_En_Rail_Skb/z_en_rail_skb.h @@ -1,13 +1,17 @@ #ifndef Z_EN_RAIL_SKB_H #define Z_EN_RAIL_SKB_H -#include +#include "global.h" struct EnRailSkb; +typedef void (*EnRailSkbActionFunc)(struct EnRailSkb* this, GlobalContext* globalCtx); + typedef struct EnRailSkb { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x2C0]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0xE4]; + /* 0x0228 */ EnRailSkbActionFunc actionFunc; + /* 0x022C */ char unk_22C[0x1D8]; } EnRailSkb; // size = 0x404 extern const ActorInit En_Rail_Skb_InitVars; diff --git a/src/overlays/actors/ovl_En_Railgibud/z_en_railgibud.c b/src/overlays/actors/ovl_En_Railgibud/z_en_railgibud.c index e6fcc3bc51..7f889ebfe6 100644 --- a/src/overlays/actors/ovl_En_Railgibud/z_en_railgibud.c +++ b/src/overlays/actors/ovl_En_Railgibud/z_en_railgibud.c @@ -22,7 +22,6 @@ const ActorInit En_Railgibud_InitVars = { (ActorFunc)EnRailgibud_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80BA82A0 = { { COLTYPE_HIT0, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,7 +29,6 @@ static ColliderCylinderInit D_80BA82A0 = { { 20, 70, 0, { 0, 0, 0 } }, }; - // static DamageTable sDamageTable = { static DamageTable D_80BA82CC = { /* Deku Nut */ DMG_ENTRY(0, 0x0), @@ -67,11 +65,9 @@ static DamageTable D_80BA82CC = { /* Powder Keg */ DMG_ENTRY(1, 0xF), }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_80BA82EC = { 8, 0, 0, 0, MASS_IMMOVABLE }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80BA82FC[] = { ICHAIN_F32(targetArrowOffset, 2000, ICHAIN_CONTINUE), @@ -79,109 +75,112 @@ static InitChainEntry D_80BA82FC[] = { ICHAIN_F32_DIV1000(gravity, -3500, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80BA82A0; extern DamageTable D_80BA82CC; extern CollisionCheckInfoInit2 D_80BA82EC; extern InitChainEntry D_80BA82FC[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA5400.asm") +extern UNK_TYPE D_0600ABE0; +extern UNK_TYPE D_06010B88; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/EnRailgibud_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA5400.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/EnRailgibud_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/EnRailgibud_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA57A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/EnRailgibud_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA57F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA57A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA59F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA57F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA5A34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA59F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA5AF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA5A34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA5B64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA5AF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA5DBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA5B64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA5E18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA5DBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA6054.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA5E18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA60B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA6054.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA6158.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA60B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA61A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA6158.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA6284.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA61A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA62D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA6284.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA6440.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA62D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA64AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA6440.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA6584.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA64AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA6604.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA6584.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA6664.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA6604.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA66C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA6664.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA6800.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA66C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA6974.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA6800.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA6B30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA6974.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA6B9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA6B30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA6D10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA6B9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA6DAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA6D10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA6DF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA6DAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA7088.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA6DF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA71E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA7088.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA7234.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA71E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA7388.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA7234.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA7434.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA7388.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA7578.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA7434.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA76C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA7578.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/EnRailgibud_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA76C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA7878.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/EnRailgibud_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA789C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA7878.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA78F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA789C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/EnRailgibud_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA78F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA7B6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/EnRailgibud_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA7C78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA7B6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA7CF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA7C78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA7D04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA7CF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA7D14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA7D04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA7D30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA7D14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA7DC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA7D30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Railgibud_0x80BA5400/func_80BA8050.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA7DC8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Railgibud/func_80BA8050.s") diff --git a/src/overlays/actors/ovl_En_Railgibud/z_en_railgibud.h b/src/overlays/actors/ovl_En_Railgibud/z_en_railgibud.h index 44dc53d6e1..66aac5d528 100644 --- a/src/overlays/actors/ovl_En_Railgibud/z_en_railgibud.h +++ b/src/overlays/actors/ovl_En_Railgibud/z_en_railgibud.h @@ -1,13 +1,17 @@ #ifndef Z_EN_RAILGIBUD_H #define Z_EN_RAILGIBUD_H -#include +#include "global.h" struct EnRailgibud; +typedef void (*EnRailgibudActionFunc)(struct EnRailgibud* this, GlobalContext* globalCtx); + typedef struct EnRailgibud { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x2C4]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x90]; + /* 0x01D4 */ EnRailgibudActionFunc actionFunc; + /* 0x01D8 */ char unk_1D8[0x230]; } EnRailgibud; // size = 0x408 extern const ActorInit En_Railgibud_InitVars; diff --git a/src/overlays/actors/ovl_En_Rat/z_en_rat.c b/src/overlays/actors/ovl_En_Rat/z_en_rat.c index 24969c796b..ef302a688d 100644 --- a/src/overlays/actors/ovl_En_Rat/z_en_rat.c +++ b/src/overlays/actors/ovl_En_Rat/z_en_rat.c @@ -22,7 +22,6 @@ const ActorInit En_Rat_InitVars = { (ActorFunc)EnRat_Draw, }; - // static ColliderSphereInit sSphereInit = { static ColliderSphereInit D_80A58400 = { { COLTYPE_NONE, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_SPHERE, }, @@ -30,7 +29,6 @@ static ColliderSphereInit D_80A58400 = { { 1, { { 0, 0, 0 }, 23 }, 100 }, }; - // static DamageTable sDamageTable = { static DamageTable D_80A5842C = { /* Deku Nut */ DMG_ENTRY(0, 0x1), @@ -67,11 +65,9 @@ static DamageTable D_80A5842C = { /* Powder Keg */ DMG_ENTRY(1, 0x0), }; - // sColChkInfoInit static CollisionCheckInfoInit D_80A5844C = { 1, 30, 30, 50 }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80A58464[] = { ICHAIN_S8(hintId, 97, ICHAIN_CONTINUE), @@ -79,67 +75,70 @@ static InitChainEntry D_80A58464[] = { ICHAIN_F32(targetArrowOffset, 5000, ICHAIN_STOP), }; +#endif extern ColliderSphereInit D_80A58400; extern DamageTable D_80A5842C; extern CollisionCheckInfoInit D_80A5844C; extern InitChainEntry D_80A58464[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rat_0x80A56150/EnRat_Init.asm") +extern UNK_TYPE D_06000174; +extern UNK_TYPE D_0600026C; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rat_0x80A56150/EnRat_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rat/EnRat_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rat_0x80A56150/func_80A563CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rat/EnRat_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rat_0x80A56150/func_80A56444.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rat/func_80A563CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rat_0x80A56150/func_80A5665C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rat/func_80A56444.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rat_0x80A56150/func_80A566E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rat/func_80A5665C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rat_0x80A56150/func_80A56994.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rat/func_80A566E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rat_0x80A56150/func_80A56AFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rat/func_80A56994.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rat_0x80A56150/func_80A56EB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rat/func_80A56AFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rat_0x80A56150/func_80A56F68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rat/func_80A56EB8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rat_0x80A56150/func_80A57010.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rat/func_80A56F68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rat_0x80A56150/func_80A57118.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rat/func_80A57010.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rat_0x80A56150/func_80A57180.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rat/func_80A57118.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rat_0x80A56150/func_80A5723C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rat/func_80A57180.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rat_0x80A56150/func_80A57330.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rat/func_80A5723C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rat_0x80A56150/func_80A57384.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rat/func_80A57330.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rat_0x80A56150/func_80A57488.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rat/func_80A57384.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rat_0x80A56150/func_80A574E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rat/func_80A57488.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rat_0x80A56150/func_80A57570.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rat/func_80A574E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rat_0x80A56150/func_80A575F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rat/func_80A57570.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rat_0x80A56150/func_80A5764C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rat/func_80A575F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rat_0x80A56150/func_80A57918.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rat/func_80A5764C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rat_0x80A56150/func_80A57984.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rat/func_80A57918.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rat_0x80A56150/func_80A57A08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rat/func_80A57984.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rat_0x80A56150/func_80A57A9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rat/func_80A57A08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rat_0x80A56150/EnRat_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rat/func_80A57A9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rat_0x80A56150/func_80A57F10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rat/EnRat_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rat_0x80A56150/func_80A57F4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rat/func_80A57F10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rat_0x80A56150/EnRat_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rat/func_80A57F4C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rat/EnRat_Draw.s") diff --git a/src/overlays/actors/ovl_En_Rat/z_en_rat.h b/src/overlays/actors/ovl_En_Rat/z_en_rat.h index 9335fac6f9..c3ad7eedc3 100644 --- a/src/overlays/actors/ovl_En_Rat/z_en_rat.h +++ b/src/overlays/actors/ovl_En_Rat/z_en_rat.h @@ -1,7 +1,7 @@ #ifndef Z_EN_RAT_H #define Z_EN_RAT_H -#include +#include "global.h" struct EnRat; diff --git a/src/overlays/actors/ovl_En_Rd/z_en_rd.c b/src/overlays/actors/ovl_En_Rd/z_en_rd.c index f6182a241c..e0cb90c269 100644 --- a/src/overlays/actors/ovl_En_Rd/z_en_rd.c +++ b/src/overlays/actors/ovl_En_Rd/z_en_rd.c @@ -9,6 +9,26 @@ void EnRd_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnRd_Update(Actor* thisx, GlobalContext* globalCtx); void EnRd_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_808D43AC(EnRd* this, GlobalContext* globalCtx); +void func_808D4660(EnRd* this, GlobalContext* globalCtx); +void func_808D4868(EnRd* this, GlobalContext* globalCtx); +void func_808D49E4(EnRd* this, GlobalContext* globalCtx); +void func_808D4B20(EnRd* this, GlobalContext* globalCtx); +void func_808D4CA8(EnRd* this, GlobalContext* globalCtx); +void func_808D4E60(EnRd* this, GlobalContext* globalCtx); +void func_808D506C(EnRd* this, GlobalContext* globalCtx); +void func_808D5440(EnRd* this, GlobalContext* globalCtx); +void func_808D56E4(EnRd* this, GlobalContext* globalCtx); +void func_808D58CC(EnRd* this, GlobalContext* globalCtx); +void func_808D5CCC(EnRd* this, GlobalContext* globalCtx); +void func_808D5DF4(EnRd* this, GlobalContext* globalCtx); +void func_808D5F18(EnRd* this, GlobalContext* globalCtx); +void func_808D6054(EnRd* this, GlobalContext* globalCtx); +void func_808D6130(EnRd* this, GlobalContext* globalCtx); +void func_808D6200(EnRd* this, GlobalContext* globalCtx); +void func_808D6388(EnRd* this, GlobalContext* globalCtx); +void func_808D65BC(EnRd* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Rd_InitVars = { ACTOR_EN_RD, @@ -22,7 +42,6 @@ const ActorInit En_Rd_InitVars = { (ActorFunc)EnRd_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_808D70E0 = { { COLTYPE_HIT0, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,7 +49,6 @@ static ColliderCylinderInit D_808D70E0 = { { 20, 70, 0, { 0, 0, 0 } }, }; - // static DamageTable sDamageTable = { static DamageTable D_808D710C = { /* Deku Nut */ DMG_ENTRY(0, 0x0), @@ -67,7 +85,6 @@ static DamageTable D_808D710C = { /* Powder Keg */ DMG_ENTRY(1, 0xF), }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_808D712C[] = { ICHAIN_F32(targetArrowOffset, 2000, ICHAIN_CONTINUE), @@ -75,106 +92,119 @@ static InitChainEntry D_808D712C[] = { ICHAIN_F32_DIV1000(gravity, -3500, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_808D70E0; extern DamageTable D_808D710C; extern InitChainEntry D_808D712C[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/EnRd_Init.asm") +extern UNK_TYPE D_06006678; +extern UNK_TYPE D_06006EEC; +extern UNK_TYPE D_060073A4; +extern UNK_TYPE D_060081A8; +extern UNK_TYPE D_06009298; +extern UNK_TYPE D_06009900; +extern UNK_TYPE D_0600A450; +extern UNK_TYPE D_0600ABE0; +extern UNK_TYPE D_060113EC; +extern UNK_TYPE D_060118D8; +extern UNK_TYPE D_06011DB8; +extern UNK_TYPE D_0601216C; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/EnRd_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/EnRd_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/func_808D4190.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/EnRd_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/func_808D41FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/func_808D4190.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/func_808D4260.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/func_808D41FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/func_808D4308.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/func_808D4260.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/func_808D43AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/func_808D4308.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/func_808D45D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/func_808D43AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/func_808D4660.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/func_808D45D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/func_808D47DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/func_808D4660.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/func_808D4868.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/func_808D47DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/func_808D49E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/func_808D4868.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/func_808D4A90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/func_808D49E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/func_808D4B20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/func_808D4A90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/func_808D4CA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/func_808D4B20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/func_808D4DC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/func_808D4CA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/func_808D4E60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/func_808D4DC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/func_808D4FE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/func_808D4E60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/func_808D506C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/func_808D4FE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/func_808D53C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/func_808D506C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/func_808D5440.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/func_808D53C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/func_808D5660.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/func_808D5440.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/func_808D56E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/func_808D5660.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/func_808D586C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/func_808D56E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/func_808D58CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/func_808D586C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/func_808D5C54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/func_808D58CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/func_808D5CCC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/func_808D5C54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/func_808D5D88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/func_808D5CCC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/func_808D5DF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/func_808D5D88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/func_808D5E98.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/func_808D5DF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/func_808D5F18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/func_808D5E98.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/func_808D6008.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/func_808D5F18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/func_808D6054.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/func_808D6008.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/func_808D60B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/func_808D6054.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/func_808D6130.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/func_808D60B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/func_808D616C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/func_808D6130.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/func_808D6200.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/func_808D616C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/func_808D6310.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/func_808D6200.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/func_808D6388.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/func_808D6310.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/func_808D64D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/func_808D6388.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/func_808D65BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/func_808D64D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/func_808D66A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/func_808D65BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/func_808D6814.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/func_808D66A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/func_808D6A94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/func_808D6814.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/func_808D6B64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/func_808D6A94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/EnRd_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/func_808D6B64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/func_808D6DA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/EnRd_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/func_808D6DFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/func_808D6DA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rd_0x808D3E20/EnRd_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/func_808D6DFC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rd/EnRd_Draw.s") diff --git a/src/overlays/actors/ovl_En_Rd/z_en_rd.h b/src/overlays/actors/ovl_En_Rd/z_en_rd.h index c524b7720a..308a4e1503 100644 --- a/src/overlays/actors/ovl_En_Rd/z_en_rd.h +++ b/src/overlays/actors/ovl_En_Rd/z_en_rd.h @@ -1,13 +1,17 @@ #ifndef Z_EN_RD_H #define Z_EN_RD_H -#include +#include "global.h" struct EnRd; +typedef void (*EnRdActionFunc)(struct EnRd* this, GlobalContext* globalCtx); + typedef struct EnRd { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x2B0]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ EnRdActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x268]; } EnRd; // size = 0x3F4 extern const ActorInit En_Rd_InitVars; diff --git a/src/overlays/actors/ovl_En_Recepgirl/z_en_recepgirl.c b/src/overlays/actors/ovl_En_Recepgirl/z_en_recepgirl.c index 37624ff47a..516dae5cc8 100644 --- a/src/overlays/actors/ovl_En_Recepgirl/z_en_recepgirl.c +++ b/src/overlays/actors/ovl_En_Recepgirl/z_en_recepgirl.c @@ -22,35 +22,38 @@ const ActorInit En_Recepgirl_InitVars = { (ActorFunc)EnRecepgirl_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80C106C0[] = { ICHAIN_U8(targetMode, 6, ICHAIN_CONTINUE), ICHAIN_F32(targetArrowOffset, 1000, ICHAIN_STOP), }; - -extern InitChainEntry D_80C106C0[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Recepgirl_0x80C0FFD0/EnRecepgirl_Init.asm") +extern InitChainEntry D_80C106C0[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Recepgirl_0x80C0FFD0/EnRecepgirl_Destroy.asm") +extern UNK_TYPE D_06001384; +extern UNK_TYPE D_06009890; +extern UNK_TYPE D_0600A280; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Recepgirl_0x80C0FFD0/func_80C100DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/EnRecepgirl_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Recepgirl_0x80C0FFD0/func_80C10148.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/EnRecepgirl_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Recepgirl_0x80C0FFD0/func_80C1019C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/func_80C100DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Recepgirl_0x80C0FFD0/func_80C10290.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/func_80C10148.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Recepgirl_0x80C0FFD0/func_80C102D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/func_80C1019C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Recepgirl_0x80C0FFD0/EnRecepgirl_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/func_80C10290.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Recepgirl_0x80C0FFD0/func_80C10558.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/func_80C102D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Recepgirl_0x80C0FFD0/func_80C10590.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/EnRecepgirl_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Recepgirl_0x80C0FFD0/EnRecepgirl_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/func_80C10558.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/func_80C10590.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/EnRecepgirl_Draw.s") diff --git a/src/overlays/actors/ovl_En_Recepgirl/z_en_recepgirl.h b/src/overlays/actors/ovl_En_Recepgirl/z_en_recepgirl.h index 05d58b591c..5082c5edd4 100644 --- a/src/overlays/actors/ovl_En_Recepgirl/z_en_recepgirl.h +++ b/src/overlays/actors/ovl_En_Recepgirl/z_en_recepgirl.h @@ -1,13 +1,17 @@ #ifndef Z_EN_RECEPGIRL_H #define Z_EN_RECEPGIRL_H -#include +#include "global.h" struct EnRecepgirl; +typedef void (*EnRecepgirlActionFunc)(struct EnRecepgirl* this, GlobalContext* globalCtx); + typedef struct EnRecepgirl { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x170]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x164]; + /* 0x02A8 */ EnRecepgirlActionFunc actionFunc; + /* 0x02AC */ char unk_2AC[0x8]; } EnRecepgirl; // size = 0x2B4 extern const ActorInit En_Recepgirl_InitVars; diff --git a/src/overlays/actors/ovl_En_Rg/z_en_rg.c b/src/overlays/actors/ovl_En_Rg/z_en_rg.c index 2894d38859..67d08ed98e 100644 --- a/src/overlays/actors/ovl_En_Rg/z_en_rg.c +++ b/src/overlays/actors/ovl_En_Rg/z_en_rg.c @@ -9,6 +9,9 @@ void EnRg_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnRg_Update(Actor* thisx, GlobalContext* globalCtx); void EnRg_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80BF4EBC(EnRg* this, GlobalContext* globalCtx); +void func_80BF4FC4(EnRg* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Rg_InitVars = { ACTOR_EN_RG, @@ -22,7 +25,6 @@ const ActorInit En_Rg_InitVars = { (ActorFunc)EnRg_Draw, }; - // static ColliderSphereInit sSphereInit = { static ColliderSphereInit D_80BF5760 = { { COLTYPE_METAL, AT_ON | AT_TYPE_PLAYER | AT_TYPE_ENEMY, AC_ON | AC_HARD | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_SPHERE, }, @@ -30,7 +32,6 @@ static ColliderSphereInit D_80BF5760 = { { 0, { { 0, 0, 0 }, 20 }, 100 }, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80BF578C = { { COLTYPE_HIT1, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -38,11 +39,9 @@ static ColliderCylinderInit D_80BF578C = { { 20, 62, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_80BF57B8 = { 0, 0, 0, 0, MASS_IMMOVABLE }; - // static DamageTable sDamageTable = { static DamageTable D_80BF57C4 = { /* Deku Nut */ DMG_ENTRY(1, 0x0), @@ -79,71 +78,75 @@ static DamageTable D_80BF57C4 = { /* Powder Keg */ DMG_ENTRY(1, 0x0), }; +#endif extern ColliderSphereInit D_80BF5760; extern ColliderCylinderInit D_80BF578C; extern CollisionCheckInfoInit2 D_80BF57B8; extern DamageTable D_80BF57C4; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rg_0x80BF3920/func_80BF3920.asm") +extern UNK_TYPE D_060091A8; +extern UNK_TYPE D_06011AC8; +extern UNK_TYPE D_06014D00; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rg_0x80BF3920/func_80BF3C64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rg/func_80BF3920.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rg_0x80BF3920/func_80BF3DA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rg/func_80BF3C64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rg_0x80BF3920/func_80BF3DC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rg/func_80BF3DA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rg_0x80BF3920/func_80BF3E88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rg/func_80BF3DC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rg_0x80BF3920/func_80BF3ED4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rg/func_80BF3E88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rg_0x80BF3920/func_80BF3F14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rg/func_80BF3ED4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rg_0x80BF3920/func_80BF3FF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rg/func_80BF3F14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rg_0x80BF3920/func_80BF4024.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rg/func_80BF3FF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rg_0x80BF3920/func_80BF409C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rg/func_80BF4024.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rg_0x80BF3920/func_80BF40F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rg/func_80BF409C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rg_0x80BF3920/func_80BF416C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rg/func_80BF40F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rg_0x80BF3920/func_80BF4220.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rg/func_80BF416C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rg_0x80BF3920/func_80BF42BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rg/func_80BF4220.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rg_0x80BF3920/func_80BF43FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rg/func_80BF42BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rg_0x80BF3920/func_80BF4560.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rg/func_80BF43FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rg_0x80BF3920/func_80BF45B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rg/func_80BF4560.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rg_0x80BF3920/func_80BF47AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rg/func_80BF45B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rg_0x80BF3920/func_80BF4934.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rg/func_80BF47AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rg_0x80BF3920/func_80BF4964.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rg/func_80BF4934.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rg_0x80BF3920/func_80BF4AB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rg/func_80BF4964.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rg_0x80BF3920/func_80BF4D64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rg/func_80BF4AB8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rg_0x80BF3920/func_80BF4DA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rg/func_80BF4D64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rg_0x80BF3920/func_80BF4EBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rg/func_80BF4DA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rg_0x80BF3920/func_80BF4FC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rg/func_80BF4EBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rg_0x80BF3920/EnRg_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rg/func_80BF4FC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rg_0x80BF3920/EnRg_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rg/EnRg_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rg_0x80BF3920/EnRg_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rg/EnRg_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rg_0x80BF3920/func_80BF547C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rg/EnRg_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rg_0x80BF3920/func_80BF5588.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rg/func_80BF547C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rg_0x80BF3920/EnRg_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rg/func_80BF5588.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rg/EnRg_Draw.s") diff --git a/src/overlays/actors/ovl_En_Rg/z_en_rg.h b/src/overlays/actors/ovl_En_Rg/z_en_rg.h index 9fe4c686a3..78a3f155bf 100644 --- a/src/overlays/actors/ovl_En_Rg/z_en_rg.h +++ b/src/overlays/actors/ovl_En_Rg/z_en_rg.h @@ -1,13 +1,17 @@ #ifndef Z_EN_RG_H #define Z_EN_RG_H -#include +#include "global.h" struct EnRg; +typedef void (*EnRgActionFunc)(struct EnRg* this, GlobalContext* globalCtx); + typedef struct EnRg { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x988]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ EnRgActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x940]; } EnRg; // size = 0xACC extern const ActorInit En_Rg_InitVars; diff --git a/src/overlays/actors/ovl_En_River_Sound/z_en_river_sound.c b/src/overlays/actors/ovl_En_River_Sound/z_en_river_sound.c index 80d90e3d55..ef39aafb17 100644 --- a/src/overlays/actors/ovl_En_River_Sound/z_en_river_sound.c +++ b/src/overlays/actors/ovl_En_River_Sound/z_en_river_sound.c @@ -23,8 +23,8 @@ const ActorInit En_River_Sound_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_River_Sound_0x808A7E30/EnRiverSound_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_River_Sound/EnRiverSound_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_River_Sound_0x808A7E30/EnRiverSound_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_River_Sound/EnRiverSound_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_River_Sound_0x808A7E30/EnRiverSound_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_River_Sound/EnRiverSound_Draw.s") diff --git a/src/overlays/actors/ovl_En_River_Sound/z_en_river_sound.h b/src/overlays/actors/ovl_En_River_Sound/z_en_river_sound.h index b782deb3ba..dc02f58fac 100644 --- a/src/overlays/actors/ovl_En_River_Sound/z_en_river_sound.h +++ b/src/overlays/actors/ovl_En_River_Sound/z_en_river_sound.h @@ -1,7 +1,7 @@ #ifndef Z_EN_RIVER_SOUND_H #define Z_EN_RIVER_SOUND_H -#include +#include "global.h" struct EnRiverSound; diff --git a/src/overlays/actors/ovl_En_Rr/z_en_rr.c b/src/overlays/actors/ovl_En_Rr/z_en_rr.c index 0da5bb1910..f1094a1540 100644 --- a/src/overlays/actors/ovl_En_Rr/z_en_rr.c +++ b/src/overlays/actors/ovl_En_Rr/z_en_rr.c @@ -9,6 +9,14 @@ void EnRr_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnRr_Update(Actor* thisx, GlobalContext* globalCtx); void EnRr_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_808FAF94(EnRr* this, GlobalContext* globalCtx); +void func_808FB088(EnRr* this, GlobalContext* globalCtx); +void func_808FB1C0(EnRr* this, GlobalContext* globalCtx); +void func_808FB2C0(EnRr* this, GlobalContext* globalCtx); +void func_808FB42C(EnRr* this, GlobalContext* globalCtx); +void func_808FB680(EnRr* this, GlobalContext* globalCtx); +void func_808FB710(EnRr* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Rr_InitVars = { ACTOR_EN_RR, @@ -22,7 +30,6 @@ const ActorInit En_Rr_InitVars = { (ActorFunc)EnRr_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_808FC150 = { { COLTYPE_HIT0, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,7 +37,6 @@ static ColliderCylinderInit D_808FC150 = { { 45, 60, 0, { 0, 0, 0 } }, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_808FC17C = { { COLTYPE_HIT0, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_TYPE_PLAYER, OC1_NONE, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -38,7 +44,6 @@ static ColliderCylinderInit D_808FC17C = { { 30, 45, -30, { 0, 0, 0 } }, }; - // static DamageTable sDamageTable = { static DamageTable D_808FC1A8 = { /* Deku Nut */ DMG_ENTRY(0, 0x0), @@ -75,11 +80,9 @@ static DamageTable D_808FC1A8 = { /* Powder Keg */ DMG_ENTRY(1, 0x0), }; - // sColChkInfoInit static CollisionCheckInfoInit D_808FC1C8 = { 3, 45, 60, 250 }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_808FC1D0[] = { ICHAIN_S8(hintId, 55, ICHAIN_CONTINUE), @@ -89,70 +92,72 @@ static InitChainEntry D_808FC1D0[] = { ICHAIN_F32(targetArrowOffset, 30, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_808FC150; extern ColliderCylinderInit D_808FC17C; extern DamageTable D_808FC1A8; extern CollisionCheckInfoInit D_808FC1C8; extern InitChainEntry D_808FC1D0[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rr_0x808F9E00/EnRr_Init.asm") +extern UNK_TYPE D_06000470; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rr_0x808F9E00/EnRr_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rr/EnRr_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rr_0x808F9E00/func_808FA01C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rr/EnRr_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rr_0x808F9E00/func_808FA11C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rr/func_808FA01C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rr_0x808F9E00/func_808FA19C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rr/func_808FA11C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rr_0x808F9E00/func_808FA238.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rr/func_808FA19C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rr_0x808F9E00/func_808FA260.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rr/func_808FA238.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rr_0x808F9E00/func_808FA344.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rr/func_808FA260.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rr_0x808F9E00/func_808FA3F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rr/func_808FA344.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rr_0x808F9E00/func_808FA4F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rr/func_808FA3F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rr_0x808F9E00/func_808FA6B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rr/func_808FA4F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rr_0x808F9E00/func_808FA7AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rr/func_808FA6B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rr_0x808F9E00/func_808FA870.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rr/func_808FA7AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rr_0x808F9E00/func_808FA910.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rr/func_808FA870.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rr_0x808F9E00/func_808FA9CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rr/func_808FA910.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rr_0x808F9E00/func_808FAA94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rr/func_808FA9CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rr_0x808F9E00/func_808FAC80.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rr/func_808FAA94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rr_0x808F9E00/func_808FAD1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rr/func_808FAC80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rr_0x808F9E00/func_808FAE50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rr/func_808FAD1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rr_0x808F9E00/func_808FAF94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rr/func_808FAE50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rr_0x808F9E00/func_808FB088.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rr/func_808FAF94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rr_0x808F9E00/func_808FB1C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rr/func_808FB088.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rr_0x808F9E00/func_808FB2C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rr/func_808FB1C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rr_0x808F9E00/func_808FB398.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rr/func_808FB2C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rr_0x808F9E00/func_808FB42C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rr/func_808FB398.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rr_0x808F9E00/func_808FB680.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rr/func_808FB42C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rr_0x808F9E00/func_808FB710.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rr/func_808FB680.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rr_0x808F9E00/func_808FB794.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rr/func_808FB710.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rr_0x808F9E00/EnRr_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rr/func_808FB794.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rr_0x808F9E00/EnRr_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rr/EnRr_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rr/EnRr_Draw.s") diff --git a/src/overlays/actors/ovl_En_Rr/z_en_rr.h b/src/overlays/actors/ovl_En_Rr/z_en_rr.h index 16b0ff1a93..bc6cea89b2 100644 --- a/src/overlays/actors/ovl_En_Rr/z_en_rr.h +++ b/src/overlays/actors/ovl_En_Rr/z_en_rr.h @@ -1,13 +1,16 @@ #ifndef Z_EN_RR_H #define Z_EN_RR_H -#include +#include "global.h" struct EnRr; +typedef void (*EnRrActionFunc)(struct EnRr* this, GlobalContext* globalCtx); + typedef struct EnRr { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x280]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ EnRrActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x27C]; } EnRr; // size = 0x3C4 extern const ActorInit En_Rr_InitVars; diff --git a/src/overlays/actors/ovl_En_Rsn/z_en_rsn.h b/src/overlays/actors/ovl_En_Rsn/z_en_rsn.h index b59d16ac60..b9a607a1c6 100644 --- a/src/overlays/actors/ovl_En_Rsn/z_en_rsn.h +++ b/src/overlays/actors/ovl_En_Rsn/z_en_rsn.h @@ -1,7 +1,7 @@ #ifndef Z_EN_RSN_H #define Z_EN_RSN_H -#include +#include "global.h" struct EnRsn; diff --git a/src/overlays/actors/ovl_En_Ru/z_en_ru.c b/src/overlays/actors/ovl_En_Ru/z_en_ru.c index fe129aed53..90f4b3eb19 100644 --- a/src/overlays/actors/ovl_En_Ru/z_en_ru.c +++ b/src/overlays/actors/ovl_En_Ru/z_en_ru.c @@ -9,6 +9,8 @@ void EnRu_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnRu_Update(Actor* thisx, GlobalContext* globalCtx); void EnRu_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80A38DF4(EnRu* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Ru_InitVars = { ACTOR_EN_RU, @@ -22,7 +24,6 @@ const ActorInit En_Ru_InitVars = { (ActorFunc)EnRu_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80A39450 = { { COLTYPE_HIT0, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,11 +31,9 @@ static ColliderCylinderInit D_80A39450 = { { 18, 64, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_80A3947C = { 0, 0, 0, 0, MASS_IMMOVABLE }; - // static DamageTable sDamageTable = { static DamageTable D_80A39488 = { /* Deku Nut */ DMG_ENTRY(0, 0x0), @@ -71,32 +70,34 @@ static DamageTable D_80A39488 = { /* Powder Keg */ DMG_ENTRY(0, 0x0), }; +#endif extern ColliderCylinderInit D_80A39450; extern CollisionCheckInfoInit2 D_80A3947C; extern DamageTable D_80A39488; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ru_0x80A389A0/func_80A389A0.asm") +extern UNK_TYPE D_0600C700; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ru_0x80A389A0/func_80A38A68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ru/func_80A389A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ru_0x80A389A0/func_80A38B7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ru/func_80A38A68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ru_0x80A389A0/func_80A38BF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ru/func_80A38B7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ru_0x80A389A0/func_80A38C70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ru/func_80A38BF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ru_0x80A389A0/func_80A38DF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ru/func_80A38C70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ru_0x80A389A0/EnRu_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ru/func_80A38DF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ru_0x80A389A0/EnRu_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ru/EnRu_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ru_0x80A389A0/EnRu_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ru/EnRu_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ru_0x80A389A0/func_80A38FB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ru/EnRu_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ru_0x80A389A0/func_80A390F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ru/func_80A38FB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ru_0x80A389A0/EnRu_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ru/func_80A390F8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ru/EnRu_Draw.s") diff --git a/src/overlays/actors/ovl_En_Ru/z_en_ru.h b/src/overlays/actors/ovl_En_Ru/z_en_ru.h index 92eb352989..d8b6f93f92 100644 --- a/src/overlays/actors/ovl_En_Ru/z_en_ru.h +++ b/src/overlays/actors/ovl_En_Ru/z_en_ru.h @@ -1,13 +1,16 @@ #ifndef Z_EN_RU_H #define Z_EN_RU_H -#include +#include "global.h" struct EnRu; +typedef void (*EnRuActionFunc)(struct EnRu* this, GlobalContext* globalCtx); + typedef struct EnRu { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x310]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ EnRuActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x30C]; } EnRu; // size = 0x454 extern const ActorInit En_Ru_InitVars; diff --git a/src/overlays/actors/ovl_En_Ruppecrow/z_en_ruppecrow.c b/src/overlays/actors/ovl_En_Ruppecrow/z_en_ruppecrow.c index 9e048aeaab..2b19b33a7c 100644 --- a/src/overlays/actors/ovl_En_Ruppecrow/z_en_ruppecrow.c +++ b/src/overlays/actors/ovl_En_Ruppecrow/z_en_ruppecrow.c @@ -22,7 +22,6 @@ const ActorInit En_Ruppecrow_InitVars = { (ActorFunc)EnRuppecrow_Draw, }; - // static ColliderJntSphElementInit sJntSphElementsInit[1] = { static ColliderJntSphElementInit D_80BE39B0[1] = { { @@ -37,11 +36,9 @@ static ColliderJntSphInit D_80BE39D4 = { 1, D_80BE39B0, // sJntSphElementsInit, }; - // sColChkInfoInit static CollisionCheckInfoInit D_80BE39E4 = { 1, 15, 30, 30 }; - // static DamageTable sDamageTable = { static DamageTable D_80BE39EC = { /* Deku Nut */ DMG_ENTRY(0, 0x1), @@ -78,61 +75,62 @@ static DamageTable D_80BE39EC = { /* Powder Keg */ DMG_ENTRY(1, 0x0), }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80BE3A0C[] = { ICHAIN_F32_DIV1000(gravity, -500, ICHAIN_CONTINUE), ICHAIN_F32(targetArrowOffset, 2000, ICHAIN_STOP), }; +#endif extern ColliderJntSphElementInit D_80BE39B0[1]; extern ColliderJntSphInit D_80BE39D4; extern CollisionCheckInfoInit D_80BE39E4; extern DamageTable D_80BE39EC; extern InitChainEntry D_80BE3A0C[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ruppecrow_0x80BE2260/func_80BE2260.asm") +extern UNK_TYPE D_060000F0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ruppecrow_0x80BE2260/func_80BE2330.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ruppecrow/func_80BE2260.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ruppecrow_0x80BE2260/func_80BE24CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ruppecrow/func_80BE2330.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ruppecrow_0x80BE2260/func_80BE2668.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ruppecrow/func_80BE24CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ruppecrow_0x80BE2260/func_80BE2728.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ruppecrow/func_80BE2668.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ruppecrow_0x80BE2260/func_80BE2794.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ruppecrow/func_80BE2728.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ruppecrow_0x80BE2260/func_80BE2808.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ruppecrow/func_80BE2794.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ruppecrow_0x80BE2260/func_80BE2874.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ruppecrow/func_80BE2808.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ruppecrow_0x80BE2260/func_80BE2B80.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ruppecrow/func_80BE2874.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ruppecrow_0x80BE2260/func_80BE2D4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ruppecrow/func_80BE2B80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ruppecrow_0x80BE2260/func_80BE2E18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ruppecrow/func_80BE2D4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ruppecrow_0x80BE2260/func_80BE2F6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ruppecrow/func_80BE2E18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ruppecrow_0x80BE2260/func_80BE30F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ruppecrow/func_80BE2F6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ruppecrow_0x80BE2260/func_80BE3178.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ruppecrow/func_80BE30F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ruppecrow_0x80BE2260/func_80BE32DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ruppecrow/func_80BE3178.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ruppecrow_0x80BE2260/func_80BE3354.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ruppecrow/func_80BE32DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ruppecrow_0x80BE2260/func_80BE348C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ruppecrow/func_80BE3354.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ruppecrow_0x80BE2260/func_80BE35A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ruppecrow/func_80BE348C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ruppecrow_0x80BE2260/EnRuppecrow_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ruppecrow/func_80BE35A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ruppecrow_0x80BE2260/EnRuppecrow_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ruppecrow/EnRuppecrow_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ruppecrow_0x80BE2260/EnRuppecrow_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ruppecrow/EnRuppecrow_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ruppecrow_0x80BE2260/EnRuppecrow_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ruppecrow/EnRuppecrow_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ruppecrow/EnRuppecrow_Draw.s") diff --git a/src/overlays/actors/ovl_En_Ruppecrow/z_en_ruppecrow.h b/src/overlays/actors/ovl_En_Ruppecrow/z_en_ruppecrow.h index e74ab02a4d..13ec079e9c 100644 --- a/src/overlays/actors/ovl_En_Ruppecrow/z_en_ruppecrow.h +++ b/src/overlays/actors/ovl_En_Ruppecrow/z_en_ruppecrow.h @@ -1,13 +1,17 @@ #ifndef Z_EN_RUPPECROW_H #define Z_EN_RUPPECROW_H -#include +#include "global.h" struct EnRuppecrow; +typedef void (*EnRuppecrowActionFunc)(struct EnRuppecrow* this, GlobalContext* globalCtx); + typedef struct EnRuppecrow { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x1C0]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x94]; + /* 0x01D8 */ EnRuppecrowActionFunc actionFunc; + /* 0x01DC */ char unk_1DC[0x128]; } EnRuppecrow; // size = 0x304 extern const ActorInit En_Ruppecrow_InitVars; diff --git a/src/overlays/actors/ovl_En_Rz/z_en_rz.c b/src/overlays/actors/ovl_En_Rz/z_en_rz.c index ac7d967e0a..e812c284b8 100644 --- a/src/overlays/actors/ovl_En_Rz/z_en_rz.c +++ b/src/overlays/actors/ovl_En_Rz/z_en_rz.c @@ -9,6 +9,20 @@ void EnRz_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnRz_Update(Actor* thisx, GlobalContext* globalCtx); void EnRz_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80BFC058(EnRz* this, GlobalContext* globalCtx); +void func_80BFC078(EnRz* this, GlobalContext* globalCtx); +void func_80BFC19C(EnRz* this, GlobalContext* globalCtx); +void func_80BFC214(EnRz* this, GlobalContext* globalCtx); +void func_80BFC270(EnRz* this, GlobalContext* globalCtx); +void func_80BFC2F4(EnRz* this, GlobalContext* globalCtx); +void func_80BFC36C(EnRz* this, GlobalContext* globalCtx); +void func_80BFC3F8(EnRz* this, GlobalContext* globalCtx); +void func_80BFC608(EnRz* this, GlobalContext* globalCtx); +void func_80BFC674(EnRz* this, GlobalContext* globalCtx); +void func_80BFC728(EnRz* this, GlobalContext* globalCtx); +void func_80BFC7E0(EnRz* this, GlobalContext* globalCtx); +void func_80BFC8F8(EnRz* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Rz_InitVars = { ACTOR_EN_RZ, @@ -22,7 +36,6 @@ const ActorInit En_Rz_InitVars = { (ActorFunc)EnRz_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80BFCCF4 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_ENEMY, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,70 +43,73 @@ static ColliderCylinderInit D_80BFCCF4 = { { 20, 40, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80BFCCF4; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rz_0x80BFB480/EnRz_Init.asm") +extern ColliderCylinderInit D_80BFCCF4; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rz_0x80BFB480/func_80BFB780.asm") +extern UNK_TYPE D_06003A20; +extern UNK_TYPE D_0600D768; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rz_0x80BFB480/func_80BFB864.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rz/EnRz_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rz_0x80BFB480/func_80BFB9E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rz/func_80BFB780.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rz_0x80BFB480/func_80BFBA1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rz/func_80BFB864.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rz_0x80BFB480/func_80BFBA50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rz/func_80BFB9E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rz_0x80BFB480/func_80BFBB44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rz/func_80BFBA1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rz_0x80BFB480/func_80BFBC78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rz/func_80BFBA50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rz_0x80BFB480/func_80BFBCEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rz/func_80BFBB44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rz_0x80BFB480/func_80BFBD54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rz/func_80BFBC78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rz_0x80BFB480/func_80BFBDA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rz/func_80BFBCEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rz_0x80BFB480/func_80BFBDFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rz/func_80BFBD54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rz_0x80BFB480/EnRz_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rz/func_80BFBDA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rz_0x80BFB480/func_80BFBE70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rz/func_80BFBDFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rz_0x80BFB480/func_80BFBFAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rz/EnRz_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rz_0x80BFB480/func_80BFC058.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rz/func_80BFBE70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rz_0x80BFB480/func_80BFC078.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rz/func_80BFBFAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rz_0x80BFB480/func_80BFC19C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rz/func_80BFC058.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rz_0x80BFB480/func_80BFC214.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rz/func_80BFC078.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rz_0x80BFB480/func_80BFC270.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rz/func_80BFC19C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rz_0x80BFB480/func_80BFC2F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rz/func_80BFC214.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rz_0x80BFB480/func_80BFC36C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rz/func_80BFC270.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rz_0x80BFB480/func_80BFC3F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rz/func_80BFC2F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rz_0x80BFB480/func_80BFC608.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rz/func_80BFC36C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rz_0x80BFB480/func_80BFC674.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rz/func_80BFC3F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rz_0x80BFB480/func_80BFC728.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rz/func_80BFC608.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rz_0x80BFB480/func_80BFC7E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rz/func_80BFC674.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rz_0x80BFB480/func_80BFC8AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rz/func_80BFC728.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rz_0x80BFB480/func_80BFC8F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rz/func_80BFC7E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rz_0x80BFB480/EnRz_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rz/func_80BFC8AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rz_0x80BFB480/func_80BFCAD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rz/func_80BFC8F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Rz_0x80BFB480/EnRz_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rz/EnRz_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rz/func_80BFCAD0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Rz/EnRz_Draw.s") diff --git a/src/overlays/actors/ovl_En_Rz/z_en_rz.h b/src/overlays/actors/ovl_En_Rz/z_en_rz.h index e6600b8102..a3f0e853f2 100644 --- a/src/overlays/actors/ovl_En_Rz/z_en_rz.h +++ b/src/overlays/actors/ovl_En_Rz/z_en_rz.h @@ -1,13 +1,16 @@ #ifndef Z_EN_RZ_H #define Z_EN_RZ_H -#include +#include "global.h" struct EnRz; +typedef void (*EnRzActionFunc)(struct EnRz* this, GlobalContext* globalCtx); + typedef struct EnRz { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x2F0]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x2EC]; + /* 0x0430 */ EnRzActionFunc actionFunc; } EnRz; // size = 0x434 extern const ActorInit En_Rz_InitVars; diff --git a/src/overlays/actors/ovl_En_S_Goro/z_en_s_goro.c b/src/overlays/actors/ovl_En_S_Goro/z_en_s_goro.c index 76ee5a28ab..bc1b6c91dd 100644 --- a/src/overlays/actors/ovl_En_S_Goro/z_en_s_goro.c +++ b/src/overlays/actors/ovl_En_S_Goro/z_en_s_goro.c @@ -22,7 +22,6 @@ const ActorInit En_S_Goro_InitVars = { (ActorFunc)EnSGoro_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80BBF820 = { { COLTYPE_HIT1, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,11 +29,9 @@ static ColliderCylinderInit D_80BBF820 = { { 0, 0, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_80BBF84C = { 0, 0, 0, 0, MASS_IMMOVABLE }; - // static DamageTable sDamageTable = { static DamageTable D_80BBF858 = { /* Deku Nut */ DMG_ENTRY(1, 0x0), @@ -71,82 +68,85 @@ static DamageTable D_80BBF858 = { /* Powder Keg */ DMG_ENTRY(1, 0x0), }; +#endif extern ColliderCylinderInit D_80BBF820; extern CollisionCheckInfoInit2 D_80BBF84C; extern DamageTable D_80BBF858; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_S_Goro_0x80BBCA80/func_80BBCA80.asm") +extern UNK_TYPE D_060091A8; +extern UNK_TYPE D_06012DE0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_S_Goro_0x80BBCA80/func_80BBD348.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_S_Goro/func_80BBCA80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_S_Goro_0x80BBCA80/func_80BBD8F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_S_Goro/func_80BBD348.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_S_Goro_0x80BBCA80/func_80BBD93C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_S_Goro/func_80BBD8F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_S_Goro_0x80BBCA80/func_80BBD98C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_S_Goro/func_80BBD93C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_S_Goro_0x80BBCA80/func_80BBDACC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_S_Goro/func_80BBD98C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_S_Goro_0x80BBCA80/func_80BBDC34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_S_Goro/func_80BBDACC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_S_Goro_0x80BBCA80/func_80BBDCFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_S_Goro/func_80BBDC34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_S_Goro_0x80BBCA80/func_80BBDDF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_S_Goro/func_80BBDCFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_S_Goro_0x80BBCA80/func_80BBDE78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_S_Goro/func_80BBDDF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_S_Goro_0x80BBCA80/func_80BBDF28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_S_Goro/func_80BBDE78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_S_Goro_0x80BBCA80/func_80BBDFA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_S_Goro/func_80BBDF28.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_S_Goro_0x80BBCA80/func_80BBE05C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_S_Goro/func_80BBDFA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_S_Goro_0x80BBCA80/func_80BBE0E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_S_Goro/func_80BBE05C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_S_Goro_0x80BBCA80/func_80BBE144.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_S_Goro/func_80BBE0E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_S_Goro_0x80BBCA80/func_80BBE374.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_S_Goro/func_80BBE144.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_S_Goro_0x80BBCA80/func_80BBE498.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_S_Goro/func_80BBE374.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_S_Goro_0x80BBCA80/func_80BBE73C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_S_Goro/func_80BBE498.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_S_Goro_0x80BBCA80/func_80BBE844.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_S_Goro/func_80BBE73C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_S_Goro_0x80BBCA80/func_80BBE904.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_S_Goro/func_80BBE844.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_S_Goro_0x80BBCA80/func_80BBE9F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_S_Goro/func_80BBE904.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_S_Goro_0x80BBCA80/func_80BBEAD8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_S_Goro/func_80BBE9F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_S_Goro_0x80BBCA80/func_80BBEBF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_S_Goro/func_80BBEAD8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_S_Goro_0x80BBCA80/func_80BBECBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_S_Goro/func_80BBEBF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_S_Goro_0x80BBCA80/func_80BBEEB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_S_Goro/func_80BBECBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_S_Goro_0x80BBCA80/func_80BBEF34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_S_Goro/func_80BBEEB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_S_Goro_0x80BBCA80/func_80BBEFA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_S_Goro/func_80BBEF34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_S_Goro_0x80BBCA80/func_80BBF01C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_S_Goro/func_80BBEFA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_S_Goro_0x80BBCA80/EnSGoro_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_S_Goro/func_80BBF01C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_S_Goro_0x80BBCA80/EnSGoro_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_S_Goro/EnSGoro_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_S_Goro_0x80BBCA80/EnSGoro_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_S_Goro/EnSGoro_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_S_Goro_0x80BBCA80/func_80BBF298.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_S_Goro/EnSGoro_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_S_Goro_0x80BBCA80/func_80BBF3D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_S_Goro/func_80BBF298.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_S_Goro_0x80BBCA80/func_80BBF3EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_S_Goro/func_80BBF3D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_S_Goro_0x80BBCA80/func_80BBF5F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_S_Goro/func_80BBF3EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_S_Goro_0x80BBCA80/func_80BBF6BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_S_Goro/func_80BBF5F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_S_Goro_0x80BBCA80/EnSGoro_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_S_Goro/func_80BBF6BC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_S_Goro/EnSGoro_Draw.s") diff --git a/src/overlays/actors/ovl_En_S_Goro/z_en_s_goro.h b/src/overlays/actors/ovl_En_S_Goro/z_en_s_goro.h index 4cefd9e155..3ff5c2482d 100644 --- a/src/overlays/actors/ovl_En_S_Goro/z_en_s_goro.h +++ b/src/overlays/actors/ovl_En_S_Goro/z_en_s_goro.h @@ -1,13 +1,17 @@ #ifndef Z_EN_S_GORO_H #define Z_EN_S_GORO_H -#include +#include "global.h" struct EnSGoro; +typedef void (*EnSGoroActionFunc)(struct EnSGoro* this, GlobalContext* globalCtx); + typedef struct EnSGoro { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x1CC]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x48]; + /* 0x018C */ EnSGoroActionFunc actionFunc; + /* 0x0190 */ char unk_190[0x180]; } EnSGoro; // size = 0x310 extern const ActorInit En_S_Goro_InitVars; diff --git a/src/overlays/actors/ovl_En_Sb/z_en_sb.h b/src/overlays/actors/ovl_En_Sb/z_en_sb.h index 7813cc7c02..935a697ca3 100644 --- a/src/overlays/actors/ovl_En_Sb/z_en_sb.h +++ b/src/overlays/actors/ovl_En_Sb/z_en_sb.h @@ -1,7 +1,7 @@ #ifndef Z_EN_SB_H #define Z_EN_SB_H -#include +#include "global.h" struct EnSb; diff --git a/src/overlays/actors/ovl_En_Sc_Ruppe/z_en_sc_ruppe.c b/src/overlays/actors/ovl_En_Sc_Ruppe/z_en_sc_ruppe.c index d916a82729..752ade75eb 100644 --- a/src/overlays/actors/ovl_En_Sc_Ruppe/z_en_sc_ruppe.c +++ b/src/overlays/actors/ovl_En_Sc_Ruppe/z_en_sc_ruppe.c @@ -9,6 +9,9 @@ void EnScRuppe_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnScRuppe_Update(Actor* thisx, GlobalContext* globalCtx); void EnScRuppe_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80BD6A8C(EnScRuppe* this, GlobalContext* globalCtx); +void func_80BD6B18(EnScRuppe* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Sc_Ruppe_InitVars = { ACTOR_EN_SC_RUPPE, @@ -22,7 +25,6 @@ const ActorInit En_Sc_Ruppe_InitVars = { (ActorFunc)EnScRuppe_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80BD6E40 = { { COLTYPE_NONE, AT_NONE, AC_NONE, OC1_ON | OC1_NO_PUSH | OC1_TYPE_PLAYER, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -30,22 +32,22 @@ static ColliderCylinderInit D_80BD6E40 = { { 10, 30, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80BD6E40; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sc_Ruppe_0x80BD6910/func_80BD6910.asm") +extern ColliderCylinderInit D_80BD6E40; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sc_Ruppe_0x80BD6910/func_80BD697C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sc_Ruppe/func_80BD6910.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sc_Ruppe_0x80BD6910/func_80BD6A8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sc_Ruppe/func_80BD697C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sc_Ruppe_0x80BD6910/func_80BD6B18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sc_Ruppe/func_80BD6A8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sc_Ruppe_0x80BD6910/EnScRuppe_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sc_Ruppe/func_80BD6B18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sc_Ruppe_0x80BD6910/EnScRuppe_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sc_Ruppe/EnScRuppe_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sc_Ruppe_0x80BD6910/EnScRuppe_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sc_Ruppe/EnScRuppe_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sc_Ruppe_0x80BD6910/EnScRuppe_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sc_Ruppe/EnScRuppe_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sc_Ruppe/EnScRuppe_Draw.s") diff --git a/src/overlays/actors/ovl_En_Sc_Ruppe/z_en_sc_ruppe.h b/src/overlays/actors/ovl_En_Sc_Ruppe/z_en_sc_ruppe.h index f11bee5b45..7d9194f5b7 100644 --- a/src/overlays/actors/ovl_En_Sc_Ruppe/z_en_sc_ruppe.h +++ b/src/overlays/actors/ovl_En_Sc_Ruppe/z_en_sc_ruppe.h @@ -1,13 +1,17 @@ #ifndef Z_EN_SC_RUPPE_H #define Z_EN_SC_RUPPE_H -#include +#include "global.h" struct EnScRuppe; +typedef void (*EnScRuppeActionFunc)(struct EnScRuppe* this, GlobalContext* globalCtx); + typedef struct EnScRuppe { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x54]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x4C]; + /* 0x0190 */ EnScRuppeActionFunc actionFunc; + /* 0x0194 */ char unk_194[0x4]; } EnScRuppe; // size = 0x198 extern const ActorInit En_Sc_Ruppe_InitVars; diff --git a/src/overlays/actors/ovl_En_Scopecoin/z_en_scopecoin.h b/src/overlays/actors/ovl_En_Scopecoin/z_en_scopecoin.h index 24d1eb7b7a..d810e6ad4f 100644 --- a/src/overlays/actors/ovl_En_Scopecoin/z_en_scopecoin.h +++ b/src/overlays/actors/ovl_En_Scopecoin/z_en_scopecoin.h @@ -1,7 +1,7 @@ #ifndef Z_EN_SCOPECOIN_H #define Z_EN_SCOPECOIN_H -#include +#include "global.h" struct EnScopecoin; diff --git a/src/overlays/actors/ovl_En_Scopecrow/z_en_scopecrow.c b/src/overlays/actors/ovl_En_Scopecrow/z_en_scopecrow.c index 2d063651b7..8351aa9616 100644 --- a/src/overlays/actors/ovl_En_Scopecrow/z_en_scopecrow.c +++ b/src/overlays/actors/ovl_En_Scopecrow/z_en_scopecrow.c @@ -9,6 +9,9 @@ void EnScopecrow_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnScopecrow_Update(Actor* thisx, GlobalContext* globalCtx); void EnScopecrow_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80BCD590(EnScopecrow* this, GlobalContext* globalCtx); +void func_80BCD640(EnScopecrow* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Scopecrow_InitVars = { ACTOR_EN_SCOPECROW, @@ -22,7 +25,6 @@ const ActorInit En_Scopecrow_InitVars = { (ActorFunc)EnScopecrow_Draw, }; - // static ColliderJntSphElementInit sJntSphElementsInit[1] = { static ColliderJntSphElementInit D_80BCDB70[1] = { { @@ -37,31 +39,33 @@ static ColliderJntSphInit D_80BCDB94 = { 1, D_80BCDB70, // sJntSphElementsInit, }; +#endif extern ColliderJntSphElementInit D_80BCDB70[1]; extern ColliderJntSphInit D_80BCDB94; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Scopecrow_0x80BCD000/func_80BCD000.asm") +extern UNK_TYPE D_060010C0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Scopecrow_0x80BCD000/func_80BCD09C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Scopecrow/func_80BCD000.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Scopecrow_0x80BCD000/func_80BCD1AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Scopecrow/func_80BCD09C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Scopecrow_0x80BCD000/func_80BCD2BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Scopecrow/func_80BCD1AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Scopecrow_0x80BCD000/func_80BCD334.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Scopecrow/func_80BCD2BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Scopecrow_0x80BCD000/func_80BCD4D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Scopecrow/func_80BCD334.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Scopecrow_0x80BCD000/func_80BCD590.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Scopecrow/func_80BCD4D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Scopecrow_0x80BCD000/func_80BCD640.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Scopecrow/func_80BCD590.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Scopecrow_0x80BCD000/EnScopecrow_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Scopecrow/func_80BCD640.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Scopecrow_0x80BCD000/EnScopecrow_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Scopecrow/EnScopecrow_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Scopecrow_0x80BCD000/EnScopecrow_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Scopecrow/EnScopecrow_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Scopecrow_0x80BCD000/EnScopecrow_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Scopecrow/EnScopecrow_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Scopecrow/EnScopecrow_Draw.s") diff --git a/src/overlays/actors/ovl_En_Scopecrow/z_en_scopecrow.h b/src/overlays/actors/ovl_En_Scopecrow/z_en_scopecrow.h index 7eac7a419e..96e5e1a9ec 100644 --- a/src/overlays/actors/ovl_En_Scopecrow/z_en_scopecrow.h +++ b/src/overlays/actors/ovl_En_Scopecrow/z_en_scopecrow.h @@ -1,13 +1,17 @@ #ifndef Z_EN_SCOPECROW_H #define Z_EN_SCOPECROW_H -#include +#include "global.h" struct EnScopecrow; +typedef void (*EnScopecrowActionFunc)(struct EnScopecrow* this, GlobalContext* globalCtx); + typedef struct EnScopecrow { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x124]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ EnScopecrowActionFunc actionFunc; + /* 0x018C */ char unk_18C[0xDC]; } EnScopecrow; // size = 0x268 extern const ActorInit En_Scopecrow_InitVars; diff --git a/src/overlays/actors/ovl_En_Scopenuts/z_en_scopenuts.c b/src/overlays/actors/ovl_En_Scopenuts/z_en_scopenuts.c index 413000565e..6da1c791f4 100644 --- a/src/overlays/actors/ovl_En_Scopenuts/z_en_scopenuts.c +++ b/src/overlays/actors/ovl_En_Scopenuts/z_en_scopenuts.c @@ -22,7 +22,6 @@ const ActorInit En_Scopenuts_InitVars = { (ActorFunc)EnScopenuts_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80BCCB40 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_HIT_PLAYER, COLSHAPE_JNTSPH, }, @@ -30,72 +29,74 @@ static ColliderCylinderInit D_80BCCB40 = { { 27, 32, 0, { 0, 0, 0 } }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80BCCCF0[] = { ICHAIN_U8(targetMode, 0, ICHAIN_CONTINUE), ICHAIN_F32(targetArrowOffset, 30, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80BCCB40; extern InitChainEntry D_80BCCCF0[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Scopenuts_0x80BCABF0/func_80BCABF0.asm") +extern UNK_TYPE D_06001420; +extern UNK_TYPE D_06005488; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Scopenuts_0x80BCABF0/func_80BCAC40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Scopenuts/func_80BCABF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Scopenuts_0x80BCABF0/func_80BCAD64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Scopenuts/func_80BCAC40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Scopenuts_0x80BCABF0/func_80BCAE78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Scopenuts/func_80BCAD64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Scopenuts_0x80BCABF0/func_80BCAF0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Scopenuts/func_80BCAE78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Scopenuts_0x80BCABF0/func_80BCAFA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Scopenuts/func_80BCAF0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Scopenuts_0x80BCABF0/func_80BCB078.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Scopenuts/func_80BCAFA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Scopenuts_0x80BCABF0/func_80BCB1C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Scopenuts/func_80BCB078.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Scopenuts_0x80BCABF0/func_80BCB230.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Scopenuts/func_80BCB1C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Scopenuts_0x80BCABF0/func_80BCB4DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Scopenuts/func_80BCB230.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Scopenuts_0x80BCABF0/func_80BCB52C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Scopenuts/func_80BCB4DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Scopenuts_0x80BCABF0/func_80BCB6D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Scopenuts/func_80BCB52C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Scopenuts_0x80BCABF0/func_80BCB90C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Scopenuts/func_80BCB6D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Scopenuts_0x80BCABF0/func_80BCB980.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Scopenuts/func_80BCB90C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Scopenuts_0x80BCABF0/func_80BCBA00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Scopenuts/func_80BCB980.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Scopenuts_0x80BCABF0/func_80BCBC60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Scopenuts/func_80BCBA00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Scopenuts_0x80BCABF0/func_80BCBD28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Scopenuts/func_80BCBC60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Scopenuts_0x80BCABF0/func_80BCBF0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Scopenuts/func_80BCBD28.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Scopenuts_0x80BCABF0/func_80BCBFFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Scopenuts/func_80BCBF0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Scopenuts_0x80BCABF0/func_80BCC288.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Scopenuts/func_80BCBFFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Scopenuts_0x80BCABF0/func_80BCC2AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Scopenuts/func_80BCC288.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Scopenuts_0x80BCABF0/func_80BCC448.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Scopenuts/func_80BCC2AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Scopenuts_0x80BCABF0/EnScopenuts_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Scopenuts/func_80BCC448.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Scopenuts_0x80BCABF0/EnScopenuts_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Scopenuts/EnScopenuts_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Scopenuts_0x80BCABF0/EnScopenuts_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Scopenuts/EnScopenuts_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Scopenuts_0x80BCABF0/func_80BCC828.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Scopenuts/EnScopenuts_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Scopenuts_0x80BCABF0/func_80BCC9CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Scopenuts/func_80BCC828.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Scopenuts_0x80BCABF0/func_80BCC9E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Scopenuts/func_80BCC9CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Scopenuts_0x80BCABF0/EnScopenuts_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Scopenuts/func_80BCC9E4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Scopenuts/EnScopenuts_Draw.s") diff --git a/src/overlays/actors/ovl_En_Scopenuts/z_en_scopenuts.h b/src/overlays/actors/ovl_En_Scopenuts/z_en_scopenuts.h index 5bb4f0b90e..0d860cd06c 100644 --- a/src/overlays/actors/ovl_En_Scopenuts/z_en_scopenuts.h +++ b/src/overlays/actors/ovl_En_Scopenuts/z_en_scopenuts.h @@ -1,13 +1,17 @@ #ifndef Z_EN_SCOPENUTS_H #define Z_EN_SCOPENUTS_H -#include +#include "global.h" struct EnScopenuts; +typedef void (*EnScopenutsActionFunc)(struct EnScopenuts* this, GlobalContext* globalCtx); + typedef struct EnScopenuts { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x230]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x194]; + /* 0x02D8 */ EnScopenutsActionFunc actionFunc; + /* 0x02DC */ char unk_2DC[0x98]; } EnScopenuts; // size = 0x374 extern const ActorInit En_Scopenuts_InitVars; diff --git a/src/overlays/actors/ovl_En_Sda/z_en_sda.c b/src/overlays/actors/ovl_En_Sda/z_en_sda.c index b6746c7138..62a36b6188 100644 --- a/src/overlays/actors/ovl_En_Sda/z_en_sda.c +++ b/src/overlays/actors/ovl_En_Sda/z_en_sda.c @@ -24,16 +24,16 @@ const ActorInit En_Sda_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sda_0x809468D0/EnSda_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sda/EnSda_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sda_0x809468D0/EnSda_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sda/EnSda_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sda_0x809468D0/EnSda_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sda/EnSda_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sda_0x809468D0/EnSda_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sda/EnSda_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sda_0x809468D0/func_809469C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sda/func_809469C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sda_0x809468D0/func_8094702C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sda/func_8094702C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sda_0x809468D0/func_80947668.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sda/func_80947668.s") diff --git a/src/overlays/actors/ovl_En_Sda/z_en_sda.h b/src/overlays/actors/ovl_En_Sda/z_en_sda.h index 13b1befc4a..fff04d6010 100644 --- a/src/overlays/actors/ovl_En_Sda/z_en_sda.h +++ b/src/overlays/actors/ovl_En_Sda/z_en_sda.h @@ -1,7 +1,7 @@ #ifndef Z_EN_SDA_H #define Z_EN_SDA_H -#include +#include "global.h" struct EnSda; diff --git a/src/overlays/actors/ovl_En_Sekihi/z_en_sekihi.c b/src/overlays/actors/ovl_En_Sekihi/z_en_sekihi.c index 33cc223fec..58152281d2 100644 --- a/src/overlays/actors/ovl_En_Sekihi/z_en_sekihi.c +++ b/src/overlays/actors/ovl_En_Sekihi/z_en_sekihi.c @@ -8,6 +8,11 @@ void EnSekihi_Init(Actor* thisx, GlobalContext* globalCtx); void EnSekihi_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnSekihi_Update(Actor* thisx, GlobalContext* globalCtx); +void func_80A44DE8(EnSekihi* this, GlobalContext* globalCtx); +void func_80A44F40(EnSekihi* this, GlobalContext* globalCtx); +void func_80A450B0(EnSekihi* this, GlobalContext* globalCtx); +void func_80A45130(EnSekihi* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Sekihi_InitVars = { ACTOR_EN_SEKIHI, @@ -23,18 +28,18 @@ const ActorInit En_Sekihi_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sekihi_0x80A44C80/EnSekihi_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sekihi/EnSekihi_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sekihi_0x80A44C80/EnSekihi_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sekihi/EnSekihi_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sekihi_0x80A44C80/func_80A44DE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sekihi/func_80A44DE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sekihi_0x80A44C80/func_80A44F40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sekihi/func_80A44F40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sekihi_0x80A44C80/func_80A450B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sekihi/func_80A450B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sekihi_0x80A44C80/func_80A45130.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sekihi/func_80A45130.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sekihi_0x80A44C80/EnSekihi_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sekihi/EnSekihi_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sekihi_0x80A44C80/func_80A45164.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sekihi/func_80A45164.s") diff --git a/src/overlays/actors/ovl_En_Sekihi/z_en_sekihi.h b/src/overlays/actors/ovl_En_Sekihi/z_en_sekihi.h index d9b011711e..b20b4b07b2 100644 --- a/src/overlays/actors/ovl_En_Sekihi/z_en_sekihi.h +++ b/src/overlays/actors/ovl_En_Sekihi/z_en_sekihi.h @@ -1,13 +1,16 @@ #ifndef Z_EN_SEKIHI_H #define Z_EN_SEKIHI_H -#include +#include "global.h" struct EnSekihi; +typedef void (*EnSekihiActionFunc)(struct EnSekihi* this, GlobalContext* globalCtx); + typedef struct EnSekihi { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x28]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x24]; + /* 0x0168 */ EnSekihiActionFunc actionFunc; } EnSekihi; // size = 0x16C extern const ActorInit En_Sekihi_InitVars; diff --git a/src/overlays/actors/ovl_En_Sellnuts/z_en_sellnuts.c b/src/overlays/actors/ovl_En_Sellnuts/z_en_sellnuts.c index 7bcc9c16e2..976114f6db 100644 --- a/src/overlays/actors/ovl_En_Sellnuts/z_en_sellnuts.c +++ b/src/overlays/actors/ovl_En_Sellnuts/z_en_sellnuts.c @@ -22,7 +22,6 @@ const ActorInit En_Sellnuts_InitVars = { (ActorFunc)EnSellnuts_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80ADD964 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_HIT_PLAYER, COLSHAPE_JNTSPH, }, @@ -30,90 +29,92 @@ static ColliderCylinderInit D_80ADD964 = { { 27, 32, 0, { 0, 0, 0 } }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80ADDB00[] = { ICHAIN_U8(targetMode, 0, ICHAIN_CONTINUE), ICHAIN_F32(targetArrowOffset, 30, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80ADD964; extern InitChainEntry D_80ADDB00[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sellnuts_0x80ADADD0/func_80ADADD0.asm") +extern UNK_TYPE D_06001350; +extern UNK_TYPE D_06005488; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sellnuts_0x80ADADD0/func_80ADAE64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sellnuts/func_80ADADD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sellnuts_0x80ADADD0/func_80ADAFC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sellnuts/func_80ADAE64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sellnuts_0x80ADADD0/func_80ADB040.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sellnuts/func_80ADAFC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sellnuts_0x80ADADD0/func_80ADB08C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sellnuts/func_80ADB040.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sellnuts_0x80ADADD0/func_80ADB0D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sellnuts/func_80ADB08C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sellnuts_0x80ADADD0/func_80ADB254.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sellnuts/func_80ADB0D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sellnuts_0x80ADADD0/func_80ADB4F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sellnuts/func_80ADB254.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sellnuts_0x80ADADD0/func_80ADB544.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sellnuts/func_80ADB4F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sellnuts_0x80ADADD0/func_80ADB924.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sellnuts/func_80ADB544.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sellnuts_0x80ADADD0/func_80ADBAB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sellnuts/func_80ADB924.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sellnuts_0x80ADADD0/func_80ADBBEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sellnuts/func_80ADBAB8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sellnuts_0x80ADADD0/func_80ADBC60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sellnuts/func_80ADBBEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sellnuts_0x80ADADD0/func_80ADBCE4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sellnuts/func_80ADBC60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sellnuts_0x80ADADD0/func_80ADBD64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sellnuts/func_80ADBCE4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sellnuts_0x80ADADD0/func_80ADBE80.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sellnuts/func_80ADBD64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sellnuts_0x80ADADD0/func_80ADBFA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sellnuts/func_80ADBE80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sellnuts_0x80ADADD0/func_80ADC034.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sellnuts/func_80ADBFA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sellnuts_0x80ADADD0/func_80ADC118.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sellnuts/func_80ADC034.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sellnuts_0x80ADADD0/func_80ADC2CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sellnuts/func_80ADC118.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sellnuts_0x80ADADD0/func_80ADC37C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sellnuts/func_80ADC2CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sellnuts_0x80ADADD0/func_80ADC580.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sellnuts/func_80ADC37C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sellnuts_0x80ADADD0/func_80ADC5A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sellnuts/func_80ADC580.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sellnuts_0x80ADADD0/func_80ADC6D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sellnuts/func_80ADC5A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sellnuts_0x80ADADD0/func_80ADC7B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sellnuts/func_80ADC6D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sellnuts_0x80ADADD0/func_80ADC8C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sellnuts/func_80ADC7B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sellnuts_0x80ADADD0/func_80ADCA64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sellnuts/func_80ADC8C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sellnuts_0x80ADADD0/func_80ADCC04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sellnuts/func_80ADCA64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sellnuts_0x80ADADD0/func_80ADCD3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sellnuts/func_80ADCC04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sellnuts_0x80ADADD0/func_80ADCE4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sellnuts/func_80ADCD3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sellnuts_0x80ADADD0/func_80ADCFE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sellnuts/func_80ADCE4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sellnuts_0x80ADADD0/EnSellnuts_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sellnuts/func_80ADCFE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sellnuts_0x80ADADD0/EnSellnuts_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sellnuts/EnSellnuts_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sellnuts_0x80ADADD0/EnSellnuts_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sellnuts/EnSellnuts_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sellnuts_0x80ADADD0/func_80ADD4E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sellnuts/EnSellnuts_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sellnuts_0x80ADADD0/func_80ADD7B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sellnuts/func_80ADD4E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sellnuts_0x80ADADD0/func_80ADD7CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sellnuts/func_80ADD7B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sellnuts_0x80ADADD0/EnSellnuts_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sellnuts/func_80ADD7CC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sellnuts/EnSellnuts_Draw.s") diff --git a/src/overlays/actors/ovl_En_Sellnuts/z_en_sellnuts.h b/src/overlays/actors/ovl_En_Sellnuts/z_en_sellnuts.h index 912a9a5203..21310ca461 100644 --- a/src/overlays/actors/ovl_En_Sellnuts/z_en_sellnuts.h +++ b/src/overlays/actors/ovl_En_Sellnuts/z_en_sellnuts.h @@ -1,13 +1,17 @@ #ifndef Z_EN_SELLNUTS_H #define Z_EN_SELLNUTS_H -#include +#include "global.h" struct EnSellnuts; +typedef void (*EnSellnutsActionFunc)(struct EnSellnuts* this, GlobalContext* globalCtx); + typedef struct EnSellnuts { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x234]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x194]; + /* 0x02D8 */ EnSellnutsActionFunc actionFunc; + /* 0x02DC */ char unk_2DC[0x9C]; } EnSellnuts; // size = 0x378 extern const ActorInit En_Sellnuts_InitVars; diff --git a/src/overlays/actors/ovl_En_Shn/z_en_shn.c b/src/overlays/actors/ovl_En_Shn/z_en_shn.c index 1882dda693..447f7cea47 100644 --- a/src/overlays/actors/ovl_En_Shn/z_en_shn.c +++ b/src/overlays/actors/ovl_En_Shn/z_en_shn.c @@ -9,6 +9,9 @@ void EnShn_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnShn_Update(Actor* thisx, GlobalContext* globalCtx); void EnShn_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80AE69E8(EnShn* this, GlobalContext* globalCtx); +void func_80AE6A64(EnShn* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Shn_InitVars = { ACTOR_EN_SHN, @@ -24,42 +27,45 @@ const ActorInit En_Shn_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Shn_0x80AE6130/func_80AE6130.asm") +extern UNK_TYPE D_0600B738; +extern UNK_TYPE D_0600E7D0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Shn_0x80AE6130/func_80AE615C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Shn/func_80AE6130.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Shn_0x80AE6130/func_80AE61C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Shn/func_80AE615C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Shn_0x80AE6130/func_80AE625C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Shn/func_80AE61C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Shn_0x80AE6130/func_80AE626C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Shn/func_80AE625C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Shn_0x80AE6130/func_80AE63A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Shn/func_80AE626C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Shn_0x80AE6130/func_80AE6488.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Shn/func_80AE63A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Shn_0x80AE6130/func_80AE65F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Shn/func_80AE6488.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Shn_0x80AE6130/func_80AE6704.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Shn/func_80AE65F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Shn_0x80AE6130/func_80AE6880.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Shn/func_80AE6704.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Shn_0x80AE6130/func_80AE68F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Shn/func_80AE6880.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Shn_0x80AE6130/func_80AE69E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Shn/func_80AE68F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Shn_0x80AE6130/func_80AE6A64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Shn/func_80AE69E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Shn_0x80AE6130/EnShn_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Shn/func_80AE6A64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Shn_0x80AE6130/EnShn_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Shn/EnShn_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Shn_0x80AE6130/EnShn_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Shn/EnShn_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Shn_0x80AE6130/func_80AE6CF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Shn/EnShn_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Shn_0x80AE6130/func_80AE6D40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Shn/func_80AE6CF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Shn_0x80AE6130/func_80AE6D90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Shn/func_80AE6D40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Shn_0x80AE6130/EnShn_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Shn/func_80AE6D90.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Shn/EnShn_Draw.s") diff --git a/src/overlays/actors/ovl_En_Shn/z_en_shn.h b/src/overlays/actors/ovl_En_Shn/z_en_shn.h index 996c6ee5ed..075cf30cfa 100644 --- a/src/overlays/actors/ovl_En_Shn/z_en_shn.h +++ b/src/overlays/actors/ovl_En_Shn/z_en_shn.h @@ -1,13 +1,16 @@ #ifndef Z_EN_SHN_H #define Z_EN_SHN_H -#include +#include "global.h" struct EnShn; +typedef void (*EnShnActionFunc)(struct EnShn* this, GlobalContext* globalCtx); + typedef struct EnShn { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x1AC]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ EnShnActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x1A8]; } EnShn; // size = 0x2F0 extern const ActorInit En_Shn_InitVars; diff --git a/src/overlays/actors/ovl_En_Si/z_en_si.c b/src/overlays/actors/ovl_En_Si/z_en_si.c index 32e2124662..e47fbb11b8 100644 --- a/src/overlays/actors/ovl_En_Si/z_en_si.c +++ b/src/overlays/actors/ovl_En_Si/z_en_si.c @@ -9,6 +9,9 @@ void EnSi_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnSi_Update(Actor* thisx, GlobalContext* globalCtx); void EnSi_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_8098CB70(EnSi* this, GlobalContext* globalCtx); +void func_8098CBDC(EnSi* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Si_InitVars = { ACTOR_EN_SI, @@ -22,7 +25,6 @@ const ActorInit En_Si_InitVars = { (ActorFunc)EnSi_Draw, }; - // static ColliderSphereInit sSphereInit = { static ColliderSphereInit D_8098CD80 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_NO_PUSH | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_SPHERE, }, @@ -30,11 +32,9 @@ static ColliderSphereInit D_8098CD80 = { { 0, { { 0, 0, 0 }, 10 }, 100 }, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_8098CDAC = { 1, 0, 0, 0, MASS_IMMOVABLE }; - // static DamageTable sDamageTable = { static DamageTable D_8098CDB8 = { /* Deku Nut */ DMG_ENTRY(1, 0x0), @@ -71,24 +71,24 @@ static DamageTable D_8098CDB8 = { /* Powder Keg */ DMG_ENTRY(1, 0x0), }; +#endif extern ColliderSphereInit D_8098CD80; extern CollisionCheckInfoInit2 D_8098CDAC; extern DamageTable D_8098CDB8; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Si_0x8098CA20/func_8098CA20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Si/func_8098CA20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Si_0x8098CA20/func_8098CAD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Si/func_8098CAD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Si_0x8098CA20/func_8098CB70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Si/func_8098CB70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Si_0x8098CA20/func_8098CBDC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Si/func_8098CBDC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Si_0x8098CA20/EnSi_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Si/EnSi_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Si_0x8098CA20/EnSi_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Si/EnSi_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Si_0x8098CA20/EnSi_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Si/EnSi_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Si_0x8098CA20/EnSi_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Si/EnSi_Draw.s") diff --git a/src/overlays/actors/ovl_En_Si/z_en_si.h b/src/overlays/actors/ovl_En_Si/z_en_si.h index f05dab2606..15ab928737 100644 --- a/src/overlays/actors/ovl_En_Si/z_en_si.h +++ b/src/overlays/actors/ovl_En_Si/z_en_si.h @@ -1,13 +1,16 @@ #ifndef Z_EN_SI_H #define Z_EN_SI_H -#include +#include "global.h" struct EnSi; +typedef void (*EnSiActionFunc)(struct EnSi* this, GlobalContext* globalCtx); + typedef struct EnSi { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x5C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ EnSiActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x58]; } EnSi; // size = 0x1A0 extern const ActorInit En_Si_InitVars; diff --git a/src/overlays/actors/ovl_En_Skb/z_en_skb.c b/src/overlays/actors/ovl_En_Skb/z_en_skb.c index 9511577102..d21af23828 100644 --- a/src/overlays/actors/ovl_En_Skb/z_en_skb.c +++ b/src/overlays/actors/ovl_En_Skb/z_en_skb.c @@ -9,6 +9,25 @@ void EnSkb_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnSkb_Update(Actor* thisx, GlobalContext* globalCtx); void EnSkb_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80994E94(EnSkb* this, GlobalContext* globalCtx); +void func_80995068(EnSkb* this, GlobalContext* globalCtx); +void func_80995190(EnSkb* this, GlobalContext* globalCtx); +void func_80995244(EnSkb* this, GlobalContext* globalCtx); +void func_8099533C(EnSkb* this, GlobalContext* globalCtx); +void func_8099544C(EnSkb* this, GlobalContext* globalCtx); +void func_8099556C(EnSkb* this, GlobalContext* globalCtx); +void func_80995818(EnSkb* this, GlobalContext* globalCtx); +void func_8099599C(EnSkb* this, GlobalContext* globalCtx); +void func_80995A8C(EnSkb* this, GlobalContext* globalCtx); +void func_80995C84(EnSkb* this, GlobalContext* globalCtx); +void func_80995DC4(EnSkb* this, GlobalContext* globalCtx); +void func_80995E64(EnSkb* this, GlobalContext* globalCtx); +void func_809960AC(EnSkb* this, GlobalContext* globalCtx); +void func_80996284(EnSkb* this, GlobalContext* globalCtx); +void func_8099630C(EnSkb* this, GlobalContext* globalCtx); +void func_809963D8(EnSkb* this, GlobalContext* globalCtx); +void func_809964A0(EnSkb* this, GlobalContext* globalCtx); + #if 0 // static ColliderJntSphElementInit sJntSphElementsInit[2] = { static ColliderJntSphElementInit D_80997498[2] = { @@ -28,7 +47,6 @@ static ColliderJntSphInit D_809974E0 = { 2, D_80997498, // sJntSphElementsInit, }; - // static DamageTable sDamageTable = { static DamageTable D_809974F0 = { /* Deku Nut */ DMG_ENTRY(0, 0x1), @@ -65,7 +83,6 @@ static DamageTable D_809974F0 = { /* Powder Keg */ DMG_ENTRY(1, 0xF), }; - const ActorInit En_Skb_InitVars = { ACTOR_EN_SKB, ACTORCAT_ENEMY, @@ -78,124 +95,129 @@ const ActorInit En_Skb_InitVars = { (ActorFunc)EnSkb_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80997548[] = { ICHAIN_F32(targetArrowOffset, 2000, ICHAIN_CONTINUE), ICHAIN_F32_DIV1000(gravity, -2000, ICHAIN_STOP), }; +#endif extern ColliderJntSphElementInit D_80997498[2]; extern ColliderJntSphInit D_809974E0; extern DamageTable D_809974F0; extern InitChainEntry D_80997548[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_809947B0.asm") +extern UNK_TYPE D_06001D1C; +extern UNK_TYPE D_06002190; +extern UNK_TYPE D_06003584; +extern UNK_TYPE D_0600697C; +extern UNK_TYPE D_06006D90; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_8099495C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_809947B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_809949C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_8099495C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_80994A30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_809949C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_80994A9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_80994A30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/EnSkb_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_80994A9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/EnSkb_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/EnSkb_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_80994DA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/EnSkb_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_80994E2C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_80994DA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_80994E94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_80994E2C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_80994F7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_80994E94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_8099504C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_80994F7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_80995068.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_8099504C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_80995190.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_80995068.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_80995244.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_80995190.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_809952D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_80995244.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_8099533C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_809952D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_809953E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_8099533C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_8099544C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_809953E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_809954F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_8099544C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_8099556C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_809954F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_8099571C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_8099556C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_80995818.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_8099571C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_809958F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_80995818.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_8099599C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_809958F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_80995A30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_8099599C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_80995A8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_80995A30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_80995C24.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_80995A8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_80995C84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_80995C24.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_80995D3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_80995C84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_80995DC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_80995D3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_80995E08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_80995DC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_80995E64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_80995E08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_80995F98.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_80995E64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_809960AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_80995F98.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_809961E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_809960AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_80996284.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_809961E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_809962D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_80996284.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_8099630C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_809962D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_809963C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_8099630C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_809963D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_809963C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_80996474.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_809963D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_809964A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_80996474.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_809964DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_809964A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_80996544.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_809964DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_80996594.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_80996544.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_8099672C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_80996594.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_80996AD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_8099672C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_80996BEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_80996AD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_80996D68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_80996BEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/EnSkb_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_80996D68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_80996F78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/EnSkb_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/func_809970D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_80996F78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Skb_0x809947B0/EnSkb_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/func_809970D0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Skb/EnSkb_Draw.s") diff --git a/src/overlays/actors/ovl_En_Skb/z_en_skb.h b/src/overlays/actors/ovl_En_Skb/z_en_skb.h index 1a4b985e46..57e3bd9399 100644 --- a/src/overlays/actors/ovl_En_Skb/z_en_skb.h +++ b/src/overlays/actors/ovl_En_Skb/z_en_skb.h @@ -1,13 +1,17 @@ #ifndef Z_EN_SKB_H #define Z_EN_SKB_H -#include +#include "global.h" struct EnSkb; +typedef void (*EnSkbActionFunc)(struct EnSkb* this, GlobalContext* globalCtx); + typedef struct EnSkb { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x2A4]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0xE4]; + /* 0x0228 */ EnSkbActionFunc actionFunc; + /* 0x022C */ char unk_22C[0x1BC]; } EnSkb; // size = 0x3E8 extern const ActorInit En_Skb_InitVars; diff --git a/src/overlays/actors/ovl_En_Slime/z_en_slime.c b/src/overlays/actors/ovl_En_Slime/z_en_slime.c index f11f35a4a8..ba48df1192 100644 --- a/src/overlays/actors/ovl_En_Slime/z_en_slime.c +++ b/src/overlays/actors/ovl_En_Slime/z_en_slime.c @@ -9,6 +9,23 @@ void EnSlime_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnSlime_Update(Actor* thisx, GlobalContext* globalCtx); void EnSlime_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80A2F140(EnSlime* this, GlobalContext* globalCtx); +void func_80A2F1A4(EnSlime* this, GlobalContext* globalCtx); +void func_80A2F418(EnSlime* this, GlobalContext* globalCtx); +void func_80A2F6CC(EnSlime* this, GlobalContext* globalCtx); +void func_80A2F8E0(EnSlime* this, GlobalContext* globalCtx); +void func_80A2FA88(EnSlime* this, GlobalContext* globalCtx); +void func_80A2FBA0(EnSlime* this, GlobalContext* globalCtx); +void func_80A2FE38(EnSlime* this, GlobalContext* globalCtx); +void func_80A30344(EnSlime* this, GlobalContext* globalCtx); +void func_80A304B8(EnSlime* this, GlobalContext* globalCtx); +void func_80A30820(EnSlime* this, GlobalContext* globalCtx); +void func_80A30944(EnSlime* this, GlobalContext* globalCtx); +void func_80A30A20(EnSlime* this, GlobalContext* globalCtx); +void func_80A30AE4(EnSlime* this, GlobalContext* globalCtx); +void func_80A30C2C(EnSlime* this, GlobalContext* globalCtx); +void func_80A30CEC(EnSlime* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Slime_InitVars = { ACTOR_EN_SLIME, @@ -22,7 +39,6 @@ const ActorInit En_Slime_InitVars = { (ActorFunc)EnSlime_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80A31AF0 = { { COLTYPE_NONE, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,7 +46,6 @@ static ColliderCylinderInit D_80A31AF0 = { { 22, 35, 0, { 0, 0, 0 } }, }; - // static DamageTable sDamageTable = { static DamageTable D_80A31B1C = { /* Deku Nut */ DMG_ENTRY(0, 0x1), @@ -67,102 +82,103 @@ static DamageTable D_80A31B1C = { /* Powder Keg */ DMG_ENTRY(1, 0x0), }; - // sColChkInfoInit static CollisionCheckInfoInit D_80A31B3C = { 1, 22, 35, 60 }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80A31B54[] = { ICHAIN_F32(gravity, -2, ICHAIN_CONTINUE), ICHAIN_F32(targetArrowOffset, 6000, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80A31AF0; extern DamageTable D_80A31B1C; extern CollisionCheckInfoInit D_80A31B3C; extern InitChainEntry D_80A31B54[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Slime_0x80A2EDA0/EnSlime_Init.asm") +extern UNK_TYPE D_060004C0; +extern UNK_TYPE D_06000828; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Slime_0x80A2EDA0/EnSlime_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Slime/EnSlime_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Slime_0x80A2EDA0/func_80A2EFAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Slime/EnSlime_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Slime_0x80A2EDA0/func_80A2F028.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Slime/func_80A2EFAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Slime_0x80A2EDA0/func_80A2F0A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Slime/func_80A2F028.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Slime_0x80A2EDA0/func_80A2F110.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Slime/func_80A2F0A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Slime_0x80A2EDA0/func_80A2F140.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Slime/func_80A2F110.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Slime_0x80A2EDA0/func_80A2F180.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Slime/func_80A2F140.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Slime_0x80A2EDA0/func_80A2F1A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Slime/func_80A2F180.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Slime_0x80A2EDA0/func_80A2F354.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Slime/func_80A2F1A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Slime_0x80A2EDA0/func_80A2F418.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Slime/func_80A2F354.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Slime_0x80A2EDA0/func_80A2F684.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Slime/func_80A2F418.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Slime_0x80A2EDA0/func_80A2F6CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Slime/func_80A2F684.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Slime_0x80A2EDA0/func_80A2F8B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Slime/func_80A2F6CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Slime_0x80A2EDA0/func_80A2F8E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Slime/func_80A2F8B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Slime_0x80A2EDA0/func_80A2F9A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Slime/func_80A2F8E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Slime_0x80A2EDA0/func_80A2FA88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Slime/func_80A2F9A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Slime_0x80A2EDA0/func_80A2FB60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Slime/func_80A2FA88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Slime_0x80A2EDA0/func_80A2FBA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Slime/func_80A2FB60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Slime_0x80A2EDA0/func_80A2FD94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Slime/func_80A2FBA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Slime_0x80A2EDA0/func_80A2FE38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Slime/func_80A2FD94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Slime_0x80A2EDA0/func_80A30018.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Slime/func_80A2FE38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Slime_0x80A2EDA0/func_80A30344.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Slime/func_80A30018.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Slime_0x80A2EDA0/func_80A30454.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Slime/func_80A30344.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Slime_0x80A2EDA0/func_80A304B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Slime/func_80A30454.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Slime_0x80A2EDA0/func_80A3072C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Slime/func_80A304B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Slime_0x80A2EDA0/func_80A30778.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Slime/func_80A3072C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Slime_0x80A2EDA0/func_80A30820.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Slime/func_80A30778.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Slime_0x80A2EDA0/func_80A30924.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Slime/func_80A30820.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Slime_0x80A2EDA0/func_80A30944.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Slime/func_80A30924.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Slime_0x80A2EDA0/func_80A309C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Slime/func_80A30944.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Slime_0x80A2EDA0/func_80A30A20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Slime/func_80A309C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Slime_0x80A2EDA0/func_80A30A90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Slime/func_80A30A20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Slime_0x80A2EDA0/func_80A30AE4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Slime/func_80A30A90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Slime_0x80A2EDA0/func_80A30BE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Slime/func_80A30AE4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Slime_0x80A2EDA0/func_80A30C2C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Slime/func_80A30BE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Slime_0x80A2EDA0/func_80A30C68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Slime/func_80A30C2C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Slime_0x80A2EDA0/func_80A30CEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Slime/func_80A30C68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Slime_0x80A2EDA0/func_80A30F98.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Slime/func_80A30CEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Slime_0x80A2EDA0/EnSlime_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Slime/func_80A30F98.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Slime_0x80A2EDA0/EnSlime_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Slime/EnSlime_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Slime/EnSlime_Draw.s") diff --git a/src/overlays/actors/ovl_En_Slime/z_en_slime.h b/src/overlays/actors/ovl_En_Slime/z_en_slime.h index 4d45ef5629..365ef39c7c 100644 --- a/src/overlays/actors/ovl_En_Slime/z_en_slime.h +++ b/src/overlays/actors/ovl_En_Slime/z_en_slime.h @@ -1,13 +1,16 @@ #ifndef Z_EN_SLIME_H #define Z_EN_SLIME_H -#include +#include "global.h" struct EnSlime; +typedef void (*EnSlimeActionFunc)(struct EnSlime* this, GlobalContext* globalCtx); + typedef struct EnSlime { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0xC4]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ EnSlimeActionFunc actionFunc; + /* 0x0148 */ char unk_144[0xC0]; } EnSlime; // size = 0x208 extern const ActorInit En_Slime_InitVars; diff --git a/src/overlays/actors/ovl_En_Snowman/z_en_snowman.c b/src/overlays/actors/ovl_En_Snowman/z_en_snowman.c index 7bc6131ec1..5fcfe3645b 100644 --- a/src/overlays/actors/ovl_En_Snowman/z_en_snowman.c +++ b/src/overlays/actors/ovl_En_Snowman/z_en_snowman.c @@ -9,6 +9,20 @@ void EnSnowman_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnSnowman_Update(Actor* thisx, GlobalContext* globalCtx); void EnSnowman_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80B1746C(EnSnowman* this, GlobalContext* globalCtx); +void func_80B178B8(EnSnowman* this, GlobalContext* globalCtx); +void func_80B17A58(EnSnowman* this, GlobalContext* globalCtx); +void func_80B17D78(EnSnowman* this, GlobalContext* globalCtx); +void func_80B17EFC(EnSnowman* this, GlobalContext* globalCtx); +void func_80B17FE0(EnSnowman* this, GlobalContext* globalCtx); +void func_80B18124(EnSnowman* this, GlobalContext* globalCtx); +void func_80B183A4(EnSnowman* this, GlobalContext* globalCtx); +void func_80B1848C(EnSnowman* this, GlobalContext* globalCtx); +void func_80B1861C(EnSnowman* this, GlobalContext* globalCtx); +void func_80B189C4(EnSnowman* this, GlobalContext* globalCtx); +void func_80B18A04(EnSnowman* this, GlobalContext* globalCtx); +void func_80B18C7C(EnSnowman* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Snowman_InitVars = { ACTOR_EN_SNOWMAN, @@ -22,7 +36,6 @@ const ActorInit En_Snowman_InitVars = { (ActorFunc)EnSnowman_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80B19A00 = { { COLTYPE_HIT4, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,7 +43,6 @@ static ColliderCylinderInit D_80B19A00 = { { 60, 80, 0, { 0, 0, 0 } }, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80B19A2C = { { COLTYPE_NONE, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_TYPE_PLAYER, OC1_NONE | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -38,7 +50,6 @@ static ColliderCylinderInit D_80B19A2C = { { 60, 80, 0, { 0, 0, 0 } }, }; - // static DamageTable sDamageTable = { static DamageTable D_80B19A58 = { /* Deku Nut */ DMG_ENTRY(0, 0x1), @@ -75,11 +86,9 @@ static DamageTable D_80B19A58 = { /* Powder Keg */ DMG_ENTRY(1, 0x0), }; - // sColChkInfoInit static CollisionCheckInfoInit D_80B19A78 = { 2, 60, 80, 150 }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80B19AAC[] = { ICHAIN_S8(hintId, 20, ICHAIN_CONTINUE), @@ -87,88 +96,95 @@ static InitChainEntry D_80B19AAC[] = { ICHAIN_F32_DIV1000(gravity, -1000, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80B19A00; extern ColliderCylinderInit D_80B19A2C; extern DamageTable D_80B19A58; extern CollisionCheckInfoInit D_80B19A78; extern InitChainEntry D_80B19AAC[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Snowman_0x80B16B00/EnSnowman_Init.asm") +extern UNK_TYPE D_06000404; +extern UNK_TYPE D_06004628; +extern UNK_TYPE D_060046D8; +extern UNK_TYPE D_06004F14; +extern UNK_TYPE D_0600554C; +extern UNK_TYPE D_060058CC; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Snowman_0x80B16B00/EnSnowman_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Snowman/EnSnowman_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Snowman_0x80B16B00/func_80B16FC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Snowman/EnSnowman_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Snowman_0x80B16B00/func_80B17144.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Snowman/func_80B16FC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Snowman_0x80B16B00/func_80B173D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Snowman/func_80B17144.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Snowman_0x80B16B00/func_80B1746C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Snowman/func_80B173D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Snowman_0x80B16B00/func_80B177EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Snowman/func_80B1746C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Snowman_0x80B16B00/func_80B178B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Snowman/func_80B177EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Snowman_0x80B16B00/func_80B179D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Snowman/func_80B178B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Snowman_0x80B16B00/func_80B17A58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Snowman/func_80B179D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Snowman_0x80B16B00/func_80B17CE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Snowman/func_80B17A58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Snowman_0x80B16B00/func_80B17D78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Snowman/func_80B17CE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Snowman_0x80B16B00/func_80B17EB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Snowman/func_80B17D78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Snowman_0x80B16B00/func_80B17EFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Snowman/func_80B17EB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Snowman_0x80B16B00/func_80B17F4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Snowman/func_80B17EFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Snowman_0x80B16B00/func_80B17FE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Snowman/func_80B17F4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Snowman_0x80B16B00/func_80B180A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Snowman/func_80B17FE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Snowman_0x80B16B00/func_80B18124.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Snowman/func_80B180A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Snowman_0x80B16B00/func_80B18380.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Snowman/func_80B18124.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Snowman_0x80B16B00/func_80B183A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Snowman/func_80B18380.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Snowman_0x80B16B00/func_80B183C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Snowman/func_80B183A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Snowman_0x80B16B00/func_80B1848C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Snowman/func_80B183C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Snowman_0x80B16B00/func_80B18600.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Snowman/func_80B1848C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Snowman_0x80B16B00/func_80B1861C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Snowman/func_80B18600.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Snowman_0x80B16B00/func_80B18908.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Snowman/func_80B1861C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Snowman_0x80B16B00/func_80B189C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Snowman/func_80B18908.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Snowman_0x80B16B00/func_80B189D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Snowman/func_80B189C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Snowman_0x80B16B00/func_80B18A04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Snowman/func_80B189D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Snowman_0x80B16B00/func_80B18A28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Snowman/func_80B18A04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Snowman_0x80B16B00/func_80B18B30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Snowman/func_80B18A28.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Snowman_0x80B16B00/func_80B18BB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Snowman/func_80B18B30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Snowman_0x80B16B00/func_80B18C7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Snowman/func_80B18BB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Snowman_0x80B16B00/func_80B18F50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Snowman/func_80B18C7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Snowman_0x80B16B00/EnSnowman_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Snowman/func_80B18F50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Snowman_0x80B16B00/func_80B19474.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Snowman/EnSnowman_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Snowman_0x80B16B00/func_80B19718.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Snowman/func_80B19474.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Snowman_0x80B16B00/EnSnowman_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Snowman/func_80B19718.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Snowman_0x80B16B00/func_80B19948.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Snowman/EnSnowman_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Snowman_0x80B16B00/func_80B19998.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Snowman/func_80B19948.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Snowman/func_80B19998.s") diff --git a/src/overlays/actors/ovl_En_Snowman/z_en_snowman.h b/src/overlays/actors/ovl_En_Snowman/z_en_snowman.h index 3f7930a2a6..cc658a7f80 100644 --- a/src/overlays/actors/ovl_En_Snowman/z_en_snowman.h +++ b/src/overlays/actors/ovl_En_Snowman/z_en_snowman.h @@ -1,13 +1,17 @@ #ifndef Z_EN_SNOWMAN_H #define Z_EN_SNOWMAN_H -#include +#include "global.h" struct EnSnowman; +typedef void (*EnSnowmanActionFunc)(struct EnSnowman* this, GlobalContext* globalCtx); + typedef struct EnSnowman { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x234]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x13C]; + /* 0x0280 */ EnSnowmanActionFunc actionFunc; + /* 0x0284 */ char unk_284[0xF4]; } EnSnowman; // size = 0x378 extern const ActorInit En_Snowman_InitVars; diff --git a/src/overlays/actors/ovl_En_Snowwd/z_en_snowwd.c b/src/overlays/actors/ovl_En_Snowwd/z_en_snowwd.c index b3ad6239d5..ef7899fd4a 100644 --- a/src/overlays/actors/ovl_En_Snowwd/z_en_snowwd.c +++ b/src/overlays/actors/ovl_En_Snowwd/z_en_snowwd.c @@ -9,6 +9,8 @@ void EnSnowwd_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnSnowwd_Update(Actor* thisx, GlobalContext* globalCtx); void EnSnowwd_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80AF76F0(EnSnowwd* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Snowwd_InitVars = { ACTOR_EN_SNOWWD, @@ -22,7 +24,6 @@ const ActorInit En_Snowwd_InitVars = { (ActorFunc)EnSnowwd_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80AF7A90 = { { COLTYPE_TREE, AT_NONE, AC_ON | AC_HARD | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,16 +31,18 @@ static ColliderCylinderInit D_80AF7A90 = { { 18, 60, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80AF7A90; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Snowwd_0x80AF7640/EnSnowwd_Init.asm") +extern ColliderCylinderInit D_80AF7A90; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Snowwd_0x80AF7640/EnSnowwd_Destroy.asm") +extern UNK_TYPE D_06001AA0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Snowwd_0x80AF7640/func_80AF76F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Snowwd/EnSnowwd_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Snowwd_0x80AF7640/EnSnowwd_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Snowwd/EnSnowwd_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Snowwd_0x80AF7640/EnSnowwd_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Snowwd/func_80AF76F0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Snowwd/EnSnowwd_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Snowwd/EnSnowwd_Draw.s") diff --git a/src/overlays/actors/ovl_En_Snowwd/z_en_snowwd.h b/src/overlays/actors/ovl_En_Snowwd/z_en_snowwd.h index 1cf6f8633d..b1e0f74cc3 100644 --- a/src/overlays/actors/ovl_En_Snowwd/z_en_snowwd.h +++ b/src/overlays/actors/ovl_En_Snowwd/z_en_snowwd.h @@ -1,13 +1,16 @@ #ifndef Z_EN_SNOWWD_H #define Z_EN_SNOWWD_H -#include +#include "global.h" struct EnSnowwd; +typedef void (*EnSnowwdActionFunc)(struct EnSnowwd* this, GlobalContext* globalCtx); + typedef struct EnSnowwd { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x54]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x50]; + /* 0x0194 */ EnSnowwdActionFunc actionFunc; } EnSnowwd; // size = 0x198 extern const ActorInit En_Snowwd_InitVars; diff --git a/src/overlays/actors/ovl_En_Sob1/z_en_sob1.h b/src/overlays/actors/ovl_En_Sob1/z_en_sob1.h index 38b199ba68..4476cad955 100644 --- a/src/overlays/actors/ovl_En_Sob1/z_en_sob1.h +++ b/src/overlays/actors/ovl_En_Sob1/z_en_sob1.h @@ -1,7 +1,7 @@ #ifndef Z_EN_SOB1_H #define Z_EN_SOB1_H -#include +#include "global.h" #include "overlays/actors/ovl_En_GirlA/z_en_girla.h" struct EnSob1; diff --git a/src/overlays/actors/ovl_En_Ssh/z_en_ssh.c b/src/overlays/actors/ovl_En_Ssh/z_en_ssh.c index 6437540df5..1ac84901e3 100644 --- a/src/overlays/actors/ovl_En_Ssh/z_en_ssh.c +++ b/src/overlays/actors/ovl_En_Ssh/z_en_ssh.c @@ -9,6 +9,15 @@ void EnSsh_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnSsh_Update(Actor* thisx, GlobalContext* globalCtx); void EnSsh_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_809755C0(EnSsh* this, GlobalContext* globalCtx); +void func_80975720(EnSsh* this, GlobalContext* globalCtx); +void func_809758B0(EnSsh* this, GlobalContext* globalCtx); +void func_80975998(EnSsh* this, GlobalContext* globalCtx); +void func_80975A98(EnSsh* this, GlobalContext* globalCtx); +void func_80975C14(EnSsh* this, GlobalContext* globalCtx); + +void EnSsh_SetupAction(EnSsh* this, EnSshActionFunc actionFunc); + #if 0 const ActorInit En_Ssh_InitVars = { ACTOR_EN_SSH, @@ -22,7 +31,6 @@ const ActorInit En_Ssh_InitVars = { (ActorFunc)EnSsh_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80976030 = { { COLTYPE_HIT6, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_NONE, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,11 +38,9 @@ static ColliderCylinderInit D_80976030 = { { 32, 50, -24, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_8097605C = { 1, 0, 0, 0, MASS_IMMOVABLE }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80976068 = { { COLTYPE_HIT6, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -42,7 +48,6 @@ static ColliderCylinderInit D_80976068 = { { 20, 60, -30, { 0, 0, 0 } }, }; - // static ColliderJntSphElementInit sJntSphElementsInit[1] = { static ColliderJntSphElementInit D_80976094[1] = { { @@ -57,104 +62,108 @@ static ColliderJntSphInit D_809760B8 = { 1, D_80976094, // sJntSphElementsInit, }; +#endif extern ColliderCylinderInit D_80976030; extern CollisionCheckInfoInit2 D_8097605C; extern ColliderCylinderInit D_80976068; extern ColliderJntSphElementInit D_80976094[1]; extern ColliderJntSphInit D_809760B8; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/func_80973EF0.asm") +extern UNK_TYPE D_060000D8; +extern UNK_TYPE D_06000304; +extern UNK_TYPE D_06005850; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/func_80973EFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/EnSsh_SetupAction.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/func_80973F84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/func_80973EFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/func_80974080.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/func_80973F84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/func_80974118.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/func_80974080.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/func_80974220.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/func_80974118.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/func_8097424C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/func_80974220.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/func_80974374.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/func_8097424C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/func_809744A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/func_80974374.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/func_809744C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/func_809744A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/func_809744FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/func_809744C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/func_80974540.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/func_809744FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/func_80974590.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/func_80974540.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/func_809745BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/func_80974590.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/func_80974730.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/func_809745BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/func_8097480C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/func_80974730.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/func_809748DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/func_8097480C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/func_8097497C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/func_809748DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/func_809749B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/func_8097497C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/func_80974A24.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/func_809749B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/func_80974B0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/func_80974A24.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/func_80974B44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/func_80974B0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/func_80974B84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/func_80974B44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/func_80974CC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/func_80974B84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/func_80974D3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/func_80974CC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/func_80974E44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/func_80974D3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/func_80974EA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/func_80974E44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/func_80974F78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/func_80974EA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/func_8097502C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/func_80974F78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/func_80975070.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/func_8097502C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/func_80975128.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/func_80975070.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/func_80975300.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/func_80975128.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/EnSsh_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/func_80975300.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/EnSsh_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/EnSsh_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/func_809755C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/EnSsh_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/func_8097561C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/func_809755C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/func_809756D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/func_8097561C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/func_80975720.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/func_809756D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/func_809758B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/func_80975720.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/func_80975998.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/func_809758B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/func_80975A98.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/func_80975998.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/func_80975B6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/func_80975A98.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/func_80975C14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/func_80975B6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/EnSsh_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/func_80975C14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/func_80975DBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/EnSsh_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/func_80975EB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/func_80975DBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Ssh_0x80973EF0/EnSsh_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/func_80975EB8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ssh/EnSsh_Draw.s") diff --git a/src/overlays/actors/ovl_En_Ssh/z_en_ssh.h b/src/overlays/actors/ovl_En_Ssh/z_en_ssh.h index 8b12b91633..b81cba181a 100644 --- a/src/overlays/actors/ovl_En_Ssh/z_en_ssh.h +++ b/src/overlays/actors/ovl_En_Ssh/z_en_ssh.h @@ -1,13 +1,17 @@ #ifndef Z_EN_SSH_H #define Z_EN_SSH_H -#include +#include "global.h" struct EnSsh; +typedef void (*EnSshActionFunc)(struct EnSsh* this, GlobalContext* globalCtx); + typedef struct EnSsh { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x488]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x1AC]; + /* 0x02F0 */ EnSshActionFunc actionFunc; + /* 0x02F4 */ char unk_2F4[0x2D8]; } EnSsh; // size = 0x5CC extern const ActorInit En_Ssh_InitVars; diff --git a/src/overlays/actors/ovl_En_St/z_en_st.c b/src/overlays/actors/ovl_En_St/z_en_st.c index 237220d53f..a0d2cacf9a 100644 --- a/src/overlays/actors/ovl_En_St/z_en_st.c +++ b/src/overlays/actors/ovl_En_St/z_en_st.c @@ -8,6 +8,12 @@ void EnSt_Init(Actor* thisx, GlobalContext* globalCtx); void EnSt_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnSt_Update(Actor* thisx, GlobalContext* globalCtx); +void func_808A6A78(EnSt* this, GlobalContext* globalCtx); +void func_808A6C04(EnSt* this, GlobalContext* globalCtx); +void func_808A6D84(EnSt* this, GlobalContext* globalCtx); +void func_808A6E24(EnSt* this, GlobalContext* globalCtx); +void func_808A701C(EnSt* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_St_InitVars = { ACTOR_EN_ST, @@ -21,7 +27,6 @@ const ActorInit En_St_InitVars = { (ActorFunc)NULL, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_808A75B0 = { { COLTYPE_HIT2, AT_ON | AT_TYPE_ENEMY, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -29,7 +34,6 @@ static ColliderCylinderInit D_808A75B0 = { { 18, 48, -20, { 0, 0, 0 } }, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_808A75DC = { { COLTYPE_HIT2, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_NONE, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -37,7 +41,6 @@ static ColliderCylinderInit D_808A75DC = { { 18, 48, -20, { 0, 0, 0 } }, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_808A7608 = { { COLTYPE_METAL, AT_NONE, AC_ON | AC_HARD | AC_TYPE_PLAYER, OC1_NONE, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -45,7 +48,6 @@ static ColliderCylinderInit D_808A7608 = { { 18, 48, -20, { 0, 0, 0 } }, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_808A7634 = { { COLTYPE_HIT2, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_NONE, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -53,11 +55,9 @@ static ColliderCylinderInit D_808A7634 = { { 18, 48, -20, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_808A7660 = { 2, 0, 0, 0, MASS_IMMOVABLE }; - // static DamageTable sDamageTable = { static DamageTable D_808A766C = { /* Deku Nut */ DMG_ENTRY(0, 0x1), @@ -94,6 +94,7 @@ static DamageTable D_808A766C = { /* Powder Keg */ DMG_ENTRY(1, 0x0), }; +#endif extern ColliderCylinderInit D_808A75B0; extern ColliderCylinderInit D_808A75DC; @@ -101,64 +102,65 @@ extern ColliderCylinderInit D_808A7608; extern ColliderCylinderInit D_808A7634; extern CollisionCheckInfoInit2 D_808A7660; extern DamageTable D_808A766C; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_St_0x808A5050/func_808A5050.asm") +extern UNK_TYPE D_06005298; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_St_0x808A5050/func_808A52A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_St/func_808A5050.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_St_0x808A5050/func_808A54B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_St/func_808A52A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_St_0x808A5050/func_808A576C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_St/func_808A54B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_St_0x808A5050/func_808A5988.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_St/func_808A576C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_St_0x808A5050/func_808A5AF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_St/func_808A5988.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_St_0x808A5050/func_808A5BEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_St/func_808A5AF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_St_0x808A5050/func_808A5CCC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_St/func_808A5BEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_St_0x808A5050/func_808A5D7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_St/func_808A5CCC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_St_0x808A5050/func_808A5DCC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_St/func_808A5D7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_St_0x808A5050/func_808A5F28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_St/func_808A5DCC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_St_0x808A5050/func_808A6064.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_St/func_808A5F28.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_St_0x808A5050/func_808A60E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_St/func_808A6064.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_St_0x808A5050/func_808A61F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_St/func_808A60E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_St_0x808A5050/func_808A6220.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_St/func_808A61F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_St_0x808A5050/func_808A63E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_St/func_808A6220.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_St_0x808A5050/func_808A6468.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_St/func_808A63E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_St_0x808A5050/func_808A650C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_St/func_808A6468.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_St_0x808A5050/func_808A6580.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_St/func_808A650C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_St_0x808A5050/func_808A6A3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_St/func_808A6580.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_St_0x808A5050/func_808A6A78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_St/func_808A6A3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_St_0x808A5050/func_808A6C04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_St/func_808A6A78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_St_0x808A5050/func_808A6D84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_St/func_808A6C04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_St_0x808A5050/func_808A6E24.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_St/func_808A6D84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_St_0x808A5050/func_808A701C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_St/func_808A6E24.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_St_0x808A5050/EnSt_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_St/func_808A701C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_St_0x808A5050/EnSt_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_St/EnSt_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_St_0x808A5050/EnSt_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_St/EnSt_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_St_0x808A5050/func_808A73E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_St/EnSt_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_St_0x808A5050/func_808A7478.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_St/func_808A73E8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_St/func_808A7478.s") diff --git a/src/overlays/actors/ovl_En_St/z_en_st.h b/src/overlays/actors/ovl_En_St/z_en_st.h index 015dbfae20..bc891ec15f 100644 --- a/src/overlays/actors/ovl_En_St/z_en_st.h +++ b/src/overlays/actors/ovl_En_St/z_en_st.h @@ -1,13 +1,17 @@ #ifndef Z_EN_ST_H #define Z_EN_ST_H -#include +#include "global.h" struct EnSt; +typedef void (*EnStActionFunc)(struct EnSt* this, GlobalContext* globalCtx); + typedef struct EnSt { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x40C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ EnStActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x3C4]; } EnSt; // size = 0x550 extern const ActorInit En_St_InitVars; diff --git a/src/overlays/actors/ovl_En_Sth/z_en_sth.c b/src/overlays/actors/ovl_En_Sth/z_en_sth.c index d8e6e3fcba..9b79659465 100644 --- a/src/overlays/actors/ovl_En_Sth/z_en_sth.c +++ b/src/overlays/actors/ovl_En_Sth/z_en_sth.c @@ -21,7 +21,6 @@ const ActorInit En_Sth_InitVars = { (ActorFunc)NULL, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80B6D19C = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_ENEMY, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -29,58 +28,61 @@ static ColliderCylinderInit D_80B6D19C = { { 30, 40, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80B6D19C; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sth_0x80B66D30/EnSth_Init.asm") +extern ColliderCylinderInit D_80B6D19C; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sth_0x80B66D30/EnSth_Destroy.asm") +extern UNK_TYPE D_06005998; +extern UNK_TYPE D_0A0001A0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sth_0x80B66D30/func_80B6703C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sth/EnSth_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sth_0x80B66D30/func_80B670A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sth/EnSth_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sth_0x80B66D30/func_80B67148.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sth/func_80B6703C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sth_0x80B66D30/func_80B671A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sth/func_80B670A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sth_0x80B66D30/func_80B67208.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sth/func_80B67148.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sth_0x80B66D30/func_80B672A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sth/func_80B671A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sth_0x80B66D30/func_80B67348.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sth/func_80B67208.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sth_0x80B66D30/func_80B67458.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sth/func_80B672A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sth_0x80B66D30/func_80B67540.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sth/func_80B67348.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sth_0x80B66D30/func_80B677BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sth/func_80B67458.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sth_0x80B66D30/func_80B67838.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sth/func_80B67540.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sth_0x80B66D30/func_80B678A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sth/func_80B677BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sth_0x80B66D30/func_80B67958.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sth/func_80B67838.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sth_0x80B66D30/func_80B67984.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sth/func_80B678A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sth_0x80B66D30/func_80B67AB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sth/func_80B67958.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sth_0x80B66D30/func_80B67B50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sth/func_80B67984.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sth_0x80B66D30/func_80B67C1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sth/func_80B67AB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sth_0x80B66D30/func_80B67DA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sth/func_80B67B50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sth_0x80B66D30/func_80B67E20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sth/func_80B67C1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sth_0x80B66D30/EnSth_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sth/func_80B67DA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sth_0x80B66D30/func_80B680A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sth/func_80B67E20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sth_0x80B66D30/func_80B681E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sth/EnSth_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sth_0x80B66D30/func_80B68310.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sth/func_80B680A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sth_0x80B66D30/func_80B6849C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sth/func_80B681E8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sth/func_80B68310.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sth/func_80B6849C.s") diff --git a/src/overlays/actors/ovl_En_Sth/z_en_sth.h b/src/overlays/actors/ovl_En_Sth/z_en_sth.h index b6989be3b4..fcd6042aa8 100644 --- a/src/overlays/actors/ovl_En_Sth/z_en_sth.h +++ b/src/overlays/actors/ovl_En_Sth/z_en_sth.h @@ -1,7 +1,7 @@ #ifndef Z_EN_STH_H #define Z_EN_STH_H -#include +#include "global.h" struct EnSth; diff --git a/src/overlays/actors/ovl_En_Sth2/z_en_sth2.c b/src/overlays/actors/ovl_En_Sth2/z_en_sth2.c index 92c04492b1..d0141f546e 100644 --- a/src/overlays/actors/ovl_En_Sth2/z_en_sth2.c +++ b/src/overlays/actors/ovl_En_Sth2/z_en_sth2.c @@ -23,18 +23,20 @@ const ActorInit En_Sth2_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sth2_0x80BF74E0/EnSth2_Init.asm") +extern UNK_TYPE D_060031F8; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sth2_0x80BF74E0/EnSth2_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sth2/EnSth2_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sth2_0x80BF74E0/func_80BF75A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sth2/EnSth2_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sth2_0x80BF74E0/EnSth2_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sth2/func_80BF75A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sth2_0x80BF74E0/func_80BF7688.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sth2/EnSth2_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sth2_0x80BF74E0/func_80BF76AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sth2/func_80BF7688.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sth2_0x80BF74E0/func_80BF77AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sth2/func_80BF76AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sth2_0x80BF74E0/func_80BF7814.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sth2/func_80BF77AC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sth2/func_80BF7814.s") diff --git a/src/overlays/actors/ovl_En_Sth2/z_en_sth2.h b/src/overlays/actors/ovl_En_Sth2/z_en_sth2.h index 7f13e13e36..1788c486cd 100644 --- a/src/overlays/actors/ovl_En_Sth2/z_en_sth2.h +++ b/src/overlays/actors/ovl_En_Sth2/z_en_sth2.h @@ -1,7 +1,7 @@ #ifndef Z_EN_STH2_H #define Z_EN_STH2_H -#include +#include "global.h" struct EnSth2; diff --git a/src/overlays/actors/ovl_En_Stone_heishi/z_en_stone_heishi.c b/src/overlays/actors/ovl_En_Stone_heishi/z_en_stone_heishi.c index f876ac1a25..3ae886dc16 100644 --- a/src/overlays/actors/ovl_En_Stone_heishi/z_en_stone_heishi.c +++ b/src/overlays/actors/ovl_En_Stone_heishi/z_en_stone_heishi.c @@ -9,6 +9,13 @@ void EnStoneheishi_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnStoneheishi_Update(Actor* thisx, GlobalContext* globalCtx); void EnStoneheishi_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80BC9560(EnStoneheishi* this, GlobalContext* globalCtx); +void func_80BC9680(EnStoneheishi* this, GlobalContext* globalCtx); +void func_80BC9908(EnStoneheishi* this, GlobalContext* globalCtx); +void func_80BC9A2C(EnStoneheishi* this, GlobalContext* globalCtx); +void func_80BC9D28(EnStoneheishi* this, GlobalContext* globalCtx); +void func_80BC9E50(EnStoneheishi* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Stone_heishi_InitVars = { ACTOR_EN_STONE_HEISHI, @@ -22,7 +29,6 @@ const ActorInit En_Stone_heishi_InitVars = { (ActorFunc)EnStoneheishi_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80BCA3A0 = { { COLTYPE_NONE, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -30,44 +36,47 @@ static ColliderCylinderInit D_80BCA3A0 = { { 15, 70, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80BCA3A0; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Stone_heishi_0x80BC9270/EnStoneheishi_Init.asm") +extern ColliderCylinderInit D_80BCA3A0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Stone_heishi_0x80BC9270/EnStoneheishi_Destroy.asm") +extern UNK_TYPE D_06000768; +extern UNK_TYPE D_06003BFC; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Stone_heishi_0x80BC9270/func_80BC935C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Stone_heishi/EnStoneheishi_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Stone_heishi_0x80BC9270/func_80BC941C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Stone_heishi/EnStoneheishi_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Stone_heishi_0x80BC9270/func_80BC94B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Stone_heishi/func_80BC935C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Stone_heishi_0x80BC9270/func_80BC9560.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Stone_heishi/func_80BC941C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Stone_heishi_0x80BC9270/func_80BC9660.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Stone_heishi/func_80BC94B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Stone_heishi_0x80BC9270/func_80BC9680.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Stone_heishi/func_80BC9560.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Stone_heishi_0x80BC9270/func_80BC98EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Stone_heishi/func_80BC9660.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Stone_heishi_0x80BC9270/func_80BC9908.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Stone_heishi/func_80BC9680.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Stone_heishi_0x80BC9270/func_80BC9A10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Stone_heishi/func_80BC98EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Stone_heishi_0x80BC9270/func_80BC9A2C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Stone_heishi/func_80BC9908.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Stone_heishi_0x80BC9270/func_80BC9C88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Stone_heishi/func_80BC9A10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Stone_heishi_0x80BC9270/func_80BC9D28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Stone_heishi/func_80BC9A2C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Stone_heishi_0x80BC9270/func_80BC9E50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Stone_heishi/func_80BC9C88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Stone_heishi_0x80BC9270/EnStoneheishi_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Stone_heishi/func_80BC9D28.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Stone_heishi_0x80BC9270/func_80BCA0AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Stone_heishi/func_80BC9E50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Stone_heishi_0x80BC9270/func_80BCA104.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Stone_heishi/EnStoneheishi_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Stone_heishi_0x80BC9270/EnStoneheishi_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Stone_heishi/func_80BCA0AC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Stone_heishi/func_80BCA104.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Stone_heishi/EnStoneheishi_Draw.s") diff --git a/src/overlays/actors/ovl_En_Stone_heishi/z_en_stone_heishi.h b/src/overlays/actors/ovl_En_Stone_heishi/z_en_stone_heishi.h index ed5acf4225..287f7c9e0a 100644 --- a/src/overlays/actors/ovl_En_Stone_heishi/z_en_stone_heishi.h +++ b/src/overlays/actors/ovl_En_Stone_heishi/z_en_stone_heishi.h @@ -1,13 +1,17 @@ #ifndef Z_EN_STONE_HEISHI_H #define Z_EN_STONE_HEISHI_H -#include +#include "global.h" struct EnStoneheishi; +typedef void (*EnStoneheishiActionFunc)(struct EnStoneheishi* this, GlobalContext* globalCtx); + typedef struct EnStoneheishi { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x180]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x110]; + /* 0x0254 */ EnStoneheishiActionFunc actionFunc; + /* 0x0258 */ char unk_258[0x6C]; } EnStoneheishi; // size = 0x2C4 extern const ActorInit En_Stone_heishi_InitVars; diff --git a/src/overlays/actors/ovl_En_Stop_heishi/z_en_stop_heishi.c b/src/overlays/actors/ovl_En_Stop_heishi/z_en_stop_heishi.c index 5e1949b38c..96e593392b 100644 --- a/src/overlays/actors/ovl_En_Stop_heishi/z_en_stop_heishi.c +++ b/src/overlays/actors/ovl_En_Stop_heishi/z_en_stop_heishi.c @@ -9,6 +9,9 @@ void EnStopheishi_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnStopheishi_Update(Actor* thisx, GlobalContext* globalCtx); void EnStopheishi_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80AE7F34(EnStopheishi* this, GlobalContext* globalCtx); +void func_80AE85C4(EnStopheishi* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Stop_heishi_InitVars = { ACTOR_EN_STOP_HEISHI, @@ -22,7 +25,6 @@ const ActorInit En_Stop_heishi_InitVars = { (ActorFunc)EnStopheishi_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80AE88B0 = { { COLTYPE_NONE, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -30,36 +32,38 @@ static ColliderCylinderInit D_80AE88B0 = { { 50, 260, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80AE88B0; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Stop_heishi_0x80AE73A0/EnStopheishi_Init.asm") +extern ColliderCylinderInit D_80AE88B0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Stop_heishi_0x80AE73A0/EnStopheishi_Destroy.asm") +extern UNK_TYPE D_06006C18; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Stop_heishi_0x80AE73A0/func_80AE750C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Stop_heishi/EnStopheishi_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Stop_heishi_0x80AE73A0/func_80AE75C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Stop_heishi/EnStopheishi_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Stop_heishi_0x80AE73A0/func_80AE7718.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Stop_heishi/func_80AE750C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Stop_heishi_0x80AE73A0/func_80AE77D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Stop_heishi/func_80AE75C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Stop_heishi_0x80AE73A0/func_80AE795C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Stop_heishi/func_80AE7718.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Stop_heishi_0x80AE73A0/func_80AE7E9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Stop_heishi/func_80AE77D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Stop_heishi_0x80AE73A0/func_80AE7F34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Stop_heishi/func_80AE795C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Stop_heishi_0x80AE73A0/func_80AE854C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Stop_heishi/func_80AE7E9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Stop_heishi_0x80AE73A0/func_80AE85C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Stop_heishi/func_80AE7F34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Stop_heishi_0x80AE73A0/EnStopheishi_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Stop_heishi/func_80AE854C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Stop_heishi_0x80AE73A0/func_80AE87A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Stop_heishi/func_80AE85C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Stop_heishi_0x80AE73A0/func_80AE87EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Stop_heishi/EnStopheishi_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Stop_heishi_0x80AE73A0/EnStopheishi_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Stop_heishi/func_80AE87A4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Stop_heishi/func_80AE87EC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Stop_heishi/EnStopheishi_Draw.s") diff --git a/src/overlays/actors/ovl_En_Stop_heishi/z_en_stop_heishi.h b/src/overlays/actors/ovl_En_Stop_heishi/z_en_stop_heishi.h index 095b1f00aa..668f387909 100644 --- a/src/overlays/actors/ovl_En_Stop_heishi/z_en_stop_heishi.h +++ b/src/overlays/actors/ovl_En_Stop_heishi/z_en_stop_heishi.h @@ -1,13 +1,17 @@ #ifndef Z_EN_STOP_HEISHI_H #define Z_EN_STOP_HEISHI_H -#include +#include "global.h" struct EnStopheishi; +typedef void (*EnStopheishiActionFunc)(struct EnStopheishi* this, GlobalContext* globalCtx); + typedef struct EnStopheishi { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x1A4]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x110]; + /* 0x0254 */ EnStopheishiActionFunc actionFunc; + /* 0x0258 */ char unk_258[0x90]; } EnStopheishi; // size = 0x2E8 extern const ActorInit En_Stop_heishi_InitVars; diff --git a/src/overlays/actors/ovl_En_Stream/z_en_stream.c b/src/overlays/actors/ovl_En_Stream/z_en_stream.c index 9280d9a462..ad7228b1ba 100644 --- a/src/overlays/actors/ovl_En_Stream/z_en_stream.c +++ b/src/overlays/actors/ovl_En_Stream/z_en_stream.c @@ -9,6 +9,8 @@ void EnStream_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnStream_Update(Actor* thisx, GlobalContext* globalCtx); void EnStream_Draw(Actor* thisx, GlobalContext* globalCtx); +void EnStream_SetupAction(EnStream* this, EnStreamActionFunc actionFunc); + #if 0 const ActorInit En_Stream_InitVars = { ACTOR_EN_STREAM, @@ -22,28 +24,29 @@ const ActorInit En_Stream_InitVars = { (ActorFunc)EnStream_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80965B20[] = { ICHAIN_VEC3F_DIV1000(scale, 20, ICHAIN_STOP), }; - -extern InitChainEntry D_80965B20[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Stream_0x80965650/func_80965650.asm") +extern InitChainEntry D_80965B20[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Stream_0x80965650/EnStream_Init.asm") +extern UNK_TYPE D_06000950; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Stream_0x80965650/EnStream_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Stream/EnStream_SetupAction.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Stream_0x80965650/func_809656D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Stream/EnStream_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Stream_0x80965650/func_809657F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Stream/EnStream_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Stream_0x80965650/func_8096597C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Stream/func_809656D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Stream_0x80965650/EnStream_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Stream/func_809657F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Stream_0x80965650/EnStream_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Stream/func_8096597C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Stream/EnStream_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Stream/EnStream_Draw.s") diff --git a/src/overlays/actors/ovl_En_Stream/z_en_stream.h b/src/overlays/actors/ovl_En_Stream/z_en_stream.h index 30800e785c..2d19d0cf97 100644 --- a/src/overlays/actors/ovl_En_Stream/z_en_stream.h +++ b/src/overlays/actors/ovl_En_Stream/z_en_stream.h @@ -1,13 +1,16 @@ #ifndef Z_EN_STREAM_H #define Z_EN_STREAM_H -#include +#include "global.h" struct EnStream; +typedef void (*EnStreamActionFunc)(struct EnStream* this, GlobalContext* globalCtx); + typedef struct EnStream { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0xC]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ EnStreamActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x8]; } EnStream; // size = 0x150 extern const ActorInit En_Stream_InitVars; diff --git a/src/overlays/actors/ovl_En_Suttari/z_en_suttari.c b/src/overlays/actors/ovl_En_Suttari/z_en_suttari.c index d8f73202ea..91103de667 100644 --- a/src/overlays/actors/ovl_En_Suttari/z_en_suttari.c +++ b/src/overlays/actors/ovl_En_Suttari/z_en_suttari.c @@ -38,12 +38,12 @@ void func_80BADF3C(EnSuttari* this, GlobalContext* globalCtx); extern FlexSkeletonHeader D_0600C240; extern AnimationHeader D_0600071C; -extern AnimationHeader D_060128F4; -extern AnimationHeader D_06011F84; -extern AnimationHeader D_06012E84; -extern AnimationHeader D_0601139C; -extern AnimationHeader D_06011C38; extern AnimationHeader D_06010BDC; +extern AnimationHeader D_0601139C; +extern AnimationHeader D_06011F84; +extern AnimationHeader D_06011C38; +extern AnimationHeader D_060128F4; +extern AnimationHeader D_06012E84; extern Gfx D_0600AF90[]; extern Gfx D_06013380[]; diff --git a/src/overlays/actors/ovl_En_Suttari/z_en_suttari.h b/src/overlays/actors/ovl_En_Suttari/z_en_suttari.h index 061ed49f6f..93423fe77c 100644 --- a/src/overlays/actors/ovl_En_Suttari/z_en_suttari.h +++ b/src/overlays/actors/ovl_En_Suttari/z_en_suttari.h @@ -1,7 +1,7 @@ #ifndef Z_EN_SUTTARI_H #define Z_EN_SUTTARI_H -#include +#include "global.h" #include "overlays/actors/ovl_En_Fsn/z_en_fsn.h" struct EnSuttari; diff --git a/src/overlays/actors/ovl_En_Sw/z_en_sw.c b/src/overlays/actors/ovl_En_Sw/z_en_sw.c index 1351266b15..b5244fd129 100644 --- a/src/overlays/actors/ovl_En_Sw/z_en_sw.c +++ b/src/overlays/actors/ovl_En_Sw/z_en_sw.c @@ -9,6 +9,18 @@ void EnSw_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnSw_Update(Actor* thisx, GlobalContext* globalCtx); void EnSw_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_808DA350(EnSw* this, GlobalContext* globalCtx); +void func_808DA3F4(EnSw* this, GlobalContext* globalCtx); +void func_808DA578(EnSw* this, GlobalContext* globalCtx); +void func_808DA6FC(EnSw* this, GlobalContext* globalCtx); +void func_808DA89C(EnSw* this, GlobalContext* globalCtx); +void func_808DAA60(EnSw* this, GlobalContext* globalCtx); +void func_808DACF4(EnSw* this, GlobalContext* globalCtx); +void func_808DAEB4(EnSw* this, GlobalContext* globalCtx); +void func_808DB100(EnSw* this, GlobalContext* globalCtx); +void func_808DB25C(EnSw* this, GlobalContext* globalCtx); +void func_808DB2E0(EnSw* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Sw_InitVars = { ACTOR_EN_SW, @@ -22,7 +34,6 @@ const ActorInit En_Sw_InitVars = { (ActorFunc)EnSw_Draw, }; - // static ColliderSphereInit sSphereInit = { static ColliderSphereInit D_808DB9E0 = { { COLTYPE_NONE, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_SPHERE, }, @@ -30,11 +41,9 @@ static ColliderSphereInit D_808DB9E0 = { { 0, { { 0, 0, 0 }, 16 }, 100 }, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_808DBA0C = { 1, 0, 0, 0, MASS_IMMOVABLE }; - // static DamageTable sDamageTable = { static DamageTable D_808DBA18 = { /* Deku Nut */ DMG_ENTRY(1, 0x0), @@ -71,11 +80,9 @@ static DamageTable D_808DBA18 = { /* Powder Keg */ DMG_ENTRY(1, 0x0), }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_808DBA38 = { 1, 0, 0, 0, MASS_IMMOVABLE }; - // static DamageTable sDamageTable = { static DamageTable D_808DBA44 = { /* Deku Nut */ DMG_ENTRY(0, 0x1), @@ -112,86 +119,89 @@ static DamageTable D_808DBA44 = { /* Powder Keg */ DMG_ENTRY(1, 0x0), }; +#endif extern ColliderSphereInit D_808DB9E0; extern CollisionCheckInfoInit2 D_808DBA0C; extern DamageTable D_808DBA18; extern CollisionCheckInfoInit2 D_808DBA38; extern DamageTable D_808DBA44; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sw_0x808D8940/func_808D8940.asm") +extern UNK_TYPE D_06004788; +extern UNK_TYPE D_06005298; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sw_0x808D8940/func_808D8B58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sw/func_808D8940.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sw_0x808D8940/func_808D8D60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sw/func_808D8B58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sw_0x808D8940/func_808D8ED0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sw/func_808D8D60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sw_0x808D8940/func_808D8FC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sw/func_808D8ED0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sw_0x808D8940/func_808D90C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sw/func_808D8FC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sw_0x808D8940/func_808D90F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sw/func_808D90C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sw_0x808D8940/func_808D91C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sw/func_808D90F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sw_0x808D8940/func_808D93BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sw/func_808D91C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sw_0x808D8940/func_808D9440.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sw/func_808D93BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sw_0x808D8940/func_808D94D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sw/func_808D9440.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sw_0x808D8940/func_808D9894.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sw/func_808D94D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sw_0x808D8940/func_808D9968.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sw/func_808D9894.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sw_0x808D8940/func_808D99C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sw/func_808D9968.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sw_0x808D8940/func_808D9A70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sw/func_808D99C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sw_0x808D8940/func_808D9C18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sw/func_808D9A70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sw_0x808D8940/func_808D9DA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sw/func_808D9C18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sw_0x808D8940/func_808D9E44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sw/func_808D9DA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sw_0x808D8940/func_808D9F08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sw/func_808D9E44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sw_0x808D8940/func_808D9F78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sw/func_808D9F08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sw_0x808D8940/func_808DA024.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sw/func_808D9F78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sw_0x808D8940/func_808DA08C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sw/func_808DA024.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sw_0x808D8940/func_808DA350.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sw/func_808DA08C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sw_0x808D8940/func_808DA3F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sw/func_808DA350.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sw_0x808D8940/func_808DA578.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sw/func_808DA3F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sw_0x808D8940/func_808DA6FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sw/func_808DA578.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sw_0x808D8940/func_808DA89C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sw/func_808DA6FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sw_0x808D8940/func_808DAA60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sw/func_808DA89C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sw_0x808D8940/func_808DACF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sw/func_808DAA60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sw_0x808D8940/func_808DAEB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sw/func_808DACF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sw_0x808D8940/func_808DB100.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sw/func_808DAEB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sw_0x808D8940/func_808DB25C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sw/func_808DB100.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sw_0x808D8940/func_808DB2E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sw/func_808DB25C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sw_0x808D8940/EnSw_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sw/func_808DB2E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sw_0x808D8940/EnSw_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sw/EnSw_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sw_0x808D8940/EnSw_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sw/EnSw_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sw_0x808D8940/func_808DB7F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sw/EnSw_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Sw_0x808D8940/EnSw_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sw/func_808DB7F4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Sw/EnSw_Draw.s") diff --git a/src/overlays/actors/ovl_En_Sw/z_en_sw.h b/src/overlays/actors/ovl_En_Sw/z_en_sw.h index 3a383a5d0d..863b117ac1 100644 --- a/src/overlays/actors/ovl_En_Sw/z_en_sw.h +++ b/src/overlays/actors/ovl_En_Sw/z_en_sw.h @@ -1,13 +1,17 @@ #ifndef Z_EN_SW_H #define Z_EN_SW_H -#include +#include "global.h" struct EnSw; +typedef void (*EnSwActionFunc)(struct EnSw* this, GlobalContext* globalCtx); + typedef struct EnSw { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x360]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ EnSwActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x318]; } EnSw; // size = 0x4A4 extern const ActorInit En_Sw_InitVars; diff --git a/src/overlays/actors/ovl_En_Syateki_Crow/z_en_syateki_crow.c b/src/overlays/actors/ovl_En_Syateki_Crow/z_en_syateki_crow.c index 5f2b65574f..f14c5b3c56 100644 --- a/src/overlays/actors/ovl_En_Syateki_Crow/z_en_syateki_crow.c +++ b/src/overlays/actors/ovl_En_Syateki_Crow/z_en_syateki_crow.c @@ -22,7 +22,6 @@ const ActorInit En_Syateki_Crow_InitVars = { (ActorFunc)EnSyatekiCrow_Draw, }; - // static ColliderJntSphElementInit sJntSphElementsInit[1] = { static ColliderJntSphElementInit D_809CB07C[1] = { { @@ -37,7 +36,6 @@ static ColliderJntSphInit D_809CB0A0 = { 1, D_809CB07C, // sJntSphElementsInit, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_809CB0B0[] = { ICHAIN_F32(uncullZoneScale, 3000, ICHAIN_CONTINUE), @@ -46,36 +44,38 @@ static InitChainEntry D_809CB0B0[] = { ICHAIN_F32(targetArrowOffset, 2000, ICHAIN_STOP), }; +#endif extern ColliderJntSphElementInit D_809CB07C[1]; extern ColliderJntSphInit D_809CB0A0; extern InitChainEntry D_809CB0B0[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Crow_0x809CA3F0/EnSyatekiCrow_Init.asm") +extern UNK_TYPE D_060000F0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Crow_0x809CA3F0/EnSyatekiCrow_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Crow/EnSyatekiCrow_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Crow_0x809CA3F0/func_809CA5D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Crow/EnSyatekiCrow_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Crow_0x809CA3F0/func_809CA67C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Crow/func_809CA5D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Crow_0x809CA3F0/func_809CA71C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Crow/func_809CA67C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Crow_0x809CA3F0/func_809CA840.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Crow/func_809CA71C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Crow_0x809CA3F0/func_809CA8E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Crow/func_809CA840.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Crow_0x809CA3F0/func_809CAAF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Crow/func_809CA8E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Crow_0x809CA3F0/func_809CABC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Crow/func_809CAAF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Crow_0x809CA3F0/func_809CACD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Crow/func_809CABC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Crow_0x809CA3F0/EnSyatekiCrow_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Crow/func_809CACD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Crow_0x809CA3F0/func_809CAE5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Crow/EnSyatekiCrow_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Crow_0x809CA3F0/func_809CAF2C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Crow/func_809CAE5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Crow_0x809CA3F0/EnSyatekiCrow_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Crow/func_809CAF2C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Crow/EnSyatekiCrow_Draw.s") diff --git a/src/overlays/actors/ovl_En_Syateki_Crow/z_en_syateki_crow.h b/src/overlays/actors/ovl_En_Syateki_Crow/z_en_syateki_crow.h index 65f978f0a0..0e61df9363 100644 --- a/src/overlays/actors/ovl_En_Syateki_Crow/z_en_syateki_crow.h +++ b/src/overlays/actors/ovl_En_Syateki_Crow/z_en_syateki_crow.h @@ -1,13 +1,17 @@ #ifndef Z_EN_SYATEKI_CROW_H #define Z_EN_SYATEKI_CROW_H -#include +#include "global.h" struct EnSyatekiCrow; +typedef void (*EnSyatekiCrowActionFunc)(struct EnSyatekiCrow* this, GlobalContext* globalCtx); + typedef struct EnSyatekiCrow { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x158]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x74]; + /* 0x01B8 */ EnSyatekiCrowActionFunc actionFunc; + /* 0x01BC */ char unk_1BC[0xE0]; } EnSyatekiCrow; // size = 0x29C extern const ActorInit En_Syateki_Crow_InitVars; diff --git a/src/overlays/actors/ovl_En_Syateki_Dekunuts/z_en_syateki_dekunuts.c b/src/overlays/actors/ovl_En_Syateki_Dekunuts/z_en_syateki_dekunuts.c index 0dab77f20d..ec86ce081c 100644 --- a/src/overlays/actors/ovl_En_Syateki_Dekunuts/z_en_syateki_dekunuts.c +++ b/src/overlays/actors/ovl_En_Syateki_Dekunuts/z_en_syateki_dekunuts.c @@ -9,6 +9,15 @@ void EnSyatekiDekunuts_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnSyatekiDekunuts_Update(Actor* thisx, GlobalContext* globalCtx); void EnSyatekiDekunuts_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80A2BF18(EnSyatekiDekunuts* this, GlobalContext* globalCtx); +void func_80A2C0F8(EnSyatekiDekunuts* this, GlobalContext* globalCtx); +void func_80A2C168(EnSyatekiDekunuts* this, GlobalContext* globalCtx); +void func_80A2C208(EnSyatekiDekunuts* this, GlobalContext* globalCtx); +void func_80A2C2E0(EnSyatekiDekunuts* this, GlobalContext* globalCtx); +void func_80A2C3F0(EnSyatekiDekunuts* this, GlobalContext* globalCtx); +void func_80A2C48C(EnSyatekiDekunuts* this, GlobalContext* globalCtx); +void func_80A2C5DC(EnSyatekiDekunuts* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Syateki_Dekunuts_InitVars = { ACTOR_EN_SYATEKI_DEKUNUTS, @@ -22,7 +31,6 @@ const ActorInit En_Syateki_Dekunuts_InitVars = { (ActorFunc)EnSyatekiDekunuts_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80A2CAB0 = { { COLTYPE_HIT6, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,7 +38,6 @@ static ColliderCylinderInit D_80A2CAB0 = { { 48, 80, 0, { 0, 0, 0 } }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80A2CB90[] = { ICHAIN_S8(hintId, 77, ICHAIN_CONTINUE), @@ -38,51 +45,55 @@ static InitChainEntry D_80A2CB90[] = { ICHAIN_F32(targetArrowOffset, 2600, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80A2CAB0; extern InitChainEntry D_80A2CB90[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Dekunuts_0x80A2BC00/EnSyatekiDekunuts_Init.asm") +extern UNK_TYPE D_06001E50; +extern UNK_TYPE D_06002A5C; +extern UNK_TYPE D_06003180; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Dekunuts_0x80A2BC00/EnSyatekiDekunuts_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Dekunuts/EnSyatekiDekunuts_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Dekunuts_0x80A2BC00/func_80A2BE54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Dekunuts/EnSyatekiDekunuts_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Dekunuts_0x80A2BC00/func_80A2BF18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Dekunuts/func_80A2BE54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Dekunuts_0x80A2BC00/func_80A2BFC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Dekunuts/func_80A2BF18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Dekunuts_0x80A2BC00/func_80A2C0F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Dekunuts/func_80A2BFC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Dekunuts_0x80A2BC00/func_80A2C150.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Dekunuts/func_80A2C0F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Dekunuts_0x80A2BC00/func_80A2C168.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Dekunuts/func_80A2C150.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Dekunuts_0x80A2BC00/func_80A2C1AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Dekunuts/func_80A2C168.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Dekunuts_0x80A2BC00/func_80A2C208.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Dekunuts/func_80A2C1AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Dekunuts_0x80A2BC00/func_80A2C27C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Dekunuts/func_80A2C208.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Dekunuts_0x80A2BC00/func_80A2C2E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Dekunuts/func_80A2C27C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Dekunuts_0x80A2BC00/func_80A2C33C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Dekunuts/func_80A2C2E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Dekunuts_0x80A2BC00/func_80A2C3AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Dekunuts/func_80A2C33C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Dekunuts_0x80A2BC00/func_80A2C3F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Dekunuts/func_80A2C3AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Dekunuts_0x80A2BC00/func_80A2C478.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Dekunuts/func_80A2C3F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Dekunuts_0x80A2BC00/func_80A2C48C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Dekunuts/func_80A2C478.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Dekunuts_0x80A2BC00/func_80A2C4D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Dekunuts/func_80A2C48C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Dekunuts_0x80A2BC00/func_80A2C5DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Dekunuts/func_80A2C4D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Dekunuts_0x80A2BC00/EnSyatekiDekunuts_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Dekunuts/func_80A2C5DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Dekunuts_0x80A2BC00/func_80A2C8A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Dekunuts/EnSyatekiDekunuts_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Dekunuts_0x80A2BC00/EnSyatekiDekunuts_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Dekunuts/func_80A2C8A0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Dekunuts/EnSyatekiDekunuts_Draw.s") diff --git a/src/overlays/actors/ovl_En_Syateki_Dekunuts/z_en_syateki_dekunuts.h b/src/overlays/actors/ovl_En_Syateki_Dekunuts/z_en_syateki_dekunuts.h index 36aeebbcf3..0acf79d29e 100644 --- a/src/overlays/actors/ovl_En_Syateki_Dekunuts/z_en_syateki_dekunuts.h +++ b/src/overlays/actors/ovl_En_Syateki_Dekunuts/z_en_syateki_dekunuts.h @@ -1,13 +1,17 @@ #ifndef Z_EN_SYATEKI_DEKUNUTS_H #define Z_EN_SYATEKI_DEKUNUTS_H -#include +#include "global.h" struct EnSyatekiDekunuts; +typedef void (*EnSyatekiDekunutsActionFunc)(struct EnSyatekiDekunuts* this, GlobalContext* globalCtx); + typedef struct EnSyatekiDekunuts { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x12C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ EnSyatekiDekunutsActionFunc actionFunc; + /* 0x018C */ char unk_18C[0xE4]; } EnSyatekiDekunuts; // size = 0x270 extern const ActorInit En_Syateki_Dekunuts_InitVars; diff --git a/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.c b/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.c index c7f2af56bf..ab927fb57c 100644 --- a/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.c +++ b/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.c @@ -9,6 +9,25 @@ void EnSyatekiMan_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnSyatekiMan_Update(Actor* thisx, GlobalContext* globalCtx); void EnSyatekiMan_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_809C6810(EnSyatekiMan* this, GlobalContext* globalCtx); +void func_809C6848(EnSyatekiMan* this, GlobalContext* globalCtx); +void func_809C6E30(EnSyatekiMan* this, GlobalContext* globalCtx); +void func_809C72D8(EnSyatekiMan* this, GlobalContext* globalCtx); +void func_809C7990(EnSyatekiMan* this, GlobalContext* globalCtx); +void func_809C7A90(EnSyatekiMan* this, GlobalContext* globalCtx); +void func_809C7C14(EnSyatekiMan* this, GlobalContext* globalCtx); +void func_809C7D14(EnSyatekiMan* this, GlobalContext* globalCtx); +void func_809C7EB4(EnSyatekiMan* this, GlobalContext* globalCtx); +void func_809C7FFC(EnSyatekiMan* this, GlobalContext* globalCtx); +void func_809C80C0(EnSyatekiMan* this, GlobalContext* globalCtx); +void func_809C81D0(EnSyatekiMan* this, GlobalContext* globalCtx); +void func_809C8488(EnSyatekiMan* this, GlobalContext* globalCtx); +void func_809C8610(EnSyatekiMan* this, GlobalContext* globalCtx); +void func_809C8710(EnSyatekiMan* this, GlobalContext* globalCtx); +void func_809C8808(EnSyatekiMan* this, GlobalContext* globalCtx); +void func_809C898C(EnSyatekiMan* this, GlobalContext* globalCtx); +void func_809C8BF0(EnSyatekiMan* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Syateki_Man_InitVars = { ACTOR_EN_SYATEKI_MAN, @@ -24,66 +43,71 @@ const ActorInit En_Syateki_Man_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Man_0x809C64C0/func_809C64C0.asm") +extern UNK_TYPE D_060062C8; +extern UNK_TYPE D_0600D2F8; +extern UNK_TYPE D_0600DFEC; +extern UNK_TYPE D_0600F2D0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Man_0x809C64C0/EnSyatekiMan_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Man/func_809C64C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Man_0x809C64C0/EnSyatekiMan_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Man/EnSyatekiMan_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Man_0x809C64C0/func_809C6720.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Man/EnSyatekiMan_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Man_0x809C64C0/func_809C6810.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Man/func_809C6720.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Man_0x809C64C0/func_809C6848.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Man/func_809C6810.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Man_0x809C64C0/func_809C6A04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Man/func_809C6848.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Man_0x809C64C0/func_809C6C2C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Man/func_809C6A04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Man_0x809C64C0/func_809C6E30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Man/func_809C6C2C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Man_0x809C64C0/func_809C6F98.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Man/func_809C6E30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Man_0x809C64C0/func_809C72D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Man/func_809C6F98.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Man_0x809C64C0/func_809C7380.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Man/func_809C72D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Man_0x809C64C0/func_809C7620.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Man/func_809C7380.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Man_0x809C64C0/func_809C7990.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Man/func_809C7620.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Man_0x809C64C0/func_809C7A90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Man/func_809C7990.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Man_0x809C64C0/func_809C7C14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Man/func_809C7A90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Man_0x809C64C0/func_809C7D14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Man/func_809C7C14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Man_0x809C64C0/func_809C7EB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Man/func_809C7D14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Man_0x809C64C0/func_809C7FFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Man/func_809C7EB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Man_0x809C64C0/func_809C80C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Man/func_809C7FFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Man_0x809C64C0/func_809C81D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Man/func_809C80C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Man_0x809C64C0/func_809C8488.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Man/func_809C81D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Man_0x809C64C0/func_809C8610.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Man/func_809C8488.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Man_0x809C64C0/func_809C8710.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Man/func_809C8610.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Man_0x809C64C0/func_809C8808.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Man/func_809C8710.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Man_0x809C64C0/func_809C898C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Man/func_809C8808.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Man_0x809C64C0/func_809C8BF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Man/func_809C898C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Man_0x809C64C0/func_809C8DE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Man/func_809C8BF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Man_0x809C64C0/EnSyatekiMan_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Man/func_809C8DE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Man_0x809C64C0/func_809C8EE4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Man/EnSyatekiMan_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Man_0x809C64C0/func_809C8FAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Man/func_809C8EE4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Man_0x809C64C0/EnSyatekiMan_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Man/func_809C8FAC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Man/EnSyatekiMan_Draw.s") diff --git a/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.h b/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.h index 98cb6d4aec..21a3f91fa0 100644 --- a/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.h +++ b/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.h @@ -1,13 +1,17 @@ #ifndef Z_EN_SYATEKI_MAN_H #define Z_EN_SYATEKI_MAN_H -#include +#include "global.h" struct EnSyatekiMan; +typedef void (*EnSyatekiManActionFunc)(struct EnSyatekiMan* this, GlobalContext* globalCtx); + typedef struct EnSyatekiMan { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x144]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ EnSyatekiManActionFunc actionFunc; + /* 0x018C */ char unk_18C[0xFC]; } EnSyatekiMan; // size = 0x288 extern const ActorInit En_Syateki_Man_InitVars; diff --git a/src/overlays/actors/ovl_En_Syateki_Okuta/z_en_syateki_okuta.c b/src/overlays/actors/ovl_En_Syateki_Okuta/z_en_syateki_okuta.c index 2aff9783f1..480c0badb0 100644 --- a/src/overlays/actors/ovl_En_Syateki_Okuta/z_en_syateki_okuta.c +++ b/src/overlays/actors/ovl_En_Syateki_Okuta/z_en_syateki_okuta.c @@ -9,6 +9,13 @@ void EnSyatekiOkuta_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnSyatekiOkuta_Update(Actor* thisx, GlobalContext* globalCtx); void EnSyatekiOkuta_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80A362A8(EnSyatekiOkuta* this, GlobalContext* globalCtx); +void func_80A36350(EnSyatekiOkuta* this, GlobalContext* globalCtx); +void func_80A363B4(EnSyatekiOkuta* this, GlobalContext* globalCtx); +void func_80A36488(EnSyatekiOkuta* this, GlobalContext* globalCtx); +void func_80A36504(EnSyatekiOkuta* this, GlobalContext* globalCtx); +void func_80A365EC(EnSyatekiOkuta* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Syateki_Okuta_InitVars = { ACTOR_EN_SYATEKI_OKUTA, @@ -22,7 +29,6 @@ const ActorInit En_Syateki_Okuta_InitVars = { (ActorFunc)EnSyatekiOkuta_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80A37570 = { { COLTYPE_HIT3, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,64 +36,65 @@ static ColliderCylinderInit D_80A37570 = { { 20, 40, -30, { 0, 0, 0 } }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80A37B88[] = { ICHAIN_S8(hintId, 66, ICHAIN_CONTINUE), ICHAIN_F32(targetArrowOffset, 6500, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80A37570; extern InitChainEntry D_80A37B88[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Okuta_0x80A35FF0/EnSyatekiOkuta_Init.asm") +extern UNK_TYPE D_0600466C; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Okuta_0x80A35FF0/EnSyatekiOkuta_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Okuta/EnSyatekiOkuta_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Okuta_0x80A35FF0/func_80A36148.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Okuta/EnSyatekiOkuta_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Okuta_0x80A35FF0/func_80A361B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Okuta/func_80A36148.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Okuta_0x80A35FF0/func_80A361F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Okuta/func_80A361B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Okuta_0x80A35FF0/func_80A36260.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Okuta/func_80A361F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Okuta_0x80A35FF0/func_80A362A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Okuta/func_80A36260.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Okuta_0x80A35FF0/func_80A362F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Okuta/func_80A362A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Okuta_0x80A35FF0/func_80A36350.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Okuta/func_80A362F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Okuta_0x80A35FF0/func_80A36360.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Okuta/func_80A36350.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Okuta_0x80A35FF0/func_80A363B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Okuta/func_80A36360.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Okuta_0x80A35FF0/func_80A36444.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Okuta/func_80A363B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Okuta_0x80A35FF0/func_80A36488.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Okuta/func_80A36444.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Okuta_0x80A35FF0/func_80A364C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Okuta/func_80A36488.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Okuta_0x80A35FF0/func_80A36504.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Okuta/func_80A364C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Okuta_0x80A35FF0/func_80A3657C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Okuta/func_80A36504.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Okuta_0x80A35FF0/func_80A365EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Okuta/func_80A3657C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Okuta_0x80A35FF0/func_80A368E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Okuta/func_80A365EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Okuta_0x80A35FF0/func_80A36A90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Okuta/func_80A368E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Okuta_0x80A35FF0/func_80A36AF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Okuta/func_80A36A90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Okuta_0x80A35FF0/EnSyatekiOkuta_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Okuta/func_80A36AF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Okuta_0x80A35FF0/func_80A36CB0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Okuta/EnSyatekiOkuta_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Okuta_0x80A35FF0/func_80A370EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Okuta/func_80A36CB0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Okuta_0x80A35FF0/func_80A37294.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Okuta/func_80A370EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Okuta_0x80A35FF0/EnSyatekiOkuta_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Okuta/func_80A37294.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Okuta/EnSyatekiOkuta_Draw.s") diff --git a/src/overlays/actors/ovl_En_Syateki_Okuta/z_en_syateki_okuta.h b/src/overlays/actors/ovl_En_Syateki_Okuta/z_en_syateki_okuta.h index 023cdb34d0..42a9e428ef 100644 --- a/src/overlays/actors/ovl_En_Syateki_Okuta/z_en_syateki_okuta.h +++ b/src/overlays/actors/ovl_En_Syateki_Okuta/z_en_syateki_okuta.h @@ -1,13 +1,17 @@ #ifndef Z_EN_SYATEKI_OKUTA_H #define Z_EN_SYATEKI_OKUTA_H -#include +#include "global.h" struct EnSyatekiOkuta; +typedef void (*EnSyatekiOkutaActionFunc)(struct EnSyatekiOkuta* this, GlobalContext* globalCtx); + typedef struct EnSyatekiOkuta { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x168]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ EnSyatekiOkutaActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x120]; } EnSyatekiOkuta; // size = 0x2AC extern const ActorInit En_Syateki_Okuta_InitVars; diff --git a/src/overlays/actors/ovl_En_Syateki_Wf/z_en_syateki_wf.c b/src/overlays/actors/ovl_En_Syateki_Wf/z_en_syateki_wf.c index 1f56efeefc..9323517fd8 100644 --- a/src/overlays/actors/ovl_En_Syateki_Wf/z_en_syateki_wf.c +++ b/src/overlays/actors/ovl_En_Syateki_Wf/z_en_syateki_wf.c @@ -9,6 +9,14 @@ void EnSyatekiWf_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnSyatekiWf_Update(Actor* thisx, GlobalContext* globalCtx); void EnSyatekiWf_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80A20284(EnSyatekiWf* this, GlobalContext* globalCtx); +void func_80A20320(EnSyatekiWf* this, GlobalContext* globalCtx); +void func_80A203DC(EnSyatekiWf* this, GlobalContext* globalCtx); +void func_80A206DC(EnSyatekiWf* this, GlobalContext* globalCtx); +void func_80A2075C(EnSyatekiWf* this, GlobalContext* globalCtx); +void func_80A20800(EnSyatekiWf* this, GlobalContext* globalCtx); +void func_80A208F8(EnSyatekiWf* this, GlobalContext* globalCtx); + #if 0 // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80A20E74 = { @@ -17,7 +25,6 @@ static ColliderCylinderInit D_80A20E74 = { { 40, 60, 0, { 0, 0, 0 } }, }; - // static ColliderJntSphElementInit sJntSphElementsInit[1] = { static ColliderJntSphElementInit D_80A20E50[1] = { { @@ -32,7 +39,6 @@ static ColliderJntSphInit D_80A20EA0 = { 1, D_80A20E50, // sJntSphElementsInit, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80A20EB0 = { { COLTYPE_HIT5, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_NONE, OC2_NONE, COLSHAPE_CYLINDER, }, @@ -40,7 +46,6 @@ static ColliderCylinderInit D_80A20EB0 = { { 15, 20, -15, { 0, 0, 0 } }, }; - const ActorInit En_Syateki_Wf_InitVars = { ACTOR_EN_SYATEKI_WF, ACTORCAT_ENEMY, @@ -53,59 +58,60 @@ const ActorInit En_Syateki_Wf_InitVars = { (ActorFunc)EnSyatekiWf_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80A20FBC[] = { ICHAIN_F32(targetArrowOffset, 2000, ICHAIN_CONTINUE), ICHAIN_F32_DIV1000(gravity, -2000, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80A20E74; extern ColliderJntSphElementInit D_80A20E50[1]; extern ColliderJntSphInit D_80A20EA0; extern ColliderCylinderInit D_80A20EB0; extern InitChainEntry D_80A20FBC[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Wf_0x80A1FE50/EnSyatekiWf_Init.asm") +extern UNK_TYPE D_0600A3CC; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Wf_0x80A1FE50/EnSyatekiWf_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Wf/EnSyatekiWf_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Wf_0x80A1FE50/func_80A200E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Wf/EnSyatekiWf_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Wf_0x80A1FE50/func_80A201CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Wf/func_80A200E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Wf_0x80A1FE50/func_80A20284.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Wf/func_80A201CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Wf_0x80A1FE50/func_80A2030C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Wf/func_80A20284.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Wf_0x80A1FE50/func_80A20320.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Wf/func_80A2030C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Wf_0x80A1FE50/func_80A20378.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Wf/func_80A20320.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Wf_0x80A1FE50/func_80A203DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Wf/func_80A20378.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Wf_0x80A1FE50/func_80A20670.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Wf/func_80A203DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Wf_0x80A1FE50/func_80A206DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Wf/func_80A20670.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Wf_0x80A1FE50/func_80A20710.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Wf/func_80A206DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Wf_0x80A1FE50/func_80A2075C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Wf/func_80A20710.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Wf_0x80A1FE50/func_80A2079C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Wf/func_80A2075C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Wf_0x80A1FE50/func_80A20800.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Wf/func_80A2079C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Wf_0x80A1FE50/func_80A20858.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Wf/func_80A20800.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Wf_0x80A1FE50/func_80A208F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Wf/func_80A20858.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Wf_0x80A1FE50/EnSyatekiWf_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Wf/func_80A208F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Wf_0x80A1FE50/func_80A20CF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Wf/EnSyatekiWf_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Wf_0x80A1FE50/func_80A20D10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Wf/func_80A20CF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Syateki_Wf_0x80A1FE50/EnSyatekiWf_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Wf/func_80A20D10.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Syateki_Wf/EnSyatekiWf_Draw.s") diff --git a/src/overlays/actors/ovl_En_Syateki_Wf/z_en_syateki_wf.h b/src/overlays/actors/ovl_En_Syateki_Wf/z_en_syateki_wf.h index b3551aea14..ea593835b2 100644 --- a/src/overlays/actors/ovl_En_Syateki_Wf/z_en_syateki_wf.h +++ b/src/overlays/actors/ovl_En_Syateki_Wf/z_en_syateki_wf.h @@ -1,13 +1,17 @@ #ifndef Z_EN_SYATEKI_WF_H #define Z_EN_SYATEKI_WF_H -#include +#include "global.h" struct EnSyatekiWf; +typedef void (*EnSyatekiWfActionFunc)(struct EnSyatekiWf* this, GlobalContext* globalCtx); + typedef struct EnSyatekiWf { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x288]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x150]; + /* 0x0294 */ EnSyatekiWfActionFunc actionFunc; + /* 0x0298 */ char unk_298[0x134]; } EnSyatekiWf; // size = 0x3CC extern const ActorInit En_Syateki_Wf_InitVars; diff --git a/src/overlays/actors/ovl_En_Tab/z_en_tab.c b/src/overlays/actors/ovl_En_Tab/z_en_tab.c index 9ef7128cb1..451c762d73 100644 --- a/src/overlays/actors/ovl_En_Tab/z_en_tab.c +++ b/src/overlays/actors/ovl_En_Tab/z_en_tab.c @@ -9,6 +9,9 @@ void EnTab_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnTab_Update(Actor* thisx, GlobalContext* globalCtx); void EnTab_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80BE127C(EnTab* this, GlobalContext* globalCtx); +void func_80BE1348(EnTab* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Tab_InitVars = { ACTOR_EN_TAB, @@ -22,7 +25,6 @@ const ActorInit En_Tab_InitVars = { (ActorFunc)EnTab_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80BE1A98 = { { COLTYPE_HIT1, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,67 +32,68 @@ static ColliderCylinderInit D_80BE1A98 = { { 14, 62, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_80BE1AC4 = { 0, 0, 0, 0, MASS_IMMOVABLE }; +#endif extern ColliderCylinderInit D_80BE1A98; extern CollisionCheckInfoInit2 D_80BE1AC4; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tab_0x80BE04E0/func_80BE04E0.asm") +extern UNK_TYPE D_06007F78; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tab_0x80BE04E0/func_80BE0590.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tab/func_80BE04E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tab_0x80BE04E0/func_80BE05BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tab/func_80BE0590.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tab_0x80BE04E0/func_80BE0620.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tab/func_80BE05BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tab_0x80BE04E0/func_80BE0664.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tab/func_80BE0620.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tab_0x80BE04E0/func_80BE06DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tab/func_80BE0664.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tab_0x80BE04E0/func_80BE0778.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tab/func_80BE06DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tab_0x80BE04E0/func_80BE07A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tab/func_80BE0778.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tab_0x80BE04E0/func_80BE09A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tab/func_80BE07A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tab_0x80BE04E0/func_80BE0A98.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tab/func_80BE09A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tab_0x80BE04E0/func_80BE0C04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tab/func_80BE0A98.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tab_0x80BE04E0/func_80BE0D38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tab/func_80BE0C04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tab_0x80BE04E0/func_80BE0D60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tab/func_80BE0D38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tab_0x80BE04E0/func_80BE0E04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tab/func_80BE0D60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tab_0x80BE04E0/func_80BE0F04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tab/func_80BE0E04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tab_0x80BE04E0/func_80BE0FC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tab/func_80BE0F04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tab_0x80BE04E0/func_80BE1060.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tab/func_80BE0FC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tab_0x80BE04E0/func_80BE10BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tab/func_80BE1060.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tab_0x80BE04E0/func_80BE1224.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tab/func_80BE10BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tab_0x80BE04E0/func_80BE127C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tab/func_80BE1224.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tab_0x80BE04E0/func_80BE1348.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tab/func_80BE127C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tab_0x80BE04E0/EnTab_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tab/func_80BE1348.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tab_0x80BE04E0/EnTab_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tab/EnTab_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tab_0x80BE04E0/EnTab_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tab/EnTab_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tab_0x80BE04E0/func_80BE1648.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tab/EnTab_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tab_0x80BE04E0/func_80BE16B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tab/func_80BE1648.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tab_0x80BE04E0/func_80BE1704.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tab/func_80BE16B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tab_0x80BE04E0/EnTab_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tab/func_80BE1704.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tab/EnTab_Draw.s") diff --git a/src/overlays/actors/ovl_En_Tab/z_en_tab.h b/src/overlays/actors/ovl_En_Tab/z_en_tab.h index bee20da51d..1a0a93b4af 100644 --- a/src/overlays/actors/ovl_En_Tab/z_en_tab.h +++ b/src/overlays/actors/ovl_En_Tab/z_en_tab.h @@ -1,13 +1,17 @@ #ifndef Z_EN_TAB_H #define Z_EN_TAB_H -#include +#include "global.h" struct EnTab; +typedef void (*EnTabActionFunc)(struct EnTab* this, GlobalContext* globalCtx); + typedef struct EnTab { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x1F8]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ EnTabActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x1B0]; } EnTab; // size = 0x33C extern const ActorInit En_Tab_InitVars; diff --git a/src/overlays/actors/ovl_En_Tag_Obj/z_en_tag_obj.h b/src/overlays/actors/ovl_En_Tag_Obj/z_en_tag_obj.h index 9da2f4c9ce..7a9fe909ae 100644 --- a/src/overlays/actors/ovl_En_Tag_Obj/z_en_tag_obj.h +++ b/src/overlays/actors/ovl_En_Tag_Obj/z_en_tag_obj.h @@ -1,7 +1,7 @@ #ifndef Z_EN_TAG_OBJ_H #define Z_EN_TAG_OBJ_H -#include +#include "global.h" struct EnTagObj; diff --git a/src/overlays/actors/ovl_En_Takaraya/z_en_takaraya.c b/src/overlays/actors/ovl_En_Takaraya/z_en_takaraya.c index de841a12d0..b7715b6ab8 100644 --- a/src/overlays/actors/ovl_En_Takaraya/z_en_takaraya.c +++ b/src/overlays/actors/ovl_En_Takaraya/z_en_takaraya.c @@ -22,57 +22,61 @@ const ActorInit En_Takaraya_InitVars = { (ActorFunc)EnTakaraya_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80ADFB20[] = { ICHAIN_U8(targetMode, 6, ICHAIN_CONTINUE), ICHAIN_F32(targetArrowOffset, 1000, ICHAIN_STOP), }; - -extern InitChainEntry D_80ADFB20[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Takaraya_0x80ADEB90/EnTakaraya_Init.asm") +extern InitChainEntry D_80ADFB20[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Takaraya_0x80ADEB90/EnTakaraya_Destroy.asm") +extern UNK_TYPE D_06001384; +extern UNK_TYPE D_06009890; +extern UNK_TYPE D_0600A280; +extern UNK_TYPE D_0600AD98; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Takaraya_0x80ADEB90/func_80ADED8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Takaraya/EnTakaraya_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Takaraya_0x80ADEB90/func_80ADEDF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Takaraya/EnTakaraya_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Takaraya_0x80ADEB90/func_80ADEE4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Takaraya/func_80ADED8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Takaraya_0x80ADEB90/func_80ADEF74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Takaraya/func_80ADEDF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Takaraya_0x80ADEB90/func_80ADF03C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Takaraya/func_80ADEE4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Takaraya_0x80ADEB90/func_80ADF050.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Takaraya/func_80ADEF74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Takaraya_0x80ADEB90/func_80ADF2D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Takaraya/func_80ADF03C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Takaraya_0x80ADEB90/func_80ADF338.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Takaraya/func_80ADF050.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Takaraya_0x80ADEB90/func_80ADF4E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Takaraya/func_80ADF2D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Takaraya_0x80ADEB90/func_80ADF520.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Takaraya/func_80ADF338.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Takaraya_0x80ADEB90/func_80ADF608.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Takaraya/func_80ADF4E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Takaraya_0x80ADEB90/func_80ADF654.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Takaraya/func_80ADF520.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Takaraya_0x80ADEB90/func_80ADF6DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Takaraya/func_80ADF608.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Takaraya_0x80ADEB90/func_80ADF730.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Takaraya/func_80ADF654.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Takaraya_0x80ADEB90/func_80ADF7B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Takaraya/func_80ADF6DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Takaraya_0x80ADEB90/func_80ADF7CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Takaraya/func_80ADF730.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Takaraya_0x80ADEB90/EnTakaraya_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Takaraya/func_80ADF7B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Takaraya_0x80ADEB90/func_80ADF94C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Takaraya/func_80ADF7CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Takaraya_0x80ADEB90/func_80ADF984.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Takaraya/EnTakaraya_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Takaraya_0x80ADEB90/EnTakaraya_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Takaraya/func_80ADF94C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Takaraya/func_80ADF984.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Takaraya/EnTakaraya_Draw.s") diff --git a/src/overlays/actors/ovl_En_Takaraya/z_en_takaraya.h b/src/overlays/actors/ovl_En_Takaraya/z_en_takaraya.h index 0af9884c0f..b9cd736e87 100644 --- a/src/overlays/actors/ovl_En_Takaraya/z_en_takaraya.h +++ b/src/overlays/actors/ovl_En_Takaraya/z_en_takaraya.h @@ -1,13 +1,17 @@ #ifndef Z_EN_TAKARAYA_H #define Z_EN_TAKARAYA_H -#include +#include "global.h" struct EnTakaraya; +typedef void (*EnTakarayaActionFunc)(struct EnTakaraya* this, GlobalContext* globalCtx); + typedef struct EnTakaraya { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x178]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x164]; + /* 0x02A8 */ EnTakarayaActionFunc actionFunc; + /* 0x02AC */ char unk_2AC[0x10]; } EnTakaraya; // size = 0x2BC extern const ActorInit En_Takaraya_InitVars; diff --git a/src/overlays/actors/ovl_En_Talk/z_en_talk.c b/src/overlays/actors/ovl_En_Talk/z_en_talk.c index 83fdedd562..960bdbb050 100644 --- a/src/overlays/actors/ovl_En_Talk/z_en_talk.c +++ b/src/overlays/actors/ovl_En_Talk/z_en_talk.c @@ -8,6 +8,9 @@ void EnTalk_Init(Actor* thisx, GlobalContext* globalCtx); void EnTalk_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnTalk_Update(Actor* thisx, GlobalContext* globalCtx); +void func_80BDE058(EnTalk* this, GlobalContext* globalCtx); +void func_80BDE090(EnTalk* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Talk_InitVars = { ACTOR_EN_TALK, @@ -23,12 +26,12 @@ const ActorInit En_Talk_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_0x80BDDFE0/EnTalk_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk/EnTalk_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_0x80BDDFE0/EnTalk_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk/EnTalk_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_0x80BDDFE0/func_80BDE058.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk/func_80BDE058.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_0x80BDDFE0/func_80BDE090.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk/func_80BDE090.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_0x80BDDFE0/EnTalk_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk/EnTalk_Update.s") diff --git a/src/overlays/actors/ovl_En_Talk/z_en_talk.h b/src/overlays/actors/ovl_En_Talk/z_en_talk.h index 82b837585a..e8f7e2644c 100644 --- a/src/overlays/actors/ovl_En_Talk/z_en_talk.h +++ b/src/overlays/actors/ovl_En_Talk/z_en_talk.h @@ -1,13 +1,15 @@ #ifndef Z_EN_TALK_H #define Z_EN_TALK_H -#include +#include "global.h" struct EnTalk; +typedef void (*EnTalkActionFunc)(struct EnTalk* this, GlobalContext* globalCtx); + typedef struct EnTalk { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x4]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ EnTalkActionFunc actionFunc; } EnTalk; // size = 0x148 extern const ActorInit En_Talk_InitVars; diff --git a/src/overlays/actors/ovl_En_Talk_Gibud/z_en_talk_gibud.c b/src/overlays/actors/ovl_En_Talk_Gibud/z_en_talk_gibud.c index aa48acb2bc..ab563ab23c 100644 --- a/src/overlays/actors/ovl_En_Talk_Gibud/z_en_talk_gibud.c +++ b/src/overlays/actors/ovl_En_Talk_Gibud/z_en_talk_gibud.c @@ -22,7 +22,6 @@ const ActorInit En_Talk_Gibud_InitVars = { (ActorFunc)EnTalkGibud_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80B01350 = { { COLTYPE_HIT0, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,7 +29,6 @@ static ColliderCylinderInit D_80B01350 = { { 20, 70, 0, { 0, 0, 0 } }, }; - // static DamageTable sDamageTable = { static DamageTable D_80B0137C = { /* Deku Nut */ DMG_ENTRY(0, 0x0), @@ -67,11 +65,9 @@ static DamageTable D_80B0137C = { /* Powder Keg */ DMG_ENTRY(1, 0xF), }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_80B0139C = { 8, 0, 0, 0, MASS_HEAVY }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80B01448[] = { ICHAIN_F32(targetArrowOffset, 2000, ICHAIN_CONTINUE), @@ -79,109 +75,113 @@ static InitChainEntry D_80B01448[] = { ICHAIN_F32_DIV1000(gravity, -3500, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80B01350; extern DamageTable D_80B0137C; extern CollisionCheckInfoInit2 D_80B0139C; extern InitChainEntry D_80B01448[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/EnTalkGibud_Init.asm") +extern UNK_TYPE D_06009298; +extern UNK_TYPE D_0600ABE0; +extern UNK_TYPE D_06010B88; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/EnTalkGibud_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/EnTalkGibud_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80AFEB38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/EnTalkGibud_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80AFEB7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80AFEB38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80AFEC08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80AFEB7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80AFEC4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80AFEC08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80AFED08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80AFEC4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80AFED7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80AFED08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80AFEFD4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80AFED7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80AFF030.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80AFEFD4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80AFF22C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80AFF030.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80AFF288.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80AFF22C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80AFF330.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80AFF288.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80AFF378.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80AFF330.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80AFF45C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80AFF378.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80AFF4AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80AFF45C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80AFF618.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80AFF4AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80AFF6A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80AFF618.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80AFF700.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80AFF6A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80AFF76C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80AFF700.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80AFF880.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80AFF76C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80AFF8E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80AFF880.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80AFF9CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80AFF8E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80AFFA68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80AFF9CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80AFFAB0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80AFFA68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80AFFC10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80AFFAB0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80AFFC9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80AFFC10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80AFFD3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80AFFC9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80AFFE3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80AFFD3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80AFFE94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80AFFE3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80AFFFA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80AFFE94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80AFFFBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80AFFFA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80B000FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80AFFFBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80B00158.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80B000FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80B00384.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80B00158.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80B0040C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80B00384.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80B00484.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80B0040C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80B004D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80B00484.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80B005EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80B004D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80B00760.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80B005EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80B008BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80B00760.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80B008FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80B008BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80B0094C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80B008FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80B00B8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80B0094C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80B00C94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80B00B8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80B00D9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80B00C94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/EnTalkGibud_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80B00D9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80B00F08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/EnTalkGibud_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/func_80B00F64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80B00F08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Talk_Gibud_0x80AFE8A0/EnTalkGibud_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/func_80B00F64.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Talk_Gibud/EnTalkGibud_Draw.s") diff --git a/src/overlays/actors/ovl_En_Talk_Gibud/z_en_talk_gibud.h b/src/overlays/actors/ovl_En_Talk_Gibud/z_en_talk_gibud.h index 366ae98916..749ded5927 100644 --- a/src/overlays/actors/ovl_En_Talk_Gibud/z_en_talk_gibud.h +++ b/src/overlays/actors/ovl_En_Talk_Gibud/z_en_talk_gibud.h @@ -1,13 +1,17 @@ #ifndef Z_EN_TALK_GIBUD_H #define Z_EN_TALK_GIBUD_H -#include +#include "global.h" struct EnTalkGibud; +typedef void (*EnTalkGibudActionFunc)(struct EnTalkGibud* this, GlobalContext* globalCtx); + typedef struct EnTalkGibud { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x2B4]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x90]; + /* 0x01D4 */ EnTalkGibudActionFunc actionFunc; + /* 0x01D8 */ char unk_1D8[0x220]; } EnTalkGibud; // size = 0x3F8 extern const ActorInit En_Talk_Gibud_InitVars; diff --git a/src/overlays/actors/ovl_En_Tanron1/z_en_tanron1.c b/src/overlays/actors/ovl_En_Tanron1/z_en_tanron1.c index 186e299cf4..1781ab829c 100644 --- a/src/overlays/actors/ovl_En_Tanron1/z_en_tanron1.c +++ b/src/overlays/actors/ovl_En_Tanron1/z_en_tanron1.c @@ -24,16 +24,16 @@ const ActorInit En_Tanron1_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron1_0x80BB4E00/EnTanron1_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron1/EnTanron1_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron1_0x80BB4E00/EnTanron1_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron1/EnTanron1_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron1_0x80BB4E00/func_80BB4E50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron1/func_80BB4E50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron1_0x80BB4E00/EnTanron1_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron1/EnTanron1_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron1_0x80BB4E00/EnTanron1_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron1/EnTanron1_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron1_0x80BB4E00/func_80BB5318.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron1/func_80BB5318.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron1_0x80BB4E00/func_80BB5AAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron1/func_80BB5AAC.s") diff --git a/src/overlays/actors/ovl_En_Tanron1/z_en_tanron1.h b/src/overlays/actors/ovl_En_Tanron1/z_en_tanron1.h index 333e6ec29e..b32810084e 100644 --- a/src/overlays/actors/ovl_En_Tanron1/z_en_tanron1.h +++ b/src/overlays/actors/ovl_En_Tanron1/z_en_tanron1.h @@ -1,7 +1,7 @@ #ifndef Z_EN_TANRON1_H #define Z_EN_TANRON1_H -#include +#include "global.h" struct EnTanron1; diff --git a/src/overlays/actors/ovl_En_Tanron2/z_en_tanron2.c b/src/overlays/actors/ovl_En_Tanron2/z_en_tanron2.c index 10e942ee1f..640d24f8c5 100644 --- a/src/overlays/actors/ovl_En_Tanron2/z_en_tanron2.c +++ b/src/overlays/actors/ovl_En_Tanron2/z_en_tanron2.c @@ -9,6 +9,11 @@ void EnTanron2_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnTanron2_Update(Actor* thisx, GlobalContext* globalCtx); void EnTanron2_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80BB69FC(EnTanron2* this, GlobalContext* globalCtx); +void func_80BB6BD8(EnTanron2* this, GlobalContext* globalCtx); +void func_80BB6F78(EnTanron2* this, GlobalContext* globalCtx); +void func_80BB7408(EnTanron2* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Tanron2_InitVars = { ACTOR_EN_TANRON2, @@ -22,7 +27,6 @@ const ActorInit En_Tanron2_InitVars = { (ActorFunc)EnTanron2_Draw, }; - // static DamageTable sDamageTable = { static DamageTable D_80BB8170 = { /* Deku Nut */ DMG_ENTRY(1, 0xF), @@ -59,7 +63,6 @@ static DamageTable D_80BB8170 = { /* Powder Keg */ DMG_ENTRY(1, 0xF), }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80BB8190 = { { COLTYPE_HIT3, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -67,7 +70,6 @@ static ColliderCylinderInit D_80BB8190 = { { 30, 50, -25, { 0, 0, 0 } }, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80BB81BC = { { COLTYPE_HIT3, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -75,38 +77,40 @@ static ColliderCylinderInit D_80BB81BC = { { 22, 42, -21, { 0, 0, 0 } }, }; +#endif extern DamageTable D_80BB8170; extern ColliderCylinderInit D_80BB8190; extern ColliderCylinderInit D_80BB81BC; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron2_0x80BB67D0/EnTanron2_Init.asm") +extern UNK_TYPE D_06003450; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron2_0x80BB67D0/EnTanron2_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron2/EnTanron2_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron2_0x80BB67D0/func_80BB69C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron2/EnTanron2_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron2_0x80BB67D0/func_80BB69FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron2/func_80BB69C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron2_0x80BB67D0/func_80BB6B80.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron2/func_80BB69FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron2_0x80BB67D0/func_80BB6BD8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron2/func_80BB6B80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron2_0x80BB67D0/func_80BB6F64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron2/func_80BB6BD8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron2_0x80BB67D0/func_80BB6F78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron2/func_80BB6F64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron2_0x80BB67D0/func_80BB71C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron2/func_80BB6F78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron2_0x80BB67D0/func_80BB7398.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron2/func_80BB71C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron2_0x80BB67D0/func_80BB7408.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron2/func_80BB7398.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron2_0x80BB67D0/func_80BB7578.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron2/func_80BB7408.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron2_0x80BB67D0/EnTanron2_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron2/func_80BB7578.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron2_0x80BB67D0/func_80BB7B90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron2/EnTanron2_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron2_0x80BB67D0/EnTanron2_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron2/func_80BB7B90.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron2/EnTanron2_Draw.s") diff --git a/src/overlays/actors/ovl_En_Tanron2/z_en_tanron2.h b/src/overlays/actors/ovl_En_Tanron2/z_en_tanron2.h index 083aa6dc98..99baf6e124 100644 --- a/src/overlays/actors/ovl_En_Tanron2/z_en_tanron2.h +++ b/src/overlays/actors/ovl_En_Tanron2/z_en_tanron2.h @@ -1,13 +1,16 @@ #ifndef Z_EN_TANRON2_H #define Z_EN_TANRON2_H -#include +#include "global.h" struct EnTanron2; +typedef void (*EnTanron2ActionFunc)(struct EnTanron2* this, GlobalContext* globalCtx); + typedef struct EnTanron2 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0xB8]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ EnTanron2ActionFunc actionFunc; + /* 0x0148 */ char unk_144[0xB4]; } EnTanron2; // size = 0x1FC extern const ActorInit En_Tanron2_InitVars; diff --git a/src/overlays/actors/ovl_En_Tanron3/z_en_tanron3.c b/src/overlays/actors/ovl_En_Tanron3/z_en_tanron3.c index ef8a22c0ad..126dd987c7 100644 --- a/src/overlays/actors/ovl_En_Tanron3/z_en_tanron3.c +++ b/src/overlays/actors/ovl_En_Tanron3/z_en_tanron3.c @@ -22,7 +22,6 @@ const ActorInit En_Tanron3_InitVars = { (ActorFunc)EnTanron3_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80BB9750 = { { COLTYPE_HIT3, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,30 +29,32 @@ static ColliderCylinderInit D_80BB9750 = { { 7, 10, -5, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80BB9750; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron3_0x80BB85A0/func_80BB85A0.asm") +extern ColliderCylinderInit D_80BB9750; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron3_0x80BB85A0/EnTanron3_Init.asm") +extern UNK_TYPE D_0600DAAC; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron3_0x80BB85A0/EnTanron3_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron3/func_80BB85A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron3_0x80BB85A0/func_80BB87D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron3/EnTanron3_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron3_0x80BB85A0/func_80BB897C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron3/EnTanron3_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron3_0x80BB85A0/func_80BB8A48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron3/func_80BB87D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron3_0x80BB85A0/func_80BB91D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron3/func_80BB897C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron3_0x80BB85A0/func_80BB9288.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron3/func_80BB8A48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron3_0x80BB85A0/func_80BB9308.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron3/func_80BB91D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron3_0x80BB85A0/EnTanron3_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron3/func_80BB9288.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron3_0x80BB85A0/func_80BB95FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron3/func_80BB9308.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron3_0x80BB85A0/EnTanron3_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron3/EnTanron3_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron3/func_80BB95FC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron3/EnTanron3_Draw.s") diff --git a/src/overlays/actors/ovl_En_Tanron3/z_en_tanron3.h b/src/overlays/actors/ovl_En_Tanron3/z_en_tanron3.h index 4e4e8f948e..454f1ee5ac 100644 --- a/src/overlays/actors/ovl_En_Tanron3/z_en_tanron3.h +++ b/src/overlays/actors/ovl_En_Tanron3/z_en_tanron3.h @@ -1,13 +1,16 @@ #ifndef Z_EN_TANRON3_H #define Z_EN_TANRON3_H -#include +#include "global.h" struct EnTanron3; +typedef void (*EnTanron3ActionFunc)(struct EnTanron3* this, GlobalContext* globalCtx); + typedef struct EnTanron3 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x1B8]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x1B4]; + /* 0x02F8 */ EnTanron3ActionFunc actionFunc; } EnTanron3; // size = 0x2FC extern const ActorInit En_Tanron3_InitVars; diff --git a/src/overlays/actors/ovl_En_Tanron4/z_en_tanron4.c b/src/overlays/actors/ovl_En_Tanron4/z_en_tanron4.c index 3d859a0bd9..df10d0042f 100644 --- a/src/overlays/actors/ovl_En_Tanron4/z_en_tanron4.c +++ b/src/overlays/actors/ovl_En_Tanron4/z_en_tanron4.c @@ -24,18 +24,20 @@ const ActorInit En_Tanron4_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron4_0x80BE3B80/EnTanron4_Init.asm") +extern UNK_TYPE D_06000168; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron4_0x80BE3B80/EnTanron4_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron4/EnTanron4_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron4_0x80BE3B80/func_80BE3DC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron4/EnTanron4_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron4_0x80BE3B80/func_80BE3DFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron4/func_80BE3DC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron4_0x80BE3B80/func_80BE4268.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron4/func_80BE3DFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron4_0x80BE3B80/func_80BE42A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron4/func_80BE4268.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron4_0x80BE3B80/EnTanron4_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron4/func_80BE42A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron4_0x80BE3B80/EnTanron4_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron4/EnTanron4_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron4/EnTanron4_Draw.s") diff --git a/src/overlays/actors/ovl_En_Tanron4/z_en_tanron4.h b/src/overlays/actors/ovl_En_Tanron4/z_en_tanron4.h index 5b6ba460da..52ed0e5d65 100644 --- a/src/overlays/actors/ovl_En_Tanron4/z_en_tanron4.h +++ b/src/overlays/actors/ovl_En_Tanron4/z_en_tanron4.h @@ -1,13 +1,16 @@ #ifndef Z_EN_TANRON4_H #define Z_EN_TANRON4_H -#include +#include "global.h" struct EnTanron4; +typedef void (*EnTanron4ActionFunc)(struct EnTanron4* this, GlobalContext* globalCtx); + typedef struct EnTanron4 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0xEC]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0xE8]; + /* 0x022C */ EnTanron4ActionFunc actionFunc; } EnTanron4; // size = 0x230 extern const ActorInit En_Tanron4_InitVars; diff --git a/src/overlays/actors/ovl_En_Tanron5/z_en_tanron5.c b/src/overlays/actors/ovl_En_Tanron5/z_en_tanron5.c index ab1c048f89..9d3a8bbb2c 100644 --- a/src/overlays/actors/ovl_En_Tanron5/z_en_tanron5.c +++ b/src/overlays/actors/ovl_En_Tanron5/z_en_tanron5.c @@ -22,7 +22,6 @@ const ActorInit En_Tanron5_InitVars = { (ActorFunc)EnTanron5_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80BE5DA4 = { { COLTYPE_NONE, AT_ON | AT_TYPE_ALL, AC_ON | AC_TYPE_PLAYER | AC_TYPE_ENEMY | AC_TYPE_OTHER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,22 +29,25 @@ static ColliderCylinderInit D_80BE5DA4 = { { 70, 450, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80BE5DA4; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron5_0x80BE4930/func_80BE4930.asm") +extern ColliderCylinderInit D_80BE5DA4; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron5_0x80BE4930/func_80BE4A2C.asm") +extern UNK_TYPE D_06007A88; +extern UNK_TYPE D_06007D18; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron5_0x80BE4930/EnTanron5_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron5/func_80BE4930.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron5_0x80BE4930/EnTanron5_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron5/func_80BE4A2C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron5_0x80BE4930/EnTanron5_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron5/EnTanron5_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron5_0x80BE4930/func_80BE5818.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron5/EnTanron5_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron5_0x80BE4930/EnTanron5_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron5/EnTanron5_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tanron5_0x80BE4930/func_80BE5C10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron5/func_80BE5818.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron5/EnTanron5_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tanron5/func_80BE5C10.s") diff --git a/src/overlays/actors/ovl_En_Tanron5/z_en_tanron5.h b/src/overlays/actors/ovl_En_Tanron5/z_en_tanron5.h index dc105c3a80..c19bb1dedd 100644 --- a/src/overlays/actors/ovl_En_Tanron5/z_en_tanron5.h +++ b/src/overlays/actors/ovl_En_Tanron5/z_en_tanron5.h @@ -1,7 +1,7 @@ #ifndef Z_EN_TANRON5_H #define Z_EN_TANRON5_H -#include +#include "global.h" struct EnTanron5; diff --git a/src/overlays/actors/ovl_En_Tanron6/z_en_tanron6.h b/src/overlays/actors/ovl_En_Tanron6/z_en_tanron6.h index f6e16ef242..7a1c60e25f 100644 --- a/src/overlays/actors/ovl_En_Tanron6/z_en_tanron6.h +++ b/src/overlays/actors/ovl_En_Tanron6/z_en_tanron6.h @@ -1,7 +1,7 @@ #ifndef Z_EN_TANRON6_H #define Z_EN_TANRON6_H -#include +#include "global.h" struct EnTanron6; diff --git a/src/overlays/actors/ovl_En_Test/z_en_test.c b/src/overlays/actors/ovl_En_Test/z_en_test.c index 29e7e28b9f..12086b3988 100644 --- a/src/overlays/actors/ovl_En_Test/z_en_test.c +++ b/src/overlays/actors/ovl_En_Test/z_en_test.c @@ -24,20 +24,20 @@ const ActorInit En_Test_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test_0x80862B70/func_80862B70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test/func_80862B70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test_0x80862B70/func_80862CBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test/func_80862CBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test_0x80862B70/func_80862EDC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test/func_80862EDC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test_0x80862B70/func_80863048.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test/func_80863048.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test_0x80862B70/EnTest_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test/EnTest_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test_0x80862B70/EnTest_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test/EnTest_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test_0x80862B70/EnTest_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test/EnTest_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test_0x80862B70/func_808634B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test/func_808634B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test_0x80862B70/EnTest_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test/EnTest_Draw.s") diff --git a/src/overlays/actors/ovl_En_Test/z_en_test.h b/src/overlays/actors/ovl_En_Test/z_en_test.h index 7101a2fcb0..32015ecb17 100644 --- a/src/overlays/actors/ovl_En_Test/z_en_test.h +++ b/src/overlays/actors/ovl_En_Test/z_en_test.h @@ -1,7 +1,7 @@ #ifndef Z_EN_TEST_H #define Z_EN_TEST_H -#include +#include "global.h" struct EnTest; diff --git a/src/overlays/actors/ovl_En_Test2/z_en_test2.c b/src/overlays/actors/ovl_En_Test2/z_en_test2.c index 435c722307..8a78ce1bdb 100644 --- a/src/overlays/actors/ovl_En_Test2/z_en_test2.c +++ b/src/overlays/actors/ovl_En_Test2/z_en_test2.c @@ -20,7 +20,6 @@ const ActorInit En_Test2_InitVars = { (ActorFunc)NULL, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80A3E74C[] = { ICHAIN_VEC3F(scale, 1, ICHAIN_CONTINUE), @@ -29,14 +28,14 @@ static InitChainEntry D_80A3E74C[] = { ICHAIN_F32(uncullZoneDownward, 2500, ICHAIN_STOP), }; - -extern InitChainEntry D_80A3E74C[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test2_0x80A3E390/EnTest2_Init.asm") +extern InitChainEntry D_80A3E74C[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test2_0x80A3E390/EnTest2_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test2/EnTest2_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test2_0x80A3E390/func_80A3E4EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test2/EnTest2_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test2_0x80A3E390/func_80A3E524.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test2/func_80A3E4EC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test2/func_80A3E524.s") diff --git a/src/overlays/actors/ovl_En_Test2/z_en_test2.h b/src/overlays/actors/ovl_En_Test2/z_en_test2.h index 3956e0ef32..b8eabec2c5 100644 --- a/src/overlays/actors/ovl_En_Test2/z_en_test2.h +++ b/src/overlays/actors/ovl_En_Test2/z_en_test2.h @@ -1,7 +1,7 @@ #ifndef Z_EN_TEST2_H #define Z_EN_TEST2_H -#include +#include "global.h" struct EnTest2; diff --git a/src/overlays/actors/ovl_En_Test3/z_en_test3.c b/src/overlays/actors/ovl_En_Test3/z_en_test3.c index b114a8236e..c5f54d31a4 100644 --- a/src/overlays/actors/ovl_En_Test3/z_en_test3.c +++ b/src/overlays/actors/ovl_En_Test3/z_en_test3.c @@ -23,108 +23,111 @@ const ActorInit En_Test3_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A3E7E0.asm") +extern UNK_TYPE D_0600EDD0; +extern UNK_TYPE D_0600F7EC; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A3E80C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A3E7E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A3E870.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A3E80C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A3E884.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A3E870.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A3E898.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A3E884.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A3E960.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A3E898.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A3E97C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A3E960.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A3E9DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A3E97C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A3EA30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A3E9DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A3EAC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A3EA30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A3EAF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A3EAC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A3EB8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A3EAF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A3EBFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A3EB8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A3EC30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A3EBFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A3EC44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A3EC30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A3ECEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A3EC44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A3ED24.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A3ECEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/EnTest3_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A3ED24.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/EnTest3_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/EnTest3_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A3F080.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/EnTest3_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A3F09C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A3F080.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A3F0B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A3F09C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A3F114.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A3F0B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A3F15C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A3F114.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A3F2BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A3F15C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A3F384.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A3F2BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A3F4A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A3F384.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A3F534.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A3F4A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A3F5A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A3F534.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A3F62C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A3F5A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A3F73C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A3F62C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A3F8D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A3F73C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A3F9A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A3F8D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A3F9E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A3F9A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A3FA58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A3F9E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A3FBCC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A3FA58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A3FBE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A3FBCC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A3FDE4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A3FBE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A3FE20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A3FDE4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A3FF10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A3FE20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A3FFD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A3FF10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A40098.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A3FFD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A40230.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A40098.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A40678.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A40230.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A40824.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A40678.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A4084C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A40824.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A40908.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A4084C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A409D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A40908.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A40A6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A409D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/EnTest3_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A40A6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A40CF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/EnTest3_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A40F34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A40CF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test3_0x80A3E7E0/func_80A4129C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A40F34.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test3/func_80A4129C.s") diff --git a/src/overlays/actors/ovl_En_Test3/z_en_test3.h b/src/overlays/actors/ovl_En_Test3/z_en_test3.h index e824598328..82879232cc 100644 --- a/src/overlays/actors/ovl_En_Test3/z_en_test3.h +++ b/src/overlays/actors/ovl_En_Test3/z_en_test3.h @@ -1,13 +1,17 @@ #ifndef Z_EN_TEST3_H #define Z_EN_TEST3_H -#include +#include "global.h" struct EnTest3; +typedef void (*EnTest3ActionFunc)(struct EnTest3* this, GlobalContext* globalCtx); + typedef struct EnTest3 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0xC74]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x628]; + /* 0x076C */ EnTest3ActionFunc actionFunc; + /* 0x0770 */ char unk_770[0x648]; } EnTest3; // size = 0xDB8 extern const ActorInit En_Test3_InitVars; diff --git a/src/overlays/actors/ovl_En_Test4/z_en_test4.c b/src/overlays/actors/ovl_En_Test4/z_en_test4.c index d634b5e9d6..05bcb647d1 100644 --- a/src/overlays/actors/ovl_En_Test4/z_en_test4.c +++ b/src/overlays/actors/ovl_En_Test4/z_en_test4.c @@ -8,6 +8,9 @@ void EnTest4_Init(Actor* thisx, GlobalContext* globalCtx); void EnTest4_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnTest4_Update(Actor* thisx, GlobalContext* globalCtx); +void func_80A42AB8(EnTest4* this, GlobalContext* globalCtx); +void func_80A42F20(EnTest4* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Test4_InitVars = { ACTOR_EN_TEST4, @@ -23,26 +26,26 @@ const ActorInit En_Test4_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test4_0x80A41D70/func_80A41D70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test4/func_80A41D70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test4_0x80A41D70/func_80A41FA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test4/func_80A41FA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test4_0x80A41D70/func_80A42198.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test4/func_80A42198.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test4_0x80A41D70/func_80A425E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test4/func_80A425E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test4_0x80A41D70/EnTest4_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test4/EnTest4_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test4_0x80A41D70/EnTest4_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test4/EnTest4_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test4_0x80A41D70/func_80A42AB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test4/func_80A42AB8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test4_0x80A41D70/func_80A42F20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test4/func_80A42F20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test4_0x80A41D70/func_80A430C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test4/func_80A430C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test4_0x80A41D70/func_80A431C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test4/func_80A431C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test4_0x80A41D70/func_80A4323C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test4/func_80A4323C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test4_0x80A41D70/EnTest4_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test4/EnTest4_Update.s") diff --git a/src/overlays/actors/ovl_En_Test4/z_en_test4.h b/src/overlays/actors/ovl_En_Test4/z_en_test4.h index f237374c57..7aa7aeeefe 100644 --- a/src/overlays/actors/ovl_En_Test4/z_en_test4.h +++ b/src/overlays/actors/ovl_En_Test4/z_en_test4.h @@ -1,13 +1,16 @@ #ifndef Z_EN_TEST4_H #define Z_EN_TEST4_H -#include +#include "global.h" struct EnTest4; +typedef void (*EnTest4ActionFunc)(struct EnTest4* this, GlobalContext* globalCtx); + typedef struct EnTest4 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x10]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0xC]; + /* 0x0150 */ EnTest4ActionFunc actionFunc; } EnTest4; // size = 0x154 extern const ActorInit En_Test4_InitVars; diff --git a/src/overlays/actors/ovl_En_Test5/z_en_test5.c b/src/overlays/actors/ovl_En_Test5/z_en_test5.c index 879c5b87a9..76097f09a6 100644 --- a/src/overlays/actors/ovl_En_Test5/z_en_test5.c +++ b/src/overlays/actors/ovl_En_Test5/z_en_test5.c @@ -8,6 +8,10 @@ void EnTest5_Init(Actor* thisx, GlobalContext* globalCtx); void EnTest5_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnTest5_Update(Actor* thisx, GlobalContext* globalCtx); +void func_80A90478(EnTest5* this, GlobalContext* globalCtx); + +void EnTest5_SetupAction(EnTest5* this, EnTest5ActionFunc actionFunc); + #if 0 const ActorInit En_Test5_InitVars = { ACTOR_EN_TEST5, @@ -23,12 +27,12 @@ const ActorInit En_Test5_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test5_0x80A903B0/func_80A903B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test5/EnTest5_SetupAction.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test5_0x80A903B0/EnTest5_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test5/EnTest5_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test5_0x80A903B0/EnTest5_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test5/EnTest5_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test5_0x80A903B0/func_80A90478.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test5/func_80A90478.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test5_0x80A903B0/EnTest5_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test5/EnTest5_Update.s") diff --git a/src/overlays/actors/ovl_En_Test5/z_en_test5.h b/src/overlays/actors/ovl_En_Test5/z_en_test5.h index e625bc4e44..aa467b5745 100644 --- a/src/overlays/actors/ovl_En_Test5/z_en_test5.h +++ b/src/overlays/actors/ovl_En_Test5/z_en_test5.h @@ -1,13 +1,16 @@ #ifndef Z_EN_TEST5_H #define Z_EN_TEST5_H -#include +#include "global.h" struct EnTest5; +typedef void (*EnTest5ActionFunc)(struct EnTest5* this, GlobalContext* globalCtx); + typedef struct EnTest5 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x18]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x14]; + /* 0x0158 */ EnTest5ActionFunc actionFunc; } EnTest5; // size = 0x15C extern const ActorInit En_Test5_InitVars; diff --git a/src/overlays/actors/ovl_En_Test6/z_en_test6.c b/src/overlays/actors/ovl_En_Test6/z_en_test6.c index 6810b54f12..6fa9bf8b92 100644 --- a/src/overlays/actors/ovl_En_Test6/z_en_test6.c +++ b/src/overlays/actors/ovl_En_Test6/z_en_test6.c @@ -9,6 +9,13 @@ void EnTest6_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnTest6_Update(Actor* thisx, GlobalContext* globalCtx); void EnTest6_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80A9156C(EnTest6* this, GlobalContext* globalCtx); +void func_80A91760(EnTest6* this, GlobalContext* globalCtx); +void func_80A92188(EnTest6* this, GlobalContext* globalCtx); +void func_80A92950(EnTest6* this, GlobalContext* globalCtx); + +void EnTest6_SetupAction(EnTest6* this, EnTest6ActionFunc actionFunc); + #if 0 const ActorInit En_Test6_InitVars = { ACTOR_EN_TEST6, @@ -24,48 +31,48 @@ const ActorInit En_Test6_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test6_0x80A90730/func_80A90730.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test6/func_80A90730.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test6_0x80A90730/func_80A90C08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test6/func_80A90C08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test6_0x80A90730/func_80A90C34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test6/func_80A90C34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test6_0x80A90730/func_80A90C54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test6/func_80A90C54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test6_0x80A90730/func_80A90D20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test6/func_80A90D20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test6_0x80A90730/func_80A90D34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test6/func_80A90D34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test6_0x80A90730/func_80A90FC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test6/func_80A90FC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test6_0x80A90730/func_80A91324.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test6/EnTest6_SetupAction.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test6_0x80A90730/EnTest6_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test6/EnTest6_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test6_0x80A90730/EnTest6_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test6/EnTest6_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test6_0x80A90730/func_80A9156C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test6/func_80A9156C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test6_0x80A90730/func_80A91690.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test6/func_80A91690.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test6_0x80A90730/func_80A916F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test6/func_80A916F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test6_0x80A90730/func_80A91760.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test6/func_80A91760.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test6_0x80A90730/func_80A920C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test6/func_80A920C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test6_0x80A90730/func_80A92118.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test6/func_80A92118.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test6_0x80A90730/func_80A92188.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test6/func_80A92188.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test6_0x80A90730/EnTest6_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test6/EnTest6_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test6_0x80A90730/func_80A92950.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test6/func_80A92950.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test6_0x80A90730/func_80A93298.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test6/func_80A93298.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test6_0x80A90730/func_80A9369C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test6/func_80A9369C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test6_0x80A90730/func_80A939E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test6/func_80A939E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test6_0x80A90730/EnTest6_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test6/EnTest6_Draw.s") diff --git a/src/overlays/actors/ovl_En_Test6/z_en_test6.h b/src/overlays/actors/ovl_En_Test6/z_en_test6.h index eaca9af64e..5b2f03f07f 100644 --- a/src/overlays/actors/ovl_En_Test6/z_en_test6.h +++ b/src/overlays/actors/ovl_En_Test6/z_en_test6.h @@ -1,13 +1,16 @@ #ifndef Z_EN_TEST6_H #define Z_EN_TEST6_H -#include +#include "global.h" struct EnTest6; +typedef void (*EnTest6ActionFunc)(struct EnTest6* this, GlobalContext* globalCtx); + typedef struct EnTest6 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x144]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ EnTest6ActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x140]; } EnTest6; // size = 0x288 extern const ActorInit En_Test6_InitVars; diff --git a/src/overlays/actors/ovl_En_Test7/z_en_test7.c b/src/overlays/actors/ovl_En_Test7/z_en_test7.c index faf5fce28b..0e318e2464 100644 --- a/src/overlays/actors/ovl_En_Test7/z_en_test7.c +++ b/src/overlays/actors/ovl_En_Test7/z_en_test7.c @@ -9,6 +9,10 @@ void EnTest7_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnTest7_Update(Actor* thisx, GlobalContext* globalCtx); void EnTest7_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80AF2854(EnTest7* this, GlobalContext* globalCtx); + +void EnTest7_SetupAction(EnTest7* this, EnTest7ActionFunc actionFunc); + #if 0 const ActorInit En_Test7_InitVars = { ACTOR_EN_TEST7, @@ -24,78 +28,78 @@ const ActorInit En_Test7_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test7_0x80AF0820/func_80AF0820.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test7/EnTest7_SetupAction.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test7_0x80AF0820/func_80AF082C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test7/func_80AF082C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test7_0x80AF0820/func_80AF0838.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test7/func_80AF0838.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test7_0x80AF0820/func_80AF0984.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test7/func_80AF0984.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test7_0x80AF0820/func_80AF0C30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test7/func_80AF0C30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test7_0x80AF0820/func_80AF0CDC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test7/func_80AF0CDC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test7_0x80AF0820/func_80AF10D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test7/func_80AF10D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test7_0x80AF0820/func_80AF118C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test7/func_80AF118C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test7_0x80AF0820/func_80AF14FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test7/func_80AF14FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test7_0x80AF0820/func_80AF1730.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test7/func_80AF1730.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test7_0x80AF0820/EnTest7_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test7/EnTest7_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test7_0x80AF0820/EnTest7_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test7/EnTest7_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test7_0x80AF0820/func_80AF19A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test7/func_80AF19A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test7_0x80AF0820/func_80AF1A2C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test7/func_80AF1A2C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test7_0x80AF0820/func_80AF1B68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test7/func_80AF1B68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test7_0x80AF0820/func_80AF1CA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test7/func_80AF1CA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test7_0x80AF0820/func_80AF1E44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test7/func_80AF1E44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test7_0x80AF0820/func_80AF1F48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test7/func_80AF1F48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test7_0x80AF0820/func_80AF2030.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test7/func_80AF2030.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test7_0x80AF0820/func_80AF21E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test7/func_80AF21E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test7_0x80AF0820/func_80AF2318.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test7/func_80AF2318.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test7_0x80AF0820/func_80AF2350.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test7/func_80AF2350.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test7_0x80AF0820/func_80AF24D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test7/func_80AF24D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test7_0x80AF0820/func_80AF2654.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test7/func_80AF2654.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test7_0x80AF0820/func_80AF2808.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test7/func_80AF2808.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test7_0x80AF0820/func_80AF2854.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test7/func_80AF2854.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test7_0x80AF0820/func_80AF2938.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test7/func_80AF2938.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test7_0x80AF0820/func_80AF29C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test7/func_80AF29C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test7_0x80AF0820/func_80AF2AE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test7/func_80AF2AE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test7_0x80AF0820/func_80AF2BAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test7/func_80AF2BAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test7_0x80AF0820/func_80AF2C48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test7/func_80AF2C48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test7_0x80AF0820/func_80AF2DB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test7/func_80AF2DB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test7_0x80AF0820/func_80AF2EC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test7/func_80AF2EC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test7_0x80AF0820/func_80AF2F98.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test7/func_80AF2F98.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test7_0x80AF0820/func_80AF30F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test7/func_80AF30F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test7_0x80AF0820/EnTest7_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test7/EnTest7_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test7_0x80AF0820/func_80AF31D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test7/func_80AF31D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Test7_0x80AF0820/EnTest7_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Test7/EnTest7_Draw.s") diff --git a/src/overlays/actors/ovl_En_Test7/z_en_test7.h b/src/overlays/actors/ovl_En_Test7/z_en_test7.h index c9f2b0f88d..9f1fd9ff8a 100644 --- a/src/overlays/actors/ovl_En_Test7/z_en_test7.h +++ b/src/overlays/actors/ovl_En_Test7/z_en_test7.h @@ -1,13 +1,17 @@ #ifndef Z_EN_TEST7_H #define Z_EN_TEST7_H -#include +#include "global.h" struct EnTest7; +typedef void (*EnTest7ActionFunc)(struct EnTest7* this, GlobalContext* globalCtx); + typedef struct EnTest7 { /* 0x0000 */ Actor actor; - /* 0x0144 */ char unk_0144[0x1D58]; + /* 0x0144 */ char unk_144[0x1D18]; + /* 0x1E5C */ EnTest7ActionFunc actionFunc; + /* 0x1E60 */ char unk_1E60[0x3C]; } EnTest7; // size = 0x1E9C extern const ActorInit En_Test7_InitVars; diff --git a/src/overlays/actors/ovl_En_Tg/z_en_tg.c b/src/overlays/actors/ovl_En_Tg/z_en_tg.c index ce349d2439..95801e7b46 100644 --- a/src/overlays/actors/ovl_En_Tg/z_en_tg.c +++ b/src/overlays/actors/ovl_En_Tg/z_en_tg.c @@ -9,6 +9,8 @@ void EnTg_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnTg_Update(Actor* thisx, GlobalContext* globalCtx); void EnTg_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_8098FA70(EnTg* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Tg_InitVars = { ACTOR_EN_TG, @@ -22,7 +24,6 @@ const ActorInit En_Tg_InitVars = { (ActorFunc)EnTg_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_809901C0 = { { COLTYPE_HIT0, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,11 +31,9 @@ static ColliderCylinderInit D_809901C0 = { { 18, 64, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_809901EC = { 0, 0, 0, 0, MASS_IMMOVABLE }; - // static DamageTable sDamageTable = { static DamageTable D_809901F8 = { /* Deku Nut */ DMG_ENTRY(0, 0x0), @@ -71,34 +70,37 @@ static DamageTable D_809901F8 = { /* Powder Keg */ DMG_ENTRY(0, 0x0), }; +#endif extern ColliderCylinderInit D_809901C0; extern CollisionCheckInfoInit2 D_809901EC; extern DamageTable D_809901F8; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tg_0x8098F800/func_8098F800.asm") +extern UNK_TYPE D_0600B0E0; +extern UNK_TYPE D_0600B2B0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tg_0x8098F800/func_8098F8A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tg/func_8098F800.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tg_0x8098F800/func_8098F928.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tg/func_8098F8A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tg_0x8098F800/EnTg_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tg/func_8098F928.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tg_0x8098F800/EnTg_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tg/EnTg_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tg_0x8098F800/func_8098FA70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tg/EnTg_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tg_0x8098F800/EnTg_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tg/func_8098FA70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tg_0x8098F800/func_8098FBB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tg/EnTg_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tg_0x8098F800/func_8098FBD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tg/func_8098FBB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tg_0x8098F800/EnTg_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tg/func_8098FBD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tg_0x8098F800/func_8098FD50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tg/EnTg_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tg_0x8098F800/func_8098FEA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tg/func_8098FD50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tg_0x8098F800/func_8099000C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tg/func_8098FEA8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tg/func_8099000C.s") diff --git a/src/overlays/actors/ovl_En_Tg/z_en_tg.h b/src/overlays/actors/ovl_En_Tg/z_en_tg.h index 30fa9ee03c..a41980f6b2 100644 --- a/src/overlays/actors/ovl_En_Tg/z_en_tg.h +++ b/src/overlays/actors/ovl_En_Tg/z_en_tg.h @@ -1,13 +1,16 @@ #ifndef Z_EN_TG_H #define Z_EN_TG_H -#include +#include "global.h" struct EnTg; +typedef void (*EnTgActionFunc)(struct EnTg* this, GlobalContext* globalCtx); + typedef struct EnTg { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x404]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ EnTgActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x400]; } EnTg; // size = 0x548 extern const ActorInit En_Tg_InitVars; diff --git a/src/overlays/actors/ovl_En_Thiefbird/z_en_thiefbird.c b/src/overlays/actors/ovl_En_Thiefbird/z_en_thiefbird.c index d2570b8453..ff11005fc3 100644 --- a/src/overlays/actors/ovl_En_Thiefbird/z_en_thiefbird.c +++ b/src/overlays/actors/ovl_En_Thiefbird/z_en_thiefbird.c @@ -9,6 +9,16 @@ void EnThiefbird_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnThiefbird_Update(Actor* thisx, GlobalContext* globalCtx); void EnThiefbird_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80C11590(EnThiefbird* this, GlobalContext* globalCtx); +void func_80C1193C(EnThiefbird* this, GlobalContext* globalCtx); +void func_80C11D14(EnThiefbird* this, GlobalContext* globalCtx); +void func_80C11DF0(EnThiefbird* this, GlobalContext* globalCtx); +void func_80C1215C(EnThiefbird* this, GlobalContext* globalCtx); +void func_80C12378(EnThiefbird* this, GlobalContext* globalCtx); +void func_80C124B0(EnThiefbird* this, GlobalContext* globalCtx); +void func_80C126D8(EnThiefbird* this, GlobalContext* globalCtx); +void func_80C127F4(EnThiefbird* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Thiefbird_InitVars = { ACTOR_EN_THIEFBIRD, @@ -22,7 +32,6 @@ const ActorInit En_Thiefbird_InitVars = { (ActorFunc)EnThiefbird_Draw, }; - // static ColliderJntSphElementInit sJntSphElementsInit[3] = { static ColliderJntSphElementInit D_80C135C0[3] = { { @@ -45,11 +54,9 @@ static ColliderJntSphInit D_80C1362C = { 3, D_80C135C0, // sJntSphElementsInit, }; - // sColChkInfoInit static CollisionCheckInfoInit D_80C1363C = { 24, 15, 30, 30 }; - // static DamageTable sDamageTable = { static DamageTable D_80C13644 = { /* Deku Nut */ DMG_ENTRY(0, 0x1), @@ -86,7 +93,6 @@ static DamageTable D_80C13644 = { /* Powder Keg */ DMG_ENTRY(1, 0x0), }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80C13670[] = { ICHAIN_F32(uncullZoneForward, 3000, ICHAIN_CONTINUE), @@ -95,78 +101,85 @@ static InitChainEntry D_80C13670[] = { ICHAIN_F32(targetArrowOffset, 500, ICHAIN_STOP), }; +#endif extern ColliderJntSphElementInit D_80C135C0[3]; extern ColliderJntSphInit D_80C1362C; extern CollisionCheckInfoInit D_80C1363C; extern DamageTable D_80C13644; extern InitChainEntry D_80C13670[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Thiefbird_0x80C10770/EnThiefbird_Init.asm") +extern UNK_TYPE D_06000088; +extern UNK_TYPE D_06000278; +extern UNK_TYPE D_06000604; +extern UNK_TYPE D_06003060; +extern UNK_TYPE D_060033B0; +extern UNK_TYPE D_060063C4; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Thiefbird_0x80C10770/EnThiefbird_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Thiefbird/EnThiefbird_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Thiefbird_0x80C10770/func_80C10984.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Thiefbird/EnThiefbird_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Thiefbird_0x80C10770/func_80C10B0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Thiefbird/func_80C10984.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Thiefbird_0x80C10770/func_80C10DE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Thiefbird/func_80C10B0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Thiefbird_0x80C10770/func_80C10E98.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Thiefbird/func_80C10DE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Thiefbird_0x80C10770/func_80C11338.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Thiefbird/func_80C10E98.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Thiefbird_0x80C10770/func_80C11454.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Thiefbird/func_80C11338.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Thiefbird_0x80C10770/func_80C114C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Thiefbird/func_80C11454.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Thiefbird_0x80C10770/func_80C11538.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Thiefbird/func_80C114C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Thiefbird_0x80C10770/func_80C11590.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Thiefbird/func_80C11538.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Thiefbird_0x80C10770/func_80C118E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Thiefbird/func_80C11590.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Thiefbird_0x80C10770/func_80C1193C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Thiefbird/func_80C118E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Thiefbird_0x80C10770/func_80C11C60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Thiefbird/func_80C1193C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Thiefbird_0x80C10770/func_80C11D14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Thiefbird/func_80C11C60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Thiefbird_0x80C10770/func_80C11DC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Thiefbird/func_80C11D14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Thiefbird_0x80C10770/func_80C11DF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Thiefbird/func_80C11DC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Thiefbird_0x80C10770/func_80C11F6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Thiefbird/func_80C11DF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Thiefbird_0x80C10770/func_80C1215C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Thiefbird/func_80C11F6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Thiefbird_0x80C10770/func_80C12308.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Thiefbird/func_80C1215C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Thiefbird_0x80C10770/func_80C12378.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Thiefbird/func_80C12308.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Thiefbird_0x80C10770/func_80C1242C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Thiefbird/func_80C12378.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Thiefbird_0x80C10770/func_80C124B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Thiefbird/func_80C1242C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Thiefbird_0x80C10770/func_80C126A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Thiefbird/func_80C124B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Thiefbird_0x80C10770/func_80C126D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Thiefbird/func_80C126A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Thiefbird_0x80C10770/func_80C12744.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Thiefbird/func_80C126D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Thiefbird_0x80C10770/func_80C127F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Thiefbird/func_80C12744.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Thiefbird_0x80C10770/func_80C12B1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Thiefbird/func_80C127F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Thiefbird_0x80C10770/func_80C12D00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Thiefbird/func_80C12B1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Thiefbird_0x80C10770/EnThiefbird_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Thiefbird/func_80C12D00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Thiefbird_0x80C10770/func_80C130EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Thiefbird/EnThiefbird_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Thiefbird_0x80C10770/func_80C1315C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Thiefbird/func_80C130EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Thiefbird_0x80C10770/func_80C13354.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Thiefbird/func_80C1315C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Thiefbird_0x80C10770/EnThiefbird_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Thiefbird/func_80C13354.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Thiefbird/EnThiefbird_Draw.s") diff --git a/src/overlays/actors/ovl_En_Thiefbird/z_en_thiefbird.h b/src/overlays/actors/ovl_En_Thiefbird/z_en_thiefbird.h index f18cc848da..c4c72840aa 100644 --- a/src/overlays/actors/ovl_En_Thiefbird/z_en_thiefbird.h +++ b/src/overlays/actors/ovl_En_Thiefbird/z_en_thiefbird.h @@ -1,13 +1,17 @@ #ifndef Z_EN_THIEFBIRD_H #define Z_EN_THIEFBIRD_H -#include +#include "global.h" struct EnThiefbird; +typedef void (*EnThiefbirdActionFunc)(struct EnThiefbird* this, GlobalContext* globalCtx); + typedef struct EnThiefbird { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x84C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ EnThiefbirdActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x804]; } EnThiefbird; // size = 0x990 extern const ActorInit En_Thiefbird_InitVars; diff --git a/src/overlays/actors/ovl_En_Time_Tag/z_en_time_tag.c b/src/overlays/actors/ovl_En_Time_Tag/z_en_time_tag.c index 2c8823f6e6..b9a48e7c37 100644 --- a/src/overlays/actors/ovl_En_Time_Tag/z_en_time_tag.c +++ b/src/overlays/actors/ovl_En_Time_Tag/z_en_time_tag.c @@ -8,6 +8,21 @@ void EnTimeTag_Init(Actor* thisx, GlobalContext* globalCtx); void EnTimeTag_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnTimeTag_Update(Actor* thisx, GlobalContext* globalCtx); +void func_80AC9FD4(EnTimeTag* this, GlobalContext* globalCtx); +void func_80AC9FE4(EnTimeTag* this, GlobalContext* globalCtx); +void func_80ACA0A8(EnTimeTag* this, GlobalContext* globalCtx); +void func_80ACA12C(EnTimeTag* this, GlobalContext* globalCtx); +void func_80ACA184(EnTimeTag* this, GlobalContext* globalCtx); +void func_80ACA268(EnTimeTag* this, GlobalContext* globalCtx); +void func_80ACA348(EnTimeTag* this, GlobalContext* globalCtx); +void func_80ACA3C0(EnTimeTag* this, GlobalContext* globalCtx); +void func_80ACA418(EnTimeTag* this, GlobalContext* globalCtx); +void func_80ACA5F8(EnTimeTag* this, GlobalContext* globalCtx); +void func_80ACA714(EnTimeTag* this, GlobalContext* globalCtx); +void func_80ACA724(EnTimeTag* this, GlobalContext* globalCtx); +void func_80ACA7C4(EnTimeTag* this, GlobalContext* globalCtx); +void func_80ACA840(EnTimeTag* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Time_Tag_InitVars = { ACTOR_EN_TIME_TAG, @@ -23,38 +38,38 @@ const ActorInit En_Time_Tag_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Time_Tag_0x80AC9EA0/EnTimeTag_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Time_Tag/EnTimeTag_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Time_Tag_0x80AC9EA0/EnTimeTag_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Time_Tag/EnTimeTag_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Time_Tag_0x80AC9EA0/func_80AC9FD4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Time_Tag/func_80AC9FD4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Time_Tag_0x80AC9EA0/func_80AC9FE4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Time_Tag/func_80AC9FE4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Time_Tag_0x80AC9EA0/func_80ACA0A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Time_Tag/func_80ACA0A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Time_Tag_0x80AC9EA0/func_80ACA12C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Time_Tag/func_80ACA12C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Time_Tag_0x80AC9EA0/func_80ACA184.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Time_Tag/func_80ACA184.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Time_Tag_0x80AC9EA0/func_80ACA208.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Time_Tag/func_80ACA208.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Time_Tag_0x80AC9EA0/func_80ACA268.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Time_Tag/func_80ACA268.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Time_Tag_0x80AC9EA0/func_80ACA348.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Time_Tag/func_80ACA348.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Time_Tag_0x80AC9EA0/func_80ACA3C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Time_Tag/func_80ACA3C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Time_Tag_0x80AC9EA0/func_80ACA418.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Time_Tag/func_80ACA418.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Time_Tag_0x80AC9EA0/func_80ACA5F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Time_Tag/func_80ACA5F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Time_Tag_0x80AC9EA0/func_80ACA714.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Time_Tag/func_80ACA714.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Time_Tag_0x80AC9EA0/func_80ACA724.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Time_Tag/func_80ACA724.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Time_Tag_0x80AC9EA0/func_80ACA7C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Time_Tag/func_80ACA7C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Time_Tag_0x80AC9EA0/func_80ACA840.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Time_Tag/func_80ACA840.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Time_Tag_0x80AC9EA0/EnTimeTag_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Time_Tag/EnTimeTag_Update.s") diff --git a/src/overlays/actors/ovl_En_Time_Tag/z_en_time_tag.h b/src/overlays/actors/ovl_En_Time_Tag/z_en_time_tag.h index 9abe20013b..a1e9681a44 100644 --- a/src/overlays/actors/ovl_En_Time_Tag/z_en_time_tag.h +++ b/src/overlays/actors/ovl_En_Time_Tag/z_en_time_tag.h @@ -1,13 +1,15 @@ #ifndef Z_EN_TIME_TAG_H #define Z_EN_TIME_TAG_H -#include +#include "global.h" struct EnTimeTag; +typedef void (*EnTimeTagActionFunc)(struct EnTimeTag* this, GlobalContext* globalCtx); + typedef struct EnTimeTag { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x4]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ EnTimeTagActionFunc actionFunc; } EnTimeTag; // size = 0x148 extern const ActorInit En_Time_Tag_InitVars; diff --git a/src/overlays/actors/ovl_En_Tite/z_en_tite.c b/src/overlays/actors/ovl_En_Tite/z_en_tite.c index c94bf38eb0..2108a5a8f5 100644 --- a/src/overlays/actors/ovl_En_Tite/z_en_tite.c +++ b/src/overlays/actors/ovl_En_Tite/z_en_tite.c @@ -22,7 +22,6 @@ const ActorInit En_Tite_InitVars = { (ActorFunc)EnTite_Draw, }; - // static ColliderSphereInit sSphereInit = { static ColliderSphereInit D_80896AD0 = { { COLTYPE_HIT6, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_SPHERE, }, @@ -30,7 +29,6 @@ static ColliderSphereInit D_80896AD0 = { { 0, { { 0, 1500, 0 }, 20 }, 100 }, }; - // static DamageTable sDamageTable = { static DamageTable D_80896AFC = { /* Deku Nut */ DMG_ENTRY(0, 0x1), @@ -67,11 +65,9 @@ static DamageTable D_80896AFC = { /* Powder Keg */ DMG_ENTRY(1, 0x0), }; - // sColChkInfoInit static CollisionCheckInfoInit D_80896B1C = { 2, 40, 40, MASS_HEAVY }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80896B50[] = { ICHAIN_S8(hintId, 70, ICHAIN_CONTINUE), @@ -80,111 +76,118 @@ static InitChainEntry D_80896B50[] = { ICHAIN_F32_DIV1000(gravity, -1000, ICHAIN_STOP), }; +#endif extern ColliderSphereInit D_80896AD0; extern DamageTable D_80896AFC; extern CollisionCheckInfoInit D_80896B1C; extern InitChainEntry D_80896B50[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/EnTite_Init.asm") +extern UNK_TYPE D_060004F8; +extern UNK_TYPE D_0600069C; +extern UNK_TYPE D_0600083C; +extern UNK_TYPE D_06000A14; +extern UNK_TYPE D_06000C70; +extern UNK_TYPE D_060012E4; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/EnTite_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/EnTite_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_80893A18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/EnTite_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_80893A34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_80893A18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_80893A9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_80893A34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_80893ADC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_80893A9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_80893B10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_80893ADC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_80893B70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_80893B10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_80893BCC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_80893B70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_80893DD4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_80893BCC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_80893E54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_80893DD4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_80893ED4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_80893E54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_80893F30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_80893ED4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_80893FD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_80893F30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_80894024.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_80893FD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_8089408C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_80894024.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_808942B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_8089408C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_80894414.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_808942B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_80894454.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_80894414.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_8089452C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_80894454.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_808945B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_8089452C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_808945EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_808945B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_80894638.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_808945EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_8089484C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_80894638.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_80894910.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_8089484C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_80894B2C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_80894910.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_80894BC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_80894B2C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_80894DD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_80894BC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_80894E0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_80894DD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_80895020.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_80894E0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_808951B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_80895020.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_808952EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_808951B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_80895424.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_808952EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_808955E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_80895424.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_80895640.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_808955E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_808956B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_80895640.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_808956FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_808956B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_80895738.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_808956FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_8089595C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_80895738.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_80895A10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_8089595C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_80895AC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_80895A10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_80895CB0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_80895AC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_80895D08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_80895CB0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_80895DE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_80895D08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_80895E28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_80895DE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_80895FF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_80895E28.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_808963B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_80895FF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/EnTite_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_808963B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_80896750.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/EnTite_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/func_80896788.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_80896750.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tite_0x808937F0/EnTite_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/func_80896788.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tite/EnTite_Draw.s") diff --git a/src/overlays/actors/ovl_En_Tite/z_en_tite.h b/src/overlays/actors/ovl_En_Tite/z_en_tite.h index b218b8e1ee..fa6fd70839 100644 --- a/src/overlays/actors/ovl_En_Tite/z_en_tite.h +++ b/src/overlays/actors/ovl_En_Tite/z_en_tite.h @@ -1,13 +1,17 @@ #ifndef Z_EN_TITE_H #define Z_EN_TITE_H -#include +#include "global.h" struct EnTite; +typedef void (*EnTiteActionFunc)(struct EnTite* this, GlobalContext* globalCtx); + typedef struct EnTite { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x2C0]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x170]; + /* 0x02B4 */ EnTiteActionFunc actionFunc; + /* 0x02B8 */ char unk_2B8[0x14C]; } EnTite; // size = 0x404 extern const ActorInit En_Tite_InitVars; diff --git a/src/overlays/actors/ovl_En_Tk/z_en_tk.c b/src/overlays/actors/ovl_En_Tk/z_en_tk.c index 177dad54e6..de2c1fe1ee 100644 --- a/src/overlays/actors/ovl_En_Tk/z_en_tk.c +++ b/src/overlays/actors/ovl_En_Tk/z_en_tk.c @@ -9,6 +9,19 @@ void EnTk_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnTk_Update(Actor* thisx, GlobalContext* globalCtx); void EnTk_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80AECA90(EnTk* this, GlobalContext* globalCtx); +void func_80AECB6C(EnTk* this, GlobalContext* globalCtx); +void func_80AED610(EnTk* this, GlobalContext* globalCtx); +void func_80AED940(EnTk* this, GlobalContext* globalCtx); +void func_80AEDC4C(EnTk* this, GlobalContext* globalCtx); +void func_80AEDD4C(EnTk* this, GlobalContext* globalCtx); +void func_80AEDF5C(EnTk* this, GlobalContext* globalCtx); +void func_80AEE2C0(EnTk* this, GlobalContext* globalCtx); +void func_80AEE414(EnTk* this, GlobalContext* globalCtx); +void func_80AEE4D0(EnTk* this, GlobalContext* globalCtx); +void func_80AEE6B8(EnTk* this, GlobalContext* globalCtx); +void func_80AEE9B0(EnTk* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Tk_InitVars = { ACTOR_EN_TK, @@ -22,7 +35,6 @@ const ActorInit En_Tk_InitVars = { (ActorFunc)EnTk_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80AEF830 = { { COLTYPE_NONE, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -30,120 +42,123 @@ static ColliderCylinderInit D_80AEF830 = { { 30, 52, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80AEF830; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AEC460.asm") +extern ColliderCylinderInit D_80AEF830; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AEC524.asm") +extern UNK_TYPE D_0600B530; +extern UNK_TYPE D_0600B9E8; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AEC658.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AEC460.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/EnTk_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AEC524.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/EnTk_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AEC658.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AECA3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/EnTk_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AECA90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/EnTk_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AECB0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AECA3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AECB6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AECA90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AECE0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AECB0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AECE60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AECB6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AED354.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AECE0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AED38C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AECE60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AED4F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AED354.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AED544.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AED38C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AED610.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AED4F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AED898.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AED544.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AED940.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AED610.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AEDBEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AED898.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AEDC4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AED940.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AEDCBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AEDBEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AEDD4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AEDC4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AEDDA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AEDCBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AEDE10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AEDD4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AEDF5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AEDDA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AEE2A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AEDE10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AEE2C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AEDF5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AEE300.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AEE2A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AEE374.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AEE2C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AEE414.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AEE300.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AEE478.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AEE374.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AEE4D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AEE414.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AEE650.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AEE478.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AEE6B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AEE4D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AEE784.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AEE650.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AEE7E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AEE6B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AEE86C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AEE784.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AEE9B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AEE7E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AEEA4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AEE86C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AEEAD4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AEE9B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AEEB88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AEEA4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AEED38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AEEAD4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AEF048.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AEEB88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AEF094.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AEED38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AEF15C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AEF048.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AEF1B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AEF094.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AEF1C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AEF15C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AEF210.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AEF1B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AEF220.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AEF1C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AEF278.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AEF210.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AEF2C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AEF220.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AEF2D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AEF278.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/EnTk_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AEF2C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AEF5F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AEF2D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AEF65C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/EnTk_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/func_80AEF6A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AEF5F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tk_0x80AEC460/EnTk_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AEF65C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/func_80AEF6A4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tk/EnTk_Draw.s") diff --git a/src/overlays/actors/ovl_En_Tk/z_en_tk.h b/src/overlays/actors/ovl_En_Tk/z_en_tk.h index 2ff772c2ae..e63bd34de3 100644 --- a/src/overlays/actors/ovl_En_Tk/z_en_tk.h +++ b/src/overlays/actors/ovl_En_Tk/z_en_tk.h @@ -1,13 +1,17 @@ #ifndef Z_EN_TK_H #define Z_EN_TK_H -#include +#include "global.h" struct EnTk; +typedef void (*EnTkActionFunc)(struct EnTk* this, GlobalContext* globalCtx); + typedef struct EnTk { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x2B0]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ EnTkActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x268]; } EnTk; // size = 0x3F4 extern const ActorInit En_Tk_InitVars; diff --git a/src/overlays/actors/ovl_En_Torch/z_en_torch.h b/src/overlays/actors/ovl_En_Torch/z_en_torch.h index a1fb910784..87e1d67822 100644 --- a/src/overlays/actors/ovl_En_Torch/z_en_torch.h +++ b/src/overlays/actors/ovl_En_Torch/z_en_torch.h @@ -1,7 +1,7 @@ #ifndef Z_EN_TORCH_H #define Z_EN_TORCH_H -#include +#include "global.h" struct EnTorch; diff --git a/src/overlays/actors/ovl_En_Torch2/z_en_torch2.c b/src/overlays/actors/ovl_En_Torch2/z_en_torch2.c index 5b44b710c7..d02573039d 100644 --- a/src/overlays/actors/ovl_En_Torch2/z_en_torch2.c +++ b/src/overlays/actors/ovl_En_Torch2/z_en_torch2.c @@ -17,11 +17,6 @@ void EnTorch2_Draw(Actor* thisx, GlobalContext* globalCtx); void EnTorch2_UpdateIdle(Actor* thisx, GlobalContext* globalCtx); void EnTorch2_UpdateDeath(Actor* thisx, GlobalContext* globalCtx); -extern Gfx D_0401C430[]; -extern Gfx D_04048DF0[]; -extern Gfx D_04057B10[]; -extern Gfx D_04089070[]; - const ActorInit En_Torch2_InitVars = { ACTOR_EN_TORCH2, ACTORCAT_ITEMACTION, diff --git a/src/overlays/actors/ovl_En_Torch2/z_en_torch2.h b/src/overlays/actors/ovl_En_Torch2/z_en_torch2.h index 68a2b2c406..70e5cd7cfb 100644 --- a/src/overlays/actors/ovl_En_Torch2/z_en_torch2.h +++ b/src/overlays/actors/ovl_En_Torch2/z_en_torch2.h @@ -1,7 +1,7 @@ #ifndef Z_EN_TORCH2_H #define Z_EN_TORCH2_H -#include +#include "global.h" struct EnTorch2; diff --git a/src/overlays/actors/ovl_En_Toto/z_en_toto.c b/src/overlays/actors/ovl_En_Toto/z_en_toto.c index e596066c72..07f6cfce2f 100644 --- a/src/overlays/actors/ovl_En_Toto/z_en_toto.c +++ b/src/overlays/actors/ovl_En_Toto/z_en_toto.c @@ -62,35 +62,20 @@ const ActorInit En_Toto_InitVars = { }; extern AnimationHeader D_06000C80; - extern AnimationHeader D_06001324; - extern AnimationHeader D_060016A4; - extern AnimationHeader D_06001DF0; - extern AnimationHeader D_060022C8; - extern AnimationHeader D_060028B8; - extern AnimationHeader D_06002F20; - extern AnimationHeader D_06003AA8; - extern UNK_TYPE D_06008AE8; - extern UNK_TYPE D_0600A068; - extern UNK_TYPE D_0600A468; - extern FlexSkeletonHeader D_0600A978; - extern AnimationHeader D_0600B3E0; - extern AnimationHeader D_0600B894; - extern AnimationHeader D_0600BC08; - extern AnimationHeader D_0600C880; static ColliderCylinderInit sCylinderInit = { diff --git a/src/overlays/actors/ovl_En_Toto/z_en_toto.h b/src/overlays/actors/ovl_En_Toto/z_en_toto.h index 59451c56c5..01f0368803 100644 --- a/src/overlays/actors/ovl_En_Toto/z_en_toto.h +++ b/src/overlays/actors/ovl_En_Toto/z_en_toto.h @@ -1,7 +1,7 @@ #ifndef Z_EN_TOTO_H #define Z_EN_TOTO_H -#include +#include "global.h" struct EnToto; diff --git a/src/overlays/actors/ovl_En_Trt/z_en_trt.h b/src/overlays/actors/ovl_En_Trt/z_en_trt.h index fd51bdd331..a83d841ef9 100644 --- a/src/overlays/actors/ovl_En_Trt/z_en_trt.h +++ b/src/overlays/actors/ovl_En_Trt/z_en_trt.h @@ -1,7 +1,7 @@ #ifndef Z_EN_TRT_H #define Z_EN_TRT_H -#include +#include "global.h" #include "overlays/actors/ovl_En_GirlA/z_en_girla.h" struct EnTrt; diff --git a/src/overlays/actors/ovl_En_Trt2/z_en_trt2.c b/src/overlays/actors/ovl_En_Trt2/z_en_trt2.c index 7f34c7b17d..3de9370ffa 100644 --- a/src/overlays/actors/ovl_En_Trt2/z_en_trt2.c +++ b/src/overlays/actors/ovl_En_Trt2/z_en_trt2.c @@ -8,6 +8,9 @@ void EnTrt2_Init(Actor* thisx, GlobalContext* globalCtx); void EnTrt2_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnTrt2_Update(Actor* thisx, GlobalContext* globalCtx); +void func_80AD4DB4(EnTrt2* this, GlobalContext* globalCtx); +void func_80AD4FE4(EnTrt2* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Trt2_InitVars = { ACTOR_EN_TRT2, @@ -21,7 +24,6 @@ const ActorInit En_Trt2_InitVars = { (ActorFunc)NULL, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80AD58A0 = { { COLTYPE_NONE, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -29,11 +31,9 @@ static ColliderCylinderInit D_80AD58A0 = { { 32, 56, 30, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_80AD58CC = { 1, 0, 0, 0, MASS_IMMOVABLE }; - // static DamageTable sDamageTable = { static DamageTable D_80AD58D8 = { /* Deku Nut */ DMG_ENTRY(1, 0x0), @@ -70,110 +70,111 @@ static DamageTable D_80AD58D8 = { /* Powder Keg */ DMG_ENTRY(1, 0x0), }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80AD5964[] = { ICHAIN_U8(targetMode, 3, ICHAIN_CONTINUE), ICHAIN_F32(targetArrowOffset, 500, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80AD58A0; extern CollisionCheckInfoInit2 D_80AD58CC; extern DamageTable D_80AD58D8; extern InitChainEntry D_80AD5964[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/func_80AD3380.asm") +extern UNK_TYPE D_06000A44; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/func_80AD341C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/func_80AD3380.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/func_80AD349C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/func_80AD341C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/func_80AD3530.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/func_80AD349C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/func_80AD3664.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/func_80AD3530.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/func_80AD36EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/func_80AD3664.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/func_80AD381C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/func_80AD36EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/func_80AD38B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/func_80AD381C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/func_80AD3A24.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/func_80AD38B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/func_80AD3AE4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/func_80AD3A24.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/func_80AD3B6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/func_80AD3AE4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/func_80AD3BE4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/func_80AD3B6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/func_80AD3C94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/func_80AD3BE4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/func_80AD3CEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/func_80AD3C94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/func_80AD3DA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/func_80AD3CEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/func_80AD3E34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/func_80AD3DA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/func_80AD3EF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/func_80AD3E34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/func_80AD3FF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/func_80AD3EF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/func_80AD40AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/func_80AD3FF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/func_80AD4110.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/func_80AD40AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/func_80AD417C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/func_80AD4110.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/func_80AD4298.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/func_80AD417C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/func_80AD431C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/func_80AD4298.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/func_80AD434C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/func_80AD431C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/func_80AD4550.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/func_80AD434C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/func_80AD4608.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/func_80AD4550.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/func_80AD469C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/func_80AD4608.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/func_80AD46F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/func_80AD469C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/func_80AD475C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/func_80AD46F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/func_80AD48F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/func_80AD475C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/func_80AD49B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/func_80AD48F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/func_80AD4A78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/func_80AD49B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/func_80AD4B08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/func_80AD4A78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/func_80AD4B4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/func_80AD4B08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/func_80AD4C4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/func_80AD4B4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/func_80AD4CCC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/func_80AD4C4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/func_80AD4DB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/func_80AD4CCC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/func_80AD4FE4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/func_80AD4DB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/EnTrt2_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/func_80AD4FE4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/EnTrt2_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/EnTrt2_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/EnTrt2_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/EnTrt2_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/func_80AD5234.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/EnTrt2_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/func_80AD5394.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/func_80AD5234.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/func_80AD54C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/func_80AD5394.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/func_80AD5584.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/func_80AD54C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/func_80AD566C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/func_80AD5584.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Trt2_0x80AD3380/func_80AD56E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/func_80AD566C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Trt2/func_80AD56E8.s") diff --git a/src/overlays/actors/ovl_En_Trt2/z_en_trt2.h b/src/overlays/actors/ovl_En_Trt2/z_en_trt2.h index 77ce71536e..5c95c1da6c 100644 --- a/src/overlays/actors/ovl_En_Trt2/z_en_trt2.h +++ b/src/overlays/actors/ovl_En_Trt2/z_en_trt2.h @@ -1,13 +1,16 @@ #ifndef Z_EN_TRT2_H #define Z_EN_TRT2_H -#include +#include "global.h" struct EnTrt2; +typedef void (*EnTrt2ActionFunc)(struct EnTrt2* this, GlobalContext* globalCtx); + typedef struct EnTrt2 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x298]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ EnTrt2ActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x294]; } EnTrt2; // size = 0x3DC extern const ActorInit En_Trt2_InitVars; diff --git a/src/overlays/actors/ovl_En_Tru/z_en_tru.c b/src/overlays/actors/ovl_En_Tru/z_en_tru.c index f5f20bb44b..cd35652cc3 100644 --- a/src/overlays/actors/ovl_En_Tru/z_en_tru.c +++ b/src/overlays/actors/ovl_En_Tru/z_en_tru.c @@ -9,6 +9,9 @@ void EnTru_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnTru_Update(Actor* thisx, GlobalContext* globalCtx); void EnTru_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80A87FD0(EnTru* this, GlobalContext* globalCtx); +void func_80A881E0(EnTru* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Tru_InitVars = { ACTOR_EN_TRU, @@ -22,7 +25,6 @@ const ActorInit En_Tru_InitVars = { (ActorFunc)EnTru_Draw, }; - // static ColliderSphereInit sSphereInit = { static ColliderSphereInit D_80A8B2A0 = { { COLTYPE_NONE, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_SPHERE, }, @@ -30,81 +32,84 @@ static ColliderSphereInit D_80A8B2A0 = { { 0, { { 0, 0, 0 }, 32 }, 100 }, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_80A8B2CC = { 1, 20, 0, 0, MASS_IMMOVABLE }; +#endif extern ColliderSphereInit D_80A8B2A0; extern CollisionCheckInfoInit2 D_80A8B2CC; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_0x80A85620/func_80A85620.asm") +extern UNK_TYPE D_060020C8; +extern UNK_TYPE D_0601A830; +extern UNK_TYPE D_0601AA60; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_0x80A85620/func_80A85788.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru/func_80A85620.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_0x80A85620/func_80A85AA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru/func_80A85788.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_0x80A85620/func_80A85BCC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru/func_80A85AA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_0x80A85620/func_80A85E2C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru/func_80A85BCC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_0x80A85620/func_80A85F84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru/func_80A85E2C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_0x80A85620/func_80A86384.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru/func_80A85F84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_0x80A85620/func_80A86460.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru/func_80A86384.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_0x80A85620/func_80A86674.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru/func_80A86460.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_0x80A85620/func_80A86770.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru/func_80A86674.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_0x80A85620/func_80A868F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru/func_80A86770.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_0x80A85620/func_80A86924.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru/func_80A868F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_0x80A85620/func_80A8697C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru/func_80A86924.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_0x80A85620/func_80A869DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru/func_80A8697C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_0x80A85620/func_80A86B0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru/func_80A869DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_0x80A85620/func_80A86BAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru/func_80A86B0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_0x80A85620/func_80A86DB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru/func_80A86BAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_0x80A85620/func_80A871E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru/func_80A86DB8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_0x80A85620/func_80A872AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru/func_80A871E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_0x80A85620/func_80A873B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru/func_80A872AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_0x80A85620/func_80A87400.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru/func_80A873B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_0x80A85620/func_80A875AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru/func_80A87400.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_0x80A85620/func_80A8777C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru/func_80A875AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_0x80A85620/func_80A87880.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru/func_80A8777C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_0x80A85620/func_80A87B48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru/func_80A87880.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_0x80A85620/func_80A87DC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru/func_80A87B48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_0x80A85620/func_80A87FD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru/func_80A87DC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_0x80A85620/func_80A881E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru/func_80A87FD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_0x80A85620/EnTru_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru/func_80A881E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_0x80A85620/EnTru_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru/EnTru_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_0x80A85620/EnTru_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru/EnTru_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_0x80A85620/func_80A885B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru/EnTru_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_0x80A85620/func_80A88698.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru/func_80A885B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_0x80A85620/func_80A886D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru/func_80A88698.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_0x80A85620/EnTru_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru/func_80A886D4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru/EnTru_Draw.s") diff --git a/src/overlays/actors/ovl_En_Tru/z_en_tru.h b/src/overlays/actors/ovl_En_Tru/z_en_tru.h index 9d0750172c..7a625edd49 100644 --- a/src/overlays/actors/ovl_En_Tru/z_en_tru.h +++ b/src/overlays/actors/ovl_En_Tru/z_en_tru.h @@ -1,13 +1,17 @@ #ifndef Z_EN_TRU_H #define Z_EN_TRU_H -#include +#include "global.h" struct EnTru; +typedef void (*EnTruActionFunc)(struct EnTru* this, GlobalContext* globalCtx); + typedef struct EnTru { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x7F0]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ EnTruActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x7A8]; } EnTru; // size = 0x934 extern const ActorInit En_Tru_InitVars; diff --git a/src/overlays/actors/ovl_En_Tru_Mt/z_en_tru_mt.c b/src/overlays/actors/ovl_En_Tru_Mt/z_en_tru_mt.c index 4a1046efe4..53fe4b195f 100644 --- a/src/overlays/actors/ovl_En_Tru_Mt/z_en_tru_mt.c +++ b/src/overlays/actors/ovl_En_Tru_Mt/z_en_tru_mt.c @@ -9,6 +9,10 @@ void EnTruMt_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnTruMt_Update(Actor* thisx, GlobalContext* globalCtx); void EnTruMt_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80B76A64(EnTruMt* this, GlobalContext* globalCtx); +void func_80B76BB8(EnTruMt* this, GlobalContext* globalCtx); +void func_80B76C38(EnTruMt* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Tru_Mt_InitVars = { ACTOR_EN_TRU_MT, @@ -22,7 +26,6 @@ const ActorInit En_Tru_Mt_InitVars = { (ActorFunc)EnTruMt_Draw, }; - // static ColliderSphereInit sSphereInit = { static ColliderSphereInit D_80B77510 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_SPHERE, }, @@ -30,7 +33,6 @@ static ColliderSphereInit D_80B77510 = { { 0, { { 0, 0, 0 }, 22 }, 100 }, }; - // static DamageTable sDamageTable = { static DamageTable D_80B7753C = { /* Deku Nut */ DMG_ENTRY(1, 0x0), @@ -67,55 +69,58 @@ static DamageTable D_80B7753C = { /* Powder Keg */ DMG_ENTRY(1, 0x0), }; +#endif extern ColliderSphereInit D_80B77510; extern DamageTable D_80B7753C; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_Mt_0x80B76030/func_80B76030.asm") +extern UNK_TYPE D_060004C8; +extern UNK_TYPE D_0601AA60; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_Mt_0x80B76030/func_80B76110.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru_Mt/func_80B76030.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_Mt_0x80B76030/func_80B76188.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru_Mt/func_80B76110.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_Mt_0x80B76030/func_80B761FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru_Mt/func_80B76188.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_Mt_0x80B76030/func_80B76368.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru_Mt/func_80B761FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_Mt_0x80B76030/func_80B763C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru_Mt/func_80B76368.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_Mt_0x80B76030/func_80B76440.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru_Mt/func_80B763C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_Mt_0x80B76030/func_80B76540.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru_Mt/func_80B76440.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_Mt_0x80B76030/func_80B76600.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru_Mt/func_80B76540.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_Mt_0x80B76030/func_80B7679C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru_Mt/func_80B76600.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_Mt_0x80B76030/func_80B768F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru_Mt/func_80B7679C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_Mt_0x80B76030/func_80B76924.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru_Mt/func_80B768F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_Mt_0x80B76030/func_80B76980.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru_Mt/func_80B76924.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_Mt_0x80B76030/func_80B76A64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru_Mt/func_80B76980.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_Mt_0x80B76030/func_80B76BB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru_Mt/func_80B76A64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_Mt_0x80B76030/func_80B76C38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru_Mt/func_80B76BB8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_Mt_0x80B76030/EnTruMt_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru_Mt/func_80B76C38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_Mt_0x80B76030/EnTruMt_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru_Mt/EnTruMt_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_Mt_0x80B76030/EnTruMt_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru_Mt/EnTruMt_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_Mt_0x80B76030/func_80B76ED4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru_Mt/EnTruMt_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_Mt_0x80B76030/func_80B77008.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru_Mt/func_80B76ED4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_Mt_0x80B76030/func_80B77078.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru_Mt/func_80B77008.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_Mt_0x80B76030/func_80B77354.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru_Mt/func_80B77078.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tru_Mt_0x80B76030/EnTruMt_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru_Mt/func_80B77354.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tru_Mt/EnTruMt_Draw.s") diff --git a/src/overlays/actors/ovl_En_Tru_Mt/z_en_tru_mt.h b/src/overlays/actors/ovl_En_Tru_Mt/z_en_tru_mt.h index 8ea52c640b..45736388bb 100644 --- a/src/overlays/actors/ovl_En_Tru_Mt/z_en_tru_mt.h +++ b/src/overlays/actors/ovl_En_Tru_Mt/z_en_tru_mt.h @@ -1,13 +1,16 @@ #ifndef Z_EN_TRU_MT_H #define Z_EN_TRU_MT_H -#include +#include "global.h" struct EnTruMt; +typedef void (*EnTruMtActionFunc)(struct EnTruMt* this, GlobalContext* globalCtx); + typedef struct EnTruMt { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x264]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ EnTruMtActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x260]; } EnTruMt; // size = 0x3A8 extern const ActorInit En_Tru_Mt_InitVars; diff --git a/src/overlays/actors/ovl_En_Tsn/z_en_tsn.c b/src/overlays/actors/ovl_En_Tsn/z_en_tsn.c index b4c7e65eb9..f8129b2375 100644 --- a/src/overlays/actors/ovl_En_Tsn/z_en_tsn.c +++ b/src/overlays/actors/ovl_En_Tsn/z_en_tsn.c @@ -22,7 +22,6 @@ const ActorInit En_Tsn_InitVars = { (ActorFunc)EnTsn_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80AE1190 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_ENEMY, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,48 +29,51 @@ static ColliderCylinderInit D_80AE1190 = { { 30, 40, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80AE1190; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tsn_0x80ADFCA0/func_80ADFCA0.asm") +extern ColliderCylinderInit D_80AE1190; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tsn_0x80ADFCA0/func_80ADFCEC.asm") +extern UNK_TYPE D_06001198; +extern UNK_TYPE D_060092FC; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tsn_0x80ADFCA0/EnTsn_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tsn/func_80ADFCA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tsn_0x80ADFCA0/EnTsn_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tsn/func_80ADFCEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tsn_0x80ADFCA0/func_80ADFF84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tsn/EnTsn_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tsn_0x80ADFCA0/func_80AE0010.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tsn/EnTsn_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tsn_0x80ADFCA0/func_80AE0304.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tsn/func_80ADFF84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tsn_0x80ADFCA0/func_80AE0418.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tsn/func_80AE0010.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tsn_0x80ADFCA0/func_80AE0460.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tsn/func_80AE0304.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tsn_0x80ADFCA0/func_80AE04C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tsn/func_80AE0418.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tsn_0x80ADFCA0/func_80AE04FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tsn/func_80AE0460.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tsn_0x80ADFCA0/func_80AE0698.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tsn/func_80AE04C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tsn_0x80ADFCA0/func_80AE0704.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tsn/func_80AE04FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tsn_0x80ADFCA0/func_80AE0C88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tsn/func_80AE0698.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tsn_0x80ADFCA0/func_80AE0D10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tsn/func_80AE0704.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tsn_0x80ADFCA0/func_80AE0D78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tsn/func_80AE0C88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tsn_0x80ADFCA0/EnTsn_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tsn/func_80AE0D10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tsn_0x80ADFCA0/func_80AE0F84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tsn/func_80AE0D78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tsn_0x80ADFCA0/func_80AE0FA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tsn/EnTsn_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tsn_0x80ADFCA0/func_80AE1024.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tsn/func_80AE0F84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Tsn_0x80ADFCA0/EnTsn_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tsn/func_80AE0FA8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tsn/func_80AE1024.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Tsn/EnTsn_Draw.s") diff --git a/src/overlays/actors/ovl_En_Tsn/z_en_tsn.h b/src/overlays/actors/ovl_En_Tsn/z_en_tsn.h index 68d0dd2755..06e306e750 100644 --- a/src/overlays/actors/ovl_En_Tsn/z_en_tsn.h +++ b/src/overlays/actors/ovl_En_Tsn/z_en_tsn.h @@ -1,13 +1,17 @@ #ifndef Z_EN_TSN_H #define Z_EN_TSN_H -#include +#include "global.h" struct EnTsn; +typedef void (*EnTsnActionFunc)(struct EnTsn* this, GlobalContext* globalCtx); + typedef struct EnTsn { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0xF0]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x90]; + /* 0x01D4 */ EnTsnActionFunc actionFunc; + /* 0x01D8 */ char unk_1D8[0x5C]; } EnTsn; // size = 0x234 extern const ActorInit En_Tsn_InitVars; diff --git a/src/overlays/actors/ovl_En_Tubo_Trap/z_en_tubo_trap.h b/src/overlays/actors/ovl_En_Tubo_Trap/z_en_tubo_trap.h index 34956405b3..673e57ae5d 100644 --- a/src/overlays/actors/ovl_En_Tubo_Trap/z_en_tubo_trap.h +++ b/src/overlays/actors/ovl_En_Tubo_Trap/z_en_tubo_trap.h @@ -1,7 +1,7 @@ #ifndef Z_EN_TUBO_TRAP_H #define Z_EN_TUBO_TRAP_H -#include +#include "global.h" struct EnTuboTrap; @@ -17,6 +17,4 @@ typedef struct EnTuboTrap { extern const ActorInit En_Tubo_Trap_InitVars; - - #endif // Z_EN_TUBO_TRAP_H diff --git a/src/overlays/actors/ovl_En_Twig/z_en_twig.c b/src/overlays/actors/ovl_En_Twig/z_en_twig.c index ad82d45de0..383354eed4 100644 --- a/src/overlays/actors/ovl_En_Twig/z_en_twig.c +++ b/src/overlays/actors/ovl_En_Twig/z_en_twig.c @@ -22,7 +22,6 @@ const ActorInit En_Twig_InitVars = { (ActorFunc)EnTwig_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80AC10C0[] = { ICHAIN_F32(uncullZoneScale, 40, ICHAIN_CONTINUE), @@ -31,26 +30,28 @@ static InitChainEntry D_80AC10C0[] = { ICHAIN_VEC3F_DIV1000(scale, 10, ICHAIN_STOP), }; - -extern InitChainEntry D_80AC10C0[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Twig_0x80AC0830/EnTwig_Init.asm") +extern InitChainEntry D_80AC10C0[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Twig_0x80AC0830/EnTwig_Destroy.asm") +extern UNK_TYPE D_06001C38; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Twig_0x80AC0830/func_80AC0A54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Twig/EnTwig_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Twig_0x80AC0830/func_80AC0A6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Twig/EnTwig_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Twig_0x80AC0830/func_80AC0A7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Twig/func_80AC0A54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Twig_0x80AC0830/func_80AC0AC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Twig/func_80AC0A6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Twig_0x80AC0830/func_80AC0CC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Twig/func_80AC0A7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Twig_0x80AC0830/func_80AC0D2C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Twig/func_80AC0AC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Twig_0x80AC0830/EnTwig_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Twig/func_80AC0CC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Twig_0x80AC0830/EnTwig_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Twig/func_80AC0D2C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Twig/EnTwig_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Twig/EnTwig_Draw.s") diff --git a/src/overlays/actors/ovl_En_Twig/z_en_twig.h b/src/overlays/actors/ovl_En_Twig/z_en_twig.h index 299a06c77f..bcf99e05e4 100644 --- a/src/overlays/actors/ovl_En_Twig/z_en_twig.h +++ b/src/overlays/actors/ovl_En_Twig/z_en_twig.h @@ -1,13 +1,17 @@ #ifndef Z_EN_TWIG_H #define Z_EN_TWIG_H -#include +#include "global.h" struct EnTwig; +typedef void (*EnTwigActionFunc)(struct EnTwig* this, GlobalContext* globalCtx); + typedef struct EnTwig { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x48]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x18]; + /* 0x015C */ EnTwigActionFunc actionFunc; + /* 0x0160 */ char unk_160[0x2C]; } EnTwig; // size = 0x18C extern const ActorInit En_Twig_InitVars; diff --git a/src/overlays/actors/ovl_En_Viewer/z_en_viewer.c b/src/overlays/actors/ovl_En_Viewer/z_en_viewer.c index 94446bd481..e3ceb9721d 100644 --- a/src/overlays/actors/ovl_En_Viewer/z_en_viewer.c +++ b/src/overlays/actors/ovl_En_Viewer/z_en_viewer.c @@ -9,6 +9,12 @@ void EnViewer_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnViewer_Update(Actor* thisx, GlobalContext* globalCtx); void EnViewer_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_8089F17C(EnViewer* this, GlobalContext* globalCtx); +void func_8089F218(EnViewer* this, GlobalContext* globalCtx); +void func_8089F2C4(EnViewer* this, GlobalContext* globalCtx); + +void EnViewer_SetupAction(EnViewer* this, EnViewerActionFunc actionFunc); + #if 0 const ActorInit En_Viewer_InitVars = { ACTOR_EN_VIEWER, @@ -24,22 +30,22 @@ const ActorInit En_Viewer_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Viewer_0x8089EE20/func_8089EE20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Viewer/EnViewer_SetupAction.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Viewer_0x8089EE20/EnViewer_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Viewer/EnViewer_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Viewer_0x8089EE20/EnViewer_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Viewer/EnViewer_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Viewer_0x8089EE20/func_8089F014.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Viewer/func_8089F014.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Viewer_0x8089EE20/func_8089F0A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Viewer/func_8089F0A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Viewer_0x8089EE20/func_8089F17C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Viewer/func_8089F17C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Viewer_0x8089EE20/func_8089F218.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Viewer/func_8089F218.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Viewer_0x8089EE20/func_8089F2C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Viewer/func_8089F2C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Viewer_0x8089EE20/EnViewer_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Viewer/EnViewer_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Viewer_0x8089EE20/EnViewer_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Viewer/EnViewer_Draw.s") diff --git a/src/overlays/actors/ovl_En_Viewer/z_en_viewer.h b/src/overlays/actors/ovl_En_Viewer/z_en_viewer.h index 2dc6710b73..4605e7b1a6 100644 --- a/src/overlays/actors/ovl_En_Viewer/z_en_viewer.h +++ b/src/overlays/actors/ovl_En_Viewer/z_en_viewer.h @@ -1,13 +1,16 @@ #ifndef Z_EN_VIEWER_H #define Z_EN_VIEWER_H -#include +#include "global.h" struct EnViewer; +typedef void (*EnViewerActionFunc)(struct EnViewer* this, GlobalContext* globalCtx); + typedef struct EnViewer { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x14]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ EnViewerActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x10]; } EnViewer; // size = 0x158 extern const ActorInit En_Viewer_InitVars; diff --git a/src/overlays/actors/ovl_En_Vm/z_en_vm.c b/src/overlays/actors/ovl_En_Vm/z_en_vm.c index c60b20f8b4..2b7072ab6b 100644 --- a/src/overlays/actors/ovl_En_Vm/z_en_vm.c +++ b/src/overlays/actors/ovl_En_Vm/z_en_vm.c @@ -22,7 +22,6 @@ const ActorInit En_Vm_InitVars = { (ActorFunc)EnVm_Draw, }; - // static ColliderJntSphElementInit sJntSphElementsInit[2] = { static ColliderJntSphElementInit D_808CD4C0[2] = { { @@ -41,7 +40,6 @@ static ColliderJntSphInit D_808CD508 = { 2, D_808CD4C0, // sJntSphElementsInit, }; - // static ColliderTrisElementInit sTrisElementsInit[1] = { static ColliderTrisElementInit D_808CD518[1] = { { @@ -56,7 +54,6 @@ static ColliderTrisInit D_808CD554 = { 1, D_808CD518, // sTrisElementsInit, }; - // static DamageTable sDamageTable = { static DamageTable D_808CD564 = { /* Deku Nut */ DMG_ENTRY(0, 0xF), @@ -93,11 +90,9 @@ static DamageTable D_808CD564 = { /* Powder Keg */ DMG_ENTRY(1, 0x0), }; - // sColChkInfoInit static CollisionCheckInfoInit D_808CD584 = { 2, 25, 100, MASS_IMMOVABLE }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_808CD5AC[] = { ICHAIN_VEC3F_DIV1000(scale, 14, ICHAIN_CONTINUE), @@ -105,6 +100,7 @@ static InitChainEntry D_808CD5AC[] = { ICHAIN_S8(hintId, 57, ICHAIN_STOP), }; +#endif extern ColliderJntSphElementInit D_808CD4C0[2]; extern ColliderJntSphInit D_808CD508; @@ -113,42 +109,43 @@ extern ColliderTrisInit D_808CD554; extern DamageTable D_808CD564; extern CollisionCheckInfoInit D_808CD584; extern InitChainEntry D_808CD5AC[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Vm_0x808CC260/EnVm_Init.asm") +extern UNK_TYPE D_06000068; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Vm_0x808CC260/EnVm_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Vm/EnVm_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Vm_0x808CC260/func_808CC420.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Vm/EnVm_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Vm_0x808CC260/func_808CC490.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Vm/func_808CC420.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Vm_0x808CC260/func_808CC5C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Vm/func_808CC490.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Vm_0x808CC260/func_808CC610.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Vm/func_808CC5C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Vm_0x808CC260/func_808CC788.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Vm/func_808CC610.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Vm_0x808CC260/func_808CC820.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Vm/func_808CC788.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Vm_0x808CC260/func_808CCA10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Vm/func_808CC820.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Vm_0x808CC260/func_808CCAA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Vm/func_808CCA10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Vm_0x808CC260/func_808CCB08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Vm/func_808CCAA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Vm_0x808CC260/func_808CCB50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Vm/func_808CCB08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Vm_0x808CC260/func_808CCBE4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Vm/func_808CCB50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Vm_0x808CC260/func_808CCCF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Vm/func_808CCBE4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Vm_0x808CC260/func_808CCDE4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Vm/func_808CCCF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Vm_0x808CC260/EnVm_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Vm/func_808CCDE4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Vm_0x808CC260/func_808CD020.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Vm/EnVm_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Vm_0x808CC260/func_808CD08C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Vm/func_808CD020.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Vm_0x808CC260/EnVm_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Vm/func_808CD08C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Vm/EnVm_Draw.s") diff --git a/src/overlays/actors/ovl_En_Vm/z_en_vm.h b/src/overlays/actors/ovl_En_Vm/z_en_vm.h index a884ae627a..c88e7ad803 100644 --- a/src/overlays/actors/ovl_En_Vm/z_en_vm.h +++ b/src/overlays/actors/ovl_En_Vm/z_en_vm.h @@ -1,13 +1,17 @@ #ifndef Z_EN_VM_H #define Z_EN_VM_H -#include +#include "global.h" struct EnVm; +typedef void (*EnVmActionFunc)(struct EnVm* this, GlobalContext* globalCtx); + typedef struct EnVm { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x218]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0xC8]; + /* 0x020C */ EnVmActionFunc actionFunc; + /* 0x0210 */ char unk_210[0x14C]; } EnVm; // size = 0x35C extern const ActorInit En_Vm_InitVars; diff --git a/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c b/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c index 31740c9c86..c56a4a166e 100644 --- a/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c +++ b/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c @@ -9,6 +9,21 @@ void EnWallmas_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnWallmas_Update(Actor* thisx, GlobalContext* globalCtx); void EnWallmas_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80874BE4(EnWallmas* this, GlobalContext* globalCtx); +void func_80874DE8(EnWallmas* this, GlobalContext* globalCtx); +void func_80874FD8(EnWallmas* this, GlobalContext* globalCtx); +void func_80875054(EnWallmas* this, GlobalContext* globalCtx); +void func_80875108(EnWallmas* this, GlobalContext* globalCtx); +void func_8087520C(EnWallmas* this, GlobalContext* globalCtx); +void func_808752CC(EnWallmas* this, GlobalContext* globalCtx); +void func_80875484(EnWallmas* this, GlobalContext* globalCtx); +void func_8087556C(EnWallmas* this, GlobalContext* globalCtx); +void func_80875638(EnWallmas* this, GlobalContext* globalCtx); +void func_8087571C(EnWallmas* this, GlobalContext* globalCtx); +void func_80875910(EnWallmas* this, GlobalContext* globalCtx); +void func_8087596C(EnWallmas* this, GlobalContext* globalCtx); +void func_80875A0C(EnWallmas* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Wallmas_InitVars = { ACTOR_EN_WALLMAS, @@ -22,7 +37,6 @@ const ActorInit En_Wallmas_InitVars = { (ActorFunc)EnWallmas_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80876360 = { { COLTYPE_HIT0, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,7 +44,6 @@ static ColliderCylinderInit D_80876360 = { { 30, 40, 0, { 0, 0, 0 } }, }; - // static DamageTable sDamageTable = { static DamageTable D_8087638C = { /* Deku Nut */ DMG_ENTRY(0, 0x1), @@ -67,11 +80,9 @@ static DamageTable D_8087638C = { /* Powder Keg */ DMG_ENTRY(1, 0x0), }; - // sColChkInfoInit static CollisionCheckInfoInit D_808763AC = { 3, 30, 40, 150 }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_808763B4[] = { ICHAIN_S8(hintId, 48, ICHAIN_CONTINUE), @@ -79,83 +90,94 @@ static InitChainEntry D_808763B4[] = { ICHAIN_F32_DIV1000(gravity, -1500, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80876360; extern DamageTable D_8087638C; extern CollisionCheckInfoInit D_808763AC; extern InitChainEntry D_808763B4[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wallmas_0x80874810/EnWallmas_Init.asm") +extern UNK_TYPE D_06000590; +extern UNK_TYPE D_06000EA4; +extern UNK_TYPE D_060019CC; +extern UNK_TYPE D_0600299C; +extern UNK_TYPE D_060041F4; +extern UNK_TYPE D_06008688; +extern UNK_TYPE D_06009244; +extern UNK_TYPE D_06009520; +extern UNK_TYPE D_06009DB0; +extern UNK_TYPE D_0600A054; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wallmas_0x80874810/EnWallmas_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wallmas/EnWallmas_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wallmas_0x80874810/func_80874A88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wallmas/EnWallmas_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wallmas_0x80874810/func_80874B04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wallmas/func_80874A88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wallmas_0x80874810/func_80874B88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wallmas/func_80874B04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wallmas_0x80874810/func_80874BE4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wallmas/func_80874B88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wallmas_0x80874810/func_80874D1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wallmas/func_80874BE4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wallmas_0x80874810/func_80874DE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wallmas/func_80874D1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wallmas_0x80874810/func_80874F14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wallmas/func_80874DE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wallmas_0x80874810/func_80874FD8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wallmas/func_80874F14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wallmas_0x80874810/func_80875014.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wallmas/func_80874FD8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wallmas_0x80874810/func_80875054.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wallmas/func_80875014.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wallmas_0x80874810/func_808750B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wallmas/func_80875054.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wallmas_0x80874810/func_80875108.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wallmas/func_808750B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wallmas_0x80874810/func_808751C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wallmas/func_80875108.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wallmas_0x80874810/func_8087520C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wallmas/func_808751C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wallmas_0x80874810/func_80875248.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wallmas/func_8087520C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wallmas_0x80874810/func_808752CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wallmas/func_80875248.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wallmas_0x80874810/func_808753F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wallmas/func_808752CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wallmas_0x80874810/func_80875484.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wallmas/func_808753F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wallmas_0x80874810/func_80875518.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wallmas/func_80875484.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wallmas_0x80874810/func_8087556C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wallmas/func_80875518.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wallmas_0x80874810/func_808755A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wallmas/func_8087556C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wallmas_0x80874810/func_80875638.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wallmas/func_808755A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wallmas_0x80874810/func_808756AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wallmas/func_80875638.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wallmas_0x80874810/func_8087571C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wallmas/func_808756AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wallmas_0x80874810/func_808758C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wallmas/func_8087571C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wallmas_0x80874810/func_80875910.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wallmas/func_808758C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wallmas_0x80874810/func_8087596C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wallmas/func_80875910.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wallmas_0x80874810/func_808759B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wallmas/func_8087596C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wallmas_0x80874810/func_80875A0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wallmas/func_808759B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wallmas_0x80874810/func_80875A74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wallmas/func_80875A0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wallmas_0x80874810/EnWallmas_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wallmas/func_80875A74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wallmas_0x80874810/func_80875F04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wallmas/EnWallmas_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wallmas_0x80874810/func_808760A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wallmas/func_80875F04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wallmas_0x80874810/func_80876118.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wallmas/func_808760A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wallmas_0x80874810/EnWallmas_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wallmas/func_80876118.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wallmas/EnWallmas_Draw.s") diff --git a/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.h b/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.h index afe89c6639..4e53b99545 100644 --- a/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.h +++ b/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.h @@ -1,13 +1,17 @@ #ifndef Z_EN_WALLMAS_H #define Z_EN_WALLMAS_H -#include +#include "global.h" struct EnWallmas; +typedef void (*EnWallmasActionFunc)(struct EnWallmas* this, GlobalContext* globalCtx); + typedef struct EnWallmas { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x260]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x44]; + /* 0x0188 */ EnWallmasActionFunc actionFunc; + /* 0x018C */ char unk_18C[0x218]; } EnWallmas; // size = 0x3A4 extern const ActorInit En_Wallmas_InitVars; diff --git a/src/overlays/actors/ovl_En_Warp_Uzu/z_en_warp_uzu.h b/src/overlays/actors/ovl_En_Warp_Uzu/z_en_warp_uzu.h index f6b74b2a2c..7cc148b978 100644 --- a/src/overlays/actors/ovl_En_Warp_Uzu/z_en_warp_uzu.h +++ b/src/overlays/actors/ovl_En_Warp_Uzu/z_en_warp_uzu.h @@ -1,7 +1,7 @@ #ifndef Z_EN_WARP_UZU_H #define Z_EN_WARP_UZU_H -#include +#include "global.h" struct EnWarpUzu; diff --git a/src/overlays/actors/ovl_En_Warp_tag/z_en_warp_tag.c b/src/overlays/actors/ovl_En_Warp_tag/z_en_warp_tag.c index 3305c60482..7ee643f03b 100644 --- a/src/overlays/actors/ovl_En_Warp_tag/z_en_warp_tag.c +++ b/src/overlays/actors/ovl_En_Warp_tag/z_en_warp_tag.c @@ -8,6 +8,13 @@ void EnWarptag_Init(Actor* thisx, GlobalContext* globalCtx); void EnWarptag_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnWarptag_Update(Actor* thisx, GlobalContext* globalCtx); +void func_809C085C(EnWarptag* this, GlobalContext* globalCtx); +void func_809C08E0(EnWarptag* this, GlobalContext* globalCtx); +void func_809C09A0(EnWarptag* this, GlobalContext* globalCtx); +void func_809C0A20(EnWarptag* this, GlobalContext* globalCtx); +void func_809C0AB4(EnWarptag* this, GlobalContext* globalCtx); +void func_809C0E30(EnWarptag* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Warp_tag_InitVars = { ACTOR_EN_WARP_TAG, @@ -21,33 +28,32 @@ const ActorInit En_Warp_tag_InitVars = { (ActorFunc)NULL, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_809C1008[] = { ICHAIN_VEC3F(scale, 1, ICHAIN_CONTINUE), ICHAIN_VEC3S(shape.rot, 0, ICHAIN_STOP), }; - -extern InitChainEntry D_809C1008[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Warp_tag_0x809C0760/EnWarptag_Init.asm") +extern InitChainEntry D_809C1008[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Warp_tag_0x809C0760/EnWarptag_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Warp_tag/EnWarptag_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Warp_tag_0x809C0760/func_809C085C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Warp_tag/EnWarptag_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Warp_tag_0x809C0760/func_809C08E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Warp_tag/func_809C085C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Warp_tag_0x809C0760/func_809C09A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Warp_tag/func_809C08E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Warp_tag_0x809C0760/func_809C0A20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Warp_tag/func_809C09A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Warp_tag_0x809C0760/func_809C0AB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Warp_tag/func_809C0A20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Warp_tag_0x809C0760/func_809C0E30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Warp_tag/func_809C0AB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Warp_tag_0x809C0760/EnWarptag_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Warp_tag/func_809C0E30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Warp_tag_0x809C0760/func_809C0F3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Warp_tag/EnWarptag_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Warp_tag/func_809C0F3C.s") diff --git a/src/overlays/actors/ovl_En_Warp_tag/z_en_warp_tag.h b/src/overlays/actors/ovl_En_Warp_tag/z_en_warp_tag.h index 2f66aaaf6c..663a52fd8e 100644 --- a/src/overlays/actors/ovl_En_Warp_tag/z_en_warp_tag.h +++ b/src/overlays/actors/ovl_En_Warp_tag/z_en_warp_tag.h @@ -1,13 +1,16 @@ #ifndef Z_EN_WARP_TAG_H #define Z_EN_WARP_TAG_H -#include +#include "global.h" struct EnWarptag; +typedef void (*EnWarptagActionFunc)(struct EnWarptag* this, GlobalContext* globalCtx); + typedef struct EnWarptag { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x20]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x1C]; + /* 0x0160 */ EnWarptagActionFunc actionFunc; } EnWarptag; // size = 0x164 extern const ActorInit En_Warp_tag_InitVars; diff --git a/src/overlays/actors/ovl_En_Water_Effect/z_en_water_effect.c b/src/overlays/actors/ovl_En_Water_Effect/z_en_water_effect.c index 1317ccf654..4bcf2b7650 100644 --- a/src/overlays/actors/ovl_En_Water_Effect/z_en_water_effect.c +++ b/src/overlays/actors/ovl_En_Water_Effect/z_en_water_effect.c @@ -24,24 +24,28 @@ const ActorInit En_Water_Effect_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Water_Effect_0x80A587A0/func_80A587A0.asm") +extern UNK_TYPE D_06000DE0; +extern UNK_TYPE D_060042B0; +extern UNK_TYPE D_060043E8; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Water_Effect_0x80A587A0/func_80A58908.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Water_Effect/func_80A587A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Water_Effect_0x80A587A0/EnWaterEffect_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Water_Effect/func_80A58908.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Water_Effect_0x80A587A0/EnWaterEffect_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Water_Effect/EnWaterEffect_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Water_Effect_0x80A587A0/EnWaterEffect_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Water_Effect/EnWaterEffect_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Water_Effect_0x80A587A0/EnWaterEffect_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Water_Effect/EnWaterEffect_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Water_Effect_0x80A587A0/func_80A599E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Water_Effect/EnWaterEffect_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Water_Effect_0x80A587A0/func_80A59C04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Water_Effect/func_80A599E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Water_Effect_0x80A587A0/func_80A5A184.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Water_Effect/func_80A59C04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Water_Effect_0x80A587A0/func_80A5A534.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Water_Effect/func_80A5A184.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Water_Effect_0x80A587A0/func_80A5A6B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Water_Effect/func_80A5A534.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Water_Effect/func_80A5A6B8.s") diff --git a/src/overlays/actors/ovl_En_Water_Effect/z_en_water_effect.h b/src/overlays/actors/ovl_En_Water_Effect/z_en_water_effect.h index c31e71e9c5..f7805ddca8 100644 --- a/src/overlays/actors/ovl_En_Water_Effect/z_en_water_effect.h +++ b/src/overlays/actors/ovl_En_Water_Effect/z_en_water_effect.h @@ -1,7 +1,7 @@ #ifndef Z_EN_WATER_EFFECT_H #define Z_EN_WATER_EFFECT_H -#include +#include "global.h" struct EnWaterEffect; diff --git a/src/overlays/actors/ovl_En_Wdhand/z_en_wdhand.c b/src/overlays/actors/ovl_En_Wdhand/z_en_wdhand.c index 2c7f1c973c..3859502098 100644 --- a/src/overlays/actors/ovl_En_Wdhand/z_en_wdhand.c +++ b/src/overlays/actors/ovl_En_Wdhand/z_en_wdhand.c @@ -22,7 +22,6 @@ const ActorInit En_Wdhand_InitVars = { (ActorFunc)EnWdhand_Draw, }; - // static ColliderJntSphElementInit sJntSphElementsInit[7] = { static ColliderJntSphElementInit D_80AF63E0[7] = { { @@ -61,11 +60,9 @@ static ColliderJntSphInit D_80AF64DC = { 7, D_80AF63E0, // sJntSphElementsInit, }; - // sColChkInfoInit static CollisionCheckInfoInit D_80AF64EC = { 1, 25, 25, MASS_HEAVY }; - // static DamageTable sDamageTable = { static DamageTable D_80AF64F4 = { /* Deku Nut */ DMG_ENTRY(0, 0x0), @@ -102,57 +99,63 @@ static DamageTable D_80AF64F4 = { /* Powder Keg */ DMG_ENTRY(1, 0x0), }; +#endif extern ColliderJntSphElementInit D_80AF63E0[7]; extern ColliderJntSphInit D_80AF64DC; extern CollisionCheckInfoInit D_80AF64EC; extern DamageTable D_80AF64F4; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wdhand_0x80AF43F0/EnWdhand_Init.asm") +extern UNK_TYPE D_060000F4; +extern UNK_TYPE D_06000364; +extern UNK_TYPE D_06000534; +extern UNK_TYPE D_06000854; +extern UNK_TYPE D_060014C0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wdhand_0x80AF43F0/EnWdhand_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wdhand/EnWdhand_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wdhand_0x80AF43F0/func_80AF4608.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wdhand/EnWdhand_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wdhand_0x80AF43F0/func_80AF4670.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wdhand/func_80AF4608.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wdhand_0x80AF43F0/func_80AF46F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wdhand/func_80AF4670.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wdhand_0x80AF43F0/func_80AF488C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wdhand/func_80AF46F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wdhand_0x80AF43F0/func_80AF48D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wdhand/func_80AF488C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wdhand_0x80AF43F0/func_80AF4964.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wdhand/func_80AF48D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wdhand_0x80AF43F0/func_80AF4A88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wdhand/func_80AF4964.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wdhand_0x80AF43F0/func_80AF4C18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wdhand/func_80AF4A88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wdhand_0x80AF43F0/func_80AF4C64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wdhand/func_80AF4C18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wdhand_0x80AF43F0/func_80AF4ED0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wdhand/func_80AF4C64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wdhand_0x80AF43F0/func_80AF4F30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wdhand/func_80AF4ED0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wdhand_0x80AF43F0/func_80AF4F6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wdhand/func_80AF4F30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wdhand_0x80AF43F0/func_80AF4FF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wdhand/func_80AF4F6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wdhand_0x80AF43F0/func_80AF5130.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wdhand/func_80AF4FF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wdhand_0x80AF43F0/func_80AF520C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wdhand/func_80AF5130.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wdhand_0x80AF43F0/func_80AF5650.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wdhand/func_80AF520C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wdhand_0x80AF43F0/func_80AF56A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wdhand/func_80AF5650.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wdhand_0x80AF43F0/func_80AF5820.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wdhand/func_80AF56A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wdhand_0x80AF43F0/func_80AF5E3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wdhand/func_80AF5820.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wdhand_0x80AF43F0/EnWdhand_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wdhand/func_80AF5E3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wdhand_0x80AF43F0/func_80AF5FE4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wdhand/EnWdhand_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wdhand_0x80AF43F0/EnWdhand_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wdhand/func_80AF5FE4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wdhand/EnWdhand_Draw.s") diff --git a/src/overlays/actors/ovl_En_Wdhand/z_en_wdhand.h b/src/overlays/actors/ovl_En_Wdhand/z_en_wdhand.h index 77ee54bc40..929ad2ce2f 100644 --- a/src/overlays/actors/ovl_En_Wdhand/z_en_wdhand.h +++ b/src/overlays/actors/ovl_En_Wdhand/z_en_wdhand.h @@ -1,13 +1,17 @@ #ifndef Z_EN_WDHAND_H #define Z_EN_WDHAND_H -#include +#include "global.h" struct EnWdhand; +typedef void (*EnWdhandActionFunc)(struct EnWdhand* this, GlobalContext* globalCtx); + typedef struct EnWdhand { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x310]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0xA4]; + /* 0x01E8 */ EnWdhandActionFunc actionFunc; + /* 0x01EC */ char unk_1EC[0x268]; } EnWdhand; // size = 0x454 extern const ActorInit En_Wdhand_InitVars; diff --git a/src/overlays/actors/ovl_En_Weather_Tag/z_en_weather_tag.h b/src/overlays/actors/ovl_En_Weather_Tag/z_en_weather_tag.h index ffadc71a37..f1a876718b 100644 --- a/src/overlays/actors/ovl_En_Weather_Tag/z_en_weather_tag.h +++ b/src/overlays/actors/ovl_En_Weather_Tag/z_en_weather_tag.h @@ -1,7 +1,7 @@ #ifndef Z_EN_WEATHER_TAG_H #define Z_EN_WEATHER_TAG_H -#include +#include "global.h" struct EnWeatherTag; diff --git a/src/overlays/actors/ovl_En_Wf/z_en_wf.c b/src/overlays/actors/ovl_En_Wf/z_en_wf.c index 806b09c66a..cf8edba5ad 100644 --- a/src/overlays/actors/ovl_En_Wf/z_en_wf.c +++ b/src/overlays/actors/ovl_En_Wf/z_en_wf.c @@ -9,6 +9,27 @@ void EnWf_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnWf_Update(Actor* thisx, GlobalContext* globalCtx); void EnWf_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80990F50(EnWf* this, GlobalContext* globalCtx); +void func_80991040(EnWf* this, GlobalContext* globalCtx); +void func_80991174(EnWf* this, GlobalContext* globalCtx); +void func_80991280(EnWf* this, GlobalContext* globalCtx); +void func_8099149C(EnWf* this, GlobalContext* globalCtx); +void func_8099177C(EnWf* this, GlobalContext* globalCtx); +void func_809919F4(EnWf* this, GlobalContext* globalCtx); +void func_80991C80(EnWf* this, GlobalContext* globalCtx); +void func_80992068(EnWf* this, GlobalContext* globalCtx); +void func_809922B4(EnWf* this, GlobalContext* globalCtx); +void func_809923E4(EnWf* this, GlobalContext* globalCtx); +void func_809924EC(EnWf* this, GlobalContext* globalCtx); +void func_80992784(EnWf* this, GlobalContext* globalCtx); +void func_809928CC(EnWf* this, GlobalContext* globalCtx); +void func_80992B8C(EnWf* this, GlobalContext* globalCtx); +void func_80992E0C(EnWf* this, GlobalContext* globalCtx); +void func_80993018(EnWf* this, GlobalContext* globalCtx); +void func_80993194(EnWf* this, GlobalContext* globalCtx); +void func_809933A0(EnWf* this, GlobalContext* globalCtx); +void func_8099357C(EnWf* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Wf_InitVars = { ACTOR_EN_WF, @@ -22,7 +43,6 @@ const ActorInit En_Wf_InitVars = { (ActorFunc)EnWf_Draw, }; - // static ColliderJntSphElementInit sJntSphElementsInit[4] = { static ColliderJntSphElementInit D_80994170[4] = { { @@ -49,7 +69,6 @@ static ColliderJntSphInit D_80994200 = { 4, D_80994170, // sJntSphElementsInit, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80994210 = { { COLTYPE_HIT5, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_NONE, OC2_NONE, COLSHAPE_CYLINDER, }, @@ -57,7 +76,6 @@ static ColliderCylinderInit D_80994210 = { { 20, 50, 0, { 0, 0, 0 } }, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_8099423C = { { COLTYPE_HIT5, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_NONE, OC2_NONE, COLSHAPE_CYLINDER, }, @@ -65,7 +83,6 @@ static ColliderCylinderInit D_8099423C = { { 15, 20, -15, { 0, 0, 0 } }, }; - // static DamageTable sDamageTable = { static DamageTable D_80994268 = { /* Deku Nut */ DMG_ENTRY(0, 0x1), @@ -102,7 +119,6 @@ static DamageTable D_80994268 = { /* Powder Keg */ DMG_ENTRY(1, 0x0), }; - // static DamageTable sDamageTable = { static DamageTable D_80994288 = { /* Deku Nut */ DMG_ENTRY(0, 0x1), @@ -139,17 +155,16 @@ static DamageTable D_80994288 = { /* Powder Keg */ DMG_ENTRY(1, 0x0), }; - // sColChkInfoInit static CollisionCheckInfoInit D_809942A8 = { 8, 50, 100, MASS_HEAVY }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_809942D0[] = { ICHAIN_F32(targetArrowOffset, 2000, ICHAIN_CONTINUE), ICHAIN_F32_DIV1000(gravity, -2000, ICHAIN_STOP), }; +#endif extern ColliderJntSphElementInit D_80994170[4]; extern ColliderJntSphInit D_80994200; @@ -159,118 +174,126 @@ extern DamageTable D_80994268; extern DamageTable D_80994288; extern CollisionCheckInfoInit D_809942A8; extern InitChainEntry D_809942D0[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/EnWf_Init.asm") +extern UNK_TYPE D_06004638; +extern UNK_TYPE D_06004A90; +extern UNK_TYPE D_06004C44; +extern UNK_TYPE D_060053D0; +extern UNK_TYPE D_06005700; +extern UNK_TYPE D_06009808; +extern UNK_TYPE D_06009A50; +extern UNK_TYPE D_0600A3CC; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/EnWf_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/EnWf_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_809907D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/EnWf_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_80990854.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_809907D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_809908E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_80990854.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_80990948.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_809908E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_80990C6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_80990948.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_80990E4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_80990C6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_80990EAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_80990E4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_80990ED4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_80990EAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_80990F0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_80990ED4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_80990F50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_80990F0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_80990FC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_80990F50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_80991040.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_80990FC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_809910F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_80991040.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_80991174.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_809910F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_80991200.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_80991174.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_80991280.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_80991200.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_80991438.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_80991280.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_8099149C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_80991438.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_80991738.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_8099149C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_8099177C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_80991738.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_80991948.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_8099177C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_809919F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_80991948.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_80991C04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_809919F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_80991C80.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_80991C04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_80991FD8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_80991C80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_80992068.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_80991FD8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_8099223C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_80992068.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_809922B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_8099223C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_809923B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_809922B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_809923E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_809923B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_8099245C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_809923E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_809924EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_8099245C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_809926D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_809924EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_80992784.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_809926D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_8099282C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_80992784.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_809928CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_8099282C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_80992A74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_809928CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_80992B8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_80992A74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_80992D6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_80992B8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_80992E0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_80992D6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_80992FD4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_80992E0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_80993018.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_80992FD4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_80993148.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_80993018.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_80993194.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_80993148.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_80993350.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_80993194.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_809933A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_80993350.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_80993524.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_809933A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_8099357C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_80993524.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_80993738.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_8099357C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_8099386C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_80993738.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/EnWf_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_8099386C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_80993E50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/EnWf_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_80993E94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_80993E50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/EnWf_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_80993E94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wf_0x80990310/func_8099408C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/EnWf_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wf/func_8099408C.s") diff --git a/src/overlays/actors/ovl_En_Wf/z_en_wf.h b/src/overlays/actors/ovl_En_Wf/z_en_wf.h index c87a0df87b..c5a6770bc5 100644 --- a/src/overlays/actors/ovl_En_Wf/z_en_wf.h +++ b/src/overlays/actors/ovl_En_Wf/z_en_wf.h @@ -1,13 +1,17 @@ #ifndef Z_EN_WF_H #define Z_EN_WF_H -#include +#include "global.h" struct EnWf; +typedef void (*EnWfActionFunc)(struct EnWf* this, GlobalContext* globalCtx); + typedef struct EnWf { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x3A4]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x14C]; + /* 0x0290 */ EnWfActionFunc actionFunc; + /* 0x0294 */ char unk_294[0x254]; } EnWf; // size = 0x4E8 extern const ActorInit En_Wf_InitVars; diff --git a/src/overlays/actors/ovl_En_Wiz/z_en_wiz.c b/src/overlays/actors/ovl_En_Wiz/z_en_wiz.c index 3e58951982..2190b28cda 100644 --- a/src/overlays/actors/ovl_En_Wiz/z_en_wiz.c +++ b/src/overlays/actors/ovl_En_Wiz/z_en_wiz.c @@ -22,7 +22,6 @@ const ActorInit En_Wiz_InitVars = { (ActorFunc)EnWiz_Draw, }; - // static ColliderJntSphElementInit sJntSphElementsInit[10] = { static ColliderJntSphElementInit D_80A48B50[10] = { { @@ -73,7 +72,6 @@ static ColliderJntSphInit D_80A48CB8 = { 10, D_80A48B50, // sJntSphElementsInit, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80A48CC8 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -81,7 +79,6 @@ static ColliderCylinderInit D_80A48CC8 = { { 35, 130, 0, { 0, 0, 0 } }, }; - // static DamageTable sDamageTable = { static DamageTable D_80A48CF4 = { /* Deku Nut */ DMG_ENTRY(0, 0x1), @@ -118,7 +115,6 @@ static DamageTable D_80A48CF4 = { /* Powder Keg */ DMG_ENTRY(1, 0xF), }; - // static DamageTable sDamageTable = { static DamageTable D_80A48D14 = { /* Deku Nut */ DMG_ENTRY(0, 0x1), @@ -155,66 +151,70 @@ static DamageTable D_80A48D14 = { /* Powder Keg */ DMG_ENTRY(1, 0xF), }; +#endif extern ColliderJntSphElementInit D_80A48B50[10]; extern ColliderJntSphInit D_80A48CB8; extern ColliderCylinderInit D_80A48CC8; extern DamageTable D_80A48CF4; extern DamageTable D_80A48D14; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_0x80A45360/EnWiz_Init.asm") +extern UNK_TYPE D_0600211C; +extern UNK_TYPE D_060025F0; +extern UNK_TYPE D_060066C0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_0x80A45360/EnWiz_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz/EnWiz_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_0x80A45360/func_80A455C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz/EnWiz_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_0x80A45360/func_80A456A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz/func_80A455C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_0x80A45360/func_80A45CD8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz/func_80A456A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_0x80A45360/func_80A460A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz/func_80A45CD8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_0x80A45360/func_80A46280.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz/func_80A460A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_0x80A45360/func_80A462F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz/func_80A46280.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_0x80A45360/func_80A46414.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz/func_80A462F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_0x80A45360/func_80A4668C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz/func_80A46414.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_0x80A45360/func_80A46764.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz/func_80A4668C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_0x80A45360/func_80A468CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz/func_80A46764.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_0x80A45360/func_80A46990.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz/func_80A468CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_0x80A45360/func_80A46C88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz/func_80A46990.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_0x80A45360/func_80A46CC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz/func_80A46C88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_0x80A45360/func_80A46DDC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz/func_80A46CC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_0x80A45360/func_80A46E24.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz/func_80A46DDC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_0x80A45360/func_80A47000.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz/func_80A46E24.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_0x80A45360/func_80A470D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz/func_80A47000.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_0x80A45360/func_80A47298.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz/func_80A470D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_0x80A45360/func_80A473B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz/func_80A47298.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_0x80A45360/func_80A4767C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz/func_80A473B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_0x80A45360/func_80A476C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz/func_80A4767C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_0x80A45360/func_80A477E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz/func_80A476C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_0x80A45360/EnWiz_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz/func_80A477E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_0x80A45360/func_80A47FCC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz/EnWiz_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_0x80A45360/func_80A48138.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz/func_80A47FCC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_0x80A45360/EnWiz_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz/func_80A48138.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz/EnWiz_Draw.s") diff --git a/src/overlays/actors/ovl_En_Wiz/z_en_wiz.h b/src/overlays/actors/ovl_En_Wiz/z_en_wiz.h index a3e5004b4c..c8dfbc703d 100644 --- a/src/overlays/actors/ovl_En_Wiz/z_en_wiz.h +++ b/src/overlays/actors/ovl_En_Wiz/z_en_wiz.h @@ -1,13 +1,17 @@ #ifndef Z_EN_WIZ_H #define Z_EN_WIZ_H -#include +#include "global.h" struct EnWiz; +typedef void (*EnWizActionFunc)(struct EnWiz* this, GlobalContext* globalCtx); + typedef struct EnWiz { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0xC3C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x268]; + /* 0x03AC */ EnWizActionFunc actionFunc; + /* 0x03B0 */ char unk_3B0[0x9D0]; } EnWiz; // size = 0xD80 extern const ActorInit En_Wiz_InitVars; diff --git a/src/overlays/actors/ovl_En_Wiz_Brock/z_en_wiz_brock.c b/src/overlays/actors/ovl_En_Wiz_Brock/z_en_wiz_brock.c index 85a8b9b1a3..48ad84d580 100644 --- a/src/overlays/actors/ovl_En_Wiz_Brock/z_en_wiz_brock.c +++ b/src/overlays/actors/ovl_En_Wiz_Brock/z_en_wiz_brock.c @@ -24,14 +24,17 @@ const ActorInit En_Wiz_Brock_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_Brock_0x80A48FE0/EnWizBrock_Init.asm") +extern UNK_TYPE D_060010E8; +extern UNK_TYPE D_06001690; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_Brock_0x80A48FE0/EnWizBrock_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz_Brock/EnWizBrock_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_Brock_0x80A48FE0/func_80A490E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz_Brock/EnWizBrock_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_Brock_0x80A48FE0/func_80A490FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz_Brock/func_80A490E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_Brock_0x80A48FE0/EnWizBrock_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz_Brock/func_80A490FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_Brock_0x80A48FE0/EnWizBrock_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz_Brock/EnWizBrock_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz_Brock/EnWizBrock_Draw.s") diff --git a/src/overlays/actors/ovl_En_Wiz_Brock/z_en_wiz_brock.h b/src/overlays/actors/ovl_En_Wiz_Brock/z_en_wiz_brock.h index 4252bde39d..cc7c855799 100644 --- a/src/overlays/actors/ovl_En_Wiz_Brock/z_en_wiz_brock.h +++ b/src/overlays/actors/ovl_En_Wiz_Brock/z_en_wiz_brock.h @@ -1,13 +1,17 @@ #ifndef Z_EN_WIZ_BROCK_H #define Z_EN_WIZ_BROCK_H -#include +#include "global.h" struct EnWizBrock; +typedef void (*EnWizBrockActionFunc)(struct EnWizBrock* this, GlobalContext* globalCtx); + typedef struct EnWizBrock { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x6C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x5C]; + /* 0x01A0 */ EnWizBrockActionFunc actionFunc; + /* 0x01A4 */ char unk_1A4[0xC]; } EnWizBrock; // size = 0x1B0 extern const ActorInit En_Wiz_Brock_InitVars; diff --git a/src/overlays/actors/ovl_En_Wiz_Fire/z_en_wiz_fire.c b/src/overlays/actors/ovl_En_Wiz_Fire/z_en_wiz_fire.c index b6a2723436..8c45955ec6 100644 --- a/src/overlays/actors/ovl_En_Wiz_Fire/z_en_wiz_fire.c +++ b/src/overlays/actors/ovl_En_Wiz_Fire/z_en_wiz_fire.c @@ -9,6 +9,13 @@ void EnWizFire_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnWizFire_Update(Actor* thisx, GlobalContext* globalCtx); void EnWizFire_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80A4984C(EnWizFire* this, GlobalContext* globalCtx); +void func_80A49A44(EnWizFire* this, GlobalContext* globalCtx); +void func_80A49F38(EnWizFire* this, GlobalContext* globalCtx); +void func_80A49FD8(EnWizFire* this, GlobalContext* globalCtx); +void func_80A4A11C(EnWizFire* this, GlobalContext* globalCtx); +void func_80A4A608(EnWizFire* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Wiz_Fire_InitVars = { ACTOR_EN_WIZ_FIRE, @@ -22,7 +29,6 @@ const ActorInit En_Wiz_Fire_InitVars = { (ActorFunc)EnWizFire_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80A4C1E4 = { { COLTYPE_NONE, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_TYPE_PLAYER, OC1_NONE, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,38 +36,44 @@ static ColliderCylinderInit D_80A4C1E4 = { { 0, 0, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80A4C1E4; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_Fire_0x80A496A0/EnWizFire_Init.asm") +extern ColliderCylinderInit D_80A4C1E4; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_Fire_0x80A496A0/EnWizFire_Destroy.asm") +extern UNK_TYPE D_06000FD8; +extern UNK_TYPE D_06002630; +extern UNK_TYPE D_06002B40; +extern UNK_TYPE D_06003120; +extern UNK_TYPE D_06005190; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_Fire_0x80A496A0/func_80A4984C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz_Fire/EnWizFire_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_Fire_0x80A496A0/func_80A49A44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz_Fire/EnWizFire_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_Fire_0x80A496A0/func_80A49F38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz_Fire/func_80A4984C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_Fire_0x80A496A0/func_80A49FD8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz_Fire/func_80A49A44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_Fire_0x80A496A0/func_80A4A11C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz_Fire/func_80A49F38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_Fire_0x80A496A0/func_80A4A608.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz_Fire/func_80A49FD8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_Fire_0x80A496A0/EnWizFire_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz_Fire/func_80A4A11C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_Fire_0x80A496A0/func_80A4B0C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz_Fire/func_80A4A608.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_Fire_0x80A496A0/func_80A4B33C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz_Fire/EnWizFire_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_Fire_0x80A496A0/EnWizFire_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz_Fire/func_80A4B0C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_Fire_0x80A496A0/func_80A4BAB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz_Fire/func_80A4B33C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_Fire_0x80A496A0/func_80A4BC74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz_Fire/EnWizFire_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_Fire_0x80A496A0/func_80A4BDDC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz_Fire/func_80A4BAB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wiz_Fire_0x80A496A0/func_80A4BF78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz_Fire/func_80A4BC74.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz_Fire/func_80A4BDDC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wiz_Fire/func_80A4BF78.s") diff --git a/src/overlays/actors/ovl_En_Wiz_Fire/z_en_wiz_fire.h b/src/overlays/actors/ovl_En_Wiz_Fire/z_en_wiz_fire.h index 646f1a8c2a..401879899c 100644 --- a/src/overlays/actors/ovl_En_Wiz_Fire/z_en_wiz_fire.h +++ b/src/overlays/actors/ovl_En_Wiz_Fire/z_en_wiz_fire.h @@ -1,13 +1,16 @@ #ifndef Z_EN_WIZ_FIRE_H #define Z_EN_WIZ_FIRE_H -#include +#include "global.h" struct EnWizFire; +typedef void (*EnWizFireActionFunc)(struct EnWizFire* this, GlobalContext* globalCtx); + typedef struct EnWizFire { /* 0x0000 */ Actor actor; - /* 0x0144 */ char unk_0144[0x29B0]; + /* 0x0144 */ EnWizFireActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x29AC]; } EnWizFire; // size = 0x2AF4 extern const ActorInit En_Wiz_Fire_InitVars; diff --git a/src/overlays/actors/ovl_En_Wood02/z_en_wood02.c b/src/overlays/actors/ovl_En_Wood02/z_en_wood02.c index d308619352..d111e7bba4 100644 --- a/src/overlays/actors/ovl_En_Wood02/z_en_wood02.c +++ b/src/overlays/actors/ovl_En_Wood02/z_en_wood02.c @@ -22,7 +22,6 @@ const ActorInit En_Wood02_InitVars = { (ActorFunc)EnWood02_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_808C4D00 = { { COLTYPE_TREE, AT_NONE, AC_ON | AC_HARD | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,20 +29,22 @@ static ColliderCylinderInit D_808C4D00 = { { 18, 60, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_808C4D00; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wood02_0x808C3C00/func_808C3C00.asm") +extern ColliderCylinderInit D_808C4D00; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wood02_0x808C3C00/func_808C3D28.asm") +extern UNK_TYPE D_06000700; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wood02_0x808C3C00/EnWood02_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wood02/func_808C3C00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wood02_0x808C3C00/EnWood02_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wood02/func_808C3D28.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wood02_0x808C3C00/func_808C4458.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wood02/EnWood02_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wood02_0x808C3C00/EnWood02_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wood02/EnWood02_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Wood02_0x808C3C00/EnWood02_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wood02/func_808C4458.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wood02/EnWood02_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Wood02/EnWood02_Draw.s") diff --git a/src/overlays/actors/ovl_En_Wood02/z_en_wood02.h b/src/overlays/actors/ovl_En_Wood02/z_en_wood02.h index 1394a54d24..ef638cfcd8 100644 --- a/src/overlays/actors/ovl_En_Wood02/z_en_wood02.h +++ b/src/overlays/actors/ovl_En_Wood02/z_en_wood02.h @@ -1,7 +1,7 @@ #ifndef Z_EN_WOOD02_H #define Z_EN_WOOD02_H -#include +#include "global.h" struct EnWood02; diff --git a/src/overlays/actors/ovl_En_Yb/z_en_yb.c b/src/overlays/actors/ovl_En_Yb/z_en_yb.c index d6f2495f56..8704d9ea59 100644 --- a/src/overlays/actors/ovl_En_Yb/z_en_yb.c +++ b/src/overlays/actors/ovl_En_Yb/z_en_yb.c @@ -9,6 +9,15 @@ void EnYb_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnYb_Update(Actor* thisx, GlobalContext* globalCtx); void EnYb_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80BFA730(EnYb* this, GlobalContext* globalCtx); +void func_80BFA868(EnYb* this, GlobalContext* globalCtx); +void func_80BFA91C(EnYb* this, GlobalContext* globalCtx); +void func_80BFA9D4(EnYb* this, GlobalContext* globalCtx); +void func_80BFAB4C(EnYb* this, GlobalContext* globalCtx); +void func_80BFABF0(EnYb* this, GlobalContext* globalCtx); +void func_80BFAC88(EnYb* this, GlobalContext* globalCtx); +void func_80BFAE80(EnYb* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Yb_InitVars = { ACTOR_EN_YB, @@ -22,7 +31,6 @@ const ActorInit En_Yb_InitVars = { (ActorFunc)EnYb_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80BFB2B0 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_ENEMY, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,50 +38,52 @@ static ColliderCylinderInit D_80BFB2B0 = { { 20, 40, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80BFB2B0; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Yb_0x80BFA100/EnYb_Init.asm") +extern ColliderCylinderInit D_80BFB2B0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Yb_0x80BFA100/EnYb_Destroy.asm") +extern UNK_TYPE D_06000200; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Yb_0x80BFA100/func_80BFA2FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Yb/EnYb_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Yb_0x80BFA100/func_80BFA350.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Yb/EnYb_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Yb_0x80BFA100/func_80BFA444.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Yb/func_80BFA2FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Yb_0x80BFA100/func_80BFA5CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Yb/func_80BFA350.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Yb_0x80BFA100/func_80BFA634.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Yb/func_80BFA444.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Yb_0x80BFA100/func_80BFA67C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Yb/func_80BFA5CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Yb_0x80BFA100/func_80BFA6E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Yb/func_80BFA634.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Yb_0x80BFA100/func_80BFA710.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Yb/func_80BFA67C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Yb_0x80BFA100/func_80BFA730.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Yb/func_80BFA6E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Yb_0x80BFA100/func_80BFA868.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Yb/func_80BFA710.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Yb_0x80BFA100/func_80BFA91C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Yb/func_80BFA730.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Yb_0x80BFA100/func_80BFA9D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Yb/func_80BFA868.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Yb_0x80BFA100/func_80BFAB4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Yb/func_80BFA91C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Yb_0x80BFA100/func_80BFABF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Yb/func_80BFA9D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Yb_0x80BFA100/func_80BFAC88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Yb/func_80BFAB4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Yb_0x80BFA100/func_80BFAE80.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Yb/func_80BFABF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Yb_0x80BFA100/EnYb_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Yb/func_80BFAC88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Yb_0x80BFA100/func_80BFB074.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Yb/func_80BFAE80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Yb_0x80BFA100/func_80BFB0E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Yb/EnYb_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Yb_0x80BFA100/EnYb_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Yb/func_80BFB074.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Yb/func_80BFB0E0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Yb/EnYb_Draw.s") diff --git a/src/overlays/actors/ovl_En_Yb/z_en_yb.h b/src/overlays/actors/ovl_En_Yb/z_en_yb.h index c508502bee..2b72d791d7 100644 --- a/src/overlays/actors/ovl_En_Yb/z_en_yb.h +++ b/src/overlays/actors/ovl_En_Yb/z_en_yb.h @@ -1,13 +1,16 @@ #ifndef Z_EN_YB_H #define Z_EN_YB_H -#include +#include "global.h" struct EnYb; +typedef void (*EnYbActionFunc)(struct EnYb* this, GlobalContext* globalCtx); + typedef struct EnYb { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x2E0]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x2DC]; + /* 0x0420 */ EnYbActionFunc actionFunc; } EnYb; // size = 0x424 extern const ActorInit En_Yb_InitVars; diff --git a/src/overlays/actors/ovl_En_Zl1/z_en_zl1.h b/src/overlays/actors/ovl_En_Zl1/z_en_zl1.h index d26fbc2f42..e1b1181912 100644 --- a/src/overlays/actors/ovl_En_Zl1/z_en_zl1.h +++ b/src/overlays/actors/ovl_En_Zl1/z_en_zl1.h @@ -1,7 +1,7 @@ #ifndef Z_EN_ZL1_H #define Z_EN_ZL1_H -#include +#include "global.h" struct EnZl1; diff --git a/src/overlays/actors/ovl_En_Zl4/z_en_zl4.c b/src/overlays/actors/ovl_En_Zl4/z_en_zl4.c index 896c38eb52..cef6afd3d1 100644 --- a/src/overlays/actors/ovl_En_Zl4/z_en_zl4.c +++ b/src/overlays/actors/ovl_En_Zl4/z_en_zl4.c @@ -9,6 +9,8 @@ void EnZl4_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnZl4_Update(Actor* thisx, GlobalContext* globalCtx); void EnZl4_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_809A1D0C(EnZl4* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Zl4_InitVars = { ACTOR_EN_ZL4, @@ -24,24 +26,26 @@ const ActorInit En_Zl4_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zl4_0x809A1BB0/func_809A1BB0.asm") +extern UNK_TYPE D_06013328; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zl4_0x809A1BB0/EnZl4_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zl4/func_809A1BB0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zl4_0x809A1BB0/EnZl4_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zl4/EnZl4_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zl4_0x809A1BB0/func_809A1D0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zl4/EnZl4_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zl4_0x809A1BB0/EnZl4_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zl4/func_809A1D0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zl4_0x809A1BB0/func_809A1D60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zl4/EnZl4_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zl4_0x809A1BB0/func_809A1DA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zl4/func_809A1D60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zl4_0x809A1BB0/func_809A1DBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zl4/func_809A1DA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zl4_0x809A1BB0/func_809A1DD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zl4/func_809A1DBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zl4_0x809A1BB0/func_809A1E28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zl4/func_809A1DD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zl4_0x809A1BB0/EnZl4_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zl4/func_809A1E28.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zl4/EnZl4_Draw.s") diff --git a/src/overlays/actors/ovl_En_Zl4/z_en_zl4.h b/src/overlays/actors/ovl_En_Zl4/z_en_zl4.h index b82a843c36..28bea05f01 100644 --- a/src/overlays/actors/ovl_En_Zl4/z_en_zl4.h +++ b/src/overlays/actors/ovl_En_Zl4/z_en_zl4.h @@ -1,13 +1,17 @@ #ifndef Z_EN_ZL4_H #define Z_EN_ZL4_H -#include +#include "global.h" struct EnZl4; +typedef void (*EnZl4ActionFunc)(struct EnZl4* this, GlobalContext* globalCtx); + typedef struct EnZl4 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x1B0]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x14C]; + /* 0x0290 */ EnZl4ActionFunc actionFunc; + /* 0x0294 */ char unk_294[0x60]; } EnZl4; // size = 0x2F4 extern const ActorInit En_Zl4_InitVars; diff --git a/src/overlays/actors/ovl_En_Zo/z_en_zo.c b/src/overlays/actors/ovl_En_Zo/z_en_zo.c index c9c88dbda9..575bf65de3 100644 --- a/src/overlays/actors/ovl_En_Zo/z_en_zo.c +++ b/src/overlays/actors/ovl_En_Zo/z_en_zo.c @@ -9,6 +9,11 @@ void EnZo_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnZo_Update(Actor* thisx, GlobalContext* globalCtx); void EnZo_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_8099EBD8(EnZo* this, GlobalContext* globalCtx); +void func_8099EC50(EnZo* this, GlobalContext* globalCtx); +void func_8099ED4C(EnZo* this, GlobalContext* globalCtx); +void func_8099EE24(EnZo* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Zo_InitVars = { ACTOR_EN_ZO, @@ -22,7 +27,6 @@ const ActorInit En_Zo_InitVars = { (ActorFunc)EnZo_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_8099F4B0 = { { COLTYPE_HIT0, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,11 +34,9 @@ static ColliderCylinderInit D_8099F4B0 = { { 18, 64, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_8099F4DC = { 0, 0, 0, 0, MASS_IMMOVABLE }; - // static DamageTable sDamageTable = { static DamageTable D_8099F4E8 = { /* Deku Nut */ DMG_ENTRY(0, 0x0), @@ -71,38 +73,40 @@ static DamageTable D_8099F4E8 = { /* Powder Keg */ DMG_ENTRY(0, 0x0), }; +#endif extern ColliderCylinderInit D_8099F4B0; extern CollisionCheckInfoInit2 D_8099F4DC; extern DamageTable D_8099F4E8; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zo_0x8099E790/func_8099E790.asm") +extern UNK_TYPE D_0600D208; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zo_0x8099E790/func_8099E858.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zo/func_8099E790.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zo_0x8099E790/func_8099E96C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zo/func_8099E858.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zo_0x8099E790/func_8099E9E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zo/func_8099E96C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zo_0x8099E790/func_8099EA60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zo/func_8099E9E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zo_0x8099E790/func_8099EBD8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zo/func_8099EA60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zo_0x8099E790/func_8099EC50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zo/func_8099EBD8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zo_0x8099E790/func_8099ED4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zo/func_8099EC50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zo_0x8099E790/func_8099EE24.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zo/func_8099ED4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zo_0x8099E790/EnZo_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zo/func_8099EE24.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zo_0x8099E790/EnZo_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zo/EnZo_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zo_0x8099E790/EnZo_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zo/EnZo_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zo_0x8099E790/func_8099EFF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zo/EnZo_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zo_0x8099E790/func_8099F15C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zo/func_8099EFF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zo_0x8099E790/EnZo_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zo/func_8099F15C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zo/EnZo_Draw.s") diff --git a/src/overlays/actors/ovl_En_Zo/z_en_zo.h b/src/overlays/actors/ovl_En_Zo/z_en_zo.h index 73bd213143..d0eccb73c6 100644 --- a/src/overlays/actors/ovl_En_Zo/z_en_zo.h +++ b/src/overlays/actors/ovl_En_Zo/z_en_zo.h @@ -1,13 +1,16 @@ #ifndef Z_EN_ZO_H #define Z_EN_ZO_H -#include +#include "global.h" struct EnZo; +typedef void (*EnZoActionFunc)(struct EnZo* this, GlobalContext* globalCtx); + typedef struct EnZo { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x2E0]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ EnZoActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x2DC]; } EnZo; // size = 0x424 extern const ActorInit En_Zo_InitVars; diff --git a/src/overlays/actors/ovl_En_Zob/z_en_zob.c b/src/overlays/actors/ovl_En_Zob/z_en_zob.c index 842f8a4923..2722501343 100644 --- a/src/overlays/actors/ovl_En_Zob/z_en_zob.c +++ b/src/overlays/actors/ovl_En_Zob/z_en_zob.c @@ -9,6 +9,24 @@ void EnZob_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnZob_Update(Actor* thisx, GlobalContext* globalCtx); void EnZob_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80B9FD24(EnZob* this, GlobalContext* globalCtx); +void func_80B9FDDC(EnZob* this, GlobalContext* globalCtx); +void func_80B9FE1C(EnZob* this, GlobalContext* globalCtx); +void func_80B9FF20(EnZob* this, GlobalContext* globalCtx); +void func_80BA005C(EnZob* this, GlobalContext* globalCtx); +void func_80BA00BC(EnZob* this, GlobalContext* globalCtx); +void func_80BA0318(EnZob* this, GlobalContext* globalCtx); +void func_80BA0374(EnZob* this, GlobalContext* globalCtx); +void func_80BA0610(EnZob* this, GlobalContext* globalCtx); +void func_80BA06BC(EnZob* this, GlobalContext* globalCtx); +void func_80BA0728(EnZob* this, GlobalContext* globalCtx); +void func_80BA09E0(EnZob* this, GlobalContext* globalCtx); +void func_80BA0A04(EnZob* this, GlobalContext* globalCtx); +void func_80BA0AD8(EnZob* this, GlobalContext* globalCtx); +void func_80BA0BB4(EnZob* this, GlobalContext* globalCtx); +void func_80BA0C14(EnZob* this, GlobalContext* globalCtx); +void func_80BA0CF4(EnZob* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Zob_InitVars = { ACTOR_EN_ZOB, @@ -22,7 +40,6 @@ const ActorInit En_Zob_InitVars = { (ActorFunc)EnZob_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80BA10D0 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_ENEMY, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,70 +47,72 @@ static ColliderCylinderInit D_80BA10D0 = { { 30, 40, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80BA10D0; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zob_0x80B9F570/EnZob_Init.asm") +extern ColliderCylinderInit D_80BA10D0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zob_0x80B9F570/EnZob_Destroy.asm") +extern UNK_TYPE D_06006998; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zob_0x80B9F570/func_80B9F7E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zob/EnZob_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zob_0x80B9F570/func_80B9F86C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zob/EnZob_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zob_0x80B9F570/func_80B9FA3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zob/func_80B9F7E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zob_0x80B9F570/func_80B9FC0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zob/func_80B9F86C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zob_0x80B9F570/func_80B9FC70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zob/func_80B9FA3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zob_0x80B9F570/func_80B9FCA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zob/func_80B9FC0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zob_0x80B9F570/func_80B9FD24.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zob/func_80B9FC70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zob_0x80B9F570/func_80B9FDDC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zob/func_80B9FCA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zob_0x80B9F570/func_80B9FE1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zob/func_80B9FD24.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zob_0x80B9F570/func_80B9FE5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zob/func_80B9FDDC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zob_0x80B9F570/func_80B9FF20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zob/func_80B9FE1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zob_0x80B9F570/func_80B9FF80.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zob/func_80B9FE5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zob_0x80B9F570/func_80BA005C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zob/func_80B9FF20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zob_0x80B9F570/func_80BA00BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zob/func_80B9FF80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zob_0x80B9F570/func_80BA0318.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zob/func_80BA005C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zob_0x80B9F570/func_80BA0374.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zob/func_80BA00BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zob_0x80B9F570/func_80BA0610.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zob/func_80BA0318.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zob_0x80B9F570/func_80BA06BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zob/func_80BA0374.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zob_0x80B9F570/func_80BA0728.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zob/func_80BA0610.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zob_0x80B9F570/func_80BA08E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zob/func_80BA06BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zob_0x80B9F570/func_80BA09E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zob/func_80BA0728.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zob_0x80B9F570/func_80BA0A04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zob/func_80BA08E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zob_0x80B9F570/func_80BA0AD8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zob/func_80BA09E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zob_0x80B9F570/func_80BA0BB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zob/func_80BA0A04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zob_0x80B9F570/func_80BA0C14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zob/func_80BA0AD8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zob_0x80B9F570/func_80BA0CF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zob/func_80BA0BB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zob_0x80B9F570/EnZob_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zob/func_80BA0C14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zob_0x80B9F570/func_80BA0F64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zob/func_80BA0CF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zob_0x80B9F570/func_80BA0FAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zob/EnZob_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zob_0x80B9F570/EnZob_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zob/func_80BA0F64.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zob/func_80BA0FAC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zob/EnZob_Draw.s") diff --git a/src/overlays/actors/ovl_En_Zob/z_en_zob.h b/src/overlays/actors/ovl_En_Zob/z_en_zob.h index 2f1ed08280..515649c39e 100644 --- a/src/overlays/actors/ovl_En_Zob/z_en_zob.h +++ b/src/overlays/actors/ovl_En_Zob/z_en_zob.h @@ -1,13 +1,16 @@ #ifndef Z_EN_ZOB_H #define Z_EN_ZOB_H -#include +#include "global.h" struct EnZob; +typedef void (*EnZobActionFunc)(struct EnZob* this, GlobalContext* globalCtx); + typedef struct EnZob { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x1D4]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x1D0]; + /* 0x0314 */ EnZobActionFunc actionFunc; } EnZob; // size = 0x318 extern const ActorInit En_Zob_InitVars; diff --git a/src/overlays/actors/ovl_En_Zod/z_en_zod.c b/src/overlays/actors/ovl_En_Zod/z_en_zod.c index 8162d318d9..3a28b86162 100644 --- a/src/overlays/actors/ovl_En_Zod/z_en_zod.c +++ b/src/overlays/actors/ovl_En_Zod/z_en_zod.c @@ -22,7 +22,6 @@ const ActorInit En_Zod_InitVars = { (ActorFunc)EnZod_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80BB0540 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_ENEMY, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,52 +29,55 @@ static ColliderCylinderInit D_80BB0540 = { { 60, 40, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80BB0540; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zod_0x80BAEF70/EnZod_Init.asm") +extern ColliderCylinderInit D_80BB0540; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zod_0x80BAEF70/EnZod_Destroy.asm") +extern UNK_TYPE D_06000D94; +extern UNK_TYPE D_06007650; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zod_0x80BAEF70/func_80BAF1EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zod/EnZod_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zod_0x80BAEF70/func_80BAF2B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zod/EnZod_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zod_0x80BAEF70/func_80BAF338.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zod/func_80BAF1EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zod_0x80BAEF70/func_80BAF3E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zod/func_80BAF2B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zod_0x80BAEF70/func_80BAF4D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zod/func_80BAF338.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zod_0x80BAEF70/func_80BAF7CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zod/func_80BAF3E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zod_0x80BAEF70/func_80BAF99C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zod/func_80BAF4D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zod_0x80BAEF70/func_80BAFA44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zod/func_80BAF7CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zod_0x80BAEF70/func_80BAFADC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zod/func_80BAF99C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zod_0x80BAEF70/func_80BAFB84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zod/func_80BAFA44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zod_0x80BAEF70/func_80BAFC00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zod/func_80BAFADC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zod_0x80BAEF70/func_80BAFC10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zod/func_80BAFB84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zod_0x80BAEF70/func_80BAFD00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zod/func_80BAFC00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zod_0x80BAEF70/func_80BAFDB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zod/func_80BAFC10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zod_0x80BAEF70/func_80BAFE34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zod/func_80BAFD00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zod_0x80BAEF70/func_80BAFF14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zod/func_80BAFDB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zod_0x80BAEF70/EnZod_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zod/func_80BAFE34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zod_0x80BAEF70/func_80BB0128.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zod/func_80BAFF14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zod_0x80BAEF70/func_80BB0170.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zod/EnZod_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zod_0x80BAEF70/func_80BB01B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zod/func_80BB0128.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zod_0x80BAEF70/EnZod_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zod/func_80BB0170.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zod/func_80BB01B0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zod/EnZod_Draw.s") diff --git a/src/overlays/actors/ovl_En_Zod/z_en_zod.h b/src/overlays/actors/ovl_En_Zod/z_en_zod.h index 89f0229b95..fa258e42e3 100644 --- a/src/overlays/actors/ovl_En_Zod/z_en_zod.h +++ b/src/overlays/actors/ovl_En_Zod/z_en_zod.h @@ -1,13 +1,16 @@ #ifndef Z_EN_ZOD_H #define Z_EN_ZOD_H -#include +#include "global.h" struct EnZod; +typedef void (*EnZodActionFunc)(struct EnZod* this, GlobalContext* globalCtx); + typedef struct EnZod { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x15C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x158]; + /* 0x029C */ EnZodActionFunc actionFunc; } EnZod; // size = 0x2A0 extern const ActorInit En_Zod_InitVars; diff --git a/src/overlays/actors/ovl_En_Zog/z_en_zog.c b/src/overlays/actors/ovl_En_Zog/z_en_zog.c index 7b502bb12e..babf4a0639 100644 --- a/src/overlays/actors/ovl_En_Zog/z_en_zog.c +++ b/src/overlays/actors/ovl_En_Zog/z_en_zog.c @@ -9,6 +9,21 @@ void EnZog_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnZog_Update(Actor* thisx, GlobalContext* globalCtx); void EnZog_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80B943A0(EnZog* this, GlobalContext* globalCtx); +void func_80B943C0(EnZog* this, GlobalContext* globalCtx); +void func_80B94470(EnZog* this, GlobalContext* globalCtx); +void func_80B9451C(EnZog* this, GlobalContext* globalCtx); +void func_80B9461C(EnZog* this, GlobalContext* globalCtx); +void func_80B946B4(EnZog* this, GlobalContext* globalCtx); +void func_80B946FC(EnZog* this, GlobalContext* globalCtx); +void func_80B948A8(EnZog* this, GlobalContext* globalCtx); +void func_80B94A00(EnZog* this, GlobalContext* globalCtx); +void func_80B94C5C(EnZog* this, GlobalContext* globalCtx); +void func_80B94D0C(EnZog* this, GlobalContext* globalCtx); +void func_80B94E34(EnZog* this, GlobalContext* globalCtx); +void func_80B95128(EnZog* this, GlobalContext* globalCtx); +void func_80B95240(EnZog* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Zog_InitVars = { ACTOR_EN_ZOG, @@ -22,7 +37,6 @@ const ActorInit En_Zog_InitVars = { (ActorFunc)EnZog_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80B95880 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_ENEMY, OC1_ON | OC1_TYPE_PLAYER, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,68 +44,71 @@ static ColliderCylinderInit D_80B95880 = { { 30, 40, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80B95880; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zog_0x80B93310/func_80B93310.asm") +extern ColliderCylinderInit D_80B95880; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zog_0x80B93310/func_80B93468.asm") +extern UNK_TYPE D_0600FC0C; +extern UNK_TYPE D_060280A8; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zog_0x80B93310/EnZog_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zog/func_80B93310.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zog_0x80B93310/EnZog_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zog/func_80B93468.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zog_0x80B93310/func_80B939C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zog/EnZog_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zog_0x80B93310/func_80B93A48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zog/EnZog_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zog_0x80B93310/func_80B93B44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zog/func_80B939C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zog_0x80B93310/func_80B93BA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zog/func_80B93A48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zog_0x80B93310/func_80B93BE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zog/func_80B93B44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zog_0x80B93310/func_80B93D2C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zog/func_80B93BA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zog_0x80B93310/func_80B93DE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zog/func_80B93BE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zog_0x80B93310/func_80B93EA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zog/func_80B93D2C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zog_0x80B93310/func_80B943A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zog/func_80B93DE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zog_0x80B93310/func_80B943C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zog/func_80B93EA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zog_0x80B93310/func_80B943EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zog/func_80B943A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zog_0x80B93310/func_80B94470.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zog/func_80B943C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zog_0x80B93310/func_80B9451C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zog/func_80B943EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zog_0x80B93310/func_80B9461C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zog/func_80B94470.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zog_0x80B93310/func_80B946B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zog/func_80B9451C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zog_0x80B93310/func_80B946FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zog/func_80B9461C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zog_0x80B93310/func_80B948A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zog/func_80B946B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zog_0x80B93310/func_80B94A00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zog/func_80B946FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zog_0x80B93310/func_80B94C5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zog/func_80B948A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zog_0x80B93310/func_80B94D0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zog/func_80B94A00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zog_0x80B93310/func_80B94E34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zog/func_80B94C5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zog_0x80B93310/func_80B95128.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zog/func_80B94D0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zog_0x80B93310/func_80B95240.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zog/func_80B94E34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zog_0x80B93310/EnZog_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zog/func_80B95128.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zog_0x80B93310/func_80B954C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zog/func_80B95240.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zog_0x80B93310/func_80B95598.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zog/EnZog_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zog_0x80B93310/EnZog_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zog/func_80B954C4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zog/func_80B95598.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zog/EnZog_Draw.s") diff --git a/src/overlays/actors/ovl_En_Zog/z_en_zog.h b/src/overlays/actors/ovl_En_Zog/z_en_zog.h index 7b67ba55e7..8282f7e742 100644 --- a/src/overlays/actors/ovl_En_Zog/z_en_zog.h +++ b/src/overlays/actors/ovl_En_Zog/z_en_zog.h @@ -1,13 +1,16 @@ #ifndef Z_EN_ZOG_H #define Z_EN_ZOG_H -#include +#include "global.h" struct EnZog; +typedef void (*EnZogActionFunc)(struct EnZog* this, GlobalContext* globalCtx); + typedef struct EnZog { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x1E8]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x1E4]; + /* 0x0328 */ EnZogActionFunc actionFunc; } EnZog; // size = 0x32C extern const ActorInit En_Zog_InitVars; diff --git a/src/overlays/actors/ovl_En_Zoraegg/z_en_zoraegg.c b/src/overlays/actors/ovl_En_Zoraegg/z_en_zoraegg.c index 108e5924e1..05a99edfff 100644 --- a/src/overlays/actors/ovl_En_Zoraegg/z_en_zoraegg.c +++ b/src/overlays/actors/ovl_En_Zoraegg/z_en_zoraegg.c @@ -24,78 +24,84 @@ const ActorInit En_Zoraegg_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zoraegg_0x80B31590/func_80B31590.asm") +extern UNK_TYPE D_060005D4; +extern UNK_TYPE D_06004D20; +extern UNK_TYPE D_06004FE4; +extern UNK_TYPE D_06005098; +extern UNK_TYPE D_06005250; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zoraegg_0x80B31590/EnZoraegg_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zoraegg/func_80B31590.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zoraegg_0x80B31590/EnZoraegg_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zoraegg/EnZoraegg_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zoraegg_0x80B31590/func_80B319A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zoraegg/EnZoraegg_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zoraegg_0x80B31590/func_80B319D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zoraegg/func_80B319A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zoraegg_0x80B31590/func_80B31A34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zoraegg/func_80B319D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zoraegg_0x80B31590/func_80B31C40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zoraegg/func_80B31A34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zoraegg_0x80B31590/func_80B31CB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zoraegg/func_80B31C40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zoraegg_0x80B31590/func_80B31D14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zoraegg/func_80B31CB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zoraegg_0x80B31590/func_80B31D64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zoraegg/func_80B31D14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zoraegg_0x80B31590/func_80B31E00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zoraegg/func_80B31D64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zoraegg_0x80B31590/func_80B32084.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zoraegg/func_80B31E00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zoraegg_0x80B31590/func_80B32094.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zoraegg/func_80B32084.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zoraegg_0x80B31590/func_80B320E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zoraegg/func_80B32094.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zoraegg_0x80B31590/func_80B321D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zoraegg/func_80B320E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zoraegg_0x80B31590/func_80B32228.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zoraegg/func_80B321D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zoraegg_0x80B31590/func_80B322BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zoraegg/func_80B32228.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zoraegg_0x80B31590/func_80B32390.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zoraegg/func_80B322BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zoraegg_0x80B31590/func_80B324B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zoraegg/func_80B32390.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zoraegg_0x80B31590/func_80B32644.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zoraegg/func_80B324B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zoraegg_0x80B31590/func_80B326F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zoraegg/func_80B32644.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zoraegg_0x80B31590/func_80B32820.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zoraegg/func_80B326F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zoraegg_0x80B31590/func_80B32928.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zoraegg/func_80B32820.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zoraegg_0x80B31590/func_80B32A88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zoraegg/func_80B32928.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zoraegg_0x80B31590/func_80B32B10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zoraegg/func_80B32A88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zoraegg_0x80B31590/func_80B32B3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zoraegg/func_80B32B10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zoraegg_0x80B31590/func_80B32B70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zoraegg/func_80B32B3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zoraegg_0x80B31590/func_80B32BB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zoraegg/func_80B32B70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zoraegg_0x80B31590/func_80B32C34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zoraegg/func_80B32BB8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zoraegg_0x80B31590/func_80B32D08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zoraegg/func_80B32C34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zoraegg_0x80B31590/EnZoraegg_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zoraegg/func_80B32D08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zoraegg_0x80B31590/func_80B32F04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zoraegg/EnZoraegg_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zoraegg_0x80B31590/func_80B331C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zoraegg/func_80B32F04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zoraegg_0x80B31590/func_80B3336C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zoraegg/func_80B331C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zoraegg_0x80B31590/func_80B333DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zoraegg/func_80B3336C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zoraegg_0x80B31590/func_80B33480.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zoraegg/func_80B333DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zoraegg_0x80B31590/func_80B33818.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zoraegg/func_80B33480.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zoraegg_0x80B31590/EnZoraegg_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zoraegg/func_80B33818.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zoraegg/EnZoraegg_Draw.s") diff --git a/src/overlays/actors/ovl_En_Zoraegg/z_en_zoraegg.h b/src/overlays/actors/ovl_En_Zoraegg/z_en_zoraegg.h index 9bef54d616..7ebf280ba3 100644 --- a/src/overlays/actors/ovl_En_Zoraegg/z_en_zoraegg.h +++ b/src/overlays/actors/ovl_En_Zoraegg/z_en_zoraegg.h @@ -1,13 +1,16 @@ #ifndef Z_EN_ZORAEGG_H #define Z_EN_ZORAEGG_H -#include +#include "global.h" struct EnZoraegg; +typedef void (*EnZoraeggActionFunc)(struct EnZoraegg* this, GlobalContext* globalCtx); + typedef struct EnZoraegg { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0xB8]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0xB4]; + /* 0x01F8 */ EnZoraeggActionFunc actionFunc; } EnZoraegg; // size = 0x1FC extern const ActorInit En_Zoraegg_InitVars; diff --git a/src/overlays/actors/ovl_En_Zos/z_en_zos.c b/src/overlays/actors/ovl_En_Zos/z_en_zos.c index a577252308..d874289678 100644 --- a/src/overlays/actors/ovl_En_Zos/z_en_zos.c +++ b/src/overlays/actors/ovl_En_Zos/z_en_zos.c @@ -22,7 +22,6 @@ const ActorInit En_Zos_InitVars = { (ActorFunc)EnZos_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80BBC6F0 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_ENEMY, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,64 +29,67 @@ static ColliderCylinderInit D_80BBC6F0 = { { 60, 40, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80BBC6F0; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zos_0x80BBACA0/EnZos_Init.asm") +extern ColliderCylinderInit D_80BBC6F0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zos_0x80BBACA0/EnZos_Destroy.asm") +extern UNK_TYPE D_0600A164; +extern UNK_TYPE D_060136E0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zos_0x80BBACA0/func_80BBAE84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zos/EnZos_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zos_0x80BBACA0/func_80BBAF5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zos/EnZos_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zos_0x80BBACA0/func_80BBAFFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zos/func_80BBAE84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zos_0x80BBACA0/func_80BBB0D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zos/func_80BBAF5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zos_0x80BBACA0/func_80BBB15C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zos/func_80BBAFFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zos_0x80BBACA0/func_80BBB2C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zos/func_80BBB0D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zos_0x80BBACA0/func_80BBB354.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zos/func_80BBB15C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zos_0x80BBACA0/func_80BBB414.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zos/func_80BBB2C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zos_0x80BBACA0/func_80BBB4CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zos/func_80BBB354.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zos_0x80BBACA0/func_80BBB574.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zos/func_80BBB414.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zos_0x80BBACA0/func_80BBB718.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zos/func_80BBB4CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zos_0x80BBACA0/func_80BBB8AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zos/func_80BBB574.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zos_0x80BBACA0/func_80BBBB84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zos/func_80BBB718.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zos_0x80BBACA0/func_80BBBCBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zos/func_80BBB8AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zos_0x80BBACA0/func_80BBBD5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zos/func_80BBBB84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zos_0x80BBACA0/func_80BBBDE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zos/func_80BBBCBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zos_0x80BBACA0/func_80BBBFBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zos/func_80BBBD5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zos_0x80BBACA0/func_80BBC070.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zos/func_80BBBDE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zos_0x80BBACA0/func_80BBC14C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zos/func_80BBBFBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zos_0x80BBACA0/func_80BBC22C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zos/func_80BBC070.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zos_0x80BBACA0/func_80BBC24C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zos/func_80BBC14C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zos_0x80BBACA0/func_80BBC298.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zos/func_80BBC22C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zos_0x80BBACA0/func_80BBC37C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zos/func_80BBC24C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zos_0x80BBACA0/EnZos_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zos/func_80BBC298.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zos_0x80BBACA0/func_80BBC4E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zos/func_80BBC37C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zos_0x80BBACA0/func_80BBC500.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zos/EnZos_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zos_0x80BBACA0/EnZos_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zos/func_80BBC4E4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zos/func_80BBC500.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zos/EnZos_Draw.s") diff --git a/src/overlays/actors/ovl_En_Zos/z_en_zos.h b/src/overlays/actors/ovl_En_Zos/z_en_zos.h index 315728d892..be36e931a8 100644 --- a/src/overlays/actors/ovl_En_Zos/z_en_zos.h +++ b/src/overlays/actors/ovl_En_Zos/z_en_zos.h @@ -1,13 +1,16 @@ #ifndef Z_EN_ZOS_H #define Z_EN_ZOS_H -#include +#include "global.h" struct EnZos; +typedef void (*EnZosActionFunc)(struct EnZos* this, GlobalContext* globalCtx); + typedef struct EnZos { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x180]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x17C]; + /* 0x02C0 */ EnZosActionFunc actionFunc; } EnZos; // size = 0x2C4 extern const ActorInit En_Zos_InitVars; diff --git a/src/overlays/actors/ovl_En_Zot/z_en_zot.c b/src/overlays/actors/ovl_En_Zot/z_en_zot.c index 6f57e1d495..026a5a7bca 100644 --- a/src/overlays/actors/ovl_En_Zot/z_en_zot.c +++ b/src/overlays/actors/ovl_En_Zot/z_en_zot.c @@ -22,7 +22,6 @@ const ActorInit En_Zot_InitVars = { (ActorFunc)EnZot_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80B998E0 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_ENEMY, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,114 +29,116 @@ static ColliderCylinderInit D_80B998E0 = { { 30, 40, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80B998E0; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B965D0.asm") +extern ColliderCylinderInit D_80B998E0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/EnZot_Init.asm") +extern UNK_TYPE D_06004248; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/EnZot_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B965D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B96BEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/EnZot_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B96CE4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/EnZot_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B96D4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B96BEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B96DF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B96CE4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B96E5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B96D4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B96FB0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B96DF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B97100.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B96E5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B97110.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B96FB0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B97194.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B97100.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B97240.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B97110.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B972E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B97194.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B973BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B97240.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B975F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B972E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B9765C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B973BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B97708.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B975F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B9787C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B9765C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B979DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B97708.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B97A44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B9787C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B97B5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B979DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B97BF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B97A44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B97C40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B97B5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B97CC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B97BF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B97D6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B97C40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B97E0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B97CC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B97E4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B97D6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B97FD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B97E0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B980FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B97E4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B98178.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B97FD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B98348.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B980FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B9849C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B98178.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B9854C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B98348.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B985EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B9849C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B98728.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B9854C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B98998.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B985EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B98A4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B98728.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B98AD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B98998.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B98BF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B98A4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B98CA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B98AD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B98E10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B98BF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B98F30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B98CA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B98F94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B98E10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B990A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B98F30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B99160.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B98F94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B991E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B990A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B992C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B99160.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B99384.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B991E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/EnZot_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B992C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B99580.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B99384.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B995A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/EnZot_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/func_80B99758.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B99580.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zot_0x80B965D0/EnZot_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B995A4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/func_80B99758.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zot/EnZot_Draw.s") diff --git a/src/overlays/actors/ovl_En_Zot/z_en_zot.h b/src/overlays/actors/ovl_En_Zot/z_en_zot.h index d09cb0d66f..4299014781 100644 --- a/src/overlays/actors/ovl_En_Zot/z_en_zot.h +++ b/src/overlays/actors/ovl_En_Zot/z_en_zot.h @@ -1,13 +1,16 @@ #ifndef Z_EN_ZOT_H #define Z_EN_ZOT_H -#include +#include "global.h" struct EnZot; +typedef void (*EnZotActionFunc)(struct EnZot* this, GlobalContext* globalCtx); + typedef struct EnZot { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x1B8]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x1B4]; + /* 0x02F8 */ EnZotActionFunc actionFunc; } EnZot; // size = 0x2FC extern const ActorInit En_Zot_InitVars; diff --git a/src/overlays/actors/ovl_En_Zov/z_en_zov.c b/src/overlays/actors/ovl_En_Zov/z_en_zov.c index 045c053217..e4d6a51ed9 100644 --- a/src/overlays/actors/ovl_En_Zov/z_en_zov.c +++ b/src/overlays/actors/ovl_En_Zov/z_en_zov.c @@ -9,6 +9,15 @@ void EnZov_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnZov_Update(Actor* thisx, GlobalContext* globalCtx); void EnZov_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80BD187C(EnZov* this, GlobalContext* globalCtx); +void func_80BD19FC(EnZov* this, GlobalContext* globalCtx); +void func_80BD1BF0(EnZov* this, GlobalContext* globalCtx); +void func_80BD1C38(EnZov* this, GlobalContext* globalCtx); +void func_80BD1C84(EnZov* this, GlobalContext* globalCtx); +void func_80BD1D94(EnZov* this, GlobalContext* globalCtx); +void func_80BD1DB8(EnZov* this, GlobalContext* globalCtx); +void func_80BD1F1C(EnZov* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Zov_InitVars = { ACTOR_EN_ZOV, @@ -22,7 +31,6 @@ const ActorInit En_Zov_InitVars = { (ActorFunc)EnZov_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80BD26E0 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_ENEMY, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,54 +38,56 @@ static ColliderCylinderInit D_80BD26E0 = { { 20, 40, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80BD26E0; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zov_0x80BD11E0/EnZov_Init.asm") +extern ColliderCylinderInit D_80BD26E0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zov_0x80BD11E0/EnZov_Destroy.asm") +extern UNK_TYPE D_0600D3EC; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zov_0x80BD11E0/func_80BD13DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zov/EnZov_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zov_0x80BD11E0/func_80BD1440.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zov/EnZov_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zov_0x80BD11E0/func_80BD1470.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zov/func_80BD13DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zov_0x80BD11E0/func_80BD1570.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zov/func_80BD1440.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zov_0x80BD11E0/func_80BD15A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zov/func_80BD1470.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zov_0x80BD11E0/func_80BD160C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zov/func_80BD1570.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zov_0x80BD11E0/func_80BD1764.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zov/func_80BD15A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zov_0x80BD11E0/func_80BD187C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zov/func_80BD160C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zov_0x80BD11E0/func_80BD19FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zov/func_80BD1764.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zov_0x80BD11E0/func_80BD1AE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zov/func_80BD187C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zov_0x80BD11E0/func_80BD1BF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zov/func_80BD19FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zov_0x80BD11E0/func_80BD1C38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zov/func_80BD1AE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zov_0x80BD11E0/func_80BD1C84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zov/func_80BD1BF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zov_0x80BD11E0/func_80BD1D30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zov/func_80BD1C38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zov_0x80BD11E0/func_80BD1D94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zov/func_80BD1C84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zov_0x80BD11E0/func_80BD1DB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zov/func_80BD1D30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zov_0x80BD11E0/func_80BD1F1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zov/func_80BD1D94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zov_0x80BD11E0/func_80BD1FC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zov/func_80BD1DB8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zov_0x80BD11E0/EnZov_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zov/func_80BD1F1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zov_0x80BD11E0/func_80BD2380.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zov/func_80BD1FC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zov_0x80BD11E0/func_80BD2404.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zov/EnZov_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zov_0x80BD11E0/EnZov_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zov/func_80BD2380.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zov/func_80BD2404.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zov/EnZov_Draw.s") diff --git a/src/overlays/actors/ovl_En_Zov/z_en_zov.h b/src/overlays/actors/ovl_En_Zov/z_en_zov.h index 9d0ad33185..45c0b08f88 100644 --- a/src/overlays/actors/ovl_En_Zov/z_en_zov.h +++ b/src/overlays/actors/ovl_En_Zov/z_en_zov.h @@ -1,13 +1,16 @@ #ifndef Z_EN_ZOV_H #define Z_EN_ZOV_H -#include +#include "global.h" struct EnZov; +typedef void (*EnZovActionFunc)(struct EnZov* this, GlobalContext* globalCtx); + typedef struct EnZov { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x1F0]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x1EC]; + /* 0x0330 */ EnZovActionFunc actionFunc; } EnZov; // size = 0x334 extern const ActorInit En_Zov_InitVars; diff --git a/src/overlays/actors/ovl_En_Zow/z_en_zow.c b/src/overlays/actors/ovl_En_Zow/z_en_zow.c index 8d1c3c8752..9fd768879a 100644 --- a/src/overlays/actors/ovl_En_Zow/z_en_zow.c +++ b/src/overlays/actors/ovl_En_Zow/z_en_zow.c @@ -9,6 +9,12 @@ void EnZow_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnZow_Update(Actor* thisx, GlobalContext* globalCtx); void EnZow_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80BDD350(EnZow* this, GlobalContext* globalCtx); +void func_80BDD570(EnZow* this, GlobalContext* globalCtx); +void func_80BDD634(EnZow* this, GlobalContext* globalCtx); +void func_80BDD6BC(EnZow* this, GlobalContext* globalCtx); +void func_80BDD79C(EnZow* this, GlobalContext* globalCtx); + #if 0 const ActorInit En_Zow_InitVars = { ACTOR_EN_ZOW, @@ -22,7 +28,6 @@ const ActorInit En_Zow_InitVars = { (ActorFunc)EnZow_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80BDDCF0 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_ENEMY, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,60 +35,65 @@ static ColliderCylinderInit D_80BDDCF0 = { { 30, 40, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80BDDCF0; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zow_0x80BDC270/func_80BDC270.asm") +extern ColliderCylinderInit D_80BDDCF0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zow_0x80BDC270/func_80BDC2D8.asm") +extern UNK_TYPE D_06002A50; +extern UNK_TYPE D_06002C10; +extern UNK_TYPE D_06004248; +extern UNK_TYPE D_0600D288; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zow_0x80BDC270/func_80BDC3C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zow/func_80BDC270.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zow_0x80BDC270/func_80BDC50C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zow/func_80BDC2D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zow_0x80BDC270/func_80BDC5C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zow/func_80BDC3C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zow_0x80BDC270/func_80BDC6F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zow/func_80BDC50C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zow_0x80BDC270/func_80BDC830.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zow/func_80BDC5C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zow_0x80BDC270/func_80BDC9DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zow/func_80BDC6F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zow_0x80BDC270/func_80BDCB84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zow/func_80BDC830.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zow_0x80BDC270/func_80BDCD38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zow/func_80BDC9DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zow_0x80BDC270/func_80BDCDA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zow/func_80BDCB84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zow_0x80BDC270/EnZow_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zow/func_80BDCD38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zow_0x80BDC270/EnZow_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zow/func_80BDCDA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zow_0x80BDC270/func_80BDD04C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zow/EnZow_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zow_0x80BDC270/func_80BDD154.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zow/EnZow_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zow_0x80BDC270/func_80BDD1E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zow/func_80BDD04C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zow_0x80BDC270/func_80BDD350.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zow/func_80BDD154.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zow_0x80BDC270/func_80BDD490.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zow/func_80BDD1E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zow_0x80BDC270/func_80BDD570.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zow/func_80BDD350.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zow_0x80BDC270/func_80BDD634.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zow/func_80BDD490.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zow_0x80BDC270/func_80BDD6BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zow/func_80BDD570.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zow_0x80BDC270/func_80BDD79C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zow/func_80BDD634.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zow_0x80BDC270/EnZow_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zow/func_80BDD6BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zow_0x80BDC270/func_80BDDA7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zow/func_80BDD79C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zow_0x80BDC270/func_80BDDAA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zow/EnZow_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zow_0x80BDC270/func_80BDDAE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zow/func_80BDDA7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_En_Zow_0x80BDC270/EnZow_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zow/func_80BDDAA0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zow/func_80BDDAE0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Zow/EnZow_Draw.s") diff --git a/src/overlays/actors/ovl_En_Zow/z_en_zow.h b/src/overlays/actors/ovl_En_Zow/z_en_zow.h index e2b8bbe6ae..b74f855e3d 100644 --- a/src/overlays/actors/ovl_En_Zow/z_en_zow.h +++ b/src/overlays/actors/ovl_En_Zow/z_en_zow.h @@ -1,13 +1,16 @@ #ifndef Z_EN_ZOW_H #define Z_EN_ZOW_H -#include +#include "global.h" struct EnZow; +typedef void (*EnZowActionFunc)(struct EnZow* this, GlobalContext* globalCtx); + typedef struct EnZow { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x4D8]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x4D4]; + /* 0x0618 */ EnZowActionFunc actionFunc; } EnZow; // size = 0x61C extern const ActorInit En_Zow_InitVars; diff --git a/src/overlays/actors/ovl_Item_B_Heart/z_item_b_heart.h b/src/overlays/actors/ovl_Item_B_Heart/z_item_b_heart.h index dbb7be93e4..ccf7b43bdc 100644 --- a/src/overlays/actors/ovl_Item_B_Heart/z_item_b_heart.h +++ b/src/overlays/actors/ovl_Item_B_Heart/z_item_b_heart.h @@ -1,7 +1,7 @@ #ifndef Z_ITEM_B_HEART_H #define Z_ITEM_B_HEART_H -#include +#include "global.h" struct ItemBHeart; diff --git a/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.c b/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.c index 26788d0840..66a68363a7 100644 --- a/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.c +++ b/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.c @@ -8,6 +8,10 @@ void ItemEtcetera_Init(Actor* thisx, GlobalContext* globalCtx); void ItemEtcetera_Destroy(Actor* thisx, GlobalContext* globalCtx); void ItemEtcetera_Update(Actor* thisx, GlobalContext* globalCtx); +void func_80920044(ItemEtcetera* this, GlobalContext* globalCtx); + +void ItemEtcetera_SetupAction(ItemEtcetera* this, ItemEtceteraActionFunc actionFunc); + #if 0 const ActorInit Item_Etcetera_InitVars = { ACTOR_ITEM_ETCETERA, @@ -23,20 +27,20 @@ const ActorInit Item_Etcetera_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Item_Etcetera_0x8091FEF0/func_8091FEF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Item_Etcetera/ItemEtcetera_SetupAction.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Item_Etcetera_0x8091FEF0/ItemEtcetera_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Item_Etcetera/ItemEtcetera_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Item_Etcetera_0x8091FEF0/ItemEtcetera_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Item_Etcetera/ItemEtcetera_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Item_Etcetera_0x8091FEF0/func_80920044.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Item_Etcetera/func_80920044.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Item_Etcetera_0x8091FEF0/func_8092009C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Item_Etcetera/func_8092009C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Item_Etcetera_0x8091FEF0/func_809200F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Item_Etcetera/func_809200F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Item_Etcetera_0x8091FEF0/ItemEtcetera_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Item_Etcetera/ItemEtcetera_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Item_Etcetera_0x8091FEF0/func_80920164.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Item_Etcetera/func_80920164.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Item_Etcetera_0x8091FEF0/func_809201BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Item_Etcetera/func_809201BC.s") diff --git a/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.h b/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.h index af726cb160..b0b9130a5b 100644 --- a/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.h +++ b/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.h @@ -1,13 +1,16 @@ #ifndef Z_ITEM_ETCETERA_H #define Z_ITEM_ETCETERA_H -#include +#include "global.h" struct ItemEtcetera; +typedef void (*ItemEtceteraActionFunc)(struct ItemEtcetera* this, GlobalContext* globalCtx); + typedef struct ItemEtcetera { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x14]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x10]; + /* 0x0154 */ ItemEtceteraActionFunc actionFunc; } ItemEtcetera; // size = 0x158 extern const ActorInit Item_Etcetera_InitVars; diff --git a/src/overlays/actors/ovl_Item_Inbox/z_item_inbox.h b/src/overlays/actors/ovl_Item_Inbox/z_item_inbox.h index 98f6b79ba5..b2e1abf609 100644 --- a/src/overlays/actors/ovl_Item_Inbox/z_item_inbox.h +++ b/src/overlays/actors/ovl_Item_Inbox/z_item_inbox.h @@ -1,7 +1,7 @@ #ifndef Z_ITEM_INBOX_H #define Z_ITEM_INBOX_H -#include +#include "global.h" struct ItemInbox; diff --git a/src/overlays/actors/ovl_Mir_Ray/z_mir_ray.c b/src/overlays/actors/ovl_Mir_Ray/z_mir_ray.c index 091e021750..b9aee5f764 100644 --- a/src/overlays/actors/ovl_Mir_Ray/z_mir_ray.c +++ b/src/overlays/actors/ovl_Mir_Ray/z_mir_ray.c @@ -22,7 +22,6 @@ const ActorInit Mir_Ray_InitVars = { (ActorFunc)MirRay_Draw, }; - // static ColliderQuadInit sQuadInit = { static ColliderQuadInit D_808E3BF4 = { { COLTYPE_NONE, AT_ON | AT_TYPE_PLAYER, AC_NONE, OC1_NONE, OC2_NONE, COLSHAPE_QUAD, }, @@ -30,7 +29,6 @@ static ColliderQuadInit D_808E3BF4 = { { { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } } }, }; - // static ColliderJntSphElementInit sJntSphElementsInit[1] = { static ColliderJntSphElementInit D_808E3C44[1] = { { @@ -45,7 +43,6 @@ static ColliderJntSphInit D_808E3C68 = { 1, D_808E3C44, // sJntSphElementsInit, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_808E3DB8[] = { ICHAIN_VEC3F_DIV1000(scale, 0, ICHAIN_CONTINUE), @@ -54,31 +51,35 @@ static InitChainEntry D_808E3DB8[] = { ICHAIN_F32(uncullZoneDownward, 1000, ICHAIN_STOP), }; +#endif extern ColliderQuadInit D_808E3BF4; extern ColliderJntSphElementInit D_808E3C44[1]; extern ColliderJntSphInit D_808E3C68; extern InitChainEntry D_808E3DB8[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Mir_Ray_0x808E2600/func_808E2600.asm") +extern UNK_TYPE D_060003F8; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Mir_Ray_0x808E2600/func_808E26C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Mir_Ray/D_808E3DD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Mir_Ray_0x808E2600/MirRay_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Mir_Ray/func_808E2600.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Mir_Ray_0x808E2600/MirRay_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Mir_Ray/func_808E26C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Mir_Ray_0x808E2600/MirRay_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Mir_Ray/MirRay_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Mir_Ray_0x808E2600/func_808E2C68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Mir_Ray/MirRay_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Mir_Ray_0x808E2600/func_808E2E1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Mir_Ray/MirRay_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Mir_Ray_0x808E2600/func_808E2FF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Mir_Ray/func_808E2C68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Mir_Ray_0x808E2600/func_808E30FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Mir_Ray/func_808E2E1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Mir_Ray_0x808E2600/MirRay_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Mir_Ray/func_808E2FF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Mir_Ray_0x808E2600/func_808E3984.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Mir_Ray/func_808E30FC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Mir_Ray/MirRay_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Mir_Ray/func_808E3984.s") diff --git a/src/overlays/actors/ovl_Mir_Ray/z_mir_ray.h b/src/overlays/actors/ovl_Mir_Ray/z_mir_ray.h index 07ecf5a108..c03b48c6b8 100644 --- a/src/overlays/actors/ovl_Mir_Ray/z_mir_ray.h +++ b/src/overlays/actors/ovl_Mir_Ray/z_mir_ray.h @@ -1,7 +1,7 @@ #ifndef Z_MIR_RAY_H #define Z_MIR_RAY_H -#include +#include "global.h" struct MirRay; diff --git a/src/overlays/actors/ovl_Mir_Ray2/z_mir_ray2.c b/src/overlays/actors/ovl_Mir_Ray2/z_mir_ray2.c index 84ae67a995..75517b3fd9 100644 --- a/src/overlays/actors/ovl_Mir_Ray2/z_mir_ray2.c +++ b/src/overlays/actors/ovl_Mir_Ray2/z_mir_ray2.c @@ -22,7 +22,6 @@ const ActorInit Mir_Ray2_InitVars = { (ActorFunc)MirRay2_Draw, }; - // static ColliderJntSphElementInit sJntSphElementsInit[1] = { static ColliderJntSphElementInit D_80AF4350[1] = { { @@ -37,19 +36,19 @@ static ColliderJntSphInit D_80AF4374 = { 1, D_80AF4350, // sJntSphElementsInit, }; +#endif extern ColliderJntSphElementInit D_80AF4350[1]; extern ColliderJntSphInit D_80AF4374; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Mir_Ray2_0x80AF3F70/func_80AF3F70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Mir_Ray2/func_80AF3F70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Mir_Ray2_0x80AF3F70/func_80AF3FE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Mir_Ray2/func_80AF3FE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Mir_Ray2_0x80AF3F70/MirRay2_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Mir_Ray2/MirRay2_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Mir_Ray2_0x80AF3F70/MirRay2_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Mir_Ray2/MirRay2_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Mir_Ray2_0x80AF3F70/MirRay2_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Mir_Ray2/MirRay2_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Mir_Ray2_0x80AF3F70/MirRay2_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Mir_Ray2/MirRay2_Draw.s") diff --git a/src/overlays/actors/ovl_Mir_Ray2/z_mir_ray2.h b/src/overlays/actors/ovl_Mir_Ray2/z_mir_ray2.h index 20ca8d8aa9..26f478ea3f 100644 --- a/src/overlays/actors/ovl_Mir_Ray2/z_mir_ray2.h +++ b/src/overlays/actors/ovl_Mir_Ray2/z_mir_ray2.h @@ -1,7 +1,7 @@ #ifndef Z_MIR_RAY2_H #define Z_MIR_RAY2_H -#include +#include "global.h" struct MirRay2; diff --git a/src/overlays/actors/ovl_Mir_Ray3/z_mir_ray3.c b/src/overlays/actors/ovl_Mir_Ray3/z_mir_ray3.c index a754ff05ee..35978d4c20 100644 --- a/src/overlays/actors/ovl_Mir_Ray3/z_mir_ray3.c +++ b/src/overlays/actors/ovl_Mir_Ray3/z_mir_ray3.c @@ -22,7 +22,6 @@ const ActorInit Mir_Ray3_InitVars = { (ActorFunc)MirRay3_Draw, }; - // static ColliderQuadInit sQuadInit = { static ColliderQuadInit D_80B9F420 = { { COLTYPE_NONE, AT_ON | AT_TYPE_PLAYER, AC_NONE, OC1_NONE, OC2_NONE, COLSHAPE_QUAD, }, @@ -30,7 +29,6 @@ static ColliderQuadInit D_80B9F420 = { { { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } } }, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80B9F470 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER | AC_TYPE_OTHER, OC1_NONE, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -38,23 +36,25 @@ static ColliderCylinderInit D_80B9F470 = { { 10, 10, 0, { 0, 0, 0 } }, }; +#endif extern ColliderQuadInit D_80B9F420; extern ColliderCylinderInit D_80B9F470; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Mir_Ray3_0x80B9E2C0/MirRay3_Init.asm") +extern UNK_TYPE D_060003F8; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Mir_Ray3_0x80B9E2C0/MirRay3_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Mir_Ray3/MirRay3_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Mir_Ray3_0x80B9E2C0/MirRay3_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Mir_Ray3/MirRay3_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Mir_Ray3_0x80B9E2C0/func_80B9E544.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Mir_Ray3/MirRay3_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Mir_Ray3_0x80B9E2C0/func_80B9E5F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Mir_Ray3/func_80B9E544.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Mir_Ray3_0x80B9E2C0/func_80B9E7D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Mir_Ray3/func_80B9E5F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Mir_Ray3_0x80B9E2C0/func_80B9E8D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Mir_Ray3/func_80B9E7D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Mir_Ray3_0x80B9E2C0/MirRay3_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Mir_Ray3/func_80B9E8D4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Mir_Ray3/MirRay3_Draw.s") diff --git a/src/overlays/actors/ovl_Mir_Ray3/z_mir_ray3.h b/src/overlays/actors/ovl_Mir_Ray3/z_mir_ray3.h index cad3ff3d7b..18510673d3 100644 --- a/src/overlays/actors/ovl_Mir_Ray3/z_mir_ray3.h +++ b/src/overlays/actors/ovl_Mir_Ray3/z_mir_ray3.h @@ -1,7 +1,7 @@ #ifndef Z_MIR_RAY3_H #define Z_MIR_RAY3_H -#include +#include "global.h" struct MirRay3; diff --git a/src/overlays/actors/ovl_Obj_Aqua/z_obj_aqua.c b/src/overlays/actors/ovl_Obj_Aqua/z_obj_aqua.c index 25008c8252..f0ea044c87 100644 --- a/src/overlays/actors/ovl_Obj_Aqua/z_obj_aqua.c +++ b/src/overlays/actors/ovl_Obj_Aqua/z_obj_aqua.c @@ -9,6 +9,10 @@ void ObjAqua_Destroy(Actor* thisx, GlobalContext* globalCtx); void ObjAqua_Update(Actor* thisx, GlobalContext* globalCtx); void ObjAqua_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80ACBC8C(ObjAqua* this, GlobalContext* globalCtx); +void func_80ACBD48(ObjAqua* this, GlobalContext* globalCtx); +void func_80ACBDFC(ObjAqua* this, GlobalContext* globalCtx); + #if 0 const ActorInit Obj_Aqua_InitVars = { ACTOR_OBJ_AQUA, @@ -22,7 +26,6 @@ const ActorInit Obj_Aqua_InitVars = { (ActorFunc)ObjAqua_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80ACC2C0 = { { COLTYPE_NONE, AT_ON | AT_TYPE_OTHER, AC_NONE, OC1_NONE, OC2_NONE, COLSHAPE_CYLINDER, }, @@ -30,7 +33,6 @@ static ColliderCylinderInit D_80ACC2C0 = { { 6, 10, 0, { 0, 0, 0 } }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80ACC2EC[] = { ICHAIN_VEC3S(shape.rot, 0, ICHAIN_CONTINUE), @@ -42,37 +44,37 @@ static InitChainEntry D_80ACC2EC[] = { ICHAIN_F32(uncullZoneDownward, 300, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80ACC2C0; extern InitChainEntry D_80ACC2EC[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Aqua_0x80ACB6A0/func_80ACB6A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Aqua/func_80ACB6A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Aqua_0x80ACB6A0/func_80ACB7F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Aqua/func_80ACB7F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Aqua_0x80ACB6A0/func_80ACB940.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Aqua/func_80ACB940.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Aqua_0x80ACB6A0/func_80ACBA10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Aqua/func_80ACBA10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Aqua_0x80ACB6A0/func_80ACBA60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Aqua/func_80ACBA60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Aqua_0x80ACB6A0/ObjAqua_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Aqua/ObjAqua_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Aqua_0x80ACB6A0/ObjAqua_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Aqua/ObjAqua_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Aqua_0x80ACB6A0/func_80ACBC70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Aqua/func_80ACBC70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Aqua_0x80ACB6A0/func_80ACBC8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Aqua/func_80ACBC8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Aqua_0x80ACB6A0/func_80ACBD34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Aqua/func_80ACBD34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Aqua_0x80ACB6A0/func_80ACBD48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Aqua/func_80ACBD48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Aqua_0x80ACB6A0/func_80ACBDCC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Aqua/func_80ACBDCC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Aqua_0x80ACB6A0/func_80ACBDFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Aqua/func_80ACBDFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Aqua_0x80ACB6A0/ObjAqua_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Aqua/ObjAqua_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Aqua_0x80ACB6A0/ObjAqua_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Aqua/ObjAqua_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Aqua/z_obj_aqua.h b/src/overlays/actors/ovl_Obj_Aqua/z_obj_aqua.h index 8909e70b81..c0559f8d45 100644 --- a/src/overlays/actors/ovl_Obj_Aqua/z_obj_aqua.h +++ b/src/overlays/actors/ovl_Obj_Aqua/z_obj_aqua.h @@ -1,13 +1,17 @@ #ifndef Z_OBJ_AQUA_H #define Z_OBJ_AQUA_H -#include +#include "global.h" struct ObjAqua; +typedef void (*ObjAquaActionFunc)(struct ObjAqua* this, GlobalContext* globalCtx); + typedef struct ObjAqua { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x58]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x4C]; + /* 0x0190 */ ObjAquaActionFunc actionFunc; + /* 0x0194 */ char unk_194[0x8]; } ObjAqua; // size = 0x19C extern const ActorInit Obj_Aqua_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Armos/z_obj_armos.c b/src/overlays/actors/ovl_Obj_Armos/z_obj_armos.c index 140d93a942..e678d6f27f 100644 --- a/src/overlays/actors/ovl_Obj_Armos/z_obj_armos.c +++ b/src/overlays/actors/ovl_Obj_Armos/z_obj_armos.c @@ -9,6 +9,10 @@ void ObjArmos_Destroy(Actor* thisx, GlobalContext* globalCtx); void ObjArmos_Update(Actor* thisx, GlobalContext* globalCtx); void ObjArmos_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_809A54E0(ObjArmos* this, GlobalContext* globalCtx); +void func_809A562C(ObjArmos* this, GlobalContext* globalCtx); +void func_809A57F4(ObjArmos* this, GlobalContext* globalCtx); + #if 0 const ActorInit Obj_Armos_InitVars = { ACTOR_OBJ_ARMOS, @@ -22,7 +26,6 @@ const ActorInit Obj_Armos_InitVars = { (ActorFunc)ObjArmos_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_809A5BC0[] = { ICHAIN_F32(uncullZoneForward, 4000, ICHAIN_CONTINUE), @@ -32,40 +35,42 @@ static InitChainEntry D_809A5BC0[] = { ICHAIN_VEC3F_DIV1000(scale, 10, ICHAIN_STOP), }; - -extern InitChainEntry D_809A5BC0[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Armos_0x809A4E00/func_809A4E00.asm") +extern InitChainEntry D_809A5BC0[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Armos_0x809A4E00/func_809A4E68.asm") +extern UNK_TYPE D_0600033C; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Armos_0x809A4E00/func_809A4F00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Armos/func_809A4E00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Armos_0x809A4E00/func_809A500C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Armos/func_809A4E68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Armos_0x809A4E00/func_809A518C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Armos/func_809A4F00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Armos_0x809A4E00/ObjArmos_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Armos/func_809A500C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Armos_0x809A4E00/ObjArmos_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Armos/func_809A518C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Armos_0x809A4E00/func_809A54B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Armos/ObjArmos_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Armos_0x809A4E00/func_809A54E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Armos/ObjArmos_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Armos_0x809A4E00/func_809A5610.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Armos/func_809A54B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Armos_0x809A4E00/func_809A562C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Armos/func_809A54E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Armos_0x809A4E00/func_809A57D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Armos/func_809A5610.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Armos_0x809A4E00/func_809A57F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Armos/func_809A562C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Armos_0x809A4E00/ObjArmos_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Armos/func_809A57D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Armos_0x809A4E00/func_809A5960.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Armos/func_809A57F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Armos_0x809A4E00/func_809A5A3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Armos/ObjArmos_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Armos_0x809A4E00/ObjArmos_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Armos/func_809A5960.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Armos/func_809A5A3C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Armos/ObjArmos_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Armos/z_obj_armos.h b/src/overlays/actors/ovl_Obj_Armos/z_obj_armos.h index 4b4b02fc21..f0aa303398 100644 --- a/src/overlays/actors/ovl_Obj_Armos/z_obj_armos.h +++ b/src/overlays/actors/ovl_Obj_Armos/z_obj_armos.h @@ -1,13 +1,17 @@ #ifndef Z_OBJ_ARMOS_H #define Z_OBJ_ARMOS_H -#include +#include "global.h" struct ObjArmos; +typedef void (*ObjArmosActionFunc)(struct ObjArmos* this, GlobalContext* globalCtx); + typedef struct ObjArmos { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x130]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x104]; + /* 0x0248 */ ObjArmosActionFunc actionFunc; + /* 0x024C */ char unk_24C[0x28]; } ObjArmos; // size = 0x274 extern const ActorInit Obj_Armos_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Bean/z_obj_bean.c b/src/overlays/actors/ovl_Obj_Bean/z_obj_bean.c index a441457ddc..b261af7ed6 100644 --- a/src/overlays/actors/ovl_Obj_Bean/z_obj_bean.c +++ b/src/overlays/actors/ovl_Obj_Bean/z_obj_bean.c @@ -21,7 +21,6 @@ const ActorInit Obj_Bean_InitVars = { (ActorFunc)NULL, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80938FA0 = { { COLTYPE_NONE, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_PLAYER, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -29,7 +28,6 @@ static ColliderCylinderInit D_80938FA0 = { { 64, 30, -31, { 0, 0, 0 } }, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80938FCC = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_OTHER, OC1_NONE, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -37,7 +35,6 @@ static ColliderCylinderInit D_80938FCC = { { 10, 10, 0, { 0, 0, 0 } }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_8093902C[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_CONTINUE), @@ -46,134 +43,138 @@ static InitChainEntry D_8093902C[] = { ICHAIN_F32(uncullZoneDownward, 200, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80938FA0; extern ColliderCylinderInit D_80938FCC; extern InitChainEntry D_8093902C[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_80936CF0.asm") +extern UNK_TYPE D_06000090; +extern UNK_TYPE D_060004BC; +extern UNK_TYPE D_06002208; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_80936D58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_80936CF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_80936F04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_80936D58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_80936F24.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_80936F04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_80937130.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_80936F24.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_80937160.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_80937130.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_80937238.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_80937160.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_80937268.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_80937238.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_809372A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_80937268.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_809372D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_809372A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_80937468.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_809372D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_809374F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_80937468.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_809375C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_809374F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_809375F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_809375C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/ObjBean_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_809375F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/ObjBean_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/ObjBean_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_80937B54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/ObjBean_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_80937C10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_80937B54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_80937C24.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_80937C10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_80937C30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_80937C24.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_80937CA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_80937C30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_80937CE4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_80937CA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_80937D54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_80937CE4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_80937DD8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_80937D54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_80937DEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_80937DD8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_80937FB0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_80937DEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_80937FC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_80937FB0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_809381B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_80937FC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_809381C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_809381B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_80938284.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_809381C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_80938298.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_80938284.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_8093833C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_80938298.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_80938358.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_8093833C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_809383B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_80938358.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_809383D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_809383B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_80938408.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_809383D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_80938444.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_80938408.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_809384E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_80938444.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_80938504.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_809384E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_80938588.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_80938504.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_809385A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_80938588.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_80938670.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_809385A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_8093868C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_80938670.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_80938704.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_8093868C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_80938728.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_80938704.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_8093876C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_80938728.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_80938780.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_8093876C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_80938804.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_80938780.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_80938834.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_80938804.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_80938874.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_80938834.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_809388A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_80938874.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_8093892C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_809388A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_80938958.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_8093892C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_80938998.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_80938958.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_809389BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_80938998.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_80938A14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_809389BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_80938A5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_80938A14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_80938AA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_80938A5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_80938AD8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_80938AA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_80938C1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_80938AD8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/ObjBean_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_80938C1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_80938E00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/ObjBean_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bean_0x80936CF0/func_80938F50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_80938E00.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bean/func_80938F50.s") diff --git a/src/overlays/actors/ovl_Obj_Bean/z_obj_bean.h b/src/overlays/actors/ovl_Obj_Bean/z_obj_bean.h index a220b24965..f78a0a7446 100644 --- a/src/overlays/actors/ovl_Obj_Bean/z_obj_bean.h +++ b/src/overlays/actors/ovl_Obj_Bean/z_obj_bean.h @@ -1,13 +1,17 @@ #ifndef Z_OBJ_BEAN_H #define Z_OBJ_BEAN_H -#include +#include "global.h" struct ObjBean; +typedef void (*ObjBeanActionFunc)(struct ObjBean* this, GlobalContext* globalCtx); + typedef struct ObjBean { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0xC0]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x18]; + /* 0x015C */ ObjBeanActionFunc actionFunc; + /* 0x0160 */ char unk_160[0xA4]; } ObjBean; // size = 0x204 extern const ActorInit Obj_Bean_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Bell/z_obj_bell.h b/src/overlays/actors/ovl_Obj_Bell/z_obj_bell.h index 9cdfcab42e..2f2dd7b132 100644 --- a/src/overlays/actors/ovl_Obj_Bell/z_obj_bell.h +++ b/src/overlays/actors/ovl_Obj_Bell/z_obj_bell.h @@ -1,7 +1,7 @@ #ifndef Z_OBJ_BELL_H #define Z_OBJ_BELL_H -#include +#include "global.h" struct ObjBell; diff --git a/src/overlays/actors/ovl_Obj_Bigicicle/z_obj_bigicicle.c b/src/overlays/actors/ovl_Obj_Bigicicle/z_obj_bigicicle.c index cf6e899e8f..c7d0abb140 100644 --- a/src/overlays/actors/ovl_Obj_Bigicicle/z_obj_bigicicle.c +++ b/src/overlays/actors/ovl_Obj_Bigicicle/z_obj_bigicicle.c @@ -9,6 +9,12 @@ void ObjBigicicle_Destroy(Actor* thisx, GlobalContext* globalCtx); void ObjBigicicle_Update(Actor* thisx, GlobalContext* globalCtx); void ObjBigicicle_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80AE8FD4(ObjBigicicle* this, GlobalContext* globalCtx); +void func_80AE9090(ObjBigicicle* this, GlobalContext* globalCtx); +void func_80AE9180(ObjBigicicle* this, GlobalContext* globalCtx); +void func_80AE9258(ObjBigicicle* this, GlobalContext* globalCtx); +void func_80AE939C(ObjBigicicle* this, GlobalContext* globalCtx); + #if 0 const ActorInit Obj_Bigicicle_InitVars = { ACTOR_OBJ_BIGICICLE, @@ -22,7 +28,6 @@ const ActorInit Obj_Bigicicle_InitVars = { (ActorFunc)ObjBigicicle_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80AE9820 = { { COLTYPE_HARD, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -30,7 +35,6 @@ static ColliderCylinderInit D_80AE9820 = { { 23, 68, -40, { 0, 0, 0 } }, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80AE984C = { { COLTYPE_HARD, AT_NONE, AC_ON | AC_HARD | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -38,35 +42,37 @@ static ColliderCylinderInit D_80AE984C = { { 31, 90, -150, { 0, 0, 0 } }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80AE9888[] = { ICHAIN_F32(gravity, -2, ICHAIN_CONTINUE), ICHAIN_F32(uncullZoneForward, 5600, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80AE9820; extern ColliderCylinderInit D_80AE984C; extern InitChainEntry D_80AE9888[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bigicicle_0x80AE8B70/ObjBigicicle_Init.asm") +extern UNK_TYPE D_060009B0; +extern UNK_TYPE D_060014F0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bigicicle_0x80AE8B70/ObjBigicicle_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bigicicle/ObjBigicicle_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bigicicle_0x80AE8B70/func_80AE8DE4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bigicicle/ObjBigicicle_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bigicicle_0x80AE8B70/func_80AE8FD4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bigicicle/func_80AE8DE4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bigicicle_0x80AE8B70/func_80AE9090.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bigicicle/func_80AE8FD4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bigicicle_0x80AE8B70/func_80AE9180.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bigicicle/func_80AE9090.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bigicicle_0x80AE8B70/func_80AE9258.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bigicicle/func_80AE9180.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bigicicle_0x80AE8B70/func_80AE939C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bigicicle/func_80AE9258.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bigicicle_0x80AE8B70/ObjBigicicle_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bigicicle/func_80AE939C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bigicicle_0x80AE8B70/ObjBigicicle_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bigicicle/ObjBigicicle_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bigicicle/ObjBigicicle_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Bigicicle/z_obj_bigicicle.h b/src/overlays/actors/ovl_Obj_Bigicicle/z_obj_bigicicle.h index 755ab2226c..8e89fa0305 100644 --- a/src/overlays/actors/ovl_Obj_Bigicicle/z_obj_bigicicle.h +++ b/src/overlays/actors/ovl_Obj_Bigicicle/z_obj_bigicicle.h @@ -1,13 +1,16 @@ #ifndef Z_OBJ_BIGICICLE_H #define Z_OBJ_BIGICICLE_H -#include +#include "global.h" struct ObjBigicicle; +typedef void (*ObjBigicicleActionFunc)(struct ObjBigicicle* this, GlobalContext* globalCtx); + typedef struct ObjBigicicle { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0xA0]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ ObjBigicicleActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x9C]; } ObjBigicicle; // size = 0x1E4 extern const ActorInit Obj_Bigicicle_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Blockstop/z_obj_blockstop.c b/src/overlays/actors/ovl_Obj_Blockstop/z_obj_blockstop.c index 88797f6d9b..f5995d7180 100644 --- a/src/overlays/actors/ovl_Obj_Blockstop/z_obj_blockstop.c +++ b/src/overlays/actors/ovl_Obj_Blockstop/z_obj_blockstop.c @@ -7,6 +7,8 @@ void ObjBlockstop_Init(Actor* thisx, GlobalContext* globalCtx); void ObjBlockstop_Update(Actor* thisx, GlobalContext* globalCtx); +void func_809466F0(ObjBlockstop* this, GlobalContext* globalCtx); + #if 0 const ActorInit Obj_Blockstop_InitVars = { ACTOR_OBJ_BLOCKSTOP, @@ -22,10 +24,10 @@ const ActorInit Obj_Blockstop_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Blockstop_0x809466A0/ObjBlockstop_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Blockstop/ObjBlockstop_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Blockstop_0x809466A0/func_809466F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Blockstop/func_809466F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Blockstop_0x809466A0/func_809467E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Blockstop/func_809467E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Blockstop_0x809466A0/ObjBlockstop_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Blockstop/ObjBlockstop_Update.s") diff --git a/src/overlays/actors/ovl_Obj_Blockstop/z_obj_blockstop.h b/src/overlays/actors/ovl_Obj_Blockstop/z_obj_blockstop.h index f2e3998d18..5599855a06 100644 --- a/src/overlays/actors/ovl_Obj_Blockstop/z_obj_blockstop.h +++ b/src/overlays/actors/ovl_Obj_Blockstop/z_obj_blockstop.h @@ -1,13 +1,15 @@ #ifndef Z_OBJ_BLOCKSTOP_H #define Z_OBJ_BLOCKSTOP_H -#include +#include "global.h" struct ObjBlockstop; +typedef void (*ObjBlockstopActionFunc)(struct ObjBlockstop* this, GlobalContext* globalCtx); + typedef struct ObjBlockstop { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x4]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ ObjBlockstopActionFunc actionFunc; } ObjBlockstop; // size = 0x148 extern const ActorInit Obj_Blockstop_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Boat/z_obj_boat.c b/src/overlays/actors/ovl_Obj_Boat/z_obj_boat.c index eb842de4a5..70c6726289 100644 --- a/src/overlays/actors/ovl_Obj_Boat/z_obj_boat.c +++ b/src/overlays/actors/ovl_Obj_Boat/z_obj_boat.c @@ -22,7 +22,6 @@ const ActorInit Obj_Boat_InitVars = { (ActorFunc)ObjBoat_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80B9B680[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_CONTINUE), @@ -31,20 +30,23 @@ static InitChainEntry D_80B9B680[] = { ICHAIN_F32(uncullZoneDownward, 1000, ICHAIN_STOP), }; - -extern InitChainEntry D_80B9B680[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Boat_0x80B9AF50/func_80B9AF50.asm") +extern InitChainEntry D_80B9B680[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Boat_0x80B9AF50/ObjBoat_Init.asm") +extern UNK_TYPE D_06007630; +extern UNK_TYPE D_06009A88; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Boat_0x80B9AF50/ObjBoat_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Boat/func_80B9AF50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Boat_0x80B9AF50/func_80B9B124.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Boat/ObjBoat_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Boat_0x80B9AF50/ObjBoat_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Boat/ObjBoat_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Boat_0x80B9AF50/func_80B9B428.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Boat/func_80B9B124.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Boat_0x80B9AF50/ObjBoat_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Boat/ObjBoat_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Boat/func_80B9B428.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Boat/ObjBoat_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Boat/z_obj_boat.h b/src/overlays/actors/ovl_Obj_Boat/z_obj_boat.h index e9f0525451..988dd6a2b4 100644 --- a/src/overlays/actors/ovl_Obj_Boat/z_obj_boat.h +++ b/src/overlays/actors/ovl_Obj_Boat/z_obj_boat.h @@ -1,7 +1,7 @@ #ifndef Z_OBJ_BOAT_H #define Z_OBJ_BOAT_H -#include +#include "global.h" struct ObjBoat; diff --git a/src/overlays/actors/ovl_Obj_Bombiwa/z_obj_bombiwa.c b/src/overlays/actors/ovl_Obj_Bombiwa/z_obj_bombiwa.c index 746086217a..ad40c5a757 100644 --- a/src/overlays/actors/ovl_Obj_Bombiwa/z_obj_bombiwa.c +++ b/src/overlays/actors/ovl_Obj_Bombiwa/z_obj_bombiwa.c @@ -8,6 +8,9 @@ void ObjBombiwa_Init(Actor* thisx, GlobalContext* globalCtx); void ObjBombiwa_Destroy(Actor* thisx, GlobalContext* globalCtx); void ObjBombiwa_Update(Actor* thisx, GlobalContext* globalCtx); +void func_80939EF4(ObjBombiwa* this, GlobalContext* globalCtx); +void func_8093A1F0(ObjBombiwa* this, GlobalContext* globalCtx); + #if 0 const ActorInit Obj_Bombiwa_InitVars = { ACTOR_OBJ_BOMBIWA, @@ -21,7 +24,6 @@ const ActorInit Obj_Bombiwa_InitVars = { (ActorFunc)NULL, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_8093A940 = { { COLTYPE_HARD, AT_NONE, AC_ON | AC_HARD | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -29,7 +31,6 @@ static ColliderCylinderInit D_8093A940 = { { 55, 70, 0, { 0, 0, 0 } }, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_8093A96C = { { COLTYPE_HARD, AT_NONE, AC_ON | AC_HARD | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -37,11 +38,9 @@ static ColliderCylinderInit D_8093A96C = { { 75, 130, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit D_8093A9B8 = { 0, 12, 60, MASS_IMMOVABLE }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_8093A9C0[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_CONTINUE), @@ -50,41 +49,45 @@ static InitChainEntry D_8093A9C0[] = { ICHAIN_F32(uncullZoneDownward, 500, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_8093A940; extern ColliderCylinderInit D_8093A96C; extern CollisionCheckInfoInit D_8093A9B8; extern InitChainEntry D_8093A9C0[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bombiwa_0x809393B0/func_809393B0.asm") +extern UNK_TYPE D_060009E0; +extern UNK_TYPE D_06004560; +extern UNK_TYPE D_06005990; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bombiwa_0x809393B0/func_80939470.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bombiwa/func_809393B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bombiwa_0x809393B0/func_8093951C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bombiwa/func_80939470.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bombiwa_0x809393B0/func_80939594.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bombiwa/func_8093951C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bombiwa_0x809393B0/ObjBombiwa_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bombiwa/func_80939594.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bombiwa_0x809393B0/ObjBombiwa_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bombiwa/ObjBombiwa_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bombiwa_0x809393B0/func_80939794.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bombiwa/ObjBombiwa_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bombiwa_0x809393B0/func_80939994.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bombiwa/func_80939794.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bombiwa_0x809393B0/func_80939C50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bombiwa/func_80939994.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bombiwa_0x809393B0/func_80939EE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bombiwa/func_80939C50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bombiwa_0x809393B0/func_80939EF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bombiwa/func_80939EE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bombiwa_0x809393B0/func_8093A080.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bombiwa/func_80939EF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bombiwa_0x809393B0/func_8093A1F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bombiwa/func_8093A080.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bombiwa_0x809393B0/ObjBombiwa_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bombiwa/func_8093A1F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bombiwa_0x809393B0/func_8093A418.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bombiwa/ObjBombiwa_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Bombiwa_0x809393B0/func_8093A608.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bombiwa/func_8093A418.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Bombiwa/func_8093A608.s") diff --git a/src/overlays/actors/ovl_Obj_Bombiwa/z_obj_bombiwa.h b/src/overlays/actors/ovl_Obj_Bombiwa/z_obj_bombiwa.h index 97a8a38f01..0ecf55ae32 100644 --- a/src/overlays/actors/ovl_Obj_Bombiwa/z_obj_bombiwa.h +++ b/src/overlays/actors/ovl_Obj_Bombiwa/z_obj_bombiwa.h @@ -1,13 +1,16 @@ #ifndef Z_OBJ_BOMBIWA_H #define Z_OBJ_BOMBIWA_H -#include +#include "global.h" struct ObjBombiwa; +typedef void (*ObjBombiwaActionFunc)(struct ObjBombiwa* this, GlobalContext* globalCtx); + typedef struct ObjBombiwa { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0xC4]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0xC0]; + /* 0x0204 */ ObjBombiwaActionFunc actionFunc; } ObjBombiwa; // size = 0x208 extern const ActorInit Obj_Bombiwa_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Boyo/z_obj_boyo.h b/src/overlays/actors/ovl_Obj_Boyo/z_obj_boyo.h index 4b97543166..e3104d7239 100644 --- a/src/overlays/actors/ovl_Obj_Boyo/z_obj_boyo.h +++ b/src/overlays/actors/ovl_Obj_Boyo/z_obj_boyo.h @@ -1,7 +1,7 @@ #ifndef Z_OBJ_BOYO_H #define Z_OBJ_BOYO_H -#include +#include "global.h" struct ObjBoyo; diff --git a/src/overlays/actors/ovl_Obj_Chan/z_obj_chan.c b/src/overlays/actors/ovl_Obj_Chan/z_obj_chan.c index 6a5b6ac0fd..45260a7b78 100644 --- a/src/overlays/actors/ovl_Obj_Chan/z_obj_chan.c +++ b/src/overlays/actors/ovl_Obj_Chan/z_obj_chan.c @@ -9,6 +9,9 @@ void ObjChan_Destroy(Actor* thisx, GlobalContext* globalCtx); void ObjChan_Update(Actor* thisx, GlobalContext* globalCtx); void ObjChan_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80BB9F24(ObjChan* this, GlobalContext* globalCtx); +void func_80BBA314(ObjChan* this, GlobalContext* globalCtx); + #if 0 const ActorInit Obj_Chan_InitVars = { ACTOR_OBJ_CHAN, @@ -22,7 +25,6 @@ const ActorInit Obj_Chan_InitVars = { (ActorFunc)ObjChan_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80BBAB30 = { { COLTYPE_HARD, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_NONE, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,39 +32,42 @@ static ColliderCylinderInit D_80BBAB30 = { { 48, 76, -60, { 0, 0, 0 } }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80BBAB5C[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80BBAB30; extern InitChainEntry D_80BBAB5C[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Chan_0x80BB98E0/ObjChan_Init.asm") +extern UNK_TYPE D_06000AF0; +extern UNK_TYPE D_06001960; +extern UNK_TYPE D_06002358; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Chan_0x80BB98E0/ObjChan_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Chan/ObjChan_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Chan_0x80BB98E0/func_80BB9A1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Chan/ObjChan_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Chan_0x80BB98E0/func_80BB9B40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Chan/func_80BB9A1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Chan_0x80BB98E0/func_80BB9C08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Chan/func_80BB9B40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Chan_0x80BB98E0/func_80BB9F24.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Chan/func_80BB9C08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Chan_0x80BB98E0/func_80BBA2FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Chan/func_80BB9F24.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Chan_0x80BB98E0/func_80BBA314.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Chan/func_80BBA2FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Chan_0x80BB98E0/func_80BBA488.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Chan/func_80BBA314.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Chan_0x80BB98E0/ObjChan_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Chan/func_80BBA488.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Chan_0x80BB98E0/ObjChan_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Chan/ObjChan_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Chan_0x80BB98E0/func_80BBA894.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Chan/ObjChan_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Chan_0x80BB98E0/func_80BBA930.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Chan/func_80BBA894.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Chan/func_80BBA930.s") diff --git a/src/overlays/actors/ovl_Obj_Chan/z_obj_chan.h b/src/overlays/actors/ovl_Obj_Chan/z_obj_chan.h index afc29a8993..db109b67ba 100644 --- a/src/overlays/actors/ovl_Obj_Chan/z_obj_chan.h +++ b/src/overlays/actors/ovl_Obj_Chan/z_obj_chan.h @@ -1,13 +1,16 @@ #ifndef Z_OBJ_CHAN_H #define Z_OBJ_CHAN_H -#include +#include "global.h" struct ObjChan; +typedef void (*ObjChanActionFunc)(struct ObjChan* this, GlobalContext* globalCtx); + typedef struct ObjChan { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0xA0]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ ObjChanActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x9C]; } ObjChan; // size = 0x1E4 extern const ActorInit Obj_Chan_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Chikuwa/z_obj_chikuwa.c b/src/overlays/actors/ovl_Obj_Chikuwa/z_obj_chikuwa.c index e166794c00..0208d59b70 100644 --- a/src/overlays/actors/ovl_Obj_Chikuwa/z_obj_chikuwa.c +++ b/src/overlays/actors/ovl_Obj_Chikuwa/z_obj_chikuwa.c @@ -22,7 +22,6 @@ const ActorInit Obj_Chikuwa_InitVars = { (ActorFunc)ObjChikuwa_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_809B1FC0[] = { ICHAIN_F32(uncullZoneForward, 4000, ICHAIN_CONTINUE), @@ -31,20 +30,23 @@ static InitChainEntry D_809B1FC0[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), }; - -extern InitChainEntry D_809B1FC0[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Chikuwa_0x809B1550/func_809B1550.asm") +extern InitChainEntry D_809B1FC0[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Chikuwa_0x809B1550/ObjChikuwa_Init.asm") +extern UNK_TYPE D_06000D10; +extern UNK_TYPE D_06000F00; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Chikuwa_0x809B1550/ObjChikuwa_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Chikuwa/func_809B1550.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Chikuwa_0x809B1550/func_809B17D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Chikuwa/ObjChikuwa_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Chikuwa_0x809B1550/func_809B1AA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Chikuwa/ObjChikuwa_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Chikuwa_0x809B1550/ObjChikuwa_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Chikuwa/func_809B17D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Chikuwa_0x809B1550/ObjChikuwa_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Chikuwa/func_809B1AA0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Chikuwa/ObjChikuwa_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Chikuwa/ObjChikuwa_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Chikuwa/z_obj_chikuwa.h b/src/overlays/actors/ovl_Obj_Chikuwa/z_obj_chikuwa.h index 6989d2b79a..1e869a220c 100644 --- a/src/overlays/actors/ovl_Obj_Chikuwa/z_obj_chikuwa.h +++ b/src/overlays/actors/ovl_Obj_Chikuwa/z_obj_chikuwa.h @@ -1,7 +1,7 @@ #ifndef Z_OBJ_CHIKUWA_H #define Z_OBJ_CHIKUWA_H -#include +#include "global.h" struct ObjChikuwa; diff --git a/src/overlays/actors/ovl_Obj_Comb/z_obj_comb.c b/src/overlays/actors/ovl_Obj_Comb/z_obj_comb.c index ec4336c99f..386915dee1 100644 --- a/src/overlays/actors/ovl_Obj_Comb/z_obj_comb.c +++ b/src/overlays/actors/ovl_Obj_Comb/z_obj_comb.c @@ -9,6 +9,10 @@ void ObjComb_Destroy(Actor* thisx, GlobalContext* globalCtx); void ObjComb_Update(Actor* thisx, GlobalContext* globalCtx); void ObjComb_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_8098DC60(ObjComb* this, GlobalContext* globalCtx); +void func_8098DEA0(ObjComb* this, GlobalContext* globalCtx); +void func_8098E0B8(ObjComb* this, GlobalContext* globalCtx); + #if 0 const ActorInit Obj_Comb_InitVars = { ACTOR_OBJ_COMB, @@ -22,7 +26,6 @@ const ActorInit Obj_Comb_InitVars = { (ActorFunc)ObjComb_Draw, }; - // static ColliderJntSphElementInit sJntSphElementsInit[1] = { static ColliderJntSphElementInit D_8098E440[1] = { { @@ -37,7 +40,6 @@ static ColliderJntSphInit D_8098E464 = { 1, D_8098E440, // sJntSphElementsInit, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_8098E474[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_CONTINUE), @@ -46,46 +48,49 @@ static InitChainEntry D_8098E474[] = { ICHAIN_F32(uncullZoneDownward, 100, ICHAIN_STOP), }; +#endif extern ColliderJntSphElementInit D_8098E440[1]; extern ColliderJntSphInit D_8098E464; extern InitChainEntry D_8098E474[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Comb_0x8098CE40/func_8098CE40.asm") +extern UNK_TYPE D_06000CB0; +extern UNK_TYPE D_06001040; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Comb_0x8098CE40/func_8098CEAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Comb/func_8098CE40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Comb_0x8098CE40/func_8098D19C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Comb/func_8098CEAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Comb_0x8098CE40/func_8098D47C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Comb/func_8098D19C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Comb_0x8098CE40/func_8098D6E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Comb/func_8098D47C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Comb_0x8098CE40/func_8098D870.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Comb/func_8098D6E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Comb_0x8098CE40/func_8098D8C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Comb/func_8098D870.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Comb_0x8098CE40/func_8098D99C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Comb/func_8098D8C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Comb_0x8098CE40/func_8098DA74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Comb/func_8098D99C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Comb_0x8098CE40/ObjComb_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Comb/func_8098DA74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Comb_0x8098CE40/ObjComb_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Comb/ObjComb_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Comb_0x8098CE40/func_8098DC44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Comb/ObjComb_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Comb_0x8098CE40/func_8098DC60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Comb/func_8098DC44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Comb_0x8098CE40/func_8098DE58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Comb/func_8098DC60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Comb_0x8098CE40/func_8098DEA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Comb/func_8098DE58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Comb_0x8098CE40/func_8098E098.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Comb/func_8098DEA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Comb_0x8098CE40/func_8098E0B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Comb/func_8098E098.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Comb_0x8098CE40/ObjComb_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Comb/func_8098E0B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Comb_0x8098CE40/ObjComb_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Comb/ObjComb_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Comb/ObjComb_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Comb/z_obj_comb.h b/src/overlays/actors/ovl_Obj_Comb/z_obj_comb.h index 5a1814bd7f..e2b78d9698 100644 --- a/src/overlays/actors/ovl_Obj_Comb/z_obj_comb.h +++ b/src/overlays/actors/ovl_Obj_Comb/z_obj_comb.h @@ -1,13 +1,16 @@ #ifndef Z_OBJ_COMB_H #define Z_OBJ_COMB_H -#include +#include "global.h" struct ObjComb; +typedef void (*ObjCombActionFunc)(struct ObjComb* this, GlobalContext* globalCtx); + typedef struct ObjComb { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x78]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ ObjCombActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x74]; } ObjComb; // size = 0x1BC extern const ActorInit Obj_Comb_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Danpeilift/z_obj_danpeilift.c b/src/overlays/actors/ovl_Obj_Danpeilift/z_obj_danpeilift.c index b94d0bb249..15c7d2b7c8 100644 --- a/src/overlays/actors/ovl_Obj_Danpeilift/z_obj_danpeilift.c +++ b/src/overlays/actors/ovl_Obj_Danpeilift/z_obj_danpeilift.c @@ -22,7 +22,6 @@ const ActorInit Obj_Danpeilift_InitVars = { (ActorFunc)ObjDanpeilift_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80C1B540[] = { ICHAIN_F32(uncullZoneForward, 4000, ICHAIN_CONTINUE), @@ -31,24 +30,27 @@ static InitChainEntry D_80C1B540[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), }; - -extern InitChainEntry D_80C1B540[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Danpeilift_0x80C1ADC0/func_80C1ADC0.asm") +extern InitChainEntry D_80C1B540[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Danpeilift_0x80C1ADC0/ObjDanpeilift_Init.asm") +extern UNK_TYPE D_06000180; +extern UNK_TYPE D_06000BA0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Danpeilift_0x80C1ADC0/ObjDanpeilift_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Danpeilift/func_80C1ADC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Danpeilift_0x80C1ADC0/func_80C1AF84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Danpeilift/ObjDanpeilift_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Danpeilift_0x80C1ADC0/func_80C1AF94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Danpeilift/ObjDanpeilift_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Danpeilift_0x80C1ADC0/func_80C1B210.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Danpeilift/func_80C1AF84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Danpeilift_0x80C1ADC0/func_80C1B26C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Danpeilift/func_80C1AF94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Danpeilift_0x80C1ADC0/ObjDanpeilift_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Danpeilift/func_80C1B210.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Danpeilift_0x80C1ADC0/ObjDanpeilift_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Danpeilift/func_80C1B26C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Danpeilift/ObjDanpeilift_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Danpeilift/ObjDanpeilift_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Danpeilift/z_obj_danpeilift.h b/src/overlays/actors/ovl_Obj_Danpeilift/z_obj_danpeilift.h index 50eddc61c2..fd1efa8de6 100644 --- a/src/overlays/actors/ovl_Obj_Danpeilift/z_obj_danpeilift.h +++ b/src/overlays/actors/ovl_Obj_Danpeilift/z_obj_danpeilift.h @@ -1,13 +1,17 @@ #ifndef Z_OBJ_DANPEILIFT_H #define Z_OBJ_DANPEILIFT_H -#include +#include "global.h" struct ObjDanpeilift; +typedef void (*ObjDanpeiliftActionFunc)(struct ObjDanpeilift* this, GlobalContext* globalCtx); + typedef struct ObjDanpeilift { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x48]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x18]; + /* 0x015C */ ObjDanpeiliftActionFunc actionFunc; + /* 0x0160 */ char unk_160[0x2C]; } ObjDanpeilift; // size = 0x18C extern const ActorInit Obj_Danpeilift_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Demo/z_obj_demo.c b/src/overlays/actors/ovl_Obj_Demo/z_obj_demo.c index beea11a985..8c5b70ec32 100644 --- a/src/overlays/actors/ovl_Obj_Demo/z_obj_demo.c +++ b/src/overlays/actors/ovl_Obj_Demo/z_obj_demo.c @@ -7,6 +7,9 @@ void ObjDemo_Init(Actor* thisx, GlobalContext* globalCtx); void ObjDemo_Update(Actor* thisx, GlobalContext* globalCtx); +void func_80983678(ObjDemo* this, GlobalContext* globalCtx); +void func_80983704(ObjDemo* this, GlobalContext* globalCtx); + #if 0 const ActorInit Obj_Demo_InitVars = { ACTOR_OBJ_DEMO, @@ -22,12 +25,12 @@ const ActorInit Obj_Demo_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Demo_0x80983520/ObjDemo_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Demo/ObjDemo_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Demo_0x80983520/func_80983634.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Demo/func_80983634.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Demo_0x80983520/func_80983678.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Demo/func_80983678.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Demo_0x80983520/func_80983704.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Demo/func_80983704.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Demo_0x80983520/ObjDemo_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Demo/ObjDemo_Update.s") diff --git a/src/overlays/actors/ovl_Obj_Demo/z_obj_demo.h b/src/overlays/actors/ovl_Obj_Demo/z_obj_demo.h index ceca7b5156..2c9d380dc4 100644 --- a/src/overlays/actors/ovl_Obj_Demo/z_obj_demo.h +++ b/src/overlays/actors/ovl_Obj_Demo/z_obj_demo.h @@ -1,13 +1,16 @@ #ifndef Z_OBJ_DEMO_H #define Z_OBJ_DEMO_H -#include +#include "global.h" struct ObjDemo; +typedef void (*ObjDemoActionFunc)(struct ObjDemo* this, GlobalContext* globalCtx); + typedef struct ObjDemo { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x10]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ ObjDemoActionFunc actionFunc; + /* 0x0148 */ char unk_144[0xC]; } ObjDemo; // size = 0x154 extern const ActorInit Obj_Demo_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Dhouse/z_obj_dhouse.c b/src/overlays/actors/ovl_Obj_Dhouse/z_obj_dhouse.c index 4b399f2759..42ef837c42 100644 --- a/src/overlays/actors/ovl_Obj_Dhouse/z_obj_dhouse.c +++ b/src/overlays/actors/ovl_Obj_Dhouse/z_obj_dhouse.c @@ -22,7 +22,6 @@ const ActorInit Obj_Dhouse_InitVars = { (ActorFunc)ObjDhouse_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80B13FB4[] = { ICHAIN_F32(uncullZoneForward, 8000, ICHAIN_CONTINUE), @@ -31,46 +30,50 @@ static InitChainEntry D_80B13FB4[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), }; - -extern InitChainEntry D_80B13FB4[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Dhouse_0x80B12980/ObjDhouse_Init.asm") +extern InitChainEntry D_80B13FB4[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Dhouse_0x80B12980/ObjDhouse_Destroy.asm") +extern UNK_TYPE D_06004928; +extern UNK_TYPE D_06005A78; +extern UNK_TYPE D_06008040; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Dhouse_0x80B12980/func_80B12A50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Dhouse/ObjDhouse_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Dhouse_0x80B12980/func_80B12A88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Dhouse/ObjDhouse_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Dhouse_0x80B12980/func_80B12B38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Dhouse/func_80B12A50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Dhouse_0x80B12980/func_80B12D78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Dhouse/func_80B12A88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Dhouse_0x80B12980/func_80B12E7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Dhouse/func_80B12B38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Dhouse_0x80B12980/func_80B13170.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Dhouse/func_80B12D78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Dhouse_0x80B12980/func_80B13474.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Dhouse/func_80B12E7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Dhouse_0x80B12980/func_80B13724.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Dhouse/func_80B13170.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Dhouse_0x80B12980/func_80B13908.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Dhouse/func_80B13474.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Dhouse_0x80B12980/func_80B1391C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Dhouse/func_80B13724.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Dhouse_0x80B12980/func_80B1392C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Dhouse/func_80B13908.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Dhouse_0x80B12980/func_80B13940.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Dhouse/func_80B1391C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Dhouse_0x80B12980/func_80B139D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Dhouse/func_80B1392C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Dhouse_0x80B12980/func_80B139F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Dhouse/func_80B13940.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Dhouse_0x80B12980/ObjDhouse_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Dhouse/func_80B139D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Dhouse_0x80B12980/ObjDhouse_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Dhouse/func_80B139F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Dhouse_0x80B12980/func_80B13C08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Dhouse/ObjDhouse_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Dhouse_0x80B12980/func_80B13E40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Dhouse/ObjDhouse_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Dhouse/func_80B13C08.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Dhouse/func_80B13E40.s") diff --git a/src/overlays/actors/ovl_Obj_Dhouse/z_obj_dhouse.h b/src/overlays/actors/ovl_Obj_Dhouse/z_obj_dhouse.h index 5bc89d69c8..d6a49588b7 100644 --- a/src/overlays/actors/ovl_Obj_Dhouse/z_obj_dhouse.h +++ b/src/overlays/actors/ovl_Obj_Dhouse/z_obj_dhouse.h @@ -1,13 +1,17 @@ #ifndef Z_OBJ_DHOUSE_H #define Z_OBJ_DHOUSE_H -#include +#include "global.h" struct ObjDhouse; +typedef void (*ObjDhouseActionFunc)(struct ObjDhouse* this, GlobalContext* globalCtx); + typedef struct ObjDhouse { /* 0x0000 */ Actor actor; - /* 0x0144 */ char unk_0144[0x1230]; + /* 0x0144 */ char unk_144[0x18]; + /* 0x015C */ ObjDhouseActionFunc actionFunc; + /* 0x0160 */ char unk_160[0x1214]; } ObjDhouse; // size = 0x1374 extern const ActorInit Obj_Dhouse_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Dinner/z_obj_dinner.h b/src/overlays/actors/ovl_Obj_Dinner/z_obj_dinner.h index 25d68c999d..8dc49ee483 100644 --- a/src/overlays/actors/ovl_Obj_Dinner/z_obj_dinner.h +++ b/src/overlays/actors/ovl_Obj_Dinner/z_obj_dinner.h @@ -1,7 +1,7 @@ #ifndef Z_OBJ_DINNER_H #define Z_OBJ_DINNER_H -#include +#include "global.h" struct ObjDinner; diff --git a/src/overlays/actors/ovl_Obj_Dora/z_obj_dora.c b/src/overlays/actors/ovl_Obj_Dora/z_obj_dora.c index 338a592741..6801488967 100644 --- a/src/overlays/actors/ovl_Obj_Dora/z_obj_dora.c +++ b/src/overlays/actors/ovl_Obj_Dora/z_obj_dora.c @@ -22,7 +22,6 @@ const ActorInit Obj_Dora_InitVars = { (ActorFunc)ObjDora_Draw, }; - // static ColliderTrisElementInit sTrisElementsInit[6] = { static ColliderTrisElementInit D_80B61310[6] = { { @@ -57,7 +56,6 @@ static ColliderTrisInit D_80B61478 = { 6, D_80B61310, // sTrisElementsInit, }; - // static DamageTable sDamageTable = { static DamageTable D_80B61488 = { /* Deku Nut */ DMG_ENTRY(0, 0x0), @@ -94,33 +92,34 @@ static DamageTable D_80B61488 = { /* Powder Keg */ DMG_ENTRY(0, 0x0), }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_80B614A8 = { 8, 0, 0, 0, MASS_HEAVY }; +#endif extern ColliderTrisElementInit D_80B61310[6]; extern ColliderTrisInit D_80B61478; extern DamageTable D_80B61488; extern CollisionCheckInfoInit2 D_80B614A8; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Dora_0x80B60AD0/ObjDora_Init.asm") +extern UNK_TYPE D_06004160; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Dora_0x80B60AD0/ObjDora_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Dora/ObjDora_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Dora_0x80B60AD0/func_80B60C9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Dora/ObjDora_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Dora_0x80B60AD0/func_80B60CB0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Dora/func_80B60C9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Dora_0x80B60AD0/func_80B60CC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Dora/func_80B60CB0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Dora_0x80B60AD0/func_80B60D34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Dora/func_80B60CC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Dora_0x80B60AD0/func_80B60E54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Dora/func_80B60D34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Dora_0x80B60AD0/func_80B60EE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Dora/func_80B60E54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Dora_0x80B60AD0/ObjDora_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Dora/func_80B60EE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Dora_0x80B60AD0/ObjDora_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Dora/ObjDora_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Dora/ObjDora_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Dora/z_obj_dora.h b/src/overlays/actors/ovl_Obj_Dora/z_obj_dora.h index d264e10b9a..51030620f1 100644 --- a/src/overlays/actors/ovl_Obj_Dora/z_obj_dora.h +++ b/src/overlays/actors/ovl_Obj_Dora/z_obj_dora.h @@ -1,13 +1,17 @@ #ifndef Z_OBJ_DORA_H #define Z_OBJ_DORA_H -#include +#include "global.h" struct ObjDora; +typedef void (*ObjDoraActionFunc)(struct ObjDora* this, GlobalContext* globalCtx); + typedef struct ObjDora { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x268]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x248]; + /* 0x038C */ ObjDoraActionFunc actionFunc; + /* 0x0390 */ char unk_390[0x1C]; } ObjDora; // size = 0x3AC extern const ActorInit Obj_Dora_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Dowsing/z_obj_dowsing.c b/src/overlays/actors/ovl_Obj_Dowsing/z_obj_dowsing.c index 8c8587bffb..96d817a70c 100644 --- a/src/overlays/actors/ovl_Obj_Dowsing/z_obj_dowsing.c +++ b/src/overlays/actors/ovl_Obj_Dowsing/z_obj_dowsing.c @@ -23,12 +23,12 @@ const ActorInit Obj_Dowsing_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Dowsing_0x80B23D50/func_80B23D50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Dowsing/func_80B23D50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Dowsing_0x80B23D50/func_80B23DD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Dowsing/func_80B23DD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Dowsing_0x80B23D50/ObjDowsing_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Dowsing/ObjDowsing_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Dowsing_0x80B23D50/ObjDowsing_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Dowsing/ObjDowsing_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Dowsing_0x80B23D50/ObjDowsing_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Dowsing/ObjDowsing_Update.s") diff --git a/src/overlays/actors/ovl_Obj_Dowsing/z_obj_dowsing.h b/src/overlays/actors/ovl_Obj_Dowsing/z_obj_dowsing.h index cb3fca8c63..5a2982cab7 100644 --- a/src/overlays/actors/ovl_Obj_Dowsing/z_obj_dowsing.h +++ b/src/overlays/actors/ovl_Obj_Dowsing/z_obj_dowsing.h @@ -1,7 +1,7 @@ #ifndef Z_OBJ_DOWSING_H #define Z_OBJ_DOWSING_H -#include +#include "global.h" struct ObjDowsing; diff --git a/src/overlays/actors/ovl_Obj_Driftice/z_obj_driftice.c b/src/overlays/actors/ovl_Obj_Driftice/z_obj_driftice.c index 699b20f51c..1f6dc10fe7 100644 --- a/src/overlays/actors/ovl_Obj_Driftice/z_obj_driftice.c +++ b/src/overlays/actors/ovl_Obj_Driftice/z_obj_driftice.c @@ -22,50 +22,52 @@ const ActorInit Obj_Driftice_InitVars = { (ActorFunc)ObjDriftice_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80A676F4[] = { ICHAIN_F32(uncullZoneForward, 4000, ICHAIN_STOP), }; - -extern InitChainEntry D_80A676F4[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Driftice_0x80A66570/func_80A66570.asm") +extern InitChainEntry D_80A676F4[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Driftice_0x80A66570/func_80A665AC.asm") +extern UNK_TYPE D_060016A0; +extern UNK_TYPE D_06001AA8; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Driftice_0x80A66570/func_80A665EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Driftice/func_80A66570.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Driftice_0x80A66570/func_80A667F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Driftice/func_80A665AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Driftice_0x80A66570/func_80A66930.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Driftice/func_80A665EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Driftice_0x80A66570/func_80A66C4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Driftice/func_80A667F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Driftice_0x80A66570/func_80A66E30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Driftice/func_80A66930.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Driftice_0x80A66570/ObjDriftice_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Driftice/func_80A66C4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Driftice_0x80A66570/ObjDriftice_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Driftice/func_80A66E30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Driftice_0x80A66570/func_80A671A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Driftice/ObjDriftice_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Driftice_0x80A66570/func_80A671BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Driftice/ObjDriftice_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Driftice_0x80A66570/func_80A671CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Driftice/func_80A671A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Driftice_0x80A66570/func_80A671E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Driftice/func_80A671BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Driftice_0x80A66570/func_80A6743C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Driftice/func_80A671CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Driftice_0x80A66570/func_80A67450.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Driftice/func_80A671E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Driftice_0x80A66570/func_80A674A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Driftice/func_80A6743C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Driftice_0x80A66570/func_80A674C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Driftice/func_80A67450.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Driftice_0x80A66570/ObjDriftice_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Driftice/func_80A674A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Driftice_0x80A66570/ObjDriftice_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Driftice/func_80A674C4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Driftice/ObjDriftice_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Driftice/ObjDriftice_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Driftice/z_obj_driftice.h b/src/overlays/actors/ovl_Obj_Driftice/z_obj_driftice.h index 705c0186db..98e9e0f924 100644 --- a/src/overlays/actors/ovl_Obj_Driftice/z_obj_driftice.h +++ b/src/overlays/actors/ovl_Obj_Driftice/z_obj_driftice.h @@ -1,13 +1,17 @@ #ifndef Z_OBJ_DRIFTICE_H #define Z_OBJ_DRIFTICE_H -#include +#include "global.h" struct ObjDriftice; +typedef void (*ObjDrifticeActionFunc)(struct ObjDriftice* this, GlobalContext* globalCtx); + typedef struct ObjDriftice { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x10C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x18]; + /* 0x015C */ ObjDrifticeActionFunc actionFunc; + /* 0x0160 */ char unk_160[0xF0]; } ObjDriftice; // size = 0x250 extern const ActorInit Obj_Driftice_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Ending/z_obj_ending.h b/src/overlays/actors/ovl_Obj_Ending/z_obj_ending.h index fa58607b3a..163134f364 100644 --- a/src/overlays/actors/ovl_Obj_Ending/z_obj_ending.h +++ b/src/overlays/actors/ovl_Obj_Ending/z_obj_ending.h @@ -1,7 +1,7 @@ #ifndef Z_OBJ_ENDING_H #define Z_OBJ_ENDING_H -#include +#include "global.h" struct ObjEnding; diff --git a/src/overlays/actors/ovl_Obj_Entotu/z_obj_entotu.c b/src/overlays/actors/ovl_Obj_Entotu/z_obj_entotu.c index 0bf094ef99..e34d5321c5 100644 --- a/src/overlays/actors/ovl_Obj_Entotu/z_obj_entotu.c +++ b/src/overlays/actors/ovl_Obj_Entotu/z_obj_entotu.c @@ -24,18 +24,21 @@ const ActorInit Obj_Entotu_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Entotu_0x80A34700/func_80A34700.asm") +extern UNK_TYPE D_06000158; +extern UNK_TYPE D_06001C00; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Entotu_0x80A34700/func_80A349C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Entotu/func_80A34700.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Entotu_0x80A34700/func_80A34A44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Entotu/func_80A349C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Entotu_0x80A34700/func_80A34B28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Entotu/func_80A34A44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Entotu_0x80A34700/ObjEntotu_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Entotu/func_80A34B28.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Entotu_0x80A34700/ObjEntotu_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Entotu/ObjEntotu_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Entotu_0x80A34700/ObjEntotu_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Entotu/ObjEntotu_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Entotu_0x80A34700/ObjEntotu_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Entotu/ObjEntotu_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Entotu/ObjEntotu_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Entotu/z_obj_entotu.h b/src/overlays/actors/ovl_Obj_Entotu/z_obj_entotu.h index 37f0e57605..5d0b3cedd2 100644 --- a/src/overlays/actors/ovl_Obj_Entotu/z_obj_entotu.h +++ b/src/overlays/actors/ovl_Obj_Entotu/z_obj_entotu.h @@ -1,7 +1,7 @@ #ifndef Z_OBJ_ENTOTU_H #define Z_OBJ_ENTOTU_H -#include +#include "global.h" struct ObjEntotu; diff --git a/src/overlays/actors/ovl_Obj_Etcetera/z_obj_etcetera.c b/src/overlays/actors/ovl_Obj_Etcetera/z_obj_etcetera.c index f320dae2ff..48e200ca15 100644 --- a/src/overlays/actors/ovl_Obj_Etcetera/z_obj_etcetera.c +++ b/src/overlays/actors/ovl_Obj_Etcetera/z_obj_etcetera.c @@ -8,6 +8,11 @@ void ObjEtcetera_Init(Actor* thisx, GlobalContext* globalCtx); void ObjEtcetera_Destroy(Actor* thisx, GlobalContext* globalCtx); void ObjEtcetera_Update(Actor* thisx, GlobalContext* globalCtx); +void func_80A7BF08(ObjEtcetera* this, GlobalContext* globalCtx); +void func_80A7C168(ObjEtcetera* this, GlobalContext* globalCtx); +void func_80A7C1F0(ObjEtcetera* this, GlobalContext* globalCtx); +void func_80A7C308(ObjEtcetera* this, GlobalContext* globalCtx); + #if 0 const ActorInit Obj_Etcetera_InitVars = { ACTOR_OBJ_ETCETERA, @@ -21,7 +26,6 @@ const ActorInit Obj_Etcetera_InitVars = { (ActorFunc)NULL, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80A7C790 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_NONE, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -29,28 +33,28 @@ static ColliderCylinderInit D_80A7C790 = { { 20, 14, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80A7C790; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Etcetera_0x80A7BC70/ObjEtcetera_Init.asm") +extern ColliderCylinderInit D_80A7C790; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Etcetera_0x80A7BC70/ObjEtcetera_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Etcetera/ObjEtcetera_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Etcetera_0x80A7BC70/func_80A7BDC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Etcetera/ObjEtcetera_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Etcetera_0x80A7BC70/func_80A7BE8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Etcetera/func_80A7BDC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Etcetera_0x80A7BC70/func_80A7BF08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Etcetera/func_80A7BE8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Etcetera_0x80A7BC70/func_80A7C168.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Etcetera/func_80A7BF08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Etcetera_0x80A7BC70/func_80A7C1F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Etcetera/func_80A7C168.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Etcetera_0x80A7BC70/func_80A7C308.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Etcetera/func_80A7C1F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Etcetera_0x80A7BC70/ObjEtcetera_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Etcetera/func_80A7C308.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Etcetera_0x80A7BC70/func_80A7C690.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Etcetera/ObjEtcetera_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Etcetera_0x80A7BC70/func_80A7C718.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Etcetera/func_80A7C690.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Etcetera/func_80A7C718.s") diff --git a/src/overlays/actors/ovl_Obj_Etcetera/z_obj_etcetera.h b/src/overlays/actors/ovl_Obj_Etcetera/z_obj_etcetera.h index 22229ac667..3023933754 100644 --- a/src/overlays/actors/ovl_Obj_Etcetera/z_obj_etcetera.h +++ b/src/overlays/actors/ovl_Obj_Etcetera/z_obj_etcetera.h @@ -1,13 +1,16 @@ #ifndef Z_OBJ_ETCETERA_H #define Z_OBJ_ETCETERA_H -#include +#include "global.h" struct ObjEtcetera; +typedef void (*ObjEtceteraActionFunc)(struct ObjEtcetera* this, GlobalContext* globalCtx); + typedef struct ObjEtcetera { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x140]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x13C]; + /* 0x0280 */ ObjEtceteraActionFunc actionFunc; } ObjEtcetera; // size = 0x284 extern const ActorInit Obj_Etcetera_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Fireshield/z_obj_fireshield.c b/src/overlays/actors/ovl_Obj_Fireshield/z_obj_fireshield.c index 5d1bd8a26e..04ff86bf94 100644 --- a/src/overlays/actors/ovl_Obj_Fireshield/z_obj_fireshield.c +++ b/src/overlays/actors/ovl_Obj_Fireshield/z_obj_fireshield.c @@ -9,6 +9,11 @@ void ObjFireshield_Destroy(Actor* thisx, GlobalContext* globalCtx); void ObjFireshield_Update(Actor* thisx, GlobalContext* globalCtx); void ObjFireshield_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80A4CABC(ObjFireshield* this, GlobalContext* globalCtx); +void func_80A4CB7C(ObjFireshield* this, GlobalContext* globalCtx); +void func_80A4CCBC(ObjFireshield* this, GlobalContext* globalCtx); +void func_80A4CD28(ObjFireshield* this, GlobalContext* globalCtx); + #if 0 const ActorInit Obj_Fireshield_InitVars = { ACTOR_OBJ_FIRESHIELD, @@ -22,7 +27,6 @@ const ActorInit Obj_Fireshield_InitVars = { (ActorFunc)ObjFireshield_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80A4D820 = { { COLTYPE_NONE, AT_ON | AT_TYPE_ENEMY, AC_NONE, OC1_ON | OC1_TYPE_PLAYER, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -30,7 +34,6 @@ static ColliderCylinderInit D_80A4D820 = { { 28, 144, 0, { 0, 0, 0 } }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80A4D8A4[] = { ICHAIN_F32(uncullZoneForward, 4000, ICHAIN_CONTINUE), @@ -38,35 +41,35 @@ static InitChainEntry D_80A4D8A4[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80A4D820; extern InitChainEntry D_80A4D8A4[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Fireshield_0x80A4CA90/func_80A4CA90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Fireshield/func_80A4CA90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Fireshield_0x80A4CA90/func_80A4CABC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Fireshield/func_80A4CABC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Fireshield_0x80A4CA90/func_80A4CB7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Fireshield/func_80A4CB7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Fireshield_0x80A4CA90/func_80A4CC54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Fireshield/func_80A4CC54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Fireshield_0x80A4CA90/func_80A4CCBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Fireshield/func_80A4CCBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Fireshield_0x80A4CA90/func_80A4CD28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Fireshield/func_80A4CD28.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Fireshield_0x80A4CA90/func_80A4CD34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Fireshield/func_80A4CD34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Fireshield_0x80A4CA90/func_80A4CE28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Fireshield/func_80A4CE28.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Fireshield_0x80A4CA90/func_80A4D174.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Fireshield/func_80A4D174.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Fireshield_0x80A4CA90/func_80A4D1CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Fireshield/func_80A4D1CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Fireshield_0x80A4CA90/ObjFireshield_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Fireshield/ObjFireshield_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Fireshield_0x80A4CA90/ObjFireshield_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Fireshield/ObjFireshield_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Fireshield_0x80A4CA90/ObjFireshield_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Fireshield/ObjFireshield_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Fireshield_0x80A4CA90/ObjFireshield_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Fireshield/ObjFireshield_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Fireshield/z_obj_fireshield.h b/src/overlays/actors/ovl_Obj_Fireshield/z_obj_fireshield.h index 06df872f86..34eefb769c 100644 --- a/src/overlays/actors/ovl_Obj_Fireshield/z_obj_fireshield.h +++ b/src/overlays/actors/ovl_Obj_Fireshield/z_obj_fireshield.h @@ -1,13 +1,17 @@ #ifndef Z_OBJ_FIRESHIELD_H #define Z_OBJ_FIRESHIELD_H -#include +#include "global.h" struct ObjFireshield; +typedef void (*ObjFireshieldActionFunc)(struct ObjFireshield* this, GlobalContext* globalCtx); + typedef struct ObjFireshield { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x68]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x4C]; + /* 0x0190 */ ObjFireshieldActionFunc actionFunc; + /* 0x0194 */ char unk_194[0x18]; } ObjFireshield; // size = 0x1AC extern const ActorInit Obj_Fireshield_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Flowerpot/z_obj_flowerpot.c b/src/overlays/actors/ovl_Obj_Flowerpot/z_obj_flowerpot.c index 08a826fe4b..5e16c553e7 100644 --- a/src/overlays/actors/ovl_Obj_Flowerpot/z_obj_flowerpot.c +++ b/src/overlays/actors/ovl_Obj_Flowerpot/z_obj_flowerpot.c @@ -22,7 +22,6 @@ const ActorInit Obj_Flowerpot_InitVars = { (ActorFunc)ObjFlowerpot_Draw, }; - // static ColliderJntSphElementInit sJntSphElementsInit[2] = { static ColliderJntSphElementInit D_80A1D3A0[2] = { { @@ -41,7 +40,6 @@ static ColliderJntSphInit D_80A1D3E8 = { 2, D_80A1D3A0, // sJntSphElementsInit, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80A1D414[] = { ICHAIN_F32_DIV1000(gravity, -2000, ICHAIN_CONTINUE), @@ -52,54 +50,58 @@ static InitChainEntry D_80A1D414[] = { ICHAIN_F32(uncullZoneDownward, 100, ICHAIN_STOP), }; +#endif extern ColliderJntSphElementInit D_80A1D3A0[2]; extern ColliderJntSphInit D_80A1D3E8; extern InitChainEntry D_80A1D414[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Flowerpot_0x80A1B3D0/func_80A1B3D0.asm") +extern UNK_TYPE D_060012E0; +extern UNK_TYPE D_060014F0; +extern UNK_TYPE D_060015B0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Flowerpot_0x80A1B3D0/func_80A1B840.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Flowerpot/func_80A1B3D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Flowerpot_0x80A1B3D0/func_80A1B914.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Flowerpot/func_80A1B840.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Flowerpot_0x80A1B3D0/func_80A1B994.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Flowerpot/func_80A1B914.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Flowerpot_0x80A1B3D0/func_80A1B9CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Flowerpot/func_80A1B994.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Flowerpot_0x80A1B3D0/func_80A1BA04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Flowerpot/func_80A1B9CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Flowerpot_0x80A1B3D0/func_80A1BA44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Flowerpot/func_80A1BA04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Flowerpot_0x80A1B3D0/func_80A1BD80.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Flowerpot/func_80A1BA44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Flowerpot_0x80A1B3D0/func_80A1C0FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Flowerpot/func_80A1BD80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Flowerpot_0x80A1B3D0/func_80A1C328.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Flowerpot/func_80A1C0FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Flowerpot_0x80A1B3D0/func_80A1C554.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Flowerpot/func_80A1C328.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Flowerpot_0x80A1B3D0/func_80A1C5E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Flowerpot/func_80A1C554.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Flowerpot_0x80A1B3D0/func_80A1C62C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Flowerpot/func_80A1C5E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Flowerpot_0x80A1B3D0/ObjFlowerpot_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Flowerpot/func_80A1C62C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Flowerpot_0x80A1B3D0/ObjFlowerpot_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Flowerpot/ObjFlowerpot_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Flowerpot_0x80A1B3D0/func_80A1C818.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Flowerpot/ObjFlowerpot_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Flowerpot_0x80A1B3D0/func_80A1C838.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Flowerpot/func_80A1C818.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Flowerpot_0x80A1B3D0/func_80A1CBF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Flowerpot/func_80A1C838.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Flowerpot_0x80A1B3D0/func_80A1CC0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Flowerpot/func_80A1CBF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Flowerpot_0x80A1B3D0/func_80A1CD10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Flowerpot/func_80A1CC0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Flowerpot_0x80A1B3D0/func_80A1CEF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Flowerpot/func_80A1CD10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Flowerpot_0x80A1B3D0/ObjFlowerpot_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Flowerpot/func_80A1CEF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Flowerpot_0x80A1B3D0/ObjFlowerpot_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Flowerpot/ObjFlowerpot_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Flowerpot/ObjFlowerpot_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Flowerpot/z_obj_flowerpot.h b/src/overlays/actors/ovl_Obj_Flowerpot/z_obj_flowerpot.h index 3ce1bf236e..931bc4917a 100644 --- a/src/overlays/actors/ovl_Obj_Flowerpot/z_obj_flowerpot.h +++ b/src/overlays/actors/ovl_Obj_Flowerpot/z_obj_flowerpot.h @@ -1,13 +1,17 @@ #ifndef Z_OBJ_FLOWERPOT_H #define Z_OBJ_FLOWERPOT_H -#include +#include "global.h" struct ObjFlowerpot; +typedef void (*ObjFlowerpotActionFunc)(struct ObjFlowerpot* this, GlobalContext* globalCtx); + typedef struct ObjFlowerpot { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0xAC]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0xA0]; + /* 0x01E4 */ ObjFlowerpotActionFunc actionFunc; + /* 0x01E8 */ char unk_1E8[0x8]; } ObjFlowerpot; // size = 0x1F0 extern const ActorInit Obj_Flowerpot_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Funen/z_obj_funen.h b/src/overlays/actors/ovl_Obj_Funen/z_obj_funen.h index b750f1d6d6..dfafc94cf3 100644 --- a/src/overlays/actors/ovl_Obj_Funen/z_obj_funen.h +++ b/src/overlays/actors/ovl_Obj_Funen/z_obj_funen.h @@ -1,7 +1,7 @@ #ifndef Z_OBJ_FUNEN_H #define Z_OBJ_FUNEN_H -#include +#include "global.h" struct ObjFunen; diff --git a/src/overlays/actors/ovl_Obj_Ghaka/z_obj_ghaka.h b/src/overlays/actors/ovl_Obj_Ghaka/z_obj_ghaka.h index 3056943dcf..d375d6374b 100644 --- a/src/overlays/actors/ovl_Obj_Ghaka/z_obj_ghaka.h +++ b/src/overlays/actors/ovl_Obj_Ghaka/z_obj_ghaka.h @@ -1,7 +1,7 @@ #ifndef Z_OBJ_GHAKA_H #define Z_OBJ_GHAKA_H -#include +#include "global.h" struct ObjGhaka; diff --git a/src/overlays/actors/ovl_Obj_Grass/z_obj_grass.c b/src/overlays/actors/ovl_Obj_Grass/z_obj_grass.c index 99334d542a..23a09d80ff 100644 --- a/src/overlays/actors/ovl_Obj_Grass/z_obj_grass.c +++ b/src/overlays/actors/ovl_Obj_Grass/z_obj_grass.c @@ -22,7 +22,6 @@ const ActorInit Obj_Grass_InitVars = { (ActorFunc)ObjGrass_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_809AAB20 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_PLAYER | OC1_TYPE_2, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -30,34 +29,34 @@ static ColliderCylinderInit D_809AAB20 = { { 6, 44, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_809AAB20; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Grass_0x809A9110/func_809A9110.asm") +extern ColliderCylinderInit D_809AAB20; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Grass_0x809A9110/func_809A91FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Grass/func_809A9110.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Grass_0x809A9110/func_809A92D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Grass/func_809A91FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Grass_0x809A9110/func_809A9314.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Grass/func_809A92D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Grass_0x809A9110/ObjGrass_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Grass/func_809A9314.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Grass_0x809A9110/ObjGrass_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Grass/ObjGrass_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Grass_0x809A9110/func_809A9790.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Grass/ObjGrass_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Grass_0x809A9110/func_809A983C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Grass/func_809A9790.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Grass_0x809A9110/func_809A9DB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Grass/func_809A983C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Grass_0x809A9110/ObjGrass_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Grass/func_809A9DB8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Grass_0x809A9110/func_809AA278.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Grass/ObjGrass_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Grass_0x809A9110/func_809AA54C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Grass/func_809AA278.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Grass_0x809A9110/func_809AA798.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Grass/func_809AA54C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Grass_0x809A9110/ObjGrass_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Grass/func_809AA798.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Grass/ObjGrass_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Grass/z_obj_grass.h b/src/overlays/actors/ovl_Obj_Grass/z_obj_grass.h index 250226a729..e05e1618e6 100644 --- a/src/overlays/actors/ovl_Obj_Grass/z_obj_grass.h +++ b/src/overlays/actors/ovl_Obj_Grass/z_obj_grass.h @@ -1,7 +1,7 @@ #ifndef Z_OBJ_GRASS_H #define Z_OBJ_GRASS_H -#include +#include "global.h" struct ObjGrass; diff --git a/src/overlays/actors/ovl_Obj_Grass_Carry/z_obj_grass_carry.c b/src/overlays/actors/ovl_Obj_Grass_Carry/z_obj_grass_carry.c index 7583e2c28c..1a3cbfeb49 100644 --- a/src/overlays/actors/ovl_Obj_Grass_Carry/z_obj_grass_carry.c +++ b/src/overlays/actors/ovl_Obj_Grass_Carry/z_obj_grass_carry.c @@ -21,7 +21,6 @@ const ActorInit Obj_Grass_Carry_InitVars = { (ActorFunc)NULL, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_809ABBD0 = { { COLTYPE_NONE, AT_ON | AT_TYPE_PLAYER, AC_NONE, OC1_ON | OC1_TYPE_PLAYER | OC1_TYPE_2, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -29,7 +28,6 @@ static ColliderCylinderInit D_809ABBD0 = { { 10, 44, 0, { 0, 0, 0 } }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_809ABC4C[] = { ICHAIN_F32_DIV1000(gravity, -3200, ICHAIN_CONTINUE), @@ -37,47 +35,47 @@ static InitChainEntry D_809ABC4C[] = { ICHAIN_VEC3F_DIV1000(scale, 400, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_809ABBD0; extern InitChainEntry D_809ABC4C[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Grass_Carry_0x809AAE60/func_809AAE60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Grass_Carry/func_809AAE60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Grass_Carry_0x809AAE60/func_809AAE94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Grass_Carry/func_809AAE94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Grass_Carry_0x809AAE60/func_809AAF18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Grass_Carry/func_809AAF18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Grass_Carry_0x809AAE60/func_809AAF58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Grass_Carry/func_809AAF58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Grass_Carry_0x809AAE60/func_809AAF9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Grass_Carry/func_809AAF9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Grass_Carry_0x809AAE60/func_809AAFE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Grass_Carry/func_809AAFE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Grass_Carry_0x809AAE60/ObjGrassCarry_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Grass_Carry/ObjGrassCarry_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Grass_Carry_0x809AAE60/ObjGrassCarry_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Grass_Carry/ObjGrassCarry_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Grass_Carry_0x809AAE60/func_809AB3C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Grass_Carry/func_809AB3C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Grass_Carry_0x809AAE60/func_809AB3D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Grass_Carry/func_809AB3D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Grass_Carry_0x809AAE60/func_809AB428.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Grass_Carry/func_809AB428.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Grass_Carry_0x809AAE60/func_809AB43C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Grass_Carry/func_809AB43C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Grass_Carry_0x809AAE60/func_809AB474.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Grass_Carry/func_809AB474.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Grass_Carry_0x809AAE60/func_809AB4A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Grass_Carry/func_809AB4A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Grass_Carry_0x809AAE60/func_809AB5FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Grass_Carry/func_809AB5FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Grass_Carry_0x809AAE60/func_809AB610.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Grass_Carry/func_809AB610.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Grass_Carry_0x809AAE60/func_809AB6FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Grass_Carry/func_809AB6FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Grass_Carry_0x809AAE60/func_809AB77C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Grass_Carry/func_809AB77C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Grass_Carry_0x809AAE60/ObjGrassCarry_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Grass_Carry/ObjGrassCarry_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Grass_Carry_0x809AAE60/func_809ABB7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Grass_Carry/func_809ABB7C.s") diff --git a/src/overlays/actors/ovl_Obj_Grass_Carry/z_obj_grass_carry.h b/src/overlays/actors/ovl_Obj_Grass_Carry/z_obj_grass_carry.h index e99c1d62a1..c971ed22be 100644 --- a/src/overlays/actors/ovl_Obj_Grass_Carry/z_obj_grass_carry.h +++ b/src/overlays/actors/ovl_Obj_Grass_Carry/z_obj_grass_carry.h @@ -1,13 +1,16 @@ #ifndef Z_OBJ_GRASS_CARRY_H #define Z_OBJ_GRASS_CARRY_H -#include +#include "global.h" struct ObjGrassCarry; +typedef void (*ObjGrassCarryActionFunc)(struct ObjGrassCarry* this, GlobalContext* globalCtx); + typedef struct ObjGrassCarry { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x5C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x58]; + /* 0x019C */ ObjGrassCarryActionFunc actionFunc; } ObjGrassCarry; // size = 0x1A0 extern const ActorInit Obj_Grass_Carry_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Grass_Unit/z_obj_grass_unit.c b/src/overlays/actors/ovl_Obj_Grass_Unit/z_obj_grass_unit.c index 7cd18b0116..77bd96c24f 100644 --- a/src/overlays/actors/ovl_Obj_Grass_Unit/z_obj_grass_unit.c +++ b/src/overlays/actors/ovl_Obj_Grass_Unit/z_obj_grass_unit.c @@ -21,12 +21,12 @@ const ActorInit Obj_Grass_Unit_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Grass_Unit_0x809ABDE0/func_809ABDE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Grass_Unit/func_809ABDE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Grass_Unit_0x809ABDE0/func_809ABE54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Grass_Unit/func_809ABE54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Grass_Unit_0x809ABDE0/func_809ABEC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Grass_Unit/func_809ABEC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Grass_Unit_0x809ABDE0/func_809ABF38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Grass_Unit/func_809ABF38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Grass_Unit_0x809ABDE0/ObjGrassUnit_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Grass_Unit/ObjGrassUnit_Init.s") diff --git a/src/overlays/actors/ovl_Obj_Grass_Unit/z_obj_grass_unit.h b/src/overlays/actors/ovl_Obj_Grass_Unit/z_obj_grass_unit.h index f5838096d3..113132e5e9 100644 --- a/src/overlays/actors/ovl_Obj_Grass_Unit/z_obj_grass_unit.h +++ b/src/overlays/actors/ovl_Obj_Grass_Unit/z_obj_grass_unit.h @@ -1,7 +1,7 @@ #ifndef Z_OBJ_GRASS_UNIT_H #define Z_OBJ_GRASS_UNIT_H -#include +#include "global.h" struct ObjGrassUnit; diff --git a/src/overlays/actors/ovl_Obj_Hakaisi/z_obj_hakaisi.c b/src/overlays/actors/ovl_Obj_Hakaisi/z_obj_hakaisi.c index 0e5df3545f..f053fc20a3 100644 --- a/src/overlays/actors/ovl_Obj_Hakaisi/z_obj_hakaisi.c +++ b/src/overlays/actors/ovl_Obj_Hakaisi/z_obj_hakaisi.c @@ -24,50 +24,55 @@ const ActorInit Obj_Hakaisi_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hakaisi_0x80B14180/ObjHakaisi_Init.asm") +extern UNK_TYPE D_06001F10; +extern UNK_TYPE D_060021B0; +extern UNK_TYPE D_06002650; +extern UNK_TYPE D_06002FC4; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hakaisi_0x80B14180/ObjHakaisi_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hakaisi/ObjHakaisi_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hakaisi_0x80B14180/func_80B1444C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hakaisi/ObjHakaisi_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hakaisi_0x80B14180/func_80B14460.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hakaisi/func_80B1444C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hakaisi_0x80B14180/func_80B14510.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hakaisi/func_80B14460.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hakaisi_0x80B14180/func_80B14524.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hakaisi/func_80B14510.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hakaisi_0x80B14180/func_80B14558.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hakaisi/func_80B14524.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hakaisi_0x80B14180/func_80B1456C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hakaisi/func_80B14558.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hakaisi_0x80B14180/func_80B145F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hakaisi/func_80B1456C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hakaisi_0x80B14180/func_80B14648.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hakaisi/func_80B145F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hakaisi_0x80B14180/func_80B149A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hakaisi/func_80B14648.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hakaisi_0x80B14180/func_80B149C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hakaisi/func_80B149A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hakaisi_0x80B14180/func_80B14A24.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hakaisi/func_80B149C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hakaisi_0x80B14180/func_80B14B6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hakaisi/func_80B14A24.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hakaisi_0x80B14180/func_80B14CF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hakaisi/func_80B14B6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hakaisi_0x80B14180/func_80B14F4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hakaisi/func_80B14CF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hakaisi_0x80B14180/ObjHakaisi_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hakaisi/func_80B14F4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hakaisi_0x80B14180/ObjHakaisi_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hakaisi/ObjHakaisi_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hakaisi_0x80B14180/func_80B151E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hakaisi/ObjHakaisi_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hakaisi_0x80B14180/func_80B15254.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hakaisi/func_80B151E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hakaisi_0x80B14180/func_80B15264.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hakaisi/func_80B15254.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hakaisi_0x80B14180/func_80B15330.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hakaisi/func_80B15264.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hakaisi_0x80B14180/func_80B1544C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hakaisi/func_80B15330.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hakaisi_0x80B14180/func_80B154A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hakaisi/func_80B1544C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hakaisi/func_80B154A0.s") diff --git a/src/overlays/actors/ovl_Obj_Hakaisi/z_obj_hakaisi.h b/src/overlays/actors/ovl_Obj_Hakaisi/z_obj_hakaisi.h index 3d8b0b9317..3fc2ceb008 100644 --- a/src/overlays/actors/ovl_Obj_Hakaisi/z_obj_hakaisi.h +++ b/src/overlays/actors/ovl_Obj_Hakaisi/z_obj_hakaisi.h @@ -1,13 +1,17 @@ #ifndef Z_OBJ_HAKAISI_H #define Z_OBJ_HAKAISI_H -#include +#include "global.h" struct ObjHakaisi; +typedef void (*ObjHakaisiActionFunc)(struct ObjHakaisi* this, GlobalContext* globalCtx); + typedef struct ObjHakaisi { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x5C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x18]; + /* 0x015C */ ObjHakaisiActionFunc actionFunc; + /* 0x0160 */ char unk_160[0x40]; } ObjHakaisi; // size = 0x1A0 extern const ActorInit Obj_Hakaisi_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Hamishi/z_obj_hamishi.c b/src/overlays/actors/ovl_Obj_Hamishi/z_obj_hamishi.c index 25490a7eea..34fb4e0fca 100644 --- a/src/overlays/actors/ovl_Obj_Hamishi/z_obj_hamishi.c +++ b/src/overlays/actors/ovl_Obj_Hamishi/z_obj_hamishi.c @@ -22,7 +22,6 @@ const ActorInit Obj_Hamishi_InitVars = { (ActorFunc)ObjHamishi_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_809A1AA0 = { { COLTYPE_HARD, AT_NONE, AC_ON | AC_HARD | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -30,11 +29,9 @@ static ColliderCylinderInit D_809A1AA0 = { { 50, 70, 0, { 0, 0, 0 } }, }; - // sColChkInfoInit static CollisionCheckInfoInit D_809A1ACC = { 0, 12, 60, MASS_IMMOVABLE }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_809A1AE8[] = { ICHAIN_VEC3F_DIV1000(scale, 400, ICHAIN_CONTINUE), @@ -43,26 +40,26 @@ static InitChainEntry D_809A1AE8[] = { ICHAIN_F32(uncullZoneDownward, 500, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_809A1AA0; extern CollisionCheckInfoInit D_809A1ACC; extern InitChainEntry D_809A1AE8[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hamishi_0x809A0F20/func_809A0F20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hamishi/func_809A0F20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hamishi_0x809A0F20/func_809A0F78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hamishi/func_809A0F78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hamishi_0x809A0F20/func_809A10F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hamishi/func_809A10F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hamishi_0x809A0F20/func_809A13A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hamishi/func_809A13A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hamishi_0x809A0F20/func_809A1408.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hamishi/func_809A1408.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hamishi_0x809A0F20/ObjHamishi_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hamishi/ObjHamishi_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hamishi_0x809A0F20/ObjHamishi_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hamishi/ObjHamishi_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hamishi_0x809A0F20/ObjHamishi_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hamishi/ObjHamishi_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hamishi_0x809A0F20/ObjHamishi_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hamishi/ObjHamishi_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Hamishi/z_obj_hamishi.h b/src/overlays/actors/ovl_Obj_Hamishi/z_obj_hamishi.h index 828bc95e3d..1305f49eeb 100644 --- a/src/overlays/actors/ovl_Obj_Hamishi/z_obj_hamishi.h +++ b/src/overlays/actors/ovl_Obj_Hamishi/z_obj_hamishi.h @@ -1,7 +1,7 @@ #ifndef Z_OBJ_HAMISHI_H #define Z_OBJ_HAMISHI_H -#include +#include "global.h" struct ObjHamishi; diff --git a/src/overlays/actors/ovl_Obj_Hana/z_obj_hana.h b/src/overlays/actors/ovl_Obj_Hana/z_obj_hana.h index e1ad18ca21..f885850cd0 100644 --- a/src/overlays/actors/ovl_Obj_Hana/z_obj_hana.h +++ b/src/overlays/actors/ovl_Obj_Hana/z_obj_hana.h @@ -1,7 +1,7 @@ #ifndef Z_OBJ_HANA_H #define Z_OBJ_HANA_H -#include +#include "global.h" struct ObjHana; diff --git a/src/overlays/actors/ovl_Obj_Hariko/z_obj_hariko.c b/src/overlays/actors/ovl_Obj_Hariko/z_obj_hariko.c index 43d0f02934..17ce38ce98 100644 --- a/src/overlays/actors/ovl_Obj_Hariko/z_obj_hariko.c +++ b/src/overlays/actors/ovl_Obj_Hariko/z_obj_hariko.c @@ -9,6 +9,9 @@ void ObjHariko_Destroy(Actor* thisx, GlobalContext* globalCtx); void ObjHariko_Update(Actor* thisx, GlobalContext* globalCtx); void ObjHariko_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80B66A90(ObjHariko* this, GlobalContext* globalCtx); +void func_80B66AC4(ObjHariko* this, GlobalContext* globalCtx); + #if 0 const ActorInit Obj_Hariko_InitVars = { ACTOR_OBJ_HARIKO, @@ -24,20 +27,22 @@ const ActorInit Obj_Hariko_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hariko_0x80B66A20/ObjHariko_Init.asm") +extern UNK_TYPE D_06000080; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hariko_0x80B66A20/ObjHariko_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hariko/ObjHariko_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hariko_0x80B66A20/func_80B66A7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hariko/ObjHariko_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hariko_0x80B66A20/func_80B66A90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hariko/func_80B66A7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hariko_0x80B66A20/func_80B66AA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hariko/func_80B66A90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hariko_0x80B66A20/func_80B66AC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hariko/func_80B66AA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hariko_0x80B66A20/func_80B66B78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hariko/func_80B66AC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hariko_0x80B66A20/ObjHariko_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hariko/func_80B66B78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hariko_0x80B66A20/ObjHariko_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hariko/ObjHariko_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hariko/ObjHariko_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Hariko/z_obj_hariko.h b/src/overlays/actors/ovl_Obj_Hariko/z_obj_hariko.h index e05ee6e31f..a4800d81e5 100644 --- a/src/overlays/actors/ovl_Obj_Hariko/z_obj_hariko.h +++ b/src/overlays/actors/ovl_Obj_Hariko/z_obj_hariko.h @@ -1,13 +1,16 @@ #ifndef Z_OBJ_HARIKO_H #define Z_OBJ_HARIKO_H -#include +#include "global.h" struct ObjHariko; +typedef void (*ObjHarikoActionFunc)(struct ObjHariko* this, GlobalContext* globalCtx); + typedef struct ObjHariko { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x14]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ ObjHarikoActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x10]; } ObjHariko; // size = 0x158 extern const ActorInit Obj_Hariko_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Hgdoor/z_obj_hgdoor.h b/src/overlays/actors/ovl_Obj_Hgdoor/z_obj_hgdoor.h index 098669fd91..a3590f4249 100644 --- a/src/overlays/actors/ovl_Obj_Hgdoor/z_obj_hgdoor.h +++ b/src/overlays/actors/ovl_Obj_Hgdoor/z_obj_hgdoor.h @@ -1,7 +1,7 @@ #ifndef Z_OBJ_HGDOOR_H #define Z_OBJ_HGDOOR_H -#include +#include "global.h" struct ObjHgdoor; diff --git a/src/overlays/actors/ovl_Obj_HsStump/z_obj_hsstump.c b/src/overlays/actors/ovl_Obj_HsStump/z_obj_hsstump.c index 2612ac083b..89346ce0e0 100644 --- a/src/overlays/actors/ovl_Obj_HsStump/z_obj_hsstump.c +++ b/src/overlays/actors/ovl_Obj_HsStump/z_obj_hsstump.c @@ -26,16 +26,15 @@ const ActorInit Obj_HsStump_InitVars = { (ActorFunc)ObjHsStump_Draw, }; -extern Gfx D_060003B8[]; - -extern CollisionHeader D_060011B0; - static InitChainEntry sInitChain[] = { ICHAIN_VEC3F_DIV1000(scale, 180, ICHAIN_STOP), }; static Vec3f iceSmokeAccel = { 0.0f, 0.0f, 0.0f }; +extern Gfx D_060003B8[]; +extern CollisionHeader D_060011B0; + void ObjHsStump_Init(Actor* thisx, GlobalContext* globalCtx) { ObjHsStump* this = THIS; diff --git a/src/overlays/actors/ovl_Obj_HsStump/z_obj_hsstump.h b/src/overlays/actors/ovl_Obj_HsStump/z_obj_hsstump.h index 5ae69972db..899688b27d 100644 --- a/src/overlays/actors/ovl_Obj_HsStump/z_obj_hsstump.h +++ b/src/overlays/actors/ovl_Obj_HsStump/z_obj_hsstump.h @@ -1,7 +1,7 @@ #ifndef Z_OBJ_HSSTUMP_H #define Z_OBJ_HSSTUMP_H -#include +#include "global.h" #define OBJHSSTUMP_GET_SWITCHFLAG(thisx) ((thisx)->params & 0x7F) #define OBJHSSTUMP_GET_ISHIDDEN(thisx) (((thisx)->params >> 12) & 0xF) diff --git a/src/overlays/actors/ovl_Obj_Hsblock/z_obj_hsblock.c b/src/overlays/actors/ovl_Obj_Hsblock/z_obj_hsblock.c index 70a6668421..edb8df0614 100644 --- a/src/overlays/actors/ovl_Obj_Hsblock/z_obj_hsblock.c +++ b/src/overlays/actors/ovl_Obj_Hsblock/z_obj_hsblock.c @@ -9,6 +9,10 @@ void ObjHsblock_Destroy(Actor* thisx, GlobalContext* globalCtx); void ObjHsblock_Update(Actor* thisx, GlobalContext* globalCtx); void ObjHsblock_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_8093E0A0(ObjHsblock* this, GlobalContext* globalCtx); + +void ObjHsblock_SetupAction(ObjHsblock* this, ObjHsblockActionFunc actionFunc); + #if 0 const ActorInit Obj_Hsblock_InitVars = { ACTOR_OBJ_HSBLOCK, @@ -22,7 +26,6 @@ const ActorInit Obj_Hsblock_InitVars = { (ActorFunc)ObjHsblock_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_8093E33C[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_CONTINUE), @@ -31,28 +34,28 @@ static InitChainEntry D_8093E33C[] = { ICHAIN_F32(uncullZoneDownward, 200, ICHAIN_STOP), }; - -extern InitChainEntry D_8093E33C[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hsblock_0x8093DEA0/func_8093DEA0.asm") +extern InitChainEntry D_8093E33C[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hsblock_0x8093DEA0/func_8093DEAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hsblock/ObjHsblock_SetupAction.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hsblock_0x8093DEA0/ObjHsblock_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hsblock/func_8093DEAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hsblock_0x8093DEA0/ObjHsblock_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hsblock/ObjHsblock_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hsblock_0x8093DEA0/func_8093E03C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hsblock/ObjHsblock_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hsblock_0x8093DEA0/func_8093E05C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hsblock/func_8093E03C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hsblock_0x8093DEA0/func_8093E0A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hsblock/func_8093E05C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hsblock_0x8093DEA0/func_8093E0E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hsblock/func_8093E0A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hsblock_0x8093DEA0/func_8093E10C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hsblock/func_8093E0E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hsblock_0x8093DEA0/ObjHsblock_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hsblock/func_8093E10C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hsblock_0x8093DEA0/ObjHsblock_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hsblock/ObjHsblock_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hsblock/ObjHsblock_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Hsblock/z_obj_hsblock.h b/src/overlays/actors/ovl_Obj_Hsblock/z_obj_hsblock.h index 6687302020..dd36170ca1 100644 --- a/src/overlays/actors/ovl_Obj_Hsblock/z_obj_hsblock.h +++ b/src/overlays/actors/ovl_Obj_Hsblock/z_obj_hsblock.h @@ -1,13 +1,16 @@ #ifndef Z_OBJ_HSBLOCK_H #define Z_OBJ_HSBLOCK_H -#include +#include "global.h" struct ObjHsblock; +typedef void (*ObjHsblockActionFunc)(struct ObjHsblock* this, GlobalContext* globalCtx); + typedef struct ObjHsblock { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x1C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x18]; + /* 0x015C */ ObjHsblockActionFunc actionFunc; } ObjHsblock; // size = 0x160 extern const ActorInit Obj_Hsblock_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Hugebombiwa/z_obj_hugebombiwa.c b/src/overlays/actors/ovl_Obj_Hugebombiwa/z_obj_hugebombiwa.c index 7170600677..43975537ba 100644 --- a/src/overlays/actors/ovl_Obj_Hugebombiwa/z_obj_hugebombiwa.c +++ b/src/overlays/actors/ovl_Obj_Hugebombiwa/z_obj_hugebombiwa.c @@ -22,7 +22,6 @@ const ActorInit Obj_Hugebombiwa_InitVars = { (ActorFunc)ObjHugebombiwa_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80A55D00 = { { COLTYPE_HARD, AT_NONE, AC_ON | AC_HARD | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -30,7 +29,6 @@ static ColliderCylinderInit D_80A55D00 = { { 180, 226, 0, { 0, 0, 0 } }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80A55D7C[] = { ICHAIN_F32(uncullZoneForward, 3700, ICHAIN_CONTINUE), @@ -38,45 +36,50 @@ static InitChainEntry D_80A55D7C[] = { ICHAIN_F32(uncullZoneDownward, 900, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80A55D00; extern InitChainEntry D_80A55D7C[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hugebombiwa_0x80A53BE0/func_80A53BE0.asm") +extern UNK_TYPE D_060009E0; +extern UNK_TYPE D_06001820; +extern UNK_TYPE D_06001990; +extern UNK_TYPE D_06002F60; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hugebombiwa_0x80A53BE0/func_80A53E60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hugebombiwa/func_80A53BE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hugebombiwa_0x80A53BE0/func_80A541F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hugebombiwa/func_80A53E60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hugebombiwa_0x80A53BE0/func_80A54600.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hugebombiwa/func_80A541F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hugebombiwa_0x80A53BE0/func_80A54980.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hugebombiwa/func_80A54600.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hugebombiwa_0x80A53BE0/func_80A54A0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hugebombiwa/func_80A54980.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hugebombiwa_0x80A53BE0/ObjHugebombiwa_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hugebombiwa/func_80A54A0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hugebombiwa_0x80A53BE0/ObjHugebombiwa_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hugebombiwa/ObjHugebombiwa_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hugebombiwa_0x80A53BE0/func_80A54BF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hugebombiwa/ObjHugebombiwa_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hugebombiwa_0x80A53BE0/func_80A54C04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hugebombiwa/func_80A54BF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hugebombiwa_0x80A53BE0/func_80A54CD8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hugebombiwa/func_80A54C04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hugebombiwa_0x80A53BE0/func_80A54CEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hugebombiwa/func_80A54CD8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hugebombiwa_0x80A53BE0/func_80A54E10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hugebombiwa/func_80A54CEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hugebombiwa_0x80A53BE0/func_80A55064.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hugebombiwa/func_80A54E10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hugebombiwa_0x80A53BE0/func_80A55310.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hugebombiwa/func_80A55064.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hugebombiwa_0x80A53BE0/func_80A55564.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hugebombiwa/func_80A55310.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hugebombiwa_0x80A53BE0/ObjHugebombiwa_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hugebombiwa/func_80A55564.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hugebombiwa_0x80A53BE0/ObjHugebombiwa_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hugebombiwa/ObjHugebombiwa_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hugebombiwa_0x80A53BE0/func_80A55B34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hugebombiwa/ObjHugebombiwa_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hugebombiwa/func_80A55B34.s") diff --git a/src/overlays/actors/ovl_Obj_Hugebombiwa/z_obj_hugebombiwa.h b/src/overlays/actors/ovl_Obj_Hugebombiwa/z_obj_hugebombiwa.h index d5a0f6416d..24eb3c45ad 100644 --- a/src/overlays/actors/ovl_Obj_Hugebombiwa/z_obj_hugebombiwa.h +++ b/src/overlays/actors/ovl_Obj_Hugebombiwa/z_obj_hugebombiwa.h @@ -1,13 +1,16 @@ #ifndef Z_OBJ_HUGEBOMBIWA_H #define Z_OBJ_HUGEBOMBIWA_H -#include +#include "global.h" struct ObjHugebombiwa; +typedef void (*ObjHugebombiwaActionFunc)(struct ObjHugebombiwa* this, GlobalContext* globalCtx); + typedef struct ObjHugebombiwa { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x374]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x370]; + /* 0x04B4 */ ObjHugebombiwaActionFunc actionFunc; } ObjHugebombiwa; // size = 0x4B8 extern const ActorInit Obj_Hugebombiwa_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Hunsui/z_obj_hunsui.c b/src/overlays/actors/ovl_Obj_Hunsui/z_obj_hunsui.c index d8518abbc5..a30fb95d25 100644 --- a/src/overlays/actors/ovl_Obj_Hunsui/z_obj_hunsui.c +++ b/src/overlays/actors/ovl_Obj_Hunsui/z_obj_hunsui.c @@ -24,36 +24,40 @@ const ActorInit Obj_Hunsui_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hunsui_0x80B9C450/func_80B9C450.asm") +extern UNK_TYPE D_06000220; +extern UNK_TYPE D_06000C74; +extern UNK_TYPE D_06000EC0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hunsui_0x80B9C450/func_80B9C5E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hunsui/func_80B9C450.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hunsui_0x80B9C450/ObjHunsui_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hunsui/func_80B9C5E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hunsui_0x80B9C450/ObjHunsui_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hunsui/ObjHunsui_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hunsui_0x80B9C450/ObjHunsui_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hunsui/ObjHunsui_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hunsui_0x80B9C450/func_80B9CE64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hunsui/ObjHunsui_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hunsui_0x80B9C450/func_80B9D094.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hunsui/func_80B9CE64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hunsui_0x80B9C450/func_80B9D0FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hunsui/func_80B9D094.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hunsui_0x80B9C450/func_80B9D120.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hunsui/func_80B9D0FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hunsui_0x80B9C450/func_80B9D288.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hunsui/func_80B9D120.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hunsui_0x80B9C450/func_80B9D2BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hunsui/func_80B9D288.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hunsui_0x80B9C450/func_80B9D334.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hunsui/func_80B9D2BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hunsui_0x80B9C450/func_80B9D4D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hunsui/func_80B9D334.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hunsui_0x80B9C450/func_80B9D508.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hunsui/func_80B9D4D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hunsui_0x80B9C450/func_80B9D714.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hunsui/func_80B9D508.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hunsui_0x80B9C450/ObjHunsui_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hunsui/func_80B9D714.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Hunsui_0x80B9C450/func_80B9DA60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hunsui/ObjHunsui_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Hunsui/func_80B9DA60.s") diff --git a/src/overlays/actors/ovl_Obj_Hunsui/z_obj_hunsui.h b/src/overlays/actors/ovl_Obj_Hunsui/z_obj_hunsui.h index b99245c095..e499067127 100644 --- a/src/overlays/actors/ovl_Obj_Hunsui/z_obj_hunsui.h +++ b/src/overlays/actors/ovl_Obj_Hunsui/z_obj_hunsui.h @@ -1,13 +1,17 @@ #ifndef Z_OBJ_HUNSUI_H #define Z_OBJ_HUNSUI_H -#include +#include "global.h" struct ObjHunsui; +typedef void (*ObjHunsuiActionFunc)(struct ObjHunsui* this, GlobalContext* globalCtx); + typedef struct ObjHunsui { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x74]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x18]; + /* 0x015C */ ObjHunsuiActionFunc actionFunc; + /* 0x0160 */ char unk_160[0x58]; } ObjHunsui; // size = 0x1B8 extern const ActorInit Obj_Hunsui_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Ice_Poly/z_obj_ice_poly.c b/src/overlays/actors/ovl_Obj_Ice_Poly/z_obj_ice_poly.c index d79b01c053..3715be3496 100644 --- a/src/overlays/actors/ovl_Obj_Ice_Poly/z_obj_ice_poly.c +++ b/src/overlays/actors/ovl_Obj_Ice_Poly/z_obj_ice_poly.c @@ -9,6 +9,10 @@ void ObjIcePoly_Destroy(Actor* thisx, GlobalContext* globalCtx); void ObjIcePoly_Update(Actor* thisx, GlobalContext* globalCtx); void ObjIcePoly_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80931A38(ObjIcePoly* this, GlobalContext* globalCtx); +void func_80931E58(ObjIcePoly* this, GlobalContext* globalCtx); +void func_80931EEC(ObjIcePoly* this, GlobalContext* globalCtx); + #if 0 const ActorInit Obj_Ice_Poly_InitVars = { ACTOR_OBJ_ICE_POLY, @@ -22,7 +26,6 @@ const ActorInit Obj_Ice_Poly_InitVars = { (ActorFunc)ObjIcePoly_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80932320 = { { COLTYPE_HARD, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_HARD | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -30,7 +33,6 @@ static ColliderCylinderInit D_80932320 = { { 50, 105, 0, { 0, 0, 0 } }, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_8093234C = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER | AC_TYPE_OTHER, OC1_NONE, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -38,23 +40,23 @@ static ColliderCylinderInit D_8093234C = { { 65, 105, 0, { 0, 0, 0 } }, }; +#endif extern ColliderCylinderInit D_80932320; extern ColliderCylinderInit D_8093234C; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Ice_Poly_0x80931560/ObjIcePoly_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Ice_Poly/ObjIcePoly_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Ice_Poly_0x80931560/ObjIcePoly_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Ice_Poly/ObjIcePoly_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Ice_Poly_0x80931560/func_80931828.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Ice_Poly/func_80931828.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Ice_Poly_0x80931560/func_80931A38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Ice_Poly/func_80931A38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Ice_Poly_0x80931560/func_80931E58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Ice_Poly/func_80931E58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Ice_Poly_0x80931560/func_80931EEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Ice_Poly/func_80931EEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Ice_Poly_0x80931560/ObjIcePoly_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Ice_Poly/ObjIcePoly_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Ice_Poly_0x80931560/ObjIcePoly_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Ice_Poly/ObjIcePoly_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Ice_Poly/z_obj_ice_poly.h b/src/overlays/actors/ovl_Obj_Ice_Poly/z_obj_ice_poly.h index e06c7a1de9..01948789d1 100644 --- a/src/overlays/actors/ovl_Obj_Ice_Poly/z_obj_ice_poly.h +++ b/src/overlays/actors/ovl_Obj_Ice_Poly/z_obj_ice_poly.h @@ -1,13 +1,16 @@ #ifndef Z_OBJ_ICE_POLY_H #define Z_OBJ_ICE_POLY_H -#include +#include "global.h" struct ObjIcePoly; +typedef void (*ObjIcePolyActionFunc)(struct ObjIcePoly* this, GlobalContext* globalCtx); + typedef struct ObjIcePoly { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x138]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ ObjIcePolyActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x134]; } ObjIcePoly; // size = 0x27C extern const ActorInit Obj_Ice_Poly_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Iceblock/z_obj_iceblock.c b/src/overlays/actors/ovl_Obj_Iceblock/z_obj_iceblock.c index 87116a7256..d94173f1e6 100644 --- a/src/overlays/actors/ovl_Obj_Iceblock/z_obj_iceblock.c +++ b/src/overlays/actors/ovl_Obj_Iceblock/z_obj_iceblock.c @@ -22,7 +22,6 @@ const ActorInit Obj_Iceblock_InitVars = { (ActorFunc)ObjIceblock_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80A26E50 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_NO_PUSH | OC1_TYPE_PLAYER, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -30,7 +29,6 @@ static ColliderCylinderInit D_80A26E50 = { { 44, 62, -31, { 0, 0, 0 } }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80A26FA4[] = { ICHAIN_F32_DIV1000(speedXZ, 16000, ICHAIN_CONTINUE), @@ -42,137 +40,140 @@ static InitChainEntry D_80A26FA4[] = { ICHAIN_F32(uncullZoneDownward, 200, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80A26E50; extern InitChainEntry D_80A26FA4[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A23090.asm") +extern UNK_TYPE D_060001A0; +extern UNK_TYPE D_06000438; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A2311C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A23090.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A2319C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A2311C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A232C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A2319C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A23370.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A232C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A2339C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A23370.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A23690.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A2339C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A236D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A23690.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A237A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A236D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A23938.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A237A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A23B88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A23938.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A23D08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A23B88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A23F90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A23D08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A24118.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A23F90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A24384.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A24118.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A243E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A24384.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A24680.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A243E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A246D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A24680.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A2491C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A246D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A24954.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A2491C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A24A48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A24954.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A24AA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A24A48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A24B74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A24AA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A24BDC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A24B74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A24DC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A24BDC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A24DD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A24DC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A2508C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A24DD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A25238.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A2508C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A252DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A25238.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A25404.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A252DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A2541C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A25404.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A25440.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A2541C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/ObjIceblock_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A25440.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/ObjIceblock_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/ObjIceblock_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A257A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/ObjIceblock_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A257B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A257A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A25824.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A257B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A2586C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A25824.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A25978.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A2586C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A25994.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A25978.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A25A8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A25994.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A25AA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A25A8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A25BA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A25AA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A25BBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A25BA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A25C5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A25BBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A25C70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A25C5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A25CF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A25C70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A25D28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A25CF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A25E3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A25D28.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A25E50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A25E3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A25FA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A25E50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A25FD4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A25FA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A260E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A25FD4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A26144.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A260E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A262BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A26144.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A262EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A262BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A26574.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A262EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A265C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A26574.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A266C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A265C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A266E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A266C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/ObjIceblock_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A266E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A26B64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/ObjIceblock_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A26B74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A26B64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/func_80A26BF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A26B74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Iceblock_0x80A23090/ObjIceblock_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/func_80A26BF8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Iceblock/ObjIceblock_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Iceblock/z_obj_iceblock.h b/src/overlays/actors/ovl_Obj_Iceblock/z_obj_iceblock.h index ed6194cfb9..16ee6154d5 100644 --- a/src/overlays/actors/ovl_Obj_Iceblock/z_obj_iceblock.h +++ b/src/overlays/actors/ovl_Obj_Iceblock/z_obj_iceblock.h @@ -1,13 +1,17 @@ #ifndef Z_OBJ_ICEBLOCK_H #define Z_OBJ_ICEBLOCK_H -#include +#include "global.h" struct ObjIceblock; +typedef void (*ObjIceblockActionFunc)(struct ObjIceblock* this, GlobalContext* globalCtx); + typedef struct ObjIceblock { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x174]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x64]; + /* 0x01A8 */ ObjIceblockActionFunc actionFunc; + /* 0x01AC */ char unk_1AC[0x10C]; } ObjIceblock; // size = 0x2B8 extern const ActorInit Obj_Iceblock_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Jg_Gakki/z_obj_jg_gakki.c b/src/overlays/actors/ovl_Obj_Jg_Gakki/z_obj_jg_gakki.c index 61ffbabea7..eed1be594f 100644 --- a/src/overlays/actors/ovl_Obj_Jg_Gakki/z_obj_jg_gakki.c +++ b/src/overlays/actors/ovl_Obj_Jg_Gakki/z_obj_jg_gakki.c @@ -24,10 +24,12 @@ const ActorInit Obj_Jg_Gakki_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Jg_Gakki_0x80B961E0/ObjJgGakki_Init.asm") +extern UNK_TYPE D_0601B1E8; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Jg_Gakki_0x80B961E0/ObjJgGakki_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Jg_Gakki/ObjJgGakki_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Jg_Gakki_0x80B961E0/ObjJgGakki_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Jg_Gakki/ObjJgGakki_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Jg_Gakki_0x80B961E0/ObjJgGakki_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Jg_Gakki/ObjJgGakki_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Jg_Gakki/ObjJgGakki_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Jg_Gakki/z_obj_jg_gakki.h b/src/overlays/actors/ovl_Obj_Jg_Gakki/z_obj_jg_gakki.h index 2dcd30fc06..75a02ed4aa 100644 --- a/src/overlays/actors/ovl_Obj_Jg_Gakki/z_obj_jg_gakki.h +++ b/src/overlays/actors/ovl_Obj_Jg_Gakki/z_obj_jg_gakki.h @@ -1,7 +1,7 @@ #ifndef Z_OBJ_JG_GAKKI_H #define Z_OBJ_JG_GAKKI_H -#include +#include "global.h" struct ObjJgGakki; diff --git a/src/overlays/actors/ovl_Obj_Jgame_Light/z_obj_jgame_light.c b/src/overlays/actors/ovl_Obj_Jgame_Light/z_obj_jgame_light.c index cd57dd3d63..56fd79ff7e 100644 --- a/src/overlays/actors/ovl_Obj_Jgame_Light/z_obj_jgame_light.c +++ b/src/overlays/actors/ovl_Obj_Jgame_Light/z_obj_jgame_light.c @@ -22,7 +22,6 @@ const ActorInit Obj_Jgame_Light_InitVars = { (ActorFunc)ObjJgameLight_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80C15BC0 = { { COLTYPE_METAL, AT_NONE, AC_ON | AC_HARD | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -30,20 +29,22 @@ static ColliderCylinderInit D_80C15BC0 = { { 12, 45, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80C15BC0; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Jgame_Light_0x80C152F0/ObjJgameLight_Init.asm") +extern ColliderCylinderInit D_80C15BC0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Jgame_Light_0x80C152F0/ObjJgameLight_Destroy.asm") +extern UNK_TYPE D_060003A0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Jgame_Light_0x80C152F0/func_80C15474.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Jgame_Light/ObjJgameLight_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Jgame_Light_0x80C152F0/func_80C156C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Jgame_Light/ObjJgameLight_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Jgame_Light_0x80C152F0/func_80C15718.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Jgame_Light/func_80C15474.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Jgame_Light_0x80C152F0/ObjJgameLight_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Jgame_Light/func_80C156C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Jgame_Light_0x80C152F0/ObjJgameLight_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Jgame_Light/func_80C15718.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Jgame_Light/ObjJgameLight_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Jgame_Light/ObjJgameLight_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Jgame_Light/z_obj_jgame_light.h b/src/overlays/actors/ovl_Obj_Jgame_Light/z_obj_jgame_light.h index 7877e3db5c..12d958e730 100644 --- a/src/overlays/actors/ovl_Obj_Jgame_Light/z_obj_jgame_light.h +++ b/src/overlays/actors/ovl_Obj_Jgame_Light/z_obj_jgame_light.h @@ -1,7 +1,7 @@ #ifndef Z_OBJ_JGAME_LIGHT_H #define Z_OBJ_JGAME_LIGHT_H -#include +#include "global.h" struct ObjJgameLight; diff --git a/src/overlays/actors/ovl_Obj_Kendo_Kanban/z_obj_kendo_kanban.c b/src/overlays/actors/ovl_Obj_Kendo_Kanban/z_obj_kendo_kanban.c index 55482936c4..6d3a16e566 100644 --- a/src/overlays/actors/ovl_Obj_Kendo_Kanban/z_obj_kendo_kanban.c +++ b/src/overlays/actors/ovl_Obj_Kendo_Kanban/z_obj_kendo_kanban.c @@ -9,6 +9,10 @@ void ObjKendoKanban_Destroy(Actor* thisx, GlobalContext* globalCtx); void ObjKendoKanban_Update(Actor* thisx, GlobalContext* globalCtx); void ObjKendoKanban_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80B65894(ObjKendoKanban* this, GlobalContext* globalCtx); +void func_80B65CE0(ObjKendoKanban* this, GlobalContext* globalCtx); +void func_80B65D68(ObjKendoKanban* this, GlobalContext* globalCtx); + #if 0 const ActorInit Obj_Kendo_Kanban_InitVars = { ACTOR_OBJ_KENDO_KANBAN, @@ -22,7 +26,6 @@ const ActorInit Obj_Kendo_Kanban_InitVars = { (ActorFunc)ObjKendoKanban_Draw, }; - // static ColliderTrisElementInit sTrisElementsInit[2] = { static ColliderTrisElementInit D_80B6673C[2] = { { @@ -41,7 +44,6 @@ static ColliderTrisInit D_80B667B4 = { 2, D_80B6673C, // sTrisElementsInit, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80B667C4 = { { COLTYPE_TREE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -49,7 +51,6 @@ static ColliderCylinderInit D_80B667C4 = { { 33, 80, 0, { 0, 0, 0 } }, }; - // static DamageTable sDamageTable = { static DamageTable D_80B667F0 = { /* Deku Nut */ DMG_ENTRY(0, 0x0), @@ -86,40 +87,41 @@ static DamageTable D_80B667F0 = { /* Powder Keg */ DMG_ENTRY(0, 0x0), }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_80B66810 = { 8, 0, 0, 0, MASS_HEAVY }; +#endif extern ColliderTrisElementInit D_80B6673C[2]; extern ColliderTrisInit D_80B667B4; extern ColliderCylinderInit D_80B667C4; extern DamageTable D_80B667F0; extern CollisionCheckInfoInit2 D_80B66810; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Kendo_Kanban_0x80B654C0/ObjKendoKanban_Init.asm") +extern UNK_TYPE D_06000180; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Kendo_Kanban_0x80B654C0/ObjKendoKanban_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Kendo_Kanban/ObjKendoKanban_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Kendo_Kanban_0x80B654C0/func_80B65880.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Kendo_Kanban/ObjKendoKanban_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Kendo_Kanban_0x80B654C0/func_80B65894.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Kendo_Kanban/func_80B65880.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Kendo_Kanban_0x80B654C0/func_80B658A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Kendo_Kanban/func_80B65894.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Kendo_Kanban_0x80B654C0/func_80B65CE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Kendo_Kanban/func_80B658A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Kendo_Kanban_0x80B654C0/func_80B65D54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Kendo_Kanban/func_80B65CE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Kendo_Kanban_0x80B654C0/func_80B65D68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Kendo_Kanban/func_80B65D54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Kendo_Kanban_0x80B654C0/func_80B65DA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Kendo_Kanban/func_80B65D68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Kendo_Kanban_0x80B654C0/func_80B6618C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Kendo_Kanban/func_80B65DA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Kendo_Kanban_0x80B654C0/func_80B66304.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Kendo_Kanban/func_80B6618C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Kendo_Kanban_0x80B654C0/ObjKendoKanban_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Kendo_Kanban/func_80B66304.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Kendo_Kanban_0x80B654C0/ObjKendoKanban_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Kendo_Kanban/ObjKendoKanban_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Kendo_Kanban/ObjKendoKanban_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Kendo_Kanban/z_obj_kendo_kanban.h b/src/overlays/actors/ovl_Obj_Kendo_Kanban/z_obj_kendo_kanban.h index 6a6fce48f8..4435d989e1 100644 --- a/src/overlays/actors/ovl_Obj_Kendo_Kanban/z_obj_kendo_kanban.h +++ b/src/overlays/actors/ovl_Obj_Kendo_Kanban/z_obj_kendo_kanban.h @@ -1,13 +1,17 @@ #ifndef Z_OBJ_KENDO_KANBAN_H #define Z_OBJ_KENDO_KANBAN_H -#include +#include "global.h" struct ObjKendoKanban; +typedef void (*ObjKendoKanbanActionFunc)(struct ObjKendoKanban* this, GlobalContext* globalCtx); + typedef struct ObjKendoKanban { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x1CC]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x124]; + /* 0x0268 */ ObjKendoKanbanActionFunc actionFunc; + /* 0x026C */ char unk_26C[0xA4]; } ObjKendoKanban; // size = 0x310 extern const ActorInit Obj_Kendo_Kanban_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Kepn_Koya/z_obj_kepn_koya.h b/src/overlays/actors/ovl_Obj_Kepn_Koya/z_obj_kepn_koya.h index e7e9a470a8..ce33c0112c 100644 --- a/src/overlays/actors/ovl_Obj_Kepn_Koya/z_obj_kepn_koya.h +++ b/src/overlays/actors/ovl_Obj_Kepn_Koya/z_obj_kepn_koya.h @@ -1,7 +1,7 @@ #ifndef Z_OBJ_KEPN_KOYA_H #define Z_OBJ_KEPN_KOYA_H -#include +#include "global.h" struct ObjKepnKoya; diff --git a/src/overlays/actors/ovl_Obj_Kibako/z_obj_kibako.c b/src/overlays/actors/ovl_Obj_Kibako/z_obj_kibako.c index 3a26d2c343..44fd407bb8 100644 --- a/src/overlays/actors/ovl_Obj_Kibako/z_obj_kibako.c +++ b/src/overlays/actors/ovl_Obj_Kibako/z_obj_kibako.c @@ -60,6 +60,9 @@ static ColliderCylinderInit sCylinderInit = { { 15, 30, 0, { 0, 0, 0 } }, }; +extern Gfx D_06001A70[]; +extern Gfx D_06001180[]; + static s16 sObjectIdList[] = { GAMEPLAY_DANGEON_KEEP, OBJECT_KIBAKO }; static Gfx* sKakeraDisplayLists[] = { D_05007980, D_06001A70 }; diff --git a/src/overlays/actors/ovl_Obj_Kibako/z_obj_kibako.h b/src/overlays/actors/ovl_Obj_Kibako/z_obj_kibako.h index d9c47ddb7f..6dfc24042d 100644 --- a/src/overlays/actors/ovl_Obj_Kibako/z_obj_kibako.h +++ b/src/overlays/actors/ovl_Obj_Kibako/z_obj_kibako.h @@ -1,13 +1,9 @@ #ifndef Z_OBJ_KIBAKO_H #define Z_OBJ_KIBAKO_H -#include +#include "global.h" #define GET_KIBAKO_COLLECTIBLE_ID(x) (((x->actor.params >> 0x8) & 0x7F) << 8) -#define D_05007890 0x05007890 -#define D_05007980 0x05007980 -#define D_06001180 0x06001180 -#define D_06001A70 0x06001A70 struct ObjKibako; @@ -25,6 +21,4 @@ typedef struct ObjKibako { extern const ActorInit Obj_Kibako_InitVars; - - #endif // Z_OBJ_KIBAKO_H diff --git a/src/overlays/actors/ovl_Obj_Kibako2/z_obj_kibako2.c b/src/overlays/actors/ovl_Obj_Kibako2/z_obj_kibako2.c index 924b479544..36c01554c9 100644 --- a/src/overlays/actors/ovl_Obj_Kibako2/z_obj_kibako2.c +++ b/src/overlays/actors/ovl_Obj_Kibako2/z_obj_kibako2.c @@ -22,7 +22,6 @@ const ActorInit Obj_Kibako2_InitVars = { (ActorFunc)ObjKibako2_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_8098EE60 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_NONE, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -30,7 +29,6 @@ static ColliderCylinderInit D_8098EE60 = { { 31, 48, 0, { 0, 0, 0 } }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_8098EE8C[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_CONTINUE), @@ -39,31 +37,35 @@ static InitChainEntry D_8098EE8C[] = { ICHAIN_F32(uncullZoneDownward, 200, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_8098EE60; extern InitChainEntry D_8098EE8C[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Kibako2_0x8098E5C0/func_8098E5C0.asm") +extern UNK_TYPE D_06000960; +extern UNK_TYPE D_06000B70; +extern UNK_TYPE D_06001040; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Kibako2_0x8098E5C0/func_8098E62C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Kibako2/func_8098E5C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Kibako2_0x8098E5C0/func_8098E8A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Kibako2/func_8098E62C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Kibako2_0x8098E5C0/func_8098E900.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Kibako2/func_8098E8A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Kibako2_0x8098E5C0/func_8098E9C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Kibako2/func_8098E900.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Kibako2_0x8098E5C0/ObjKibako2_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Kibako2/func_8098E9C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Kibako2_0x8098E5C0/ObjKibako2_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Kibako2/ObjKibako2_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Kibako2_0x8098E5C0/func_8098EB78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Kibako2/ObjKibako2_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Kibako2_0x8098E5C0/func_8098EC68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Kibako2/func_8098EB78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Kibako2_0x8098E5C0/func_8098ED20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Kibako2/func_8098EC68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Kibako2_0x8098E5C0/ObjKibako2_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Kibako2/func_8098ED20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Kibako2_0x8098E5C0/ObjKibako2_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Kibako2/ObjKibako2_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Kibako2/ObjKibako2_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Kibako2/z_obj_kibako2.h b/src/overlays/actors/ovl_Obj_Kibako2/z_obj_kibako2.h index 1bd77a2706..008bf0d139 100644 --- a/src/overlays/actors/ovl_Obj_Kibako2/z_obj_kibako2.h +++ b/src/overlays/actors/ovl_Obj_Kibako2/z_obj_kibako2.h @@ -1,13 +1,17 @@ #ifndef Z_OBJ_KIBAKO2_H #define Z_OBJ_KIBAKO2_H -#include +#include "global.h" struct ObjKibako2; +typedef void (*ObjKibako2ActionFunc)(struct ObjKibako2* this, GlobalContext* globalCtx); + typedef struct ObjKibako2 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x6C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x64]; + /* 0x01A8 */ ObjKibako2ActionFunc actionFunc; + /* 0x01AC */ char unk_1AC[0x4]; } ObjKibako2; // size = 0x1B0 extern const ActorInit Obj_Kibako2_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Kinoko/z_obj_kinoko.c b/src/overlays/actors/ovl_Obj_Kinoko/z_obj_kinoko.c index 9a3f5f3ad0..3a5e17df30 100644 --- a/src/overlays/actors/ovl_Obj_Kinoko/z_obj_kinoko.c +++ b/src/overlays/actors/ovl_Obj_Kinoko/z_obj_kinoko.c @@ -24,10 +24,10 @@ const ActorInit Obj_Kinoko_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Kinoko_0x80BB4700/ObjKinoko_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Kinoko/ObjKinoko_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Kinoko_0x80BB4700/ObjKinoko_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Kinoko/ObjKinoko_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Kinoko_0x80BB4700/ObjKinoko_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Kinoko/ObjKinoko_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Kinoko_0x80BB4700/ObjKinoko_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Kinoko/ObjKinoko_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Kinoko/z_obj_kinoko.h b/src/overlays/actors/ovl_Obj_Kinoko/z_obj_kinoko.h index 720a5dee66..9ae26adf9d 100644 --- a/src/overlays/actors/ovl_Obj_Kinoko/z_obj_kinoko.h +++ b/src/overlays/actors/ovl_Obj_Kinoko/z_obj_kinoko.h @@ -1,7 +1,7 @@ #ifndef Z_OBJ_KINOKO_H #define Z_OBJ_KINOKO_H -#include +#include "global.h" struct ObjKinoko; diff --git a/src/overlays/actors/ovl_Obj_Kzsaku/z_obj_kzsaku.c b/src/overlays/actors/ovl_Obj_Kzsaku/z_obj_kzsaku.c index 0354e4e929..8153c8556f 100644 --- a/src/overlays/actors/ovl_Obj_Kzsaku/z_obj_kzsaku.c +++ b/src/overlays/actors/ovl_Obj_Kzsaku/z_obj_kzsaku.c @@ -24,22 +24,25 @@ const ActorInit Obj_Kzsaku_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Kzsaku_0x80C08A80/ObjKzsaku_Init.asm") +extern UNK_TYPE D_06000040; +extern UNK_TYPE D_06001118; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Kzsaku_0x80C08A80/ObjKzsaku_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Kzsaku/ObjKzsaku_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Kzsaku_0x80C08A80/func_80C08B60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Kzsaku/ObjKzsaku_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Kzsaku_0x80C08A80/func_80C08B7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Kzsaku/func_80C08B60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Kzsaku_0x80C08A80/func_80C08BBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Kzsaku/func_80C08B7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Kzsaku_0x80C08A80/func_80C08BD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Kzsaku/func_80C08BBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Kzsaku_0x80C08A80/func_80C08C84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Kzsaku/func_80C08BD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Kzsaku_0x80C08A80/func_80C08CB0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Kzsaku/func_80C08C84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Kzsaku_0x80C08A80/ObjKzsaku_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Kzsaku/func_80C08CB0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Kzsaku_0x80C08A80/ObjKzsaku_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Kzsaku/ObjKzsaku_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Kzsaku/ObjKzsaku_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Kzsaku/z_obj_kzsaku.h b/src/overlays/actors/ovl_Obj_Kzsaku/z_obj_kzsaku.h index 765ddc9028..162c192019 100644 --- a/src/overlays/actors/ovl_Obj_Kzsaku/z_obj_kzsaku.h +++ b/src/overlays/actors/ovl_Obj_Kzsaku/z_obj_kzsaku.h @@ -1,13 +1,17 @@ #ifndef Z_OBJ_KZSAKU_H #define Z_OBJ_KZSAKU_H -#include +#include "global.h" struct ObjKzsaku; +typedef void (*ObjKzsakuActionFunc)(struct ObjKzsaku* this, GlobalContext* globalCtx); + typedef struct ObjKzsaku { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x28]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x18]; + /* 0x015C */ ObjKzsakuActionFunc actionFunc; + /* 0x0160 */ char unk_160[0xC]; } ObjKzsaku; // size = 0x16C extern const ActorInit Obj_Kzsaku_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Lift/z_obj_lift.c b/src/overlays/actors/ovl_Obj_Lift/z_obj_lift.c index 116984b42c..c1d56bf8d8 100644 --- a/src/overlays/actors/ovl_Obj_Lift/z_obj_lift.c +++ b/src/overlays/actors/ovl_Obj_Lift/z_obj_lift.c @@ -22,7 +22,6 @@ const ActorInit Obj_Lift_InitVars = { (ActorFunc)ObjLift_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_8093DD84[] = { ICHAIN_F32_DIV1000(gravity, -600, ICHAIN_CONTINUE), @@ -32,34 +31,37 @@ static InitChainEntry D_8093DD84[] = { ICHAIN_F32(uncullZoneDownward, 350, ICHAIN_STOP), }; - -extern InitChainEntry D_8093DD84[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Lift_0x8093D3C0/func_8093D3C0.asm") +extern InitChainEntry D_8093DD84[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Lift_0x8093D3C0/ObjLift_Init.asm") +extern UNK_TYPE D_06000D10; +extern UNK_TYPE D_06000F00; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Lift_0x8093D3C0/ObjLift_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Lift/func_8093D3C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Lift_0x8093D3C0/func_8093D760.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Lift/ObjLift_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Lift_0x8093D3C0/func_8093D7A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Lift/ObjLift_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Lift_0x8093D3C0/func_8093D88C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Lift/func_8093D760.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Lift_0x8093D3C0/func_8093D8B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Lift/func_8093D7A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Lift_0x8093D3C0/func_8093D9C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Lift/func_8093D88C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Lift_0x8093D3C0/func_8093DA48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Lift/func_8093D8B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Lift_0x8093D3C0/func_8093DB70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Lift/func_8093D9C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Lift_0x8093D3C0/func_8093DB90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Lift/func_8093DA48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Lift_0x8093D3C0/ObjLift_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Lift/func_8093DB70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Lift_0x8093D3C0/ObjLift_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Lift/func_8093DB90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Lift_0x8093D3C0/func_8093DC90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Lift/ObjLift_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Lift/ObjLift_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Lift/func_8093DC90.s") diff --git a/src/overlays/actors/ovl_Obj_Lift/z_obj_lift.h b/src/overlays/actors/ovl_Obj_Lift/z_obj_lift.h index 2dc7e28c24..66c573f2c0 100644 --- a/src/overlays/actors/ovl_Obj_Lift/z_obj_lift.h +++ b/src/overlays/actors/ovl_Obj_Lift/z_obj_lift.h @@ -1,13 +1,17 @@ #ifndef Z_OBJ_LIFT_H #define Z_OBJ_LIFT_H -#include +#include "global.h" struct ObjLift; +typedef void (*ObjLiftActionFunc)(struct ObjLift* this, GlobalContext* globalCtx); + typedef struct ObjLift { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x38]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x18]; + /* 0x015C */ ObjLiftActionFunc actionFunc; + /* 0x0160 */ char unk_160[0x1C]; } ObjLift; // size = 0x17C extern const ActorInit Obj_Lift_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Lightblock/z_obj_lightblock.c b/src/overlays/actors/ovl_Obj_Lightblock/z_obj_lightblock.c index d9b722c06d..01231aec8c 100644 --- a/src/overlays/actors/ovl_Obj_Lightblock/z_obj_lightblock.c +++ b/src/overlays/actors/ovl_Obj_Lightblock/z_obj_lightblock.c @@ -22,7 +22,6 @@ const ActorInit Obj_Lightblock_InitVars = { (ActorFunc)ObjLightblock_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80AF3EA0 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER | AC_TYPE_OTHER, OC1_NONE, OC2_NONE, COLSHAPE_CYLINDER, }, @@ -30,7 +29,6 @@ static ColliderCylinderInit D_80AF3EA0 = { { 84, 120, 0, { 0, 0, 0 } }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80AF3EEC[] = { ICHAIN_F32(uncullZoneForward, 4000, ICHAIN_CONTINUE), @@ -38,29 +36,32 @@ static InitChainEntry D_80AF3EEC[] = { ICHAIN_F32(uncullZoneDownward, 500, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80AF3EA0; extern InitChainEntry D_80AF3EEC[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Lightblock_0x80AF3910/func_80AF3910.asm") +extern UNK_TYPE D_06000178; +extern UNK_TYPE D_06000B80; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Lightblock_0x80AF3910/ObjLightblock_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Lightblock/func_80AF3910.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Lightblock_0x80AF3910/ObjLightblock_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Lightblock/ObjLightblock_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Lightblock_0x80AF3910/func_80AF3AC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Lightblock/ObjLightblock_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Lightblock_0x80AF3910/func_80AF3ADC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Lightblock/func_80AF3AC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Lightblock_0x80AF3910/func_80AF3B8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Lightblock/func_80AF3ADC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Lightblock_0x80AF3910/func_80AF3BA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Lightblock/func_80AF3B8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Lightblock_0x80AF3910/func_80AF3C18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Lightblock/func_80AF3BA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Lightblock_0x80AF3910/func_80AF3C34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Lightblock/func_80AF3C18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Lightblock_0x80AF3910/ObjLightblock_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Lightblock/func_80AF3C34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Lightblock_0x80AF3910/ObjLightblock_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Lightblock/ObjLightblock_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Lightblock/ObjLightblock_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Lightblock/z_obj_lightblock.h b/src/overlays/actors/ovl_Obj_Lightblock/z_obj_lightblock.h index 65894acafb..afe0c89ba2 100644 --- a/src/overlays/actors/ovl_Obj_Lightblock/z_obj_lightblock.h +++ b/src/overlays/actors/ovl_Obj_Lightblock/z_obj_lightblock.h @@ -1,13 +1,17 @@ #ifndef Z_OBJ_LIGHTBLOCK_H #define Z_OBJ_LIGHTBLOCK_H -#include +#include "global.h" struct ObjLightblock; +typedef void (*ObjLightblockActionFunc)(struct ObjLightblock* this, GlobalContext* globalCtx); + typedef struct ObjLightblock { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x6C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x64]; + /* 0x01A8 */ ObjLightblockActionFunc actionFunc; + /* 0x01AC */ char unk_1AC[0x4]; } ObjLightblock; // size = 0x1B0 extern const ActorInit Obj_Lightblock_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Lightswitch/z_obj_lightswitch.c b/src/overlays/actors/ovl_Obj_Lightswitch/z_obj_lightswitch.c index 49a8d49a6e..c6b2daf665 100644 --- a/src/overlays/actors/ovl_Obj_Lightswitch/z_obj_lightswitch.c +++ b/src/overlays/actors/ovl_Obj_Lightswitch/z_obj_lightswitch.c @@ -23,6 +23,9 @@ void ObjLightswitch_Idle(ObjLightswitch* this, GlobalContext* globalCtx); extern Gfx D_06000260[]; extern Gfx D_06000398[]; extern Gfx D_06000408[]; +extern Gfx D_06000C20[]; +extern Gfx D_06000420[]; +extern Gfx D_06001420[]; const ActorInit Obj_Lightswitch_InitVars = { ACTOR_OBJ_LIGHTSWITCH, @@ -367,9 +370,9 @@ void ObjLightSwitch_DrawOpa(ObjLightswitch* this, GlobalContext* globalCtx) { OPEN_DISPS(globalCtx->state.gfxCtx); func_8012C28C(globalCtx->state.gfxCtx); - gDPSetEnvColor(POLY_OPA_DISP++, (u8)(this->colorR >> 6), (u8)(this->colorG >> 6), (0, (u8)(this->colorB >> 6)), - (u8)(this->colorAlpha >> 6)); - gSPSegment(POLY_OPA_DISP++, 0x09, &D_801AEFA0); + gDPSetEnvColor(POLY_OPA_DISP++, (u8)(this->colorR >> 6), (u8)(this->colorG >> 6), + ((void)0, (u8)(this->colorB >> 6)), (u8)(this->colorAlpha >> 6)); + gSPSegment(POLY_OPA_DISP++, 0x09, D_801AEFA0); tempPos.x = this->actor.world.pos.x; tempPos.y = this->actor.world.pos.y + (this->actor.shape.yOffset * this->actor.scale.y); @@ -403,9 +406,9 @@ void ObjLightSwitch_DrawXlu(ObjLightswitch* this, GlobalContext* globalCtx) { OPEN_DISPS(globalCtx->state.gfxCtx); func_8012C2DC(globalCtx->state.gfxCtx); - gDPSetEnvColor(POLY_XLU_DISP++, (u8)(this->colorR >> 6), (u8)(this->colorG >> 6), (0, (u8)(this->colorB >> 6)), - (u8)(this->colorAlpha >> 6)); - gSPSegment(POLY_XLU_DISP++, 0x09, &D_801AEF88); + gDPSetEnvColor(POLY_XLU_DISP++, (u8)(this->colorR >> 6), (u8)(this->colorG >> 6), + ((void)0, (u8)(this->colorB >> 6)), (u8)(this->colorAlpha >> 6)); + gSPSegment(POLY_XLU_DISP++, 0x09, D_801AEF88); tempPos.x = this->actor.world.pos.x; tempPos.y = this->actor.world.pos.y + (this->actor.shape.yOffset * this->actor.scale.y); diff --git a/src/overlays/actors/ovl_Obj_Lightswitch/z_obj_lightswitch.h b/src/overlays/actors/ovl_Obj_Lightswitch/z_obj_lightswitch.h index 1b5e1f1e34..6bd9dde17a 100644 --- a/src/overlays/actors/ovl_Obj_Lightswitch/z_obj_lightswitch.h +++ b/src/overlays/actors/ovl_Obj_Lightswitch/z_obj_lightswitch.h @@ -1,7 +1,7 @@ #ifndef Z_OBJ_LIGHTSWITCH_H #define Z_OBJ_LIGHTSWITCH_H -#include +#include "global.h" struct ObjLightswitch; @@ -31,16 +31,6 @@ typedef struct ObjLightswitch { extern const ActorInit Obj_Lightswitch_InitVars; -extern Gfx D_06000C20[]; -extern Gfx D_06000420[]; -extern Gfx D_06001420[]; - -// opa func -extern s32 D_801AEFA0; - -// xlu func -extern s32 D_801AEF88; - #define LIGHTSWITCH_FACE_ASLEEP 0 #define LIGHTSWITCH_FACE_WAKING 1 #define LIGHTSWITCH_FACE_FULLAWAKE 2 diff --git a/src/overlays/actors/ovl_Obj_Lupygamelift/z_obj_lupygamelift.c b/src/overlays/actors/ovl_Obj_Lupygamelift/z_obj_lupygamelift.c index c887057692..81141154a2 100644 --- a/src/overlays/actors/ovl_Obj_Lupygamelift/z_obj_lupygamelift.c +++ b/src/overlays/actors/ovl_Obj_Lupygamelift/z_obj_lupygamelift.c @@ -22,7 +22,6 @@ const ActorInit Obj_Lupygamelift_InitVars = { (ActorFunc)ObjLupygamelift_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80AF0740[] = { ICHAIN_F32(uncullZoneForward, 4000, ICHAIN_CONTINUE), @@ -31,24 +30,27 @@ static InitChainEntry D_80AF0740[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), }; - -extern InitChainEntry D_80AF0740[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Lupygamelift_0x80AF0170/ObjLupygamelift_Init.asm") +extern InitChainEntry D_80AF0740[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Lupygamelift_0x80AF0170/ObjLupygamelift_Destroy.asm") +extern UNK_TYPE D_060048D0; +extern UNK_TYPE D_060071B8; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Lupygamelift_0x80AF0170/func_80AF0394.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Lupygamelift/ObjLupygamelift_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Lupygamelift_0x80AF0170/func_80AF04BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Lupygamelift/ObjLupygamelift_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Lupygamelift_0x80AF0170/func_80AF04D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Lupygamelift/func_80AF0394.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Lupygamelift_0x80AF0170/func_80AF0514.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Lupygamelift/func_80AF04BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Lupygamelift_0x80AF0170/func_80AF0530.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Lupygamelift/func_80AF04D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Lupygamelift_0x80AF0170/ObjLupygamelift_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Lupygamelift/func_80AF0514.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Lupygamelift_0x80AF0170/ObjLupygamelift_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Lupygamelift/func_80AF0530.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Lupygamelift/ObjLupygamelift_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Lupygamelift/ObjLupygamelift_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Lupygamelift/z_obj_lupygamelift.h b/src/overlays/actors/ovl_Obj_Lupygamelift/z_obj_lupygamelift.h index d3feed31a5..4280c0644e 100644 --- a/src/overlays/actors/ovl_Obj_Lupygamelift/z_obj_lupygamelift.h +++ b/src/overlays/actors/ovl_Obj_Lupygamelift/z_obj_lupygamelift.h @@ -1,13 +1,17 @@ #ifndef Z_OBJ_LUPYGAMELIFT_H #define Z_OBJ_LUPYGAMELIFT_H -#include +#include "global.h" struct ObjLupygamelift; +typedef void (*ObjLupygameliftActionFunc)(struct ObjLupygamelift* this, GlobalContext* globalCtx); + typedef struct ObjLupygamelift { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x30]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x18]; + /* 0x015C */ ObjLupygameliftActionFunc actionFunc; + /* 0x0160 */ char unk_160[0x14]; } ObjLupygamelift; // size = 0x174 extern const ActorInit Obj_Lupygamelift_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Makekinsuta/z_obj_makekinsuta.c b/src/overlays/actors/ovl_Obj_Makekinsuta/z_obj_makekinsuta.c index 79ed5c41d3..b8a8e1b30b 100644 --- a/src/overlays/actors/ovl_Obj_Makekinsuta/z_obj_makekinsuta.c +++ b/src/overlays/actors/ovl_Obj_Makekinsuta/z_obj_makekinsuta.c @@ -21,7 +21,6 @@ const ActorInit Obj_Makekinsuta_InitVars = { (ActorFunc)NULL, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_8099FE30[] = { ICHAIN_F32(uncullZoneForward, 1, ICHAIN_CONTINUE), @@ -29,18 +28,18 @@ static InitChainEntry D_8099FE30[] = { ICHAIN_F32(uncullZoneDownward, 1, ICHAIN_STOP), }; - -extern InitChainEntry D_8099FE30[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Makekinsuta_0x8099FA40/func_8099FA40.asm") +extern InitChainEntry D_8099FE30[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Makekinsuta_0x8099FA40/ObjMakekinsuta_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Makekinsuta/func_8099FA40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Makekinsuta_0x8099FA40/ObjMakekinsuta_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Makekinsuta/ObjMakekinsuta_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Makekinsuta_0x8099FA40/func_8099FB64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Makekinsuta/ObjMakekinsuta_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Makekinsuta_0x8099FA40/ObjMakekinsuta_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Makekinsuta/func_8099FB64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Makekinsuta_0x8099FA40/func_8099FD7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Makekinsuta/ObjMakekinsuta_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Makekinsuta/func_8099FD7C.s") diff --git a/src/overlays/actors/ovl_Obj_Makekinsuta/z_obj_makekinsuta.h b/src/overlays/actors/ovl_Obj_Makekinsuta/z_obj_makekinsuta.h index 1446bb4d10..57c855179d 100644 --- a/src/overlays/actors/ovl_Obj_Makekinsuta/z_obj_makekinsuta.h +++ b/src/overlays/actors/ovl_Obj_Makekinsuta/z_obj_makekinsuta.h @@ -1,7 +1,7 @@ #ifndef Z_OBJ_MAKEKINSUTA_H #define Z_OBJ_MAKEKINSUTA_H -#include +#include "global.h" struct ObjMakekinsuta; diff --git a/src/overlays/actors/ovl_Obj_Makeoshihiki/z_obj_makeoshihiki.c b/src/overlays/actors/ovl_Obj_Makeoshihiki/z_obj_makeoshihiki.c index 3578e14b58..7bb2d14716 100644 --- a/src/overlays/actors/ovl_Obj_Makeoshihiki/z_obj_makeoshihiki.c +++ b/src/overlays/actors/ovl_Obj_Makeoshihiki/z_obj_makeoshihiki.c @@ -22,10 +22,10 @@ const ActorInit Obj_Makeoshihiki_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Makeoshihiki_0x80972350/func_80972350.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Makeoshihiki/func_80972350.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Makeoshihiki_0x80972350/func_809723C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Makeoshihiki/func_809723C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Makeoshihiki_0x80972350/ObjMakeoshihiki_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Makeoshihiki/ObjMakeoshihiki_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Makeoshihiki_0x80972350/ObjMakeoshihiki_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Makeoshihiki/ObjMakeoshihiki_Update.s") diff --git a/src/overlays/actors/ovl_Obj_Makeoshihiki/z_obj_makeoshihiki.h b/src/overlays/actors/ovl_Obj_Makeoshihiki/z_obj_makeoshihiki.h index b1bd486992..1bb0c98bb5 100644 --- a/src/overlays/actors/ovl_Obj_Makeoshihiki/z_obj_makeoshihiki.h +++ b/src/overlays/actors/ovl_Obj_Makeoshihiki/z_obj_makeoshihiki.h @@ -1,7 +1,7 @@ #ifndef Z_OBJ_MAKEOSHIHIKI_H #define Z_OBJ_MAKEOSHIHIKI_H -#include +#include "global.h" struct ObjMakeoshihiki; diff --git a/src/overlays/actors/ovl_Obj_Milk_Bin/z_obj_milk_bin.h b/src/overlays/actors/ovl_Obj_Milk_Bin/z_obj_milk_bin.h index 93b0a436bb..6bba9c014e 100644 --- a/src/overlays/actors/ovl_Obj_Milk_Bin/z_obj_milk_bin.h +++ b/src/overlays/actors/ovl_Obj_Milk_Bin/z_obj_milk_bin.h @@ -1,7 +1,7 @@ #ifndef Z_OBJ_MILK_BIN_H #define Z_OBJ_MILK_BIN_H -#include +#include "global.h" struct ObjMilkBin; diff --git a/src/overlays/actors/ovl_Obj_Mine/z_obj_mine.c b/src/overlays/actors/ovl_Obj_Mine/z_obj_mine.c index 84d9c5500a..a1f127eaae 100644 --- a/src/overlays/actors/ovl_Obj_Mine/z_obj_mine.c +++ b/src/overlays/actors/ovl_Obj_Mine/z_obj_mine.c @@ -22,7 +22,6 @@ const ActorInit Obj_Mine_InitVars = { (ActorFunc)ObjMine_Draw, }; - // static ColliderJntSphElementInit sJntSphElementsInit[1] = { static ColliderJntSphElementInit D_80A84570[1] = { { @@ -37,7 +36,6 @@ static ColliderJntSphInit D_80A84594 = { 1, D_80A84570, // sJntSphElementsInit, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80A845E8[] = { ICHAIN_F32(uncullZoneForward, 1300, ICHAIN_CONTINUE), @@ -46,102 +44,105 @@ static InitChainEntry D_80A845E8[] = { ICHAIN_VEC3F_DIV1000(scale, 10, ICHAIN_STOP), }; +#endif extern ColliderJntSphElementInit D_80A84570[1]; extern ColliderJntSphInit D_80A84594; extern InitChainEntry D_80A845E8[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/func_80A811D0.asm") +extern UNK_TYPE D_06000030; +extern UNK_TYPE D_06002068; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/func_80A8120C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/func_80A811D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/func_80A81288.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/func_80A8120C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/func_80A8131C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/func_80A81288.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/func_80A81384.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/func_80A8131C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/func_80A8140C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/func_80A81384.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/func_80A8146C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/func_80A8140C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/func_80A81544.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/func_80A8146C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/func_80A81640.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/func_80A81544.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/func_80A8164C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/func_80A81640.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/func_80A81684.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/func_80A8164C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/func_80A81714.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/func_80A81684.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/func_80A81818.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/func_80A81714.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/func_80A81868.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/func_80A81818.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/func_80A819A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/func_80A81868.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/func_80A81A00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/func_80A819A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/func_80A81AA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/func_80A81A00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/func_80A81B14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/func_80A81AA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/func_80A81B7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/func_80A81B14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/func_80A81D70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/func_80A81B7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/func_80A81DEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/func_80A81D70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/func_80A81E7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/func_80A81DEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/func_80A81FFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/func_80A81E7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/func_80A828A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/func_80A81FFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/func_80A82C28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/func_80A828A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/ObjMine_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/func_80A82C28.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/ObjMine_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/ObjMine_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/func_80A82F84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/ObjMine_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/func_80A82F98.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/func_80A82F84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/func_80A82FA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/func_80A82F98.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/func_80A82FC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/func_80A82FA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/func_80A83214.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/func_80A82FC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/func_80A83258.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/func_80A83214.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/func_80A832BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/func_80A83258.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/func_80A832D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/func_80A832BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/func_80A83A74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/func_80A832D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/func_80A83A88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/func_80A83A74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/func_80A83B14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/func_80A83A88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/func_80A83B28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/func_80A83B14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/func_80A83CEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/func_80A83B28.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/func_80A83D00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/func_80A83CEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/ObjMine_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/func_80A83D00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/func_80A83E7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/ObjMine_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/ObjMine_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/func_80A83E7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/func_80A83FBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/ObjMine_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/func_80A84088.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/func_80A83FBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mine_0x80A811D0/func_80A84338.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/func_80A84088.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mine/func_80A84338.s") diff --git a/src/overlays/actors/ovl_Obj_Mine/z_obj_mine.h b/src/overlays/actors/ovl_Obj_Mine/z_obj_mine.h index 3de93be78a..cd590fd67d 100644 --- a/src/overlays/actors/ovl_Obj_Mine/z_obj_mine.h +++ b/src/overlays/actors/ovl_Obj_Mine/z_obj_mine.h @@ -1,13 +1,17 @@ #ifndef Z_OBJ_MINE_H #define Z_OBJ_MINE_H -#include +#include "global.h" struct ObjMine; +typedef void (*ObjMineActionFunc)(struct ObjMine* this, GlobalContext* globalCtx); + typedef struct ObjMine { /* 0x0000 */ Actor actor; - /* 0x0144 */ char unk_0144[0x1270]; + /* 0x0144 */ char unk_144[0x60]; + /* 0x01A4 */ ObjMineActionFunc actionFunc; + /* 0x01A8 */ char unk_1A8[0x120C]; } ObjMine; // size = 0x13B4 extern const ActorInit Obj_Mine_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Moon_Stone/z_obj_moon_stone.h b/src/overlays/actors/ovl_Obj_Moon_Stone/z_obj_moon_stone.h index 2e0b798bd9..0790384972 100644 --- a/src/overlays/actors/ovl_Obj_Moon_Stone/z_obj_moon_stone.h +++ b/src/overlays/actors/ovl_Obj_Moon_Stone/z_obj_moon_stone.h @@ -1,7 +1,7 @@ #ifndef Z_OBJ_MOON_STONE_H #define Z_OBJ_MOON_STONE_H -#include +#include "global.h" struct ObjMoonStone; diff --git a/src/overlays/actors/ovl_Obj_Mu_Pict/z_obj_mu_pict.h b/src/overlays/actors/ovl_Obj_Mu_Pict/z_obj_mu_pict.h index f7065ff1cb..eceebab1c8 100644 --- a/src/overlays/actors/ovl_Obj_Mu_Pict/z_obj_mu_pict.h +++ b/src/overlays/actors/ovl_Obj_Mu_Pict/z_obj_mu_pict.h @@ -1,7 +1,7 @@ #ifndef Z_OBJ_MU_PICT_H #define Z_OBJ_MU_PICT_H -#include +#include "global.h" struct ObjMuPict; @@ -19,5 +19,4 @@ typedef struct ObjMuPict { extern const ActorInit Obj_Mu_Pict_InitVars; - #endif // Z_OBJ_MU_PICT_H diff --git a/src/overlays/actors/ovl_Obj_Mure/z_obj_mure.c b/src/overlays/actors/ovl_Obj_Mure/z_obj_mure.c index a989c5b926..22efe55d9c 100644 --- a/src/overlays/actors/ovl_Obj_Mure/z_obj_mure.c +++ b/src/overlays/actors/ovl_Obj_Mure/z_obj_mure.c @@ -8,6 +8,10 @@ void ObjMure_Init(Actor* thisx, GlobalContext* globalCtx); void ObjMure_Destroy(Actor* thisx, GlobalContext* globalCtx); void ObjMure_Update(Actor* thisx, GlobalContext* globalCtx); +void func_808D7FFC(ObjMure* this, GlobalContext* globalCtx); +void func_808D8014(ObjMure* this, GlobalContext* globalCtx); +void func_808D8678(ObjMure* this, GlobalContext* globalCtx); + #if 0 const ActorInit Obj_Mure_InitVars = { ACTOR_OBJ_MURE, @@ -21,7 +25,6 @@ const ActorInit Obj_Mure_InitVars = { (ActorFunc)NULL, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_808D87BC[] = { ICHAIN_F32(uncullZoneForward, 1200, ICHAIN_CONTINUE), @@ -29,46 +32,46 @@ static InitChainEntry D_808D87BC[] = { ICHAIN_F32(uncullZoneDownward, 1200, ICHAIN_STOP), }; - -extern InitChainEntry D_808D87BC[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure_0x808D78D0/func_808D78D0.asm") +extern InitChainEntry D_808D87BC[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure_0x808D78D0/func_808D7928.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure/func_808D78D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure_0x808D78D0/ObjMure_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure/func_808D7928.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure_0x808D78D0/ObjMure_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure/ObjMure_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure_0x808D78D0/func_808D7A14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure/ObjMure_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure_0x808D78D0/func_808D7A40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure/func_808D7A14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure_0x808D78D0/func_808D7A68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure/func_808D7A40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure_0x808D78D0/func_808D7C64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure/func_808D7A68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure_0x808D78D0/func_808D7DC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure/func_808D7C64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure_0x808D78D0/func_808D7E14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure/func_808D7DC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure_0x808D78D0/func_808D7F0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure/func_808D7E14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure_0x808D78D0/func_808D7F2C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure/func_808D7F0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure_0x808D78D0/func_808D7FFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure/func_808D7F2C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure_0x808D78D0/func_808D8014.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure/func_808D7FFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure_0x808D78D0/func_808D8074.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure/func_808D8014.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure_0x808D78D0/func_808D814C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure/func_808D8074.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure_0x808D78D0/func_808D82CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure/func_808D814C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure_0x808D78D0/func_808D84F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure/func_808D82CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure_0x808D78D0/func_808D8678.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure/func_808D84F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure_0x808D78D0/ObjMure_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure/func_808D8678.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure/ObjMure_Update.s") diff --git a/src/overlays/actors/ovl_Obj_Mure/z_obj_mure.h b/src/overlays/actors/ovl_Obj_Mure/z_obj_mure.h index 1fb4e2a8ae..61e3a4f80b 100644 --- a/src/overlays/actors/ovl_Obj_Mure/z_obj_mure.h +++ b/src/overlays/actors/ovl_Obj_Mure/z_obj_mure.h @@ -1,13 +1,16 @@ #ifndef Z_OBJ_MURE_H #define Z_OBJ_MURE_H -#include +#include "global.h" struct ObjMure; +typedef void (*ObjMureActionFunc)(struct ObjMure* this, GlobalContext* globalCtx); + typedef struct ObjMure { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x60]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ ObjMureActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x5C]; } ObjMure; // size = 0x1A4 extern const ActorInit Obj_Mure_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Mure2/z_obj_mure2.c b/src/overlays/actors/ovl_Obj_Mure2/z_obj_mure2.c index 08398dc955..cb04a8170d 100644 --- a/src/overlays/actors/ovl_Obj_Mure2/z_obj_mure2.c +++ b/src/overlays/actors/ovl_Obj_Mure2/z_obj_mure2.c @@ -7,6 +7,10 @@ void ObjMure2_Init(Actor* thisx, GlobalContext* globalCtx); void ObjMure2_Update(Actor* thisx, GlobalContext* globalCtx); +void func_809613C4(ObjMure2* this, GlobalContext* globalCtx); +void func_809613FC(ObjMure2* this, GlobalContext* globalCtx); +void func_80961490(ObjMure2* this, GlobalContext* globalCtx); + #if 0 const ActorInit Obj_Mure2_InitVars = { ACTOR_OBJ_MURE2, @@ -20,7 +24,6 @@ const ActorInit Obj_Mure2_InitVars = { (ActorFunc)NULL, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_809615F4[] = { ICHAIN_F32(uncullZoneForward, 100, ICHAIN_CONTINUE), @@ -28,36 +31,36 @@ static InitChainEntry D_809615F4[] = { ICHAIN_F32(uncullZoneDownward, 100, ICHAIN_STOP), }; - -extern InitChainEntry D_809615F4[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure2_0x80960CF0/func_80960CF0.asm") +extern InitChainEntry D_809615F4[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure2_0x80960CF0/func_80960E0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure2/func_80960CF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure2_0x80960CF0/func_80960F0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure2/func_80960E0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure2_0x80960CF0/func_80961018.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure2/func_80960F0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure2_0x80960CF0/func_8096104C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure2/func_80961018.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure2_0x80960CF0/func_809611BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure2/func_8096104C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure2_0x80960CF0/func_809612BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure2/func_809611BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure2_0x80960CF0/ObjMure2_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure2/func_809612BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure2_0x80960CF0/func_809613B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure2/ObjMure2_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure2_0x80960CF0/func_809613C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure2/func_809613B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure2_0x80960CF0/func_809613E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure2/func_809613C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure2_0x80960CF0/func_809613FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure2/func_809613E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure2_0x80960CF0/func_8096147C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure2/func_809613FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure2_0x80960CF0/func_80961490.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure2/func_8096147C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure2_0x80960CF0/ObjMure2_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure2/func_80961490.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure2/ObjMure2_Update.s") diff --git a/src/overlays/actors/ovl_Obj_Mure2/z_obj_mure2.h b/src/overlays/actors/ovl_Obj_Mure2/z_obj_mure2.h index 69320b5d1a..0f4cda3571 100644 --- a/src/overlays/actors/ovl_Obj_Mure2/z_obj_mure2.h +++ b/src/overlays/actors/ovl_Obj_Mure2/z_obj_mure2.h @@ -1,13 +1,16 @@ #ifndef Z_OBJ_MURE2_H #define Z_OBJ_MURE2_H -#include +#include "global.h" struct ObjMure2; +typedef void (*ObjMure2ActionFunc)(struct ObjMure2* this, GlobalContext* globalCtx); + typedef struct ObjMure2 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x3C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ ObjMure2ActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x38]; } ObjMure2; // size = 0x180 extern const ActorInit Obj_Mure2_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Mure3/z_obj_mure3.c b/src/overlays/actors/ovl_Obj_Mure3/z_obj_mure3.c index 385a7b6644..043c6b8e1a 100644 --- a/src/overlays/actors/ovl_Obj_Mure3/z_obj_mure3.c +++ b/src/overlays/actors/ovl_Obj_Mure3/z_obj_mure3.c @@ -8,6 +8,10 @@ void ObjMure3_Init(Actor* thisx, GlobalContext* globalCtx); void ObjMure3_Destroy(Actor* thisx, GlobalContext* globalCtx); void ObjMure3_Update(Actor* thisx, GlobalContext* globalCtx); +void func_8098F5AC(ObjMure3* this, GlobalContext* globalCtx); +void func_8098F5E4(ObjMure3* this, GlobalContext* globalCtx); +void func_8098F680(ObjMure3* this, GlobalContext* globalCtx); + #if 0 const ActorInit Obj_Mure3_InitVars = { ACTOR_OBJ_MURE3, @@ -21,7 +25,6 @@ const ActorInit Obj_Mure3_InitVars = { (ActorFunc)NULL, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_8098F748[] = { ICHAIN_F32(uncullZoneForward, 100, ICHAIN_CONTINUE), @@ -29,34 +32,34 @@ static InitChainEntry D_8098F748[] = { ICHAIN_F32(uncullZoneDownward, 100, ICHAIN_STOP), }; - -extern InitChainEntry D_8098F748[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure3_0x8098F040/func_8098F040.asm") +extern InitChainEntry D_8098F748[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure3_0x8098F040/func_8098F110.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure3/func_8098F040.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure3_0x8098F040/func_8098F220.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure3/func_8098F110.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure3_0x8098F040/func_8098F364.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure3/func_8098F220.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure3_0x8098F040/func_8098F438.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure3/func_8098F364.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure3_0x8098F040/ObjMure3_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure3/func_8098F438.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure3_0x8098F040/ObjMure3_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure3/ObjMure3_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure3_0x8098F040/func_8098F598.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure3/ObjMure3_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure3_0x8098F040/func_8098F5AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure3/func_8098F598.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure3_0x8098F040/func_8098F5D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure3/func_8098F5AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure3_0x8098F040/func_8098F5E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure3/func_8098F5D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure3_0x8098F040/func_8098F66C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure3/func_8098F5E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure3_0x8098F040/func_8098F680.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure3/func_8098F66C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Mure3_0x8098F040/ObjMure3_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure3/func_8098F680.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Mure3/ObjMure3_Update.s") diff --git a/src/overlays/actors/ovl_Obj_Mure3/z_obj_mure3.h b/src/overlays/actors/ovl_Obj_Mure3/z_obj_mure3.h index 799a3e543e..4c139edf0b 100644 --- a/src/overlays/actors/ovl_Obj_Mure3/z_obj_mure3.h +++ b/src/overlays/actors/ovl_Obj_Mure3/z_obj_mure3.h @@ -1,13 +1,16 @@ #ifndef Z_OBJ_MURE3_H #define Z_OBJ_MURE3_H -#include +#include "global.h" struct ObjMure3; +typedef void (*ObjMure3ActionFunc)(struct ObjMure3* this, GlobalContext* globalCtx); + typedef struct ObjMure3 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x24]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ ObjMure3ActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x20]; } ObjMure3; // size = 0x168 extern const ActorInit Obj_Mure3_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Nozoki/z_obj_nozoki.c b/src/overlays/actors/ovl_Obj_Nozoki/z_obj_nozoki.c index 04f1604121..567cf43b4e 100644 --- a/src/overlays/actors/ovl_Obj_Nozoki/z_obj_nozoki.c +++ b/src/overlays/actors/ovl_Obj_Nozoki/z_obj_nozoki.c @@ -8,6 +8,16 @@ void ObjNozoki_Init(Actor* thisx, GlobalContext* globalCtx); void ObjNozoki_Destroy(Actor* thisx, GlobalContext* globalCtx); void ObjNozoki_Update(Actor* thisx, GlobalContext* globalCtx); +void func_80BA2514(ObjNozoki* this, GlobalContext* globalCtx); +void func_80BA28DC(ObjNozoki* this, GlobalContext* globalCtx); +void func_80BA2AB4(ObjNozoki* this, GlobalContext* globalCtx); +void func_80BA2BA4(ObjNozoki* this, GlobalContext* globalCtx); +void func_80BA3044(ObjNozoki* this, GlobalContext* globalCtx); +void func_80BA3230(ObjNozoki* this, GlobalContext* globalCtx); +void func_80BA3344(ObjNozoki* this, GlobalContext* globalCtx); + +void ObjNozoki_SetupAction(ObjNozoki* this, ObjNozokiActionFunc actionFunc); + #if 0 const ActorInit Obj_Nozoki_InitVars = { ACTOR_OBJ_NOZOKI, @@ -21,53 +31,54 @@ const ActorInit Obj_Nozoki_InitVars = { (ActorFunc)NULL, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80BA34B0[] = { ICHAIN_VEC3F(scale, 1, ICHAIN_CONTINUE), ICHAIN_U8(targetMode, 0, ICHAIN_STOP), }; - -extern InitChainEntry D_80BA34B0[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Nozoki_0x80BA2420/func_80BA2420.asm") +extern InitChainEntry D_80BA34B0[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Nozoki_0x80BA2420/ObjNozoki_Init.asm") +extern UNK_TYPE D_060001C0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Nozoki_0x80BA2420/ObjNozoki_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Nozoki/ObjNozoki_SetupAction.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Nozoki_0x80BA2420/func_80BA2514.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Nozoki/ObjNozoki_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Nozoki_0x80BA2420/func_80BA26A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Nozoki/ObjNozoki_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Nozoki_0x80BA2420/func_80BA2708.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Nozoki/func_80BA2514.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Nozoki_0x80BA2420/func_80BA2790.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Nozoki/func_80BA26A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Nozoki_0x80BA2420/func_80BA27C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Nozoki/func_80BA2708.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Nozoki_0x80BA2420/func_80BA28DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Nozoki/func_80BA2790.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Nozoki_0x80BA2420/func_80BA2AB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Nozoki/func_80BA27C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Nozoki_0x80BA2420/func_80BA2B64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Nozoki/func_80BA28DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Nozoki_0x80BA2420/func_80BA2BA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Nozoki/func_80BA2AB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Nozoki_0x80BA2420/func_80BA2C28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Nozoki/func_80BA2B64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Nozoki_0x80BA2420/func_80BA2C94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Nozoki/func_80BA2BA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Nozoki_0x80BA2420/func_80BA3044.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Nozoki/func_80BA2C28.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Nozoki_0x80BA2420/func_80BA311C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Nozoki/func_80BA2C94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Nozoki_0x80BA2420/func_80BA3230.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Nozoki/func_80BA3044.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Nozoki_0x80BA2420/func_80BA3344.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Nozoki/func_80BA311C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Nozoki_0x80BA2420/ObjNozoki_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Nozoki/func_80BA3230.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Nozoki_0x80BA2420/func_80BA3434.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Nozoki/func_80BA3344.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Nozoki/ObjNozoki_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Nozoki/func_80BA3434.s") diff --git a/src/overlays/actors/ovl_Obj_Nozoki/z_obj_nozoki.h b/src/overlays/actors/ovl_Obj_Nozoki/z_obj_nozoki.h index efb4cedcc2..43e868aefc 100644 --- a/src/overlays/actors/ovl_Obj_Nozoki/z_obj_nozoki.h +++ b/src/overlays/actors/ovl_Obj_Nozoki/z_obj_nozoki.h @@ -1,13 +1,16 @@ #ifndef Z_OBJ_NOZOKI_H #define Z_OBJ_NOZOKI_H -#include +#include "global.h" struct ObjNozoki; +typedef void (*ObjNozokiActionFunc)(struct ObjNozoki* this, GlobalContext* globalCtx); + typedef struct ObjNozoki { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x20]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x1C]; + /* 0x0160 */ ObjNozokiActionFunc actionFunc; } ObjNozoki; // size = 0x164 extern const ActorInit Obj_Nozoki_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Ocarinalift/z_obj_ocarinalift.c b/src/overlays/actors/ovl_Obj_Ocarinalift/z_obj_ocarinalift.c index 5db64d4d62..04cf0040fd 100644 --- a/src/overlays/actors/ovl_Obj_Ocarinalift/z_obj_ocarinalift.c +++ b/src/overlays/actors/ovl_Obj_Ocarinalift/z_obj_ocarinalift.c @@ -22,7 +22,6 @@ const ActorInit Obj_Ocarinalift_InitVars = { (ActorFunc)ObjOcarinalift_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80AC9D70[] = { ICHAIN_U8(targetMode, 2, ICHAIN_CONTINUE), @@ -32,44 +31,47 @@ static InitChainEntry D_80AC9D70[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), }; - -extern InitChainEntry D_80AC9D70[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Ocarinalift_0x80AC94C0/func_80AC94C0.asm") +extern InitChainEntry D_80AC9D70[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Ocarinalift_0x80AC94C0/ObjOcarinalift_Init.asm") +extern UNK_TYPE D_06001E40; +extern UNK_TYPE D_060048D0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Ocarinalift_0x80AC94C0/ObjOcarinalift_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Ocarinalift/func_80AC94C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Ocarinalift_0x80AC94C0/func_80AC9680.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Ocarinalift/ObjOcarinalift_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Ocarinalift_0x80AC94C0/func_80AC96A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Ocarinalift/ObjOcarinalift_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Ocarinalift_0x80AC94C0/func_80AC96B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Ocarinalift/func_80AC9680.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Ocarinalift_0x80AC94C0/func_80AC96D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Ocarinalift/func_80AC96A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Ocarinalift_0x80AC94C0/func_80AC99C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Ocarinalift/func_80AC96B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Ocarinalift_0x80AC94C0/func_80AC99D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Ocarinalift/func_80AC96D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Ocarinalift_0x80AC94C0/func_80AC9A68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Ocarinalift/func_80AC99C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Ocarinalift_0x80AC94C0/func_80AC9A7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Ocarinalift/func_80AC99D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Ocarinalift_0x80AC94C0/func_80AC9AB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Ocarinalift/func_80AC9A68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Ocarinalift_0x80AC94C0/func_80AC9AE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Ocarinalift/func_80AC9A7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Ocarinalift_0x80AC94C0/func_80AC9B48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Ocarinalift/func_80AC9AB8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Ocarinalift_0x80AC94C0/func_80AC9B5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Ocarinalift/func_80AC9AE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Ocarinalift_0x80AC94C0/func_80AC9C20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Ocarinalift/func_80AC9B48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Ocarinalift_0x80AC94C0/func_80AC9C48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Ocarinalift/func_80AC9B5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Ocarinalift_0x80AC94C0/ObjOcarinalift_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Ocarinalift/func_80AC9C20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Ocarinalift_0x80AC94C0/ObjOcarinalift_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Ocarinalift/func_80AC9C48.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Ocarinalift/ObjOcarinalift_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Ocarinalift/ObjOcarinalift_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Ocarinalift/z_obj_ocarinalift.h b/src/overlays/actors/ovl_Obj_Ocarinalift/z_obj_ocarinalift.h index 6e07405969..9e784022c0 100644 --- a/src/overlays/actors/ovl_Obj_Ocarinalift/z_obj_ocarinalift.h +++ b/src/overlays/actors/ovl_Obj_Ocarinalift/z_obj_ocarinalift.h @@ -1,13 +1,17 @@ #ifndef Z_OBJ_OCARINALIFT_H #define Z_OBJ_OCARINALIFT_H -#include +#include "global.h" struct ObjOcarinalift; +typedef void (*ObjOcarinaliftActionFunc)(struct ObjOcarinalift* this, GlobalContext* globalCtx); + typedef struct ObjOcarinalift { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x34]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x18]; + /* 0x015C */ ObjOcarinaliftActionFunc actionFunc; + /* 0x0160 */ char unk_160[0x18]; } ObjOcarinalift; // size = 0x178 extern const ActorInit Obj_Ocarinalift_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Oshihiki/z_obj_oshihiki.c b/src/overlays/actors/ovl_Obj_Oshihiki/z_obj_oshihiki.c index ecb88b35b5..ab6b573a6b 100644 --- a/src/overlays/actors/ovl_Obj_Oshihiki/z_obj_oshihiki.c +++ b/src/overlays/actors/ovl_Obj_Oshihiki/z_obj_oshihiki.c @@ -22,7 +22,6 @@ const ActorInit Obj_Oshihiki_InitVars = { (ActorFunc)ObjOshihiki_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80918898[] = { ICHAIN_F32(uncullZoneForward, 4000, ICHAIN_CONTINUE), @@ -30,62 +29,62 @@ static InitChainEntry D_80918898[] = { ICHAIN_F32(uncullZoneDownward, 500, ICHAIN_STOP), }; - -extern InitChainEntry D_80918898[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Oshihiki_0x80917290/func_80917290.asm") +extern InitChainEntry D_80918898[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Oshihiki_0x80917290/func_809172E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Oshihiki/func_80917290.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Oshihiki_0x80917290/func_8091734C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Oshihiki/func_809172E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Oshihiki_0x80917290/func_80917378.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Oshihiki/func_8091734C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Oshihiki_0x80917290/func_80917408.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Oshihiki/func_80917378.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Oshihiki_0x80917290/func_80917538.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Oshihiki/func_80917408.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Oshihiki_0x80917290/func_80917604.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Oshihiki/func_80917538.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Oshihiki_0x80917290/func_8091763C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Oshihiki/func_80917604.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Oshihiki_0x80917290/func_8091768C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Oshihiki/func_8091763C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Oshihiki_0x80917290/ObjOshihiki_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Oshihiki/func_8091768C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Oshihiki_0x80917290/ObjOshihiki_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Oshihiki/ObjOshihiki_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Oshihiki_0x80917290/func_80917840.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Oshihiki/ObjOshihiki_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Oshihiki_0x80917290/func_809179A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Oshihiki/func_80917840.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Oshihiki_0x80917290/func_80917AEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Oshihiki/func_809179A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Oshihiki_0x80917290/func_80917B44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Oshihiki/func_80917AEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Oshihiki_0x80917290/func_80917B9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Oshihiki/func_80917B44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Oshihiki_0x80917290/func_80917C14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Oshihiki/func_80917B9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Oshihiki_0x80917290/func_80917E8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Oshihiki/func_80917C14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Oshihiki_0x80917290/func_80917F88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Oshihiki/func_80917E8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Oshihiki_0x80917290/func_80917FC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Oshihiki/func_80917F88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Oshihiki_0x80917290/func_809180C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Oshihiki/func_80917FC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Oshihiki_0x80917290/func_80918108.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Oshihiki/func_809180C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Oshihiki_0x80917290/func_80918314.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Oshihiki/func_80918108.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Oshihiki_0x80917290/func_8091834C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Oshihiki/func_80918314.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Oshihiki_0x80917290/func_8091851C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Oshihiki/func_8091834C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Oshihiki_0x80917290/func_80918574.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Oshihiki/func_8091851C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Oshihiki_0x80917290/ObjOshihiki_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Oshihiki/func_80918574.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Oshihiki_0x80917290/ObjOshihiki_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Oshihiki/ObjOshihiki_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Oshihiki/ObjOshihiki_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Oshihiki/z_obj_oshihiki.h b/src/overlays/actors/ovl_Obj_Oshihiki/z_obj_oshihiki.h index 2ab864a05b..df4edfc3a8 100644 --- a/src/overlays/actors/ovl_Obj_Oshihiki/z_obj_oshihiki.h +++ b/src/overlays/actors/ovl_Obj_Oshihiki/z_obj_oshihiki.h @@ -1,13 +1,17 @@ #ifndef Z_OBJ_OSHIHIKI_H #define Z_OBJ_OSHIHIKI_H -#include +#include "global.h" struct ObjOshihiki; +typedef void (*ObjOshihikiActionFunc)(struct ObjOshihiki* this, GlobalContext* globalCtx); + typedef struct ObjOshihiki { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x88]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x18]; + /* 0x015C */ ObjOshihikiActionFunc actionFunc; + /* 0x0160 */ char unk_160[0x6C]; } ObjOshihiki; // size = 0x1CC extern const ActorInit Obj_Oshihiki_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Purify/z_obj_purify.c b/src/overlays/actors/ovl_Obj_Purify/z_obj_purify.c index ba3978341c..5f61a8a3e3 100644 --- a/src/overlays/actors/ovl_Obj_Purify/z_obj_purify.c +++ b/src/overlays/actors/ovl_Obj_Purify/z_obj_purify.c @@ -23,40 +23,40 @@ const ActorInit Obj_Purify_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Purify_0x80A84CD0/func_80A84CD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Purify/func_80A84CD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Purify_0x80A84CD0/func_80A84CF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Purify/func_80A84CF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Purify_0x80A84CD0/ObjPurify_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Purify/ObjPurify_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Purify_0x80A84CD0/ObjPurify_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Purify/ObjPurify_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Purify_0x80A84CD0/func_80A84EAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Purify/func_80A84EAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Purify_0x80A84CD0/func_80A84EC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Purify/func_80A84EC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Purify_0x80A84CD0/func_80A84FA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Purify/func_80A84FA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Purify_0x80A84CD0/func_80A84FB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Purify/func_80A84FB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Purify_0x80A84CD0/func_80A84FEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Purify/func_80A84FEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Purify_0x80A84CD0/func_80A85010.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Purify/func_80A85010.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Purify_0x80A84CD0/func_80A85048.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Purify/func_80A85048.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Purify_0x80A84CD0/func_80A85074.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Purify/func_80A85074.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Purify_0x80A84CD0/func_80A850B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Purify/func_80A850B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Purify_0x80A84CD0/func_80A850E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Purify/func_80A850E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Purify_0x80A84CD0/func_80A8515C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Purify/func_80A8515C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Purify_0x80A84CD0/func_80A85194.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Purify/func_80A85194.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Purify_0x80A84CD0/ObjPurify_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Purify/ObjPurify_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Purify_0x80A84CD0/func_80A851C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Purify/func_80A851C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Purify_0x80A84CD0/func_80A85304.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Purify/func_80A85304.s") diff --git a/src/overlays/actors/ovl_Obj_Purify/z_obj_purify.h b/src/overlays/actors/ovl_Obj_Purify/z_obj_purify.h index 6fa181775d..da0df2dff7 100644 --- a/src/overlays/actors/ovl_Obj_Purify/z_obj_purify.h +++ b/src/overlays/actors/ovl_Obj_Purify/z_obj_purify.h @@ -1,13 +1,17 @@ #ifndef Z_OBJ_PURIFY_H #define Z_OBJ_PURIFY_H -#include +#include "global.h" struct ObjPurify; +typedef void (*ObjPurifyActionFunc)(struct ObjPurify* this, GlobalContext* globalCtx); + typedef struct ObjPurify { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x2C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x18]; + /* 0x015C */ ObjPurifyActionFunc actionFunc; + /* 0x0160 */ char unk_160[0x10]; } ObjPurify; // size = 0x170 extern const ActorInit Obj_Purify_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Pzlblock/z_obj_pzlblock.c b/src/overlays/actors/ovl_Obj_Pzlblock/z_obj_pzlblock.c index 3d40f74796..a9f582a375 100644 --- a/src/overlays/actors/ovl_Obj_Pzlblock/z_obj_pzlblock.c +++ b/src/overlays/actors/ovl_Obj_Pzlblock/z_obj_pzlblock.c @@ -21,7 +21,6 @@ const ActorInit Obj_Pzlblock_InitVars = { (ActorFunc)NULL, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_809A4078[] = { ICHAIN_VEC3S(world.rot, 0, ICHAIN_CONTINUE), @@ -30,38 +29,38 @@ static InitChainEntry D_809A4078[] = { ICHAIN_F32(uncullZoneDownward, 200, ICHAIN_STOP), }; - -extern InitChainEntry D_809A4078[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Pzlblock_0x809A33E0/func_809A33E0.asm") +extern InitChainEntry D_809A4078[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Pzlblock_0x809A33E0/func_809A3448.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Pzlblock/func_809A33E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Pzlblock_0x809A33E0/func_809A34E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Pzlblock/func_809A3448.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Pzlblock_0x809A33E0/func_809A35EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Pzlblock/func_809A34E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Pzlblock_0x809A33E0/func_809A376C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Pzlblock/func_809A35EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Pzlblock_0x809A33E0/ObjPzlblock_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Pzlblock/func_809A376C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Pzlblock_0x809A33E0/ObjPzlblock_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Pzlblock/ObjPzlblock_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Pzlblock_0x809A33E0/func_809A3A48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Pzlblock/ObjPzlblock_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Pzlblock_0x809A33E0/func_809A3A74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Pzlblock/func_809A3A48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Pzlblock_0x809A33E0/func_809A3BA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Pzlblock/func_809A3A74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Pzlblock_0x809A33E0/func_809A3BC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Pzlblock/func_809A3BA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Pzlblock_0x809A33E0/func_809A3D1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Pzlblock/func_809A3BC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Pzlblock_0x809A33E0/func_809A3D38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Pzlblock/func_809A3D1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Pzlblock_0x809A33E0/ObjPzlblock_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Pzlblock/func_809A3D38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Pzlblock_0x809A33E0/func_809A3E58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Pzlblock/ObjPzlblock_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Pzlblock_0x809A33E0/func_809A3F0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Pzlblock/func_809A3E58.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Pzlblock/func_809A3F0C.s") diff --git a/src/overlays/actors/ovl_Obj_Pzlblock/z_obj_pzlblock.h b/src/overlays/actors/ovl_Obj_Pzlblock/z_obj_pzlblock.h index 5bbd0a245b..437583f621 100644 --- a/src/overlays/actors/ovl_Obj_Pzlblock/z_obj_pzlblock.h +++ b/src/overlays/actors/ovl_Obj_Pzlblock/z_obj_pzlblock.h @@ -1,7 +1,7 @@ #ifndef Z_OBJ_PZLBLOCK_H #define Z_OBJ_PZLBLOCK_H -#include +#include "global.h" struct ObjPzlblock; diff --git a/src/overlays/actors/ovl_Obj_Raillift/z_obj_raillift.h b/src/overlays/actors/ovl_Obj_Raillift/z_obj_raillift.h index 3aa4c395b2..06ff23d92c 100644 --- a/src/overlays/actors/ovl_Obj_Raillift/z_obj_raillift.h +++ b/src/overlays/actors/ovl_Obj_Raillift/z_obj_raillift.h @@ -1,7 +1,7 @@ #ifndef Z_OBJ_RAILLIFT_H #define Z_OBJ_RAILLIFT_H -#include +#include "global.h" struct ObjRaillift; diff --git a/src/overlays/actors/ovl_Obj_Roomtimer/z_obj_roomtimer.c b/src/overlays/actors/ovl_Obj_Roomtimer/z_obj_roomtimer.c index 709aef7577..219e893211 100644 --- a/src/overlays/actors/ovl_Obj_Roomtimer/z_obj_roomtimer.c +++ b/src/overlays/actors/ovl_Obj_Roomtimer/z_obj_roomtimer.c @@ -8,6 +8,10 @@ void ObjRoomtimer_Init(Actor* thisx, GlobalContext* globalCtx); void ObjRoomtimer_Destroy(Actor* thisx, GlobalContext* globalCtx); void ObjRoomtimer_Update(Actor* thisx, GlobalContext* globalCtx); +void func_80973CD8(ObjRoomtimer* this, GlobalContext* globalCtx); +void func_80973D3C(ObjRoomtimer* this, GlobalContext* globalCtx); +void func_80973DE0(ObjRoomtimer* this, GlobalContext* globalCtx); + #if 0 const ActorInit Obj_Roomtimer_InitVars = { ACTOR_OBJ_ROOMTIMER, @@ -23,14 +27,14 @@ const ActorInit Obj_Roomtimer_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Roomtimer_0x80973C50/ObjRoomtimer_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Roomtimer/ObjRoomtimer_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Roomtimer_0x80973C50/ObjRoomtimer_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Roomtimer/ObjRoomtimer_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Roomtimer_0x80973C50/func_80973CD8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Roomtimer/func_80973CD8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Roomtimer_0x80973C50/func_80973D3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Roomtimer/func_80973D3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Roomtimer_0x80973C50/func_80973DE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Roomtimer/func_80973DE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Roomtimer_0x80973C50/ObjRoomtimer_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Roomtimer/ObjRoomtimer_Update.s") diff --git a/src/overlays/actors/ovl_Obj_Roomtimer/z_obj_roomtimer.h b/src/overlays/actors/ovl_Obj_Roomtimer/z_obj_roomtimer.h index 436c7ddbd2..793e587bb2 100644 --- a/src/overlays/actors/ovl_Obj_Roomtimer/z_obj_roomtimer.h +++ b/src/overlays/actors/ovl_Obj_Roomtimer/z_obj_roomtimer.h @@ -1,13 +1,16 @@ #ifndef Z_OBJ_ROOMTIMER_H #define Z_OBJ_ROOMTIMER_H -#include +#include "global.h" struct ObjRoomtimer; +typedef void (*ObjRoomtimerActionFunc)(struct ObjRoomtimer* this, GlobalContext* globalCtx); + typedef struct ObjRoomtimer { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x8]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ ObjRoomtimerActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x4]; } ObjRoomtimer; // size = 0x14C extern const ActorInit Obj_Roomtimer_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Rotlift/z_obj_rotlift.c b/src/overlays/actors/ovl_Obj_Rotlift/z_obj_rotlift.c index feea811d29..2f10d6a68b 100644 --- a/src/overlays/actors/ovl_Obj_Rotlift/z_obj_rotlift.c +++ b/src/overlays/actors/ovl_Obj_Rotlift/z_obj_rotlift.c @@ -22,7 +22,6 @@ const ActorInit Obj_Rotlift_InitVars = { (ActorFunc)ObjRotlift_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80B96178[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_CONTINUE), @@ -31,16 +30,16 @@ static InitChainEntry D_80B96178[] = { ICHAIN_F32(uncullZoneDownward, 800, ICHAIN_STOP), }; - -extern InitChainEntry D_80B96178[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Rotlift_0x80B95E20/func_80B95E20.asm") +extern InitChainEntry D_80B96178[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Rotlift_0x80B95E20/ObjRotlift_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Rotlift/func_80B95E20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Rotlift_0x80B95E20/ObjRotlift_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Rotlift/ObjRotlift_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Rotlift_0x80B95E20/ObjRotlift_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Rotlift/ObjRotlift_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Rotlift_0x80B95E20/ObjRotlift_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Rotlift/ObjRotlift_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Rotlift/ObjRotlift_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Rotlift/z_obj_rotlift.h b/src/overlays/actors/ovl_Obj_Rotlift/z_obj_rotlift.h index 8cfc593bf5..a58a6b621f 100644 --- a/src/overlays/actors/ovl_Obj_Rotlift/z_obj_rotlift.h +++ b/src/overlays/actors/ovl_Obj_Rotlift/z_obj_rotlift.h @@ -1,7 +1,7 @@ #ifndef Z_OBJ_ROTLIFT_H #define Z_OBJ_ROTLIFT_H -#include +#include "global.h" struct ObjRotlift; diff --git a/src/overlays/actors/ovl_Obj_Shutter/z_obj_shutter.c b/src/overlays/actors/ovl_Obj_Shutter/z_obj_shutter.c index 38ecb0c694..d067ff2b33 100644 --- a/src/overlays/actors/ovl_Obj_Shutter/z_obj_shutter.c +++ b/src/overlays/actors/ovl_Obj_Shutter/z_obj_shutter.c @@ -24,10 +24,12 @@ const ActorInit Obj_Shutter_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Shutter_0x80A37ED0/ObjShutter_Init.asm") +extern UNK_TYPE D_060011E0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Shutter_0x80A37ED0/ObjShutter_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Shutter/ObjShutter_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Shutter_0x80A37ED0/ObjShutter_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Shutter/ObjShutter_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Shutter_0x80A37ED0/ObjShutter_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Shutter/ObjShutter_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Shutter/ObjShutter_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Shutter/z_obj_shutter.h b/src/overlays/actors/ovl_Obj_Shutter/z_obj_shutter.h index 7ce77e2d49..764f5dd2a6 100644 --- a/src/overlays/actors/ovl_Obj_Shutter/z_obj_shutter.h +++ b/src/overlays/actors/ovl_Obj_Shutter/z_obj_shutter.h @@ -1,7 +1,7 @@ #ifndef Z_OBJ_SHUTTER_H #define Z_OBJ_SHUTTER_H -#include +#include "global.h" struct ObjShutter; diff --git a/src/overlays/actors/ovl_Obj_Skateblock/z_obj_skateblock.c b/src/overlays/actors/ovl_Obj_Skateblock/z_obj_skateblock.c index a9bdf62cf5..83612cfa36 100644 --- a/src/overlays/actors/ovl_Obj_Skateblock/z_obj_skateblock.c +++ b/src/overlays/actors/ovl_Obj_Skateblock/z_obj_skateblock.c @@ -22,7 +22,6 @@ const ActorInit Obj_Skateblock_InitVars = { (ActorFunc)ObjSkateblock_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80A22AE0[] = { ICHAIN_F32_DIV1000(gravity, -1700, ICHAIN_CONTINUE), @@ -33,66 +32,66 @@ static InitChainEntry D_80A22AE0[] = { ICHAIN_F32(uncullZoneDownward, 200, ICHAIN_STOP), }; - -extern InitChainEntry D_80A22AE0[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Skateblock_0x80A21150/func_80A21150.asm") +extern InitChainEntry D_80A22AE0[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Skateblock_0x80A21150/func_80A211F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Skateblock/func_80A21150.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Skateblock_0x80A21150/func_80A212F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Skateblock/func_80A211F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Skateblock_0x80A21150/func_80A21370.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Skateblock/func_80A212F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Skateblock_0x80A21150/func_80A21548.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Skateblock/func_80A21370.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Skateblock_0x80A21150/func_80A216D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Skateblock/func_80A21548.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Skateblock_0x80A21150/func_80A21934.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Skateblock/func_80A216D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Skateblock_0x80A21150/func_80A21990.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Skateblock/func_80A21934.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Skateblock_0x80A21150/func_80A21C30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Skateblock/func_80A21990.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Skateblock_0x80A21150/func_80A21C88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Skateblock/func_80A21C30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Skateblock_0x80A21150/func_80A21CB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Skateblock/func_80A21C88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Skateblock_0x80A21150/func_80A21CD8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Skateblock/func_80A21CB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Skateblock_0x80A21150/func_80A21D1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Skateblock/func_80A21CD8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Skateblock_0x80A21150/func_80A21E9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Skateblock/func_80A21D1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Skateblock_0x80A21150/func_80A21F68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Skateblock/func_80A21E9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Skateblock_0x80A21150/func_80A21F74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Skateblock/func_80A21F68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Skateblock_0x80A21150/ObjSkateblock_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Skateblock/func_80A21F74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Skateblock_0x80A21150/ObjSkateblock_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Skateblock/ObjSkateblock_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Skateblock_0x80A21150/func_80A22308.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Skateblock/ObjSkateblock_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Skateblock_0x80A21150/func_80A22334.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Skateblock/func_80A22308.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Skateblock_0x80A21150/func_80A2244C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Skateblock/func_80A22334.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Skateblock_0x80A21150/func_80A224A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Skateblock/func_80A2244C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Skateblock_0x80A21150/func_80A22628.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Skateblock/func_80A224A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Skateblock_0x80A21150/func_80A2264C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Skateblock/func_80A22628.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Skateblock_0x80A21150/func_80A22728.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Skateblock/func_80A2264C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Skateblock_0x80A21150/func_80A2273C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Skateblock/func_80A22728.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Skateblock_0x80A21150/func_80A227A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Skateblock/func_80A2273C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Skateblock_0x80A21150/func_80A227C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Skateblock/func_80A227A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Skateblock_0x80A21150/ObjSkateblock_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Skateblock/func_80A227C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Skateblock_0x80A21150/ObjSkateblock_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Skateblock/ObjSkateblock_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Skateblock/ObjSkateblock_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Skateblock/z_obj_skateblock.h b/src/overlays/actors/ovl_Obj_Skateblock/z_obj_skateblock.h index 7407461f54..84068d0b5f 100644 --- a/src/overlays/actors/ovl_Obj_Skateblock/z_obj_skateblock.h +++ b/src/overlays/actors/ovl_Obj_Skateblock/z_obj_skateblock.h @@ -1,13 +1,17 @@ #ifndef Z_OBJ_SKATEBLOCK_H #define Z_OBJ_SKATEBLOCK_H -#include +#include "global.h" struct ObjSkateblock; +typedef void (*ObjSkateblockActionFunc)(struct ObjSkateblock* this, GlobalContext* globalCtx); + typedef struct ObjSkateblock { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x80]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x18]; + /* 0x015C */ ObjSkateblockActionFunc actionFunc; + /* 0x0160 */ char unk_160[0x64]; } ObjSkateblock; // size = 0x1C4 extern const ActorInit Obj_Skateblock_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Smork/z_obj_smork.c b/src/overlays/actors/ovl_Obj_Smork/z_obj_smork.c index 6e72d83e3c..dae5c4711e 100644 --- a/src/overlays/actors/ovl_Obj_Smork/z_obj_smork.c +++ b/src/overlays/actors/ovl_Obj_Smork/z_obj_smork.c @@ -24,16 +24,18 @@ const ActorInit Obj_Smork_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Smork_0x80A3D680/func_80A3D680.asm") +extern UNK_TYPE D_06001C00; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Smork_0x80A3D680/func_80A3D940.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Smork/func_80A3D680.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Smork_0x80A3D680/func_80A3D9C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Smork/func_80A3D940.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Smork_0x80A3D680/ObjSmork_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Smork/func_80A3D9C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Smork_0x80A3D680/ObjSmork_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Smork/ObjSmork_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Smork_0x80A3D680/ObjSmork_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Smork/ObjSmork_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Smork_0x80A3D680/ObjSmork_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Smork/ObjSmork_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Smork/ObjSmork_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Smork/z_obj_smork.h b/src/overlays/actors/ovl_Obj_Smork/z_obj_smork.h index a401ae1685..dd6ab4cf72 100644 --- a/src/overlays/actors/ovl_Obj_Smork/z_obj_smork.h +++ b/src/overlays/actors/ovl_Obj_Smork/z_obj_smork.h @@ -1,7 +1,7 @@ #ifndef Z_OBJ_SMORK_H #define Z_OBJ_SMORK_H -#include +#include "global.h" struct ObjSmork; diff --git a/src/overlays/actors/ovl_Obj_Snowball/z_obj_snowball.c b/src/overlays/actors/ovl_Obj_Snowball/z_obj_snowball.c index 1d05f45205..a927cadfcd 100644 --- a/src/overlays/actors/ovl_Obj_Snowball/z_obj_snowball.c +++ b/src/overlays/actors/ovl_Obj_Snowball/z_obj_snowball.c @@ -22,7 +22,6 @@ const ActorInit Obj_Snowball_InitVars = { (ActorFunc)ObjSnowball_Draw, }; - // static ColliderJntSphElementInit sJntSphElementsInit[1] = { static ColliderJntSphElementInit D_80B04F50[1] = { { @@ -37,64 +36,66 @@ static ColliderJntSphInit D_80B04F74 = { 1, D_80B04F50, // sJntSphElementsInit, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80B04FD4[] = { ICHAIN_F32(uncullZoneForward, 2000, ICHAIN_STOP), }; +#endif extern ColliderJntSphElementInit D_80B04F50[1]; extern ColliderJntSphInit D_80B04F74; extern InitChainEntry D_80B04FD4[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball_0x80B02CD0/func_80B02CD0.asm") +extern UNK_TYPE D_060082D0; +extern UNK_TYPE D_06008B90; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball_0x80B02CD0/func_80B02D58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball/func_80B02CD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball_0x80B02CD0/func_80B02DB0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball/func_80B02D58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball_0x80B02CD0/func_80B02E54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball/func_80B02DB0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball_0x80B02CD0/func_80B02EE4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball/func_80B02E54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball_0x80B02CD0/func_80B030F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball/func_80B02EE4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball_0x80B02CD0/func_80B03688.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball/func_80B030F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball_0x80B02CD0/func_80B03A80.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball/func_80B03688.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball_0x80B02CD0/func_80B03E2C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball/func_80B03A80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball_0x80B02CD0/func_80B03FF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball/func_80B03E2C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball_0x80B02CD0/ObjSnowball_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball/func_80B03FF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball_0x80B02CD0/ObjSnowball_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball/ObjSnowball_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball_0x80B02CD0/func_80B04338.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball/ObjSnowball_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball_0x80B02CD0/func_80B04350.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball/func_80B04338.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball_0x80B02CD0/func_80B04540.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball/func_80B04350.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball_0x80B02CD0/func_80B0457C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball/func_80B04540.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball_0x80B02CD0/func_80B04608.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball/func_80B0457C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball_0x80B02CD0/func_80B04648.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball/func_80B04608.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball_0x80B02CD0/func_80B046E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball/func_80B04648.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball_0x80B02CD0/func_80B047C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball/func_80B046E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball_0x80B02CD0/func_80B04B48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball/func_80B047C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball_0x80B02CD0/func_80B04B60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball/func_80B04B48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball_0x80B02CD0/ObjSnowball_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball/func_80B04B60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball_0x80B02CD0/ObjSnowball_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball/ObjSnowball_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball_0x80B02CD0/func_80B04D34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball/ObjSnowball_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball/func_80B04D34.s") diff --git a/src/overlays/actors/ovl_Obj_Snowball/z_obj_snowball.h b/src/overlays/actors/ovl_Obj_Snowball/z_obj_snowball.h index 711d7722e2..db1ad1fe08 100644 --- a/src/overlays/actors/ovl_Obj_Snowball/z_obj_snowball.h +++ b/src/overlays/actors/ovl_Obj_Snowball/z_obj_snowball.h @@ -1,13 +1,17 @@ #ifndef Z_OBJ_SNOWBALL_H #define Z_OBJ_SNOWBALL_H -#include +#include "global.h" struct ObjSnowball; +typedef void (*ObjSnowballActionFunc)(struct ObjSnowball* this, GlobalContext* globalCtx); + typedef struct ObjSnowball { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0xD0]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x60]; + /* 0x01A4 */ ObjSnowballActionFunc actionFunc; + /* 0x01A8 */ char unk_1A8[0x6C]; } ObjSnowball; // size = 0x214 extern const ActorInit Obj_Snowball_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Snowball2/z_obj_snowball2.c b/src/overlays/actors/ovl_Obj_Snowball2/z_obj_snowball2.c index 41ecdd5e66..fa6b601359 100644 --- a/src/overlays/actors/ovl_Obj_Snowball2/z_obj_snowball2.c +++ b/src/overlays/actors/ovl_Obj_Snowball2/z_obj_snowball2.c @@ -22,7 +22,6 @@ const ActorInit Obj_Snowball2_InitVars = { (ActorFunc)ObjSnowball2_Draw, }; - // static ColliderJntSphElementInit sJntSphElementsInit[1] = { static ColliderJntSphElementInit D_80B3A8E0[1] = { { @@ -37,7 +36,6 @@ static ColliderJntSphInit D_80B3A904 = { 1, D_80B3A8E0, // sJntSphElementsInit, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80B3A93C[] = { ICHAIN_F32_DIV1000(gravity, -2000, ICHAIN_CONTINUE), @@ -48,56 +46,58 @@ static InitChainEntry D_80B3A93C[] = { ICHAIN_VEC3F_DIV1000(scale, 25, ICHAIN_STOP), }; +#endif extern ColliderJntSphElementInit D_80B3A8E0[1]; extern ColliderJntSphInit D_80B3A904; extern InitChainEntry D_80B3A93C[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball2_0x80B38E20/func_80B38E20.asm") +extern UNK_TYPE D_06008B90; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball2_0x80B38E20/func_80B38E88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball2/func_80B38E20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball2_0x80B38E20/func_80B38EFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball2/func_80B38E88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball2_0x80B38E20/func_80B39108.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball2/func_80B38EFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball2_0x80B38E20/func_80B39470.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball2/func_80B39108.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball2_0x80B38E20/func_80B395C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball2/func_80B39470.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball2_0x80B38E20/func_80B395EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball2/func_80B395C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball2_0x80B38E20/func_80B39638.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball2/func_80B395EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball2_0x80B38E20/func_80B39834.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball2/func_80B39638.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball2_0x80B38E20/func_80B39908.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball2/func_80B39834.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball2_0x80B38E20/func_80B39B28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball2/func_80B39908.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball2_0x80B38E20/func_80B39B5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball2/func_80B39B28.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball2_0x80B38E20/ObjSnowball2_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball2/func_80B39B5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball2_0x80B38E20/ObjSnowball2_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball2/ObjSnowball2_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball2_0x80B38E20/func_80B39C78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball2/ObjSnowball2_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball2_0x80B38E20/func_80B39C9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball2/func_80B39C78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball2_0x80B38E20/func_80B39F60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball2/func_80B39C9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball2_0x80B38E20/func_80B39FA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball2/func_80B39F60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball2_0x80B38E20/func_80B3A0D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball2/func_80B39FA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball2_0x80B38E20/func_80B3A13C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball2/func_80B3A0D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball2_0x80B38E20/func_80B3A498.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball2/func_80B3A13C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball2_0x80B38E20/func_80B3A500.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball2/func_80B3A498.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball2_0x80B38E20/ObjSnowball2_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball2/func_80B3A500.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Snowball2_0x80B38E20/ObjSnowball2_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball2/ObjSnowball2_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Snowball2/ObjSnowball2_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Snowball2/z_obj_snowball2.h b/src/overlays/actors/ovl_Obj_Snowball2/z_obj_snowball2.h index 79d2793f85..6352c102e2 100644 --- a/src/overlays/actors/ovl_Obj_Snowball2/z_obj_snowball2.h +++ b/src/overlays/actors/ovl_Obj_Snowball2/z_obj_snowball2.h @@ -1,13 +1,17 @@ #ifndef Z_OBJ_SNOWBALL2_H #define Z_OBJ_SNOWBALL2_H -#include +#include "global.h" struct ObjSnowball2; +typedef void (*ObjSnowball2ActionFunc)(struct ObjSnowball2* this, GlobalContext* globalCtx); + typedef struct ObjSnowball2 { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x70]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x60]; + /* 0x01A4 */ ObjSnowball2ActionFunc actionFunc; + /* 0x01A8 */ char unk_1A8[0xC]; } ObjSnowball2; // size = 0x1B4 extern const ActorInit Obj_Snowball2_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Sound/z_obj_sound.c b/src/overlays/actors/ovl_Obj_Sound/z_obj_sound.c index cec18dd0ef..d80f30fa04 100644 --- a/src/overlays/actors/ovl_Obj_Sound/z_obj_sound.c +++ b/src/overlays/actors/ovl_Obj_Sound/z_obj_sound.c @@ -23,10 +23,10 @@ const ActorInit Obj_Sound_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Sound_0x8099A920/ObjSound_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Sound/ObjSound_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Sound_0x8099A920/ObjSound_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Sound/ObjSound_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Sound_0x8099A920/ObjSound_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Sound/ObjSound_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Sound_0x8099A920/func_8099AA84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Sound/func_8099AA84.s") diff --git a/src/overlays/actors/ovl_Obj_Sound/z_obj_sound.h b/src/overlays/actors/ovl_Obj_Sound/z_obj_sound.h index fa1711910c..8f3c802576 100644 --- a/src/overlays/actors/ovl_Obj_Sound/z_obj_sound.h +++ b/src/overlays/actors/ovl_Obj_Sound/z_obj_sound.h @@ -1,7 +1,7 @@ #ifndef Z_OBJ_SOUND_H #define Z_OBJ_SOUND_H -#include +#include "global.h" struct ObjSound; diff --git a/src/overlays/actors/ovl_Obj_Spidertent/z_obj_spidertent.c b/src/overlays/actors/ovl_Obj_Spidertent/z_obj_spidertent.c index 7c52f08bc9..95c1e04027 100644 --- a/src/overlays/actors/ovl_Obj_Spidertent/z_obj_spidertent.c +++ b/src/overlays/actors/ovl_Obj_Spidertent/z_obj_spidertent.c @@ -22,7 +22,6 @@ const ActorInit Obj_Spidertent_InitVars = { (ActorFunc)ObjSpidertent_Draw, }; - // static ColliderTrisElementInit sTrisElementsInit[6] = { static ColliderTrisElementInit D_80B31060[6] = { { @@ -57,7 +56,6 @@ static ColliderTrisInit D_80B311C8 = { 6, D_80B31060, // sTrisElementsInit, }; - // static ColliderTrisElementInit sTrisElementsInit[6] = { static ColliderTrisElementInit D_80B311D8[6] = { { @@ -92,7 +90,6 @@ static ColliderTrisInit D_80B31340 = { 6, D_80B311D8, // sTrisElementsInit, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80B31418[] = { ICHAIN_F32(uncullZoneForward, 4000, ICHAIN_CONTINUE), @@ -101,42 +98,42 @@ static InitChainEntry D_80B31418[] = { ICHAIN_VEC3F_DIV1000(scale, 1000, ICHAIN_STOP), }; +#endif extern ColliderTrisElementInit D_80B31060[6]; extern ColliderTrisInit D_80B311C8; extern ColliderTrisElementInit D_80B311D8[6]; extern ColliderTrisInit D_80B31340; extern InitChainEntry D_80B31418[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spidertent_0x80B2FB10/func_80B2FB10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spidertent/func_80B2FB10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spidertent_0x80B2FB10/func_80B2FB94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spidertent/func_80B2FB94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spidertent_0x80B2FB10/func_80B2FC98.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spidertent/func_80B2FC98.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spidertent_0x80B2FB10/func_80B300F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spidertent/func_80B300F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spidertent_0x80B2FB10/func_80B30410.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spidertent/func_80B30410.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spidertent_0x80B2FB10/func_80B30480.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spidertent/func_80B30480.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spidertent_0x80B2FB10/ObjSpidertent_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spidertent/ObjSpidertent_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spidertent_0x80B2FB10/ObjSpidertent_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spidertent/ObjSpidertent_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spidertent_0x80B2FB10/func_80B307E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spidertent/func_80B307E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spidertent_0x80B2FB10/func_80B30808.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spidertent/func_80B30808.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spidertent_0x80B2FB10/func_80B30A2C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spidertent/func_80B30A2C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spidertent_0x80B2FB10/func_80B30A4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spidertent/func_80B30A4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spidertent_0x80B2FB10/func_80B30AD4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spidertent/func_80B30AD4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spidertent_0x80B2FB10/func_80B30AF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spidertent/func_80B30AF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spidertent_0x80B2FB10/ObjSpidertent_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spidertent/ObjSpidertent_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spidertent_0x80B2FB10/ObjSpidertent_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spidertent/ObjSpidertent_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Spidertent/z_obj_spidertent.h b/src/overlays/actors/ovl_Obj_Spidertent/z_obj_spidertent.h index 8cf7221cde..f247906962 100644 --- a/src/overlays/actors/ovl_Obj_Spidertent/z_obj_spidertent.h +++ b/src/overlays/actors/ovl_Obj_Spidertent/z_obj_spidertent.h @@ -1,13 +1,16 @@ #ifndef Z_OBJ_SPIDERTENT_H #define Z_OBJ_SPIDERTENT_H -#include +#include "global.h" struct ObjSpidertent; +typedef void (*ObjSpidertentActionFunc)(struct ObjSpidertent* this, GlobalContext* globalCtx); + typedef struct ObjSpidertent { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x288]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x284]; + /* 0x03C8 */ ObjSpidertentActionFunc actionFunc; } ObjSpidertent; // size = 0x3CC extern const ActorInit Obj_Spidertent_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Spinyroll/z_obj_spinyroll.c b/src/overlays/actors/ovl_Obj_Spinyroll/z_obj_spinyroll.c index a5adfdc548..c9a8811804 100644 --- a/src/overlays/actors/ovl_Obj_Spinyroll/z_obj_spinyroll.c +++ b/src/overlays/actors/ovl_Obj_Spinyroll/z_obj_spinyroll.c @@ -22,7 +22,6 @@ const ActorInit Obj_Spinyroll_InitVars = { (ActorFunc)ObjSpinyroll_Draw, }; - // static ColliderTrisElementInit sTrisElementsInit[6] = { static ColliderTrisElementInit D_80A1F040[6] = { { @@ -57,85 +56,87 @@ static ColliderTrisInit D_80A1F1A8 = { 6, D_80A1F040, // sTrisElementsInit, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80A1F204[] = { ICHAIN_F32(uncullZoneForward, 4000, ICHAIN_CONTINUE), ICHAIN_F32(uncullZoneDownward, 500, ICHAIN_STOP), }; +#endif extern ColliderTrisElementInit D_80A1F040[6]; extern ColliderTrisInit D_80A1F1A8; extern InitChainEntry D_80A1F204[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spinyroll_0x80A1DA50/func_80A1DA50.asm") +extern UNK_TYPE D_06000460; +extern UNK_TYPE D_06000E68; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spinyroll_0x80A1DA50/func_80A1DAAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spinyroll/func_80A1DA50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spinyroll_0x80A1DA50/func_80A1DB2C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spinyroll/func_80A1DAAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spinyroll_0x80A1DA50/func_80A1DC5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spinyroll/func_80A1DB2C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spinyroll_0x80A1DA50/func_80A1DCCC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spinyroll/func_80A1DC5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spinyroll_0x80A1DA50/func_80A1DD18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spinyroll/func_80A1DCCC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spinyroll_0x80A1DA50/func_80A1DE10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spinyroll/func_80A1DD18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spinyroll_0x80A1DA50/func_80A1DE58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spinyroll/func_80A1DE10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spinyroll_0x80A1DA50/func_80A1DE84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spinyroll/func_80A1DE58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spinyroll_0x80A1DA50/func_80A1DEB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spinyroll/func_80A1DE84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spinyroll_0x80A1DA50/func_80A1DFA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spinyroll/func_80A1DEB8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spinyroll_0x80A1DA50/func_80A1E074.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spinyroll/func_80A1DFA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spinyroll_0x80A1DA50/func_80A1E2D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spinyroll/func_80A1E074.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spinyroll_0x80A1DA50/func_80A1E334.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spinyroll/func_80A1E2D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spinyroll_0x80A1DA50/func_80A1E394.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spinyroll/func_80A1E334.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spinyroll_0x80A1DA50/func_80A1E3D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spinyroll/func_80A1E394.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spinyroll_0x80A1DA50/func_80A1E648.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spinyroll/func_80A1E3D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spinyroll_0x80A1DA50/func_80A1E694.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spinyroll/func_80A1E648.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spinyroll_0x80A1DA50/func_80A1E6D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spinyroll/func_80A1E694.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spinyroll_0x80A1DA50/ObjSpinyroll_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spinyroll/func_80A1E6D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spinyroll_0x80A1DA50/ObjSpinyroll_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spinyroll/ObjSpinyroll_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spinyroll_0x80A1DA50/func_80A1E9C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spinyroll/ObjSpinyroll_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spinyroll_0x80A1DA50/func_80A1E9E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spinyroll/func_80A1E9C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spinyroll_0x80A1DA50/func_80A1EA10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spinyroll/func_80A1E9E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spinyroll_0x80A1DA50/func_80A1EA4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spinyroll/func_80A1EA10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spinyroll_0x80A1DA50/func_80A1EAAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spinyroll/func_80A1EA4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spinyroll_0x80A1DA50/func_80A1EAE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spinyroll/func_80A1EAAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spinyroll_0x80A1DA50/func_80A1EB40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spinyroll/func_80A1EAE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spinyroll_0x80A1DA50/func_80A1EB54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spinyroll/func_80A1EB40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spinyroll_0x80A1DA50/func_80A1EC24.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spinyroll/func_80A1EB54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spinyroll_0x80A1DA50/func_80A1EC38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spinyroll/func_80A1EC24.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spinyroll_0x80A1DA50/func_80A1ECC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spinyroll/func_80A1EC38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spinyroll_0x80A1DA50/func_80A1ECD4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spinyroll/func_80A1ECC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spinyroll_0x80A1DA50/ObjSpinyroll_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spinyroll/func_80A1ECD4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Spinyroll_0x80A1DA50/ObjSpinyroll_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spinyroll/ObjSpinyroll_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Spinyroll/ObjSpinyroll_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Spinyroll/z_obj_spinyroll.h b/src/overlays/actors/ovl_Obj_Spinyroll/z_obj_spinyroll.h index 96074482d8..de78650a41 100644 --- a/src/overlays/actors/ovl_Obj_Spinyroll/z_obj_spinyroll.h +++ b/src/overlays/actors/ovl_Obj_Spinyroll/z_obj_spinyroll.h @@ -1,13 +1,17 @@ #ifndef Z_OBJ_SPINYROLL_H #define Z_OBJ_SPINYROLL_H -#include +#include "global.h" struct ObjSpinyroll; +typedef void (*ObjSpinyrollActionFunc)(struct ObjSpinyroll* this, GlobalContext* globalCtx); + typedef struct ObjSpinyroll { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x3A0]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x35C]; + /* 0x04A0 */ ObjSpinyrollActionFunc actionFunc; + /* 0x04A4 */ char unk_4A4[0x40]; } ObjSpinyroll; // size = 0x4E4 extern const ActorInit Obj_Spinyroll_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Switch/z_obj_switch.c b/src/overlays/actors/ovl_Obj_Switch/z_obj_switch.c index 2cdd7d9820..79077e7d22 100644 --- a/src/overlays/actors/ovl_Obj_Switch/z_obj_switch.c +++ b/src/overlays/actors/ovl_Obj_Switch/z_obj_switch.c @@ -22,7 +22,6 @@ const ActorInit Obj_Switch_InitVars = { (ActorFunc)ObjSwitch_Draw, }; - // static ColliderTrisElementInit sTrisElementsInit[2] = { static ColliderTrisElementInit D_8093CCD4[2] = { { @@ -41,7 +40,6 @@ static ColliderTrisInit D_8093CD4C = { 2, D_8093CCD4, // sTrisElementsInit, }; - // static ColliderTrisElementInit sTrisElementsInit[2] = { static ColliderTrisElementInit D_8093CD5C[2] = { { @@ -60,7 +58,6 @@ static ColliderTrisInit D_8093CDD4 = { 2, D_8093CD5C, // sTrisElementsInit, }; - // static ColliderJntSphElementInit sJntSphElementsInit[1] = { static ColliderJntSphElementInit D_8093CDE4[1] = { { @@ -75,7 +72,6 @@ static ColliderJntSphInit D_8093CE08 = { 1, D_8093CDE4, // sJntSphElementsInit, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_8093CE18[] = { ICHAIN_F32(uncullZoneForward, 4000, ICHAIN_CONTINUE), @@ -83,6 +79,7 @@ static InitChainEntry D_8093CE18[] = { ICHAIN_F32(uncullZoneDownward, 200, ICHAIN_STOP), }; +#endif extern ColliderTrisElementInit D_8093CCD4[2]; extern ColliderTrisInit D_8093CD4C; @@ -91,118 +88,117 @@ extern ColliderTrisInit D_8093CDD4; extern ColliderJntSphElementInit D_8093CDE4[1]; extern ColliderJntSphInit D_8093CE08; extern InitChainEntry D_8093CE18[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093ABD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093ABD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093AC6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093AC6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093ADA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093ADA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093AE1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093AE1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093AE74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093AE74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093AE88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093AE88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093AEC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093AEC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093AEF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093AEF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093AF1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093AF1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093AF54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093AF54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/ObjSwitch_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/ObjSwitch_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/ObjSwitch_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/ObjSwitch_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093B648.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093B648.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093B668.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093B668.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093B6F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093B6F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093B710.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093B710.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093B92C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093B92C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093B940.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093B940.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093B9C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093B9C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093B9E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093B9E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093BB5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093BB5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093BB70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093BB70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093BBD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093BBD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093BCC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093BCC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093BCDC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093BCDC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093BD34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093BD34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093BD4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093BD4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093BDAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093BDAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093BDC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093BDC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093BE10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093BE10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093BE2C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093BE2C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093BEF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093BEF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093BF04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093BF04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093BF50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093BF50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093BF70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093BF70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093C0A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093C0A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093C0B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093C0B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093C138.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093C138.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093C15C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093C15C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093C23C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093C23C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093C250.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093C250.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093C2B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093C2B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093C2D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093C2D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093C3C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093C3C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093C3DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093C3DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093C460.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093C460.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093C488.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093C488.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093C584.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093C584.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093C598.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093C598.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/ObjSwitch_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/ObjSwitch_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093C778.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093C778.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093C888.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093C888.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093C8B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093C8B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093C99C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093C99C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093CA80.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093CA80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/func_8093CAC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/func_8093CAC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Switch_0x8093ABD0/ObjSwitch_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Switch/ObjSwitch_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Switch/z_obj_switch.h b/src/overlays/actors/ovl_Obj_Switch/z_obj_switch.h index 1b88648af4..a9c530bf65 100644 --- a/src/overlays/actors/ovl_Obj_Switch/z_obj_switch.h +++ b/src/overlays/actors/ovl_Obj_Switch/z_obj_switch.h @@ -1,13 +1,17 @@ #ifndef Z_OBJ_SWITCH_H #define Z_OBJ_SWITCH_H -#include +#include "global.h" struct ObjSwitch; +typedef void (*ObjSwitchActionFunc)(struct ObjSwitch* this, GlobalContext* globalCtx); + typedef struct ObjSwitch { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x114]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x18]; + /* 0x015C */ ObjSwitchActionFunc actionFunc; + /* 0x0160 */ char unk_160[0xF8]; } ObjSwitch; // size = 0x258 extern const ActorInit Obj_Switch_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Swprize/z_obj_swprize.c b/src/overlays/actors/ovl_Obj_Swprize/z_obj_swprize.c index 02564d8703..f8c1bcd35e 100644 --- a/src/overlays/actors/ovl_Obj_Swprize/z_obj_swprize.c +++ b/src/overlays/actors/ovl_Obj_Swprize/z_obj_swprize.c @@ -8,6 +8,11 @@ void ObjSwprize_Init(Actor* thisx, GlobalContext* globalCtx); void ObjSwprize_Destroy(Actor* thisx, GlobalContext* globalCtx); void ObjSwprize_Update(Actor* thisx, GlobalContext* globalCtx); +void func_80C25654(ObjSwprize* this, GlobalContext* globalCtx); +void func_80C256AC(ObjSwprize* this, GlobalContext* globalCtx); +void func_80C2572C(ObjSwprize* this, GlobalContext* globalCtx); +void func_80C25794(ObjSwprize* this, GlobalContext* globalCtx); + #if 0 const ActorInit Obj_Swprize_InitVars = { ACTOR_OBJ_SWPRIZE, @@ -23,28 +28,28 @@ const ActorInit Obj_Swprize_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Swprize_0x80C25360/func_80C25360.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Swprize/func_80C25360.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Swprize_0x80C25360/func_80C253D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Swprize/func_80C253D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Swprize_0x80C25360/ObjSwprize_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Swprize/ObjSwprize_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Swprize_0x80C25360/ObjSwprize_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Swprize/ObjSwprize_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Swprize_0x80C25360/func_80C25640.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Swprize/func_80C25640.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Swprize_0x80C25360/func_80C25654.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Swprize/func_80C25654.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Swprize_0x80C25360/func_80C25698.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Swprize/func_80C25698.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Swprize_0x80C25360/func_80C256AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Swprize/func_80C256AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Swprize_0x80C25360/func_80C25710.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Swprize/func_80C25710.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Swprize_0x80C25360/func_80C2572C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Swprize/func_80C2572C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Swprize_0x80C25360/func_80C25780.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Swprize/func_80C25780.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Swprize_0x80C25360/func_80C25794.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Swprize/func_80C25794.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Swprize_0x80C25360/ObjSwprize_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Swprize/ObjSwprize_Update.s") diff --git a/src/overlays/actors/ovl_Obj_Swprize/z_obj_swprize.h b/src/overlays/actors/ovl_Obj_Swprize/z_obj_swprize.h index 88c4056015..cdf3888b6b 100644 --- a/src/overlays/actors/ovl_Obj_Swprize/z_obj_swprize.h +++ b/src/overlays/actors/ovl_Obj_Swprize/z_obj_swprize.h @@ -1,13 +1,16 @@ #ifndef Z_OBJ_SWPRIZE_H #define Z_OBJ_SWPRIZE_H -#include +#include "global.h" struct ObjSwprize; +typedef void (*ObjSwprizeActionFunc)(struct ObjSwprize* this, GlobalContext* globalCtx); + typedef struct ObjSwprize { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x8]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ ObjSwprizeActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x4]; } ObjSwprize; // size = 0x14C extern const ActorInit Obj_Swprize_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Syokudai/z_obj_syokudai.c b/src/overlays/actors/ovl_Obj_Syokudai/z_obj_syokudai.c index cdd6845878..92f206b47f 100644 --- a/src/overlays/actors/ovl_Obj_Syokudai/z_obj_syokudai.c +++ b/src/overlays/actors/ovl_Obj_Syokudai/z_obj_syokudai.c @@ -22,7 +22,6 @@ const ActorInit Obj_Syokudai_InitVars = { (ActorFunc)ObjSyokudai_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_808BCCC0 = { { COLTYPE_METAL, AT_NONE, AC_ON | AC_HARD | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -30,7 +29,6 @@ static ColliderCylinderInit D_808BCCC0 = { { 12, 45, 0, { 0, 0, 0 } }, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_808BCCEC = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_NONE, OC2_NONE, COLSHAPE_CYLINDER, }, @@ -38,7 +36,6 @@ static ColliderCylinderInit D_808BCCEC = { { 15, 45, 45, { 0, 0, 0 } }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_808BCD18[] = { ICHAIN_VEC3F_DIV1000(scale, 1000, ICHAIN_CONTINUE), @@ -47,16 +44,16 @@ static InitChainEntry D_808BCD18[] = { ICHAIN_F32(uncullZoneDownward, 800, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_808BCCC0; extern ColliderCylinderInit D_808BCCEC; extern InitChainEntry D_808BCD18[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Syokudai_0x808BC010/ObjSyokudai_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Syokudai/ObjSyokudai_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Syokudai_0x808BC010/ObjSyokudai_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Syokudai/ObjSyokudai_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Syokudai_0x808BC010/ObjSyokudai_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Syokudai/ObjSyokudai_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Syokudai_0x808BC010/ObjSyokudai_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Syokudai/ObjSyokudai_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Syokudai/z_obj_syokudai.h b/src/overlays/actors/ovl_Obj_Syokudai/z_obj_syokudai.h index 0fed3ca8c7..c2f0ea4a45 100644 --- a/src/overlays/actors/ovl_Obj_Syokudai/z_obj_syokudai.h +++ b/src/overlays/actors/ovl_Obj_Syokudai/z_obj_syokudai.h @@ -1,7 +1,7 @@ #ifndef Z_OBJ_SYOKUDAI_H #define Z_OBJ_SYOKUDAI_H -#include +#include "global.h" struct ObjSyokudai; diff --git a/src/overlays/actors/ovl_Obj_Takaraya_Wall/z_obj_takaraya_wall.c b/src/overlays/actors/ovl_Obj_Takaraya_Wall/z_obj_takaraya_wall.c index de934dd22b..0b2c789f21 100644 --- a/src/overlays/actors/ovl_Obj_Takaraya_Wall/z_obj_takaraya_wall.c +++ b/src/overlays/actors/ovl_Obj_Takaraya_Wall/z_obj_takaraya_wall.c @@ -9,6 +9,8 @@ void ObjTakarayaWall_Destroy(Actor* thisx, GlobalContext* globalCtx); void ObjTakarayaWall_Update(Actor* thisx, GlobalContext* globalCtx); void ObjTakarayaWall_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80AD9B04(ObjTakarayaWall* this, GlobalContext* globalCtx); + #if 0 const ActorInit Obj_Takaraya_Wall_InitVars = { ACTOR_OBJ_TAKARAYA_WALL, @@ -22,7 +24,6 @@ const ActorInit Obj_Takaraya_Wall_InitVars = { (ActorFunc)ObjTakarayaWall_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80ADA2A0 = { { COLTYPE_NONE, AT_NONE, AC_NONE, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -30,31 +31,32 @@ static ColliderCylinderInit D_80ADA2A0 = { { 40, 120, 0, { 0, 0, 0 } }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80ADA2CC[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80ADA2A0; extern InitChainEntry D_80ADA2CC[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Takaraya_Wall_0x80AD9240/func_80AD9240.asm") +extern UNK_TYPE D_06000D60; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Takaraya_Wall_0x80AD9240/func_80AD92FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Takaraya_Wall/func_80AD9240.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Takaraya_Wall_0x80AD9240/func_80AD9358.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Takaraya_Wall/func_80AD92FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Takaraya_Wall_0x80AD9240/func_80AD9488.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Takaraya_Wall/func_80AD9358.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Takaraya_Wall_0x80AD9240/ObjTakarayaWall_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Takaraya_Wall/func_80AD9488.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Takaraya_Wall_0x80AD9240/ObjTakarayaWall_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Takaraya_Wall/ObjTakarayaWall_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Takaraya_Wall_0x80AD9240/func_80AD9B04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Takaraya_Wall/ObjTakarayaWall_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Takaraya_Wall_0x80AD9240/ObjTakarayaWall_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Takaraya_Wall/func_80AD9B04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Takaraya_Wall_0x80AD9240/ObjTakarayaWall_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Takaraya_Wall/ObjTakarayaWall_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Takaraya_Wall/ObjTakarayaWall_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Takaraya_Wall/z_obj_takaraya_wall.h b/src/overlays/actors/ovl_Obj_Takaraya_Wall/z_obj_takaraya_wall.h index bd4d6e5707..1e2adcc90b 100644 --- a/src/overlays/actors/ovl_Obj_Takaraya_Wall/z_obj_takaraya_wall.h +++ b/src/overlays/actors/ovl_Obj_Takaraya_Wall/z_obj_takaraya_wall.h @@ -1,13 +1,16 @@ #ifndef Z_OBJ_TAKARAYA_WALL_H #define Z_OBJ_TAKARAYA_WALL_H -#include +#include "global.h" struct ObjTakarayaWall; +typedef void (*ObjTakarayaWallActionFunc)(struct ObjTakarayaWall* this, GlobalContext* globalCtx); + typedef struct ObjTakarayaWall { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x9C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ ObjTakarayaWallActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x98]; } ObjTakarayaWall; // size = 0x1E0 extern const ActorInit Obj_Takaraya_Wall_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Taru/z_obj_taru.c b/src/overlays/actors/ovl_Obj_Taru/z_obj_taru.c index 5b06002977..2fc3196925 100644 --- a/src/overlays/actors/ovl_Obj_Taru/z_obj_taru.c +++ b/src/overlays/actors/ovl_Obj_Taru/z_obj_taru.c @@ -22,7 +22,6 @@ const ActorInit Obj_Taru_InitVars = { (ActorFunc)ObjTaru_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80B9C340 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_NONE, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -30,7 +29,6 @@ static ColliderCylinderInit D_80B9C340 = { { 30, 50, 0, { 0, 0, 0 } }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80B9C36C[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_CONTINUE), @@ -39,35 +37,40 @@ static InitChainEntry D_80B9C36C[] = { ICHAIN_F32(uncullZoneDownward, 200, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80B9C340; extern InitChainEntry D_80B9C36C[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Taru_0x80B9B6E0/func_80B9B6E0.asm") +extern UNK_TYPE D_06000420; +extern UNK_TYPE D_06001040; +extern UNK_TYPE D_06001100; +extern UNK_TYPE D_06001CB0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Taru_0x80B9B6E0/func_80B9B74C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Taru/func_80B9B6E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Taru_0x80B9B6E0/func_80B9B9C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Taru/func_80B9B74C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Taru_0x80B9B6E0/func_80B9BC64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Taru/func_80B9B9C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Taru_0x80B9B6E0/func_80B9BCBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Taru/func_80B9BC64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Taru_0x80B9B6E0/func_80B9BD84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Taru/func_80B9BCBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Taru_0x80B9B6E0/ObjTaru_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Taru/func_80B9BD84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Taru_0x80B9B6E0/ObjTaru_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Taru/ObjTaru_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Taru_0x80B9B6E0/func_80B9BF7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Taru/ObjTaru_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Taru_0x80B9B6E0/func_80B9C07C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Taru/func_80B9BF7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Taru_0x80B9B6E0/func_80B9C174.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Taru/func_80B9C07C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Taru_0x80B9B6E0/func_80B9C1A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Taru/func_80B9C174.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Taru_0x80B9B6E0/ObjTaru_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Taru/func_80B9C1A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Taru_0x80B9B6E0/ObjTaru_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Taru/ObjTaru_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Taru/ObjTaru_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Taru/z_obj_taru.h b/src/overlays/actors/ovl_Obj_Taru/z_obj_taru.h index 51aaceee58..dd1758ee99 100644 --- a/src/overlays/actors/ovl_Obj_Taru/z_obj_taru.h +++ b/src/overlays/actors/ovl_Obj_Taru/z_obj_taru.h @@ -1,13 +1,17 @@ #ifndef Z_OBJ_TARU_H #define Z_OBJ_TARU_H -#include +#include "global.h" struct ObjTaru; +typedef void (*ObjTaruActionFunc)(struct ObjTaru* this, GlobalContext* globalCtx); + typedef struct ObjTaru { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x6C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x64]; + /* 0x01A8 */ ObjTaruActionFunc actionFunc; + /* 0x01AC */ char unk_1AC[0x4]; } ObjTaru; // size = 0x1B0 extern const ActorInit Obj_Taru_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Toge/z_obj_toge.c b/src/overlays/actors/ovl_Obj_Toge/z_obj_toge.c index 79391e87c9..3d4edd76e8 100644 --- a/src/overlays/actors/ovl_Obj_Toge/z_obj_toge.c +++ b/src/overlays/actors/ovl_Obj_Toge/z_obj_toge.c @@ -9,6 +9,10 @@ void ObjToge_Destroy(Actor* thisx, GlobalContext* globalCtx); void ObjToge_Update(Actor* thisx, GlobalContext* globalCtx); void ObjToge_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_809A477C(ObjToge* this, GlobalContext* globalCtx); +void func_809A481C(ObjToge* this, GlobalContext* globalCtx); +void func_809A48AC(ObjToge* this, GlobalContext* globalCtx); + #if 0 const ActorInit Obj_Toge_InitVars = { ACTOR_OBJ_TOGE, @@ -22,7 +26,6 @@ const ActorInit Obj_Toge_InitVars = { (ActorFunc)ObjToge_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_809A4CB0 = { { COLTYPE_METAL, AT_NONE, AC_ON | AC_HARD | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -30,7 +33,6 @@ static ColliderCylinderInit D_809A4CB0 = { { 30, 20, 0, { 0, 0, 0 } }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_809A4D14[] = { ICHAIN_F32_DIV1000(minVelocityY, 0, ICHAIN_CONTINUE), @@ -39,35 +41,37 @@ static InitChainEntry D_809A4D14[] = { ICHAIN_F32(uncullZoneDownward, 150, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_809A4CB0; extern InitChainEntry D_809A4D14[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Toge_0x809A41C0/func_809A41C0.asm") +extern UNK_TYPE D_06001400; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Toge_0x809A41C0/func_809A42A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Toge/func_809A41C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Toge_0x809A41C0/func_809A43A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Toge/func_809A42A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Toge_0x809A41C0/func_809A43EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Toge/func_809A43A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Toge_0x809A41C0/ObjToge_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Toge/func_809A43EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Toge_0x809A41C0/ObjToge_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Toge/ObjToge_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Toge_0x809A41C0/func_809A4744.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Toge/ObjToge_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Toge_0x809A41C0/func_809A477C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Toge/func_809A4744.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Toge_0x809A41C0/func_809A4804.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Toge/func_809A477C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Toge_0x809A41C0/func_809A481C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Toge/func_809A4804.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Toge_0x809A41C0/func_809A488C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Toge/func_809A481C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Toge_0x809A41C0/func_809A48AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Toge/func_809A488C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Toge_0x809A41C0/ObjToge_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Toge/func_809A48AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Toge_0x809A41C0/ObjToge_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Toge/ObjToge_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Toge/ObjToge_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Toge/z_obj_toge.h b/src/overlays/actors/ovl_Obj_Toge/z_obj_toge.h index 6279a2748e..a047225e36 100644 --- a/src/overlays/actors/ovl_Obj_Toge/z_obj_toge.h +++ b/src/overlays/actors/ovl_Obj_Toge/z_obj_toge.h @@ -1,13 +1,17 @@ #ifndef Z_OBJ_TOGE_H #define Z_OBJ_TOGE_H -#include +#include "global.h" struct ObjToge; +typedef void (*ObjTogeActionFunc)(struct ObjToge* this, GlobalContext* globalCtx); + typedef struct ObjToge { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x8C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x4C]; + /* 0x0190 */ ObjTogeActionFunc actionFunc; + /* 0x0194 */ char unk_194[0x3C]; } ObjToge; // size = 0x1D0 extern const ActorInit Obj_Toge_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Tokei_Step/z_obj_tokei_step.c b/src/overlays/actors/ovl_Obj_Tokei_Step/z_obj_tokei_step.c index 295016fea1..7df2a0ecbd 100644 --- a/src/overlays/actors/ovl_Obj_Tokei_Step/z_obj_tokei_step.c +++ b/src/overlays/actors/ovl_Obj_Tokei_Step/z_obj_tokei_step.c @@ -37,10 +37,6 @@ const ActorInit Obj_Tokei_Step_InitVars = { (ActorFunc)ObjTokeiStep_Draw, }; -extern Gfx D_06000088[]; - -extern CollisionHeader D_06000968; - static f32 panelXOffsets[] = { -105.0f, -90.0f, -75.0f, -60.0f, -45.0f, -30.0f, -15.0f }; static f32 dustSpawnXOffsets[] = { -60.0f, -40.0f, -20.0f, 0.0f, 20.0f, 40.0f, 60.0f }; @@ -54,6 +50,9 @@ static InitChainEntry sInitChain[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), }; +extern Gfx D_06000088[]; +extern CollisionHeader D_06000968; + void ObjTokeiStep_SetSysMatrix(ObjTokeiStepPanel* panel) { MtxF* sysMatrix; diff --git a/src/overlays/actors/ovl_Obj_Tokei_Step/z_obj_tokei_step.h b/src/overlays/actors/ovl_Obj_Tokei_Step/z_obj_tokei_step.h index 04deba690b..06ec37e3a6 100644 --- a/src/overlays/actors/ovl_Obj_Tokei_Step/z_obj_tokei_step.h +++ b/src/overlays/actors/ovl_Obj_Tokei_Step/z_obj_tokei_step.h @@ -1,7 +1,7 @@ #ifndef Z_OBJ_TOKEI_STEP_H #define Z_OBJ_TOKEI_STEP_H -#include +#include "global.h" struct ObjTokeiStep; diff --git a/src/overlays/actors/ovl_Obj_Tokei_Tobira/z_obj_tokei_tobira.c b/src/overlays/actors/ovl_Obj_Tokei_Tobira/z_obj_tokei_tobira.c index fd48e0d13a..2ac8a64a63 100644 --- a/src/overlays/actors/ovl_Obj_Tokei_Tobira/z_obj_tokei_tobira.c +++ b/src/overlays/actors/ovl_Obj_Tokei_Tobira/z_obj_tokei_tobira.c @@ -22,7 +22,6 @@ const ActorInit Obj_Tokei_Tobira_InitVars = { (ActorFunc)ObjTokeiTobira_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80ABD750[] = { ICHAIN_F32(uncullZoneForward, 4000, ICHAIN_CONTINUE), @@ -31,16 +30,16 @@ static InitChainEntry D_80ABD750[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), }; - -extern InitChainEntry D_80ABD750[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokei_Tobira_0x80ABD1D0/ObjTokeiTobira_Init.asm") +extern InitChainEntry D_80ABD750[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokei_Tobira_0x80ABD1D0/ObjTokeiTobira_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokei_Tobira/ObjTokeiTobira_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokei_Tobira_0x80ABD1D0/func_80ABD3B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokei_Tobira/ObjTokeiTobira_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokei_Tobira_0x80ABD1D0/ObjTokeiTobira_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokei_Tobira/func_80ABD3B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokei_Tobira_0x80ABD1D0/ObjTokeiTobira_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokei_Tobira/ObjTokeiTobira_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokei_Tobira/ObjTokeiTobira_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Tokei_Tobira/z_obj_tokei_tobira.h b/src/overlays/actors/ovl_Obj_Tokei_Tobira/z_obj_tokei_tobira.h index 1c544d68d1..2b7466c7d7 100644 --- a/src/overlays/actors/ovl_Obj_Tokei_Tobira/z_obj_tokei_tobira.h +++ b/src/overlays/actors/ovl_Obj_Tokei_Tobira/z_obj_tokei_tobira.h @@ -1,13 +1,17 @@ #ifndef Z_OBJ_TOKEI_TOBIRA_H #define Z_OBJ_TOKEI_TOBIRA_H -#include +#include "global.h" struct ObjTokeiTobira; +typedef void (*ObjTokeiTobiraActionFunc)(struct ObjTokeiTobira* this, GlobalContext* globalCtx); + typedef struct ObjTokeiTobira { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x2C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x18]; + /* 0x015C */ ObjTokeiTobiraActionFunc actionFunc; + /* 0x0160 */ char unk_160[0x10]; } ObjTokeiTobira; // size = 0x170 extern const ActorInit Obj_Tokei_Tobira_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Tokei_Turret/z_obj_tokei_turret.c b/src/overlays/actors/ovl_Obj_Tokei_Turret/z_obj_tokei_turret.c index 587a1e6ad4..f1247cfefa 100644 --- a/src/overlays/actors/ovl_Obj_Tokei_Turret/z_obj_tokei_turret.c +++ b/src/overlays/actors/ovl_Obj_Tokei_Turret/z_obj_tokei_turret.c @@ -22,21 +22,23 @@ const ActorInit Obj_Tokei_Turret_InitVars = { (ActorFunc)ObjTokeiTurret_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80B91EC0[] = { ICHAIN_F32(uncullZoneForward, 1200, ICHAIN_CONTINUE), ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), }; - -extern InitChainEntry D_80B91EC0[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokei_Turret_0x80B91CC0/ObjTokeiTurret_Init.asm") +extern InitChainEntry D_80B91EC0[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokei_Turret_0x80B91CC0/ObjTokeiTurret_Destroy.asm") +extern UNK_TYPE D_060026A0; +extern UNK_TYPE D_06002A88; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokei_Turret_0x80B91CC0/ObjTokeiTurret_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokei_Turret/ObjTokeiTurret_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokei_Turret_0x80B91CC0/ObjTokeiTurret_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokei_Turret/ObjTokeiTurret_Destroy.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokei_Turret/ObjTokeiTurret_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokei_Turret/ObjTokeiTurret_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Tokei_Turret/z_obj_tokei_turret.h b/src/overlays/actors/ovl_Obj_Tokei_Turret/z_obj_tokei_turret.h index 7c38907b2b..42cb6f5d78 100644 --- a/src/overlays/actors/ovl_Obj_Tokei_Turret/z_obj_tokei_turret.h +++ b/src/overlays/actors/ovl_Obj_Tokei_Turret/z_obj_tokei_turret.h @@ -1,7 +1,7 @@ #ifndef Z_OBJ_TOKEI_TURRET_H #define Z_OBJ_TOKEI_TURRET_H -#include +#include "global.h" struct ObjTokeiTurret; diff --git a/src/overlays/actors/ovl_Obj_Tokeidai/z_obj_tokeidai.c b/src/overlays/actors/ovl_Obj_Tokeidai/z_obj_tokeidai.c index e767d2c82e..484e0bf3a3 100644 --- a/src/overlays/actors/ovl_Obj_Tokeidai/z_obj_tokeidai.c +++ b/src/overlays/actors/ovl_Obj_Tokeidai/z_obj_tokeidai.c @@ -9,6 +9,28 @@ void ObjTokeidai_Destroy(Actor* thisx, GlobalContext* globalCtx); void ObjTokeidai_Update(Actor* thisx, GlobalContext* globalCtx); void ObjTokeidai_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80AB319C(ObjTokeidai* this, GlobalContext* globalCtx); +void func_80AB3240(ObjTokeidai* this, GlobalContext* globalCtx); +void func_80AB32F0(ObjTokeidai* this, GlobalContext* globalCtx); +void func_80AB3370(ObjTokeidai* this, GlobalContext* globalCtx); +void func_80AB34CC(ObjTokeidai* this, GlobalContext* globalCtx); +void func_80AB3544(ObjTokeidai* this, GlobalContext* globalCtx); +void func_80AB3598(ObjTokeidai* this, GlobalContext* globalCtx); +void func_80AB363C(ObjTokeidai* this, GlobalContext* globalCtx); +void func_80AB365C(ObjTokeidai* this, GlobalContext* globalCtx); +void func_80AB3808(ObjTokeidai* this, GlobalContext* globalCtx); +void func_80AB3880(ObjTokeidai* this, GlobalContext* globalCtx); +void func_80AB38B0(ObjTokeidai* this, GlobalContext* globalCtx); +void func_80AB39BC(ObjTokeidai* this, GlobalContext* globalCtx); +void func_80AB3A7C(ObjTokeidai* this, GlobalContext* globalCtx); +void func_80AB3B34(ObjTokeidai* this, GlobalContext* globalCtx); +void func_80AB3BD8(ObjTokeidai* this, GlobalContext* globalCtx); +void func_80AB3BE8(ObjTokeidai* this, GlobalContext* globalCtx); +void func_80AB3ED0(ObjTokeidai* this, GlobalContext* globalCtx); +void func_80AB4040(ObjTokeidai* this, GlobalContext* globalCtx); +void func_80AB4080(ObjTokeidai* this, GlobalContext* globalCtx); +void func_80AB4160(ObjTokeidai* this, GlobalContext* globalCtx); + #if 0 const ActorInit Obj_Tokeidai_InitVars = { ACTOR_OBJ_TOKEIDAI, @@ -24,80 +46,85 @@ const ActorInit Obj_Tokeidai_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokeidai_0x80AB2790/func_80AB2790.asm") +extern UNK_TYPE D_0600B208; +extern UNK_TYPE D_0600BA78; +extern UNK_TYPE D_0600CF28; +extern UNK_TYPE D_0600D388; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokeidai_0x80AB2790/func_80AB27B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokeidai/func_80AB2790.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokeidai_0x80AB2790/func_80AB2834.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokeidai/func_80AB27B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokeidai_0x80AB2790/func_80AB28C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokeidai/func_80AB2834.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokeidai_0x80AB2790/func_80AB29F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokeidai/func_80AB28C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokeidai_0x80AB2790/func_80AB2BBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokeidai/func_80AB29F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokeidai_0x80AB2790/ObjTokeidai_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokeidai/func_80AB2BBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokeidai_0x80AB2790/ObjTokeidai_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokeidai/ObjTokeidai_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokeidai_0x80AB2790/func_80AB3010.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokeidai/ObjTokeidai_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokeidai_0x80AB2790/func_80AB319C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokeidai/func_80AB3010.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokeidai_0x80AB2790/func_80AB3240.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokeidai/func_80AB319C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokeidai_0x80AB2790/func_80AB32F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokeidai/func_80AB3240.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokeidai_0x80AB2790/func_80AB3370.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokeidai/func_80AB32F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokeidai_0x80AB2790/func_80AB34CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokeidai/func_80AB3370.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokeidai_0x80AB2790/func_80AB3544.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokeidai/func_80AB34CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokeidai_0x80AB2790/func_80AB3598.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokeidai/func_80AB3544.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokeidai_0x80AB2790/func_80AB363C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokeidai/func_80AB3598.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokeidai_0x80AB2790/func_80AB365C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokeidai/func_80AB363C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokeidai_0x80AB2790/func_80AB36C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokeidai/func_80AB365C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokeidai_0x80AB2790/func_80AB3808.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokeidai/func_80AB36C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokeidai_0x80AB2790/func_80AB3880.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokeidai/func_80AB3808.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokeidai_0x80AB2790/func_80AB38B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokeidai/func_80AB3880.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokeidai_0x80AB2790/func_80AB39BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokeidai/func_80AB38B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokeidai_0x80AB2790/func_80AB3A7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokeidai/func_80AB39BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokeidai_0x80AB2790/func_80AB3B34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokeidai/func_80AB3A7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokeidai_0x80AB2790/func_80AB3BB0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokeidai/func_80AB3B34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokeidai_0x80AB2790/func_80AB3BD8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokeidai/func_80AB3BB0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokeidai_0x80AB2790/func_80AB3BE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokeidai/func_80AB3BD8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokeidai_0x80AB2790/func_80AB3C50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokeidai/func_80AB3BE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokeidai_0x80AB2790/func_80AB3CCC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokeidai/func_80AB3C50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokeidai_0x80AB2790/func_80AB3ED0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokeidai/func_80AB3CCC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokeidai_0x80AB2790/func_80AB4040.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokeidai/func_80AB3ED0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokeidai_0x80AB2790/func_80AB4080.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokeidai/func_80AB4040.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokeidai_0x80AB2790/func_80AB4160.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokeidai/func_80AB4080.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokeidai_0x80AB2790/ObjTokeidai_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokeidai/func_80AB4160.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokeidai_0x80AB2790/ObjTokeidai_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokeidai/ObjTokeidai_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokeidai_0x80AB2790/func_80AB4394.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokeidai/ObjTokeidai_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokeidai_0x80AB2790/func_80AB4664.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokeidai/func_80AB4394.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tokeidai_0x80AB2790/func_80AB4894.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokeidai/func_80AB4664.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tokeidai/func_80AB4894.s") diff --git a/src/overlays/actors/ovl_Obj_Tokeidai/z_obj_tokeidai.h b/src/overlays/actors/ovl_Obj_Tokeidai/z_obj_tokeidai.h index 3f8064f1e2..90a9218d00 100644 --- a/src/overlays/actors/ovl_Obj_Tokeidai/z_obj_tokeidai.h +++ b/src/overlays/actors/ovl_Obj_Tokeidai/z_obj_tokeidai.h @@ -1,13 +1,16 @@ #ifndef Z_OBJ_TOKEIDAI_H #define Z_OBJ_TOKEIDAI_H -#include +#include "global.h" struct ObjTokeidai; +typedef void (*ObjTokeidaiActionFunc)(struct ObjTokeidai* this, GlobalContext* globalCtx); + typedef struct ObjTokeidai { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x34]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x30]; + /* 0x0174 */ ObjTokeidaiActionFunc actionFunc; } ObjTokeidai; // size = 0x178 extern const ActorInit Obj_Tokeidai_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Toudai/z_obj_toudai.c b/src/overlays/actors/ovl_Obj_Toudai/z_obj_toudai.c index 40303bc339..1ae3bf122b 100644 --- a/src/overlays/actors/ovl_Obj_Toudai/z_obj_toudai.c +++ b/src/overlays/actors/ovl_Obj_Toudai/z_obj_toudai.c @@ -24,16 +24,19 @@ const ActorInit Obj_Toudai_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Toudai_0x80A33B00/func_80A33B00.asm") +extern UNK_TYPE D_060023B0; +extern UNK_TYPE D_060024E8; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Toudai_0x80A33B00/func_80A33BB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Toudai/func_80A33B00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Toudai_0x80A33B00/func_80A342F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Toudai/func_80A33BB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Toudai_0x80A33B00/ObjToudai_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Toudai/func_80A342F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Toudai_0x80A33B00/ObjToudai_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Toudai/ObjToudai_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Toudai_0x80A33B00/ObjToudai_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Toudai/ObjToudai_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Toudai_0x80A33B00/ObjToudai_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Toudai/ObjToudai_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Toudai/ObjToudai_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Toudai/z_obj_toudai.h b/src/overlays/actors/ovl_Obj_Toudai/z_obj_toudai.h index 150dbbfae9..ca28dc786a 100644 --- a/src/overlays/actors/ovl_Obj_Toudai/z_obj_toudai.h +++ b/src/overlays/actors/ovl_Obj_Toudai/z_obj_toudai.h @@ -1,7 +1,7 @@ #ifndef Z_OBJ_TOUDAI_H #define Z_OBJ_TOUDAI_H -#include +#include "global.h" struct ObjToudai; diff --git a/src/overlays/actors/ovl_Obj_Tree/z_obj_tree.c b/src/overlays/actors/ovl_Obj_Tree/z_obj_tree.c index 8deef74300..8ffee7d200 100644 --- a/src/overlays/actors/ovl_Obj_Tree/z_obj_tree.c +++ b/src/overlays/actors/ovl_Obj_Tree/z_obj_tree.c @@ -22,7 +22,6 @@ const ActorInit Obj_Tree_InitVars = { (ActorFunc)ObjTree_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80B9A570 = { { COLTYPE_TREE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,7 +29,6 @@ static ColliderCylinderInit D_80B9A570 = { { 28, 120, 0, { 0, 0, 0 } }, }; - // static DamageTable sDamageTable = { static DamageTable D_80B9A59C = { /* Deku Nut */ DMG_ENTRY(0, 0x0), @@ -67,30 +65,32 @@ static DamageTable D_80B9A59C = { /* Powder Keg */ DMG_ENTRY(0, 0x0), }; - // sColChkInfoInit static CollisionCheckInfoInit2 D_80B9A5BC = { 8, 0, 0, 0, MASS_HEAVY }; +#endif extern ColliderCylinderInit D_80B9A570; extern DamageTable D_80B9A59C; extern CollisionCheckInfoInit2 D_80B9A5BC; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tree_0x80B9A0B0/ObjTree_Init.asm") +extern UNK_TYPE D_06000680; +extern UNK_TYPE D_06001B2C; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tree_0x80B9A0B0/ObjTree_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tree/ObjTree_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tree_0x80B9A0B0/func_80B9A20C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tree/ObjTree_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tree_0x80B9A0B0/func_80B9A220.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tree/func_80B9A20C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tree_0x80B9A0B0/func_80B9A230.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tree/func_80B9A220.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tree_0x80B9A0B0/func_80B9A27C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tree/func_80B9A230.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tree_0x80B9A0B0/func_80B9A348.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tree/func_80B9A27C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tree_0x80B9A0B0/ObjTree_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tree/func_80B9A348.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tree_0x80B9A0B0/ObjTree_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tree/ObjTree_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tree/ObjTree_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Tree/z_obj_tree.h b/src/overlays/actors/ovl_Obj_Tree/z_obj_tree.h index cf82e46247..dabcbe46e4 100644 --- a/src/overlays/actors/ovl_Obj_Tree/z_obj_tree.h +++ b/src/overlays/actors/ovl_Obj_Tree/z_obj_tree.h @@ -1,13 +1,17 @@ #ifndef Z_OBJ_TREE_H #define Z_OBJ_TREE_H -#include +#include "global.h" struct ObjTree; +typedef void (*ObjTreeActionFunc)(struct ObjTree* this, GlobalContext* globalCtx); + typedef struct ObjTree { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x74]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x64]; + /* 0x01A8 */ ObjTreeActionFunc actionFunc; + /* 0x01AC */ char unk_1AC[0xC]; } ObjTree; // size = 0x1B8 extern const ActorInit Obj_Tree_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Tsubo/z_obj_tsubo.c b/src/overlays/actors/ovl_Obj_Tsubo/z_obj_tsubo.c index f40381e080..d9f9445270 100644 --- a/src/overlays/actors/ovl_Obj_Tsubo/z_obj_tsubo.c +++ b/src/overlays/actors/ovl_Obj_Tsubo/z_obj_tsubo.c @@ -8,6 +8,12 @@ void ObjTsubo_Init(Actor* thisx, GlobalContext* globalCtx); void ObjTsubo_Destroy(Actor* thisx, GlobalContext* globalCtx); void ObjTsubo_Update(Actor* thisx, GlobalContext* globalCtx); +void func_80928928(ObjTsubo* this, GlobalContext* globalCtx); +void func_809289E4(ObjTsubo* this, GlobalContext* globalCtx); +void func_80928D80(ObjTsubo* this, GlobalContext* globalCtx); +void func_80928F18(ObjTsubo* this, GlobalContext* globalCtx); +void func_8092926C(ObjTsubo* this, GlobalContext* globalCtx); + #if 0 const ActorInit Obj_Tsubo_InitVars = { ACTOR_OBJ_TSUBO, @@ -21,7 +27,6 @@ const ActorInit Obj_Tsubo_InitVars = { (ActorFunc)NULL, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_809295B0 = { { COLTYPE_HARD, AT_ON | AT_TYPE_PLAYER, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -29,7 +34,6 @@ static ColliderCylinderInit D_809295B0 = { { 12, 30, 0, { 0, 0, 0 } }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_809295DC[] = { ICHAIN_F32_DIV1000(gravity, -2000, ICHAIN_CONTINUE), @@ -39,63 +43,63 @@ static InitChainEntry D_809295DC[] = { ICHAIN_F32(uncullZoneDownward, 100, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_809295B0; extern InitChainEntry D_809295DC[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tsubo_0x809275C0/func_809275C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tsubo/func_809275C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tsubo_0x809275C0/func_8092762C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tsubo/func_8092762C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tsubo_0x809275C0/func_80927690.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tsubo/func_80927690.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tsubo_0x809275C0/func_80927714.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tsubo/func_80927714.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tsubo_0x809275C0/func_8092776C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tsubo/func_8092776C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tsubo_0x809275C0/func_80927818.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tsubo/func_80927818.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tsubo_0x809275C0/func_80927864.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tsubo/func_80927864.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tsubo_0x809275C0/func_8092788C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tsubo/func_8092788C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tsubo_0x809275C0/ObjTsubo_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tsubo/ObjTsubo_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tsubo_0x809275C0/ObjTsubo_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tsubo/ObjTsubo_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tsubo_0x809275C0/func_80927A78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tsubo/func_80927A78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tsubo_0x809275C0/func_80927D2C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tsubo/func_80927D2C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tsubo_0x809275C0/func_80927FCC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tsubo/func_80927FCC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tsubo_0x809275C0/func_809282F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tsubo/func_809282F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tsubo_0x809275C0/func_8092860C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tsubo/func_8092860C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tsubo_0x809275C0/func_80928904.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tsubo/func_80928904.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tsubo_0x809275C0/func_80928914.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tsubo/func_80928914.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tsubo_0x809275C0/func_80928928.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tsubo/func_80928928.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tsubo_0x809275C0/func_809289B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tsubo/func_809289B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tsubo_0x809275C0/func_809289E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tsubo/func_809289E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tsubo_0x809275C0/func_80928D6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tsubo/func_80928D6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tsubo_0x809275C0/func_80928D80.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tsubo/func_80928D80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tsubo_0x809275C0/func_80928E74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tsubo/func_80928E74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tsubo_0x809275C0/func_80928F18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tsubo/func_80928F18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tsubo_0x809275C0/func_809291DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tsubo/func_809291DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tsubo_0x809275C0/func_8092926C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tsubo/func_8092926C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tsubo_0x809275C0/ObjTsubo_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tsubo/ObjTsubo_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Tsubo_0x809275C0/func_809294B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tsubo/func_809294B0.s") diff --git a/src/overlays/actors/ovl_Obj_Tsubo/z_obj_tsubo.h b/src/overlays/actors/ovl_Obj_Tsubo/z_obj_tsubo.h index b2f1a6279c..0fcbb05cb1 100644 --- a/src/overlays/actors/ovl_Obj_Tsubo/z_obj_tsubo.h +++ b/src/overlays/actors/ovl_Obj_Tsubo/z_obj_tsubo.h @@ -1,13 +1,16 @@ #ifndef Z_OBJ_TSUBO_H #define Z_OBJ_TSUBO_H -#include +#include "global.h" struct ObjTsubo; +typedef void (*ObjTsuboActionFunc)(struct ObjTsubo* this, GlobalContext* globalCtx); + typedef struct ObjTsubo { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x58]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ ObjTsuboActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x54]; } ObjTsubo; // size = 0x19C extern const ActorInit Obj_Tsubo_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Um/z_obj_um.c b/src/overlays/actors/ovl_Obj_Um/z_obj_um.c index 11e56fb219..fe474e428e 100644 --- a/src/overlays/actors/ovl_Obj_Um/z_obj_um.c +++ b/src/overlays/actors/ovl_Obj_Um/z_obj_um.c @@ -9,6 +9,24 @@ void ObjUm_Destroy(Actor* thisx, GlobalContext* globalCtx); void ObjUm_Update(Actor* thisx, GlobalContext* globalCtx); void ObjUm_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80B79A50(ObjUm* this, GlobalContext* globalCtx); +void func_80B79F10(ObjUm* this, GlobalContext* globalCtx); +void func_80B7A070(ObjUm* this, GlobalContext* globalCtx); +void func_80B7A0E0(ObjUm* this, GlobalContext* globalCtx); +void func_80B7A144(ObjUm* this, GlobalContext* globalCtx); +void func_80B7A2AC(ObjUm* this, GlobalContext* globalCtx); +void func_80B7A394(ObjUm* this, GlobalContext* globalCtx); +void func_80B7A400(ObjUm* this, GlobalContext* globalCtx); +void func_80B7A494(ObjUm* this, GlobalContext* globalCtx); +void func_80B7A614(ObjUm* this, GlobalContext* globalCtx); +void func_80B7A7AC(ObjUm* this, GlobalContext* globalCtx); +void func_80B7ABE4(ObjUm* this, GlobalContext* globalCtx); +void func_80B7AC94(ObjUm* this, GlobalContext* globalCtx); +void func_80B7AD34(ObjUm* this, GlobalContext* globalCtx); +void func_80B7AE58(ObjUm* this, GlobalContext* globalCtx); + +void ObjUm_SetupAction(ObjUm* this, ObjUmActionFunc actionFunc); + #if 0 const ActorInit Obj_Um_InitVars = { ACTOR_OBJ_UM, @@ -22,7 +40,6 @@ const ActorInit Obj_Um_InitVars = { (ActorFunc)ObjUm_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80B7C138 = { { COLTYPE_HIT3, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_NONE, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -30,122 +47,124 @@ static ColliderCylinderInit D_80B7C138 = { { 40, 64, 0, { 0, 0, 0 } }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80B7C254[] = { ICHAIN_F32(uncullZoneScale, 1200, ICHAIN_CONTINUE), ICHAIN_F32(uncullZoneDownward, 300, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80B7C138; extern InitChainEntry D_80B7C254[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B77770.asm") +extern UNK_TYPE D_06011DF8; +extern UNK_TYPE D_06012CC0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B77FA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B77770.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B781DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B77FA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B783E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B781DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B78764.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B783E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B78A54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B78764.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B78C18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B78A54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B78D08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B78C18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B78DF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B78D08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B78E2C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B78DF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B78E38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/ObjUm_SetupAction.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B78E88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B78E38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B78EBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B78E88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B78EFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B78EBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/ObjUm_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B78EFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/ObjUm_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/ObjUm_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B79524.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/ObjUm_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B79560.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B79524.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B795A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B79560.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B79734.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B795A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B797EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B79734.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B7984C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B797EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B79A24.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B7984C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B79A50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B79A24.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B79BA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B79A50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B79F10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B79BA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B79FFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B79F10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B7A070.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B79FFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B7A0E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B7A070.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B7A144.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B7A0E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B7A1B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B7A144.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B7A240.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B7A1B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B7A2AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B7A240.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B7A394.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B7A2AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B7A400.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B7A394.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B7A494.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B7A400.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B7A614.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B7A494.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B7A7AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B7A614.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B7A860.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B7A7AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B7AB78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B7A860.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B7ABE4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B7AB78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B7AC94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B7ABE4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B7AD34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B7AC94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B7AE58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B7AD34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B7AEFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B7AE58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B7AF30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B7AEFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B7B154.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B7AF30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B7B18C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B7B154.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/ObjUm_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B7B18C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B7B598.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/ObjUm_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B7B93C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B7B598.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B7BABC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B7B93C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/func_80B7BEA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B7BABC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Um_0x80B77770/ObjUm_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/func_80B7BEA4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Um/ObjUm_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Um/z_obj_um.h b/src/overlays/actors/ovl_Obj_Um/z_obj_um.h index 5b7aa40e32..a68edc5bb0 100644 --- a/src/overlays/actors/ovl_Obj_Um/z_obj_um.h +++ b/src/overlays/actors/ovl_Obj_Um/z_obj_um.h @@ -1,13 +1,17 @@ #ifndef Z_OBJ_UM_H #define Z_OBJ_UM_H -#include +#include "global.h" struct ObjUm; +typedef void (*ObjUmActionFunc)(struct ObjUm* this, GlobalContext* globalCtx); + typedef struct ObjUm { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x3A0]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x18]; + /* 0x015C */ ObjUmActionFunc actionFunc; + /* 0x0160 */ char unk_160[0x384]; } ObjUm; // size = 0x4E4 extern const ActorInit Obj_Um_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Usiyane/z_obj_usiyane.c b/src/overlays/actors/ovl_Obj_Usiyane/z_obj_usiyane.c index 2ba089dd87..32b9d49dc2 100644 --- a/src/overlays/actors/ovl_Obj_Usiyane/z_obj_usiyane.c +++ b/src/overlays/actors/ovl_Obj_Usiyane/z_obj_usiyane.c @@ -22,7 +22,6 @@ const ActorInit Obj_Usiyane_InitVars = { (ActorFunc)ObjUsiyane_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80C086B0[] = { ICHAIN_F32(uncullZoneScale, 1200, ICHAIN_CONTINUE), @@ -30,30 +29,33 @@ static InitChainEntry D_80C086B0[] = { ICHAIN_F32(uncullZoneDownward, 900, ICHAIN_STOP), }; - -extern InitChainEntry D_80C086B0[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Usiyane_0x80C07C80/func_80C07C80.asm") +extern InitChainEntry D_80C086B0[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Usiyane_0x80C07C80/func_80C07CD0.asm") +extern UNK_TYPE D_06000838; +extern UNK_TYPE D_060022AC; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Usiyane_0x80C07C80/func_80C07DC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Usiyane/func_80C07C80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Usiyane_0x80C07C80/func_80C07DFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Usiyane/func_80C07CD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Usiyane_0x80C07C80/func_80C07F30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Usiyane/func_80C07DC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Usiyane_0x80C07C80/func_80C081C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Usiyane/func_80C07DFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Usiyane_0x80C07C80/func_80C082CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Usiyane/func_80C07F30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Usiyane_0x80C07C80/func_80C082E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Usiyane/func_80C081C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Usiyane_0x80C07C80/ObjUsiyane_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Usiyane/func_80C082CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Usiyane_0x80C07C80/ObjUsiyane_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Usiyane/func_80C082E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Usiyane_0x80C07C80/ObjUsiyane_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Usiyane/ObjUsiyane_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Usiyane_0x80C07C80/ObjUsiyane_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Usiyane/ObjUsiyane_Destroy.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Usiyane/ObjUsiyane_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Usiyane/ObjUsiyane_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Usiyane/z_obj_usiyane.h b/src/overlays/actors/ovl_Obj_Usiyane/z_obj_usiyane.h index c665ebc139..ce3c370b1e 100644 --- a/src/overlays/actors/ovl_Obj_Usiyane/z_obj_usiyane.h +++ b/src/overlays/actors/ovl_Obj_Usiyane/z_obj_usiyane.h @@ -1,13 +1,17 @@ #ifndef Z_OBJ_USIYANE_H #define Z_OBJ_USIYANE_H -#include +#include "global.h" struct ObjUsiyane; +typedef void (*ObjUsiyaneActionFunc)(struct ObjUsiyane* this, GlobalContext* globalCtx); + typedef struct ObjUsiyane { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x604]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x18]; + /* 0x015C */ ObjUsiyaneActionFunc actionFunc; + /* 0x0160 */ char unk_160[0x5E8]; } ObjUsiyane; // size = 0x748 extern const ActorInit Obj_Usiyane_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Visiblock/z_obj_visiblock.h b/src/overlays/actors/ovl_Obj_Visiblock/z_obj_visiblock.h index a40997c7e0..946685a5cd 100644 --- a/src/overlays/actors/ovl_Obj_Visiblock/z_obj_visiblock.h +++ b/src/overlays/actors/ovl_Obj_Visiblock/z_obj_visiblock.h @@ -1,7 +1,7 @@ #ifndef Z_OBJ_VISIBLOCK_H #define Z_OBJ_VISIBLOCK_H -#include +#include "global.h" struct ObjVisiblock; diff --git a/src/overlays/actors/ovl_Obj_Vspinyroll/z_obj_vspinyroll.c b/src/overlays/actors/ovl_Obj_Vspinyroll/z_obj_vspinyroll.c index 4e22ca3677..ffbd6a5116 100644 --- a/src/overlays/actors/ovl_Obj_Vspinyroll/z_obj_vspinyroll.c +++ b/src/overlays/actors/ovl_Obj_Vspinyroll/z_obj_vspinyroll.c @@ -9,6 +9,12 @@ void ObjVspinyroll_Destroy(Actor* thisx, GlobalContext* globalCtx); void ObjVspinyroll_Update(Actor* thisx, GlobalContext* globalCtx); void ObjVspinyroll_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80A3CEE0(ObjVspinyroll* this, GlobalContext* globalCtx); +void func_80A3CF4C(ObjVspinyroll* this, GlobalContext* globalCtx); +void func_80A3CFE0(ObjVspinyroll* this, GlobalContext* globalCtx); +void func_80A3D038(ObjVspinyroll* this, GlobalContext* globalCtx); +void func_80A3D0FC(ObjVspinyroll* this, GlobalContext* globalCtx); + #if 0 const ActorInit Obj_Vspinyroll_InitVars = { ACTOR_OBJ_VSPINYROLL, @@ -22,7 +28,6 @@ const ActorInit Obj_Vspinyroll_InitVars = { (ActorFunc)ObjVspinyroll_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80A3D488 = { { COLTYPE_METAL, AT_ON | AT_TYPE_ENEMY, AC_ON | AC_HARD | AC_TYPE_PLAYER, OC1_NONE, OC2_NONE, COLSHAPE_CYLINDER, }, @@ -30,68 +35,70 @@ static ColliderCylinderInit D_80A3D488 = { { 30, 120, 0, { 0, 0, 0 } }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80A3D4D4[] = { ICHAIN_F32(uncullZoneForward, 4000, ICHAIN_CONTINUE), ICHAIN_F32(uncullZoneDownward, 500, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80A3D488; extern InitChainEntry D_80A3D4D4[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Vspinyroll_0x80A3C4E0/func_80A3C4E0.asm") +extern UNK_TYPE D_06000460; +extern UNK_TYPE D_06000F80; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Vspinyroll_0x80A3C4E0/func_80A3C560.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Vspinyroll/func_80A3C4E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Vspinyroll_0x80A3C4E0/func_80A3C658.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Vspinyroll/func_80A3C560.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Vspinyroll_0x80A3C4E0/func_80A3C6A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Vspinyroll/func_80A3C658.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Vspinyroll_0x80A3C4E0/func_80A3C6CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Vspinyroll/func_80A3C6A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Vspinyroll_0x80A3C4E0/func_80A3C700.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Vspinyroll/func_80A3C6CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Vspinyroll_0x80A3C4E0/func_80A3C7E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Vspinyroll/func_80A3C700.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Vspinyroll_0x80A3C4E0/func_80A3C8D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Vspinyroll/func_80A3C7E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Vspinyroll_0x80A3C4E0/func_80A3CB94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Vspinyroll/func_80A3C8D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Vspinyroll_0x80A3C4E0/func_80A3CBF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Vspinyroll/func_80A3CB94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Vspinyroll_0x80A3C4E0/func_80A3CC30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Vspinyroll/func_80A3CBF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Vspinyroll_0x80A3C4E0/func_80A3CC84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Vspinyroll/func_80A3CC30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Vspinyroll_0x80A3C4E0/ObjVspinyroll_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Vspinyroll/func_80A3CC84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Vspinyroll_0x80A3C4E0/ObjVspinyroll_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Vspinyroll/ObjVspinyroll_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Vspinyroll_0x80A3C4E0/func_80A3CEC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Vspinyroll/ObjVspinyroll_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Vspinyroll_0x80A3C4E0/func_80A3CEE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Vspinyroll/func_80A3CEC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Vspinyroll_0x80A3C4E0/func_80A3CF10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Vspinyroll/func_80A3CEE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Vspinyroll_0x80A3C4E0/func_80A3CF4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Vspinyroll/func_80A3CF10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Vspinyroll_0x80A3C4E0/func_80A3CFAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Vspinyroll/func_80A3CF4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Vspinyroll_0x80A3C4E0/func_80A3CFE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Vspinyroll/func_80A3CFAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Vspinyroll_0x80A3C4E0/func_80A3D024.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Vspinyroll/func_80A3CFE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Vspinyroll_0x80A3C4E0/func_80A3D038.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Vspinyroll/func_80A3D024.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Vspinyroll_0x80A3C4E0/func_80A3D0E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Vspinyroll/func_80A3D038.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Vspinyroll_0x80A3C4E0/func_80A3D0FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Vspinyroll/func_80A3D0E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Vspinyroll_0x80A3C4E0/ObjVspinyroll_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Vspinyroll/func_80A3D0FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Vspinyroll_0x80A3C4E0/ObjVspinyroll_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Vspinyroll/ObjVspinyroll_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Vspinyroll_0x80A3C4E0/func_80A3D2C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Vspinyroll/ObjVspinyroll_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Vspinyroll/func_80A3D2C0.s") diff --git a/src/overlays/actors/ovl_Obj_Vspinyroll/z_obj_vspinyroll.h b/src/overlays/actors/ovl_Obj_Vspinyroll/z_obj_vspinyroll.h index 131e7fd05d..88f36b0f4b 100644 --- a/src/overlays/actors/ovl_Obj_Vspinyroll/z_obj_vspinyroll.h +++ b/src/overlays/actors/ovl_Obj_Vspinyroll/z_obj_vspinyroll.h @@ -1,13 +1,17 @@ #ifndef Z_OBJ_VSPINYROLL_H #define Z_OBJ_VSPINYROLL_H -#include +#include "global.h" struct ObjVspinyroll; +typedef void (*ObjVspinyrollActionFunc)(struct ObjVspinyroll* this, GlobalContext* globalCtx); + typedef struct ObjVspinyroll { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x288]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x24C]; + /* 0x0390 */ ObjVspinyrollActionFunc actionFunc; + /* 0x0394 */ char unk_394[0x38]; } ObjVspinyroll; // size = 0x3CC extern const ActorInit Obj_Vspinyroll_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Warpstone/z_obj_warpstone.c b/src/overlays/actors/ovl_Obj_Warpstone/z_obj_warpstone.c index 905f843589..cc0c25b632 100644 --- a/src/overlays/actors/ovl_Obj_Warpstone/z_obj_warpstone.c +++ b/src/overlays/actors/ovl_Obj_Warpstone/z_obj_warpstone.c @@ -9,6 +9,12 @@ void ObjWarpstone_Destroy(Actor* thisx, GlobalContext* globalCtx); void ObjWarpstone_Update(Actor* thisx, GlobalContext* globalCtx); void ObjWarpstone_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80B92C00(ObjWarpstone* this, GlobalContext* globalCtx); +void func_80B92CD0(ObjWarpstone* this, GlobalContext* globalCtx); +void func_80B92DC4(ObjWarpstone* this, GlobalContext* globalCtx); + +void ObjWarpstone_SetupAction(ObjWarpstone* this, ObjWarpstoneActionFunc actionFunc); + #if 0 const ActorInit Obj_Warpstone_InitVars = { ACTOR_OBJ_WARPSTONE, @@ -22,7 +28,6 @@ const ActorInit Obj_Warpstone_InitVars = { (ActorFunc)ObjWarpstone_Draw, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80B93220 = { { COLTYPE_METAL, AT_NONE, AC_ON | AC_HARD | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_2, COLSHAPE_CYLINDER, }, @@ -30,31 +35,30 @@ static ColliderCylinderInit D_80B93220 = { { 20, 60, 0, { 0, 0, 0 } }, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80B9324C[] = { ICHAIN_U8(targetMode, 1, ICHAIN_STOP), }; +#endif extern ColliderCylinderInit D_80B93220; extern InitChainEntry D_80B9324C[]; -#endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Warpstone_0x80B92B10/func_80B92B10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Warpstone/ObjWarpstone_SetupAction.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Warpstone_0x80B92B10/ObjWarpstone_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Warpstone/ObjWarpstone_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Warpstone_0x80B92B10/ObjWarpstone_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Warpstone/ObjWarpstone_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Warpstone_0x80B92B10/func_80B92C00.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Warpstone/func_80B92C00.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Warpstone_0x80B92B10/func_80B92C48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Warpstone/func_80B92C48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Warpstone_0x80B92B10/func_80B92CD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Warpstone/func_80B92CD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Warpstone_0x80B92B10/func_80B92DC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Warpstone/func_80B92DC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Warpstone_0x80B92B10/ObjWarpstone_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Warpstone/ObjWarpstone_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Warpstone_0x80B92B10/ObjWarpstone_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Warpstone/ObjWarpstone_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Warpstone/z_obj_warpstone.h b/src/overlays/actors/ovl_Obj_Warpstone/z_obj_warpstone.h index ab9ef3e8e4..5562534741 100644 --- a/src/overlays/actors/ovl_Obj_Warpstone/z_obj_warpstone.h +++ b/src/overlays/actors/ovl_Obj_Warpstone/z_obj_warpstone.h @@ -1,13 +1,16 @@ #ifndef Z_OBJ_WARPSTONE_H #define Z_OBJ_WARPSTONE_H -#include +#include "global.h" struct ObjWarpstone; +typedef void (*ObjWarpstoneActionFunc)(struct ObjWarpstone* this, GlobalContext* globalCtx); + typedef struct ObjWarpstone { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x6C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x68]; + /* 0x01AC */ ObjWarpstoneActionFunc actionFunc; } ObjWarpstone; // size = 0x1B0 extern const ActorInit Obj_Warpstone_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Wind/z_obj_wind.c b/src/overlays/actors/ovl_Obj_Wind/z_obj_wind.c index 8e1b3a5690..778b781626 100644 --- a/src/overlays/actors/ovl_Obj_Wind/z_obj_wind.c +++ b/src/overlays/actors/ovl_Obj_Wind/z_obj_wind.c @@ -22,7 +22,6 @@ const ActorInit Obj_Wind_InitVars = { (ActorFunc)ObjWind_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80B24480[] = { ICHAIN_F32(uncullZoneForward, 4000, ICHAIN_CONTINUE), @@ -30,14 +29,14 @@ static InitChainEntry D_80B24480[] = { ICHAIN_F32(uncullZoneDownward, 4000, ICHAIN_STOP), }; - -extern InitChainEntry D_80B24480[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Wind_0x80B23ED0/ObjWind_Init.asm") +extern InitChainEntry D_80B24480[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Wind_0x80B23ED0/ObjWind_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Wind/ObjWind_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Wind_0x80B23ED0/ObjWind_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Wind/ObjWind_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Wind_0x80B23ED0/ObjWind_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Wind/ObjWind_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Wind/ObjWind_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Wind/z_obj_wind.h b/src/overlays/actors/ovl_Obj_Wind/z_obj_wind.h index be1ee3d83e..23296ff09a 100644 --- a/src/overlays/actors/ovl_Obj_Wind/z_obj_wind.h +++ b/src/overlays/actors/ovl_Obj_Wind/z_obj_wind.h @@ -1,7 +1,7 @@ #ifndef Z_OBJ_WIND_H #define Z_OBJ_WIND_H -#include +#include "global.h" struct ObjWind; diff --git a/src/overlays/actors/ovl_Obj_Wturn/z_obj_wturn.c b/src/overlays/actors/ovl_Obj_Wturn/z_obj_wturn.c index 7cc8275b0f..ab8df497cc 100644 --- a/src/overlays/actors/ovl_Obj_Wturn/z_obj_wturn.c +++ b/src/overlays/actors/ovl_Obj_Wturn/z_obj_wturn.c @@ -7,6 +7,11 @@ void ObjWturn_Init(Actor* thisx, GlobalContext* globalCtx); void ObjWturn_Update(Actor* thisx, GlobalContext* globalCtx); +void func_808A7968(ObjWturn* this, GlobalContext* globalCtx); +void func_808A7A5C(ObjWturn* this, GlobalContext* globalCtx); +void func_808A7BA0(ObjWturn* this, GlobalContext* globalCtx); +void func_808A7C78(ObjWturn* this, GlobalContext* globalCtx); + #if 0 const ActorInit Obj_Wturn_InitVars = { ACTOR_OBJ_WTURN, @@ -22,22 +27,22 @@ const ActorInit Obj_Wturn_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Wturn_0x808A7930/ObjWturn_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Wturn/ObjWturn_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Wturn_0x808A7930/func_808A7954.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Wturn/func_808A7954.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Wturn_0x808A7930/func_808A7968.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Wturn/func_808A7968.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Wturn_0x808A7930/func_808A7A24.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Wturn/func_808A7A24.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Wturn_0x808A7930/func_808A7A5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Wturn/func_808A7A5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Wturn_0x808A7930/func_808A7AAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Wturn/func_808A7AAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Wturn_0x808A7930/func_808A7BA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Wturn/func_808A7BA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Wturn_0x808A7930/func_808A7C04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Wturn/func_808A7C04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Wturn_0x808A7930/func_808A7C78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Wturn/func_808A7C78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Wturn_0x808A7930/ObjWturn_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Wturn/ObjWturn_Update.s") diff --git a/src/overlays/actors/ovl_Obj_Wturn/z_obj_wturn.h b/src/overlays/actors/ovl_Obj_Wturn/z_obj_wturn.h index e3244775f3..8583e665be 100644 --- a/src/overlays/actors/ovl_Obj_Wturn/z_obj_wturn.h +++ b/src/overlays/actors/ovl_Obj_Wturn/z_obj_wturn.h @@ -1,13 +1,16 @@ #ifndef Z_OBJ_WTURN_H #define Z_OBJ_WTURN_H -#include +#include "global.h" struct ObjWturn; +typedef void (*ObjWturnActionFunc)(struct ObjWturn* this, GlobalContext* globalCtx); + typedef struct ObjWturn { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x8]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ ObjWturnActionFunc actionFunc; + /* 0x0148 */ char unk_144[0x4]; } ObjWturn; // size = 0x14C extern const ActorInit Obj_Wturn_InitVars; diff --git a/src/overlays/actors/ovl_Obj_Y2lift/z_obj_y2lift.c b/src/overlays/actors/ovl_Obj_Y2lift/z_obj_y2lift.c index 598d79f278..76100efc6c 100644 --- a/src/overlays/actors/ovl_Obj_Y2lift/z_obj_y2lift.c +++ b/src/overlays/actors/ovl_Obj_Y2lift/z_obj_y2lift.c @@ -22,7 +22,6 @@ const ActorInit Obj_Y2lift_InitVars = { (ActorFunc)ObjY2lift_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80B9A940[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_CONTINUE), @@ -31,14 +30,17 @@ static InitChainEntry D_80B9A940[] = { ICHAIN_F32(uncullZoneDownward, 800, ICHAIN_STOP), }; - -extern InitChainEntry D_80B9A940[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Y2lift_0x80B9A650/ObjY2lift_Init.asm") +extern InitChainEntry D_80B9A940[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Y2lift_0x80B9A650/ObjY2lift_Destroy.asm") +extern UNK_TYPE D_06001680; +extern UNK_TYPE D_060019B0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Y2lift_0x80B9A650/ObjY2lift_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Y2lift/ObjY2lift_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Y2lift_0x80B9A650/ObjY2lift_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Y2lift/ObjY2lift_Destroy.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Y2lift/ObjY2lift_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Y2lift/ObjY2lift_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Y2lift/z_obj_y2lift.h b/src/overlays/actors/ovl_Obj_Y2lift/z_obj_y2lift.h index 1274dc0bb4..27bd6d9680 100644 --- a/src/overlays/actors/ovl_Obj_Y2lift/z_obj_y2lift.h +++ b/src/overlays/actors/ovl_Obj_Y2lift/z_obj_y2lift.h @@ -1,7 +1,7 @@ #ifndef Z_OBJ_Y2LIFT_H #define Z_OBJ_Y2LIFT_H -#include +#include "global.h" struct ObjY2lift; diff --git a/src/overlays/actors/ovl_Obj_Y2shutter/z_obj_y2shutter.c b/src/overlays/actors/ovl_Obj_Y2shutter/z_obj_y2shutter.c index 02974cda74..be1c5f9d5c 100644 --- a/src/overlays/actors/ovl_Obj_Y2shutter/z_obj_y2shutter.c +++ b/src/overlays/actors/ovl_Obj_Y2shutter/z_obj_y2shutter.c @@ -22,7 +22,6 @@ const ActorInit Obj_Y2shutter_InitVars = { (ActorFunc)ObjY2shutter_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80B9AEB0[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_CONTINUE), @@ -31,16 +30,16 @@ static InitChainEntry D_80B9AEB0[] = { ICHAIN_F32(uncullZoneDownward, 800, ICHAIN_STOP), }; - -extern InitChainEntry D_80B9AEB0[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Y2shutter_0x80B9A980/ObjY2shutter_Init.asm") +extern InitChainEntry D_80B9AEB0[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Y2shutter_0x80B9A980/ObjY2shutter_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Y2shutter/ObjY2shutter_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Y2shutter_0x80B9A980/func_80B9AA20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Y2shutter/ObjY2shutter_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Y2shutter_0x80B9A980/ObjY2shutter_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Y2shutter/func_80B9AA20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Y2shutter_0x80B9A980/ObjY2shutter_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Y2shutter/ObjY2shutter_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Y2shutter/ObjY2shutter_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Y2shutter/z_obj_y2shutter.h b/src/overlays/actors/ovl_Obj_Y2shutter/z_obj_y2shutter.h index d6438dfe95..217bcee6ce 100644 --- a/src/overlays/actors/ovl_Obj_Y2shutter/z_obj_y2shutter.h +++ b/src/overlays/actors/ovl_Obj_Y2shutter/z_obj_y2shutter.h @@ -1,7 +1,7 @@ #ifndef Z_OBJ_Y2SHUTTER_H #define Z_OBJ_Y2SHUTTER_H -#include +#include "global.h" struct ObjY2shutter; diff --git a/src/overlays/actors/ovl_Obj_Yado/z_obj_yado.c b/src/overlays/actors/ovl_Obj_Yado/z_obj_yado.c index 3323dbdd14..1f63b1389a 100644 --- a/src/overlays/actors/ovl_Obj_Yado/z_obj_yado.c +++ b/src/overlays/actors/ovl_Obj_Yado/z_obj_yado.c @@ -22,20 +22,22 @@ const ActorInit Obj_Yado_InitVars = { (ActorFunc)ObjYado_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80C16420[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), }; - -extern InitChainEntry D_80C16420[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Yado_0x80C161E0/ObjYado_Init.asm") +extern InitChainEntry D_80C16420[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Yado_0x80C161E0/ObjYado_Destroy.asm") +extern UNK_TYPE D_06000430; +extern UNK_TYPE D_060012E8; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Yado_0x80C161E0/ObjYado_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Yado/ObjYado_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Yado_0x80C161E0/ObjYado_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Yado/ObjYado_Destroy.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Yado/ObjYado_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Yado/ObjYado_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Yado/z_obj_yado.h b/src/overlays/actors/ovl_Obj_Yado/z_obj_yado.h index 9db10a9444..ee79705a27 100644 --- a/src/overlays/actors/ovl_Obj_Yado/z_obj_yado.h +++ b/src/overlays/actors/ovl_Obj_Yado/z_obj_yado.h @@ -1,7 +1,7 @@ #ifndef Z_OBJ_YADO_H #define Z_OBJ_YADO_H -#include +#include "global.h" struct ObjYado; diff --git a/src/overlays/actors/ovl_Obj_Yasi/z_obj_yasi.c b/src/overlays/actors/ovl_Obj_Yasi/z_obj_yasi.c index ef61b7e817..c0a4f0b6a9 100644 --- a/src/overlays/actors/ovl_Obj_Yasi/z_obj_yasi.c +++ b/src/overlays/actors/ovl_Obj_Yasi/z_obj_yasi.c @@ -22,7 +22,6 @@ const ActorInit Obj_Yasi_InitVars = { (ActorFunc)ObjYasi_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80BB4D90[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_CONTINUE), @@ -31,14 +30,17 @@ static InitChainEntry D_80BB4D90[] = { ICHAIN_F32(uncullZoneDownward, 800, ICHAIN_STOP), }; - -extern InitChainEntry D_80BB4D90[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Yasi_0x80BB4AF0/ObjYasi_Init.asm") +extern InitChainEntry D_80BB4D90[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Yasi_0x80BB4AF0/ObjYasi_Destroy.asm") +extern UNK_TYPE D_06000360; +extern UNK_TYPE D_06001428; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Yasi_0x80BB4AF0/ObjYasi_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Yasi/ObjYasi_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Obj_Yasi_0x80BB4AF0/ObjYasi_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Yasi/ObjYasi_Destroy.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Yasi/ObjYasi_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Yasi/ObjYasi_Draw.s") diff --git a/src/overlays/actors/ovl_Obj_Yasi/z_obj_yasi.h b/src/overlays/actors/ovl_Obj_Yasi/z_obj_yasi.h index a6cfca12bf..3671a776cd 100644 --- a/src/overlays/actors/ovl_Obj_Yasi/z_obj_yasi.h +++ b/src/overlays/actors/ovl_Obj_Yasi/z_obj_yasi.h @@ -1,7 +1,7 @@ #ifndef Z_OBJ_YASI_H #define Z_OBJ_YASI_H -#include +#include "global.h" struct ObjYasi; diff --git a/src/overlays/actors/ovl_Object_Kankyo/z_object_kankyo.c b/src/overlays/actors/ovl_Object_Kankyo/z_object_kankyo.c index b2122e47d2..7cd8eab45b 100644 --- a/src/overlays/actors/ovl_Object_Kankyo/z_object_kankyo.c +++ b/src/overlays/actors/ovl_Object_Kankyo/z_object_kankyo.c @@ -9,6 +9,11 @@ void ObjectKankyo_Destroy(Actor* thisx, GlobalContext* globalCtx); void ObjectKankyo_Update(Actor* thisx, GlobalContext* globalCtx); void ObjectKankyo_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_808DCB7C(ObjectKankyo* this, GlobalContext* globalCtx); +void func_808DCBF8(ObjectKankyo* this, GlobalContext* globalCtx); + +void ObjectKankyo_SetupAction(ObjectKankyo* this, ObjectKankyoActionFunc actionFunc); + #if 0 const ActorInit Object_Kankyo_InitVars = { ACTOR_OBJECT_KANKYO, @@ -24,38 +29,40 @@ const ActorInit Object_Kankyo_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Object_Kankyo_0x808DBE80/func_808DBE80.asm") +extern UNK_TYPE D_01000000; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Object_Kankyo_0x808DBE80/func_808DBE8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Object_Kankyo/ObjectKankyo_SetupAction.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Object_Kankyo_0x808DBE80/func_808DBEB0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Object_Kankyo/func_808DBE8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Object_Kankyo_0x808DBE80/func_808DBFB0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Object_Kankyo/func_808DBEB0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Object_Kankyo_0x808DBE80/func_808DC038.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Object_Kankyo/func_808DBFB0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Object_Kankyo_0x808DBE80/ObjectKankyo_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Object_Kankyo/func_808DC038.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Object_Kankyo_0x808DBE80/ObjectKankyo_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Object_Kankyo/ObjectKankyo_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Object_Kankyo_0x808DBE80/func_808DC18C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Object_Kankyo/ObjectKankyo_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Object_Kankyo_0x808DBE80/func_808DC454.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Object_Kankyo/func_808DC18C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Object_Kankyo_0x808DBE80/func_808DCB7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Object_Kankyo/func_808DC454.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Object_Kankyo_0x808DBE80/func_808DCBF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Object_Kankyo/func_808DCB7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Object_Kankyo_0x808DBE80/func_808DCDB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Object_Kankyo/func_808DCBF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Object_Kankyo_0x808DBE80/ObjectKankyo_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Object_Kankyo/func_808DCDB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Object_Kankyo_0x808DBE80/ObjectKankyo_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Object_Kankyo/ObjectKankyo_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Object_Kankyo_0x808DBE80/func_808DD3C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Object_Kankyo/ObjectKankyo_Draw.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Object_Kankyo_0x808DBE80/func_808DD970.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Object_Kankyo/func_808DD3C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Object_Kankyo_0x808DBE80/func_808DDE74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Object_Kankyo/func_808DD970.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Object_Kankyo_0x808DBE80/func_808DDE9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Object_Kankyo/func_808DDE74.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Object_Kankyo/func_808DDE9C.s") diff --git a/src/overlays/actors/ovl_Object_Kankyo/z_object_kankyo.h b/src/overlays/actors/ovl_Object_Kankyo/z_object_kankyo.h index 7bca2f4149..c9e7b376aa 100644 --- a/src/overlays/actors/ovl_Object_Kankyo/z_object_kankyo.h +++ b/src/overlays/actors/ovl_Object_Kankyo/z_object_kankyo.h @@ -1,13 +1,16 @@ #ifndef Z_OBJECT_KANKYO_H #define Z_OBJECT_KANKYO_H -#include +#include "global.h" struct ObjectKankyo; +typedef void (*ObjectKankyoActionFunc)(struct ObjectKankyo* this, GlobalContext* globalCtx); + typedef struct ObjectKankyo { /* 0x0000 */ Actor actor; - /* 0x0144 */ char unk_0144[0x1010]; + /* 0x0144 */ char unk_144[0x100C]; + /* 0x1150 */ ObjectKankyoActionFunc actionFunc; } ObjectKankyo; // size = 0x1154 extern const ActorInit Object_Kankyo_InitVars; diff --git a/src/overlays/actors/ovl_Oceff_Spot/z_oceff_spot.c b/src/overlays/actors/ovl_Oceff_Spot/z_oceff_spot.c index 44cb6bbd27..18bdbf1e74 100644 --- a/src/overlays/actors/ovl_Oceff_Spot/z_oceff_spot.c +++ b/src/overlays/actors/ovl_Oceff_Spot/z_oceff_spot.c @@ -9,6 +9,11 @@ void OceffSpot_Destroy(Actor* thisx, GlobalContext* globalCtx); void OceffSpot_Update(Actor* thisx, GlobalContext* globalCtx); void OceffSpot_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_809728F8(OceffSpot* this, GlobalContext* globalCtx); +void func_80972934(OceffSpot* this, GlobalContext* globalCtx); + +void OceffSpot_SetupAction(OceffSpot* this, OceffSpotActionFunc actionFunc); + #if 0 const ActorInit Oceff_Spot_InitVars = { ACTOR_OCEFF_SPOT, @@ -22,29 +27,28 @@ const ActorInit Oceff_Spot_InitVars = { (ActorFunc)OceffSpot_Draw, }; - // static InitChainEntry sInitChain[] = { static InitChainEntry D_80973478[] = { ICHAIN_VEC3F_DIV1000(scale, 0, ICHAIN_CONTINUE), ICHAIN_F32(uncullZoneForward, 1500, ICHAIN_STOP), }; - -extern InitChainEntry D_80973478[]; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Oceff_Spot_0x80972680/func_80972680.asm") +extern InitChainEntry D_80973478[]; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Oceff_Spot_0x80972680/OceffSpot_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Oceff_Spot/OceffSpot_SetupAction.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Oceff_Spot_0x80972680/OceffSpot_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Oceff_Spot/OceffSpot_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Oceff_Spot_0x80972680/func_80972844.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Oceff_Spot/OceffSpot_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Oceff_Spot_0x80972680/func_809728F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Oceff_Spot/func_80972844.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Oceff_Spot_0x80972680/func_80972934.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Oceff_Spot/func_809728F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Oceff_Spot_0x80972680/OceffSpot_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Oceff_Spot/func_80972934.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Oceff_Spot_0x80972680/OceffSpot_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Oceff_Spot/OceffSpot_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Oceff_Spot/OceffSpot_Draw.s") diff --git a/src/overlays/actors/ovl_Oceff_Spot/z_oceff_spot.h b/src/overlays/actors/ovl_Oceff_Spot/z_oceff_spot.h index 78b0e57724..8b86b8fd69 100644 --- a/src/overlays/actors/ovl_Oceff_Spot/z_oceff_spot.h +++ b/src/overlays/actors/ovl_Oceff_Spot/z_oceff_spot.h @@ -1,13 +1,16 @@ #ifndef Z_OCEFF_SPOT_H #define Z_OCEFF_SPOT_H -#include +#include "global.h" struct OceffSpot; +typedef void (*OceffSpotActionFunc)(struct OceffSpot* this, GlobalContext* globalCtx); + typedef struct OceffSpot { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x34]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x30]; + /* 0x0174 */ OceffSpotActionFunc actionFunc; } OceffSpot; // size = 0x178 extern const ActorInit Oceff_Spot_InitVars; diff --git a/src/overlays/actors/ovl_Oceff_Storm/z_oceff_storm.c b/src/overlays/actors/ovl_Oceff_Storm/z_oceff_storm.c index ad967189fb..b287f82f32 100644 --- a/src/overlays/actors/ovl_Oceff_Storm/z_oceff_storm.c +++ b/src/overlays/actors/ovl_Oceff_Storm/z_oceff_storm.c @@ -9,6 +9,11 @@ void OceffStorm_Destroy(Actor* thisx, GlobalContext* globalCtx); void OceffStorm_Update(Actor* thisx, GlobalContext* globalCtx); void OceffStorm_Draw(Actor* thisx, GlobalContext* globalCtx); +void func_80981928(OceffStorm* this, GlobalContext* globalCtx); +void func_80981B48(OceffStorm* this, GlobalContext* globalCtx); + +void OceffStorm_SetupAction(OceffStorm* this, OceffStormActionFunc actionFunc); + #if 0 const ActorInit Oceff_Storm_InitVars = { ACTOR_OCEFF_STORM, @@ -24,20 +29,20 @@ const ActorInit Oceff_Storm_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Oceff_Storm_0x80981760/func_80981760.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Oceff_Storm/OceffStorm_SetupAction.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Oceff_Storm_0x80981760/func_8098176C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Oceff_Storm/func_8098176C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Oceff_Storm_0x80981760/OceffStorm_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Oceff_Storm/OceffStorm_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Oceff_Storm_0x80981760/OceffStorm_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Oceff_Storm/OceffStorm_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Oceff_Storm_0x80981760/func_80981928.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Oceff_Storm/func_80981928.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Oceff_Storm_0x80981760/func_80981B48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Oceff_Storm/func_80981B48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Oceff_Storm_0x80981760/OceffStorm_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Oceff_Storm/OceffStorm_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Oceff_Storm_0x80981760/func_80981BB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Oceff_Storm/func_80981BB8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Oceff_Storm_0x80981760/OceffStorm_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Oceff_Storm/OceffStorm_Draw.s") diff --git a/src/overlays/actors/ovl_Oceff_Storm/z_oceff_storm.h b/src/overlays/actors/ovl_Oceff_Storm/z_oceff_storm.h index e92a293b8d..2dc9692946 100644 --- a/src/overlays/actors/ovl_Oceff_Storm/z_oceff_storm.h +++ b/src/overlays/actors/ovl_Oceff_Storm/z_oceff_storm.h @@ -1,13 +1,16 @@ #ifndef Z_OCEFF_STORM_H #define Z_OCEFF_STORM_H -#include +#include "global.h" struct OceffStorm; +typedef void (*OceffStormActionFunc)(struct OceffStorm* this, GlobalContext* globalCtx); + typedef struct OceffStorm { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0xC]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x8]; + /* 0x014C */ OceffStormActionFunc actionFunc; } OceffStorm; // size = 0x150 extern const ActorInit Oceff_Storm_InitVars; diff --git a/src/overlays/actors/ovl_Oceff_Wipe/z_oceff_wipe.c b/src/overlays/actors/ovl_Oceff_Wipe/z_oceff_wipe.c index 6eda2a5ca7..6b15732af1 100644 --- a/src/overlays/actors/ovl_Oceff_Wipe/z_oceff_wipe.c +++ b/src/overlays/actors/ovl_Oceff_Wipe/z_oceff_wipe.c @@ -24,10 +24,10 @@ const ActorInit Oceff_Wipe_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Oceff_Wipe_0x809764B0/OceffWipe_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Oceff_Wipe/OceffWipe_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Oceff_Wipe_0x809764B0/OceffWipe_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Oceff_Wipe/OceffWipe_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Oceff_Wipe_0x809764B0/OceffWipe_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Oceff_Wipe/OceffWipe_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Oceff_Wipe_0x809764B0/OceffWipe_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Oceff_Wipe/OceffWipe_Draw.s") diff --git a/src/overlays/actors/ovl_Oceff_Wipe/z_oceff_wipe.h b/src/overlays/actors/ovl_Oceff_Wipe/z_oceff_wipe.h index 0c32f47252..5b7e348375 100644 --- a/src/overlays/actors/ovl_Oceff_Wipe/z_oceff_wipe.h +++ b/src/overlays/actors/ovl_Oceff_Wipe/z_oceff_wipe.h @@ -1,7 +1,7 @@ #ifndef Z_OCEFF_WIPE_H #define Z_OCEFF_WIPE_H -#include +#include "global.h" struct OceffWipe; diff --git a/src/overlays/actors/ovl_Oceff_Wipe2/z_oceff_wipe2.c b/src/overlays/actors/ovl_Oceff_Wipe2/z_oceff_wipe2.c index 95762d3d52..aa0adb3ca0 100644 --- a/src/overlays/actors/ovl_Oceff_Wipe2/z_oceff_wipe2.c +++ b/src/overlays/actors/ovl_Oceff_Wipe2/z_oceff_wipe2.c @@ -24,10 +24,10 @@ const ActorInit Oceff_Wipe2_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Oceff_Wipe2_0x80986270/OceffWipe2_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Oceff_Wipe2/OceffWipe2_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Oceff_Wipe2_0x80986270/OceffWipe2_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Oceff_Wipe2/OceffWipe2_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Oceff_Wipe2_0x80986270/OceffWipe2_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Oceff_Wipe2/OceffWipe2_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Oceff_Wipe2_0x80986270/OceffWipe2_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Oceff_Wipe2/OceffWipe2_Draw.s") diff --git a/src/overlays/actors/ovl_Oceff_Wipe2/z_oceff_wipe2.h b/src/overlays/actors/ovl_Oceff_Wipe2/z_oceff_wipe2.h index 96a1128d89..79d3665253 100644 --- a/src/overlays/actors/ovl_Oceff_Wipe2/z_oceff_wipe2.h +++ b/src/overlays/actors/ovl_Oceff_Wipe2/z_oceff_wipe2.h @@ -1,7 +1,7 @@ #ifndef Z_OCEFF_WIPE2_H #define Z_OCEFF_WIPE2_H -#include +#include "global.h" struct OceffWipe2; diff --git a/src/overlays/actors/ovl_Oceff_Wipe3/z_oceff_wipe3.c b/src/overlays/actors/ovl_Oceff_Wipe3/z_oceff_wipe3.c index 09ce262d03..318f19291f 100644 --- a/src/overlays/actors/ovl_Oceff_Wipe3/z_oceff_wipe3.c +++ b/src/overlays/actors/ovl_Oceff_Wipe3/z_oceff_wipe3.c @@ -24,10 +24,10 @@ const ActorInit Oceff_Wipe3_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Oceff_Wipe3_0x809879E0/OceffWipe3_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Oceff_Wipe3/OceffWipe3_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Oceff_Wipe3_0x809879E0/OceffWipe3_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Oceff_Wipe3/OceffWipe3_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Oceff_Wipe3_0x809879E0/OceffWipe3_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Oceff_Wipe3/OceffWipe3_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Oceff_Wipe3_0x809879E0/OceffWipe3_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Oceff_Wipe3/OceffWipe3_Draw.s") diff --git a/src/overlays/actors/ovl_Oceff_Wipe3/z_oceff_wipe3.h b/src/overlays/actors/ovl_Oceff_Wipe3/z_oceff_wipe3.h index af65f7a023..b9f41bb09c 100644 --- a/src/overlays/actors/ovl_Oceff_Wipe3/z_oceff_wipe3.h +++ b/src/overlays/actors/ovl_Oceff_Wipe3/z_oceff_wipe3.h @@ -1,7 +1,7 @@ #ifndef Z_OCEFF_WIPE3_H #define Z_OCEFF_WIPE3_H -#include +#include "global.h" struct OceffWipe3; diff --git a/src/overlays/actors/ovl_Oceff_Wipe4/z_oceff_wipe4.c b/src/overlays/actors/ovl_Oceff_Wipe4/z_oceff_wipe4.c index 295e0f75d0..f7b1611f03 100644 --- a/src/overlays/actors/ovl_Oceff_Wipe4/z_oceff_wipe4.c +++ b/src/overlays/actors/ovl_Oceff_Wipe4/z_oceff_wipe4.c @@ -24,10 +24,10 @@ const ActorInit Oceff_Wipe4_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Oceff_Wipe4_0x8099D780/OceffWipe4_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Oceff_Wipe4/OceffWipe4_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Oceff_Wipe4_0x8099D780/OceffWipe4_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Oceff_Wipe4/OceffWipe4_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Oceff_Wipe4_0x8099D780/OceffWipe4_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Oceff_Wipe4/OceffWipe4_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Oceff_Wipe4_0x8099D780/OceffWipe4_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Oceff_Wipe4/OceffWipe4_Draw.s") diff --git a/src/overlays/actors/ovl_Oceff_Wipe4/z_oceff_wipe4.h b/src/overlays/actors/ovl_Oceff_Wipe4/z_oceff_wipe4.h index d144a5a964..76debbeed8 100644 --- a/src/overlays/actors/ovl_Oceff_Wipe4/z_oceff_wipe4.h +++ b/src/overlays/actors/ovl_Oceff_Wipe4/z_oceff_wipe4.h @@ -1,7 +1,7 @@ #ifndef Z_OCEFF_WIPE4_H #define Z_OCEFF_WIPE4_H -#include +#include "global.h" struct OceffWipe4; diff --git a/src/overlays/actors/ovl_Oceff_Wipe5/z_oceff_wipe5.c b/src/overlays/actors/ovl_Oceff_Wipe5/z_oceff_wipe5.c index 0543c03a8a..74c7e17d3f 100644 --- a/src/overlays/actors/ovl_Oceff_Wipe5/z_oceff_wipe5.c +++ b/src/overlays/actors/ovl_Oceff_Wipe5/z_oceff_wipe5.c @@ -24,10 +24,10 @@ const ActorInit Oceff_Wipe5_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Oceff_Wipe5_0x80BC7AD0/OceffWipe5_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Oceff_Wipe5/OceffWipe5_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Oceff_Wipe5_0x80BC7AD0/OceffWipe5_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Oceff_Wipe5/OceffWipe5_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Oceff_Wipe5_0x80BC7AD0/OceffWipe5_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Oceff_Wipe5/OceffWipe5_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Oceff_Wipe5_0x80BC7AD0/OceffWipe5_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Oceff_Wipe5/OceffWipe5_Draw.s") diff --git a/src/overlays/actors/ovl_Oceff_Wipe5/z_oceff_wipe5.h b/src/overlays/actors/ovl_Oceff_Wipe5/z_oceff_wipe5.h index a6e368a49b..063d0386b8 100644 --- a/src/overlays/actors/ovl_Oceff_Wipe5/z_oceff_wipe5.h +++ b/src/overlays/actors/ovl_Oceff_Wipe5/z_oceff_wipe5.h @@ -1,7 +1,7 @@ #ifndef Z_OCEFF_WIPE5_H #define Z_OCEFF_WIPE5_H -#include +#include "global.h" struct OceffWipe5; diff --git a/src/overlays/actors/ovl_Oceff_Wipe6/z_oceff_wipe6.c b/src/overlays/actors/ovl_Oceff_Wipe6/z_oceff_wipe6.c index 03f6421d3e..cefe27e504 100644 --- a/src/overlays/actors/ovl_Oceff_Wipe6/z_oceff_wipe6.c +++ b/src/overlays/actors/ovl_Oceff_Wipe6/z_oceff_wipe6.c @@ -24,10 +24,10 @@ const ActorInit Oceff_Wipe6_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Oceff_Wipe6_0x80BCA5A0/OceffWipe6_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Oceff_Wipe6/OceffWipe6_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Oceff_Wipe6_0x80BCA5A0/OceffWipe6_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Oceff_Wipe6/OceffWipe6_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Oceff_Wipe6_0x80BCA5A0/OceffWipe6_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Oceff_Wipe6/OceffWipe6_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Oceff_Wipe6_0x80BCA5A0/OceffWipe6_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Oceff_Wipe6/OceffWipe6_Draw.s") diff --git a/src/overlays/actors/ovl_Oceff_Wipe6/z_oceff_wipe6.h b/src/overlays/actors/ovl_Oceff_Wipe6/z_oceff_wipe6.h index 2fc4bf1165..0b845e1337 100644 --- a/src/overlays/actors/ovl_Oceff_Wipe6/z_oceff_wipe6.h +++ b/src/overlays/actors/ovl_Oceff_Wipe6/z_oceff_wipe6.h @@ -1,7 +1,7 @@ #ifndef Z_OCEFF_WIPE6_H #define Z_OCEFF_WIPE6_H -#include +#include "global.h" struct OceffWipe6; diff --git a/src/overlays/actors/ovl_Oceff_Wipe7/z_oceff_wipe7.c b/src/overlays/actors/ovl_Oceff_Wipe7/z_oceff_wipe7.c index 99dc5fb54c..c1151dd94a 100644 --- a/src/overlays/actors/ovl_Oceff_Wipe7/z_oceff_wipe7.c +++ b/src/overlays/actors/ovl_Oceff_Wipe7/z_oceff_wipe7.c @@ -24,10 +24,10 @@ const ActorInit Oceff_Wipe7_InitVars = { #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Oceff_Wipe7_0x80BCDCB0/OceffWipe7_Init.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Oceff_Wipe7/OceffWipe7_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Oceff_Wipe7_0x80BCDCB0/OceffWipe7_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Oceff_Wipe7/OceffWipe7_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Oceff_Wipe7_0x80BCDCB0/OceffWipe7_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Oceff_Wipe7/OceffWipe7_Update.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Oceff_Wipe7_0x80BCDCB0/OceffWipe7_Draw.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Oceff_Wipe7/OceffWipe7_Draw.s") diff --git a/src/overlays/actors/ovl_Oceff_Wipe7/z_oceff_wipe7.h b/src/overlays/actors/ovl_Oceff_Wipe7/z_oceff_wipe7.h index daf5380988..df517e1fec 100644 --- a/src/overlays/actors/ovl_Oceff_Wipe7/z_oceff_wipe7.h +++ b/src/overlays/actors/ovl_Oceff_Wipe7/z_oceff_wipe7.h @@ -1,7 +1,7 @@ #ifndef Z_OCEFF_WIPE7_H #define Z_OCEFF_WIPE7_H -#include +#include "global.h" struct OceffWipe7; diff --git a/src/overlays/actors/ovl_Player_Actor/z_player.c b/src/overlays/actors/ovl_Player_Actor/z_player.c index b3ece3c5bd..2d5b3d59a7 100644 --- a/src/overlays/actors/ovl_Player_Actor/z_player.c +++ b/src/overlays/actors/ovl_Player_Actor/z_player.c @@ -4,1291 +4,1294 @@ * Description: Player */ -#include "ultra64.h" #include "global.h" #define THIS ((Player*)thisx) -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082DA90.asm") +extern UNK_TYPE D_06008860; +extern UNK_TYPE D_0600BDD8; +extern UNK_TYPE D_060178D0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082DABC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082DA90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082DAD4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082DABC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082DAFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082DAD4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082DB18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082DAFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082DB3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082DB18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082DB60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082DB3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082DB90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082DB60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082DBC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082DB90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082DC28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082DBC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082DC38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082DC28.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082DC64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082DC38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082DCA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082DC64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082DD2C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082DCA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082DE14.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082DD2C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082DE50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082DE14.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082DE88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082DE50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082DF2C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082DE88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082DF48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082DF2C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082DF8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082DF48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082E00C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082DF8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082E078.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082E00C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082E094.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082E078.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082E0CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082E094.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082E0F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082E0CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082E12C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082E0F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082E188.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082E12C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082E1BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082E188.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082E1F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082E1BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082E224.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082E1F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082E438.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082E224.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082E4A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082E438.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082E514.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082E4A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082E55C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082E514.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082E5A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082E55C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082E5EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082E5A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082E634.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082E5EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082E67C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082E634.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082E6D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082E67C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082E6F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082E6D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082E784.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082E6F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082E794.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082E784.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082E820.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082E794.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082E920.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082E820.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082E9C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082E920.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082EA10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082E9C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082EA38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082EA10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082EA60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082EA38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082EA80.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082EA60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082EAC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082EA80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082EAF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082EAC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082EB18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082EAF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082EB38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082EB18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082EC9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082EB38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082ECCC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082EC9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082ECE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082ECCC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082ED20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082ECE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082ED94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082ED20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082EEA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082ED94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082EEE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082EEA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082EF20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082EEE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082EF54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082EF20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082EF9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082EF54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082EFE4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082EF9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082F02C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082EFE4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082F09C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082F02C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082F0E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082F09C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082F164.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082F0E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082F1AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082F164.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082F43C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082F1AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082F470.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082F43C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082F524.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082F470.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082F594.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082F524.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082F5A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082F594.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082F5C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082F5A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082F5FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082F5C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082F62C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082F5FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082F7F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082F62C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082F8A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082F7F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082F8BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082F8A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082F938.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082F8BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082FA5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082F938.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082FB68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082FA5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082FBE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082FB68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082FC24.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082FBE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082FC60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082FC24.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082FC78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082FC60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082FCC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082FC78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082FD0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082FCC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082FDC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082FD0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8082FE0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082FDC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808302CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8082FE0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808304BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808302CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808305BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808304BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808306F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808305BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808308DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808306F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808309CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808308DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80830A58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808309CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80830AE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80830A58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80830B38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80830AE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80830B88.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80830B38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80830CE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80830B88.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80830D40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80830CE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80830DF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80830D40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80830E30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80830DF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80830F9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80830E30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80830FD4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80830F9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80831010.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80830FD4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80831094.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80831010.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80831124.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80831094.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80831194.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80831124.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083133C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80831194.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808313A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083133C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808313F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808313A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80831454.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808313F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80831494.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80831454.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083172C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80831494.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80831760.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083172C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808317C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80831760.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80831814.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808317C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808318C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80831814.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80831944.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808318C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80831990.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80831944.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80831F34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80831990.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80832090.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80831F34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083213C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80832090.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083216C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083213C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808323C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083216C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80832444.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808323C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083249C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80832444.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808324EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083249C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80832558.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808324EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80832578.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80832558.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80832660.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80832578.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80832754.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80832660.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80832888.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80832754.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80832CAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80832888.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80832F24.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80832CAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80832F78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80832F24.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80833058.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80832F78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808331FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80833058.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808332A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808331FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808333CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808332A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808334D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808333CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808335B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808334D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808335F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808335B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80833728.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808335F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083375C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80833728.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80833864.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083375C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80833998.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80833864.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808339B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80833998.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808339D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808339B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80833A64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808339D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80833AA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80833A64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80833B18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80833AA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808340AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80833B18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808340D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808340AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80834104.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808340D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80834140.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80834104.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808341F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80834140.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808344C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808341F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80834534.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808344C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083456C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80834534.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808345A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083456C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808345C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808345A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80834600.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808345C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80834CD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80834600.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80834D50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80834CD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80834DB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80834D50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80834DFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80834DB8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80835324.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80834DFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808353DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80835324.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80835428.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808353DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808354A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80835428.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808355D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808354A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083562C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808355D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80835BC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083562C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80835BF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80835BC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80835C64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80835BF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80835CD8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80835C64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80835D2C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80835CD8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80835D58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80835D2C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80835DF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80835D58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80835EAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80835DF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083604C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80835EAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80836258.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083604C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808365DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80836258.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80836888.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808365DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083692C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80836888.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80836988.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083692C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808369F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80836988.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80836A5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808369F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80836A98.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80836A5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80836AD8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80836A98.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80836B3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80836AD8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80836C70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80836B3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80836D8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80836C70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80836DC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80836D8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80836EA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80836DC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80836F10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80836EA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808370D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80836F10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80837134.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808370D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808373A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80837134.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808373F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808373A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80837730.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808373F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083784C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80837730.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808378FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083784C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083798C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808378FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808379C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083798C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80837B60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808379C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80837BD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80837B60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80837BF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80837BD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80837C20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80837BF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80837C78.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80837C20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80837CEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80837C78.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80837DEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80837CEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808381A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80837DEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808381F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808381A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083827C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808381F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083868C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083827C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80838760.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083868C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808387A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80838760.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80838830.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808387A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808388B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80838830.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808389BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808388B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80838A20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808389BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80838A90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80838A20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808391D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80838A90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80839518.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808391D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808395F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80839518.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808396B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808395F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80839770.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808396B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80839800.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80839770.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80839860.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80839800.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80839978.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80839860.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80839A10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80839978.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80839A84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80839A10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80839B18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80839A84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80839CD8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80839B18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80839E3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80839CD8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80839E74.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80839E3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80839ED0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80839E74.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80839F98.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80839ED0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083A04C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80839F98.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083A0CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083A04C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083A114.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083A0CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083A274.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083A114.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083A4A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083A274.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083A548.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083A4A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083A580.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083A548.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083A658.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083A580.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083A6C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083A658.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083A794.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083A6C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083A844.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083A794.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083A878.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083A844.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083A98C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083A878.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083AD04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083A98C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083AD8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083AD04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083ADB8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083AD8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083ADF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083ADB8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083AE38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083ADF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083AECC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083AE38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083AF30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083AECC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083AF8C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083AF30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083B030.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083AF8C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083B090.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083B030.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083B0E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083B090.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083B1A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083B0E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083B23C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083B1A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083B29C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083B23C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083B2E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083B29C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083B32C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083B2E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083B3B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083B32C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083B73C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083B3B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083B798.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083B73C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083B850.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083B798.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083B8D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083B850.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083B930.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083B8D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083BB4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083B930.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083BF54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083BB4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083C62C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083BF54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083C6E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083C62C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083C85C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083C6E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083C8E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083C85C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083CB04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083C8E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083CB58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083CB04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083CBC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083CB58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083CCB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083CBC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083CF68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083CCB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083D168.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083CF68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083D23C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083D168.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083D6DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083D23C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083D738.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083D6DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083D78C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083D738.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083D860.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083D78C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083DCC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083D860.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083DD1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083DCC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083DEE4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083DD1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083DF38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083DEE4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083DFC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083DF38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083E14C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083DFC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083E234.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083E14C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083E28C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083E234.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083E2F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083E28C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083E354.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083E2F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083E404.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083E354.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083E514.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083E404.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083E758.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083E514.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083E7F8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083E758.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083E8E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083E7F8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083E958.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083E8E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083E9C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083E958.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083EA44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083E9C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083EBD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083EA44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083EE60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083EBD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083F144.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083EE60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083F190.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083F144.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083F230.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083F190.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083F27C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083F230.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083F358.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083F27C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083F57C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083F358.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083F828.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083F57C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083F8A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083F828.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083FBC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083F8A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083FCF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083FBC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083FD80.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083FCF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083FE38.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083FD80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083FE90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083FE38.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083FEF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083FE90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083FF30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083FEF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8083FFEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083FF30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80840094.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8083FFEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808400CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80840094.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808401F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808400CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80840770.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808401F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80840980.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80840770.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808409A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80840980.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80840A30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808409A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80840CD4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80840A30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80840DEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80840CD4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80840E24.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80840DEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80840E5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80840E24.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80840EC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80840E5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80840F34.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80840EC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80840F90.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80840F34.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808411D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80840F90.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808412A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808411D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808412BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808412A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80841358.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808412BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80841408.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80841358.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808414E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80841408.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80841528.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808414E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808415A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80841528.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808415E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808415A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80841624.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808415E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80841744.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80841624.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084182C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80841744.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80841A50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084182C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80841AC4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80841A50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80842510.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80841AC4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808425B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80842510.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808426F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808425B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808430E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808426F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80843178.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808430E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80843EC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80843178.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808442D8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80843EC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808445C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808442D8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808446F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808445C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80844784.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808446F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80844D80.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80844784.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80844EF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80844D80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808460B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80844EF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808463C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808460B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80846460.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808463C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80846528.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80846460.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808470D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80846528.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80847190.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808470D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084748C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80847190.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808475B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084748C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808477D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808475B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80847880.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808477D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80847994.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80847880.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808479F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80847994.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80847A50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808479F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80847A94.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80847A50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80847BF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80847A94.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80847E2C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80847BF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80847ED4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80847E2C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80847F1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80847ED4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80847FF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80847F1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80848048.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80847FF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80848094.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80848048.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808481CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80848094.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80848250.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808481CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80848294.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80848250.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808482E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80848294.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808484CC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808482E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808484F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808484CC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80848570.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808484F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80848640.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80848570.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80848780.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80848640.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808487B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80848780.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80848808.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808487B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084894C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80848808.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80848A0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084894C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80848AB0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80848A0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80848B6C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80848AB0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80848BF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80848B6C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80848E4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80848BF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80849054.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80848E4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808490B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80849054.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808491B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808490B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084923C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808491B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808492C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084923C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084933C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808492C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80849570.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084933C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80849620.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80849570.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808496AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80849620.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808497A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808496AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80849A9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808497A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80849DD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80849A9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80849FE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80849DD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084A26C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80849FE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084A5C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084A26C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084A794.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084A5C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084A884.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084A794.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084A8E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084A884.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084AB4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084A8E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084AC84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084AB4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084AEEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084AC84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084AF9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084AEEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084B0EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084AF9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084B288.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084B0EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084B3B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084B288.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084B4A8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084B3B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084B5C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084B4A8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084BAA4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084B5C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084BBF0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084BAA4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084BC64.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084BBF0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084BE40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084BC64.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084BF28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084BE40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084BFDC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084BF28.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084C124.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084BFDC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084C16C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084C124.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084C6EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084C16C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084C94C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084C6EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084CA24.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084C94C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084CB58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084CA24.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084CCEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084CB58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084CE84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084CCEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084D18C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084CE84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084D4EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084D18C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084D770.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084D4EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084D820.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084D770.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084E034.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084D820.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084E25C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084E034.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084E334.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084E25C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084E434.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084E334.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084E4E4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084E434.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084E58C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084E4E4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084E65C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084E58C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084E724.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084E65C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084E980.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084E724.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084ED9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084E980.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084EE50.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084ED9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084EF9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084EE50.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084F1B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084EF9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084F3DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084F1B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084F4E8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084F3DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084FC0C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084F4E8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084FD7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084FC0C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084FE48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084FD7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8084FE7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084FE48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808505D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8084FE7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80850734.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808505D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80850854.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80850734.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808508C8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80850854.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80850B18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808508C8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80850BA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80850B18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80850BF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80850BA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80850D20.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80850BF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80850D68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80850D20.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808513EC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80850D68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80851588.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808513EC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808516B4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80851588.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808519FC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808516B4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80851B58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808519FC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80851BD4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80851B58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80851C40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80851BD4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80851D30.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80851C40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80851EAC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80851D30.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80851EC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80851EAC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80851F18.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80851EC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808521E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80851F18.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80852290.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808521E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085255C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80852290.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808525C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085255C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085269C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808525C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80852B28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085269C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80852C04.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80852B28.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80852FD4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80852C04.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808530E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80852FD4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80853194.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808530E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808534C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80853194.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80853754.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808534C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80853850.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80853754.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80853A5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80853850.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80853CC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80853A5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80853D68.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80853CC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80854010.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80853D68.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808540A0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80854010.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80854118.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808540A0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085421C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80854118.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085437C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085421C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085439C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085437C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80854430.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085439C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80854614.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80854430.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808546D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80854614.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80854800.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808546D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808548B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80854800.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80854C70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808548B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80854CD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80854C70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80854EFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80854CD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808550D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80854EFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80855218.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808550D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808553F4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80855218.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80855818.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808553F4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80855A7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80855818.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80855AF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80855A7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80855B9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80855AF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80855C28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80855B9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80855E08.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80855C28.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80855F9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80855E08.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80856000.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80855F9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80856074.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80856000.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80856110.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80856074.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808561B0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80856110.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808566C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808561B0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085687C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808566C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80856888.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085687C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80856918.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80856888.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808573A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80856918.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80857640.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808573A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808576BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80857640.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808577E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808576BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80857950.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808577E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80857A44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80857950.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80857AEC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80857A44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80857BE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80857AEC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80858C84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80857BE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80858CC8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80858C84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80858D48.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80858CC8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80858DB4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80858D48.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80858DDC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80858DB4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80858DFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80858DDC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80858E40.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80858DFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80858E60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80858E40.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80858E80.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80858E60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80858EA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80858E80.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80858EC0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80858EA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80858EFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80858EC0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80858F1C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80858EFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80858F3C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80858F1C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80858F5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80858F3C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80858F7C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80858F5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80858F9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80858F7C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80858FBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80858F9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80858FE8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80858FBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80859028.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80858FE8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80859168.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80859028.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808591BC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80859168.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80859210.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808591BC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80859248.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80859210.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085929C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80859248.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80859300.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085929C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80859414.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80859300.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808594D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80859414.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808595B8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808594D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085968C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808595B8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80859708.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085968C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085978C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80859708.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80859890.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085978C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80859990.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80859890.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_808599DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80859990.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80859A10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_808599DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80859A44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80859A10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80859AD0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80859A44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80859AF8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80859AD0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80859B28.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80859AF8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80859B54.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80859B28.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80859BA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80859B54.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80859C60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80859BA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80859CA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80859C60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80859CE0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80859CA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80859CFC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80859CE0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80859D44.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80859CFC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80859D70.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80859D44.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80859EBC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80859D70.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80859F4C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80859EBC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80859FCC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80859F4C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_80859FF4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80859FCC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085A04C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_80859FF4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085A120.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085A04C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085A144.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085A120.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085A19C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085A144.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085A1D4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085A19C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085A24C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085A1D4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085A2AC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085A24C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085A330.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085A2AC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085A364.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085A330.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085A40C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085A364.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085A4A4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085A40C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085A530.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085A4A4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085A5DC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085A530.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085A66C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085A5DC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085A6C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085A66C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085A710.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085A6C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085A768.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085A710.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085A7C0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085A768.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085A8C4.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085A7C0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085A940.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085A8C4.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085AA10.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085A940.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085AA60.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085AA10.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085AA84.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085AA60.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085AACC.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085AA84.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085AB58.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085AACC.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085ABA8.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085AB58.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085AC9C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085ABA8.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085AD5C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085AC9C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085ADA0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085AD5C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085B08C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085ADA0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085B134.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085B08C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085B170.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085B134.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085B1F0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085B170.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085B28C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085B1F0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085B384.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085B28C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085B3E0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085B384.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085B460.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085B3E0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085B74C.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085B460.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085B820.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085B74C.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085B854.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085B820.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Player_Actor_0x8082DA90/func_8085B930.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085B854.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Player_Actor/func_8085B930.s") diff --git a/src/overlays/actors/ovl_Shot_Sun/z_shot_sun.c b/src/overlays/actors/ovl_Shot_Sun/z_shot_sun.c index 41cf987f6b..73aa5ac9f4 100644 --- a/src/overlays/actors/ovl_Shot_Sun/z_shot_sun.c +++ b/src/overlays/actors/ovl_Shot_Sun/z_shot_sun.c @@ -8,6 +8,11 @@ void ShotSun_Init(Actor* thisx, GlobalContext* globalCtx); void ShotSun_Destroy(Actor* thisx, GlobalContext* globalCtx); void ShotSun_Update(Actor* thisx, GlobalContext* globalCtx); +void func_80973740(ShotSun* this, GlobalContext* globalCtx); +void func_80973804(ShotSun* this, GlobalContext* globalCtx); +void func_809738D0(ShotSun* this, GlobalContext* globalCtx); +void func_80973960(ShotSun* this, GlobalContext* globalCtx); + #if 0 const ActorInit Shot_Sun_InitVars = { ACTOR_SHOT_SUN, @@ -21,7 +26,6 @@ const ActorInit Shot_Sun_InitVars = { (ActorFunc)NULL, }; - // static ColliderCylinderInit sCylinderInit = { static ColliderCylinderInit D_80973BA0 = { { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, @@ -29,20 +33,20 @@ static ColliderCylinderInit D_80973BA0 = { { 30, 60, 0, { 0, 0, 0 } }, }; - -extern ColliderCylinderInit D_80973BA0; #endif -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Shot_Sun_0x80973640/ShotSun_Init.asm") +extern ColliderCylinderInit D_80973BA0; -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Shot_Sun_0x80973640/ShotSun_Destroy.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Shot_Sun/ShotSun_Init.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Shot_Sun_0x80973640/func_80973740.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Shot_Sun/ShotSun_Destroy.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Shot_Sun_0x80973640/func_80973804.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Shot_Sun/func_80973740.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Shot_Sun_0x80973640/func_809738D0.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Shot_Sun/func_80973804.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Shot_Sun_0x80973640/func_80973960.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Shot_Sun/func_809738D0.s") -#pragma GLOBAL_ASM("./asm/non_matchings/overlays/ovl_Shot_Sun_0x80973640/ShotSun_Update.asm") +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Shot_Sun/func_80973960.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Shot_Sun/ShotSun_Update.s") diff --git a/src/overlays/actors/ovl_Shot_Sun/z_shot_sun.h b/src/overlays/actors/ovl_Shot_Sun/z_shot_sun.h index cfd8babe48..94fd706366 100644 --- a/src/overlays/actors/ovl_Shot_Sun/z_shot_sun.h +++ b/src/overlays/actors/ovl_Shot_Sun/z_shot_sun.h @@ -1,13 +1,17 @@ #ifndef Z_SHOT_SUN_H #define Z_SHOT_SUN_H -#include +#include "global.h" struct ShotSun; +typedef void (*ShotSunActionFunc)(struct ShotSun* this, GlobalContext* globalCtx); + typedef struct ShotSun { - /* 0x000 */ Actor actor; - /* 0x144 */ char unk_144[0x5C]; + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x4C]; + /* 0x0190 */ ShotSunActionFunc actionFunc; + /* 0x0194 */ char unk_194[0xC]; } ShotSun; // size = 0x1A0 extern const ActorInit Shot_Sun_InitVars; diff --git a/src/overlays/actors/ovl_TG_Sw/z_tg_sw.c b/src/overlays/actors/ovl_TG_Sw/z_tg_sw.c index bddfc75f49..94ec87a4b6 100644 --- a/src/overlays/actors/ovl_TG_Sw/z_tg_sw.c +++ b/src/overlays/actors/ovl_TG_Sw/z_tg_sw.c @@ -10,7 +10,7 @@ void TGSw_Destroy(Actor* thisx, GlobalContext* globalCtx); void TGSw_Update(Actor* thisx, GlobalContext* globalCtx); void TGSw_Draw(Actor* thisx, GlobalContext* globalCtx); -static void TGSw_ActionExecuteOneShot(struct TGSw* this, GlobalContext* globalCtx); +void TGSw_ActionExecuteOneShot(struct TGSw* this, GlobalContext* globalCtx); const ActorInit TG_Sw_InitVars = { ACTOR_TG_SW, @@ -24,61 +24,61 @@ const ActorInit TG_Sw_InitVars = { (ActorFunc)TGSw_Draw, }; -static void TGSw_ActionDecider(struct TGSw* this, GlobalContext* globalCtx) { +void TGSw_ActionDecider(TGSw* this, GlobalContext* globalCtx) { f32 scaledAbsoluteRotZ; f32 scaledAbsoluteRotY; u8 unk1F4; // Maybe actorCtx Debug Flag? - if (!!globalCtx->actorCtx.unk1F5) { + if (globalCtx->actorCtx.unk1F5 != 0) { scaledAbsoluteRotY = ABS_ALT(this->actor.world.rot.y) * 4.0f; scaledAbsoluteRotZ = ABS_ALT(this->actor.world.rot.z) * 4.0f; - if (!(scaledAbsoluteRotZ < this->actor.xzDistToPlayer) && !(scaledAbsoluteRotY < this->actor.yDistToPlayer)) { - unk1F4 = globalCtx->actorCtx.unk1F4; - if (unk1F4 == 2 || !unk1F4) { - this->actionFunc = &TGSw_ActionExecuteOneShot; - } + if ((scaledAbsoluteRotZ < this->actor.xzDistToPlayer) || (scaledAbsoluteRotY < this->actor.yDistToPlayer)) { + return; + } + unk1F4 = globalCtx->actorCtx.unk1F4; + if (unk1F4 == 2 || unk1F4 == 0) { + this->actionFunc = &TGSw_ActionExecuteOneShot; } } } -static void TGSw_ActionExecuteOneShot(struct TGSw* this, GlobalContext* globalCtx) { - void* actorIterator; - struct Actor* actorEntry; +void TGSw_ActionExecuteOneShot(TGSw* this, GlobalContext* globalCtx) { + Actor* actor = NULL; + + if (1) {} - actorIterator = NULL; do { - actorEntry = - func_ActorCategoryIterateById(globalCtx, (struct Actor*)actorIterator, ACTORCAT_ENEMY, ACTOR_EN_SW); - if (actorIterator = (void*)!actorEntry) { + actor = func_ActorCategoryIterateById(globalCtx, actor, ACTORCAT_ENEMY, ACTOR_EN_SW); + if (actor == NULL) { break; } - - if ((((this->actor.params & 0xFC) >> 2) & 0xFF) == (((actorEntry->params & 0xFC) >> 2) & 0xFF)) { - // Prevents register swap - if (1) {} - actorEntry->parent = (struct Actor*)this; - actorEntry->speedXZ = ABS_ALT(this->actor.world.rot.x); + if ((((this->actor.params & 0xFC) >> 2) & 0xFF) == (((actor->params & 0xFC) >> 2) & 0xFF)) { + actor->parent = &this->actor; + actor->speedXZ = ABS_ALT(this->actor.world.rot.x); break; } - } while (actorIterator = actorEntry->next); + actor = actor->next; + } while (actor != NULL); + + actor = NULL; - actorIterator = NULL; do { - actorEntry = func_ActorCategoryIterateById(globalCtx, actorIterator, ACTORCAT_NPC, ACTOR_EN_SW); - if (actorIterator = (void*)!actorEntry) { + actor = func_ActorCategoryIterateById(globalCtx, actor, ACTORCAT_NPC, ACTOR_EN_SW); + + if (actor == NULL) { break; } - - if ((((this->actor.params & 0xFC) >> 2) & 0xFF) == (((actorEntry->params & 0xFC) >> 2) & 0xFF)) { - actorEntry->parent = (struct Actor*)this; - actorEntry->speedXZ = ABS_ALT(this->actor.world.rot.x); + if ((((this->actor.params & 0xFC) >> 2) & 0xFF) == (((actor->params & 0xFC) >> 2) & 0xFF)) { + actor->parent = &this->actor; + actor->speedXZ = ABS_ALT(this->actor.world.rot.x); break; } - } while (actorIterator = actorEntry->next); + actor = actor->next; + } while (actor != NULL); - Actor_MarkForDeath((Actor*)this); + Actor_MarkForDeath(&this->actor); } void TGSw_Init(Actor* thisx, GlobalContext* globalCtx) { @@ -97,26 +97,21 @@ void TGSw_Update(Actor* thisx, GlobalContext* globalCtx) { } void TGSw_Draw(Actor* thisx, GlobalContext* globalCtx) { - s32 pad0; - s32 absoluteRotZ; - s32 absoluteRotY; - f32 factoredRotZ; - TGSw* this = THIS; + s32 pad; + f32 scale; + s32 absRot; - if (!!sREG(0)) { - absoluteRotZ = ABS_ALT(this->actor.world.rot.z); - factoredRotZ = absoluteRotZ * 0.2f; - // if needs to use the factored Rot as a var, "true" doesnt work - if (factoredRotZ) { - ; - } - absoluteRotY = ABS_ALT(this->actor.world.rot.y); + if (sREG(0) != 0) { + absRot = ABS_ALT(thisx->world.rot.z); + scale = absRot * 0.2f; + absRot = ABS_ALT(thisx->world.rot.y); - DebugDisplay_AddObject(this->actor.world.pos.x, this->actor.world.pos.y, this->actor.world.pos.z, 0, - this->actor.shape.rot.y, 0, 0.1f, 0.1f, factoredRotZ, 0xA0, 0xA0, 0xA0, 0xFF, 6, - globalCtx->state.gfxCtx); - DebugDisplay_AddObject(this->actor.world.pos.x, this->actor.world.pos.y, this->actor.world.pos.z, 0, 0, 0, 0.1f, - absoluteRotY * 0.2f, 0.1f, 0xA0, 0xA0, 0xA0, 0xFF, 6, globalCtx->state.gfxCtx); - this->actor.shape.rot.y = (s16)(this->actor.shape.rot.y + 0x1000); + DebugDisplay_AddObject(thisx->world.pos.x, thisx->world.pos.y, thisx->world.pos.z, 0, thisx->shape.rot.y, 0, + 0.1f, 0.1f, scale, 160, 160, 160, 255, 6, globalCtx->state.gfxCtx); + + scale = absRot * 0.2f; + DebugDisplay_AddObject(thisx->world.pos.x, thisx->world.pos.y, thisx->world.pos.z, 0, 0, 0, 0.1f, scale, 0.1f, + 160, 160, 160, 255, 6, globalCtx->state.gfxCtx); + thisx->shape.rot.y += 0x1000; } } diff --git a/src/overlays/actors/ovl_TG_Sw/z_tg_sw.h b/src/overlays/actors/ovl_TG_Sw/z_tg_sw.h index 10cc975a42..bec4c1f05f 100644 --- a/src/overlays/actors/ovl_TG_Sw/z_tg_sw.h +++ b/src/overlays/actors/ovl_TG_Sw/z_tg_sw.h @@ -1,7 +1,7 @@ #ifndef Z_TG_SW_H #define Z_TG_SW_H -#include +#include "global.h" struct TGSw; typedef void (*TGSwActionFunc)(struct TGSw*, GlobalContext*); diff --git a/src/overlays/effects/ovl_Effect_En_Ice_Block/overlay.cfg b/src/overlays/effects/ovl_Effect_En_Ice_Block/overlay.cfg new file mode 100644 index 0000000000..3035ab72e6 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_En_Ice_Block/overlay.cfg @@ -0,0 +1,2 @@ +ovl_Effect_En_Ice_Block +z_eff_en_ice_block.c diff --git a/src/overlays/effects/ovl_Effect_En_Ice_Block/z_eff_en_ice_block.c b/src/overlays/effects/ovl_Effect_En_Ice_Block/z_eff_en_ice_block.c new file mode 100644 index 0000000000..62c56c04bc --- /dev/null +++ b/src/overlays/effects/ovl_Effect_En_Ice_Block/z_eff_en_ice_block.c @@ -0,0 +1,31 @@ +/* + * File: z_eff_en_ice_block.c + * Overlay: ovl_Effect_En_Ice_Block + * Description: + */ + +#include "z_eff_en_ice_block.h" + +#define PARAMS ((EffectEnIceBlockInitParams*)initParamsx) + +s32 EffectEnIceBlock_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void* initParamsx); +void EffectEnIceBlock_Update(GlobalContext* globalCtx, u32 index, EffectSs* this); +void EffectEnIceBlock_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this); + +#if 0 +const EffectSsInit Effect_En_Ice_Block_InitVars = { + EFFECT_EN_ICE_BLOCK, + EffectEnIceBlock_Init, +}; + +#endif + +extern UNK_TYPE D_06000A38; + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_En_Ice_Block/func_80A22D40.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_En_Ice_Block/EffectEnIceBlock_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_En_Ice_Block/EffectEnIceBlock_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_En_Ice_Block/EffectEnIceBlock_Update.s") diff --git a/src/overlays/effects/ovl_Effect_En_Ice_Block/z_eff_en_ice_block.h b/src/overlays/effects/ovl_Effect_En_Ice_Block/z_eff_en_ice_block.h new file mode 100644 index 0000000000..e5377b20f6 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_En_Ice_Block/z_eff_en_ice_block.h @@ -0,0 +1,16 @@ +#ifndef _Z64_EFFECT_EN_ICE_BLOCK_H_ +#define _Z64_EFFECT_EN_ICE_BLOCK_H_ + +#include "global.h" + +typedef struct { + /* 0x00 */ Actor* actor; + /* 0x04 */ Vec3f pos; + /* 0x10 */ Vec3f velocity; + /* 0x1C */ Vec3f accel; + /* 0x28 */ s16 scale; +} EffectEnIceBlockInitParams; // size = 0x2C + +extern const EffectSsInit Effect_En_Ice_Block_InitVars; + +#endif diff --git a/src/overlays/effects/ovl_Effect_Ss_Blast/overlay.cfg b/src/overlays/effects/ovl_Effect_Ss_Blast/overlay.cfg new file mode 100644 index 0000000000..2bb72beac6 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Blast/overlay.cfg @@ -0,0 +1,2 @@ +ovl_Effect_Ss_Blast +z_eff_ss_blast.c diff --git a/src/overlays/effects/ovl_Effect_Ss_Blast/z_eff_ss_blast.c b/src/overlays/effects/ovl_Effect_Ss_Blast/z_eff_ss_blast.c new file mode 100644 index 0000000000..ec5433b3cd --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Blast/z_eff_ss_blast.c @@ -0,0 +1,27 @@ +/* + * File: z_eff_ss_blast.c + * Overlay: ovl_Effect_Ss_Blast + * Description: + */ + +#include "z_eff_ss_blast.h" + +#define PARAMS ((EffectSsBlastInitParams*)initParamsx) + +s32 EffectSsBlast_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void* initParamsx); +void EffectSsBlast_Update(GlobalContext* globalCtx, u32 index, EffectSs* this); +void EffectSsBlast_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this); + +#if 0 +const EffectSsInit Effect_Ss_Blast_InitVars = { + EFFECT_SS_BLAST, + EffectSsBlast_Init, +}; + +#endif + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Blast/EffectSsBlast_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Blast/EffectSsBlast_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Blast/EffectSsBlast_Update.s") diff --git a/src/overlays/effects/ovl_Effect_Ss_Blast/z_eff_ss_blast.h b/src/overlays/effects/ovl_Effect_Ss_Blast/z_eff_ss_blast.h new file mode 100644 index 0000000000..2a13227c36 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Blast/z_eff_ss_blast.h @@ -0,0 +1,20 @@ +#ifndef _Z64_EFFECT_SS_BLAST_H_ +#define _Z64_EFFECT_SS_BLAST_H_ + +#include "global.h" + +typedef struct { + /* 0x00 */ Vec3f pos; + /* 0x0C */ Vec3f velocity; + /* 0x18 */ Vec3f accel; + /* 0x24 */ Color_RGBA8 primColor; + /* 0x28 */ Color_RGBA8 envColor; + /* 0x2C */ s16 scale; + /* 0x2E */ s16 scaleStep; + /* 0x30 */ s16 sclaeStepDecay; + /* 0x32 */ s16 life; +} EffectSsBlastInitParams; // size = 0x34 + +extern const EffectSsInit Effect_Ss_Blast_InitVars; + +#endif diff --git a/src/overlays/effects/ovl_Effect_Ss_Bomb2/overlay.cfg b/src/overlays/effects/ovl_Effect_Ss_Bomb2/overlay.cfg new file mode 100644 index 0000000000..f964deb729 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Bomb2/overlay.cfg @@ -0,0 +1,2 @@ +ovl_Effect_Ss_Bomb2 +z_eff_ss_bomb2.c diff --git a/src/overlays/effects/ovl_Effect_Ss_Bomb2/z_eff_ss_bomb2.c b/src/overlays/effects/ovl_Effect_Ss_Bomb2/z_eff_ss_bomb2.c new file mode 100644 index 0000000000..3d571f3f7b --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Bomb2/z_eff_ss_bomb2.c @@ -0,0 +1,30 @@ +/* + * File: z_eff_ss_bomb2.c + * Overlay: ovl_Effect_Ss_Bomb2 + * Description: + */ + +#include "z_eff_ss_bomb2.h" + +#define PARAMS ((EffectSsBomb2InitParams*)initParamsx) + +s32 EffectSsBomb2_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void* initParamsx); +void EffectSsBomb2_Update(GlobalContext* globalCtx, u32 index, EffectSs* this); +void func_80978138(GlobalContext* globalCtx, u32 index, EffectSs* this); +void func_80978304(GlobalContext* globalCtx, u32 index, EffectSs* this); + +#if 0 +const EffectSsInit Effect_Ss_Bomb2_InitVars = { + EFFECT_SS_BOMB2, + EffectSsBomb2_Init, +}; + +#endif + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Bomb2/EffectSsBomb2_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Bomb2/func_80978138.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Bomb2/func_80978304.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Bomb2/EffectSsBomb2_Update.s") diff --git a/src/overlays/effects/ovl_Effect_Ss_Bomb2/z_eff_ss_bomb2.h b/src/overlays/effects/ovl_Effect_Ss_Bomb2/z_eff_ss_bomb2.h new file mode 100644 index 0000000000..468e2c016a --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Bomb2/z_eff_ss_bomb2.h @@ -0,0 +1,17 @@ +#ifndef _Z64_EFFECT_SS_BOMB2_H_ +#define _Z64_EFFECT_SS_BOMB2_H_ + +#include "global.h" + +typedef struct { + /* 0x00 */ Vec3f pos; + /* 0x0C */ Vec3f velocity; + /* 0x18 */ Vec3f accel; + /* 0x24 */ s16 scale; + /* 0x26 */ s16 scaleStep; + /* 0x28 */ u8 drawMode; +} EffectSsBomb2InitParams; // size = 0x30 + +extern const EffectSsInit Effect_Ss_Bomb2_InitVars; + +#endif diff --git a/src/overlays/effects/ovl_Effect_Ss_Bubble/overlay.cfg b/src/overlays/effects/ovl_Effect_Ss_Bubble/overlay.cfg new file mode 100644 index 0000000000..bdf4b40698 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Bubble/overlay.cfg @@ -0,0 +1,2 @@ +ovl_Effect_Ss_Bubble +z_eff_ss_bubble.c diff --git a/src/overlays/effects/ovl_Effect_Ss_Bubble/z_eff_ss_bubble.c b/src/overlays/effects/ovl_Effect_Ss_Bubble/z_eff_ss_bubble.c new file mode 100644 index 0000000000..d18f57bb7c --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Bubble/z_eff_ss_bubble.c @@ -0,0 +1,27 @@ +/* + * File: z_eff_ss_bubble.c + * Overlay: ovl_Effect_Ss_Bubble + * Description: + */ + +#include "z_eff_ss_bubble.h" + +#define PARAMS ((EffectSsBubbleInitParams*)initParamsx) + +s32 EffectSsBubble_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void* initParamsx); +void EffectSsBubble_Update(GlobalContext* globalCtx, u32 index, EffectSs* this); +void EffectSsBubble_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this); + +#if 0 +const EffectSsInit Effect_Ss_Bubble_InitVars = { + EFFECT_SS_BUBBLE, + EffectSsBubble_Init, +}; + +#endif + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Bubble/EffectSsBubble_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Bubble/EffectSsBubble_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Bubble/EffectSsBubble_Update.s") diff --git a/src/overlays/effects/ovl_Effect_Ss_Bubble/z_eff_ss_bubble.h b/src/overlays/effects/ovl_Effect_Ss_Bubble/z_eff_ss_bubble.h new file mode 100644 index 0000000000..0916a95cad --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Bubble/z_eff_ss_bubble.h @@ -0,0 +1,16 @@ +#ifndef _Z64_EFFECT_SS_BUBBLE_H_ +#define _Z64_EFFECT_SS_BUBBLE_H_ + +#include "global.h" + +typedef struct { + /* 0x00 */ Vec3f pos; + /* 0x0C */ f32 yPosOffset; + /* 0x10 */ f32 yPosRandScale; + /* 0x14 */ f32 xzPosRandScale; + /* 0x18 */ f32 scale; +} EffectSsBubbleInitParams; // size = 0x1C + +extern const EffectSsInit Effect_Ss_Bubble_InitVars; + +#endif diff --git a/src/overlays/effects/ovl_Effect_Ss_D_Fire/overlay.cfg b/src/overlays/effects/ovl_Effect_Ss_D_Fire/overlay.cfg new file mode 100644 index 0000000000..2c439ec558 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_D_Fire/overlay.cfg @@ -0,0 +1,2 @@ +ovl_Effect_Ss_D_Fire +z_eff_ss_d_fire.c diff --git a/src/overlays/effects/ovl_Effect_Ss_D_Fire/z_eff_ss_d_fire.c b/src/overlays/effects/ovl_Effect_Ss_D_Fire/z_eff_ss_d_fire.c new file mode 100644 index 0000000000..cc3531434a --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_D_Fire/z_eff_ss_d_fire.c @@ -0,0 +1,31 @@ +/* + * File: z_eff_ss_d_fire.c + * Overlay: ovl_Effect_Ss_D_Fire + * Description: + */ + +#include "z_eff_ss_d_fire.h" + +#define PARAMS ((EffectSsDFireInitParams*)initParamsx) + +s32 EffectSsDFire_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void* initParamsx); +void EffectSsDFire_Update(GlobalContext* globalCtx, u32 index, EffectSs* this); +void EffectSsDFire_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this); + +#if 0 +const EffectSsInit Effect_Ss_D_Fire_InitVars = { + EFFECT_SS_D_FIRE, + EffectSsDFire_Init, +}; + +#endif + +extern UNK_TYPE D_060098A0; + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_D_Fire/func_809791B0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_D_Fire/EffectSsDFire_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_D_Fire/EffectSsDFire_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_D_Fire/EffectSsDFire_Update.s") diff --git a/src/overlays/effects/ovl_Effect_Ss_D_Fire/z_eff_ss_d_fire.h b/src/overlays/effects/ovl_Effect_Ss_D_Fire/z_eff_ss_d_fire.h new file mode 100644 index 0000000000..e3e0f936bd --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_D_Fire/z_eff_ss_d_fire.h @@ -0,0 +1,19 @@ +#ifndef _Z64_EFFECT_SS_D_FIRE_H_ +#define _Z64_EFFECT_SS_D_FIRE_H_ + +#include "global.h" + +typedef struct { + /* 0x00 */ Vec3f pos; + /* 0x0C */ Vec3f velocity; + /* 0x18 */ Vec3f accel; + /* 0x24 */ s16 scale; + /* 0x26 */ s16 scaleStep; + /* 0x28 */ s16 alpha; + /* 0x2A */ s16 fadeDelay; + /* 0x2C */ s32 life; +} EffectSsDFireInitParams; // size = 0x30 + +extern const EffectSsInit Effect_Ss_D_Fire_InitVars; + +#endif diff --git a/src/overlays/effects/ovl_Effect_Ss_Dead_Db/overlay.cfg b/src/overlays/effects/ovl_Effect_Ss_Dead_Db/overlay.cfg new file mode 100644 index 0000000000..61ff413120 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Dead_Db/overlay.cfg @@ -0,0 +1,2 @@ +ovl_Effect_Ss_Dead_Db +z_eff_ss_dead_db.c diff --git a/src/overlays/effects/ovl_Effect_Ss_Dead_Db/z_eff_ss_dead_db.c b/src/overlays/effects/ovl_Effect_Ss_Dead_Db/z_eff_ss_dead_db.c new file mode 100644 index 0000000000..0ed0cf5f8c --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Dead_Db/z_eff_ss_dead_db.c @@ -0,0 +1,27 @@ +/* + * File: z_eff_ss_dead_db.c + * Overlay: ovl_Effect_Ss_Dead_Db + * Description: + */ + +#include "z_eff_ss_dead_db.h" + +#define PARAMS ((EffectSsDeadDbInitParams*)initParamsx) + +s32 EffectSsDeadDb_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void* initParamsx); +void EffectSsDeadDb_Update(GlobalContext* globalCtx, u32 index, EffectSs* this); +void EffectSsDeadDb_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this); + +#if 0 +const EffectSsInit Effect_Ss_Dead_Db_InitVars = { + EFFECT_SS_DEAD_DB, + EffectSsDeadDb_Init, +}; + +#endif + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Dead_Db/EffectSsDeadDb_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Dead_Db/EffectSsDeadDb_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Dead_Db/EffectSsDeadDb_Update.s") diff --git a/src/overlays/effects/ovl_Effect_Ss_Dead_Db/z_eff_ss_dead_db.h b/src/overlays/effects/ovl_Effect_Ss_Dead_Db/z_eff_ss_dead_db.h new file mode 100644 index 0000000000..bbdf3c2909 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Dead_Db/z_eff_ss_dead_db.h @@ -0,0 +1,19 @@ +#ifndef _Z64_EFFECT_SS_DEAD_DB_H_ +#define _Z64_EFFECT_SS_DEAD_DB_H_ + +#include "global.h" + +typedef struct { + /* 0x00 */ Vec3f pos; + /* 0x0C */ Vec3f velocity; + /* 0x18 */ Vec3f accel; + /* 0x24 */ s16 scale; + /* 0x26 */ s16 scaleStep; + /* 0x28 */ Color_RGBA8 primColor; + /* 0x2C */ Color_RGBA8 envColor; + /* 0x30 */ s32 unk_30; +} EffectSsDeadDbInitParams; // size = 0x30 + +extern const EffectSsInit Effect_Ss_Dead_Db_InitVars; + +#endif diff --git a/src/overlays/effects/ovl_Effect_Ss_Dead_Dd/overlay.cfg b/src/overlays/effects/ovl_Effect_Ss_Dead_Dd/overlay.cfg new file mode 100644 index 0000000000..86355de674 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Dead_Dd/overlay.cfg @@ -0,0 +1,2 @@ +ovl_Effect_Ss_Dead_Dd +z_eff_ss_dead_dd.c diff --git a/src/overlays/effects/ovl_Effect_Ss_Dead_Dd/z_eff_ss_dead_dd.c b/src/overlays/effects/ovl_Effect_Ss_Dead_Dd/z_eff_ss_dead_dd.c new file mode 100644 index 0000000000..39f9e51d5f --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Dead_Dd/z_eff_ss_dead_dd.c @@ -0,0 +1,29 @@ +/* + * File: z_eff_ss_dead_dd.c + * Overlay: ovl_Effect_Ss_Dead_Dd + * Description: + */ + +#include "z_eff_ss_dead_dd.h" + +#define PARAMS ((EffectSsDeadDdInitParams*)initParamsx) + +s32 EffectSsDeadDd_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void* initParamsx); +void EffectSsDeadDd_Update(GlobalContext* globalCtx, u32 index, EffectSs* this); +void EffectSsDeadDd_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this); + +#if 0 +const EffectSsInit Effect_Ss_Dead_Dd_InitVars = { + EFFECT_SS_DEAD_DD, + EffectSsDeadDd_Init, +}; + +#endif + +extern UNK_TYPE D_01000000; + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Dead_Dd/EffectSsDeadDd_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Dead_Dd/EffectSsDeadDd_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Dead_Dd/EffectSsDeadDd_Update.s") diff --git a/src/overlays/effects/ovl_Effect_Ss_Dead_Dd/z_eff_ss_dead_dd.h b/src/overlays/effects/ovl_Effect_Ss_Dead_Dd/z_eff_ss_dead_dd.h new file mode 100644 index 0000000000..e344df4074 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Dead_Dd/z_eff_ss_dead_dd.h @@ -0,0 +1,23 @@ +#ifndef _Z64_EFFECT_SS_DEAD_DD_H_ +#define _Z64_EFFECT_SS_DEAD_DD_H_ + +#include "global.h" + +typedef struct { + /* 0x00 */ Vec3f pos; + /* 0x0C */ Vec3f velocity; + /* 0x18 */ Vec3f accel; + /* 0x24 */ s16 scale; + /* 0x26 */ s16 scaleStep; + /* 0x28 */ Color_RGBA8 primColor; + /* 0x2C */ Color_RGBA8 envColor; + /* 0x30 */ s16 alphaStep; + /* 0x34 */ s32 life; + /* 0x38 */ f32 randPosScale; + /* 0x3C */ s32 randIter; + /* 0x40 */ u8 type; +} EffectSsDeadDdInitParams; // size = 0x44 + +extern const EffectSsInit Effect_Ss_Dead_Dd_InitVars; + +#endif diff --git a/src/overlays/effects/ovl_Effect_Ss_Dead_Ds/overlay.cfg b/src/overlays/effects/ovl_Effect_Ss_Dead_Ds/overlay.cfg new file mode 100644 index 0000000000..40a9f45d15 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Dead_Ds/overlay.cfg @@ -0,0 +1,2 @@ +ovl_Effect_Ss_Dead_Ds +z_eff_ss_dead_ds.c diff --git a/src/overlays/effects/ovl_Effect_Ss_Dead_Ds/z_eff_ss_dead_ds.c b/src/overlays/effects/ovl_Effect_Ss_Dead_Ds/z_eff_ss_dead_ds.c new file mode 100644 index 0000000000..34bb24d285 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Dead_Ds/z_eff_ss_dead_ds.c @@ -0,0 +1,27 @@ +/* + * File: z_eff_ss_dead_ds.c + * Overlay: ovl_Effect_Ss_Dead_Ds + * Description: + */ + +#include "z_eff_ss_dead_ds.h" + +#define PARAMS ((EffectSsDeadDsInitParams*)initParamsx) + +s32 EffectSsDeadDs_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void* initParamsx); +void EffectSsDeadDs_Update(GlobalContext* globalCtx, u32 index, EffectSs* this); +void EffectSsDeadDs_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this); + +#if 0 +const EffectSsInit Effect_Ss_Dead_Ds_InitVars = { + EFFECT_SS_DEAD_DS, + EffectSsDeadDs_Init, +}; + +#endif + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Dead_Ds/EffectSsDeadDs_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Dead_Ds/EffectSsDeadDs_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Dead_Ds/EffectSsDeadDs_Update.s") diff --git a/src/overlays/effects/ovl_Effect_Ss_Dead_Ds/z_eff_ss_dead_ds.h b/src/overlays/effects/ovl_Effect_Ss_Dead_Ds/z_eff_ss_dead_ds.h new file mode 100644 index 0000000000..e047422962 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Dead_Ds/z_eff_ss_dead_ds.h @@ -0,0 +1,18 @@ +#ifndef _Z64_EFFECT_SS_DEAD_DS_H_ +#define _Z64_EFFECT_SS_DEAD_DS_H_ + +#include "global.h" + +typedef struct { + /* 0x00 */ Vec3f pos; + /* 0x0C */ Vec3f velocity; + /* 0x18 */ Vec3f accel; + /* 0x24 */ s16 scale; + /* 0x26 */ s16 scaleStep; + /* 0x28 */ s16 alpha; + /* 0x2C */ s32 life; +} EffectSsDeadDsInitParams; // size = 0x30 + +extern const EffectSsInit Effect_Ss_Dead_Ds_InitVars; + +#endif diff --git a/src/overlays/effects/ovl_Effect_Ss_Dt_Bubble/overlay.cfg b/src/overlays/effects/ovl_Effect_Ss_Dt_Bubble/overlay.cfg new file mode 100644 index 0000000000..f3b368b9ee --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Dt_Bubble/overlay.cfg @@ -0,0 +1,2 @@ +ovl_Effect_Ss_Dt_Bubble +z_eff_ss_dt_bubble.c diff --git a/src/overlays/effects/ovl_Effect_Ss_Dt_Bubble/z_eff_ss_dt_bubble.c b/src/overlays/effects/ovl_Effect_Ss_Dt_Bubble/z_eff_ss_dt_bubble.c new file mode 100644 index 0000000000..0237cfb1eb --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Dt_Bubble/z_eff_ss_dt_bubble.c @@ -0,0 +1,27 @@ +/* + * File: z_eff_ss_dt_bubble.c + * Overlay: ovl_Effect_Ss_Dt_Bubble + * Description: + */ + +#include "z_eff_ss_dt_bubble.h" + +#define PARAMS ((EffectSsDtBubbleInitParams*)initParamsx) + +s32 EffectSsDtBubble_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void* initParamsx); +void EffectSsDtBubble_Update(GlobalContext* globalCtx, u32 index, EffectSs* this); +void EffectSsDtBubble_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this); + +#if 0 +const EffectSsInit Effect_Ss_Dt_Bubble_InitVars = { + EFFECT_SS_DT_BUBBLE, + EffectSsDtBubble_Init, +}; + +#endif + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Dt_Bubble/EffectSsDtBubble_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Dt_Bubble/EffectSsDtBubble_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Dt_Bubble/EffectSsDtBubble_Update.s") diff --git a/src/overlays/effects/ovl_Effect_Ss_Dt_Bubble/z_eff_ss_dt_bubble.h b/src/overlays/effects/ovl_Effect_Ss_Dt_Bubble/z_eff_ss_dt_bubble.h new file mode 100644 index 0000000000..75847c0c47 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Dt_Bubble/z_eff_ss_dt_bubble.h @@ -0,0 +1,21 @@ +#ifndef _Z64_EFFECT_SS_DT_BUBBLE_H_ +#define _Z64_EFFECT_SS_DT_BUBBLE_H_ + +#include "global.h" + +typedef struct { + /* 0x00 */ Vec3f pos; + /* 0x0C */ Vec3f velocity; + /* 0x18 */ Vec3f accel; + /* 0x24 */ Color_RGBA8 primColor; + /* 0x28 */ Color_RGBA8 envColor; + /* 0x2C */ s16 scale; + /* 0x2E */ s16 life; + /* 0x30 */ s16 colorProfile; + /* 0x32 */ s16 randXZ; // randomly moves in the xz plane if true + /* 0x34 */ u8 customColor; +} EffectSsDtBubbleInitParams; // size = 0x3C + +extern const EffectSsInit Effect_Ss_Dt_Bubble_InitVars; + +#endif diff --git a/src/overlays/effects/ovl_Effect_Ss_Dust/overlay.cfg b/src/overlays/effects/ovl_Effect_Ss_Dust/overlay.cfg new file mode 100644 index 0000000000..fa47efe59e --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Dust/overlay.cfg @@ -0,0 +1,2 @@ +ovl_Effect_Ss_Dust +z_eff_ss_dust.c diff --git a/src/overlays/effects/ovl_Effect_Ss_Dust/z_eff_ss_dust.c b/src/overlays/effects/ovl_Effect_Ss_Dust/z_eff_ss_dust.c new file mode 100644 index 0000000000..4d53619ff2 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Dust/z_eff_ss_dust.c @@ -0,0 +1,30 @@ +/* + * File: z_eff_ss_dust.c + * Overlay: ovl_Effect_Ss_Dust + * Description: + */ + +#include "z_eff_ss_dust.h" + +#define PARAMS ((EffectSsDustInitParams*)initParamsx) + +s32 EffectSsDust_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void* initParamsx); +void func_809776BC(GlobalContext* globalCtx, u32 index, EffectSs* this); +void func_809777B4(GlobalContext* globalCtx, u32 index, EffectSs* this); +void EffectSsDust_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this); + +#if 0 +const EffectSsInit Effect_Ss_Dust_InitVars = { + EFFECT_SS_DUST, + EffectSsDust_Init, +}; + +#endif + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Dust/EffectSsDust_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Dust/EffectSsDust_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Dust/func_809776BC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Dust/func_809777B4.s") diff --git a/src/overlays/effects/ovl_Effect_Ss_Dust/z_eff_ss_dust.h b/src/overlays/effects/ovl_Effect_Ss_Dust/z_eff_ss_dust.h new file mode 100644 index 0000000000..7e8bfbfb8e --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Dust/z_eff_ss_dust.h @@ -0,0 +1,21 @@ +#ifndef _Z64_EFFECT_SS_DUST_H_ +#define _Z64_EFFECT_SS_DUST_H_ + +#include "global.h" + +typedef struct { + /* 0x00 */ Vec3f pos; + /* 0x0C */ Vec3f velocity; + /* 0x18 */ Vec3f accel; + /* 0x24 */ Color_RGBA8 primColor; + /* 0x28 */ Color_RGBA8 envColor; + /* 0x2C */ s16 scale; + /* 0x2E */ s16 scaleStep; + /* 0x30 */ s16 life; + /* 0x32 */ u16 drawFlags; + /* 0x34 */ u8 updateMode; +} EffectSsDustInitParams; // size = 0x38 + +extern const EffectSsInit Effect_Ss_Dust_InitVars; + +#endif diff --git a/src/overlays/effects/ovl_Effect_Ss_En_Fire/overlay.cfg b/src/overlays/effects/ovl_Effect_Ss_En_Fire/overlay.cfg new file mode 100644 index 0000000000..0652dd2355 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_En_Fire/overlay.cfg @@ -0,0 +1,2 @@ +ovl_Effect_Ss_En_Fire +z_eff_ss_en_fire.c diff --git a/src/overlays/effects/ovl_Effect_Ss_En_Fire/z_eff_ss_en_fire.c b/src/overlays/effects/ovl_Effect_Ss_En_Fire/z_eff_ss_en_fire.c new file mode 100644 index 0000000000..2953789c97 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_En_Fire/z_eff_ss_en_fire.c @@ -0,0 +1,27 @@ +/* + * File: z_eff_ss_en_fire.c + * Overlay: ovl_Effect_Ss_En_Fire + * Description: + */ + +#include "z_eff_ss_en_fire.h" + +#define PARAMS ((EffectSsEnFireInitParams*)initParamsx) + +s32 EffectSsEnFire_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void* initParamsx); +void EffectSsEnFire_Update(GlobalContext* globalCtx, u32 index, EffectSs* this); +void EffectSsEnFire_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this); + +#if 0 +const EffectSsInit Effect_Ss_En_Fire_InitVars = { + EFFECT_SS_EN_FIRE, + EffectSsEnFire_Init, +}; + +#endif + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_En_Fire/EffectSsEnFire_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_En_Fire/EffectSsEnFire_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_En_Fire/EffectSsEnFire_Update.s") diff --git a/src/overlays/effects/ovl_Effect_Ss_En_Fire/z_eff_ss_en_fire.h b/src/overlays/effects/ovl_Effect_Ss_En_Fire/z_eff_ss_en_fire.h new file mode 100644 index 0000000000..987e426dad --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_En_Fire/z_eff_ss_en_fire.h @@ -0,0 +1,17 @@ +#ifndef _Z64_EFFECT_SS_EN_FIRE_H_ +#define _Z64_EFFECT_SS_EN_FIRE_H_ + +#include "global.h" + +typedef struct { + /* 0x00 */ Actor* actor; + /* 0x04 */ Vec3f pos; + /* 0x10 */ s16 scale; + /* 0x12 */ s16 unk_12; + /* 0x14 */ s16 flags; + /* 0x16 */ s16 bodyPart; +} EffectSsEnFireInitParams; // size = 0x18 + +extern const EffectSsInit Effect_Ss_En_Fire_InitVars; + +#endif diff --git a/src/overlays/effects/ovl_Effect_Ss_En_Ice/overlay.cfg b/src/overlays/effects/ovl_Effect_Ss_En_Ice/overlay.cfg new file mode 100644 index 0000000000..a761dda6e6 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_En_Ice/overlay.cfg @@ -0,0 +1,2 @@ +ovl_Effect_Ss_En_Ice +z_eff_ss_en_ice.c diff --git a/src/overlays/effects/ovl_Effect_Ss_En_Ice/z_eff_ss_en_ice.c b/src/overlays/effects/ovl_Effect_Ss_En_Ice/z_eff_ss_en_ice.c new file mode 100644 index 0000000000..963c38bb92 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_En_Ice/z_eff_ss_en_ice.c @@ -0,0 +1,30 @@ +/* + * File: z_eff_ss_en_ice.c + * Overlay: ovl_Effect_Ss_En_Ice + * Description: + */ + +#include "z_eff_ss_en_ice.h" + +#define PARAMS ((EffectSsEnIceInitParams*)initParamsx) + +s32 EffectSsEnIce_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void* initParamsx); +void func_8097F62C(GlobalContext* globalCtx, u32 index, EffectSs* this); +void func_8097F7EC(GlobalContext* globalCtx, u32 index, EffectSs* this); +void EffectSsEnIce_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this); + +#if 0 +const EffectSsInit Effect_Ss_En_Ice_InitVars = { + EFFECT_SS_EN_ICE, + EffectSsEnIce_Init, +}; + +#endif + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_En_Ice/EffectSsEnIce_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_En_Ice/EffectSsEnIce_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_En_Ice/func_8097F62C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_En_Ice/func_8097F7EC.s") diff --git a/src/overlays/effects/ovl_Effect_Ss_En_Ice/z_eff_ss_en_ice.h b/src/overlays/effects/ovl_Effect_Ss_En_Ice/z_eff_ss_en_ice.h new file mode 100644 index 0000000000..ed0c6d4573 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_En_Ice/z_eff_ss_en_ice.h @@ -0,0 +1,20 @@ +#ifndef _Z64_EFFECT_SS_EN_ICE_H_ +#define _Z64_EFFECT_SS_EN_ICE_H_ + +#include "global.h" + +typedef struct { + /* 0x00 */ Actor* actor; + /* 0x04 */ Vec3f pos; + /* 0x10 */ f32 scale; + /* 0x14 */ Vec3f velocity; + /* 0x20 */ Vec3f accel; + /* 0x2C */ Color_RGBA8 primColor; + /* 0x30 */ Color_RGBA8 envColor; + /* 0x34 */ s32 life; + /* 0x38 */ s16 type; +} EffectSsEnIceInitParams; // size = 0x3C + +extern const EffectSsInit Effect_Ss_En_Ice_InitVars; + +#endif diff --git a/src/overlays/effects/ovl_Effect_Ss_Extra/overlay.cfg b/src/overlays/effects/ovl_Effect_Ss_Extra/overlay.cfg new file mode 100644 index 0000000000..b83dab7ec3 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Extra/overlay.cfg @@ -0,0 +1,2 @@ +ovl_Effect_Ss_Extra +z_eff_ss_extra.c diff --git a/src/overlays/effects/ovl_Effect_Ss_Extra/z_eff_ss_extra.c b/src/overlays/effects/ovl_Effect_Ss_Extra/z_eff_ss_extra.c new file mode 100644 index 0000000000..cd0359ae32 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Extra/z_eff_ss_extra.c @@ -0,0 +1,29 @@ +/* + * File: z_eff_ss_extra.c + * Overlay: ovl_Effect_Ss_Extra + * Description: + */ + +#include "z_eff_ss_extra.h" + +#define PARAMS ((EffectSsExtraInitParams*)initParamsx) + +s32 EffectSsExtra_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void* initParamsx); +void EffectSsExtra_Update(GlobalContext* globalCtx, u32 index, EffectSs* this); +void EffectSsExtra_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this); + +#if 0 +const EffectSsInit Effect_Ss_Extra_InitVars = { + EFFECT_SS_EXTRA, + EffectSsExtra_Init, +}; + +#endif + +extern UNK_TYPE D_06000DC0; + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Extra/EffectSsExtra_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Extra/EffectSsExtra_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Extra/EffectSsExtra_Update.s") diff --git a/src/overlays/effects/ovl_Effect_Ss_Extra/z_eff_ss_extra.h b/src/overlays/effects/ovl_Effect_Ss_Extra/z_eff_ss_extra.h new file mode 100644 index 0000000000..c278ec9274 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Extra/z_eff_ss_extra.h @@ -0,0 +1,22 @@ +#ifndef _Z64_EFFECT_SS_EXTRA_H_ +#define _Z64_EFFECT_SS_EXTRA_H_ + +#include "global.h" + +typedef enum { + /* 0 */ EXTRA_SCORE_30, + /* 1 */ EXTRA_SCORE_60, + /* 2 */ EXTRA_SCORE_100 +} ExtraScoreIdx; + +typedef struct { + /* 0x00 */ Vec3f pos; + /* 0x0C */ Vec3f velocity; + /* 0x18 */ Vec3f accel; + /* 0x24 */ s16 scale; + /* 0x26 */ s16 scoreIdx; +} EffectSsExtraInitParams; // size = 0x28 + +extern const EffectSsInit Effect_Ss_Extra_InitVars; + +#endif diff --git a/src/overlays/effects/ovl_Effect_Ss_Fhg_Flash/overlay.cfg b/src/overlays/effects/ovl_Effect_Ss_Fhg_Flash/overlay.cfg new file mode 100644 index 0000000000..3b701b7377 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Fhg_Flash/overlay.cfg @@ -0,0 +1,2 @@ +ovl_Effect_Ss_Fhg_Flash +z_eff_ss_fhg_flash.c diff --git a/src/overlays/effects/ovl_Effect_Ss_Fhg_Flash/z_eff_ss_fhg_flash.c b/src/overlays/effects/ovl_Effect_Ss_Fhg_Flash/z_eff_ss_fhg_flash.c new file mode 100644 index 0000000000..36ba13f9d8 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Fhg_Flash/z_eff_ss_fhg_flash.c @@ -0,0 +1,27 @@ +/* + * File: z_eff_ss_fhg_flash.c + * Overlay: ovl_Effect_Ss_Fhg_Flash + * Description: + */ + +#include "z_eff_ss_fhg_flash.h" + +#define PARAMS ((EffectSsFhgFlashInitParams*)initParamsx) + +s32 EffectSsFhgFlash_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void* initParamsx); +void EffectSsFhgFlash_Update(GlobalContext* globalCtx, u32 index, EffectSs* this); +void EffectSsFhgFlash_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this); + +#if 0 +const EffectSsInit Effect_Ss_Fhg_Flash_InitVars = { + EFFECT_SS_FHG_FLASH, + EffectSsFhgFlash_Init, +}; + +#endif + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Fhg_Flash/EffectSsFhgFlash_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Fhg_Flash/EffectSsFhgFlash_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Fhg_Flash/EffectSsFhgFlash_Update.s") diff --git a/src/overlays/effects/ovl_Effect_Ss_Fhg_Flash/z_eff_ss_fhg_flash.h b/src/overlays/effects/ovl_Effect_Ss_Fhg_Flash/z_eff_ss_fhg_flash.h new file mode 100644 index 0000000000..0598377f87 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Fhg_Flash/z_eff_ss_fhg_flash.h @@ -0,0 +1,41 @@ +#ifndef _Z64_EFFECT_SS_FHG_FLASH_H_ +#define _Z64_EFFECT_SS_FHG_FLASH_H_ + +#include "global.h" + +typedef enum { + /* 0x00 */ FHGFLASH_LIGHTBALL, + /* 0x01 */ FHGFLASH_SHOCK +} FhgFlashType; + +typedef enum { + /* 0x00 */ FHGFLASH_LIGHTBALL_GREEN, + /* 0x01 */ FHGFLASH_LIGHTBALL_LIGHTBLUE, + /* 0x02 */ FHGFLASH_LIGHTBALL_RED, + /* 0x03 */ FHGFLASH_LIGHTBALL_YELLOW, + /* 0x04 */ FHGFLASH_LIGHTBALL_BLUE, + /* 0x05 */ FHGFLASH_LIGHTBALL_PURPLE, + /* 0x06 */ FHGFLASH_LIGHTBALL_ORANGE, + /* 0x07 */ FHGFLASH_LIGHTBALL_WHITE1, + /* 0x08 */ FHGFLASH_LIGHTBALL_WHITE2 +} FhgFlashLightBallParam; + +typedef enum { + /* 0x00 */ FHGFLASH_SHOCK_NO_ACTOR, + /* 0x01 */ FHGFLASH_SHOCK_PLAYER, + /* 0x02 */ FHGFLASH_SHOCK_PG +} FhgFlashLightningParam; + +typedef struct { + /* 0x00 */ Vec3f pos; + /* 0x0C */ Vec3f velocity; + /* 0x18 */ Vec3f accel; + /* 0x24 */ s16 scale; + /* 0x26 */ u8 param; + /* 0x28 */ Actor* actor; + /* 0x2C */ u8 type; +} EffectSsFhgFlashInitParams; // size = 0x30 + +extern const EffectSsInit Effect_Ss_Fhg_Flash_InitVars; + +#endif diff --git a/src/overlays/effects/ovl_Effect_Ss_Fire_Tail/overlay.cfg b/src/overlays/effects/ovl_Effect_Ss_Fire_Tail/overlay.cfg new file mode 100644 index 0000000000..233962db36 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Fire_Tail/overlay.cfg @@ -0,0 +1,2 @@ +ovl_Effect_Ss_Fire_Tail +z_eff_ss_fire_tail.c diff --git a/src/overlays/effects/ovl_Effect_Ss_Fire_Tail/z_eff_ss_fire_tail.c b/src/overlays/effects/ovl_Effect_Ss_Fire_Tail/z_eff_ss_fire_tail.c new file mode 100644 index 0000000000..8d900162fe --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Fire_Tail/z_eff_ss_fire_tail.c @@ -0,0 +1,27 @@ +/* + * File: z_eff_ss_fire_tail.c + * Overlay: ovl_Effect_Ss_Fire_Tail + * Description: + */ + +#include "z_eff_ss_fire_tail.h" + +#define PARAMS ((EffectSsFireTailInitParams*)initParamsx) + +s32 EffectSsFireTail_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void* initParamsx); +void EffectSsFireTail_Update(GlobalContext* globalCtx, u32 index, EffectSs* this); +void EffectSsFireTail_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this); + +#if 0 +const EffectSsInit Effect_Ss_Fire_Tail_InitVars = { + EFFECT_SS_FIRE_TAIL, + EffectSsFireTail_Init, +}; + +#endif + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Fire_Tail/EffectSsFireTail_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Fire_Tail/EffectSsFireTail_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Fire_Tail/EffectSsFireTail_Update.s") diff --git a/src/overlays/effects/ovl_Effect_Ss_Fire_Tail/z_eff_ss_fire_tail.h b/src/overlays/effects/ovl_Effect_Ss_Fire_Tail/z_eff_ss_fire_tail.h new file mode 100644 index 0000000000..60fc2a6ef5 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Fire_Tail/z_eff_ss_fire_tail.h @@ -0,0 +1,21 @@ +#ifndef _Z64_EFFECT_SS_FIRE_TAIL_H_ +#define _Z64_EFFECT_SS_FIRE_TAIL_H_ + +#include "global.h" + +typedef struct { + /* 0x00 */ Actor* actor; + /* 0x04 */ Vec3f pos; + /* 0x10 */ f32 scale; + /* 0x14 */ Vec3f unk_14; + /* 0x20 */ s16 unk_20; + /* 0x22 */ Color_RGBA8 primColor; + /* 0x26 */ Color_RGBA8 envColor; + /* 0x2A */ s16 type; + /* 0x2C */ s16 bodyPart; + /* 0x30 */ s32 life; +} EffectSsFireTailInitParams; // size = 0x34 + +extern const EffectSsInit Effect_Ss_Fire_Tail_InitVars; + +#endif diff --git a/src/overlays/effects/ovl_Effect_Ss_G_Fire/overlay.cfg b/src/overlays/effects/ovl_Effect_Ss_G_Fire/overlay.cfg new file mode 100644 index 0000000000..0041d4fac3 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_G_Fire/overlay.cfg @@ -0,0 +1,2 @@ +ovl_Effect_Ss_G_Fire +z_eff_ss_g_fire.c diff --git a/src/overlays/effects/ovl_Effect_Ss_G_Fire/z_eff_ss_g_fire.c b/src/overlays/effects/ovl_Effect_Ss_G_Fire/z_eff_ss_g_fire.c new file mode 100644 index 0000000000..62c9455669 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_G_Fire/z_eff_ss_g_fire.c @@ -0,0 +1,27 @@ +/* + * File: z_eff_ss_g_fire.c + * Overlay: ovl_Effect_Ss_G_Fire + * Description: + */ + +#include "z_eff_ss_g_fire.h" + +#define PARAMS ((EffectSsGFireInitParams*)initParamsx) + +s32 EffectSsGFire_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void* initParamsx); +void EffectSsGFire_Update(GlobalContext* globalCtx, u32 index, EffectSs* this); +void EffectSsGFire_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this); + +#if 0 +const EffectSsInit Effect_Ss_G_Fire_InitVars = { + EFFECT_SS_G_FIRE, + EffectSsGFire_Init, +}; + +#endif + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_G_Fire/EffectSsGFire_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_G_Fire/EffectSsGFire_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_G_Fire/EffectSsGFire_Update.s") diff --git a/src/overlays/effects/ovl_Effect_Ss_G_Fire/z_eff_ss_g_fire.h b/src/overlays/effects/ovl_Effect_Ss_G_Fire/z_eff_ss_g_fire.h new file mode 100644 index 0000000000..574abc976b --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_G_Fire/z_eff_ss_g_fire.h @@ -0,0 +1,12 @@ +#ifndef _Z64_EFFECT_SS_G_FIRE_H_ +#define _Z64_EFFECT_SS_G_FIRE_H_ + +#include "global.h" + +typedef struct { + /* 0x00 */ Vec3f pos; +} EffectSsGFireInitParams; // size = 0xC + +extern const EffectSsInit Effect_Ss_G_Fire_InitVars; + +#endif diff --git a/src/overlays/effects/ovl_Effect_Ss_G_Ripple/overlay.cfg b/src/overlays/effects/ovl_Effect_Ss_G_Ripple/overlay.cfg new file mode 100644 index 0000000000..f5997e9086 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_G_Ripple/overlay.cfg @@ -0,0 +1,2 @@ +ovl_Effect_Ss_G_Ripple +z_eff_ss_g_ripple.c diff --git a/src/overlays/effects/ovl_Effect_Ss_G_Ripple/z_eff_ss_g_ripple.c b/src/overlays/effects/ovl_Effect_Ss_G_Ripple/z_eff_ss_g_ripple.c new file mode 100644 index 0000000000..dbe61ca2fe --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_G_Ripple/z_eff_ss_g_ripple.c @@ -0,0 +1,29 @@ +/* + * File: z_eff_ss_g_ripple.c + * Overlay: ovl_Effect_Ss_G_Ripple + * Description: + */ + +#include "z_eff_ss_g_ripple.h" + +#define PARAMS ((EffectSsGRippleInitParams*)initParamsx) + +s32 EffectSsGRipple_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void* initParamsx); +void EffectSsGRipple_Update(GlobalContext* globalCtx, u32 index, EffectSs* this); +void EffectSsGRipple_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this); + +#if 0 +const EffectSsInit Effect_Ss_G_Ripple_InitVars = { + EFFECT_SS_G_RIPPLE, + EffectSsGRipple_Init, +}; + +#endif + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_G_Ripple/EffectSsGRipple_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_G_Ripple/func_80979C38.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_G_Ripple/EffectSsGRipple_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_G_Ripple/EffectSsGRipple_Update.s") diff --git a/src/overlays/effects/ovl_Effect_Ss_G_Ripple/z_eff_ss_g_ripple.h b/src/overlays/effects/ovl_Effect_Ss_G_Ripple/z_eff_ss_g_ripple.h new file mode 100644 index 0000000000..018fff6beb --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_G_Ripple/z_eff_ss_g_ripple.h @@ -0,0 +1,15 @@ +#ifndef _Z64_EFFECT_SS_G_RIPPLE_H_ +#define _Z64_EFFECT_SS_G_RIPPLE_H_ + +#include "global.h" + +typedef struct { + /* 0x00 */ Vec3f pos; + /* 0x0C */ s16 radius; + /* 0x0E */ s16 radiusMax; + /* 0x10 */ s16 life; +} EffectSsGRippleInitParams; // size = 0x14 + +extern const EffectSsInit Effect_Ss_G_Ripple_InitVars; + +#endif diff --git a/src/overlays/effects/ovl_Effect_Ss_G_Spk/overlay.cfg b/src/overlays/effects/ovl_Effect_Ss_G_Spk/overlay.cfg new file mode 100644 index 0000000000..d49c555de5 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_G_Spk/overlay.cfg @@ -0,0 +1,2 @@ +ovl_Effect_Ss_G_Spk +z_eff_ss_g_spk.c diff --git a/src/overlays/effects/ovl_Effect_Ss_G_Spk/z_eff_ss_g_spk.c b/src/overlays/effects/ovl_Effect_Ss_G_Spk/z_eff_ss_g_spk.c new file mode 100644 index 0000000000..6cb6f18d8b --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_G_Spk/z_eff_ss_g_spk.c @@ -0,0 +1,30 @@ +/* + * File: z_eff_ss_g_spk.c + * Overlay: ovl_Effect_Ss_G_Spk + * Description: + */ + +#include "z_eff_ss_g_spk.h" + +#define PARAMS ((EffectSsGSpkInitParams*)initParamsx) + +s32 EffectSsGSpk_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void* initParamsx); +void func_80978F40(GlobalContext* globalCtx, u32 index, EffectSs* this); +void func_80979068(GlobalContext* globalCtx, u32 index, EffectSs* this); +void EffectSsGSpk_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this); + +#if 0 +const EffectSsInit Effect_Ss_G_Spk_InitVars = { + EFFECT_SS_G_SPK, + EffectSsGSpk_Init, +}; + +#endif + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_G_Spk/EffectSsGSpk_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_G_Spk/EffectSsGSpk_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_G_Spk/func_80978F40.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_G_Spk/func_80979068.s") diff --git a/src/overlays/effects/ovl_Effect_Ss_G_Spk/z_eff_ss_g_spk.h b/src/overlays/effects/ovl_Effect_Ss_G_Spk/z_eff_ss_g_spk.h new file mode 100644 index 0000000000..1d970d3d24 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_G_Spk/z_eff_ss_g_spk.h @@ -0,0 +1,20 @@ +#ifndef _Z64_EFFECT_SS_G_SPK_H_ +#define _Z64_EFFECT_SS_G_SPK_H_ + +#include "global.h" + +typedef struct { + /* 0x00 */ Actor* actor; + /* 0x04 */ Vec3f pos; + /* 0x10 */ Vec3f velocity; + /* 0x1C */ Vec3f accel; + /* 0x28 */ Color_RGBA8 primColor; + /* 0x2C */ Color_RGBA8 envColor; + /* 0x30 */ s16 scale; + /* 0x32 */ s16 scaleStep; + /* 0x34 */ u8 updateMode; +} EffectSsGSpkInitParams; // size = 0x38 + +extern const EffectSsInit Effect_Ss_G_Spk_InitVars; + +#endif diff --git a/src/overlays/effects/ovl_Effect_Ss_G_Splash/overlay.cfg b/src/overlays/effects/ovl_Effect_Ss_G_Splash/overlay.cfg new file mode 100644 index 0000000000..6f49625f8c --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_G_Splash/overlay.cfg @@ -0,0 +1,2 @@ +ovl_Effect_Ss_G_Splash +z_eff_ss_g_splash.c diff --git a/src/overlays/effects/ovl_Effect_Ss_G_Splash/z_eff_ss_g_splash.c b/src/overlays/effects/ovl_Effect_Ss_G_Splash/z_eff_ss_g_splash.c new file mode 100644 index 0000000000..597fce6016 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_G_Splash/z_eff_ss_g_splash.c @@ -0,0 +1,27 @@ +/* + * File: z_eff_ss_g_splash.c + * Overlay: ovl_Effect_Ss_G_Splash + * Description: + */ + +#include "z_eff_ss_g_splash.h" + +#define PARAMS ((EffectSsGSplashInitParams*)initParamsx) + +s32 EffectSsGSplash_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void* initParamsx); +void EffectSsGSplash_Update(GlobalContext* globalCtx, u32 index, EffectSs* this); +void EffectSsGSplash_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this); + +#if 0 +const EffectSsInit Effect_Ss_G_Splash_InitVars = { + EFFECT_SS_G_SPLASH, + EffectSsGSplash_Init, +}; + +#endif + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_G_Splash/EffectSsGSplash_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_G_Splash/EffectSsGSplash_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_G_Splash/EffectSsGSplash_Update.s") diff --git a/src/overlays/effects/ovl_Effect_Ss_G_Splash/z_eff_ss_g_splash.h b/src/overlays/effects/ovl_Effect_Ss_G_Splash/z_eff_ss_g_splash.h new file mode 100644 index 0000000000..7ea4284006 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_G_Splash/z_eff_ss_g_splash.h @@ -0,0 +1,17 @@ +#ifndef _Z64_EFFECT_SS_G_SPLASH_H_ +#define _Z64_EFFECT_SS_G_SPLASH_H_ + +#include "global.h" + +typedef struct { + /* 0x00 */ Vec3f pos; + /* 0x0C */ u8 type; + /* 0x0D */ u8 customColor; + /* 0x0E */ s16 scale; + /* 0x10 */ Color_RGBA8 primColor; + /* 0x14 */ Color_RGBA8 envColor; +} EffectSsGSplashInitParams; // size = 0x18 + +extern const EffectSsInit Effect_Ss_G_Splash_InitVars; + +#endif diff --git a/src/overlays/effects/ovl_Effect_Ss_Hahen/overlay.cfg b/src/overlays/effects/ovl_Effect_Ss_Hahen/overlay.cfg new file mode 100644 index 0000000000..fd5cb9c8fd --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Hahen/overlay.cfg @@ -0,0 +1,2 @@ +ovl_Effect_Ss_Hahen +z_eff_ss_hahen.c diff --git a/src/overlays/effects/ovl_Effect_Ss_Hahen/z_eff_ss_hahen.c b/src/overlays/effects/ovl_Effect_Ss_Hahen/z_eff_ss_hahen.c new file mode 100644 index 0000000000..b187c8f9c7 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Hahen/z_eff_ss_hahen.c @@ -0,0 +1,33 @@ +/* + * File: z_eff_ss_hahen.c + * Overlay: ovl_Effect_Ss_Hahen + * Description: + */ + +#include "z_eff_ss_hahen.h" + +#define PARAMS ((EffectSsHahenInitParams*)initParamsx) + +s32 EffectSsHahen_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void* initParamsx); +void EffectSsHahen_Update(GlobalContext* globalCtx, u32 index, EffectSs* this); +void EffectSsHahen_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this); + +#if 0 +const EffectSsInit Effect_Ss_Hahen_InitVars = { + EFFECT_SS_HAHEN, + EffectSsHahen_Init, +}; + +#endif + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Hahen/func_8097B270.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Hahen/EffectSsHahen_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Hahen/func_8097B424.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Hahen/func_8097B504.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Hahen/EffectSsHahen_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Hahen/EffectSsHahen_Update.s") diff --git a/src/overlays/effects/ovl_Effect_Ss_Hahen/z_eff_ss_hahen.h b/src/overlays/effects/ovl_Effect_Ss_Hahen/z_eff_ss_hahen.h new file mode 100644 index 0000000000..d7a160b4f8 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Hahen/z_eff_ss_hahen.h @@ -0,0 +1,21 @@ +#ifndef _Z64_EFFECT_SS_HAHEN_H_ +#define _Z64_EFFECT_SS_HAHEN_H_ + +#include "global.h" + +#define HAHEN_OBJECT_DEFAULT -1 + +typedef struct { + /* 0x00 */ Vec3f pos; + /* 0x0C */ Vec3f velocity; + /* 0x18 */ Vec3f accel; + /* 0x24 */ Gfx* dList; + /* 0x28 */ s16 unused; + /* 0x2A */ s16 scale; + /* 0x2C */ s16 objId; + /* 0x2C */ s16 life; +} EffectSsHahenInitParams; // size = 0x30 + +extern const EffectSsInit Effect_Ss_Hahen_InitVars; + +#endif diff --git a/src/overlays/effects/ovl_Effect_Ss_Hitmark/overlay.cfg b/src/overlays/effects/ovl_Effect_Ss_Hitmark/overlay.cfg new file mode 100644 index 0000000000..3623bfcfc9 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Hitmark/overlay.cfg @@ -0,0 +1,2 @@ +ovl_Effect_Ss_Hitmark +z_eff_ss_hitmark.c diff --git a/src/overlays/effects/ovl_Effect_Ss_Hitmark/z_eff_ss_hitmark.c b/src/overlays/effects/ovl_Effect_Ss_Hitmark/z_eff_ss_hitmark.c new file mode 100644 index 0000000000..4f221abe44 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Hitmark/z_eff_ss_hitmark.c @@ -0,0 +1,27 @@ +/* + * File: z_eff_ss_hitmark.c + * Overlay: ovl_Effect_Ss_Hitmark + * Description: + */ + +#include "z_eff_ss_hitmark.h" + +#define PARAMS ((EffectSsHitmarkInitParams*)initParamsx) + +s32 EffectSsHitmark_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void* initParamsx); +void EffectSsHitmark_Update(GlobalContext* globalCtx, u32 index, EffectSs* this); +void EffectSsHitmark_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this); + +#if 0 +const EffectSsInit Effect_Ss_Hitmark_InitVars = { + EFFECT_SS_HITMARK, + EffectSsHitmark_Init, +}; + +#endif + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Hitmark/EffectSsHitmark_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Hitmark/EffectSsHitmark_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Hitmark/EffectSsHitmark_Update.s") diff --git a/src/overlays/effects/ovl_Effect_Ss_Hitmark/z_eff_ss_hitmark.h b/src/overlays/effects/ovl_Effect_Ss_Hitmark/z_eff_ss_hitmark.h new file mode 100644 index 0000000000..fe6c54eb0f --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Hitmark/z_eff_ss_hitmark.h @@ -0,0 +1,21 @@ +#ifndef _Z64_EFFECT_SS_HITMARK_H_ +#define _Z64_EFFECT_SS_HITMARK_H_ + +#include "global.h" + +typedef enum { + /* 0 */ EFFECT_HITMARK_WHITE, + /* 1 */ EFFECT_HITMARK_DUST, + /* 2 */ EFFECT_HITMARK_RED, + /* 3 */ EFFECT_HITMARK_METAL +} EffectSsHitmarkType; + +typedef struct { + /* 0x00 */ s32 type; + /* 0x04 */ s16 scale; + /* 0x08 */ Vec3f pos; +} EffectSsHitMarkInitParams; // size = 0x14 + +extern const EffectSsInit Effect_Ss_Hitmark_InitVars; + +#endif diff --git a/src/overlays/effects/ovl_Effect_Ss_Ice_Piece/overlay.cfg b/src/overlays/effects/ovl_Effect_Ss_Ice_Piece/overlay.cfg new file mode 100644 index 0000000000..643644dd74 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Ice_Piece/overlay.cfg @@ -0,0 +1,2 @@ +ovl_Effect_Ss_Ice_Piece +z_eff_ss_ice_piece.c diff --git a/src/overlays/effects/ovl_Effect_Ss_Ice_Piece/z_eff_ss_ice_piece.c b/src/overlays/effects/ovl_Effect_Ss_Ice_Piece/z_eff_ss_ice_piece.c new file mode 100644 index 0000000000..5bd800a203 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Ice_Piece/z_eff_ss_ice_piece.c @@ -0,0 +1,27 @@ +/* + * File: z_eff_ss_ice_piece.c + * Overlay: ovl_Effect_Ss_Ice_Piece + * Description: + */ + +#include "z_eff_ss_ice_piece.h" + +#define PARAMS ((EffectSsIcePieceInitParams*)initParamsx) + +s32 EffectSsIcePiece_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void* initParamsx); +void EffectSsIcePiece_Update(GlobalContext* globalCtx, u32 index, EffectSs* this); +void EffectSsIcePiece_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this); + +#if 0 +const EffectSsInit Effect_Ss_Ice_Piece_InitVars = { + EFFECT_SS_ICE_PIECE, + EffectSsIcePiece_Init, +}; + +#endif + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Ice_Piece/EffectSsIcePiece_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Ice_Piece/EffectSsIcePiece_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Ice_Piece/EffectSsIcePiece_Update.s") diff --git a/src/overlays/effects/ovl_Effect_Ss_Ice_Piece/z_eff_ss_ice_piece.h b/src/overlays/effects/ovl_Effect_Ss_Ice_Piece/z_eff_ss_ice_piece.h new file mode 100644 index 0000000000..2bbe9e4813 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Ice_Piece/z_eff_ss_ice_piece.h @@ -0,0 +1,16 @@ +#ifndef _Z64_EFFECT_SS_ICE_PIECE_H_ +#define _Z64_EFFECT_SS_ICE_PIECE_H_ + +#include "global.h" + +typedef struct { + /* 0x00 */ Vec3f pos; + /* 0x0C */ f32 scale; + /* 0x10 */ Vec3f velocity; + /* 0x1C */ Vec3f accel; + /* 0x28 */ s32 life; +} EffectSsIcePieceInitParams; // size = 0xC + +extern const EffectSsInit Effect_Ss_Ice_Piece_InitVars; + +#endif diff --git a/src/overlays/effects/ovl_Effect_Ss_Ice_Smoke/overlay.cfg b/src/overlays/effects/ovl_Effect_Ss_Ice_Smoke/overlay.cfg new file mode 100644 index 0000000000..854b90889e --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Ice_Smoke/overlay.cfg @@ -0,0 +1,2 @@ +ovl_Effect_Ss_Ice_Smoke +z_eff_ss_ice_smoke.c diff --git a/src/overlays/effects/ovl_Effect_Ss_Ice_Smoke/z_eff_ss_ice_smoke.c b/src/overlays/effects/ovl_Effect_Ss_Ice_Smoke/z_eff_ss_ice_smoke.c new file mode 100644 index 0000000000..71be8c0d6f --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Ice_Smoke/z_eff_ss_ice_smoke.c @@ -0,0 +1,27 @@ +/* + * File: z_eff_ss_ice_smoke.c + * Overlay: ovl_Effect_Ss_Ice_Smoke + * Description: + */ + +#include "z_eff_ss_ice_smoke.h" + +#define PARAMS ((EffectSsIceSmokeInitParams*)initParamsx) + +s32 EffectSsIceSmoke_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void* initParamsx); +void EffectSsIceSmoke_Update(GlobalContext* globalCtx, u32 index, EffectSs* this); +void EffectSsIceSmoke_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this); + +#if 0 +const EffectSsInit Effect_Ss_Ice_Smoke_InitVars = { + EFFECT_SS_ICE_SMOKE, + EffectSsIceSmoke_Init, +}; + +#endif + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Ice_Smoke/EffectSsIceSmoke_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Ice_Smoke/EffectSsIceSmoke_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Ice_Smoke/EffectSsIceSmoke_Update.s") diff --git a/src/overlays/effects/ovl_Effect_Ss_Ice_Smoke/z_eff_ss_ice_smoke.h b/src/overlays/effects/ovl_Effect_Ss_Ice_Smoke/z_eff_ss_ice_smoke.h new file mode 100644 index 0000000000..bc68933117 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Ice_Smoke/z_eff_ss_ice_smoke.h @@ -0,0 +1,15 @@ +#ifndef _Z64_EFFECT_SS_ICE_SMOKE_H_ +#define _Z64_EFFECT_SS_ICE_SMOKE_H_ + +#include "global.h" + +typedef struct { + /* 0x00 */ Vec3f pos; + /* 0x0C */ Vec3f velocity; + /* 0x18 */ Vec3f accel; + /* 0x24 */ s16 scale; +} EffectSsIceSmokeInitParams; // size = 0x28 + +extern const EffectSsInit Effect_Ss_Ice_Smoke_InitVars; + +#endif diff --git a/src/overlays/effects/ovl_Effect_Ss_K_Fire/overlay.cfg b/src/overlays/effects/ovl_Effect_Ss_K_Fire/overlay.cfg new file mode 100644 index 0000000000..0d9080c15c --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_K_Fire/overlay.cfg @@ -0,0 +1,2 @@ +ovl_Effect_Ss_K_Fire +z_eff_ss_k_fire.c diff --git a/src/overlays/effects/ovl_Effect_Ss_K_Fire/z_eff_ss_k_fire.c b/src/overlays/effects/ovl_Effect_Ss_K_Fire/z_eff_ss_k_fire.c new file mode 100644 index 0000000000..b477545c2d --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_K_Fire/z_eff_ss_k_fire.c @@ -0,0 +1,27 @@ +/* + * File: z_eff_ss_k_fire.c + * Overlay: ovl_Effect_Ss_K_Fire + * Description: + */ + +#include "z_eff_ss_k_fire.h" + +#define PARAMS ((EffectSsKFireInitParams*)initParamsx) + +s32 EffectSsKFire_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void* initParamsx); +void EffectSsKFire_Update(GlobalContext* globalCtx, u32 index, EffectSs* this); +void EffectSsKFire_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this); + +#if 0 +const EffectSsInit Effect_Ss_K_Fire_InitVars = { + EFFECT_SS_K_FIRE, + EffectSsKFire_Init, +}; + +#endif + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_K_Fire/EffectSsKFire_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_K_Fire/EffectSsKFire_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_K_Fire/EffectSsKFire_Update.s") diff --git a/src/overlays/effects/ovl_Effect_Ss_K_Fire/z_eff_ss_k_fire.h b/src/overlays/effects/ovl_Effect_Ss_K_Fire/z_eff_ss_k_fire.h new file mode 100644 index 0000000000..23ed053c39 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_K_Fire/z_eff_ss_k_fire.h @@ -0,0 +1,16 @@ +#ifndef _Z64_EFFECT_SS_K_FIRE_H_ +#define _Z64_EFFECT_SS_K_FIRE_H_ + +#include "global.h" + +typedef struct { + /* 0x00 */ Vec3f pos; + /* 0x0C */ Vec3f velocity; + /* 0x18 */ Vec3f accel; + /* 0x24 */ s16 scaleMax; + /* 0x26 */ u8 type; +} EffectSsKFireInitParams; // size = 0x28 + +extern const EffectSsInit Effect_Ss_K_Fire_InitVars; + +#endif diff --git a/src/overlays/effects/ovl_Effect_Ss_Kakera/overlay.cfg b/src/overlays/effects/ovl_Effect_Ss_Kakera/overlay.cfg new file mode 100644 index 0000000000..4a7f62d118 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Kakera/overlay.cfg @@ -0,0 +1,2 @@ +ovl_Effect_Ss_Kakera +z_eff_ss_kakera.c diff --git a/src/overlays/effects/ovl_Effect_Ss_Kakera/z_eff_ss_kakera.c b/src/overlays/effects/ovl_Effect_Ss_Kakera/z_eff_ss_kakera.c new file mode 100644 index 0000000000..e4b3e791d3 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Kakera/z_eff_ss_kakera.c @@ -0,0 +1,57 @@ +/* + * File: z_eff_ss_kakera.c + * Overlay: ovl_Effect_Ss_Kakera + * Description: + */ + +#include "z_eff_ss_kakera.h" + +#define PARAMS ((EffectSsKakeraInitParams*)initParamsx) + +s32 EffectSsKakera_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void* initParamsx); +void EffectSsKakera_Update(GlobalContext* globalCtx, u32 index, EffectSs* this); +void EffectSsKakera_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this); + +#if 0 +const EffectSsInit Effect_Ss_Kakera_InitVars = { + EFFECT_SS_KAKERA, + EffectSsKakera_Init, +}; + +#endif + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Kakera/EffectSsKakera_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Kakera/func_8097DE30.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Kakera/EffectSsKakera_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Kakera/func_8097E130.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Kakera/func_8097E19C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Kakera/func_8097E34C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Kakera/func_8097E368.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Kakera/func_8097E384.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Kakera/func_8097E3C0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Kakera/func_8097E400.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Kakera/func_8097E420.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Kakera/func_8097E4B0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Kakera/func_8097E4F0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Kakera/func_8097E584.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Kakera/func_8097E660.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Kakera/func_8097E698.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Kakera/func_8097E7E0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Kakera/EffectSsKakera_Update.s") diff --git a/src/overlays/effects/ovl_Effect_Ss_Kakera/z_eff_ss_kakera.h b/src/overlays/effects/ovl_Effect_Ss_Kakera/z_eff_ss_kakera.h new file mode 100644 index 0000000000..12135eb7b6 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Kakera/z_eff_ss_kakera.h @@ -0,0 +1,34 @@ +#ifndef _Z64_EFFECT_SS_KAKERA_H_ +#define _Z64_EFFECT_SS_KAKERA_H_ + +#include "global.h" + +#define KAKERA_OBJECT_DEFAULT -1 + +typedef enum { + /* -1 */ KAKERA_COLOR_NONE = -1, + /* 0 */ KAKERA_COLOR_WHITE, + /* 1 */ KAKERA_COLOR_BROWN +} KakeraColorIndex; + +typedef struct { + /* 0x00 */ Vec3f pos; + /* 0x0C */ Vec3f velocity; + /* 0x18 */ Vec3f unk_18; + /* 0x24 */ s16 gravity; + /* 0x26 */ s16 unk_26; + /* 0x28 */ s16 unk_28; + /* 0x2A */ s16 unk_2A; + /* 0x2C */ s16 unk_2C; + /* 0x2E */ s16 scale; + /* 0x30 */ s16 unk_30; + /* 0x32 */ s16 unk_32; + /* 0x34 */ s32 life; + /* 0x38 */ s16 colorIdx; + /* 0x3A */ s16 objId; + /* 0x3C */ Gfx* dList; +} EffectSsKakeraInitParams; // size = 0x40 + +extern const EffectSsInit Effect_Ss_Kakera_InitVars; + +#endif diff --git a/src/overlays/effects/ovl_Effect_Ss_Kirakira/overlay.cfg b/src/overlays/effects/ovl_Effect_Ss_Kirakira/overlay.cfg new file mode 100644 index 0000000000..02edf776c2 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Kirakira/overlay.cfg @@ -0,0 +1,2 @@ +ovl_Effect_Ss_Kirakira +z_eff_ss_kirakira.c diff --git a/src/overlays/effects/ovl_Effect_Ss_Kirakira/z_eff_ss_kirakira.c b/src/overlays/effects/ovl_Effect_Ss_Kirakira/z_eff_ss_kirakira.c new file mode 100644 index 0000000000..b78891a2e0 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Kirakira/z_eff_ss_kirakira.c @@ -0,0 +1,33 @@ +/* + * File: z_eff_ss_kirakira.c + * Overlay: ovl_Effect_Ss_Kirakira + * Description: + */ + +#include "z_eff_ss_kirakira.h" + +#define PARAMS ((EffectSsKirakiraInitParams*)initParamsx) + +s32 EffectSsKirakira_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void* initParamsx); +void func_80977DB4(GlobalContext* globalCtx, u32 index, EffectSs* this); +void func_80977E6C(GlobalContext* globalCtx, u32 index, EffectSs* this); +void func_80977F28(GlobalContext* globalCtx, u32 index, EffectSs* this); +void EffectSsKirakira_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this); + +#if 0 +const EffectSsInit Effect_Ss_Kirakira_InitVars = { + EFFECT_SS_KIRAKIRA, + EffectSsKirakira_Init, +}; + +#endif + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Kirakira/EffectSsKirakira_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Kirakira/EffectSsKirakira_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Kirakira/func_80977DB4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Kirakira/func_80977E6C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Kirakira/func_80977F28.s") diff --git a/src/overlays/effects/ovl_Effect_Ss_Kirakira/z_eff_ss_kirakira.h b/src/overlays/effects/ovl_Effect_Ss_Kirakira/z_eff_ss_kirakira.h new file mode 100644 index 0000000000..c3020f590b --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Kirakira/z_eff_ss_kirakira.h @@ -0,0 +1,22 @@ +#ifndef _Z64_EFFECT_SS_KIRAKIRA_H_ +#define _Z64_EFFECT_SS_KIRAKIRA_H_ + +#include "global.h" + +typedef struct { + /* 0x00 */ Vec3f pos; + /* 0x0C */ Vec3f velocity; + /* 0x18 */ Vec3f accel; + /* 0x24 */ Color_RGBA8 primColor; + /* 0x28 */ Color_RGBA8 envColor; + /* 0x2C */ s16 alphaStep; + /* 0x2E */ s16 scale; + /* 0x30 */ s32 life; + /* 0x34 */ s16 rotSpeed; + /* 0x36 */ s16 yaw; + /* 0x38 */ u8 updateMode; +} EffectSsKiraKiraInitParams; // size = 0x3C + +extern const EffectSsInit Effect_Ss_Kirakira_InitVars; + +#endif diff --git a/src/overlays/effects/ovl_Effect_Ss_Lightning/overlay.cfg b/src/overlays/effects/ovl_Effect_Ss_Lightning/overlay.cfg new file mode 100644 index 0000000000..b698e915ff --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Lightning/overlay.cfg @@ -0,0 +1,2 @@ +ovl_Effect_Ss_Lightning +z_eff_ss_lightning.c diff --git a/src/overlays/effects/ovl_Effect_Ss_Lightning/z_eff_ss_lightning.c b/src/overlays/effects/ovl_Effect_Ss_Lightning/z_eff_ss_lightning.c new file mode 100644 index 0000000000..ad2ef29a58 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Lightning/z_eff_ss_lightning.c @@ -0,0 +1,29 @@ +/* + * File: z_eff_ss_lightning.c + * Overlay: ovl_Effect_Ss_Lightning + * Description: + */ + +#include "z_eff_ss_lightning.h" + +#define PARAMS ((EffectSsLightningInitParams*)initParamsx) + +s32 EffectSsLightning_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void* initParamsx); +void EffectSsLightning_Update(GlobalContext* globalCtx, u32 index, EffectSs* this); +void EffectSsLightning_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this); + +#if 0 +const EffectSsInit Effect_Ss_Lightning_InitVars = { + EFFECT_SS_LIGHTNING, + EffectSsLightning_Init, +}; + +#endif + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Lightning/EffectSsLightning_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Lightning/func_8097A794.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Lightning/EffectSsLightning_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Lightning/EffectSsLightning_Update.s") diff --git a/src/overlays/effects/ovl_Effect_Ss_Lightning/z_eff_ss_lightning.h b/src/overlays/effects/ovl_Effect_Ss_Lightning/z_eff_ss_lightning.h new file mode 100644 index 0000000000..35ef380b99 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Lightning/z_eff_ss_lightning.h @@ -0,0 +1,18 @@ +#ifndef _Z64_EFFECT_SS_LIGHTNING_H_ +#define _Z64_EFFECT_SS_LIGHTNING_H_ + +#include "global.h" + +typedef struct { + /* 0x00 */ Vec3f pos; + /* 0x0C */ Color_RGBA8 primColor; + /* 0x10 */ Color_RGBA8 envColor; + /* 0x14 */ s16 scale; + /* 0x16 */ s16 yaw; + /* 0x18 */ s16 life; + /* 0x1A */ s16 numBolts; +} EffectSsLightningInitParams; // size = 0x1C + +extern const EffectSsInit Effect_Ss_Lightning_InitVars; + +#endif diff --git a/src/overlays/effects/ovl_Effect_Ss_Sbn/overlay.cfg b/src/overlays/effects/ovl_Effect_Ss_Sbn/overlay.cfg new file mode 100644 index 0000000000..c958b3df5d --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Sbn/overlay.cfg @@ -0,0 +1,2 @@ +ovl_Effect_Ss_Sbn +z_eff_ss_sbn.c diff --git a/src/overlays/effects/ovl_Effect_Ss_Sbn/z_eff_ss_sbn.c b/src/overlays/effects/ovl_Effect_Ss_Sbn/z_eff_ss_sbn.c new file mode 100644 index 0000000000..b09dca0142 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Sbn/z_eff_ss_sbn.c @@ -0,0 +1,30 @@ +/* + * File: z_eff_ss_sbn.c + * Overlay: ovl_Effect_Ss_Sbn + * Description: + */ + +#include "z_eff_ss_sbn.h" + +#define PARAMS ((EffectSsSbnInitParams*)initParamsx) + +s32 EffectSsSbn_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void* initParamsx); +void EffectSsSbn_Update(GlobalContext* globalCtx, u32 index, EffectSs* this); +void func_80AC8ECC(GlobalContext* globalCtx, u32 index, EffectSs* this); +void func_80AC9164(GlobalContext* globalCtx, u32 index, EffectSs* this); + +#if 0 +const EffectSsInit Effect_Ss_Sbn_InitVars = { + EFFECT_SS_SBN, + EffectSsSbn_Init, +}; + +#endif + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Sbn/EffectSsSbn_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Sbn/func_80AC8ECC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Sbn/func_80AC9164.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Sbn/EffectSsSbn_Update.s") diff --git a/src/overlays/effects/ovl_Effect_Ss_Sbn/z_eff_ss_sbn.h b/src/overlays/effects/ovl_Effect_Ss_Sbn/z_eff_ss_sbn.h new file mode 100644 index 0000000000..40c3d693cd --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Sbn/z_eff_ss_sbn.h @@ -0,0 +1,12 @@ +#ifndef _Z64_EFFECT_SS_SBN_H_ +#define _Z64_EFFECT_SS_SBN_H_ + +#include "global.h" + +typedef struct { + char unk_0[UNK_SIZE]; +} EffectSsSbnInitParams; // size = ? + +extern const EffectSsInit Effect_Ss_Sbn_InitVars; + +#endif diff --git a/src/overlays/effects/ovl_Effect_Ss_Sibuki/overlay.cfg b/src/overlays/effects/ovl_Effect_Ss_Sibuki/overlay.cfg new file mode 100644 index 0000000000..66dfae07c4 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Sibuki/overlay.cfg @@ -0,0 +1,2 @@ +ovl_Effect_Ss_Sibuki +z_eff_ss_sibuki.c diff --git a/src/overlays/effects/ovl_Effect_Ss_Sibuki/z_eff_ss_sibuki.c b/src/overlays/effects/ovl_Effect_Ss_Sibuki/z_eff_ss_sibuki.c new file mode 100644 index 0000000000..6d2d4c6dd9 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Sibuki/z_eff_ss_sibuki.c @@ -0,0 +1,27 @@ +/* + * File: z_eff_ss_sibuki.c + * Overlay: ovl_Effect_Ss_Sibuki + * Description: + */ + +#include "z_eff_ss_sibuki.h" + +#define PARAMS ((EffectSsSibukiInitParams*)initParamsx) + +s32 EffectSsSibuki_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void* initParamsx); +void EffectSsSibuki_Update(GlobalContext* globalCtx, u32 index, EffectSs* this); +void EffectSsSibuki_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this); + +#if 0 +const EffectSsInit Effect_Ss_Sibuki_InitVars = { + EFFECT_SS_SIBUKI, + EffectSsSibuki_Init, +}; + +#endif + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Sibuki/EffectSsSibuki_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Sibuki/EffectSsSibuki_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Sibuki/EffectSsSibuki_Update.s") diff --git a/src/overlays/effects/ovl_Effect_Ss_Sibuki/z_eff_ss_sibuki.h b/src/overlays/effects/ovl_Effect_Ss_Sibuki/z_eff_ss_sibuki.h new file mode 100644 index 0000000000..9efe7c77a8 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Sibuki/z_eff_ss_sibuki.h @@ -0,0 +1,17 @@ +#ifndef _Z64_EFFECT_SS_SIBUKI_H_ +#define _Z64_EFFECT_SS_SIBUKI_H_ + +#include "global.h" + +typedef struct { + /* 0x00 */ Vec3f pos; + /* 0x0C */ Vec3f velocity; + /* 0x18 */ Vec3f accel; + /* 0x24 */ s16 moveDelay; + /* 0x26 */ s16 direction; + /* 0x28 */ s16 scale; +} EffectSsSibukiInitParams; // size = 0x2C + +extern const EffectSsInit Effect_Ss_Sibuki_InitVars; + +#endif diff --git a/src/overlays/effects/ovl_Effect_Ss_Solder_Srch_Ball/overlay.cfg b/src/overlays/effects/ovl_Effect_Ss_Solder_Srch_Ball/overlay.cfg new file mode 100644 index 0000000000..82cde43688 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Solder_Srch_Ball/overlay.cfg @@ -0,0 +1,2 @@ +ovl_Effect_Ss_Solder_Srch_Ball +z_eff_ss_solder_srch_ball.c diff --git a/src/overlays/effects/ovl_Effect_Ss_Solder_Srch_Ball/z_eff_ss_solder_srch_ball.c b/src/overlays/effects/ovl_Effect_Ss_Solder_Srch_Ball/z_eff_ss_solder_srch_ball.c new file mode 100644 index 0000000000..c96684f0df --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Solder_Srch_Ball/z_eff_ss_solder_srch_ball.c @@ -0,0 +1,27 @@ +/* + * File: z_eff_ss_solder_srch_ball.c + * Overlay: ovl_Effect_Ss_Solder_Srch_Ball + * Description: + */ + +#include "z_eff_ss_solder_srch_ball.h" + +#define PARAMS ((EffectSsSolderSrchBallInitParams*)initParamsx) + +s32 EffectSsSolderSrchBall_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void* initParamsx); +void EffectSsSolderSrchBall_Update(GlobalContext* globalCtx, u32 index, EffectSs* this); +void EffectSsSolderSrchBall_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this); + +#if 0 +const EffectSsInit Effect_Ss_Solder_Srch_Ball_InitVars = { + EFFECT_SS_SOLDER_SRCH_BALL, + EffectSsSolderSrchBall_Init, +}; + +#endif + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Solder_Srch_Ball/EffectSsSolderSrchBall_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Solder_Srch_Ball/EffectSsSolderSrchBall_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Solder_Srch_Ball/EffectSsSolderSrchBall_Update.s") diff --git a/src/overlays/effects/ovl_Effect_Ss_Solder_Srch_Ball/z_eff_ss_solder_srch_ball.h b/src/overlays/effects/ovl_Effect_Ss_Solder_Srch_Ball/z_eff_ss_solder_srch_ball.h new file mode 100644 index 0000000000..24b9f47fcc --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Solder_Srch_Ball/z_eff_ss_solder_srch_ball.h @@ -0,0 +1,17 @@ +#ifndef _Z64_EFFECT_SS_SOLDER_SRCH_BALL_H_ +#define _Z64_EFFECT_SS_SOLDER_SRCH_BALL_H_ + +#include "global.h" + +typedef struct { + /* 0x00 */ Vec3f pos; + /* 0x0C */ Vec3f velocity; + /* 0x18 */ Vec3f accel; + /* 0x24 */ s16 unused; + /* 0x28 */ s16* linkDetected; + /* 0x2C */ s16 drawFlag; +} EffectSsSolderSrchBallInitParams; // size = 0x30 + +extern const EffectSsInit Effect_Ss_Solder_Srch_Ball_InitVars; + +#endif diff --git a/src/overlays/effects/ovl_Effect_Ss_Stick/overlay.cfg b/src/overlays/effects/ovl_Effect_Ss_Stick/overlay.cfg new file mode 100644 index 0000000000..5f691232a2 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Stick/overlay.cfg @@ -0,0 +1,2 @@ +ovl_Effect_Ss_Stick +z_eff_ss_stick.c diff --git a/src/overlays/effects/ovl_Effect_Ss_Stick/z_eff_ss_stick.c b/src/overlays/effects/ovl_Effect_Ss_Stick/z_eff_ss_stick.c new file mode 100644 index 0000000000..2b4feda09e --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Stick/z_eff_ss_stick.c @@ -0,0 +1,27 @@ +/* + * File: z_eff_ss_stick.c + * Overlay: ovl_Effect_Ss_Stick + * Description: + */ + +#include "z_eff_ss_stick.h" + +#define PARAMS ((EffectSsStickInitParams*)initParamsx) + +s32 EffectSsStick_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void* initParamsx); +void EffectSsStick_Update(GlobalContext* globalCtx, u32 index, EffectSs* this); +void EffectSsStick_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this); + +#if 0 +const EffectSsInit Effect_Ss_Stick_InitVars = { + EFFECT_SS_STICK, + EffectSsStick_Init, +}; + +#endif + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Stick/EffectSsStick_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Stick/EffectSsStick_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Stick/EffectSsStick_Update.s") diff --git a/src/overlays/effects/ovl_Effect_Ss_Stick/z_eff_ss_stick.h b/src/overlays/effects/ovl_Effect_Ss_Stick/z_eff_ss_stick.h new file mode 100644 index 0000000000..ec43b41bfb --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Stick/z_eff_ss_stick.h @@ -0,0 +1,13 @@ +#ifndef _Z64_EFFECT_SS_STICK_H_ +#define _Z64_EFFECT_SS_STICK_H_ + +#include "global.h" + +typedef struct { + /* 0x00 */ Vec3f pos; + /* 0x0C */ s16 yaw; +} EffectSsStickInitParams; // size = 0x10 + +extern const EffectSsInit Effect_Ss_Stick_InitVars; + +#endif diff --git a/src/overlays/effects/ovl_Effect_Ss_Stone1/overlay.cfg b/src/overlays/effects/ovl_Effect_Ss_Stone1/overlay.cfg new file mode 100644 index 0000000000..a6706c0140 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Stone1/overlay.cfg @@ -0,0 +1,2 @@ +ovl_Effect_Ss_Stone1 +z_eff_ss_stone1.c diff --git a/src/overlays/effects/ovl_Effect_Ss_Stone1/z_eff_ss_stone1.c b/src/overlays/effects/ovl_Effect_Ss_Stone1/z_eff_ss_stone1.c new file mode 100644 index 0000000000..714ce0b8ca --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Stone1/z_eff_ss_stone1.c @@ -0,0 +1,27 @@ +/* + * File: z_eff_ss_stone1.c + * Overlay: ovl_Effect_Ss_Stone1 + * Description: + */ + +#include "z_eff_ss_stone1.h" + +#define PARAMS ((EffectSsStone1InitParams*)initParamsx) + +s32 EffectSsStone1_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void* initParamsx); +void EffectSsStone1_Update(GlobalContext* globalCtx, u32 index, EffectSs* this); +void EffectSsStone1_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this); + +#if 0 +const EffectSsInit Effect_Ss_Stone1_InitVars = { + EFFECT_SS_STONE1, + EffectSsStone1_Init, +}; + +#endif + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Stone1/EffectSsStone1_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Stone1/EffectSsStone1_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Effect_Ss_Stone1/EffectSsStone1_Update.s") diff --git a/src/overlays/effects/ovl_Effect_Ss_Stone1/z_eff_ss_stone1.h b/src/overlays/effects/ovl_Effect_Ss_Stone1/z_eff_ss_stone1.h new file mode 100644 index 0000000000..566811a8a5 --- /dev/null +++ b/src/overlays/effects/ovl_Effect_Ss_Stone1/z_eff_ss_stone1.h @@ -0,0 +1,13 @@ +#ifndef _Z64_EFFECT_SS_STONE1_H_ +#define _Z64_EFFECT_SS_STONE1_H_ + +#include "global.h" + +typedef struct { + /* 0x00 */ Vec3f pos; + /* 0x00 */ s32 unk_C; +} EffectSsStone1InitParams; // size = 0x10 + +extern const EffectSsInit Effect_Ss_Stone1_InitVars; + +#endif diff --git a/src/overlays/fbdemos/ovl_fbdemo_triforce/overlay.cfg b/src/overlays/fbdemos/ovl_fbdemo_triforce/overlay.cfg new file mode 100644 index 0000000000..d5f678c11f --- /dev/null +++ b/src/overlays/fbdemos/ovl_fbdemo_triforce/overlay.cfg @@ -0,0 +1,2 @@ +ovl_fbdemo_triforce +z_fbdemo_triforce.c diff --git a/src/overlays/fbdemos/ovl_fbdemo_triforce/z_fbdemo_triforce.c b/src/overlays/fbdemos/ovl_fbdemo_triforce/z_fbdemo_triforce.c new file mode 100644 index 0000000000..268f8e1a6e --- /dev/null +++ b/src/overlays/fbdemos/ovl_fbdemo_triforce/z_fbdemo_triforce.c @@ -0,0 +1,49 @@ +/* + * File: z_fbdemo_triforce.c + * Overlay: ovl_fbdemo_triforce + * Description: + */ + +#include "z_fbdemo_triforce.h" + +void* TransitionTriforce_Init(void* thisx); +void TransitionTriforce_Destroy(void* thisx); +void TransitionTriforce_Update(void* thisx, s32 updateRate); +void TransitionTriforce_Draw(void* thisx, Gfx** gfxP); +void TransitionTriforce_Start(void* thisx); +void TransitionTriforce_SetType(void* thisx, s32 type); +void TransitionTriforce_SetColor(void* thisx, u32 color); +s32 TransitionTriforce_IsDone(void* thisx); + +#if 0 +const TransitionInit TransitionTriforce_InitVars = { + TransitionTriforce_Init, + TransitionTriforce_Destroy, + TransitionTriforce_Update, + TransitionTriforce_Draw, + TransitionTriforce_Start, + TransitionTriforce_SetType, + TransitionTriforce_SetColor, + NULL, + TransitionTriforce_IsDone, +}; + +#endif + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_triforce/TransitionTriforce_Start.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_triforce/TransitionTriforce_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_triforce/TransitionTriforce_Destroy.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_triforce/TransitionTriforce_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_triforce/TransitionTriforce_SetColor.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_triforce/TransitionTriforce_SetType.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_triforce/func_80AC5280.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_triforce/TransitionTriforce_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_triforce/TransitionTriforce_IsDone.s") diff --git a/src/overlays/fbdemos/ovl_fbdemo_triforce/z_fbdemo_triforce.h b/src/overlays/fbdemos/ovl_fbdemo_triforce/z_fbdemo_triforce.h new file mode 100644 index 0000000000..7d7dcae561 --- /dev/null +++ b/src/overlays/fbdemos/ovl_fbdemo_triforce/z_fbdemo_triforce.h @@ -0,0 +1,12 @@ +#ifndef Z_FBDEMO_TRIFORCE_H +#define Z_FBDEMO_TRIFORCE_H + +#include "global.h" + +typedef struct { + /* 0x0000 */ char unk_0[0x1E0]; +} TransitionTriforce; // size = 0x1E0 + +extern const TransitionInit TransitionTriforce_InitVars; + +#endif diff --git a/src/overlays/fbdemos/ovl_fbdemo_wipe1/overlay.cfg b/src/overlays/fbdemos/ovl_fbdemo_wipe1/overlay.cfg new file mode 100644 index 0000000000..5b3efc6add --- /dev/null +++ b/src/overlays/fbdemos/ovl_fbdemo_wipe1/overlay.cfg @@ -0,0 +1,2 @@ +ovl_fbdemo_wipe1 +z_fbdemo_wipe1.c diff --git a/src/overlays/fbdemos/ovl_fbdemo_wipe1/z_fbdemo_wipe1.c b/src/overlays/fbdemos/ovl_fbdemo_wipe1/z_fbdemo_wipe1.c new file mode 100644 index 0000000000..560d341f20 --- /dev/null +++ b/src/overlays/fbdemos/ovl_fbdemo_wipe1/z_fbdemo_wipe1.c @@ -0,0 +1,50 @@ +/* + * File: z_fbdemo_wipe1.c + * Overlay: ovl_fbdemo_wipe1 + * Description: + */ + +#include "z_fbdemo_wipe1.h" + +void* TransitionWipe1_Init(void* thisx); +void TransitionWipe1_Destroy(void* thisx); +void TransitionWipe1_Update(void* thisx, s32 updateRate); +void TransitionWipe1_Draw(void* thisx, Gfx** gfxP); +void TransitionWipe1_Start(void* thisx); +void TransitionWipe1_SetType(void* thisx, s32 type); +void TransitionWipe1_SetColor(void* thisx, u32 color); +void TransitionWipe1_SetEnvColor(void* thisx, u32 color); +s32 TransitionWipe1_IsDone(void* thisx); + +#if 0 +const TransitionInit TransitionWipe1_InitVars = { + TransitionWipe1_Init, + TransitionWipe1_Destroy, + TransitionWipe1_Update, + TransitionWipe1_Draw, + TransitionWipe1_Start, + TransitionWipe1_SetType, + TransitionWipe1_SetColor, + TransitionWipe1_SetEnvColor, + TransitionWipe1_IsDone, +}; + +#endif + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe1/TransitionWipe1_Start.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe1/TransitionWipe1_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe1/TransitionWipe1_Destroy.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe1/TransitionWipe1_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe1/TransitionWipe1_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe1/TransitionWipe1_IsDone.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe1/TransitionWipe1_SetType.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe1/TransitionWipe1_SetColor.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe1/TransitionWipe1_SetEnvColor.s") diff --git a/src/overlays/fbdemos/ovl_fbdemo_wipe1/z_fbdemo_wipe1.h b/src/overlays/fbdemos/ovl_fbdemo_wipe1/z_fbdemo_wipe1.h new file mode 100644 index 0000000000..fe70e724b4 --- /dev/null +++ b/src/overlays/fbdemos/ovl_fbdemo_wipe1/z_fbdemo_wipe1.h @@ -0,0 +1,12 @@ +#ifndef Z_FBDEMO_WIPE1_H +#define Z_FBDEMO_WIPE1_H + +#include "global.h" + +typedef struct { + /* 0x0000 */ char unk_0[0x218]; +} TransitionWipe1; // size = 0x218 + +extern const TransitionInit TransitionWipe1_InitVars; + +#endif diff --git a/src/overlays/fbdemos/ovl_fbdemo_wipe3/overlay.cfg b/src/overlays/fbdemos/ovl_fbdemo_wipe3/overlay.cfg new file mode 100644 index 0000000000..73258114b9 --- /dev/null +++ b/src/overlays/fbdemos/ovl_fbdemo_wipe3/overlay.cfg @@ -0,0 +1,2 @@ +ovl_fbdemo_wipe3 +z_fbdemo_wipe3.c diff --git a/src/overlays/fbdemos/ovl_fbdemo_wipe3/z_fbdemo_wipe3.c b/src/overlays/fbdemos/ovl_fbdemo_wipe3/z_fbdemo_wipe3.c new file mode 100644 index 0000000000..bbd488642f --- /dev/null +++ b/src/overlays/fbdemos/ovl_fbdemo_wipe3/z_fbdemo_wipe3.c @@ -0,0 +1,52 @@ +/* + * File: z_fbdemo_wipe3.c + * Overlay: ovl_fbdemo_wipe3 + * Description: + */ + +#include "z_fbdemo_wipe3.h" + +void* TransitionWipe3_Init(void* thisx); +void TransitionWipe3_Destroy(void* thisx); +void TransitionWipe3_Update(void* thisx, s32 updateRate); +void TransitionWipe3_Draw(void* thisx, Gfx** gfxP); +void TransitionWipe3_Start(void* thisx); +void TransitionWipe3_SetType(void* thisx, s32 type); +void TransitionWipe3_SetColor(void* thisx, u32 color); +void TransitionWipe3_SetEnvColor(void* thisx, u32 color); +s32 TransitionWipe3_IsDone(void* thisx); + +#if 0 +const TransitionInit TransitionWipe3_InitVars = { + TransitionWipe3_Init, + TransitionWipe3_Destroy, + TransitionWipe3_Update, + TransitionWipe3_Draw, + TransitionWipe3_Start, + TransitionWipe3_SetType, + TransitionWipe3_SetColor, + TransitionWipe3_SetEnvColor, + TransitionWipe3_IsDone, +}; + +#endif + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe3/TransitionWipe3_Start.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe3/TransitionWipe3_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe3/TransitionWipe3_Destroy.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe3/func_80AC68B4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe3/TransitionWipe3_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe3/TransitionWipe3_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe3/TransitionWipe3_IsDone.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe3/TransitionWipe3_SetType.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe3/TransitionWipe3_SetColor.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe3/TransitionWipe3_SetEnvColor.s") diff --git a/src/overlays/fbdemos/ovl_fbdemo_wipe3/z_fbdemo_wipe3.h b/src/overlays/fbdemos/ovl_fbdemo_wipe3/z_fbdemo_wipe3.h new file mode 100644 index 0000000000..f74f86a613 --- /dev/null +++ b/src/overlays/fbdemos/ovl_fbdemo_wipe3/z_fbdemo_wipe3.h @@ -0,0 +1,12 @@ +#ifndef Z_FBDEMO_WIPE3_H +#define Z_FBDEMO_WIPE3_H + +#include "global.h" + +typedef struct { + /* 0x0000 */ char unk_0[0x120]; +} TransitionWipe3; // size = 0x120 + +extern const TransitionInit TransitionWipe3_InitVars; + +#endif diff --git a/src/overlays/fbdemos/ovl_fbdemo_wipe4/overlay.cfg b/src/overlays/fbdemos/ovl_fbdemo_wipe4/overlay.cfg new file mode 100644 index 0000000000..e18ed98587 --- /dev/null +++ b/src/overlays/fbdemos/ovl_fbdemo_wipe4/overlay.cfg @@ -0,0 +1,2 @@ +ovl_fbdemo_wipe4 +z_fbdemo_wipe4.c diff --git a/src/overlays/fbdemos/ovl_fbdemo_wipe4/z_fbdemo_wipe4.c b/src/overlays/fbdemos/ovl_fbdemo_wipe4/z_fbdemo_wipe4.c new file mode 100644 index 0000000000..49dd027c85 --- /dev/null +++ b/src/overlays/fbdemos/ovl_fbdemo_wipe4/z_fbdemo_wipe4.c @@ -0,0 +1,50 @@ +/* + * File: z_fbdemo_wipe4.c + * Overlay: ovl_fbdemo_wipe4 + * Description: + */ + +#include "z_fbdemo_wipe4.h" + +void* TransitionWipe4_Init(void* thisx); +void TransitionWipe4_Destroy(void* thisx); +void TransitionWipe4_Update(void* thisx, s32 updateRate); +void TransitionWipe4_Draw(void* thisx, Gfx** gfxP); +void TransitionWipe4_Start(void* thisx); +void TransitionWipe4_SetType(void* thisx, s32 type); +void TransitionWipe4_SetColor(void* thisx, u32 color); +void TransitionWipe4_SetEnvColor(void* thisx, u32 color); +s32 TransitionWipe4_IsDone(void* thisx); + +#if 0 +const TransitionInit TransitionWipe4_InitVars = { + TransitionWipe4_Init, + TransitionWipe4_Destroy, + TransitionWipe4_Update, + TransitionWipe4_Draw, + TransitionWipe4_Start, + TransitionWipe4_SetType, + TransitionWipe4_SetColor, + TransitionWipe4_SetEnvColor, + TransitionWipe4_IsDone, +}; + +#endif + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe4/TransitionWipe4_Start.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe4/TransitionWipe4_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe4/TransitionWipe4_Destroy.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe4/TransitionWipe4_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe4/TransitionWipe4_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe4/TransitionWipe4_IsDone.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe4/TransitionWipe4_SetType.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe4/TransitionWipe4_SetColor.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe4/TransitionWipe4_SetEnvColor.s") diff --git a/src/overlays/fbdemos/ovl_fbdemo_wipe4/z_fbdemo_wipe4.h b/src/overlays/fbdemos/ovl_fbdemo_wipe4/z_fbdemo_wipe4.h new file mode 100644 index 0000000000..60296230ed --- /dev/null +++ b/src/overlays/fbdemos/ovl_fbdemo_wipe4/z_fbdemo_wipe4.h @@ -0,0 +1,12 @@ +#ifndef Z_FBDEMO_WIPE4_H +#define Z_FBDEMO_WIPE4_H + +#include "global.h" + +typedef struct { + /* 0x0000 */ char unk_0[0x28]; +} TransitionWipe4; // size = 0x28 + +extern const TransitionInit TransitionWipe4_InitVars; + +#endif diff --git a/src/overlays/fbdemos/ovl_fbdemo_wipe5/overlay.cfg b/src/overlays/fbdemos/ovl_fbdemo_wipe5/overlay.cfg new file mode 100644 index 0000000000..297aa770c7 --- /dev/null +++ b/src/overlays/fbdemos/ovl_fbdemo_wipe5/overlay.cfg @@ -0,0 +1,2 @@ +ovl_fbdemo_wipe5 +z_fbdemo_wipe5.c diff --git a/src/overlays/fbdemos/ovl_fbdemo_wipe5/z_fbdemo_wipe5.c b/src/overlays/fbdemos/ovl_fbdemo_wipe5/z_fbdemo_wipe5.c new file mode 100644 index 0000000000..4c27fe134a --- /dev/null +++ b/src/overlays/fbdemos/ovl_fbdemo_wipe5/z_fbdemo_wipe5.c @@ -0,0 +1,52 @@ +/* + * File: z_fbdemo_wipe5.c + * Overlay: ovl_fbdemo_wipe5 + * Description: + */ + +#include "z_fbdemo_wipe5.h" + +void* TransitionWipe5_Init(void* thisx); +void TransitionWipe5_Destroy(void* thisx); +void TransitionWipe5_Update(void* thisx, s32 updateRate); +void TransitionWipe5_Draw(void* thisx, Gfx** gfxP); +void TransitionWipe5_Start(void* thisx); +void TransitionWipe5_SetType(void* thisx, s32 type); +void TransitionWipe5_SetColor(void* thisx, u32 color); +void TransitionWipe5_SetEnvColor(void* thisx, u32 color); +s32 TransitionWipe5_IsDone(void* thisx); + +#if 0 +const TransitionInit TransitionWipe5_InitVars = { + TransitionWipe5_Init, + TransitionWipe5_Destroy, + TransitionWipe5_Update, + TransitionWipe5_Draw, + TransitionWipe5_Start, + TransitionWipe5_SetType, + TransitionWipe5_SetColor, + TransitionWipe5_SetEnvColor, + TransitionWipe5_IsDone, +}; + +#endif + +extern UNK_TYPE D_0F000000; + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe5/TransitionWipe5_Start.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe5/TransitionWipe5_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe5/TransitionWipe5_Destroy.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe5/TransitionWipe5_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe5/TransitionWipe5_Draw.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe5/TransitionWipe5_IsDone.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe5/TransitionWipe5_SetType.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe5/TransitionWipe5_SetColor.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe5/TransitionWipe5_SetEnvColor.s") diff --git a/src/overlays/fbdemos/ovl_fbdemo_wipe5/z_fbdemo_wipe5.h b/src/overlays/fbdemos/ovl_fbdemo_wipe5/z_fbdemo_wipe5.h new file mode 100644 index 0000000000..d8ffe06164 --- /dev/null +++ b/src/overlays/fbdemos/ovl_fbdemo_wipe5/z_fbdemo_wipe5.h @@ -0,0 +1,12 @@ +#ifndef Z_FBDEMO_WIPE5_H +#define Z_FBDEMO_WIPE5_H + +#include "global.h" + +typedef struct { + /* 0x0000 */ char unk_0[0x14]; +} TransitionWipe5; // size = 0x14 + +extern const TransitionInit TransitionWipe5_InitVars; + +#endif diff --git a/src/overlays/gamestates/ovl_daytelop/overlay.cfg b/src/overlays/gamestates/ovl_daytelop/overlay.cfg new file mode 100644 index 0000000000..3766a9b419 --- /dev/null +++ b/src/overlays/gamestates/ovl_daytelop/overlay.cfg @@ -0,0 +1,2 @@ +ovl_daytelop +z_daytelop.c diff --git a/src/overlays/gamestates/ovl_daytelop/z_daytelop.c b/src/overlays/gamestates/ovl_daytelop/z_daytelop.c new file mode 100644 index 0000000000..c6b9078a4d --- /dev/null +++ b/src/overlays/gamestates/ovl_daytelop/z_daytelop.c @@ -0,0 +1,22 @@ +/* + * File: z_daytelop.c + * Overlay: ovl_daytelop + * Description: + */ + +#include "z_daytelop.h" + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_daytelop/Daytelop_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_daytelop/Daytelop_Draw.s") + +void Daytelop_Main(GameState* thisx); +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_daytelop/Daytelop_Main.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_daytelop/Daytelop_Destroy.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_daytelop/Daytelop_nop80815770.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_daytelop/Daytelop_LoadGraphics.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_daytelop/Daytelop_Init.s") diff --git a/src/overlays/gamestates/ovl_daytelop/z_daytelop.h b/src/overlays/gamestates/ovl_daytelop/z_daytelop.h new file mode 100644 index 0000000000..d2788e0e9e --- /dev/null +++ b/src/overlays/gamestates/ovl_daytelop/z_daytelop.h @@ -0,0 +1,20 @@ +#ifndef _Z64_DAYTELOP_H_ +#define _Z64_DAYTELOP_H_ + +#include "global.h" + +void Daytelop_Init(GameState* thisx); +void Daytelop_Destroy(GameState* thisx); + +typedef struct { + /* 0x000 */ GameState common; + /* 0x0A4 */ UNK_TYPE1 padA4[0xC]; + /* 0x0B0 */ View view; + /* 0x218 */ UNK_TYPE1 pad218[0x28]; + /* 0x240 */ s16 transitionCountdown; + /* 0x242 */ s16 unk242; + /* 0x244 */ s16 unk244; + /* 0x246 */ UNK_TYPE1 pad246[0x2]; +} DaytelopContext; // size = 0x248 + +#endif diff --git a/src/overlays/gamestates/ovl_file_choose/overlay.cfg b/src/overlays/gamestates/ovl_file_choose/overlay.cfg new file mode 100644 index 0000000000..b187241613 --- /dev/null +++ b/src/overlays/gamestates/ovl_file_choose/overlay.cfg @@ -0,0 +1,4 @@ +ovl_file_choose +z_file_nameset_NES.c +z_file_choose_80807940.c +z_file_choose_NES.c diff --git a/src/overlays/gamestates/ovl_file_choose/z_file_choose.h b/src/overlays/gamestates/ovl_file_choose/z_file_choose.h new file mode 100644 index 0000000000..bae203c680 --- /dev/null +++ b/src/overlays/gamestates/ovl_file_choose/z_file_choose.h @@ -0,0 +1,102 @@ +#ifndef _Z64_FILE_CHOOSE_H_ +#define _Z64_FILE_CHOOSE_H_ + +#include "global.h" + +void FileChoose_Init(GameState* thisx); +void FileChoose_Destroy(GameState* thisx); + +typedef struct { + /* 0x00000 */ GameState state; + /* 0x000A8 */ u8* staticSegment; + /* 0x000AC */ u8* parameterSegment; + /* 0x000B0 */ u8* titleSegment; + /* 0x000B8 */ View view; + /* 0x00220 */ SramContext sramCtx; + /* 0x00248 */ SkyboxContext skyboxCtx; + /* 0x00470 */ MessageContext msgCtx; + /* 0x12550 */ Font font; + /* 0x242E0 */ EnvironmentContext envCtx; + /* 0x243E0 */ Vtx* unk_243E0; + /* 0x243E4 */ Vtx* unk_243E4; + /* 0x243E8 */ Vtx* unk_243E8; + /* 0x243EC */ Vtx* unk_243EC; + /* 0x243F0 */ Vtx* unk_243F0; + /* 0x243F4 */ u8 newf[6][4]; + /* 0x2440C */ u16 unk_2440C[4]; + /* 0x24414 */ u8 unk_24414[8][4]; + /* 0x24434 */ s16 healthCapacity[4]; + /* 0x2443C */ s16 health[4]; + /* 0x24444 */ u32 unk_24444[4]; + /* 0x24454 */ s8 unk_24454[4]; + /* 0x24458 */ u16 unk_24458[4]; + /* 0x24460 */ s16 unk_24460[4]; + /* 0x24468 */ u8 unk_24468[4]; + /* 0x2446C */ s16 rupees[4]; + /* 0x24474 */ u8 unk_24474[4]; + /* 0x24478 */ u8 unk_24478[4]; + /* 0x2447C */ u8 unk_2447C[4]; + /* 0x24480 */ s16 unk_24480; + /* 0x24482 */ s16 unk_24482; + /* 0x24484 */ s16 unk_24484; + /* 0x24486 */ s16 unk_24486; + /* 0x24488 */ s16 unk_24488; + /* 0x2448A */ s16 unk_2448A; + /* 0x2448C */ s16 unk_2448C; + /* 0x2448E */ s16 unk_2448E; + /* 0x24490 */ s16 unk_24490; + /* 0x24492 */ s16 unk_24492[3]; + /* 0x24498 */ s16 unk_24498; + /* 0x2449A */ s16 unk_2449A[6]; + /* 0x244A6 */ s16 unk_244A6; + /* 0x244A8 */ s16 unk_244A8; + /* 0x244AA */ s16 unk_244AA; + /* 0x244AC */ s16 unk_244AC; + /* 0x244AE */ s16 unk_244AE; + /* 0x244B0 */ s16 unk_244B0[3]; + /* 0x244B6 */ s16 unk_244B6[2]; + /* 0x244BA */ s16 unk_244BA; + /* 0x244BC */ s16 unk_244BC[3]; + /* 0x244C2 */ s16 unk_244C2[3]; + /* 0x244C8 */ s16 unk_244C8[3]; + /* 0x244CE */ s16 unk_244CE[3]; + /* 0x244D4 */ s16 unk_244D4[3]; + /* 0x244DA */ s16 unk_244DA[4]; + /* 0x244E2 */ s16 unk_244E2; + /* 0x244E4 */ s16 unk_244E4; + /* 0x244E6 */ s16 unk_244E6; + /* 0x244E8 */ s16 unk_244E8; + /* 0x244EA */ s16 unk_244EA[4]; + /* 0x244F2 */ s16 unk_244F2; + /* 0x244F4 */ s16 unk_244F4; + /* 0x244F6 */ s16 unk_244F6[2]; + /* 0x244FA */ s16 unk_244FA; + /* 0x244FC */ s16 unk_244FC; + /* 0x244FE */ s16 unk_244FE; + /* 0x24500 */ s16 unk_24500; + /* 0x24502 */ s16 unk_24502; + /* 0x24504 */ s16 unk_24504; + /* 0x24506 */ s16 unk_24506; + /* 0x24508 */ s16 unk_24508; + /* 0x2450A */ s16 unk_2450A; + /* 0x2450C */ f32 unk_2450C; + /* 0x24510 */ s16 unk_24510; + /* 0x24512 */ s16 unk_24512; + /* 0x24514 */ s16 unk_24514; + /* 0x24516 */ s16 unk_24516; + /* 0x24518 */ s16 unk_24518; + /* 0x2451A */ s16 unk_2451A; + /* 0x2451C */ s16 unk_2451C; + /* 0x2451E */ s16 unk_2451E[5]; + /* 0x24528 */ s16 unk_24528; + /* 0x2452A */ s16 unk_2452A; + /* 0x2452C */ s16 unk_2452C[4]; + /* 0x24534 */ s16 unk_24534[4]; + /* 0x2453C */ s16 unk_2453C[4]; + /* 0x24544 */ s16 unk_24544[4]; + /* 0x2454C */ s16 unk_2454C; + /* 0x2454E */ s16 unk_2454E; + /* 0x24550 */ s16 unk_24550; +} FileChooseContext; // size = 0x24558 + +#endif diff --git a/src/overlays/gamestates/ovl_file_choose/z_file_choose_80807940.c b/src/overlays/gamestates/ovl_file_choose/z_file_choose_80807940.c new file mode 100644 index 0000000000..91293528a4 --- /dev/null +++ b/src/overlays/gamestates/ovl_file_choose/z_file_choose_80807940.c @@ -0,0 +1,43 @@ +/* + * File: z_file_choose_80807940.c + * Overlay: ovl_file_choose + * Description: + */ + +#include "z_file_choose.h" + +extern UNK_TYPE D_01002800; +extern UNK_TYPE D_01007980; +extern UNK_TYPE D_0102A6B0; +extern UNK_TYPE D_0102B170; +extern UNK_TYPE D_010310F0; +extern UNK_TYPE D_010311F0; +extern UNK_TYPE D_0E0002E0; + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_80807940.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_80807A78.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_80807C58.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_80808214.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_80808D30.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_80808F1C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_80809DF0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_80809EA0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_8080A3CC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_8080A418.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_8080A4A0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_8080A6BC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_8080A708.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_8080BBFC.s") diff --git a/src/overlays/gamestates/ovl_file_choose/z_file_choose_NES.c b/src/overlays/gamestates/ovl_file_choose/z_file_choose_NES.c new file mode 100644 index 0000000000..2e116dd6be --- /dev/null +++ b/src/overlays/gamestates/ovl_file_choose/z_file_choose_NES.c @@ -0,0 +1,94 @@ +/* + * File: z_file_choose_NES.c + * Overlay: ovl_file_choose + * Description: + */ + +#include "z_file_choose.h" + +extern UNK_TYPE D_01002800; +extern UNK_TYPE D_01007980; +extern UNK_TYPE D_0102A6B0; +extern UNK_TYPE D_0102B170; +extern UNK_TYPE D_010310F0; +extern UNK_TYPE D_010311F0; +extern UNK_TYPE D_0E0002E0; + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_8080BC20.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/FileChoose_nop8080bc44.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/FileChoose_nop8080BC4C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_8080BC58.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_8080BDAC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/FileChoose_RenderView.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_8080BE60.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_8080C040.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_8080C228.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_8080C29C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_8080C324.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_8080C3A8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_8080D164.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_8080D170.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_8080D1BC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_8080D220.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_8080D284.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_8080D2EC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_8080D3D0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_8080D40C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_8080D6D4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_8080F25C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_808108DC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_80811CB8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_80812460.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_80812668.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_80812760.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_80812840.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_80812980.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_80812A6C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_80812D44.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_80812D94.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_80812E94.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_80812ED0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/FileChoose_UpdateAndDrawSkybox.s") + +void FileChoose_Main(GameState* thisx); +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/FileChoose_Main.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_80813908.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/FileChoose_Destroy.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/FileChoose_Init.s") diff --git a/src/overlays/gamestates/ovl_file_choose/z_file_nameset_NES.c b/src/overlays/gamestates/ovl_file_choose/z_file_nameset_NES.c new file mode 100644 index 0000000000..65d528464b --- /dev/null +++ b/src/overlays/gamestates/ovl_file_choose/z_file_nameset_NES.c @@ -0,0 +1,75 @@ +/* + * File: z_file_nameset_NES.c + * Overlay: ovl_file_choose + * Description: + */ + +#include "z_file_choose.h" + +extern UNK_TYPE D_01002800; +extern UNK_TYPE D_01007980; +extern UNK_TYPE D_0102A6B0; +extern UNK_TYPE D_0102B170; +extern UNK_TYPE D_010310F0; +extern UNK_TYPE D_010311F0; +extern UNK_TYPE D_0E0002E0; + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_80804010.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_808041A0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_80804654.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_808047D8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_8080489C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_80804DAC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_80804E74.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_80804F98.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_8080525C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_808052B0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_808054A4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_808055D0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_808058A4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_80805918.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_80805A58.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_80805B30.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_80805C1C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_80806014.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_80806148.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_80806310.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_808067E0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_80806BC8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_80806CA0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_80806E84.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_80806F30.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_808071E4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_80807390.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_8080742C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_808074B4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_file_choose/func_808077AC.s") diff --git a/src/overlays/gamestates/ovl_opening/overlay.cfg b/src/overlays/gamestates/ovl_opening/overlay.cfg new file mode 100644 index 0000000000..6366c3afd5 --- /dev/null +++ b/src/overlays/gamestates/ovl_opening/overlay.cfg @@ -0,0 +1,2 @@ +ovl_opening +z_opening.c diff --git a/src/overlays/gamestates/ovl_opening/z_opening.c b/src/overlays/gamestates/ovl_opening/z_opening.c new file mode 100644 index 0000000000..e086158fc9 --- /dev/null +++ b/src/overlays/gamestates/ovl_opening/z_opening.c @@ -0,0 +1,18 @@ +/* + * File: z_opening.c + * Overlay: ovl_opening + * Description: + */ + +#include "z_opening.h" + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_opening/Opening_SetupForTitleCutscene.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_opening/func_80803EA0.s") + +void Opening_Main(GameState* thisx); +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_opening/Opening_Main.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_opening/Opening_Destroy.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_opening/Opening_Init.s") diff --git a/src/overlays/gamestates/ovl_opening/z_opening.h b/src/overlays/gamestates/ovl_opening/z_opening.h new file mode 100644 index 0000000000..81a12f6309 --- /dev/null +++ b/src/overlays/gamestates/ovl_opening/z_opening.h @@ -0,0 +1,15 @@ +#ifndef _Z64_OPENING_H_ +#define _Z64_OPENING_H_ + +#include "global.h" + +void Opening_Init(GameState* thisx); +void Opening_Destroy(GameState* thisx); + +typedef struct { + /* 0x000 */ GameState common; + /* 0x0A4 */ UNK_TYPE1 padA4[0x4]; + /* 0x0A8 */ View view; +} OpeningContext; // size = 0x210 + +#endif diff --git a/src/overlays/gamestates/ovl_select/overlay.cfg b/src/overlays/gamestates/ovl_select/overlay.cfg new file mode 100644 index 0000000000..5250bd7fb7 --- /dev/null +++ b/src/overlays/gamestates/ovl_select/overlay.cfg @@ -0,0 +1,2 @@ +ovl_select +z_select.c diff --git a/src/overlays/gamestates/ovl_select/z_select.c b/src/overlays/gamestates/ovl_select/z_select.c new file mode 100644 index 0000000000..20484f13b1 --- /dev/null +++ b/src/overlays/gamestates/ovl_select/z_select.c @@ -0,0 +1,40 @@ +/* + * File: z_select.c + * Overlay: ovl_select + * Description: + */ + +#include "z_select.h" + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_select/D_80802390.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_select/func_80800910.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_select/func_80800930.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_select/func_80800A44.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_select/func_808013B8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_select/D_8080343C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_select/func_80801594.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_select/D_80803588.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_select/func_80801620.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_select/func_808016E8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_select/func_8080194C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_select/func_808019FC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_select/func_80801A64.s") + +void Select_Main(GameState* thisx); +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_select/Select_Main.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_select/Select_Destroy.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_select/Select_Init.s") diff --git a/src/overlays/gamestates/ovl_select/z_select.h b/src/overlays/gamestates/ovl_select/z_select.h new file mode 100644 index 0000000000..14e0023e1c --- /dev/null +++ b/src/overlays/gamestates/ovl_select/z_select.h @@ -0,0 +1,14 @@ +#ifndef _Z64_SELECT_H_ +#define _Z64_SELECT_H_ + +#include "global.h" + +void Select_Init(GameState* thisx); +void Select_Destroy(GameState* thisx); + +typedef struct { + GameState state; + char unk_A4[0x1DC]; +} SelectContext; // size = 0x280 + +#endif diff --git a/src/overlays/gamestates/ovl_title/overlay.cfg b/src/overlays/gamestates/ovl_title/overlay.cfg new file mode 100644 index 0000000000..11343031f7 --- /dev/null +++ b/src/overlays/gamestates/ovl_title/overlay.cfg @@ -0,0 +1,2 @@ +ovl_title +z_title.c diff --git a/src/overlays/gamestates/ovl_title/z_title.c b/src/overlays/gamestates/ovl_title/z_title.c new file mode 100644 index 0000000000..0d67be5927 --- /dev/null +++ b/src/overlays/gamestates/ovl_title/z_title.c @@ -0,0 +1,22 @@ +/* + * File: z_title.c + * Overlay: ovl_title + * Description: + */ + +#include "z_title.h" + +extern UNK_TYPE D_01002720; + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_title/Title_UpdateCounters.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_title/Title_RenderView.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_title/Title_Draw.s") + +void Title_Main(GameState* thisx); +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_title/Title_Main.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_title/Title_Destroy.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_title/Title_Init.s") diff --git a/src/overlays/gamestates/ovl_title/z_title.h b/src/overlays/gamestates/ovl_title/z_title.h new file mode 100644 index 0000000000..a3005f0040 --- /dev/null +++ b/src/overlays/gamestates/ovl_title/z_title.h @@ -0,0 +1,24 @@ +#ifndef _Z64_TITLE_H_ +#define _Z64_TITLE_H_ + +#include "global.h" + +void Title_Init(GameState* thisx); +void Title_Destroy(GameState* thisx); + +typedef struct { + /* 0x000 */ GameState state; + /* 0x0A4 */ u8* staticSegment; + /* 0x0A8 */ View view; + /* 0x210 */ SramContext sramCtx; + /* 0x238 */ s16 mode; + /* 0x23A */ s16 timer; + /* 0x23C */ s16 coverAlpha; + /* 0x23E */ s16 addAlpha; + /* 0x240 */ s16 visibleDuration; + /* 0x242 */ s16 ult; + /* 0x244 */ s16 uls; + /* 0x246 */ u8 exit; +} TitleContext; // size = 0x248 + +#endif diff --git a/src/overlays/kaleido_scope/ovl_kaleido_scope/overlay.cfg b/src/overlays/kaleido_scope/ovl_kaleido_scope/overlay.cfg new file mode 100644 index 0000000000..c35d945184 --- /dev/null +++ b/src/overlays/kaleido_scope/ovl_kaleido_scope/overlay.cfg @@ -0,0 +1,7 @@ +ovl_kaleido_scope +z_kaleido_collect.c +z_kaleido_debug.c +z_kaleido_item.c +z_kaleido_map.c +z_kaleido_mask.c +z_kaleido_scope_NES.c diff --git a/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_collect.c b/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_collect.c new file mode 100644 index 0000000000..aaa7c9fc6c --- /dev/null +++ b/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_collect.c @@ -0,0 +1,23 @@ +/* + * File: z_kaleido_collect.c + * Overlay: ovl_kaleido_scope + * Description: + */ + +#include "z_kaleido_scope.h" + +extern UNK_TYPE D_02001360; +extern UNK_TYPE D_020044A0; +extern UNK_TYPE D_02004AA0; +extern UNK_TYPE D_0200B998; +extern UNK_TYPE D_08062000; +extern UNK_TYPE D_08064340; +extern UNK_TYPE D_0B000000; +extern UNK_TYPE D_0C000000; +extern UNK_TYPE D_0C006C00; + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_808160A0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_80817B5C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_80818904.s") diff --git a/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_debug.c b/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_debug.c new file mode 100644 index 0000000000..99928bb167 --- /dev/null +++ b/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_debug.c @@ -0,0 +1,25 @@ +/* + * File: z_kaleido_debug.c + * Overlay: ovl_kaleido_scope + * Description: + */ + +#include "z_kaleido_scope.h" + +extern UNK_TYPE D_02001360; +extern UNK_TYPE D_020044A0; +extern UNK_TYPE D_02004AA0; +extern UNK_TYPE D_0200B998; +extern UNK_TYPE D_08062000; +extern UNK_TYPE D_08064340; +extern UNK_TYPE D_0B000000; +extern UNK_TYPE D_0C000000; +extern UNK_TYPE D_0C006C00; + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_80818920.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_808190C4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_80819238.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_80819F04.s") diff --git a/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_item.c b/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_item.c new file mode 100644 index 0000000000..11d0b1207b --- /dev/null +++ b/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_item.c @@ -0,0 +1,27 @@ +/* + * File: z_kaleido_item.c + * Overlay: ovl_kaleido_scope + * Description: + */ + +#include "z_kaleido_scope.h" + +extern UNK_TYPE D_02001360; +extern UNK_TYPE D_020044A0; +extern UNK_TYPE D_02004AA0; +extern UNK_TYPE D_0200B998; +extern UNK_TYPE D_08062000; +extern UNK_TYPE D_08064340; +extern UNK_TYPE D_0B000000; +extern UNK_TYPE D_0C000000; +extern UNK_TYPE D_0C006C00; + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_8081B240.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_8081B6BC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_8081B6EC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_8081BCA8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_8081C684.s") diff --git a/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_map.c b/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_map.c new file mode 100644 index 0000000000..83869bd101 --- /dev/null +++ b/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_map.c @@ -0,0 +1,27 @@ +/* + * File: z_kaleido_map.c + * Overlay: ovl_kaleido_scope + * Description: + */ + +#include "z_kaleido_scope.h" + +extern UNK_TYPE D_02001360; +extern UNK_TYPE D_020044A0; +extern UNK_TYPE D_02004AA0; +extern UNK_TYPE D_0200B998; +extern UNK_TYPE D_08062000; +extern UNK_TYPE D_08064340; +extern UNK_TYPE D_0B000000; +extern UNK_TYPE D_0C000000; +extern UNK_TYPE D_0C006C00; + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_8081D240.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_8081D6DC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_8081E118.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_8081E7D8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_8081FB1C.s") diff --git a/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_mask.c b/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_mask.c new file mode 100644 index 0000000000..04fa566e3c --- /dev/null +++ b/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_mask.c @@ -0,0 +1,25 @@ +/* + * File: z_kaleido_mask.c + * Overlay: ovl_kaleido_scope + * Description: + */ + +#include "z_kaleido_scope.h" + +extern UNK_TYPE D_02001360; +extern UNK_TYPE D_020044A0; +extern UNK_TYPE D_02004AA0; +extern UNK_TYPE D_0200B998; +extern UNK_TYPE D_08062000; +extern UNK_TYPE D_08064340; +extern UNK_TYPE D_0B000000; +extern UNK_TYPE D_0C000000; +extern UNK_TYPE D_0C006C00; + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_8081FF80.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_808204AC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_80820FA4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_80821730.s") diff --git a/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_scope.h b/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_scope.h new file mode 100644 index 0000000000..91c6b044d8 --- /dev/null +++ b/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_scope.h @@ -0,0 +1,8 @@ +#ifndef _Z64_KALEIDO_SCOPE_H_ +#define _Z64_KALEIDO_SCOPE_H_ + +#include "global.h" + + + +#endif diff --git a/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_scope_NES.c b/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_scope_NES.c new file mode 100644 index 0000000000..e2fdb18c4d --- /dev/null +++ b/src/overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_scope_NES.c @@ -0,0 +1,69 @@ +/* + * File: z_kaleido_scope_NES.c + * Overlay: ovl_kaleido_scope + * Description: + */ + +#include "z_kaleido_scope.h" + +extern UNK_TYPE D_02001360; +extern UNK_TYPE D_020044A0; +extern UNK_TYPE D_02004AA0; +extern UNK_TYPE D_0200B998; +extern UNK_TYPE D_08062000; +extern UNK_TYPE D_08064340; +extern UNK_TYPE D_0B000000; +extern UNK_TYPE D_0C000000; +extern UNK_TYPE D_0C006C00; + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_80821900.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_8082192C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_80821958.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_80821984.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_80821A04.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_80821AD4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_80821CC4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_80821D84.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_80821F30.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_808221DC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_80823350.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_80824738.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_808248D0.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_80824B90.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_808256E4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_8082585C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_808259D4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_80825A50.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_80825E28.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_808274DC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_80827A8C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_80827E08.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_808283D8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_808286D8.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_80828788.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_kaleido_scope/func_8082895C.s") diff --git a/src/sintable.h b/src/sintable.h deleted file mode 100644 index 607f85062d..0000000000 --- a/src/sintable.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef _SINTABLE_H_ -#define _SINTABLE_H_ - -static short sintable[1024]; - -#endif diff --git a/sym_info.py b/sym_info.py index beeadd5c37..a2d6fe234e 100755 --- a/sym_info.py +++ b/sym_info.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 -import os.path import argparse +import os.path parser = argparse.ArgumentParser( description="Display various information about a symbol or address." diff --git a/tables/dmadata_table.txt b/tables/dmadata_table.txt deleted file mode 100644 index c4761183a1..0000000000 --- a/tables/dmadata_table.txt +++ /dev/null @@ -1,1571 +0,0 @@ -# Follows the format of (File Path (blank if it's a null entry), Compressed File Path (if compressed), Alignment, Size (for a null entry)) -[ - ('build/baserom/makerom', '', 0x10, 0), - ('build/baserom/boot', '', 0x10, 0), - ('build/uncompressed_dmadata', 'build/dmadata', 0x10, 0), - ('build/baserom/assets/audio/Audiobank', '', 0x10, 0), - ('build/baserom/assets/audio/Audioseq', '', 0x10, 0), - ('build/baserom/assets/audio/Audiotable', '', 0x10, 0), - ('build/baserom/assets/textures/kanji', '', 0x10, 0), - ('build/baserom/assets/misc/link_animetion', '', 0x1000, 0), - ('', '', 0x1000, 0x95EC0), - ('', '', 0x1000, 0x7700), - ('build/baserom/assets/textures/icon_item_field_static', 'build/comp/assets/textures/icon_item_field_static.yaz0', 0x1000, 0), - ('build/baserom/assets/textures/icon_item_dungeon_static', 'build/comp/assets/textures/icon_item_dungeon_static.yaz0', 0x1000, 0), - ('build/baserom/assets/textures/icon_item_gameover_static', 'build/comp/assets/textures/icon_item_gameover_static.yaz0', 0x1000, 0), - ('build/baserom/assets/textures/icon_item_jpn_static', 'build/comp/assets/textures/icon_item_jpn_static.yaz0', 0x1000, 0), - ('build/baserom/assets/textures/icon_item_vtx_static', 'build/comp/assets/textures/icon_item_vtx_static.yaz0', 0x1000, 0), - ('build/baserom/assets/textures/map_i_static', '', 0x1000, 0), - ('build/baserom/assets/textures/map_grand_static', '', 0x10, 0), - ('build/baserom/assets/textures/item_name_static', '', 0x10, 0), - ('build/baserom/assets/textures/map_name_static', '', 0x10, 0), - ('build/baserom/assets/textures/icon_item_static_test', '', 0x10, 0), - ('build/baserom/assets/textures/icon_item_24_static_test', '', 0x10, 0), - ('', '', 0x10, 0xB220), - ('build/baserom/assets/textures/schedule_dma_static_test', '', 0x1000, 0), - ('build/baserom/assets/textures/schedule_static', 'build/comp/assets/textures/schedule_static.yaz0', 0x10, 0), - ('build/baserom/assets/textures/story_static', 'build/comp/assets/textures/story_static.yaz0', 0x1000, 0), - ('build/baserom/assets/textures/do_action_static', '', 0x1000, 0), - ('build/baserom/assets/textures/message_static', '', 0x1000, 0), - ('build/baserom/assets/textures/message_texture_static', '', 0x1000, 0), - ('build/baserom/assets/textures/nes_font_static', '', 0x1000, 0), - ('build/baserom/assets/textures/message_data_static', '', 0x1000, 0), - ('build/baserom/assets/textures/staff_message_data_static', '', 0x1000, 0), - ('build/binary/code', 'build/comp/code.yaz0', 0x1000, 0), - ('build/binary/overlays/ovl_title', 'build/comp/overlays/ovl_title.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_select', 'build/comp/overlays/ovl_select.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_opening', 'build/comp/overlays/ovl_opening.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_file_choose', 'build/comp/overlays/ovl_file_choose.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_daytelop', 'build/comp/overlays/ovl_daytelop.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_kaleido_scope', 'build/comp/overlays/ovl_kaleido_scope.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Player_Actor', 'build/comp/overlays/ovl_Player_Actor.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Test', 'build/comp/overlays/ovl_En_Test.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_GirlA', 'build/comp/overlays/ovl_En_GirlA.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Part', 'build/comp/overlays/ovl_En_Part.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Light', 'build/comp/overlays/ovl_En_Light.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Door', 'build/comp/overlays/ovl_En_Door.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Box', 'build/comp/overlays/ovl_En_Box.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Pametfrog', 'build/comp/overlays/ovl_En_Pametfrog.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Okuta', 'build/comp/overlays/ovl_En_Okuta.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Bom', 'build/comp/overlays/ovl_En_Bom.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Wallmas', 'build/comp/overlays/ovl_En_Wallmas.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Dodongo', 'build/comp/overlays/ovl_En_Dodongo.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Firefly', 'build/comp/overlays/ovl_En_Firefly.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Horse', 'build/comp/overlays/ovl_En_Horse.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Arrow', 'build/comp/overlays/ovl_En_Arrow.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Elf', 'build/comp/overlays/ovl_En_Elf.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Niw', 'build/comp/overlays/ovl_En_Niw.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Tite', 'build/comp/overlays/ovl_En_Tite.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Peehat', 'build/comp/overlays/ovl_En_Peehat.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Holl', 'build/comp/overlays/ovl_En_Holl.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Dinofos', 'build/comp/overlays/ovl_En_Dinofos.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Hata', 'build/comp/overlays/ovl_En_Hata.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Zl1', 'build/comp/overlays/ovl_En_Zl1.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Viewer', 'build/comp/overlays/ovl_En_Viewer.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Bubble', 'build/comp/overlays/ovl_En_Bubble.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Door_Shutter', 'build/comp/overlays/ovl_Door_Shutter.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Boom', 'build/comp/overlays/ovl_En_Boom.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Torch2', 'build/comp/overlays/ovl_En_Torch2.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Minifrog', 'build/comp/overlays/ovl_En_Minifrog.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_St', 'build/comp/overlays/ovl_En_St.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Wturn', 'build/comp/overlays/ovl_Obj_Wturn.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_River_Sound', 'build/comp/overlays/ovl_En_River_Sound.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Ossan', 'build/comp/overlays/ovl_En_Ossan.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Famos', 'build/comp/overlays/ovl_En_Famos.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Bombf', 'build/comp/overlays/ovl_En_Bombf.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Am', 'build/comp/overlays/ovl_En_Am.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Dekubaba', 'build/comp/overlays/ovl_En_Dekubaba.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_M_Fire1', 'build/comp/overlays/ovl_En_M_Fire1.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_M_Thunder', 'build/comp/overlays/ovl_En_M_Thunder.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Breakwall', 'build/comp/overlays/ovl_Bg_Breakwall.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Door_Warp1', 'build/comp/overlays/ovl_Door_Warp1.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Syokudai', 'build/comp/overlays/ovl_Obj_Syokudai.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Item_B_Heart', 'build/comp/overlays/ovl_Item_B_Heart.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Dekunuts', 'build/comp/overlays/ovl_En_Dekunuts.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Bbfall', 'build/comp/overlays/ovl_En_Bbfall.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Arms_Hook', 'build/comp/overlays/ovl_Arms_Hook.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Bb', 'build/comp/overlays/ovl_En_Bb.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Keikoku_Spr', 'build/comp/overlays/ovl_Bg_Keikoku_Spr.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Wood02', 'build/comp/overlays/ovl_En_Wood02.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Death', 'build/comp/overlays/ovl_En_Death.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Minideath', 'build/comp/overlays/ovl_En_Minideath.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Vm', 'build/comp/overlays/ovl_En_Vm.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Demo_Effect', 'build/comp/overlays/ovl_Demo_Effect.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Demo_Kankyo', 'build/comp/overlays/ovl_Demo_Kankyo.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Floormas', 'build/comp/overlays/ovl_En_Floormas.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Rd', 'build/comp/overlays/ovl_En_Rd.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_F40_Flift', 'build/comp/overlays/ovl_Bg_F40_Flift.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Mure', 'build/comp/overlays/ovl_Obj_Mure.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Sw', 'build/comp/overlays/ovl_En_Sw.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Object_Kankyo', 'build/comp/overlays/ovl_Object_Kankyo.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Horse_Link_Child', 'build/comp/overlays/ovl_En_Horse_Link_Child.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Door_Ana', 'build/comp/overlays/ovl_Door_Ana.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Encount1', 'build/comp/overlays/ovl_En_Encount1.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Demo_Tre_Lgt', 'build/comp/overlays/ovl_Demo_Tre_Lgt.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Encount2', 'build/comp/overlays/ovl_En_Encount2.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Fire_Rock', 'build/comp/overlays/ovl_En_Fire_Rock.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Ctower_Rot', 'build/comp/overlays/ovl_Bg_Ctower_Rot.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Mir_Ray', 'build/comp/overlays/ovl_Mir_Ray.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Sb', 'build/comp/overlays/ovl_En_Sb.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Bigslime', 'build/comp/overlays/ovl_En_Bigslime.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Karebaba', 'build/comp/overlays/ovl_En_Karebaba.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_In', 'build/comp/overlays/ovl_En_In.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Bom_Chu', 'build/comp/overlays/ovl_En_Bom_Chu.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Horse_Game_Check', 'build/comp/overlays/ovl_En_Horse_Game_Check.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Rr', 'build/comp/overlays/ovl_En_Rr.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Fr', 'build/comp/overlays/ovl_En_Fr.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Fishing', 'build/comp/overlays/ovl_En_Fishing.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Oshihiki', 'build/comp/overlays/ovl_Obj_Oshihiki.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Eff_Dust', 'build/comp/overlays/ovl_Eff_Dust.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Umajump', 'build/comp/overlays/ovl_Bg_Umajump.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Insect', 'build/comp/overlays/ovl_En_Insect.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Butte', 'build/comp/overlays/ovl_En_Butte.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Fish', 'build/comp/overlays/ovl_En_Fish.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Item_Etcetera', 'build/comp/overlays/ovl_Item_Etcetera.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Arrow_Fire', 'build/comp/overlays/ovl_Arrow_Fire.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Arrow_Ice', 'build/comp/overlays/ovl_Arrow_Ice.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Arrow_Light', 'build/comp/overlays/ovl_Arrow_Light.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Kibako', 'build/comp/overlays/ovl_Obj_Kibako.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Tsubo', 'build/comp/overlays/ovl_Obj_Tsubo.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Ik', 'build/comp/overlays/ovl_En_Ik.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Demo_Shd', 'build/comp/overlays/ovl_Demo_Shd.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Dns', 'build/comp/overlays/ovl_En_Dns.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Elf_Msg', 'build/comp/overlays/ovl_Elf_Msg.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Honotrap', 'build/comp/overlays/ovl_En_Honotrap.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Tubo_Trap', 'build/comp/overlays/ovl_En_Tubo_Trap.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Ice_Poly', 'build/comp/overlays/ovl_Obj_Ice_Poly.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Fz', 'build/comp/overlays/ovl_En_Fz.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Kusa', 'build/comp/overlays/ovl_En_Kusa.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Bean', 'build/comp/overlays/ovl_Obj_Bean.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Bombiwa', 'build/comp/overlays/ovl_Obj_Bombiwa.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Switch', 'build/comp/overlays/ovl_Obj_Switch.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Lift', 'build/comp/overlays/ovl_Obj_Lift.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Hsblock', 'build/comp/overlays/ovl_Obj_Hsblock.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Okarina_Tag', 'build/comp/overlays/ovl_En_Okarina_Tag.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Goroiwa', 'build/comp/overlays/ovl_En_Goroiwa.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Daiku', 'build/comp/overlays/ovl_En_Daiku.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Nwc', 'build/comp/overlays/ovl_En_Nwc.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Item_Inbox', 'build/comp/overlays/ovl_Item_Inbox.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Ge1', 'build/comp/overlays/ovl_En_Ge1.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Blockstop', 'build/comp/overlays/ovl_Obj_Blockstop.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Sda', 'build/comp/overlays/ovl_En_Sda.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Clear_Tag', 'build/comp/overlays/ovl_En_Clear_Tag.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Gm', 'build/comp/overlays/ovl_En_Gm.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Ms', 'build/comp/overlays/ovl_En_Ms.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Hs', 'build/comp/overlays/ovl_En_Hs.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Ingate', 'build/comp/overlays/ovl_Bg_Ingate.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Kanban', 'build/comp/overlays/ovl_En_Kanban.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Attack_Niw', 'build/comp/overlays/ovl_En_Attack_Niw.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Mk', 'build/comp/overlays/ovl_En_Mk.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Owl', 'build/comp/overlays/ovl_En_Owl.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Ishi', 'build/comp/overlays/ovl_En_Ishi.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Hana', 'build/comp/overlays/ovl_Obj_Hana.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Lightswitch', 'build/comp/overlays/ovl_Obj_Lightswitch.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Mure2', 'build/comp/overlays/ovl_Obj_Mure2.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Fu', 'build/comp/overlays/ovl_En_Fu.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Stream', 'build/comp/overlays/ovl_En_Stream.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Mm', 'build/comp/overlays/ovl_En_Mm.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Weather_Tag', 'build/comp/overlays/ovl_En_Weather_Tag.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Ani', 'build/comp/overlays/ovl_En_Ani.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Js', 'build/comp/overlays/ovl_En_Js.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Okarina_Effect', 'build/comp/overlays/ovl_En_Okarina_Effect.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Mag', 'build/comp/overlays/ovl_En_Mag.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Elf_Msg2', 'build/comp/overlays/ovl_Elf_Msg2.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_F40_Swlift', 'build/comp/overlays/ovl_Bg_F40_Swlift.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Kakasi', 'build/comp/overlays/ovl_En_Kakasi.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Makeoshihiki', 'build/comp/overlays/ovl_Obj_Makeoshihiki.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Oceff_Spot', 'build/comp/overlays/ovl_Oceff_Spot.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Torch', 'build/comp/overlays/ovl_En_Torch.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Shot_Sun', 'build/comp/overlays/ovl_Shot_Sun.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Roomtimer', 'build/comp/overlays/ovl_Obj_Roomtimer.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Ssh', 'build/comp/overlays/ovl_En_Ssh.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Oceff_Wipe', 'build/comp/overlays/ovl_Oceff_Wipe.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Effect_Ss_Dust', 'build/comp/overlays/ovl_Effect_Ss_Dust.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Effect_Ss_Kirakira', 'build/comp/overlays/ovl_Effect_Ss_Kirakira.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Effect_Ss_Bomb2', 'build/comp/overlays/ovl_Effect_Ss_Bomb2.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Effect_Ss_Blast', 'build/comp/overlays/ovl_Effect_Ss_Blast.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Effect_Ss_G_Spk', 'build/comp/overlays/ovl_Effect_Ss_G_Spk.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Effect_Ss_D_Fire', 'build/comp/overlays/ovl_Effect_Ss_D_Fire.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Effect_Ss_Bubble', 'build/comp/overlays/ovl_Effect_Ss_Bubble.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Effect_Ss_G_Ripple', 'build/comp/overlays/ovl_Effect_Ss_G_Ripple.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Effect_Ss_G_Splash', 'build/comp/overlays/ovl_Effect_Ss_G_Splash.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Effect_Ss_G_Fire', 'build/comp/overlays/ovl_Effect_Ss_G_Fire.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Effect_Ss_Lightning', 'build/comp/overlays/ovl_Effect_Ss_Lightning.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Effect_Ss_Dt_Bubble', 'build/comp/overlays/ovl_Effect_Ss_Dt_Bubble.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Effect_Ss_Hahen', 'build/comp/overlays/ovl_Effect_Ss_Hahen.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Effect_Ss_Stick', 'build/comp/overlays/ovl_Effect_Ss_Stick.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Effect_Ss_Sibuki', 'build/comp/overlays/ovl_Effect_Ss_Sibuki.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Effect_Ss_Stone1', 'build/comp/overlays/ovl_Effect_Ss_Stone1.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Effect_Ss_Hitmark', 'build/comp/overlays/ovl_Effect_Ss_Hitmark.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Effect_Ss_Fhg_Flash', 'build/comp/overlays/ovl_Effect_Ss_Fhg_Flash.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Effect_Ss_K_Fire', 'build/comp/overlays/ovl_Effect_Ss_K_Fire.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Effect_Ss_Solder_Srch_Ball', 'build/comp/overlays/ovl_Effect_Ss_Solder_Srch_Ball.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Effect_Ss_Kakera', 'build/comp/overlays/ovl_Effect_Ss_Kakera.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Effect_Ss_Ice_Piece', 'build/comp/overlays/ovl_Effect_Ss_Ice_Piece.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Effect_Ss_En_Ice', 'build/comp/overlays/ovl_Effect_Ss_En_Ice.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Effect_Ss_Fire_Tail', 'build/comp/overlays/ovl_Effect_Ss_Fire_Tail.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Effect_Ss_En_Fire', 'build/comp/overlays/ovl_Effect_Ss_En_Fire.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Effect_Ss_Extra', 'build/comp/overlays/ovl_Effect_Ss_Extra.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Effect_Ss_Dead_Db', 'build/comp/overlays/ovl_Effect_Ss_Dead_Db.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Effect_Ss_Dead_Dd', 'build/comp/overlays/ovl_Effect_Ss_Dead_Dd.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Effect_Ss_Dead_Ds', 'build/comp/overlays/ovl_Effect_Ss_Dead_Ds.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Oceff_Storm', 'build/comp/overlays/ovl_Oceff_Storm.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Demo', 'build/comp/overlays/ovl_Obj_Demo.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Minislime', 'build/comp/overlays/ovl_En_Minislime.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Nutsball', 'build/comp/overlays/ovl_En_Nutsball.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Oceff_Wipe2', 'build/comp/overlays/ovl_Oceff_Wipe2.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Oceff_Wipe3', 'build/comp/overlays/ovl_Oceff_Wipe3.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Dg', 'build/comp/overlays/ovl_En_Dg.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Si', 'build/comp/overlays/ovl_En_Si.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Comb', 'build/comp/overlays/ovl_Obj_Comb.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Kibako2', 'build/comp/overlays/ovl_Obj_Kibako2.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Hs2', 'build/comp/overlays/ovl_En_Hs2.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Mure3', 'build/comp/overlays/ovl_Obj_Mure3.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Tg', 'build/comp/overlays/ovl_En_Tg.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Wf', 'build/comp/overlays/ovl_En_Wf.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Skb', 'build/comp/overlays/ovl_En_Skb.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Gs', 'build/comp/overlays/ovl_En_Gs.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Sound', 'build/comp/overlays/ovl_Obj_Sound.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Crow', 'build/comp/overlays/ovl_En_Crow.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Cow', 'build/comp/overlays/ovl_En_Cow.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Oceff_Wipe4', 'build/comp/overlays/ovl_Oceff_Wipe4.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Zo', 'build/comp/overlays/ovl_En_Zo.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Effect_Ss_Ice_Smoke', 'build/comp/overlays/ovl_Effect_Ss_Ice_Smoke.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Makekinsuta', 'build/comp/overlays/ovl_Obj_Makekinsuta.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Ge3', 'build/comp/overlays/ovl_En_Ge3.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Hamishi', 'build/comp/overlays/ovl_Obj_Hamishi.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Zl4', 'build/comp/overlays/ovl_En_Zl4.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Mm2', 'build/comp/overlays/ovl_En_Mm2.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Door_Spiral', 'build/comp/overlays/ovl_Door_Spiral.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Pzlblock', 'build/comp/overlays/ovl_Obj_Pzlblock.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Toge', 'build/comp/overlays/ovl_Obj_Toge.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Armos', 'build/comp/overlays/ovl_Obj_Armos.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Boyo', 'build/comp/overlays/ovl_Obj_Boyo.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Grasshopper', 'build/comp/overlays/ovl_En_Grasshopper.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Grass', 'build/comp/overlays/ovl_Obj_Grass.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Grass_Carry', 'build/comp/overlays/ovl_Obj_Grass_Carry.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Grass_Unit', 'build/comp/overlays/ovl_Obj_Grass_Unit.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Fire_Wall', 'build/comp/overlays/ovl_Bg_Fire_Wall.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Bu', 'build/comp/overlays/ovl_En_Bu.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Encount3', 'build/comp/overlays/ovl_En_Encount3.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Jso', 'build/comp/overlays/ovl_En_Jso.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Chikuwa', 'build/comp/overlays/ovl_Obj_Chikuwa.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Knight', 'build/comp/overlays/ovl_En_Knight.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Warp_tag', 'build/comp/overlays/ovl_En_Warp_tag.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Aob_01', 'build/comp/overlays/ovl_En_Aob_01.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Boj_01', 'build/comp/overlays/ovl_En_Boj_01.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Boj_02', 'build/comp/overlays/ovl_En_Boj_02.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Boj_03', 'build/comp/overlays/ovl_En_Boj_03.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Encount4', 'build/comp/overlays/ovl_En_Encount4.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Bom_Bowl_Man', 'build/comp/overlays/ovl_En_Bom_Bowl_Man.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Syateki_Man', 'build/comp/overlays/ovl_En_Syateki_Man.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Icicle', 'build/comp/overlays/ovl_Bg_Icicle.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Syateki_Crow', 'build/comp/overlays/ovl_En_Syateki_Crow.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Boj_04', 'build/comp/overlays/ovl_En_Boj_04.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Cne_01', 'build/comp/overlays/ovl_En_Cne_01.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Bba_01', 'build/comp/overlays/ovl_En_Bba_01.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Bji_01', 'build/comp/overlays/ovl_En_Bji_01.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Spdweb', 'build/comp/overlays/ovl_Bg_Spdweb.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Mt_tag', 'build/comp/overlays/ovl_En_Mt_tag.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Boss_01', 'build/comp/overlays/ovl_Boss_01.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Boss_02', 'build/comp/overlays/ovl_Boss_02.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Boss_03', 'build/comp/overlays/ovl_Boss_03.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Boss_04', 'build/comp/overlays/ovl_Boss_04.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Boss_05', 'build/comp/overlays/ovl_Boss_05.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Boss_06', 'build/comp/overlays/ovl_Boss_06.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Boss_07', 'build/comp/overlays/ovl_Boss_07.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Dy_Yoseizo', 'build/comp/overlays/ovl_Bg_Dy_Yoseizo.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Boj_05', 'build/comp/overlays/ovl_En_Boj_05.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Sob1', 'build/comp/overlays/ovl_En_Sob1.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Go', 'build/comp/overlays/ovl_En_Go.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Raf', 'build/comp/overlays/ovl_En_Raf.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Funen', 'build/comp/overlays/ovl_Obj_Funen.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Raillift', 'build/comp/overlays/ovl_Obj_Raillift.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Numa_Hana', 'build/comp/overlays/ovl_Bg_Numa_Hana.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Flowerpot', 'build/comp/overlays/ovl_Obj_Flowerpot.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Spinyroll', 'build/comp/overlays/ovl_Obj_Spinyroll.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Dm_Hina', 'build/comp/overlays/ovl_Dm_Hina.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Syateki_Wf', 'build/comp/overlays/ovl_En_Syateki_Wf.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Skateblock', 'build/comp/overlays/ovl_Obj_Skateblock.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Effect_En_Ice_Block', 'build/comp/overlays/ovl_Effect_En_Ice_Block.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Iceblock', 'build/comp/overlays/ovl_Obj_Iceblock.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Bigpamet', 'build/comp/overlays/ovl_En_Bigpamet.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Dblue_Movebg', 'build/comp/overlays/ovl_Bg_Dblue_Movebg.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Syateki_Dekunuts', 'build/comp/overlays/ovl_En_Syateki_Dekunuts.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Elf_Msg3', 'build/comp/overlays/ovl_Elf_Msg3.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Fg', 'build/comp/overlays/ovl_En_Fg.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Dm_Ravine', 'build/comp/overlays/ovl_Dm_Ravine.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Dm_Sa', 'build/comp/overlays/ovl_Dm_Sa.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Slime', 'build/comp/overlays/ovl_En_Slime.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Pr', 'build/comp/overlays/ovl_En_Pr.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Toudai', 'build/comp/overlays/ovl_Obj_Toudai.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Entotu', 'build/comp/overlays/ovl_Obj_Entotu.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Bell', 'build/comp/overlays/ovl_Obj_Bell.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Syateki_Okuta', 'build/comp/overlays/ovl_En_Syateki_Okuta.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Shutter', 'build/comp/overlays/ovl_Obj_Shutter.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Dm_Zl', 'build/comp/overlays/ovl_Dm_Zl.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Ru', 'build/comp/overlays/ovl_En_Ru.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Elfgrp', 'build/comp/overlays/ovl_En_Elfgrp.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Dm_Tsg', 'build/comp/overlays/ovl_Dm_Tsg.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Baguo', 'build/comp/overlays/ovl_En_Baguo.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Vspinyroll', 'build/comp/overlays/ovl_Obj_Vspinyroll.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Smork', 'build/comp/overlays/ovl_Obj_Smork.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Test2', 'build/comp/overlays/ovl_En_Test2.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Test3', 'build/comp/overlays/ovl_En_Test3.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Test4', 'build/comp/overlays/ovl_En_Test4.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Bat', 'build/comp/overlays/ovl_En_Bat.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Sekihi', 'build/comp/overlays/ovl_En_Sekihi.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Wiz', 'build/comp/overlays/ovl_En_Wiz.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Wiz_Brock', 'build/comp/overlays/ovl_En_Wiz_Brock.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Wiz_Fire', 'build/comp/overlays/ovl_En_Wiz_Fire.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Eff_Change', 'build/comp/overlays/ovl_Eff_Change.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Dm_Statue', 'build/comp/overlays/ovl_Dm_Statue.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Fireshield', 'build/comp/overlays/ovl_Obj_Fireshield.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Ladder', 'build/comp/overlays/ovl_Bg_Ladder.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Mkk', 'build/comp/overlays/ovl_En_Mkk.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Demo_Getitem', 'build/comp/overlays/ovl_Demo_Getitem.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Dnb', 'build/comp/overlays/ovl_En_Dnb.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Dnh', 'build/comp/overlays/ovl_En_Dnh.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Dnk', 'build/comp/overlays/ovl_En_Dnk.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Dnq', 'build/comp/overlays/ovl_En_Dnq.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Keikoku_Saku', 'build/comp/overlays/ovl_Bg_Keikoku_Saku.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Hugebombiwa', 'build/comp/overlays/ovl_Obj_Hugebombiwa.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Firefly2', 'build/comp/overlays/ovl_En_Firefly2.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Rat', 'build/comp/overlays/ovl_En_Rat.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Water_Effect', 'build/comp/overlays/ovl_En_Water_Effect.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Kusa2', 'build/comp/overlays/ovl_En_Kusa2.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Spout_Fire', 'build/comp/overlays/ovl_Bg_Spout_Fire.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Dy_Extra', 'build/comp/overlays/ovl_En_Dy_Extra.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Bal', 'build/comp/overlays/ovl_En_Bal.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Ginko_Man', 'build/comp/overlays/ovl_En_Ginko_Man.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Warp_Uzu', 'build/comp/overlays/ovl_En_Warp_Uzu.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Driftice', 'build/comp/overlays/ovl_Obj_Driftice.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Look_Nuts', 'build/comp/overlays/ovl_En_Look_Nuts.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Mushi2', 'build/comp/overlays/ovl_En_Mushi2.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Fall', 'build/comp/overlays/ovl_En_Fall.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Mm3', 'build/comp/overlays/ovl_En_Mm3.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Crace_Movebg', 'build/comp/overlays/ovl_Bg_Crace_Movebg.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Dno', 'build/comp/overlays/ovl_En_Dno.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Pr2', 'build/comp/overlays/ovl_En_Pr2.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Prz', 'build/comp/overlays/ovl_En_Prz.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Jso2', 'build/comp/overlays/ovl_En_Jso2.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Etcetera', 'build/comp/overlays/ovl_Obj_Etcetera.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Egol', 'build/comp/overlays/ovl_En_Egol.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Mine', 'build/comp/overlays/ovl_Obj_Mine.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Purify', 'build/comp/overlays/ovl_Obj_Purify.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Tru', 'build/comp/overlays/ovl_En_Tru.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Trt', 'build/comp/overlays/ovl_En_Trt.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Test5', 'build/comp/overlays/ovl_En_Test5.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Test6', 'build/comp/overlays/ovl_En_Test6.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Az', 'build/comp/overlays/ovl_En_Az.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Estone', 'build/comp/overlays/ovl_En_Estone.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Hakugin_Post', 'build/comp/overlays/ovl_Bg_Hakugin_Post.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Dm_Opstage', 'build/comp/overlays/ovl_Dm_Opstage.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Dm_Stk', 'build/comp/overlays/ovl_Dm_Stk.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Dm_Char00', 'build/comp/overlays/ovl_Dm_Char00.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Dm_Char01', 'build/comp/overlays/ovl_Dm_Char01.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Dm_Char02', 'build/comp/overlays/ovl_Dm_Char02.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Dm_Char03', 'build/comp/overlays/ovl_Dm_Char03.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Dm_Char04', 'build/comp/overlays/ovl_Dm_Char04.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Dm_Char05', 'build/comp/overlays/ovl_Dm_Char05.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Dm_Char06', 'build/comp/overlays/ovl_Dm_Char06.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Dm_Char07', 'build/comp/overlays/ovl_Dm_Char07.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Dm_Char08', 'build/comp/overlays/ovl_Dm_Char08.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Dm_Char09', 'build/comp/overlays/ovl_Dm_Char09.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Tokeidai', 'build/comp/overlays/ovl_Obj_Tokeidai.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Mnk', 'build/comp/overlays/ovl_En_Mnk.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Egblock', 'build/comp/overlays/ovl_En_Egblock.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Guard_Nuts', 'build/comp/overlays/ovl_En_Guard_Nuts.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Hakugin_Bombwall', 'build/comp/overlays/ovl_Bg_Hakugin_Bombwall.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Tokei_Tobira', 'build/comp/overlays/ovl_Obj_Tokei_Tobira.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Hakugin_Elvpole', 'build/comp/overlays/ovl_Bg_Hakugin_Elvpole.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Ma4', 'build/comp/overlays/ovl_En_Ma4.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Twig', 'build/comp/overlays/ovl_En_Twig.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Po_Fusen', 'build/comp/overlays/ovl_En_Po_Fusen.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Door_Etc', 'build/comp/overlays/ovl_En_Door_Etc.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Bigokuta', 'build/comp/overlays/ovl_En_Bigokuta.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Icefloe', 'build/comp/overlays/ovl_Bg_Icefloe.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_fbdemo_triforce', 'build/comp/overlays/ovl_fbdemo_triforce.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_fbdemo_wipe1', 'build/comp/overlays/ovl_fbdemo_wipe1.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_fbdemo_wipe3', 'build/comp/overlays/ovl_fbdemo_wipe3.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_fbdemo_wipe4', 'build/comp/overlays/ovl_fbdemo_wipe4.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_fbdemo_wipe5', 'build/comp/overlays/ovl_fbdemo_wipe5.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Effect_Ss_Sbn', 'build/comp/overlays/ovl_Effect_Ss_Sbn.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Ocarinalift', 'build/comp/overlays/ovl_Obj_Ocarinalift.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Time_Tag', 'build/comp/overlays/ovl_En_Time_Tag.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Open_Shutter', 'build/comp/overlays/ovl_Bg_Open_Shutter.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Open_Spot', 'build/comp/overlays/ovl_Bg_Open_Spot.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Fu_Kaiten', 'build/comp/overlays/ovl_Bg_Fu_Kaiten.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Aqua', 'build/comp/overlays/ovl_Obj_Aqua.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Elforg', 'build/comp/overlays/ovl_En_Elforg.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Elfbub', 'build/comp/overlays/ovl_En_Elfbub.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Fu_Mato', 'build/comp/overlays/ovl_En_Fu_Mato.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Fu_Kago', 'build/comp/overlays/ovl_En_Fu_Kago.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Osn', 'build/comp/overlays/ovl_En_Osn.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Ctower_Gear', 'build/comp/overlays/ovl_Bg_Ctower_Gear.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Trt2', 'build/comp/overlays/ovl_En_Trt2.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Tokei_Step', 'build/comp/overlays/ovl_Obj_Tokei_Step.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Lotus', 'build/comp/overlays/ovl_Bg_Lotus.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Kame', 'build/comp/overlays/ovl_En_Kame.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Takaraya_Wall', 'build/comp/overlays/ovl_Obj_Takaraya_Wall.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Fu_Mizu', 'build/comp/overlays/ovl_Bg_Fu_Mizu.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Sellnuts', 'build/comp/overlays/ovl_En_Sellnuts.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Dkjail_Ivy', 'build/comp/overlays/ovl_Bg_Dkjail_Ivy.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Visiblock', 'build/comp/overlays/ovl_Obj_Visiblock.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Takaraya', 'build/comp/overlays/ovl_En_Takaraya.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Tsn', 'build/comp/overlays/ovl_En_Tsn.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Ds2n', 'build/comp/overlays/ovl_En_Ds2n.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Fsn', 'build/comp/overlays/ovl_En_Fsn.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Shn', 'build/comp/overlays/ovl_En_Shn.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Stop_heishi', 'build/comp/overlays/ovl_En_Stop_heishi.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Bigicicle', 'build/comp/overlays/ovl_Obj_Bigicicle.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Lift_Nuts', 'build/comp/overlays/ovl_En_Lift_Nuts.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Tk', 'build/comp/overlays/ovl_En_Tk.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Market_Step', 'build/comp/overlays/ovl_Bg_Market_Step.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Lupygamelift', 'build/comp/overlays/ovl_Obj_Lupygamelift.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Test7', 'build/comp/overlays/ovl_En_Test7.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Lightblock', 'build/comp/overlays/ovl_Obj_Lightblock.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Mir_Ray2', 'build/comp/overlays/ovl_Mir_Ray2.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Wdhand', 'build/comp/overlays/ovl_En_Wdhand.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Gamelupy', 'build/comp/overlays/ovl_En_Gamelupy.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Danpei_Movebg', 'build/comp/overlays/ovl_Bg_Danpei_Movebg.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Snowwd', 'build/comp/overlays/ovl_En_Snowwd.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Pm', 'build/comp/overlays/ovl_En_Pm.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Gakufu', 'build/comp/overlays/ovl_En_Gakufu.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Elf_Msg4', 'build/comp/overlays/ovl_Elf_Msg4.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Elf_Msg5', 'build/comp/overlays/ovl_Elf_Msg5.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Col_Man', 'build/comp/overlays/ovl_En_Col_Man.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Talk_Gibud', 'build/comp/overlays/ovl_En_Talk_Gibud.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Giant', 'build/comp/overlays/ovl_En_Giant.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Snowball', 'build/comp/overlays/ovl_Obj_Snowball.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Boss_Hakugin', 'build/comp/overlays/ovl_Boss_Hakugin.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Gb2', 'build/comp/overlays/ovl_En_Gb2.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Onpuman', 'build/comp/overlays/ovl_En_Onpuman.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Tobira01', 'build/comp/overlays/ovl_Bg_Tobira01.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Tag_Obj', 'build/comp/overlays/ovl_En_Tag_Obj.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Dhouse', 'build/comp/overlays/ovl_Obj_Dhouse.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Hakaisi', 'build/comp/overlays/ovl_Obj_Hakaisi.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Hakugin_Switch', 'build/comp/overlays/ovl_Bg_Hakugin_Switch.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Snowman', 'build/comp/overlays/ovl_En_Snowman.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_TG_Sw', 'build/comp/overlays/ovl_TG_Sw.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Po_Sisters', 'build/comp/overlays/ovl_En_Po_Sisters.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Pp', 'build/comp/overlays/ovl_En_Pp.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Hakurock', 'build/comp/overlays/ovl_En_Hakurock.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Hanabi', 'build/comp/overlays/ovl_En_Hanabi.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Dowsing', 'build/comp/overlays/ovl_Obj_Dowsing.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Wind', 'build/comp/overlays/ovl_Obj_Wind.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Racedog', 'build/comp/overlays/ovl_En_Racedog.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Kendo_Js', 'build/comp/overlays/ovl_En_Kendo_Js.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Botihasira', 'build/comp/overlays/ovl_Bg_Botihasira.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Fish2', 'build/comp/overlays/ovl_En_Fish2.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Pst', 'build/comp/overlays/ovl_En_Pst.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Poh', 'build/comp/overlays/ovl_En_Poh.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Spidertent', 'build/comp/overlays/ovl_Obj_Spidertent.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Zoraegg', 'build/comp/overlays/ovl_En_Zoraegg.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Kbt', 'build/comp/overlays/ovl_En_Kbt.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Gg', 'build/comp/overlays/ovl_En_Gg.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Maruta', 'build/comp/overlays/ovl_En_Maruta.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Snowball2', 'build/comp/overlays/ovl_Obj_Snowball2.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Gg2', 'build/comp/overlays/ovl_En_Gg2.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Ghaka', 'build/comp/overlays/ovl_Obj_Ghaka.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Dnp', 'build/comp/overlays/ovl_En_Dnp.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Dai', 'build/comp/overlays/ovl_En_Dai.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Goron_Oyu', 'build/comp/overlays/ovl_Bg_Goron_Oyu.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Kgy', 'build/comp/overlays/ovl_En_Kgy.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Invadepoh', 'build/comp/overlays/ovl_En_Invadepoh.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Gk', 'build/comp/overlays/ovl_En_Gk.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_An', 'build/comp/overlays/ovl_En_An.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Bee', 'build/comp/overlays/ovl_En_Bee.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Ot', 'build/comp/overlays/ovl_En_Ot.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Dragon', 'build/comp/overlays/ovl_En_Dragon.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Dora', 'build/comp/overlays/ovl_Obj_Dora.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Bigpo', 'build/comp/overlays/ovl_En_Bigpo.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Kendo_Kanban', 'build/comp/overlays/ovl_Obj_Kendo_Kanban.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Hariko', 'build/comp/overlays/ovl_Obj_Hariko.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Sth', 'build/comp/overlays/ovl_En_Sth.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Sinkai_Kabe', 'build/comp/overlays/ovl_Bg_Sinkai_Kabe.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Haka_Curtain', 'build/comp/overlays/ovl_Bg_Haka_Curtain.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Kin2_Bombwall', 'build/comp/overlays/ovl_Bg_Kin2_Bombwall.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Kin2_Fence', 'build/comp/overlays/ovl_Bg_Kin2_Fence.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Kin2_Picture', 'build/comp/overlays/ovl_Bg_Kin2_Picture.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Kin2_Shelf', 'build/comp/overlays/ovl_Bg_Kin2_Shelf.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Rail_Skb', 'build/comp/overlays/ovl_En_Rail_Skb.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Jg', 'build/comp/overlays/ovl_En_Jg.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Tru_Mt', 'build/comp/overlays/ovl_En_Tru_Mt.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Um', 'build/comp/overlays/ovl_Obj_Um.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Neo_Reeba', 'build/comp/overlays/ovl_En_Neo_Reeba.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Mbar_Chair', 'build/comp/overlays/ovl_Bg_Mbar_Chair.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Ikana_Block', 'build/comp/overlays/ovl_Bg_Ikana_Block.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Ikana_Mirror', 'build/comp/overlays/ovl_Bg_Ikana_Mirror.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Ikana_Rotaryroom', 'build/comp/overlays/ovl_Bg_Ikana_Rotaryroom.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Dblue_Balance', 'build/comp/overlays/ovl_Bg_Dblue_Balance.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Dblue_Waterfall', 'build/comp/overlays/ovl_Bg_Dblue_Waterfall.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Kaizoku', 'build/comp/overlays/ovl_En_Kaizoku.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Ge2', 'build/comp/overlays/ovl_En_Ge2.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Ma_Yts', 'build/comp/overlays/ovl_En_Ma_Yts.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Ma_Yto', 'build/comp/overlays/ovl_En_Ma_Yto.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Tokei_Turret', 'build/comp/overlays/ovl_Obj_Tokei_Turret.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Dblue_Elevator', 'build/comp/overlays/ovl_Bg_Dblue_Elevator.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Warpstone', 'build/comp/overlays/ovl_Obj_Warpstone.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Zog', 'build/comp/overlays/ovl_En_Zog.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Rotlift', 'build/comp/overlays/ovl_Obj_Rotlift.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Jg_Gakki', 'build/comp/overlays/ovl_Obj_Jg_Gakki.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Inibs_Movebg', 'build/comp/overlays/ovl_Bg_Inibs_Movebg.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Zot', 'build/comp/overlays/ovl_En_Zot.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Tree', 'build/comp/overlays/ovl_Obj_Tree.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Y2lift', 'build/comp/overlays/ovl_Obj_Y2lift.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Y2shutter', 'build/comp/overlays/ovl_Obj_Y2shutter.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Boat', 'build/comp/overlays/ovl_Obj_Boat.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Taru', 'build/comp/overlays/ovl_Obj_Taru.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Hunsui', 'build/comp/overlays/ovl_Obj_Hunsui.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Jc_Mato', 'build/comp/overlays/ovl_En_Jc_Mato.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Mir_Ray3', 'build/comp/overlays/ovl_Mir_Ray3.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Zob', 'build/comp/overlays/ovl_En_Zob.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Elf_Msg6', 'build/comp/overlays/ovl_Elf_Msg6.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Nozoki', 'build/comp/overlays/ovl_Obj_Nozoki.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Toto', 'build/comp/overlays/ovl_En_Toto.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Railgibud', 'build/comp/overlays/ovl_En_Railgibud.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Baba', 'build/comp/overlays/ovl_En_Baba.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Suttari', 'build/comp/overlays/ovl_En_Suttari.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Zod', 'build/comp/overlays/ovl_En_Zod.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Kujiya', 'build/comp/overlays/ovl_En_Kujiya.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Geg', 'build/comp/overlays/ovl_En_Geg.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Kinoko', 'build/comp/overlays/ovl_Obj_Kinoko.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Yasi', 'build/comp/overlays/ovl_Obj_Yasi.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Tanron1', 'build/comp/overlays/ovl_En_Tanron1.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Tanron2', 'build/comp/overlays/ovl_En_Tanron2.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Tanron3', 'build/comp/overlays/ovl_En_Tanron3.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Chan', 'build/comp/overlays/ovl_Obj_Chan.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Zos', 'build/comp/overlays/ovl_En_Zos.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_S_Goro', 'build/comp/overlays/ovl_En_S_Goro.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Nb', 'build/comp/overlays/ovl_En_Nb.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Ja', 'build/comp/overlays/ovl_En_Ja.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_F40_Block', 'build/comp/overlays/ovl_Bg_F40_Block.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_F40_Switch', 'build/comp/overlays/ovl_Bg_F40_Switch.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Po_Composer', 'build/comp/overlays/ovl_En_Po_Composer.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Guruguru', 'build/comp/overlays/ovl_En_Guruguru.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Oceff_Wipe5', 'build/comp/overlays/ovl_Oceff_Wipe5.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Stone_heishi', 'build/comp/overlays/ovl_En_Stone_heishi.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Oceff_Wipe6', 'build/comp/overlays/ovl_Oceff_Wipe6.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Scopenuts', 'build/comp/overlays/ovl_En_Scopenuts.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Scopecrow', 'build/comp/overlays/ovl_En_Scopecrow.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Oceff_Wipe7', 'build/comp/overlays/ovl_Oceff_Wipe7.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Eff_Kamejima_Wave', 'build/comp/overlays/ovl_Eff_Kamejima_Wave.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Hg', 'build/comp/overlays/ovl_En_Hg.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Hgo', 'build/comp/overlays/ovl_En_Hgo.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Zov', 'build/comp/overlays/ovl_En_Zov.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Ah', 'build/comp/overlays/ovl_En_Ah.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Hgdoor', 'build/comp/overlays/ovl_Obj_Hgdoor.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Ikana_Bombwall', 'build/comp/overlays/ovl_Bg_Ikana_Bombwall.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Ikana_Ray', 'build/comp/overlays/ovl_Bg_Ikana_Ray.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Ikana_Shutter', 'build/comp/overlays/ovl_Bg_Ikana_Shutter.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Haka_Bombwall', 'build/comp/overlays/ovl_Bg_Haka_Bombwall.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Haka_Tomb', 'build/comp/overlays/ovl_Bg_Haka_Tomb.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Sc_Ruppe', 'build/comp/overlays/ovl_En_Sc_Ruppe.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Iknv_Doukutu', 'build/comp/overlays/ovl_Bg_Iknv_Doukutu.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Iknv_Obj', 'build/comp/overlays/ovl_Bg_Iknv_Obj.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Pamera', 'build/comp/overlays/ovl_En_Pamera.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_HsStump', 'build/comp/overlays/ovl_Obj_HsStump.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Hidden_Nuts', 'build/comp/overlays/ovl_En_Hidden_Nuts.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Zow', 'build/comp/overlays/ovl_En_Zow.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Talk', 'build/comp/overlays/ovl_En_Talk.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Al', 'build/comp/overlays/ovl_En_Al.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Tab', 'build/comp/overlays/ovl_En_Tab.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Nimotsu', 'build/comp/overlays/ovl_En_Nimotsu.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Hit_Tag', 'build/comp/overlays/ovl_En_Hit_Tag.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Ruppecrow', 'build/comp/overlays/ovl_En_Ruppecrow.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Tanron4', 'build/comp/overlays/ovl_En_Tanron4.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Tanron5', 'build/comp/overlays/ovl_En_Tanron5.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Tanron6', 'build/comp/overlays/ovl_En_Tanron6.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Daiku2', 'build/comp/overlays/ovl_En_Daiku2.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Muto', 'build/comp/overlays/ovl_En_Muto.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Baisen', 'build/comp/overlays/ovl_En_Baisen.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Heishi', 'build/comp/overlays/ovl_En_Heishi.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Demo_heishi', 'build/comp/overlays/ovl_En_Demo_heishi.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Dt', 'build/comp/overlays/ovl_En_Dt.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Cha', 'build/comp/overlays/ovl_En_Cha.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Dinner', 'build/comp/overlays/ovl_Obj_Dinner.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Eff_Lastday', 'build/comp/overlays/ovl_Eff_Lastday.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Ikana_Dharma', 'build/comp/overlays/ovl_Bg_Ikana_Dharma.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Akindonuts', 'build/comp/overlays/ovl_En_Akindonuts.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Eff_Stk', 'build/comp/overlays/ovl_Eff_Stk.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Ig', 'build/comp/overlays/ovl_En_Ig.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Rg', 'build/comp/overlays/ovl_En_Rg.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Osk', 'build/comp/overlays/ovl_En_Osk.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Sth2', 'build/comp/overlays/ovl_En_Sth2.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Yb', 'build/comp/overlays/ovl_En_Yb.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Rz', 'build/comp/overlays/ovl_En_Rz.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Scopecoin', 'build/comp/overlays/ovl_En_Scopecoin.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Bjt', 'build/comp/overlays/ovl_En_Bjt.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Bomjima', 'build/comp/overlays/ovl_En_Bomjima.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Bomjimb', 'build/comp/overlays/ovl_En_Bomjimb.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Bombers', 'build/comp/overlays/ovl_En_Bombers.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Bombers2', 'build/comp/overlays/ovl_En_Bombers2.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Bombal', 'build/comp/overlays/ovl_En_Bombal.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Moon_Stone', 'build/comp/overlays/ovl_Obj_Moon_Stone.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Mu_Pict', 'build/comp/overlays/ovl_Obj_Mu_Pict.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Ikninside', 'build/comp/overlays/ovl_Bg_Ikninside.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Eff_Zoraband', 'build/comp/overlays/ovl_Eff_Zoraband.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Kepn_Koya', 'build/comp/overlays/ovl_Obj_Kepn_Koya.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Usiyane', 'build/comp/overlays/ovl_Obj_Usiyane.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Nnh', 'build/comp/overlays/ovl_En_Nnh.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Kzsaku', 'build/comp/overlays/ovl_Obj_Kzsaku.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Milk_Bin', 'build/comp/overlays/ovl_Obj_Milk_Bin.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Kitan', 'build/comp/overlays/ovl_En_Kitan.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Astr_Bombwall', 'build/comp/overlays/ovl_Bg_Astr_Bombwall.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Iknin_Susceil', 'build/comp/overlays/ovl_Bg_Iknin_Susceil.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Bsb', 'build/comp/overlays/ovl_En_Bsb.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Recepgirl', 'build/comp/overlays/ovl_En_Recepgirl.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Thiefbird', 'build/comp/overlays/ovl_En_Thiefbird.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Jgame_Tsn', 'build/comp/overlays/ovl_En_Jgame_Tsn.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Jgame_Light', 'build/comp/overlays/ovl_Obj_Jgame_Light.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Yado', 'build/comp/overlays/ovl_Obj_Yado.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Demo_Syoten', 'build/comp/overlays/ovl_Demo_Syoten.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Demo_Moonend', 'build/comp/overlays/ovl_Demo_Moonend.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Lbfshot', 'build/comp/overlays/ovl_Bg_Lbfshot.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Bg_Last_Bwall', 'build/comp/overlays/ovl_Bg_Last_Bwall.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_And', 'build/comp/overlays/ovl_En_And.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Invadepoh_Demo', 'build/comp/overlays/ovl_En_Invadepoh_Demo.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Danpeilift', 'build/comp/overlays/ovl_Obj_Danpeilift.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Fall2', 'build/comp/overlays/ovl_En_Fall2.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Dm_Al', 'build/comp/overlays/ovl_Dm_Al.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Dm_An', 'build/comp/overlays/ovl_Dm_An.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Dm_Ah', 'build/comp/overlays/ovl_Dm_Ah.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Dm_Nb', 'build/comp/overlays/ovl_Dm_Nb.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Drs', 'build/comp/overlays/ovl_En_Drs.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Ending_Hero', 'build/comp/overlays/ovl_En_Ending_Hero.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Dm_Bal', 'build/comp/overlays/ovl_Dm_Bal.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Paper', 'build/comp/overlays/ovl_En_Paper.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Hint_Skb', 'build/comp/overlays/ovl_En_Hint_Skb.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Dm_Tag', 'build/comp/overlays/ovl_Dm_Tag.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Bh', 'build/comp/overlays/ovl_En_Bh.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Ending_Hero2', 'build/comp/overlays/ovl_En_Ending_Hero2.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Ending_Hero3', 'build/comp/overlays/ovl_En_Ending_Hero3.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Ending_Hero4', 'build/comp/overlays/ovl_En_Ending_Hero4.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Ending_Hero5', 'build/comp/overlays/ovl_En_Ending_Hero5.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Ending_Hero6', 'build/comp/overlays/ovl_En_Ending_Hero6.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Dm_Gm', 'build/comp/overlays/ovl_Dm_Gm.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Swprize', 'build/comp/overlays/ovl_Obj_Swprize.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Invisible_Ruppe', 'build/comp/overlays/ovl_En_Invisible_Ruppe.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_Obj_Ending', 'build/comp/overlays/ovl_Obj_Ending.yaz0', 0x10, 0), - ('build/binary/overlays/ovl_En_Rsn', 'build/comp/overlays/ovl_En_Rsn.yaz0', 0x10, 0), - ('build/baserom/assets/objects/gameplay_keep', 'build/comp/assets/objects/gameplay_keep.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/gameplay_field_keep', 'build/comp/assets/objects/gameplay_field_keep.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/gameplay_dangeon_keep', 'build/comp/assets/objects/gameplay_dangeon_keep.yaz0', 0x1000, 0), - ('', '', 0x1000, 0x10), - ('build/baserom/assets/objects/object_link_boy', 'build/comp/assets/objects/object_link_boy.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_link_child', 'build/comp/assets/objects/object_link_child.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_link_goron', 'build/comp/assets/objects/object_link_goron.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_link_zora', 'build/comp/assets/objects/object_link_zora.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_link_nuts', 'build/comp/assets/objects/object_link_nuts.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_mask_ki_tan', 'build/comp/assets/objects/object_mask_ki_tan.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_mask_rabit', 'build/comp/assets/objects/object_mask_rabit.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_mask_skj', 'build/comp/assets/objects/object_mask_skj.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_mask_truth', 'build/comp/assets/objects/object_mask_truth.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_mask_gibudo', 'build/comp/assets/objects/object_mask_gibudo.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_mask_json', 'build/comp/assets/objects/object_mask_json.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_mask_kerfay', 'build/comp/assets/objects/object_mask_kerfay.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_mask_bigelf', 'build/comp/assets/objects/object_mask_bigelf.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_mask_kyojin', 'build/comp/assets/objects/object_mask_kyojin.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_mask_romerny', 'build/comp/assets/objects/object_mask_romerny.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_mask_posthat', 'build/comp/assets/objects/object_mask_posthat.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_mask_zacho', 'build/comp/assets/objects/object_mask_zacho.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_mask_stone', 'build/comp/assets/objects/object_mask_stone.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_mask_bree', 'build/comp/assets/objects/object_mask_bree.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_mask_gero', 'build/comp/assets/objects/object_mask_gero.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_mask_yofukasi', 'build/comp/assets/objects/object_mask_yofukasi.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_mask_meoto', 'build/comp/assets/objects/object_mask_meoto.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_mask_dancer', 'build/comp/assets/objects/object_mask_dancer.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_mask_bakuretu', 'build/comp/assets/objects/object_mask_bakuretu.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_mask_bu_san', 'build/comp/assets/objects/object_mask_bu_san.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_mask_goron', 'build/comp/assets/objects/object_mask_goron.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_mask_zora', 'build/comp/assets/objects/object_mask_zora.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_mask_nuts', 'build/comp/assets/objects/object_mask_nuts.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_mask_boy', 'build/comp/assets/objects/object_mask_boy.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_box', 'build/comp/assets/objects/object_box.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_okuta', 'build/comp/assets/objects/object_okuta.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_wallmaster', 'build/comp/assets/objects/object_wallmaster.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_dy_obj', 'build/comp/assets/objects/object_dy_obj.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_firefly', 'build/comp/assets/objects/object_firefly.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_dodongo', 'build/comp/assets/objects/object_dodongo.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_niw', 'build/comp/assets/objects/object_niw.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_tite', 'build/comp/assets/objects/object_tite.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_ph', 'build/comp/assets/objects/object_ph.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_dinofos', 'build/comp/assets/objects/object_dinofos.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_zl1', 'build/comp/assets/objects/object_zl1.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_bubble', 'build/comp/assets/objects/object_bubble.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_test3', 'build/comp/assets/objects/object_test3.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_famos', 'build/comp/assets/objects/object_famos.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_st', 'build/comp/assets/objects/object_st.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_thiefbird', 'build/comp/assets/objects/object_thiefbird.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_bombf', 'build/comp/assets/objects/object_bombf.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_am', 'build/comp/assets/objects/object_am.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_dekubaba', 'build/comp/assets/objects/object_dekubaba.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_warp1', 'build/comp/assets/objects/object_warp1.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_b_heart', 'build/comp/assets/objects/object_b_heart.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_dekunuts', 'build/comp/assets/objects/object_dekunuts.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_bb', 'build/comp/assets/objects/object_bb.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_death', 'build/comp/assets/objects/object_death.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_hata', 'build/comp/assets/objects/object_hata.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_wood02', 'build/comp/assets/objects/object_wood02.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_trap', 'build/comp/assets/objects/object_trap.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_vm', 'build/comp/assets/objects/object_vm.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_efc_star_field', 'build/comp/assets/objects/object_efc_star_field.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_rd', 'build/comp/assets/objects/object_rd.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_yukimura_obj', 'build/comp/assets/objects/object_yukimura_obj.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_horse_link_child', 'build/comp/assets/objects/object_horse_link_child.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_syokudai', 'build/comp/assets/objects/object_syokudai.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_efc_tw', 'build/comp/assets/objects/object_efc_tw.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_key', 'build/comp/assets/objects/object_gi_key.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_mir_ray', 'build/comp/assets/objects/object_mir_ray.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_ctower_rot', 'build/comp/assets/objects/object_ctower_rot.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_bdoor', 'build/comp/assets/objects/object_bdoor.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_sb', 'build/comp/assets/objects/object_sb.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_melody', 'build/comp/assets/objects/object_gi_melody.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_heart', 'build/comp/assets/objects/object_gi_heart.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_compass', 'build/comp/assets/objects/object_gi_compass.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_bosskey', 'build/comp/assets/objects/object_gi_bosskey.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_nuts', 'build/comp/assets/objects/object_gi_nuts.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_hearts', 'build/comp/assets/objects/object_gi_hearts.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_arrowcase', 'build/comp/assets/objects/object_gi_arrowcase.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_bombpouch', 'build/comp/assets/objects/object_gi_bombpouch.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_in', 'build/comp/assets/objects/object_in.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_os_anime', 'build/comp/assets/objects/object_os_anime.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_bottle', 'build/comp/assets/objects/object_gi_bottle.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_stick', 'build/comp/assets/objects/object_gi_stick.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_map', 'build/comp/assets/objects/object_gi_map.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_oF1d_map', 'build/comp/assets/objects/object_oF1d_map.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_ru2', 'build/comp/assets/objects/object_ru2.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_magicpot', 'build/comp/assets/objects/object_gi_magicpot.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_bomb_1', 'build/comp/assets/objects/object_gi_bomb_1.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_ma2', 'build/comp/assets/objects/object_ma2.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_purse', 'build/comp/assets/objects/object_gi_purse.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_rr', 'build/comp/assets/objects/object_rr.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_arrow', 'build/comp/assets/objects/object_gi_arrow.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_bomb_2', 'build/comp/assets/objects/object_gi_bomb_2.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_shield_2', 'build/comp/assets/objects/object_gi_shield_2.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_hookshot', 'build/comp/assets/objects/object_gi_hookshot.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_ocarina', 'build/comp/assets/objects/object_gi_ocarina.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_milk', 'build/comp/assets/objects/object_gi_milk.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_ma1', 'build/comp/assets/objects/object_ma1.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_ny', 'build/comp/assets/objects/object_ny.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_fr', 'build/comp/assets/objects/object_fr.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_bow', 'build/comp/assets/objects/object_gi_bow.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_glasses', 'build/comp/assets/objects/object_gi_glasses.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_liquid', 'build/comp/assets/objects/object_gi_liquid.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_ani', 'build/comp/assets/objects/object_ani.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_shield_3', 'build/comp/assets/objects/object_gi_shield_3.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_bean', 'build/comp/assets/objects/object_gi_bean.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_fish', 'build/comp/assets/objects/object_gi_fish.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_longsword', 'build/comp/assets/objects/object_gi_longsword.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_zo', 'build/comp/assets/objects/object_zo.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_umajump', 'build/comp/assets/objects/object_umajump.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_mastergolon', 'build/comp/assets/objects/object_mastergolon.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_masterzoora', 'build/comp/assets/objects/object_masterzoora.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_aob', 'build/comp/assets/objects/object_aob.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_ik', 'build/comp/assets/objects/object_ik.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_ahg', 'build/comp/assets/objects/object_ahg.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_cne', 'build/comp/assets/objects/object_cne.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_bji', 'build/comp/assets/objects/object_bji.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_bba', 'build/comp/assets/objects/object_bba.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_an1', 'build/comp/assets/objects/object_an1.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_boj', 'build/comp/assets/objects/object_boj.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_fz', 'build/comp/assets/objects/object_fz.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_bob', 'build/comp/assets/objects/object_bob.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_ge1', 'build/comp/assets/objects/object_ge1.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_yabusame_point', 'build/comp/assets/objects/object_yabusame_point.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_d_hsblock', 'build/comp/assets/objects/object_d_hsblock.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_d_lift', 'build/comp/assets/objects/object_d_lift.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_mamenoki', 'build/comp/assets/objects/object_mamenoki.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_goroiwa', 'build/comp/assets/objects/object_goroiwa.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_toryo', 'build/comp/assets/objects/object_toryo.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_daiku', 'build/comp/assets/objects/object_daiku.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_nwc', 'build/comp/assets/objects/object_nwc.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gm', 'build/comp/assets/objects/object_gm.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_ms', 'build/comp/assets/objects/object_ms.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_hs', 'build/comp/assets/objects/object_hs.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_lightswitch', 'build/comp/assets/objects/object_lightswitch.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_kusa', 'build/comp/assets/objects/object_kusa.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_tsubo', 'build/comp/assets/objects/object_tsubo.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_kanban', 'build/comp/assets/objects/object_kanban.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_owl', 'build/comp/assets/objects/object_owl.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_mk', 'build/comp/assets/objects/object_mk.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_fu', 'build/comp/assets/objects/object_fu.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_ki_tan_mask', 'build/comp/assets/objects/object_gi_ki_tan_mask.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_mask18', 'build/comp/assets/objects/object_gi_mask18.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_rabit_mask', 'build/comp/assets/objects/object_gi_rabit_mask.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_truth_mask', 'build/comp/assets/objects/object_gi_truth_mask.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_stream', 'build/comp/assets/objects/object_stream.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_mm', 'build/comp/assets/objects/object_mm.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_js', 'build/comp/assets/objects/object_js.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_cs', 'build/comp/assets/objects/object_cs.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_soldout', 'build/comp/assets/objects/object_gi_soldout.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_mag', 'build/comp/assets/objects/object_mag.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_golonmask', 'build/comp/assets/objects/object_gi_golonmask.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_zoramask', 'build/comp/assets/objects/object_gi_zoramask.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_ka', 'build/comp/assets/objects/object_ka.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_zg', 'build/comp/assets/objects/object_zg.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_m_arrow', 'build/comp/assets/objects/object_gi_m_arrow.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_ds2', 'build/comp/assets/objects/object_ds2.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_fish', 'build/comp/assets/objects/object_fish.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_sutaru', 'build/comp/assets/objects/object_gi_sutaru.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_ssh', 'build/comp/assets/objects/object_ssh.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_bigslime', 'build/comp/assets/objects/object_bigslime.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_bg', 'build/comp/assets/objects/object_bg.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_bombiwa', 'build/comp/assets/objects/object_bombiwa.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_hintnuts', 'build/comp/assets/objects/object_hintnuts.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_rs', 'build/comp/assets/objects/object_rs.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gla', 'build/comp/assets/objects/object_gla.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_geldb', 'build/comp/assets/objects/object_geldb.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_dog', 'build/comp/assets/objects/object_dog.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_kibako2', 'build/comp/assets/objects/object_kibako2.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_dns', 'build/comp/assets/objects/object_dns.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_dnk', 'build/comp/assets/objects/object_dnk.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_insect', 'build/comp/assets/objects/object_gi_insect.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_ghost', 'build/comp/assets/objects/object_gi_ghost.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_soul', 'build/comp/assets/objects/object_gi_soul.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_f40_obj', 'build/comp/assets/objects/object_f40_obj.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_rupy', 'build/comp/assets/objects/object_gi_rupy.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_po_composer', 'build/comp/assets/objects/object_po_composer.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_mu', 'build/comp/assets/objects/object_mu.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_wf', 'build/comp/assets/objects/object_wf.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_skb', 'build/comp/assets/objects/object_skb.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gs', 'build/comp/assets/objects/object_gs.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_ps', 'build/comp/assets/objects/object_ps.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_omoya_obj', 'build/comp/assets/objects/object_omoya_obj.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_crow', 'build/comp/assets/objects/object_crow.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_cow', 'build/comp/assets/objects/object_cow.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_sword_1', 'build/comp/assets/objects/object_gi_sword_1.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_zl4', 'build/comp/assets/objects/object_zl4.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_grasshopper', 'build/comp/assets/objects/object_grasshopper.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_boyo', 'build/comp/assets/objects/object_boyo.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_fwall', 'build/comp/assets/objects/object_fwall.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_jso', 'build/comp/assets/objects/object_jso.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_knight', 'build/comp/assets/objects/object_knight.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_icicle', 'build/comp/assets/objects/object_icicle.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_spdweb', 'build/comp/assets/objects/object_spdweb.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_boss01', 'build/comp/assets/objects/object_boss01.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_boss02', 'build/comp/assets/objects/object_boss02.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_boss03', 'build/comp/assets/objects/object_boss03.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_boss04', 'build/comp/assets/objects/object_boss04.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_boss05', 'build/comp/assets/objects/object_boss05.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_boss07', 'build/comp/assets/objects/object_boss07.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_raf', 'build/comp/assets/objects/object_raf.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_funen', 'build/comp/assets/objects/object_funen.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_raillift', 'build/comp/assets/objects/object_raillift.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_numa_obj', 'build/comp/assets/objects/object_numa_obj.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_flowerpot', 'build/comp/assets/objects/object_flowerpot.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_spinyroll', 'build/comp/assets/objects/object_spinyroll.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_ice_block', 'build/comp/assets/objects/object_ice_block.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_keikoku_demo', 'build/comp/assets/objects/object_keikoku_demo.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_slime', 'build/comp/assets/objects/object_slime.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_pr', 'build/comp/assets/objects/object_pr.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_f52_obj', 'build/comp/assets/objects/object_f52_obj.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_f53_obj', 'build/comp/assets/objects/object_f53_obj.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_kibako', 'build/comp/assets/objects/object_kibako.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_sek', 'build/comp/assets/objects/object_sek.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gmo', 'build/comp/assets/objects/object_gmo.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_bat', 'build/comp/assets/objects/object_bat.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_sekihil', 'build/comp/assets/objects/object_sekihil.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_sekihig', 'build/comp/assets/objects/object_sekihig.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_sekihin', 'build/comp/assets/objects/object_sekihin.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_sekihiz', 'build/comp/assets/objects/object_sekihiz.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_wiz', 'build/comp/assets/objects/object_wiz.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_ladder', 'build/comp/assets/objects/object_ladder.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_mkk', 'build/comp/assets/objects/object_mkk.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_keikoku_obj', 'build/comp/assets/objects/object_keikoku_obj.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_sichitai_obj', 'build/comp/assets/objects/object_sichitai_obj.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_dekucity_ana_obj', 'build/comp/assets/objects/object_dekucity_ana_obj.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_rat', 'build/comp/assets/objects/object_rat.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_water_effect', 'build/comp/assets/objects/object_water_effect.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_dblue_object', 'build/comp/assets/objects/object_dblue_object.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_bal', 'build/comp/assets/objects/object_bal.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_warp_uzu', 'build/comp/assets/objects/object_warp_uzu.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_driftice', 'build/comp/assets/objects/object_driftice.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_fall', 'build/comp/assets/objects/object_fall.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_hanareyama_obj', 'build/comp/assets/objects/object_hanareyama_obj.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_crace_object', 'build/comp/assets/objects/object_crace_object.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_dnq', 'build/comp/assets/objects/object_dnq.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_obj_tokeidai', 'build/comp/assets/objects/object_obj_tokeidai.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_eg', 'build/comp/assets/objects/object_eg.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_tru', 'build/comp/assets/objects/object_tru.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_trt', 'build/comp/assets/objects/object_trt.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_hakugin_obj', 'build/comp/assets/objects/object_hakugin_obj.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_horse_game_check', 'build/comp/assets/objects/object_horse_game_check.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_stk', 'build/comp/assets/objects/object_stk.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_mnk', 'build/comp/assets/objects/object_mnk.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_bottle_red', 'build/comp/assets/objects/object_gi_bottle_red.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_tokei_tobira', 'build/comp/assets/objects/object_tokei_tobira.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_az', 'build/comp/assets/objects/object_az.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_twig', 'build/comp/assets/objects/object_twig.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_dekucity_obj', 'build/comp/assets/objects/object_dekucity_obj.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_po_fusen', 'build/comp/assets/objects/object_po_fusen.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_racetsubo', 'build/comp/assets/objects/object_racetsubo.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_ha', 'build/comp/assets/objects/object_ha.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_bigokuta', 'build/comp/assets/objects/object_bigokuta.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_open_obj', 'build/comp/assets/objects/object_open_obj.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_fu_kaiten', 'build/comp/assets/objects/object_fu_kaiten.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_fu_mato', 'build/comp/assets/objects/object_fu_mato.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_mtoride', 'build/comp/assets/objects/object_mtoride.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_osn', 'build/comp/assets/objects/object_osn.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_tokei_step', 'build/comp/assets/objects/object_tokei_step.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_lotus', 'build/comp/assets/objects/object_lotus.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_tl', 'build/comp/assets/objects/object_tl.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_dkjail_obj', 'build/comp/assets/objects/object_dkjail_obj.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_visiblock', 'build/comp/assets/objects/object_visiblock.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_tsn', 'build/comp/assets/objects/object_tsn.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_ds2n', 'build/comp/assets/objects/object_ds2n.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_fsn', 'build/comp/assets/objects/object_fsn.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_shn', 'build/comp/assets/objects/object_shn.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_bigicicle', 'build/comp/assets/objects/object_bigicicle.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_bottle_15', 'build/comp/assets/objects/object_gi_bottle_15.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_tk', 'build/comp/assets/objects/object_tk.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_market_obj', 'build/comp/assets/objects/object_market_obj.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_reserve00', 'build/comp/assets/objects/object_gi_reserve00.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_reserve01', 'build/comp/assets/objects/object_gi_reserve01.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_lightblock', 'build/comp/assets/objects/object_lightblock.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_takaraya_objects', 'build/comp/assets/objects/object_takaraya_objects.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_wdhand', 'build/comp/assets/objects/object_wdhand.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_sdn', 'build/comp/assets/objects/object_sdn.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_snowwd', 'build/comp/assets/objects/object_snowwd.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_giant', 'build/comp/assets/objects/object_giant.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_comb', 'build/comp/assets/objects/object_comb.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_hana', 'build/comp/assets/objects/object_hana.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_boss_hakugin', 'build/comp/assets/objects/object_boss_hakugin.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_meganeana_obj', 'build/comp/assets/objects/object_meganeana_obj.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_nutsmask', 'build/comp/assets/objects/object_gi_nutsmask.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_stk2', 'build/comp/assets/objects/object_stk2.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_spot11_obj', 'build/comp/assets/objects/object_spot11_obj.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_danpei_object', 'build/comp/assets/objects/object_danpei_object.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_dhouse', 'build/comp/assets/objects/object_dhouse.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_hakaisi', 'build/comp/assets/objects/object_hakaisi.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_po', 'build/comp/assets/objects/object_po.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_snowman', 'build/comp/assets/objects/object_snowman.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_po_sisters', 'build/comp/assets/objects/object_po_sisters.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_pp', 'build/comp/assets/objects/object_pp.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_goronswitch', 'build/comp/assets/objects/object_goronswitch.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_delf', 'build/comp/assets/objects/object_delf.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_botihasira', 'build/comp/assets/objects/object_botihasira.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_bigbomb', 'build/comp/assets/objects/object_gi_bigbomb.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_pst', 'build/comp/assets/objects/object_pst.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_bsmask', 'build/comp/assets/objects/object_bsmask.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_spidertent', 'build/comp/assets/objects/object_spidertent.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_zoraegg', 'build/comp/assets/objects/object_zoraegg.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_kbt', 'build/comp/assets/objects/object_kbt.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gg', 'build/comp/assets/objects/object_gg.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_maruta', 'build/comp/assets/objects/object_maruta.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_ghaka', 'build/comp/assets/objects/object_ghaka.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_oyu', 'build/comp/assets/objects/object_oyu.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_dnp', 'build/comp/assets/objects/object_dnp.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_dai', 'build/comp/assets/objects/object_dai.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_kgy', 'build/comp/assets/objects/object_kgy.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_fb', 'build/comp/assets/objects/object_fb.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_taisou', 'build/comp/assets/objects/object_taisou.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gk', 'build/comp/assets/objects/object_gk.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_haka_obj', 'build/comp/assets/objects/object_haka_obj.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_dnt', 'build/comp/assets/objects/object_dnt.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_yukiyama', 'build/comp/assets/objects/object_yukiyama.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_icefloe', 'build/comp/assets/objects/object_icefloe.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_gold_dust', 'build/comp/assets/objects/object_gi_gold_dust.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_bottle_16', 'build/comp/assets/objects/object_gi_bottle_16.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_bottle_22', 'build/comp/assets/objects/object_gi_bottle_22.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_bee', 'build/comp/assets/objects/object_bee.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_ot', 'build/comp/assets/objects/object_ot.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_utubo', 'build/comp/assets/objects/object_utubo.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_dora', 'build/comp/assets/objects/object_dora.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_loach', 'build/comp/assets/objects/object_gi_loach.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_seahorse', 'build/comp/assets/objects/object_gi_seahorse.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_bigpo', 'build/comp/assets/objects/object_bigpo.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_hariko', 'build/comp/assets/objects/object_hariko.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_dno', 'build/comp/assets/objects/object_dno.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_sinkai_kabe', 'build/comp/assets/objects/object_sinkai_kabe.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_kin2_obj', 'build/comp/assets/objects/object_kin2_obj.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_ishi', 'build/comp/assets/objects/object_ishi.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_hakugin_demo', 'build/comp/assets/objects/object_hakugin_demo.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_jg', 'build/comp/assets/objects/object_jg.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_sword_2', 'build/comp/assets/objects/object_gi_sword_2.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_sword_3', 'build/comp/assets/objects/object_gi_sword_3.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_sword_4', 'build/comp/assets/objects/object_gi_sword_4.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_um', 'build/comp/assets/objects/object_um.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_rb', 'build/comp/assets/objects/object_rb.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_mbar_obj', 'build/comp/assets/objects/object_mbar_obj.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_ikana_obj', 'build/comp/assets/objects/object_ikana_obj.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_kz', 'build/comp/assets/objects/object_kz.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_tokei_turret', 'build/comp/assets/objects/object_tokei_turret.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_zog', 'build/comp/assets/objects/object_zog.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_rotlift', 'build/comp/assets/objects/object_rotlift.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_posthouse_obj', 'build/comp/assets/objects/object_posthouse_obj.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_mask09', 'build/comp/assets/objects/object_gi_mask09.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_mask14', 'build/comp/assets/objects/object_gi_mask14.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_mask15', 'build/comp/assets/objects/object_gi_mask15.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_inibs_object', 'build/comp/assets/objects/object_inibs_object.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_tree', 'build/comp/assets/objects/object_tree.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_kaizoku_obj', 'build/comp/assets/objects/object_kaizoku_obj.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_reserve_b_00', 'build/comp/assets/objects/object_gi_reserve_b_00.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_reserve_c_00', 'build/comp/assets/objects/object_gi_reserve_c_00.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_zob', 'build/comp/assets/objects/object_zob.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_milkbar', 'build/comp/assets/objects/object_milkbar.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_dmask', 'build/comp/assets/objects/object_dmask.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_reserve_c_01', 'build/comp/assets/objects/object_gi_reserve_c_01.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_zod', 'build/comp/assets/objects/object_zod.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_kumo30', 'build/comp/assets/objects/object_kumo30.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_obj_yasi', 'build/comp/assets/objects/object_obj_yasi.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_tanron1', 'build/comp/assets/objects/object_tanron1.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_tanron2', 'build/comp/assets/objects/object_tanron2.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_tanron3', 'build/comp/assets/objects/object_tanron3.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_magicmushroom', 'build/comp/assets/objects/object_gi_magicmushroom.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_obj_chan', 'build/comp/assets/objects/object_obj_chan.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_mask10', 'build/comp/assets/objects/object_gi_mask10.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_zos', 'build/comp/assets/objects/object_zos.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_an2', 'build/comp/assets/objects/object_an2.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_an3', 'build/comp/assets/objects/object_an3.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_f40_switch', 'build/comp/assets/objects/object_f40_switch.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_lodmoon', 'build/comp/assets/objects/object_lodmoon.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_tro', 'build/comp/assets/objects/object_tro.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_mask12', 'build/comp/assets/objects/object_gi_mask12.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_mask23', 'build/comp/assets/objects/object_gi_mask23.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_bottle_21', 'build/comp/assets/objects/object_gi_bottle_21.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_camera', 'build/comp/assets/objects/object_gi_camera.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_kamejima', 'build/comp/assets/objects/object_kamejima.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_nb', 'build/comp/assets/objects/object_nb.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_harfgibud', 'build/comp/assets/objects/object_harfgibud.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_zov', 'build/comp/assets/objects/object_zov.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_ah', 'build/comp/assets/objects/object_ah.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_hgdoor', 'build/comp/assets/objects/object_hgdoor.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_dor01', 'build/comp/assets/objects/object_dor01.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_dor02', 'build/comp/assets/objects/object_dor02.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_dor03', 'build/comp/assets/objects/object_dor03.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_dor04', 'build/comp/assets/objects/object_dor04.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_last_obj', 'build/comp/assets/objects/object_last_obj.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_redead_obj', 'build/comp/assets/objects/object_redead_obj.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_ikninside_obj', 'build/comp/assets/objects/object_ikninside_obj.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_iknv_obj', 'build/comp/assets/objects/object_iknv_obj.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_pamera', 'build/comp/assets/objects/object_pamera.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_hsstump', 'build/comp/assets/objects/object_hsstump.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_zm', 'build/comp/assets/objects/object_zm.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_al', 'build/comp/assets/objects/object_al.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_tab', 'build/comp/assets/objects/object_tab.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_secom_obj', 'build/comp/assets/objects/object_secom_obj.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_dt', 'build/comp/assets/objects/object_dt.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_mask03', 'build/comp/assets/objects/object_gi_mask03.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_cha', 'build/comp/assets/objects/object_cha.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_obj_dinner', 'build/comp/assets/objects/object_obj_dinner.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_reserve_b_01', 'build/comp/assets/objects/object_gi_reserve_b_01.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_lastday', 'build/comp/assets/objects/object_lastday.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_bai', 'build/comp/assets/objects/object_bai.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_ikn_demo', 'build/comp/assets/objects/object_ikn_demo.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_fieldmap', 'build/comp/assets/objects/object_gi_fieldmap.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_big_fwall', 'build/comp/assets/objects/object_big_fwall.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_hunsui', 'build/comp/assets/objects/object_hunsui.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_uch', 'build/comp/assets/objects/object_uch.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_tanron4', 'build/comp/assets/objects/object_tanron4.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_tanron5', 'build/comp/assets/objects/object_tanron5.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_in2', 'build/comp/assets/objects/object_in2.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_yb', 'build/comp/assets/objects/object_yb.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_rz', 'build/comp/assets/objects/object_rz.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_bjt', 'build/comp/assets/objects/object_bjt.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_taru', 'build/comp/assets/objects/object_taru.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_moonston', 'build/comp/assets/objects/object_moonston.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_schedule', 'build/comp/assets/objects/object_gi_schedule.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_stonemask', 'build/comp/assets/objects/object_gi_stonemask.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_zoraband', 'build/comp/assets/objects/object_zoraband.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_kepn_koya', 'build/comp/assets/objects/object_kepn_koya.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_obj_usiyane', 'build/comp/assets/objects/object_obj_usiyane.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_mask05', 'build/comp/assets/objects/object_gi_mask05.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_mask11', 'build/comp/assets/objects/object_gi_mask11.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_mask20', 'build/comp/assets/objects/object_gi_mask20.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_nnh', 'build/comp/assets/objects/object_nnh.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_kzsaku', 'build/comp/assets/objects/object_kzsaku.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_obj_milk_bin', 'build/comp/assets/objects/object_obj_milk_bin.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_random_obj', 'build/comp/assets/objects/object_random_obj.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_kujiya', 'build/comp/assets/objects/object_kujiya.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_kitan', 'build/comp/assets/objects/object_kitan.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_mask06', 'build/comp/assets/objects/object_gi_mask06.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_mask16', 'build/comp/assets/objects/object_gi_mask16.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_astr_obj', 'build/comp/assets/objects/object_astr_obj.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_bsb', 'build/comp/assets/objects/object_bsb.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_fall2', 'build/comp/assets/objects/object_fall2.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_sth', 'build/comp/assets/objects/object_sth.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_mssa', 'build/comp/assets/objects/object_gi_mssa.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_smtower', 'build/comp/assets/objects/object_smtower.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_mask21', 'build/comp/assets/objects/object_gi_mask21.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_yado_obj', 'build/comp/assets/objects/object_yado_obj.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_syoten', 'build/comp/assets/objects/object_syoten.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_moonend', 'build/comp/assets/objects/object_moonend.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_ob', 'build/comp/assets/objects/object_ob.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_bottle_04', 'build/comp/assets/objects/object_gi_bottle_04.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_and', 'build/comp/assets/objects/object_and.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_obj_danpeilift', 'build/comp/assets/objects/object_obj_danpeilift.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_drs', 'build/comp/assets/objects/object_drs.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_msmo', 'build/comp/assets/objects/object_msmo.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_an4', 'build/comp/assets/objects/object_an4.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_wdor01', 'build/comp/assets/objects/object_wdor01.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_wdor02', 'build/comp/assets/objects/object_wdor02.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_wdor03', 'build/comp/assets/objects/object_wdor03.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_wdor04', 'build/comp/assets/objects/object_wdor04.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_wdor05', 'build/comp/assets/objects/object_wdor05.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_stk3', 'build/comp/assets/objects/object_stk3.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_kinsta1_obj', 'build/comp/assets/objects/object_kinsta1_obj.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_kinsta2_obj', 'build/comp/assets/objects/object_kinsta2_obj.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_bh', 'build/comp/assets/objects/object_bh.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_mask17', 'build/comp/assets/objects/object_gi_mask17.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_mask22', 'build/comp/assets/objects/object_gi_mask22.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_lbfshot', 'build/comp/assets/objects/object_lbfshot.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_fusen', 'build/comp/assets/objects/object_fusen.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_ending_obj', 'build/comp/assets/objects/object_ending_obj.yaz0', 0x1000, 0), - ('build/baserom/assets/objects/object_gi_mask13', 'build/comp/assets/objects/object_gi_mask13.yaz0', 0x1000, 0), - ('build/baserom/assets/textures/scene_texture_01', 'build/comp/assets/textures/scene_texture_01.yaz0', 0x1000, 0), - ('build/baserom/assets/textures/scene_texture_02', 'build/comp/assets/textures/scene_texture_02.yaz0', 0x1000, 0), - ('build/baserom/assets/textures/scene_texture_03', 'build/comp/assets/textures/scene_texture_03.yaz0', 0x1000, 0), - ('build/baserom/assets/textures/scene_texture_04', 'build/comp/assets/textures/scene_texture_04.yaz0', 0x1000, 0), - ('build/baserom/assets/textures/scene_texture_05', 'build/comp/assets/textures/scene_texture_05.yaz0', 0x1000, 0), - ('build/baserom/assets/textures/scene_texture_06', 'build/comp/assets/textures/scene_texture_06.yaz0', 0x1000, 0), - ('build/baserom/assets/textures/scene_texture_07', 'build/comp/assets/textures/scene_texture_07.yaz0', 0x1000, 0), - ('build/baserom/assets/textures/scene_texture_08', 'build/comp/assets/textures/scene_texture_08.yaz0', 0x1000, 0), - ('build/baserom/assets/misc/nintendo_rogo_static', 'build/comp/assets/misc/nintendo_rogo_static.yaz0', 0x1000, 0), - ('build/baserom/assets/textures/title_static', 'build/comp/assets/textures/title_static.yaz0', 0x1000, 0), - ('build/baserom/assets/misc/memerrmsg', 'build/comp/assets/misc/memerrmsg.yaz0', 0x1000, 0), - ('build/baserom/assets/misc/locerrmsg', 'build/comp/assets/misc/locerrmsg.yaz0', 0x1000, 0), - ('build/baserom/assets/textures/parameter_static', 'build/comp/assets/textures/parameter_static.yaz0', 0x1000, 0), - ('build/baserom/assets/textures/week_static', '', 0x1000, 0), - ('build/baserom/assets/textures/daytelop_static', 'build/comp/assets/textures/daytelop_static.yaz0', 0x1000, 0), - ('build/baserom/assets/textures/ger_daytelop_static', 'build/comp/assets/textures/ger_daytelop_static.yaz0', 0x1000, 0), - ('build/baserom/assets/textures/fra_daytelop_static', 'build/comp/assets/textures/fra_daytelop_static.yaz0', 0x1000, 0), - ('build/baserom/assets/textures/spa_daytelop_static', 'build/comp/assets/textures/spa_daytelop_static.yaz0', 0x1000, 0), - ('build/baserom/assets/textures/d2_fine_static', 'build/comp/assets/textures/d2_fine_static.yaz0', 0x1000, 0), - ('build/baserom/assets/textures/d2_cloud_static', 'build/comp/assets/textures/d2_cloud_static.yaz0', 0x1000, 0), - ('build/baserom/assets/textures/d2_fine_pal_static', 'build/comp/assets/textures/d2_fine_pal_static.yaz0', 0x1000, 0), - ('build/baserom/assets/misc/elf_message_field', 'build/comp/assets/misc/elf_message_field.yaz0', 0x1000, 0), - ('build/baserom/assets/misc/elf_message_ydan', 'build/comp/assets/misc/elf_message_ydan.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_20SICHITAI2', 'build/comp/assets/scenes/Z2_20SICHITAI2.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_20SICHITAI2_room_00', 'build/comp/assets/scenes/Z2_20SICHITAI2_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_20SICHITAI2_room_01', 'build/comp/assets/scenes/Z2_20SICHITAI2_room_01.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_20SICHITAI2_room_02', 'build/comp/assets/scenes/Z2_20SICHITAI2_room_02.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_WITCH_SHOP', 'build/comp/assets/scenes/Z2_WITCH_SHOP.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_WITCH_SHOP_room_00', 'build/comp/assets/scenes/Z2_WITCH_SHOP_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_LAST_BS', 'build/comp/assets/scenes/Z2_LAST_BS.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_LAST_BS_room_00', 'build/comp/assets/scenes/Z2_LAST_BS_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_HAKASHITA', 'build/comp/assets/scenes/Z2_HAKASHITA.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_HAKASHITA_room_00', 'build/comp/assets/scenes/Z2_HAKASHITA_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_HAKASHITA_room_01', 'build/comp/assets/scenes/Z2_HAKASHITA_room_01.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_HAKASHITA_room_02', 'build/comp/assets/scenes/Z2_HAKASHITA_room_02.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_HAKASHITA_room_03', 'build/comp/assets/scenes/Z2_HAKASHITA_room_03.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_HAKASHITA_room_04', 'build/comp/assets/scenes/Z2_HAKASHITA_room_04.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_AYASHIISHOP', 'build/comp/assets/scenes/Z2_AYASHIISHOP.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_AYASHIISHOP_room_00', 'build/comp/assets/scenes/Z2_AYASHIISHOP_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_AYASHIISHOP_room_01', 'build/comp/assets/scenes/Z2_AYASHIISHOP_room_01.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_OMOYA', 'build/comp/assets/scenes/Z2_OMOYA.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_OMOYA_room_00', 'build/comp/assets/scenes/Z2_OMOYA_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_OMOYA_room_01', 'build/comp/assets/scenes/Z2_OMOYA_room_01.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_OMOYA_room_02', 'build/comp/assets/scenes/Z2_OMOYA_room_02.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_BOWLING', 'build/comp/assets/scenes/Z2_BOWLING.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_BOWLING_room_00', 'build/comp/assets/scenes/Z2_BOWLING_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_SONCHONOIE', 'build/comp/assets/scenes/Z2_SONCHONOIE.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_SONCHONOIE_room_00', 'build/comp/assets/scenes/Z2_SONCHONOIE_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_SONCHONOIE_room_01', 'build/comp/assets/scenes/Z2_SONCHONOIE_room_01.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_SONCHONOIE_room_02', 'build/comp/assets/scenes/Z2_SONCHONOIE_room_02.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_SONCHONOIE_room_03', 'build/comp/assets/scenes/Z2_SONCHONOIE_room_03.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_IKANA', 'build/comp/assets/scenes/Z2_IKANA.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_IKANA_room_00', 'build/comp/assets/scenes/Z2_IKANA_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_IKANA_room_01', 'build/comp/assets/scenes/Z2_IKANA_room_01.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_IKANA_room_02', 'build/comp/assets/scenes/Z2_IKANA_room_02.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_IKANA_room_03', 'build/comp/assets/scenes/Z2_IKANA_room_03.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_IKANA_room_04', 'build/comp/assets/scenes/Z2_IKANA_room_04.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_KAIZOKU', 'build/comp/assets/scenes/Z2_KAIZOKU.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_KAIZOKU_room_00', 'build/comp/assets/scenes/Z2_KAIZOKU_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_MILK_BAR', 'build/comp/assets/scenes/Z2_MILK_BAR.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_MILK_BAR_room_00', 'build/comp/assets/scenes/Z2_MILK_BAR_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_INISIE_N', 'build/comp/assets/scenes/Z2_INISIE_N.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_INISIE_N_room_00', 'build/comp/assets/scenes/Z2_INISIE_N_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_INISIE_N_room_01', 'build/comp/assets/scenes/Z2_INISIE_N_room_01.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_INISIE_N_room_02', 'build/comp/assets/scenes/Z2_INISIE_N_room_02.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_INISIE_N_room_03', 'build/comp/assets/scenes/Z2_INISIE_N_room_03.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_INISIE_N_room_04', 'build/comp/assets/scenes/Z2_INISIE_N_room_04.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_INISIE_N_room_05', 'build/comp/assets/scenes/Z2_INISIE_N_room_05.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_INISIE_N_room_06', 'build/comp/assets/scenes/Z2_INISIE_N_room_06.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_INISIE_N_room_07', 'build/comp/assets/scenes/Z2_INISIE_N_room_07.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_INISIE_N_room_08', 'build/comp/assets/scenes/Z2_INISIE_N_room_08.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_INISIE_N_room_09', 'build/comp/assets/scenes/Z2_INISIE_N_room_09.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_INISIE_N_room_10', 'build/comp/assets/scenes/Z2_INISIE_N_room_10.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_INISIE_N_room_11', 'build/comp/assets/scenes/Z2_INISIE_N_room_11.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_TAKARAYA', 'build/comp/assets/scenes/Z2_TAKARAYA.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_TAKARAYA_room_00', 'build/comp/assets/scenes/Z2_TAKARAYA_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_INISIE_R', 'build/comp/assets/scenes/Z2_INISIE_R.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_INISIE_R_room_00', 'build/comp/assets/scenes/Z2_INISIE_R_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_INISIE_R_room_01', 'build/comp/assets/scenes/Z2_INISIE_R_room_01.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_INISIE_R_room_02', 'build/comp/assets/scenes/Z2_INISIE_R_room_02.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_INISIE_R_room_03', 'build/comp/assets/scenes/Z2_INISIE_R_room_03.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_INISIE_R_room_04', 'build/comp/assets/scenes/Z2_INISIE_R_room_04.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_INISIE_R_room_05', 'build/comp/assets/scenes/Z2_INISIE_R_room_05.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_INISIE_R_room_06', 'build/comp/assets/scenes/Z2_INISIE_R_room_06.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_INISIE_R_room_07', 'build/comp/assets/scenes/Z2_INISIE_R_room_07.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_INISIE_R_room_08', 'build/comp/assets/scenes/Z2_INISIE_R_room_08.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_INISIE_R_room_09', 'build/comp/assets/scenes/Z2_INISIE_R_room_09.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_INISIE_R_room_10', 'build/comp/assets/scenes/Z2_INISIE_R_room_10.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_INISIE_R_room_11', 'build/comp/assets/scenes/Z2_INISIE_R_room_11.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_OKUJOU', 'build/comp/assets/scenes/Z2_OKUJOU.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_OKUJOU_room_00', 'build/comp/assets/scenes/Z2_OKUJOU_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_OPENINGDAN', 'build/comp/assets/scenes/Z2_OPENINGDAN.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_OPENINGDAN_room_00', 'build/comp/assets/scenes/Z2_OPENINGDAN_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_OPENINGDAN_room_01', 'build/comp/assets/scenes/Z2_OPENINGDAN_room_01.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_MITURIN', 'build/comp/assets/scenes/Z2_MITURIN.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_MITURIN_room_00', 'build/comp/assets/scenes/Z2_MITURIN_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_MITURIN_room_01', 'build/comp/assets/scenes/Z2_MITURIN_room_01.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_MITURIN_room_02', 'build/comp/assets/scenes/Z2_MITURIN_room_02.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_MITURIN_room_03', 'build/comp/assets/scenes/Z2_MITURIN_room_03.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_MITURIN_room_04', 'build/comp/assets/scenes/Z2_MITURIN_room_04.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_MITURIN_room_05', 'build/comp/assets/scenes/Z2_MITURIN_room_05.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_MITURIN_room_06', 'build/comp/assets/scenes/Z2_MITURIN_room_06.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_MITURIN_room_07', 'build/comp/assets/scenes/Z2_MITURIN_room_07.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_MITURIN_room_08', 'build/comp/assets/scenes/Z2_MITURIN_room_08.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_MITURIN_room_09', 'build/comp/assets/scenes/Z2_MITURIN_room_09.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_MITURIN_room_10', 'build/comp/assets/scenes/Z2_MITURIN_room_10.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_MITURIN_room_11', 'build/comp/assets/scenes/Z2_MITURIN_room_11.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_MITURIN_room_12', 'build/comp/assets/scenes/Z2_MITURIN_room_12.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_13HUBUKINOMITI', 'build/comp/assets/scenes/Z2_13HUBUKINOMITI.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_13HUBUKINOMITI_room_00', 'build/comp/assets/scenes/Z2_13HUBUKINOMITI_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_CASTLE', 'build/comp/assets/scenes/Z2_CASTLE.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_CASTLE_room_00', 'build/comp/assets/scenes/Z2_CASTLE_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_CASTLE_room_01', 'build/comp/assets/scenes/Z2_CASTLE_room_01.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_CASTLE_room_02', 'build/comp/assets/scenes/Z2_CASTLE_room_02.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_CASTLE_room_03', 'build/comp/assets/scenes/Z2_CASTLE_room_03.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_CASTLE_room_04', 'build/comp/assets/scenes/Z2_CASTLE_room_04.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_CASTLE_room_05', 'build/comp/assets/scenes/Z2_CASTLE_room_05.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_CASTLE_room_06', 'build/comp/assets/scenes/Z2_CASTLE_room_06.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_CASTLE_room_07', 'build/comp/assets/scenes/Z2_CASTLE_room_07.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_CASTLE_room_08', 'build/comp/assets/scenes/Z2_CASTLE_room_08.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_CASTLE_room_09', 'build/comp/assets/scenes/Z2_CASTLE_room_09.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_DEKUTES', 'build/comp/assets/scenes/Z2_DEKUTES.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_DEKUTES_room_00', 'build/comp/assets/scenes/Z2_DEKUTES_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_MITURIN_BS', 'build/comp/assets/scenes/Z2_MITURIN_BS.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_MITURIN_BS_room_00', 'build/comp/assets/scenes/Z2_MITURIN_BS_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_SYATEKI_MIZU', 'build/comp/assets/scenes/Z2_SYATEKI_MIZU.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_SYATEKI_MIZU_room_00', 'build/comp/assets/scenes/Z2_SYATEKI_MIZU_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_HAKUGIN', 'build/comp/assets/scenes/Z2_HAKUGIN.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_HAKUGIN_room_00', 'build/comp/assets/scenes/Z2_HAKUGIN_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_HAKUGIN_room_01', 'build/comp/assets/scenes/Z2_HAKUGIN_room_01.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_HAKUGIN_room_02', 'build/comp/assets/scenes/Z2_HAKUGIN_room_02.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_HAKUGIN_room_03', 'build/comp/assets/scenes/Z2_HAKUGIN_room_03.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_HAKUGIN_room_04', 'build/comp/assets/scenes/Z2_HAKUGIN_room_04.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_HAKUGIN_room_05', 'build/comp/assets/scenes/Z2_HAKUGIN_room_05.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_HAKUGIN_room_06', 'build/comp/assets/scenes/Z2_HAKUGIN_room_06.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_HAKUGIN_room_07', 'build/comp/assets/scenes/Z2_HAKUGIN_room_07.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_HAKUGIN_room_08', 'build/comp/assets/scenes/Z2_HAKUGIN_room_08.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_HAKUGIN_room_09', 'build/comp/assets/scenes/Z2_HAKUGIN_room_09.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_HAKUGIN_room_10', 'build/comp/assets/scenes/Z2_HAKUGIN_room_10.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_HAKUGIN_room_11', 'build/comp/assets/scenes/Z2_HAKUGIN_room_11.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_HAKUGIN_room_12', 'build/comp/assets/scenes/Z2_HAKUGIN_room_12.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_HAKUGIN_room_13', 'build/comp/assets/scenes/Z2_HAKUGIN_room_13.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_ROMANYMAE', 'build/comp/assets/scenes/Z2_ROMANYMAE.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_ROMANYMAE_room_00', 'build/comp/assets/scenes/Z2_ROMANYMAE_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_PIRATE', 'build/comp/assets/scenes/Z2_PIRATE.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_PIRATE_room_00', 'build/comp/assets/scenes/Z2_PIRATE_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_PIRATE_room_01', 'build/comp/assets/scenes/Z2_PIRATE_room_01.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_PIRATE_room_02', 'build/comp/assets/scenes/Z2_PIRATE_room_02.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_PIRATE_room_03', 'build/comp/assets/scenes/Z2_PIRATE_room_03.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_PIRATE_room_04', 'build/comp/assets/scenes/Z2_PIRATE_room_04.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_PIRATE_room_05', 'build/comp/assets/scenes/Z2_PIRATE_room_05.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_PIRATE_room_06', 'build/comp/assets/scenes/Z2_PIRATE_room_06.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_PIRATE_room_07', 'build/comp/assets/scenes/Z2_PIRATE_room_07.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_PIRATE_room_08', 'build/comp/assets/scenes/Z2_PIRATE_room_08.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_PIRATE_room_09', 'build/comp/assets/scenes/Z2_PIRATE_room_09.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_PIRATE_room_10', 'build/comp/assets/scenes/Z2_PIRATE_room_10.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_PIRATE_room_11', 'build/comp/assets/scenes/Z2_PIRATE_room_11.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_PIRATE_room_12', 'build/comp/assets/scenes/Z2_PIRATE_room_12.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_PIRATE_room_13', 'build/comp/assets/scenes/Z2_PIRATE_room_13.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_PIRATE_room_14', 'build/comp/assets/scenes/Z2_PIRATE_room_14.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_SYATEKI_MORI', 'build/comp/assets/scenes/Z2_SYATEKI_MORI.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_SYATEKI_MORI_room_00', 'build/comp/assets/scenes/Z2_SYATEKI_MORI_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_SINKAI', 'build/comp/assets/scenes/Z2_SINKAI.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_SINKAI_room_00', 'build/comp/assets/scenes/Z2_SINKAI_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_YOUSEI_IZUMI', 'build/comp/assets/scenes/Z2_YOUSEI_IZUMI.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_YOUSEI_IZUMI_room_00', 'build/comp/assets/scenes/Z2_YOUSEI_IZUMI_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_YOUSEI_IZUMI_room_01', 'build/comp/assets/scenes/Z2_YOUSEI_IZUMI_room_01.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_YOUSEI_IZUMI_room_02', 'build/comp/assets/scenes/Z2_YOUSEI_IZUMI_room_02.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_YOUSEI_IZUMI_room_03', 'build/comp/assets/scenes/Z2_YOUSEI_IZUMI_room_03.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_YOUSEI_IZUMI_room_04', 'build/comp/assets/scenes/Z2_YOUSEI_IZUMI_room_04.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_KINSTA1', 'build/comp/assets/scenes/Z2_KINSTA1.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_KINSTA1_room_00', 'build/comp/assets/scenes/Z2_KINSTA1_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_KINSTA1_room_01', 'build/comp/assets/scenes/Z2_KINSTA1_room_01.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_KINSTA1_room_02', 'build/comp/assets/scenes/Z2_KINSTA1_room_02.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_KINSTA1_room_03', 'build/comp/assets/scenes/Z2_KINSTA1_room_03.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_KINSTA1_room_04', 'build/comp/assets/scenes/Z2_KINSTA1_room_04.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_KINSTA1_room_05', 'build/comp/assets/scenes/Z2_KINSTA1_room_05.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_KINDAN2', 'build/comp/assets/scenes/Z2_KINDAN2.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_KINDAN2_room_00', 'build/comp/assets/scenes/Z2_KINDAN2_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_KINDAN2_room_01', 'build/comp/assets/scenes/Z2_KINDAN2_room_01.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_KINDAN2_room_02', 'build/comp/assets/scenes/Z2_KINDAN2_room_02.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_KINDAN2_room_03', 'build/comp/assets/scenes/Z2_KINDAN2_room_03.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_KINDAN2_room_04', 'build/comp/assets/scenes/Z2_KINDAN2_room_04.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_KINDAN2_room_05', 'build/comp/assets/scenes/Z2_KINDAN2_room_05.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_TENMON_DAI', 'build/comp/assets/scenes/Z2_TENMON_DAI.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_TENMON_DAI_room_00', 'build/comp/assets/scenes/Z2_TENMON_DAI_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_TENMON_DAI_room_01', 'build/comp/assets/scenes/Z2_TENMON_DAI_room_01.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_LAST_DEKU', 'build/comp/assets/scenes/Z2_LAST_DEKU.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_LAST_DEKU_room_00', 'build/comp/assets/scenes/Z2_LAST_DEKU_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_LAST_DEKU_room_01', 'build/comp/assets/scenes/Z2_LAST_DEKU_room_01.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_22DEKUCITY', 'build/comp/assets/scenes/Z2_22DEKUCITY.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_22DEKUCITY_room_00', 'build/comp/assets/scenes/Z2_22DEKUCITY_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_22DEKUCITY_room_01', 'build/comp/assets/scenes/Z2_22DEKUCITY_room_01.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_22DEKUCITY_room_02', 'build/comp/assets/scenes/Z2_22DEKUCITY_room_02.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_KAJIYA', 'build/comp/assets/scenes/Z2_KAJIYA.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_KAJIYA_room_00', 'build/comp/assets/scenes/Z2_KAJIYA_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_00KEIKOKU', 'build/comp/assets/scenes/Z2_00KEIKOKU.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_00KEIKOKU_room_00', 'build/comp/assets/scenes/Z2_00KEIKOKU_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_POSTHOUSE', 'build/comp/assets/scenes/Z2_POSTHOUSE.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_POSTHOUSE_room_00', 'build/comp/assets/scenes/Z2_POSTHOUSE_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_LABO', 'build/comp/assets/scenes/Z2_LABO.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_LABO_room_00', 'build/comp/assets/scenes/Z2_LABO_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_DANPEI2TEST', 'build/comp/assets/scenes/Z2_DANPEI2TEST.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_DANPEI2TEST_room_00', 'build/comp/assets/scenes/Z2_DANPEI2TEST_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_DANPEI2TEST_room_01', 'build/comp/assets/scenes/Z2_DANPEI2TEST_room_01.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_16GORON_HOUSE', 'build/comp/assets/scenes/Z2_16GORON_HOUSE.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_16GORON_HOUSE_room_00', 'build/comp/assets/scenes/Z2_16GORON_HOUSE_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_16GORON_HOUSE_room_01', 'build/comp/assets/scenes/Z2_16GORON_HOUSE_room_01.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_33ZORACITY', 'build/comp/assets/scenes/Z2_33ZORACITY.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_33ZORACITY_room_00', 'build/comp/assets/scenes/Z2_33ZORACITY_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_8ITEMSHOP', 'build/comp/assets/scenes/Z2_8ITEMSHOP.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_8ITEMSHOP_room_00', 'build/comp/assets/scenes/Z2_8ITEMSHOP_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_F01', 'build/comp/assets/scenes/Z2_F01.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_F01_room_00', 'build/comp/assets/scenes/Z2_F01_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_INISIE_BS', 'build/comp/assets/scenes/Z2_INISIE_BS.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_INISIE_BS_room_00', 'build/comp/assets/scenes/Z2_INISIE_BS_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_30GYOSON', 'build/comp/assets/scenes/Z2_30GYOSON.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_30GYOSON_room_00', 'build/comp/assets/scenes/Z2_30GYOSON_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_31MISAKI', 'build/comp/assets/scenes/Z2_31MISAKI.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_31MISAKI_room_00', 'build/comp/assets/scenes/Z2_31MISAKI_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_TAKARAKUJI', 'build/comp/assets/scenes/Z2_TAKARAKUJI.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_TAKARAKUJI_room_00', 'build/comp/assets/scenes/Z2_TAKARAKUJI_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_TORIDE', 'build/comp/assets/scenes/Z2_TORIDE.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_TORIDE_room_00', 'build/comp/assets/scenes/Z2_TORIDE_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_FISHERMAN', 'build/comp/assets/scenes/Z2_FISHERMAN.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_FISHERMAN_room_00', 'build/comp/assets/scenes/Z2_FISHERMAN_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_GORONSHOP', 'build/comp/assets/scenes/Z2_GORONSHOP.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_GORONSHOP_room_00', 'build/comp/assets/scenes/Z2_GORONSHOP_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_DEKU_KING', 'build/comp/assets/scenes/Z2_DEKU_KING.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_DEKU_KING_room_00', 'build/comp/assets/scenes/Z2_DEKU_KING_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_LAST_GORON', 'build/comp/assets/scenes/Z2_LAST_GORON.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_LAST_GORON_room_00', 'build/comp/assets/scenes/Z2_LAST_GORON_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_LAST_GORON_room_01', 'build/comp/assets/scenes/Z2_LAST_GORON_room_01.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_24KEMONOMITI', 'build/comp/assets/scenes/Z2_24KEMONOMITI.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_24KEMONOMITI_room_00', 'build/comp/assets/scenes/Z2_24KEMONOMITI_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_F01_B', 'build/comp/assets/scenes/Z2_F01_B.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_F01_B_room_00', 'build/comp/assets/scenes/Z2_F01_B_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_F01C', 'build/comp/assets/scenes/Z2_F01C.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_F01C_room_00', 'build/comp/assets/scenes/Z2_F01C_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_BOTI', 'build/comp/assets/scenes/Z2_BOTI.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_BOTI_room_00', 'build/comp/assets/scenes/Z2_BOTI_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_BOTI_room_01', 'build/comp/assets/scenes/Z2_BOTI_room_01.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_HAKUGIN_BS', 'build/comp/assets/scenes/Z2_HAKUGIN_BS.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_HAKUGIN_BS_room_00', 'build/comp/assets/scenes/Z2_HAKUGIN_BS_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_20SICHITAI', 'build/comp/assets/scenes/Z2_20SICHITAI.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_20SICHITAI_room_00', 'build/comp/assets/scenes/Z2_20SICHITAI_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_20SICHITAI_room_01', 'build/comp/assets/scenes/Z2_20SICHITAI_room_01.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_20SICHITAI_room_02', 'build/comp/assets/scenes/Z2_20SICHITAI_room_02.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_21MITURINMAE', 'build/comp/assets/scenes/Z2_21MITURINMAE.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_21MITURINMAE_room_00', 'build/comp/assets/scenes/Z2_21MITURINMAE_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_LAST_ZORA', 'build/comp/assets/scenes/Z2_LAST_ZORA.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_LAST_ZORA_room_00', 'build/comp/assets/scenes/Z2_LAST_ZORA_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_11GORONNOSATO2', 'build/comp/assets/scenes/Z2_11GORONNOSATO2.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_11GORONNOSATO2_room_00', 'build/comp/assets/scenes/Z2_11GORONNOSATO2_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_11GORONNOSATO2_room_01', 'build/comp/assets/scenes/Z2_11GORONNOSATO2_room_01.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_SEA', 'build/comp/assets/scenes/Z2_SEA.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_SEA_room_00', 'build/comp/assets/scenes/Z2_SEA_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_SEA_room_01', 'build/comp/assets/scenes/Z2_SEA_room_01.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_SEA_room_02', 'build/comp/assets/scenes/Z2_SEA_room_02.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_SEA_room_03', 'build/comp/assets/scenes/Z2_SEA_room_03.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_SEA_room_04', 'build/comp/assets/scenes/Z2_SEA_room_04.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_SEA_room_05', 'build/comp/assets/scenes/Z2_SEA_room_05.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_SEA_room_06', 'build/comp/assets/scenes/Z2_SEA_room_06.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_SEA_room_07', 'build/comp/assets/scenes/Z2_SEA_room_07.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_SEA_room_08', 'build/comp/assets/scenes/Z2_SEA_room_08.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_SEA_room_09', 'build/comp/assets/scenes/Z2_SEA_room_09.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_SEA_room_10', 'build/comp/assets/scenes/Z2_SEA_room_10.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_SEA_room_11', 'build/comp/assets/scenes/Z2_SEA_room_11.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_SEA_room_12', 'build/comp/assets/scenes/Z2_SEA_room_12.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_SEA_room_13', 'build/comp/assets/scenes/Z2_SEA_room_13.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_SEA_room_14', 'build/comp/assets/scenes/Z2_SEA_room_14.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_SEA_room_15', 'build/comp/assets/scenes/Z2_SEA_room_15.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_35TAKI', 'build/comp/assets/scenes/Z2_35TAKI.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_35TAKI_room_00', 'build/comp/assets/scenes/Z2_35TAKI_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_REDEAD', 'build/comp/assets/scenes/Z2_REDEAD.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_REDEAD_room_00', 'build/comp/assets/scenes/Z2_REDEAD_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_REDEAD_room_01', 'build/comp/assets/scenes/Z2_REDEAD_room_01.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_REDEAD_room_02', 'build/comp/assets/scenes/Z2_REDEAD_room_02.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_REDEAD_room_03', 'build/comp/assets/scenes/Z2_REDEAD_room_03.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_REDEAD_room_04', 'build/comp/assets/scenes/Z2_REDEAD_room_04.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_REDEAD_room_05', 'build/comp/assets/scenes/Z2_REDEAD_room_05.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_REDEAD_room_06', 'build/comp/assets/scenes/Z2_REDEAD_room_06.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_REDEAD_room_07', 'build/comp/assets/scenes/Z2_REDEAD_room_07.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_REDEAD_room_08', 'build/comp/assets/scenes/Z2_REDEAD_room_08.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_REDEAD_room_09', 'build/comp/assets/scenes/Z2_REDEAD_room_09.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_REDEAD_room_10', 'build/comp/assets/scenes/Z2_REDEAD_room_10.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_REDEAD_room_11', 'build/comp/assets/scenes/Z2_REDEAD_room_11.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_REDEAD_room_12', 'build/comp/assets/scenes/Z2_REDEAD_room_12.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_REDEAD_room_13', 'build/comp/assets/scenes/Z2_REDEAD_room_13.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_BANDROOM', 'build/comp/assets/scenes/Z2_BANDROOM.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_BANDROOM_room_00', 'build/comp/assets/scenes/Z2_BANDROOM_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_BANDROOM_room_01', 'build/comp/assets/scenes/Z2_BANDROOM_room_01.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_BANDROOM_room_02', 'build/comp/assets/scenes/Z2_BANDROOM_room_02.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_BANDROOM_room_03', 'build/comp/assets/scenes/Z2_BANDROOM_room_03.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_BANDROOM_room_04', 'build/comp/assets/scenes/Z2_BANDROOM_room_04.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_11GORONNOSATO', 'build/comp/assets/scenes/Z2_11GORONNOSATO.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_11GORONNOSATO_room_00', 'build/comp/assets/scenes/Z2_11GORONNOSATO_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_11GORONNOSATO_room_01', 'build/comp/assets/scenes/Z2_11GORONNOSATO_room_01.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_GORON_HAKA', 'build/comp/assets/scenes/Z2_GORON_HAKA.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_GORON_HAKA_room_00', 'build/comp/assets/scenes/Z2_GORON_HAKA_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_SECOM', 'build/comp/assets/scenes/Z2_SECOM.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_SECOM_room_00', 'build/comp/assets/scenes/Z2_SECOM_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_SECOM_room_01', 'build/comp/assets/scenes/Z2_SECOM_room_01.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_10YUKIYAMANOMURA', 'build/comp/assets/scenes/Z2_10YUKIYAMANOMURA.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_10YUKIYAMANOMURA_room_00', 'build/comp/assets/scenes/Z2_10YUKIYAMANOMURA_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_TOUGITES', 'build/comp/assets/scenes/Z2_TOUGITES.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_TOUGITES_room_00', 'build/comp/assets/scenes/Z2_TOUGITES_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_DANPEI', 'build/comp/assets/scenes/Z2_DANPEI.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_DANPEI_room_00', 'build/comp/assets/scenes/Z2_DANPEI_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_DANPEI_room_01', 'build/comp/assets/scenes/Z2_DANPEI_room_01.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_DANPEI_room_02', 'build/comp/assets/scenes/Z2_DANPEI_room_02.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_DANPEI_room_03', 'build/comp/assets/scenes/Z2_DANPEI_room_03.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_DANPEI_room_04', 'build/comp/assets/scenes/Z2_DANPEI_room_04.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_DANPEI_room_05', 'build/comp/assets/scenes/Z2_DANPEI_room_05.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_DANPEI_room_06', 'build/comp/assets/scenes/Z2_DANPEI_room_06.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_DANPEI_room_07', 'build/comp/assets/scenes/Z2_DANPEI_room_07.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_DANPEI_room_08', 'build/comp/assets/scenes/Z2_DANPEI_room_08.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_IKANAMAE', 'build/comp/assets/scenes/Z2_IKANAMAE.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_IKANAMAE_room_00', 'build/comp/assets/scenes/Z2_IKANAMAE_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_DOUJOU', 'build/comp/assets/scenes/Z2_DOUJOU.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_DOUJOU_room_00', 'build/comp/assets/scenes/Z2_DOUJOU_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_MUSICHOUSE', 'build/comp/assets/scenes/Z2_MUSICHOUSE.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_MUSICHOUSE_room_00', 'build/comp/assets/scenes/Z2_MUSICHOUSE_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_IKNINSIDE', 'build/comp/assets/scenes/Z2_IKNINSIDE.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_IKNINSIDE_room_00', 'build/comp/assets/scenes/Z2_IKNINSIDE_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_IKNINSIDE_room_01', 'build/comp/assets/scenes/Z2_IKNINSIDE_room_01.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_MAP_SHOP', 'build/comp/assets/scenes/Z2_MAP_SHOP.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_MAP_SHOP_room_00', 'build/comp/assets/scenes/Z2_MAP_SHOP_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_F40', 'build/comp/assets/scenes/Z2_F40.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_F40_room_00', 'build/comp/assets/scenes/Z2_F40_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_F41', 'build/comp/assets/scenes/Z2_F41.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_F41_room_00', 'build/comp/assets/scenes/Z2_F41_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_10YUKIYAMANOMURA2', 'build/comp/assets/scenes/Z2_10YUKIYAMANOMURA2.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_10YUKIYAMANOMURA2_room_00', 'build/comp/assets/scenes/Z2_10YUKIYAMANOMURA2_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_10YUKIYAMANOMURA2_room_01', 'build/comp/assets/scenes/Z2_10YUKIYAMANOMURA2_room_01.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_14YUKIDAMANOMITI', 'build/comp/assets/scenes/Z2_14YUKIDAMANOMITI.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_14YUKIDAMANOMITI_room_00', 'build/comp/assets/scenes/Z2_14YUKIDAMANOMITI_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_12HAKUGINMAE', 'build/comp/assets/scenes/Z2_12HAKUGINMAE.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_12HAKUGINMAE_room_00', 'build/comp/assets/scenes/Z2_12HAKUGINMAE_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_17SETUGEN', 'build/comp/assets/scenes/Z2_17SETUGEN.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_17SETUGEN_room_00', 'build/comp/assets/scenes/Z2_17SETUGEN_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_17SETUGEN2', 'build/comp/assets/scenes/Z2_17SETUGEN2.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_17SETUGEN2_room_00', 'build/comp/assets/scenes/Z2_17SETUGEN2_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_SEA_BS', 'build/comp/assets/scenes/Z2_SEA_BS.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_SEA_BS_room_00', 'build/comp/assets/scenes/Z2_SEA_BS_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_RANDOM', 'build/comp/assets/scenes/Z2_RANDOM.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_RANDOM_room_00', 'build/comp/assets/scenes/Z2_RANDOM_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_RANDOM_room_01', 'build/comp/assets/scenes/Z2_RANDOM_room_01.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_RANDOM_room_02', 'build/comp/assets/scenes/Z2_RANDOM_room_02.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_RANDOM_room_03', 'build/comp/assets/scenes/Z2_RANDOM_room_03.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_RANDOM_room_04', 'build/comp/assets/scenes/Z2_RANDOM_room_04.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_RANDOM_room_05', 'build/comp/assets/scenes/Z2_RANDOM_room_05.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_YADOYA', 'build/comp/assets/scenes/Z2_YADOYA.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_YADOYA_room_00', 'build/comp/assets/scenes/Z2_YADOYA_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_YADOYA_room_01', 'build/comp/assets/scenes/Z2_YADOYA_room_01.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_YADOYA_room_02', 'build/comp/assets/scenes/Z2_YADOYA_room_02.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_YADOYA_room_03', 'build/comp/assets/scenes/Z2_YADOYA_room_03.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_YADOYA_room_04', 'build/comp/assets/scenes/Z2_YADOYA_room_04.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_KONPEKI_ENT', 'build/comp/assets/scenes/Z2_KONPEKI_ENT.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_KONPEKI_ENT_room_00', 'build/comp/assets/scenes/Z2_KONPEKI_ENT_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_INSIDETOWER', 'build/comp/assets/scenes/Z2_INSIDETOWER.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_INSIDETOWER_room_00', 'build/comp/assets/scenes/Z2_INSIDETOWER_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_INSIDETOWER_room_01', 'build/comp/assets/scenes/Z2_INSIDETOWER_room_01.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_26SARUNOMORI', 'build/comp/assets/scenes/Z2_26SARUNOMORI.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_26SARUNOMORI_room_00', 'build/comp/assets/scenes/Z2_26SARUNOMORI_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_26SARUNOMORI_room_01', 'build/comp/assets/scenes/Z2_26SARUNOMORI_room_01.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_26SARUNOMORI_room_02', 'build/comp/assets/scenes/Z2_26SARUNOMORI_room_02.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_26SARUNOMORI_room_03', 'build/comp/assets/scenes/Z2_26SARUNOMORI_room_03.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_26SARUNOMORI_room_04', 'build/comp/assets/scenes/Z2_26SARUNOMORI_room_04.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_26SARUNOMORI_room_05', 'build/comp/assets/scenes/Z2_26SARUNOMORI_room_05.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_26SARUNOMORI_room_06', 'build/comp/assets/scenes/Z2_26SARUNOMORI_room_06.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_26SARUNOMORI_room_07', 'build/comp/assets/scenes/Z2_26SARUNOMORI_room_07.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_26SARUNOMORI_room_08', 'build/comp/assets/scenes/Z2_26SARUNOMORI_room_08.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_LOST_WOODS', 'build/comp/assets/scenes/Z2_LOST_WOODS.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_LOST_WOODS_room_00', 'build/comp/assets/scenes/Z2_LOST_WOODS_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_LOST_WOODS_room_01', 'build/comp/assets/scenes/Z2_LOST_WOODS_room_01.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_LOST_WOODS_room_02', 'build/comp/assets/scenes/Z2_LOST_WOODS_room_02.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_LAST_LINK', 'build/comp/assets/scenes/Z2_LAST_LINK.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_LAST_LINK_room_00', 'build/comp/assets/scenes/Z2_LAST_LINK_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_LAST_LINK_room_01', 'build/comp/assets/scenes/Z2_LAST_LINK_room_01.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_LAST_LINK_room_02', 'build/comp/assets/scenes/Z2_LAST_LINK_room_02.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_LAST_LINK_room_03', 'build/comp/assets/scenes/Z2_LAST_LINK_room_03.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_LAST_LINK_room_04', 'build/comp/assets/scenes/Z2_LAST_LINK_room_04.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_LAST_LINK_room_05', 'build/comp/assets/scenes/Z2_LAST_LINK_room_05.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_LAST_LINK_room_06', 'build/comp/assets/scenes/Z2_LAST_LINK_room_06.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_LAST_LINK_room_07', 'build/comp/assets/scenes/Z2_LAST_LINK_room_07.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_SOUGEN', 'build/comp/assets/scenes/Z2_SOUGEN.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_SOUGEN_room_00', 'build/comp/assets/scenes/Z2_SOUGEN_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_BOMYA', 'build/comp/assets/scenes/Z2_BOMYA.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_BOMYA_room_00', 'build/comp/assets/scenes/Z2_BOMYA_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_KYOJINNOMA', 'build/comp/assets/scenes/Z2_KYOJINNOMA.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_KYOJINNOMA_room_00', 'build/comp/assets/scenes/Z2_KYOJINNOMA_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_KOEPONARACE', 'build/comp/assets/scenes/Z2_KOEPONARACE.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_KOEPONARACE_room_00', 'build/comp/assets/scenes/Z2_KOEPONARACE_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_GORONRACE', 'build/comp/assets/scenes/Z2_GORONRACE.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_GORONRACE_room_00', 'build/comp/assets/scenes/Z2_GORONRACE_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_TOWN', 'build/comp/assets/scenes/Z2_TOWN.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_TOWN_room_00', 'build/comp/assets/scenes/Z2_TOWN_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_ICHIBA', 'build/comp/assets/scenes/Z2_ICHIBA.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_ICHIBA_room_00', 'build/comp/assets/scenes/Z2_ICHIBA_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_BACKTOWN', 'build/comp/assets/scenes/Z2_BACKTOWN.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_BACKTOWN_room_00', 'build/comp/assets/scenes/Z2_BACKTOWN_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_CLOCKTOWER', 'build/comp/assets/scenes/Z2_CLOCKTOWER.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_CLOCKTOWER_room_00', 'build/comp/assets/scenes/Z2_CLOCKTOWER_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_ALLEY', 'build/comp/assets/scenes/Z2_ALLEY.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/Z2_ALLEY_room_00', 'build/comp/assets/scenes/Z2_ALLEY_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/SPOT00', 'build/comp/assets/scenes/SPOT00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/SPOT00_room_00', 'build/comp/assets/scenes/SPOT00_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/KAKUSIANA', 'build/comp/assets/scenes/KAKUSIANA.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/KAKUSIANA_room_00', 'build/comp/assets/scenes/KAKUSIANA_room_00.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/KAKUSIANA_room_01', 'build/comp/assets/scenes/KAKUSIANA_room_01.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/KAKUSIANA_room_02', 'build/comp/assets/scenes/KAKUSIANA_room_02.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/KAKUSIANA_room_03', 'build/comp/assets/scenes/KAKUSIANA_room_03.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/KAKUSIANA_room_04', 'build/comp/assets/scenes/KAKUSIANA_room_04.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/KAKUSIANA_room_05', 'build/comp/assets/scenes/KAKUSIANA_room_05.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/KAKUSIANA_room_06', 'build/comp/assets/scenes/KAKUSIANA_room_06.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/KAKUSIANA_room_07', 'build/comp/assets/scenes/KAKUSIANA_room_07.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/KAKUSIANA_room_08', 'build/comp/assets/scenes/KAKUSIANA_room_08.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/KAKUSIANA_room_09', 'build/comp/assets/scenes/KAKUSIANA_room_09.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/KAKUSIANA_room_10', 'build/comp/assets/scenes/KAKUSIANA_room_10.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/KAKUSIANA_room_11', 'build/comp/assets/scenes/KAKUSIANA_room_11.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/KAKUSIANA_room_12', 'build/comp/assets/scenes/KAKUSIANA_room_12.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/KAKUSIANA_room_13', 'build/comp/assets/scenes/KAKUSIANA_room_13.yaz0', 0x1000, 0), - ('build/binary/assets/scenes/KAKUSIANA_room_14', 'build/comp/assets/scenes/KAKUSIANA_room_14.yaz0', 0x1000, 0), - ('build/baserom/assets/textures/bump_texture_static', 'build/comp/assets/textures/bump_texture_static.yaz0', 0x1000, 0), - ('', '', 0x1000, 0x10), - ('', '', 0x1000, 0x10), - ('', '', 0x1000, 0x10), - ('', '', 0x1000, 0x10), - ('', '', 0x1000, 0x10), - ('', '', 0x1000, 0x10), - ('', '', 0x1000, 0x10), - ('', '', 0x1000, 0x10), - ('', '', 0x1000, 0x10), - ('', '', 0x1000, 0x10), - ('', '', 0x1000, 0x10), - ('', '', 0x1000, 0x10), - ('', '', 0x1000, 0x40), - ('', '', 0, 0), - ('', '', 0, 0), - ('', '', 0, 0), - ('', '', 0, 0), - ('', '', 0, 0), - ('', '', 0, 0), - ('', '', 0, 0), - ('', '', 0, 0), - ('', '', 0, 0), - ('', '', 0, 0), - ('', '', 0, 0), - ('', '', 0, 0), - ('', '', 0, 0), - ('', '', 0, 0), - ('', '', 0, 0), - ('', '', 0, 0), -] diff --git a/tables/files.txt b/tables/files.txt deleted file mode 100644 index 90d7473fbf..0000000000 --- a/tables/files.txt +++ /dev/null @@ -1,623 +0,0 @@ -# Follows the format of (Disassembled Location, File Location, Name, Start Address, .data/.rodata Segments (Start, End Inclusive), .bss Segments) -# TODO split .data & .rodata? -{ - ('boot/', 'baserom/', 'boot', 0x80080060, ((0x800969C0, 0x800994FF),),((0x80099500,0x800A5ABF),)), - ('code/', 'baserom/', 'code', 0x800A5AC0, ((0x80186028, 0x80186A6F),(0x801AAAB0, 0x801E3F9F),),((0x801E3FA0,0x807FFFFF),)), - ('overlays/', 'baserom/overlays', 'ovl_title', 0x80800000, ((0x80800860, 0x8080090F),),()), - ('overlays/', 'baserom/overlays', 'ovl_select', 0x80800910, ((0x80801C80, 0x80803DEF),),()), - ('overlays/', 'baserom/overlays', 'ovl_opening', 0x80803DF0, ((0x80803FC0, 0x8080400F),),()), - ('overlays/', 'baserom/overlays', 'ovl_file_choose', 0x80804010, ((0x80813DF0, 0x80814E7F),),((0x80814E80,0x80814EAF),)), - ('overlays/', 'baserom/overlays', 'ovl_daytelop', 0x80814EB0, ((0x808158E0, 0x8081609F),),()), - ('overlays/', 'baserom/overlays', 'ovl_kaleido_scope', 0x808160A0, ((0x8082AED0, 0x8082DA4F),),((0x8082DA50,0x8082DA8F),)), - ('overlays/', 'baserom/overlays', 'ovl_Player_Actor', 0x8082DA90, ((0x8085B9F0, 0x80862AEF),),((0x80862AF0,0x80862B6F),)), - ('overlays/', 'baserom/overlays', 'ovl_En_Test', 0x80862B70, ((0x808637B0, 0x8086386F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_GirlA', 0x80863870, ((0x80864A30, 0x8086536F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Part', 0x80865370, ((0x808658E0, 0x8086598F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Light', 0x80865990, ((0x808666B0, 0x808667FF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Door', 0x80866800, ((0x808675D0, 0x80867BBF),),((0x80867BC0,0x80867BCF),)), - ('overlays/', 'baserom/overlays', 'ovl_En_Box', 0x80867BD0, ((0x80869B30, 0x80869D8F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Pametfrog', 0x80869D90, ((0x8086D940, 0x8086DE1F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Okuta', 0x8086DE20, ((0x80870870, 0x80870DAF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Bom', 0x80870DB0, ((0x80872DA0, 0x8087464F),),((0x80874650,0x8087480F),)), - ('overlays/', 'baserom/overlays', 'ovl_En_Wallmas', 0x80874810, ((0x80876340, 0x8087666F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Dodongo', 0x80876670, ((0x808790B0, 0x808796EF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Firefly', 0x808796F0, ((0x8087B450, 0x8087B72F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Horse', 0x8087B730, ((0x80888EC0, 0x8088A23F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Arrow', 0x8088A240, ((0x8088C1C0, 0x8088C50F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Elf', 0x8088C510, ((0x808909C0, 0x8089105F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Niw', 0x80891060, ((0x80893460, 0x808937EF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Tite', 0x808937F0, ((0x80896AB0, 0x80896F2F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Peehat', 0x80896F30, ((0x80899410, 0x8089995F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Holl', 0x80899960, ((0x8089A530, 0x8089A6DF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Dinofos', 0x8089A6E0, ((0x8089E150, 0x8089E8DF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Hata', 0x8089E8E0, ((0x8089ED10, 0x8089ED8F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Zl1', 0x8089ED90, ((0x8089EDD0, 0x8089EE1F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Viewer', 0x8089EE20, ((0x8089F3E0, 0x8089F4CF),),((0x8089F4D0,0x8089F4DF),)), - ('overlays/', 'baserom/overlays', 'ovl_En_Bubble', 0x8089F4E0, ((0x808A06E0, 0x808A08EF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Door_Shutter', 0x808A08F0, ((0x808A2160, 0x808A24CF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Boom', 0x808A24D0, ((0x808A2FF0, 0x808A31AF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Torch2', 0x808A31B0, ((0x808A35B0, 0x808A366F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Minifrog', 0x808A3670, ((0x808A4D20, 0x808A504F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_St', 0x808A5050, ((0x808A7590, 0x808A792F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Wturn', 0x808A7930, ((0x808A7DA0, 0x808A7E2F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_River_Sound', 0x808A7E30, ((0x808A8040, 0x808A809F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Ossan', 0x808A80A0, ((0x808AC010, 0x808AC91F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Famos', 0x808AC920, ((0x808AE5E0, 0x808AE8BF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Bombf', 0x808AE8C0, ((0x808AFB00, 0x808AFCCF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Am', 0x808AFCD0, ((0x808B1050, 0x808B132F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Dekubaba', 0x808B1330, ((0x808B4D40, 0x808B522F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_M_Fire1', 0x808B5230, ((0x808B5340, 0x808B53BF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_M_Thunder', 0x808B53C0, ((0x808B7100, 0x808B735F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Breakwall', 0x808B7360, ((0x808B8120, 0x808B848F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Door_Warp1', 0x808B8490, ((0x808BBB20, 0x808BBFFF),),((0x808BC000,0x808BC00F),)), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Syokudai', 0x808BC010, ((0x808BCCA0, 0x808BCDDF),),((0x808BCDE0,0x808BCDEF),)), - ('overlays/', 'baserom/overlays', 'ovl_Item_B_Heart', 0x808BCDF0, ((0x808BD160, 0x808BD1DF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Dekunuts', 0x808BD1E0, ((0x808BEF10, 0x808BF21F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Bbfall', 0x808BF220, ((0x808C0D10, 0x808C102F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Arms_Hook', 0x808C1030, ((0x808C1BA0, 0x808C1D3F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Bb', 0x808C1D40, ((0x808C3780, 0x808C3A4F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Keikoku_Spr', 0x808C3A50, ((0x808C3BA0, 0x808C3BFF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Wood02', 0x808C3C00, ((0x808C4CE0, 0x808C4F6F),),((0x808C4F70,0x808C4F7F),)), - ('overlays/', 'baserom/overlays', 'ovl_En_Death', 0x808C4F80, ((0x808C98C0, 0x808CA0AF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Minideath', 0x808CA0B0, ((0x808CBF30, 0x808CC24F),),((0x808CC250,0x808CC25F),)), - ('overlays/', 'baserom/overlays', 'ovl_En_Vm', 0x808CC260, ((0x808CD4A0, 0x808CD73F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Demo_Effect', 0x808CD740, ((0x808CE290, 0x808CE44F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Demo_Kankyo', 0x808CE450, ((0x808D03C0, 0x808D067F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Floormas', 0x808D0680, ((0x808D3880, 0x808D3E1F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Rd', 0x808D3E20, ((0x808D70C0, 0x808D754F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_F40_Flift', 0x808D7550, ((0x808D7810, 0x808D78CF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Mure', 0x808D78D0, ((0x808D8760, 0x808D893F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Sw', 0x808D8940, ((0x808DB9C0, 0x808DBE7F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Object_Kankyo', 0x808DBE80, ((0x808DE320, 0x808DE5AF),),((0x808DE5B0,0x808DE5BF),)), - ('overlays/', 'baserom/overlays', 'ovl_En_Horse_Link_Child', 0x808DE5C0, ((0x808DFEA0, 0x808E019F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Door_Ana', 0x808E01A0, ((0x808E0740, 0x808E082F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Encount1', 0x808E0830, ((0x808E0DD0, 0x808E0E3F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Demo_Tre_Lgt', 0x808E0E40, ((0x808E1490, 0x808E155F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Encount2', 0x808E1560, ((0x808E1ED0, 0x808E1FDF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Fire_Rock', 0x808E1FE0, ((0x808E2020, 0x808E206F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Ctower_Rot', 0x808E2070, ((0x808E2540, 0x808E25FF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Mir_Ray', 0x808E2600, ((0x808E3BD0, 0x808E3EEF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Sb', 0x808E3EF0, ((0x808E4DF0, 0x808E4FBF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Bigslime', 0x808E4FC0, ((0x808ED640, 0x808F11FF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Karebaba', 0x808F1200, ((0x808F2D80, 0x808F30AF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_In', 0x808F30B0, ((0x808F6A40, 0x808F74AF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Bom_Chu', 0x808F74B0, ((0x808F88C0, 0x808F8A9F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Horse_Game_Check', 0x808F8AA0, ((0x808F9B00, 0x808F9DFF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Rr', 0x808F9E00, ((0x808FC130, 0x808FC54F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Fr', 0x808FC550, ((0x808FC670, 0x808FC6BF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Fishing', 0x808FC6C0, ((0x8090CCB0, 0x809101AF),),((0x809101B0,0x8091728F),)), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Oshihiki', 0x80917290, ((0x80918830, 0x80918B3F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Eff_Dust', 0x80918B40, ((0x80919D90, 0x80919F2F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Umajump', 0x80919F30, ((0x8091A7F0, 0x8091A89F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Insect', 0x8091A8A0, ((0x8091BD60, 0x8091C09F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Butte', 0x8091C0A0, ((0x8091D2D0, 0x8091D62F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Fish', 0x8091D630, ((0x8091FA60, 0x8091FEEF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Item_Etcetera', 0x8091FEF0, ((0x80920210, 0x8092033F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Arrow_Fire', 0x80920340, ((0x80920DF0, 0x8092241F),),((0x80922420,0x8092242F),)), - ('overlays/', 'baserom/overlays', 'ovl_Arrow_Ice', 0x80922430, ((0x80922DB0, 0x809242EF),),((0x809242F0,0x809242FF),)), - ('overlays/', 'baserom/overlays', 'ovl_Arrow_Light', 0x80924300, ((0x80924C60, 0x8092619F),),((0x809261A0,0x809261AF),)), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Kibako', 0x809261B0, ((0x80927380, 0x809275BF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Tsubo', 0x809275C0, ((0x80929500, 0x8092990F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Ik', 0x80929910, ((0x8092BFA0, 0x8092C52F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Demo_Shd', 0x8092C530, ((0x8092C570, 0x8092C5BF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Dns', 0x8092C5C0, ((0x8092DCB0, 0x8092DF8F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Elf_Msg', 0x8092DF90, ((0x8092E450, 0x8092E50F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Honotrap', 0x8092E510, ((0x809303F0, 0x809307DF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Tubo_Trap', 0x809307E0, ((0x80931410, 0x8093155F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Ice_Poly', 0x80931560, ((0x80932300, 0x8093248F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Fz', 0x80932490, ((0x809346D0, 0x809349DF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Kusa', 0x809349E0, ((0x809366A0, 0x80936ACF),),((0x80936AD0,0x80936CEF),)), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Bean', 0x80936CF0, ((0x80938F80, 0x809393AF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Bombiwa', 0x809393B0, ((0x8093A920, 0x8093ABCF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Switch', 0x8093ABD0, ((0x8093CC60, 0x8093D3AF),),((0x8093D3B0,0x8093D3BF),)), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Lift', 0x8093D3C0, ((0x8093DD30, 0x8093DE9F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Hsblock', 0x8093DEA0, ((0x8093E310, 0x8093E41F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Okarina_Tag', 0x8093E420, ((0x8093E810, 0x8093E89F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Goroiwa', 0x8093E8A0, ((0x80942DA0, 0x809434AF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Daiku', 0x809434B0, ((0x80944040, 0x809441DF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Nwc', 0x809441E0, ((0x80945370, 0x809454EF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Item_Inbox', 0x809454F0, ((0x80945600, 0x8094564F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Ge1', 0x80945650, ((0x809464B0, 0x8094669F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Blockstop', 0x809466A0, ((0x80946880, 0x809468CF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Sda', 0x809468D0, ((0x80947A40, 0x80947E9F),),((0x80947EA0,0x80947F5F),)), - ('overlays/', 'baserom/overlays', 'ovl_En_Clear_Tag', 0x80947F60, ((0x8094AD40, 0x8094DEDF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Gm', 0x8094DEE0, ((0x80951820, 0x8095261F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Ms', 0x80952620, ((0x80952B80, 0x80952C4F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Hs', 0x80952C50, ((0x809538F0, 0x80953A8F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Ingate', 0x80953A90, ((0x809548A0, 0x8095495F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Kanban', 0x80954960, ((0x809572E0, 0x809580BF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Attack_Niw', 0x809580C0, ((0x80959100, 0x809592DF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Mk', 0x809592E0, ((0x8095A240, 0x8095A50F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Owl', 0x8095A510, ((0x8095D2D0, 0x8095D6DF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Ishi', 0x8095D6E0, ((0x8095F690, 0x8095FB0F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Hana', 0x8095FB10, ((0x8095FB90, 0x8095FBEF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Lightswitch', 0x8095FBF0, ((0x80960B70, 0x80960CEF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Mure2', 0x80960CF0, ((0x80961570, 0x809616DF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Fu', 0x809616E0, ((0x80964AE0, 0x8096564F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Stream', 0x80965650, ((0x80965B00, 0x80965BAF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Mm', 0x80965BB0, ((0x80966320, 0x8096640F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Weather_Tag', 0x80966410, ((0x809677A0, 0x809679CF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Ani', 0x809679D0, ((0x80968650, 0x809687AF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Js', 0x809687B0, ((0x8096AB80, 0x8096B09F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Okarina_Effect', 0x8096B0A0, ((0x8096B290, 0x8096B30F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Mag', 0x8096B310, ((0x8096E910, 0x8096EC3F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Elf_Msg2', 0x8096EC40, ((0x8096F090, 0x8096F15F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_F40_Swlift', 0x8096F160, ((0x8096F510, 0x8096F5CF),),((0x8096F5D0,0x8096F5DF),)), - ('overlays/', 'baserom/overlays', 'ovl_En_Kakasi', 0x8096F5E0, ((0x80971D80, 0x8097234F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Makeoshihiki', 0x80972350, ((0x80972630, 0x8097267F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Oceff_Spot', 0x80972680, ((0x80972D80, 0x8097354F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Torch', 0x80973550, ((0x809735E0, 0x8097363F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Shot_Sun', 0x80973640, ((0x80973B80, 0x80973C4F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Roomtimer', 0x80973C50, ((0x80973E90, 0x80973EEF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Ssh', 0x80973EF0, ((0x80976010, 0x809764AF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Oceff_Wipe', 0x809764B0, ((0x80976980, 0x809771FF),),((0x80977200,0x8097720F),)), - ('overlays/', 'baserom/overlays', 'ovl_Effect_Ss_Dust', 0x80977210, ((0x80977910, 0x809779FF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Effect_Ss_Kirakira', 0x80977A00, ((0x80977FC0, 0x8097806F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Effect_Ss_Bomb2', 0x80978070, ((0x809787F0, 0x809788CF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Effect_Ss_Blast', 0x809788D0, ((0x80978BD0, 0x80978C2F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Effect_Ss_G_Spk', 0x80978C30, ((0x80979130, 0x809791AF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Effect_Ss_D_Fire', 0x809791B0, ((0x80979560, 0x809795BF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Effect_Ss_Bubble', 0x809795C0, ((0x80979AB0, 0x80979B2F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Effect_Ss_G_Ripple', 0x80979B30, ((0x80979FF0, 0x8097A04F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Effect_Ss_G_Splash', 0x8097A050, ((0x8097A3E0, 0x8097A46F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Effect_Ss_G_Fire', 0x8097A470, ((0x8097A610, 0x8097A67F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Effect_Ss_Lightning', 0x8097A680, ((0x8097AC80, 0x8097AD5F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Effect_Ss_Dt_Bubble', 0x8097AD60, ((0x8097B1E0, 0x8097B26F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Effect_Ss_Hahen', 0x8097B270, ((0x8097B790, 0x8097B80F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Effect_Ss_Stick', 0x8097B810, ((0x8097BA70, 0x8097BACF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Effect_Ss_Sibuki', 0x8097BAD0, ((0x8097C080, 0x8097C12F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Effect_Ss_Stone1', 0x8097C130, ((0x8097C3D0, 0x8097C48F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Effect_Ss_Hitmark', 0x8097C490, ((0x8097C880, 0x8097C98F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Effect_Ss_Fhg_Flash', 0x8097C990, ((0x8097CEC0, 0x8097D40F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Effect_Ss_K_Fire', 0x8097D410, ((0x8097D7F0, 0x8097D84F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Effect_Ss_Solder_Srch_Ball', 0x8097D850, ((0x8097DC40, 0x8097DC9F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Effect_Ss_Kakera', 0x8097DCA0, ((0x8097EAD0, 0x8097ECCF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Effect_Ss_Ice_Piece', 0x8097ECD0, ((0x8097F070, 0x8097F0CF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Effect_Ss_En_Ice', 0x8097F0D0, ((0x8097F810, 0x8097F87F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Effect_Ss_Fire_Tail', 0x8097F880, ((0x8097FED0, 0x8097FF5F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Effect_Ss_En_Fire', 0x8097FF60, ((0x80980570, 0x809805CF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Effect_Ss_Extra', 0x809805D0, ((0x809808E0, 0x8098093F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Effect_Ss_Dead_Db', 0x80980940, ((0x80980CD0, 0x80980D4F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Effect_Ss_Dead_Dd', 0x80980D50, ((0x80981270, 0x809812DF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Effect_Ss_Dead_Ds', 0x809812E0, ((0x80981700, 0x8098175F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Oceff_Storm', 0x80981760, ((0x80981F70, 0x8098351F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Demo', 0x80983520, ((0x80983890, 0x809838EF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Minislime', 0x809838F0, ((0x809857C0, 0x80985C3F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Nutsball', 0x80985C40, ((0x809861D0, 0x8098626F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Oceff_Wipe2', 0x80986270, ((0x80986670, 0x809879CF),),((0x809879D0,0x809879DF),)), - ('overlays/', 'baserom/overlays', 'ovl_Oceff_Wipe3', 0x809879E0, ((0x80987DF0, 0x8098912F),),((0x80989130,0x8098913F),)), - ('overlays/', 'baserom/overlays', 'ovl_En_Dg', 0x80989140, ((0x8098C280, 0x8098CA1F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Si', 0x8098CA20, ((0x8098CD60, 0x8098CE3F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Comb', 0x8098CE40, ((0x8098E420, 0x8098E5BF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Kibako2', 0x8098E5C0, ((0x8098EE40, 0x8098EF5F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Hs2', 0x8098EF60, ((0x8098EFF0, 0x8098F03F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Mure3', 0x8098F040, ((0x8098F720, 0x8098F7FF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Tg', 0x8098F800, ((0x809901A0, 0x8099030F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Wf', 0x80990310, ((0x80994150, 0x809947AF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Skb', 0x809947B0, ((0x80997330, 0x80997A8F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Gs', 0x80997A90, ((0x8099A380, 0x8099A91F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Sound', 0x8099A920, ((0x8099AAE0, 0x8099AB2F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Crow', 0x8099AB30, ((0x8099C050, 0x8099C28F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Cow', 0x8099C290, ((0x8099D5F0, 0x8099D77F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Oceff_Wipe4', 0x8099D780, ((0x8099DB90, 0x8099E77F),),((0x8099E780,0x8099E78F),)), - ('overlays/', 'baserom/overlays', 'ovl_En_Zo', 0x8099E790, ((0x8099F490, 0x8099F72F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Effect_Ss_Ice_Smoke', 0x8099F730, ((0x8099F9E0, 0x8099FA3F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Makekinsuta', 0x8099FA40, ((0x8099FE10, 0x8099FEAF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Ge3', 0x8099FEB0, ((0x809A0D80, 0x809A0F1F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Hamishi', 0x809A0F20, ((0x809A1A80, 0x809A1BAF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Zl4', 0x809A1BB0, ((0x809A1F60, 0x809A202F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Mm2', 0x809A2030, ((0x809A2250, 0x809A2B5F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Door_Spiral', 0x809A2B60, ((0x809A3230, 0x809A33DF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Pzlblock', 0x809A33E0, ((0x809A4030, 0x809A41BF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Toge', 0x809A41C0, ((0x809A4C90, 0x809A4DFF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Armos', 0x809A4E00, ((0x809A5B90, 0x809A5D0F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Boyo', 0x809A5D10, ((0x809A6150, 0x809A627F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Grasshopper', 0x809A6280, ((0x809A8C80, 0x809A910F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Grass', 0x809A9110, ((0x809AA9F0, 0x809AAD9F),),((0x809AADA0,0x809AAE5F),)), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Grass_Carry', 0x809AAE60, ((0x809ABBB0, 0x809ABDDF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Grass_Unit', 0x809ABDE0, ((0x809AC340, 0x809AC4AF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Fire_Wall', 0x809AC4B0, ((0x809ACC40, 0x809ACD8F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Bu', 0x809ACD90, ((0x809ACED0, 0x809ACF3F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Encount3', 0x809ACF40, ((0x809AD7F0, 0x809AD8DF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Jso', 0x809AD8E0, ((0x809B0F40, 0x809B154F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Chikuwa', 0x809B1550, ((0x809B1FA0, 0x809B20EF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Knight', 0x809B20F0, ((0x809BDAF0, 0x809BEFCF),),((0x809BEFD0,0x809C075F),)), - ('overlays/', 'baserom/overlays', 'ovl_En_Warp_tag', 0x809C0760, ((0x809C0FE0, 0x809C10AF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Aob_01', 0x809C10B0, ((0x809C3770, 0x809C3D7F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Boj_01', 0x809C3D80, ((0x809C3DC0, 0x809C3E0F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Boj_02', 0x809C3E10, ((0x809C3E50, 0x809C3E9F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Boj_03', 0x809C3EA0, ((0x809C3EE0, 0x809C3F2F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Encount4', 0x809C3F30, ((0x809C46B0, 0x809C478F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Bom_Bowl_Man', 0x809C4790, ((0x809C6100, 0x809C64BF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Syateki_Man', 0x809C64C0, ((0x809C9160, 0x809C9A5F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Icicle', 0x809C9A60, ((0x809CA2B0, 0x809CA3EF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Syateki_Crow', 0x809CA3F0, ((0x809CB050, 0x809CB1FF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Boj_04', 0x809CB200, ((0x809CB240, 0x809CB28F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Cne_01', 0x809CB290, ((0x809CBEE0, 0x809CC05F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Bba_01', 0x809CC060, ((0x809CCC60, 0x809CCDDF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Bji_01', 0x809CCDE0, ((0x809CDC30, 0x809CDEBF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Spdweb', 0x809CDEC0, ((0x809CF060, 0x809CF34F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Mt_tag', 0x809CF350, ((0x809D0190, 0x809D052F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Boss_01', 0x809D0530, ((0x809D7980, 0x809D8A0F),),((0x809D8A10,0x809DA1CF),)), - ('overlays/', 'baserom/overlays', 'ovl_Boss_02', 0x809DA1D0, ((0x809DF550, 0x809E041F),),((0x809E0420,0x809E275F),)), - ('overlays/', 'baserom/overlays', 'ovl_Boss_03', 0x809E2760, ((0x809E8EA0, 0x809E983F),),((0x809E9840,0x809EC03F),)), - ('overlays/', 'baserom/overlays', 'ovl_Boss_04', 0x809EC040, ((0x809EE150, 0x809EE4CF),),((0x809EE4D0,0x809EE4DF),)), - ('overlays/', 'baserom/overlays', 'ovl_Boss_05', 0x809EE4E0, ((0x809F1A20, 0x809F210F),),((0x809F2110,0x809F211F),)), - ('overlays/', 'baserom/overlays', 'ovl_Boss_06', 0x809F2120, ((0x809F4080, 0x809F436F),),((0x809F4370,0x809F497F),)), - ('overlays/', 'baserom/overlays', 'ovl_Boss_07', 0x809F4980, ((0x80A07950, 0x80A09A3F),),((0x80A09A40,0x80A0A89F),)), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Dy_Yoseizo', 0x80A0A8A0, ((0x80A0C4A0, 0x80A0C77F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Boj_05', 0x80A0C780, ((0x80A0C7C0, 0x80A0C80F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Sob1', 0x80A0C810, ((0x80A10860, 0x80A10FCF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Go', 0x80A10FD0, ((0x80A16100, 0x80A16D3F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Raf', 0x80A16D40, ((0x80A18EC0, 0x80A1973F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Funen', 0x80A19740, ((0x80A198B0, 0x80A1990F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Raillift', 0x80A19910, ((0x80A1A390, 0x80A1A4FF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Numa_Hana', 0x80A1A500, ((0x80A1B240, 0x80A1B3CF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Flowerpot', 0x80A1B3D0, ((0x80A1D380, 0x80A1D82F),),((0x80A1D830,0x80A1DA4F),)), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Spinyroll', 0x80A1DA50, ((0x80A1F020, 0x80A1F40F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Dm_Hina', 0x80A1F410, ((0x80A1FDB0, 0x80A1FE4F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Syateki_Wf', 0x80A1FE50, ((0x80A20E50, 0x80A2114F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Skateblock', 0x80A21150, ((0x80A229F0, 0x80A22D3F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Effect_En_Ice_Block', 0x80A22D40, ((0x80A23020, 0x80A2308F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Iceblock', 0x80A23090, ((0x80A26E30, 0x80A2751F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Bigpamet', 0x80A27520, ((0x80A296E0, 0x80A29A7F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Dblue_Movebg', 0x80A29A80, ((0x80A2B870, 0x80A2BBEF),),((0x80A2BBF0,0x80A2BBFF),)), - ('overlays/', 'baserom/overlays', 'ovl_En_Syateki_Dekunuts', 0x80A2BC00, ((0x80A2CA90, 0x80A2CD0F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Elf_Msg3', 0x80A2CD10, ((0x80A2D1C0, 0x80A2D27F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Fg', 0x80A2D280, ((0x80A2E4E0, 0x80A2E79F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Dm_Ravine', 0x80A2E7A0, ((0x80A2E910, 0x80A2E95F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Dm_Sa', 0x80A2E960, ((0x80A2ECE0, 0x80A2ED9F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Slime', 0x80A2EDA0, ((0x80A31AD0, 0x80A321FF),),((0x80A32200,0x80A3220F),)), - ('overlays/', 'baserom/overlays', 'ovl_En_Pr', 0x80A32210, ((0x80A338A0, 0x80A33AFF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Toudai', 0x80A33B00, ((0x80A34570, 0x80A346FF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Entotu', 0x80A34700, ((0x80A353F0, 0x80A3550F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Bell', 0x80A35510, ((0x80A35E70, 0x80A35FEF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Syateki_Okuta', 0x80A35FF0, ((0x80A37550, 0x80A37ECF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Shutter', 0x80A37ED0, ((0x80A38110, 0x80A3818F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Dm_Zl', 0x80A38190, ((0x80A387D0, 0x80A3899F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Ru', 0x80A389A0, ((0x80A39430, 0x80A396AF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Elfgrp', 0x80A396B0, ((0x80A3AAD0, 0x80A3AC5F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Dm_Tsg', 0x80A3AC60, ((0x80A3B010, 0x80A3B07F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Baguo', 0x80A3B080, ((0x80A3C2D0, 0x80A3C4DF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Vspinyroll', 0x80A3C4E0, ((0x80A3D430, 0x80A3D67F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Smork', 0x80A3D680, ((0x80A3E270, 0x80A3E38F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Test2', 0x80A3E390, ((0x80A3E690, 0x80A3E7DF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Test3', 0x80A3E7E0, ((0x80A41530, 0x80A41D1F),),((0x80A41D20,0x80A41D6F),)), - ('overlays/', 'baserom/overlays', 'ovl_En_Test4', 0x80A41D70, ((0x80A43320, 0x80A434CF),),((0x80A434D0,0x80A434DF),)), - ('overlays/', 'baserom/overlays', 'ovl_En_Bat', 0x80A434E0, ((0x80A449E0, 0x80A44C6F),),((0x80A44C70,0x80A44C7F),)), - ('overlays/', 'baserom/overlays', 'ovl_En_Sekihi', 0x80A44C80, ((0x80A45250, 0x80A4535F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Wiz', 0x80A45360, ((0x80A48B30, 0x80A48FDF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Wiz_Brock', 0x80A48FE0, ((0x80A495B0, 0x80A4969F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Wiz_Fire', 0x80A496A0, ((0x80A4C1C0, 0x80A4C48F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Eff_Change', 0x80A4C490, ((0x80A4C900, 0x80A4C9AF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Dm_Statue', 0x80A4C9B0, ((0x80A4CA40, 0x80A4CA8F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Fireshield', 0x80A4CA90, ((0x80A4D800, 0x80A4D9EF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Ladder', 0x80A4D9F0, ((0x80A4DE20, 0x80A4DECF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Mkk', 0x80A4DED0, ((0x80A4F700, 0x80A4FA3F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Demo_Getitem', 0x80A4FA40, ((0x80A4FD40, 0x80A4FDCF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Dnb', 0x80A4FDD0, ((0x80A50C90, 0x80A50D3F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Dnh', 0x80A50D40, ((0x80A51250, 0x80A514EF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Dnk', 0x80A514F0, ((0x80A521A0, 0x80A5252F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Dnq', 0x80A52530, ((0x80A53400, 0x80A537CF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Keikoku_Saku', 0x80A537D0, ((0x80A53B50, 0x80A53BDF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Hugebombiwa', 0x80A53BE0, ((0x80A55CE0, 0x80A560BF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Firefly2', 0x80A560C0, ((0x80A56100, 0x80A5614F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Rat', 0x80A56150, ((0x80A583E0, 0x80A5879F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Water_Effect', 0x80A587A0, ((0x80A5AF90, 0x80A5B15F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Kusa2', 0x80A5B160, ((0x80A5EAA0, 0x80A5F1BF),),((0x80A5F1C0,0x80A60B1F),)), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Spout_Fire', 0x80A60B20, ((0x80A61140, 0x80A612AF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Dy_Extra', 0x80A612B0, ((0x80A61720, 0x80A6180F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Bal', 0x80A61810, ((0x80A63CC0, 0x80A6449F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Ginko_Man', 0x80A644A0, ((0x80A65D40, 0x80A6617F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Warp_Uzu', 0x80A66180, ((0x80A664A0, 0x80A6656F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Driftice', 0x80A66570, ((0x80A67600, 0x80A678AF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Look_Nuts', 0x80A678B0, ((0x80A685E0, 0x80A6879F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Mushi2', 0x80A687A0, ((0x80A6B930, 0x80A6BF8F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Fall', 0x80A6BF90, ((0x80A6E490, 0x80A6E98F),),((0x80A6E990,0x80A6F09F),)), - ('overlays/', 'baserom/overlays', 'ovl_En_Mm3', 0x80A6F0A0, ((0x80A703D0, 0x80A706EF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Crace_Movebg', 0x80A706F0, ((0x80A71080, 0x80A711AF),),((0x80A711B0,0x80A711CF),)), - ('overlays/', 'baserom/overlays', 'ovl_En_Dno', 0x80A711D0, ((0x80A739A0, 0x80A73F9F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Pr2', 0x80A73FA0, ((0x80A75BC0, 0x80A75DBF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Prz', 0x80A75DC0, ((0x80A771C0, 0x80A773BF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Jso2', 0x80A773C0, ((0x80A7B4F0, 0x80A7BC6F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Etcetera', 0x80A7BC70, ((0x80A7C770, 0x80A7C98F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Egol', 0x80A7C990, ((0x80A80C40, 0x80A811CF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Mine', 0x80A811D0, ((0x80A84550, 0x80A849CF),),((0x80A849D0,0x80A84CCF),)), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Purify', 0x80A84CD0, ((0x80A85460, 0x80A8561F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Tru', 0x80A85620, ((0x80A88910, 0x80A8B76F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Trt', 0x80A8B770, ((0x80A8FE10, 0x80A903AF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Test5', 0x80A903B0, ((0x80A906E0, 0x80A9072F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Test6', 0x80A90730, ((0x80A93E60, 0x80A9490F),),((0x80A94910,0x80A94A2F),)), - ('overlays/', 'baserom/overlays', 'ovl_En_Az', 0x80A94A30, ((0x80A99010, 0x80A99E7F),),((0x80A99E80,0x80A99E9F),)), - ('overlays/', 'baserom/overlays', 'ovl_En_Estone', 0x80A99EA0, ((0x80A9AB50, 0x80A9ACCF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Hakugin_Post', 0x80A9ACD0, ((0x80A9D860, 0x80A9DDBF),),((0x80A9DDC0,0x80A9F94F),)), - ('overlays/', 'baserom/overlays', 'ovl_Dm_Opstage', 0x80A9F950, ((0x80A9FD10, 0x80A9FDAF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Dm_Stk', 0x80A9FDB0, ((0x80AA3580, 0x80AA557F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Dm_Char00', 0x80AA5580, ((0x80AA6F90, 0x80AA81DF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Dm_Char01', 0x80AA81E0, ((0x80AA9DC0, 0x80AAAE1F),),((0x80AAAE20,0x80AAAE2F),)), - ('overlays/', 'baserom/overlays', 'ovl_Dm_Char02', 0x80AAAE30, ((0x80AAB390, 0x80AAB49F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Dm_Char03', 0x80AAB4A0, ((0x80AABB60, 0x80AABC3F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Dm_Char04', 0x80AABC40, ((0x80AAC440, 0x80AAC59F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Dm_Char05', 0x80AAC5A0, ((0x80AAE240, 0x80AAE67F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Dm_Char06', 0x80AAE680, ((0x80AAE960, 0x80AAE9BF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Dm_Char07', 0x80AAE9C0, ((0x80AAEFF0, 0x80AAF04F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Dm_Char08', 0x80AAF050, ((0x80AB1370, 0x80AB1E0F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Dm_Char09', 0x80AB1E10, ((0x80AB2690, 0x80AB278F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Tokeidai', 0x80AB2790, ((0x80AB49C0, 0x80AB4D0F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Mnk', 0x80AB4D10, ((0x80AB9CF0, 0x80ABA79F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Egblock', 0x80ABA7A0, ((0x80ABB040, 0x80ABB0DF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Guard_Nuts', 0x80ABB0E0, ((0x80ABBDD0, 0x80ABBFBF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Hakugin_Bombwall', 0x80ABBFC0, ((0x80ABCF60, 0x80ABD1CF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Tokei_Tobira', 0x80ABD1D0, ((0x80ABD730, 0x80ABD82F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Hakugin_Elvpole', 0x80ABD830, ((0x80ABDC50, 0x80ABDC9F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Ma4', 0x80ABDCA0, ((0x80AC0090, 0x80AC082F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Twig', 0x80AC0830, ((0x80AC1090, 0x80AC122F),),((0x80AC1230,0x80AC126F),)), - ('overlays/', 'baserom/overlays', 'ovl_En_Po_Fusen', 0x80AC1270, ((0x80AC1D80, 0x80AC1ECF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Door_Etc', 0x80AC1ED0, ((0x80AC2580, 0x80AC26EF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Bigokuta', 0x80AC26F0, ((0x80AC4510, 0x80AC48EF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Icefloe', 0x80AC48F0, ((0x80AC4F10, 0x80AC505F),),((0x80AC5060,0x80AC506F),)), - ('overlays/', 'baserom/overlays', 'ovl_fbdemo_triforce', 0x80AC5070, ((0x80AC5630, 0x80AC57AF),),()), - ('overlays/', 'baserom/overlays', 'ovl_fbdemo_wipe1', 0x80AC57B0, ((0x80AC5C20, 0x80AC673F),),()), - ('overlays/', 'baserom/overlays', 'ovl_fbdemo_wipe3', 0x80AC6740, ((0x80AC6C60, 0x80AC842F),),()), - ('overlays/', 'baserom/overlays', 'ovl_fbdemo_wipe4', 0x80AC8430, ((0x80AC8650, 0x80AC86EF),),()), - ('overlays/', 'baserom/overlays', 'ovl_fbdemo_wipe5', 0x80AC86F0, ((0x80AC8AB0, 0x80AC8B4F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Effect_Ss_Sbn', 0x80AC8B50, ((0x80AC93B0, 0x80AC94BF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Ocarinalift', 0x80AC94C0, ((0x80AC9D50, 0x80AC9E9F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Time_Tag', 0x80AC9EA0, ((0x80ACA9D0, 0x80ACAB0F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Open_Shutter', 0x80ACAB10, ((0x80ACB120, 0x80ACB1DF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Open_Spot', 0x80ACB1E0, ((0x80ACB390, 0x80ACB3FF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Fu_Kaiten', 0x80ACB400, ((0x80ACB630, 0x80ACB69F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Aqua', 0x80ACB6A0, ((0x80ACC2A0, 0x80ACC46F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Elforg', 0x80ACC470, ((0x80ACDA10, 0x80ACDCCF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Elfbub', 0x80ACDCD0, ((0x80ACE250, 0x80ACE32F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Fu_Mato', 0x80ACE330, ((0x80ACF5F0, 0x80ACF77F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Fu_Kago', 0x80ACF780, ((0x80AD05D0, 0x80AD082F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Osn', 0x80AD0830, ((0x80AD22A0, 0x80AD2B6F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Ctower_Gear', 0x80AD2B70, ((0x80AD3250, 0x80AD337F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Trt2', 0x80AD3380, ((0x80AD57E0, 0x80AD5BAF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Tokei_Step', 0x80AD5BB0, ((0x80AD6600, 0x80AD675F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Lotus', 0x80AD6760, ((0x80AD6CF0, 0x80AD6DCF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Kame', 0x80AD6DD0, ((0x80AD8DC0, 0x80AD923F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Takaraya_Wall', 0x80AD9240, ((0x80ADA280, 0x80ADA44F),),((0x80ADA450,0x80ADAAEF),)), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Fu_Mizu', 0x80ADAAF0, ((0x80ADAD80, 0x80ADADCF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Sellnuts', 0x80ADADD0, ((0x80ADD910, 0x80ADE22F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Dkjail_Ivy', 0x80ADE230, ((0x80ADE930, 0x80ADEA6F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Visiblock', 0x80ADEA70, ((0x80ADEB30, 0x80ADEB8F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Takaraya', 0x80ADEB90, ((0x80ADFAE0, 0x80ADFC9F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Tsn', 0x80ADFCA0, ((0x80AE1170, 0x80AE164F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Ds2n', 0x80AE1650, ((0x80AE1AB0, 0x80AE1B6F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Fsn', 0x80AE1B70, ((0x80AE5B00, 0x80AE612F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Shn', 0x80AE6130, ((0x80AE6F00, 0x80AE739F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Stop_heishi', 0x80AE73A0, ((0x80AE8890, 0x80AE8B6F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Bigicicle', 0x80AE8B70, ((0x80AE9800, 0x80AE9A1F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Lift_Nuts', 0x80AE9A20, ((0x80AEBD30, 0x80AEC45F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Tk', 0x80AEC460, ((0x80AEF800, 0x80AF004F),),((0x80AF0050,0x80AF005F),)), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Market_Step', 0x80AF0060, ((0x80AF00F0, 0x80AF016F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Lupygamelift', 0x80AF0170, ((0x80AF0720, 0x80AF081F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Test7', 0x80AF0820, ((0x80AF33F0, 0x80AF38AF),),((0x80AF38B0,0x80AF390F),)), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Lightblock', 0x80AF3910, ((0x80AF3E80, 0x80AF3F6F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Mir_Ray2', 0x80AF3F70, ((0x80AF4330, 0x80AF43EF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Wdhand', 0x80AF43F0, ((0x80AF63C0, 0x80AF675F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Gamelupy', 0x80AF6760, ((0x80AF6CD0, 0x80AF6DDF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Danpei_Movebg', 0x80AF6DE0, ((0x80AF7510, 0x80AF763F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Snowwd', 0x80AF7640, ((0x80AF7A70, 0x80AF7B3F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Pm', 0x80AF7B40, ((0x80AFAD80, 0x80AFC95F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Gakufu', 0x80AFC960, ((0x80AFD1B0, 0x80AFD37F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Elf_Msg4', 0x80AFD380, ((0x80AFD8D0, 0x80AFD98F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Elf_Msg5', 0x80AFD990, ((0x80AFDBB0, 0x80AFDC3F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Col_Man', 0x80AFDC40, ((0x80AFE730, 0x80AFE89F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Talk_Gibud', 0x80AFE8A0, ((0x80B011E0, 0x80B0198F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Giant', 0x80B01990, ((0x80B02930, 0x80B02CCF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Snowball', 0x80B02CD0, ((0x80B04F30, 0x80B0528F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Boss_Hakugin', 0x80B05290, ((0x80B0E6E0, 0x80B0F5DF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Gb2', 0x80B0F5E0, ((0x80B11990, 0x80B11E5F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Onpuman', 0x80B11E60, ((0x80B12370, 0x80B1242F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Tobira01', 0x80B12430, ((0x80B12800, 0x80B1286F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Tag_Obj', 0x80B12870, ((0x80B12900, 0x80B1297F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Dhouse', 0x80B12980, ((0x80B13E70, 0x80B1417F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Hakaisi', 0x80B14180, ((0x80B15590, 0x80B1578F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Hakugin_Switch', 0x80B15790, ((0x80B16840, 0x80B16AEF),),((0x80B16AF0,0x80B16AFF),)), - ('overlays/', 'baserom/overlays', 'ovl_En_Snowman', 0x80B16B00, ((0x80B199E0, 0x80B19F5F),),()), - ('overlays/', 'baserom/overlays', 'ovl_TG_Sw', 0x80B19F60, ((0x80B1A320, 0x80B1A3AF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Po_Sisters', 0x80B1A3B0, ((0x80B1DA30, 0x80B1DEAF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Pp', 0x80B1DEB0, ((0x80B21620, 0x80B21AFF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Hakurock', 0x80B21B00, ((0x80B22A60, 0x80B22BFF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Hanabi', 0x80B22C00, ((0x80B23A80, 0x80B23D4F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Dowsing', 0x80B23D50, ((0x80B23E80, 0x80B23ECF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Wind', 0x80B23ED0, ((0x80B24460, 0x80B2462F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Racedog', 0x80B24630, ((0x80B25D20, 0x80B2629F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Kendo_Js', 0x80B262A0, ((0x80B27C10, 0x80B2807F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Botihasira', 0x80B28080, ((0x80B282D0, 0x80B2836F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Fish2', 0x80B28370, ((0x80B2B2E0, 0x80B2B82F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Pst', 0x80B2B830, ((0x80B2C200, 0x80B2C6EF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Poh', 0x80B2C6F0, ((0x80B2F660, 0x80B2FB0F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Spidertent', 0x80B2FB10, ((0x80B31040, 0x80B3158F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Zoraegg', 0x80B31590, ((0x80B33910, 0x80B33D2F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Kbt', 0x80B33D30, ((0x80B34B20, 0x80B34F6F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Gg', 0x80B34F70, ((0x80B36BE0, 0x80B3707F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Maruta', 0x80B37080, ((0x80B38680, 0x80B38E1F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Snowball2', 0x80B38E20, ((0x80B3A8C0, 0x80B3AC4F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Gg2', 0x80B3AC50, ((0x80B3BEE0, 0x80B3C25F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Ghaka', 0x80B3C260, ((0x80B3C940, 0x80B3CA1F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Dnp', 0x80B3CA20, ((0x80B3DC60, 0x80B3DFEF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Dai', 0x80B3DFF0, ((0x80B3FBD0, 0x80B4007F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Goron_Oyu', 0x80B40080, ((0x80B40760, 0x80B407FF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Kgy', 0x80B40800, ((0x80B43250, 0x80B439AF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Invadepoh', 0x80B439B0, ((0x80B4E890, 0x80B5029F),),((0x80B502A0,0x80B5040F),)), - ('overlays/', 'baserom/overlays', 'ovl_En_Gk', 0x80B50410, ((0x80B531F0, 0x80B5383F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_An', 0x80B53840, ((0x80B581D0, 0x80B5A71F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Bee', 0x80B5A720, ((0x80B5B1F0, 0x80B5B2DF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Ot', 0x80B5B2E0, ((0x80B5E380, 0x80B5E87F),),((0x80B5E880,0x80B5E88F),)), - ('overlays/', 'baserom/overlays', 'ovl_En_Dragon', 0x80B5E890, ((0x80B605D0, 0x80B60ACF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Dora', 0x80B60AD0, ((0x80B612F0, 0x80B615DF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Bigpo', 0x80B615E0, ((0x80B64FF0, 0x80B654BF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Kendo_Kanban', 0x80B654C0, ((0x80B66640, 0x80B66A1F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Hariko', 0x80B66A20, ((0x80B66CB0, 0x80B66D2F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Sth', 0x80B66D30, ((0x80B685A0, 0x80B6D65F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Sinkai_Kabe', 0x80B6D660, ((0x80B6DB50, 0x80B6DBDF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Haka_Curtain', 0x80B6DBE0, ((0x80B6DF80, 0x80B6E01F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Kin2_Bombwall', 0x80B6E020, ((0x80B6E6D0, 0x80B6E81F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Kin2_Fence', 0x80B6E820, ((0x80B6EDC0, 0x80B6EF9F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Kin2_Picture', 0x80B6EFA0, ((0x80B6F970, 0x80B6FB2F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Kin2_Shelf', 0x80B6FB30, ((0x80B70730, 0x80B708BF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Rail_Skb', 0x80B708C0, ((0x80B732B0, 0x80B73A8F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Jg', 0x80B73A90, ((0x80B75800, 0x80B7602F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Tru_Mt', 0x80B76030, ((0x80B774F0, 0x80B7776F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Um', 0x80B77770, ((0x80B7C0F0, 0x80B7C88F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Neo_Reeba', 0x80B7C890, ((0x80B7E4E0, 0x80B7E92F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Mbar_Chair', 0x80B7E930, ((0x80B7EA00, 0x80B7EA5F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Ikana_Block', 0x80B7EA60, ((0x80B7F620, 0x80B7F72F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Ikana_Mirror', 0x80B7F730, ((0x80B7FF30, 0x80B802DF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Ikana_Rotaryroom', 0x80B802E0, ((0x80B820C0, 0x80B823AF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Dblue_Balance', 0x80B823B0, ((0x80B83A00, 0x80B83C6F),),((0x80B83C70,0x80B83C7F),)), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Dblue_Waterfall', 0x80B83C80, ((0x80B85350, 0x80B8558F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Kaizoku', 0x80B85590, ((0x80B8A8D0, 0x80B8B2CF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Ge2', 0x80B8B2D0, ((0x80B8CE20, 0x80B8D02F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Ma_Yts', 0x80B8D030, ((0x80B8E150, 0x80B8E51F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Ma_Yto', 0x80B8E520, ((0x80B913F0, 0x80B91CBF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Tokei_Turret', 0x80B91CC0, ((0x80B91EA0, 0x80B91F1F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Dblue_Elevator', 0x80B91F20, ((0x80B92940, 0x80B92B0F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Warpstone', 0x80B92B10, ((0x80B93200, 0x80B9330F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Zog', 0x80B93310, ((0x80B95860, 0x80B95E0F),),((0x80B95E10,0x80B95E1F),)), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Rotlift', 0x80B95E20, ((0x80B96140, 0x80B961DF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Jg_Gakki', 0x80B961E0, ((0x80B963C0, 0x80B9640F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Inibs_Movebg', 0x80B96410, ((0x80B96540, 0x80B965CF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Zot', 0x80B965D0, ((0x80B998C0, 0x80B9A0AF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Tree', 0x80B9A0B0, ((0x80B9A550, 0x80B9A64F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Y2lift', 0x80B9A650, ((0x80B9A920, 0x80B9A97F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Y2shutter', 0x80B9A980, ((0x80B9AE50, 0x80B9AF4F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Boat', 0x80B9AF50, ((0x80B9B660, 0x80B9B6DF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Taru', 0x80B9B6E0, ((0x80B9C320, 0x80B9C44F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Hunsui', 0x80B9C450, ((0x80B9DC70, 0x80B9DECF),),((0x80B9DED0,0x80B9DEDF),)), - ('overlays/', 'baserom/overlays', 'ovl_En_Jc_Mato', 0x80B9DEE0, ((0x80B9E1F0, 0x80B9E2BF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Mir_Ray3', 0x80B9E2C0, ((0x80B9F400, 0x80B9F56F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Zob', 0x80B9F570, ((0x80BA10B0, 0x80BA159F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Elf_Msg6', 0x80BA15A0, ((0x80BA22E0, 0x80BA241F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Nozoki', 0x80BA2420, ((0x80BA3490, 0x80BA36AF),),((0x80BA36B0,0x80BA36BF),)), - ('overlays/', 'baserom/overlays', 'ovl_En_Toto', 0x80BA36C0, ((0x80BA4FD0, 0x80BA53FF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Railgibud', 0x80BA5400, ((0x80BA80A0, 0x80BA881F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Baba', 0x80BA8820, ((0x80BAA380, 0x80BAA6CF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Suttari', 0x80BAA6D0, ((0x80BAE6B0, 0x80BAEF6F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Zod', 0x80BAEF70, ((0x80BB0520, 0x80BB08DF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Kujiya', 0x80BB08E0, ((0x80BB1500, 0x80BB16CF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Geg', 0x80BB16D0, ((0x80BB3E50, 0x80BB46FF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Kinoko', 0x80BB4700, ((0x80BB4A70, 0x80BB4AEF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Yasi', 0x80BB4AF0, ((0x80BB4D70, 0x80BB4DFF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Tanron1', 0x80BB4E00, ((0x80BB5E00, 0x80BB67CF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Tanron2', 0x80BB67D0, ((0x80BB8150, 0x80BB844F),),((0x80BB8450,0x80BB859F),)), - ('overlays/', 'baserom/overlays', 'ovl_En_Tanron3', 0x80BB85A0, ((0x80BB9720, 0x80BB98DF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Chan', 0x80BB98E0, ((0x80BBAB10, 0x80BBAC8F),),((0x80BBAC90,0x80BBAC9F),)), - ('overlays/', 'baserom/overlays', 'ovl_En_Zos', 0x80BBACA0, ((0x80BBC6D0, 0x80BBCA7F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_S_Goro', 0x80BBCA80, ((0x80BBF800, 0x80BBFDAF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Nb', 0x80BBFDB0, ((0x80BC13F0, 0x80BC18FF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Ja', 0x80BC1900, ((0x80BC35F0, 0x80BC397F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_F40_Block', 0x80BC3980, ((0x80BC4600, 0x80BC47AF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_F40_Switch', 0x80BC47B0, ((0x80BC4DD0, 0x80BC4F1F),),((0x80BC4F20,0x80BC4F2F),)), - ('overlays/', 'baserom/overlays', 'ovl_En_Po_Composer', 0x80BC4F30, ((0x80BC6760, 0x80BC6BEF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Guruguru', 0x80BC6BF0, ((0x80BC7960, 0x80BC7ACF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Oceff_Wipe5', 0x80BC7AD0, ((0x80BC7EF0, 0x80BC925F),),((0x80BC9260,0x80BC926F),)), - ('overlays/', 'baserom/overlays', 'ovl_En_Stone_heishi', 0x80BC9270, ((0x80BCA380, 0x80BCA59F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Oceff_Wipe6', 0x80BCA5A0, ((0x80BCA8B0, 0x80BCABEF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Scopenuts', 0x80BCABF0, ((0x80BCCB20, 0x80BCCFFF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Scopecrow', 0x80BCD000, ((0x80BCDB50, 0x80BCDCAF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Oceff_Wipe7', 0x80BCDCB0, ((0x80BCDFC0, 0x80BCEB0F),),((0x80BCEB10,0x80BCEB1F),)), - ('overlays/', 'baserom/overlays', 'ovl_Eff_Kamejima_Wave', 0x80BCEB20, ((0x80BCF070, 0x80BCF1BF),),((0x80BCF1C0,0x80BCF1CF),)), - ('overlays/', 'baserom/overlays', 'ovl_En_Hg', 0x80BCF1D0, ((0x80BCFF90, 0x80BD02AF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Hgo', 0x80BD02B0, ((0x80BD0E80, 0x80BD11DF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Zov', 0x80BD11E0, ((0x80BD26C0, 0x80BD2A2F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Ah', 0x80BD2A30, ((0x80BD3DB0, 0x80BD408F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Hgdoor', 0x80BD4090, ((0x80BD4670, 0x80BD471F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Ikana_Bombwall', 0x80BD4720, ((0x80BD5250, 0x80BD53BF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Ikana_Ray', 0x80BD53C0, ((0x80BD55D0, 0x80BD568F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Ikana_Shutter', 0x80BD5690, ((0x80BD5CF0, 0x80BD5DFF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Haka_Bombwall', 0x80BD5E00, ((0x80BD6480, 0x80BD657F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Haka_Tomb', 0x80BD6580, ((0x80BD6880, 0x80BD690F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Sc_Ruppe', 0x80BD6910, ((0x80BD6DF0, 0x80BD6F0F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Iknv_Doukutu', 0x80BD6F10, ((0x80BD79C0, 0x80BD7AAF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Iknv_Obj', 0x80BD7AB0, ((0x80BD81D0, 0x80BD82AF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Pamera', 0x80BD82B0, ((0x80BDA460, 0x80BDAA2F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_HsStump', 0x80BDAA30, ((0x80BDAF60, 0x80BDB03F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Hidden_Nuts', 0x80BDB040, ((0x80BDC0B0, 0x80BDC26F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Zow', 0x80BDC270, ((0x80BDDCD0, 0x80BDDFDF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Talk', 0x80BDDFE0, ((0x80BDE140, 0x80BDE19F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Al', 0x80BDE1A0, ((0x80BDFC70, 0x80BE04DF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Tab', 0x80BE04E0, ((0x80BE18D0, 0x80BE1C7F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Nimotsu', 0x80BE1C80, ((0x80BE1F90, 0x80BE202F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Hit_Tag', 0x80BE2030, ((0x80BE21D0, 0x80BE225F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Ruppecrow', 0x80BE2260, ((0x80BE3990, 0x80BE3B7F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Tanron4', 0x80BE3B80, ((0x80BE4880, 0x80BE492F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Tanron5', 0x80BE4930, ((0x80BE5D80, 0x80BE603F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Tanron6', 0x80BE6040, ((0x80BE6150, 0x80BE61CF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Daiku2', 0x80BE61D0, ((0x80BE78D0, 0x80BE7AFF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Muto', 0x80BE7B00, ((0x80BE83F0, 0x80BE84EF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Baisen', 0x80BE84F0, ((0x80BE8DF0, 0x80BE8F1F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Heishi', 0x80BE8F20, ((0x80BE9430, 0x80BE950F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Demo_heishi', 0x80BE9510, ((0x80BE9A30, 0x80BE9B1F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Dt', 0x80BE9B20, ((0x80BEB1B0, 0x80BEB51F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Cha', 0x80BEB520, ((0x80BEB860, 0x80BEB93F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Dinner', 0x80BEB940, ((0x80BEBA70, 0x80BEBABF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Eff_Lastday', 0x80BEBAC0, ((0x80BEC190, 0x80BEC23F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Ikana_Dharma', 0x80BEC240, ((0x80BECAB0, 0x80BECBCF),),((0x80BECBD0,0x80BECBDF),)), - ('overlays/', 'baserom/overlays', 'ovl_En_Akindonuts', 0x80BECBE0, ((0x80BF02D0, 0x80BF0D8F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Eff_Stk', 0x80BF0D90, ((0x80BF10C0, 0x80BF114F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Ig', 0x80BF1150, ((0x80BF3260, 0x80BF391F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Rg', 0x80BF3920, ((0x80BF5740, 0x80BF5C0F),),((0x80BF5C10,0x80BF5C1F),)), - ('overlays/', 'baserom/overlays', 'ovl_En_Osk', 0x80BF5C20, ((0x80BF6F80, 0x80BF74DF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Sth2', 0x80BF74E0, ((0x80BF7920, 0x80BFA0FF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Yb', 0x80BFA100, ((0x80BFB290, 0x80BFB47F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Rz', 0x80BFB480, ((0x80BFCCC0, 0x80BFCF9F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Scopecoin', 0x80BFCFA0, ((0x80BFD260, 0x80BFD2DF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Bjt', 0x80BFD2E0, ((0x80BFDEA0, 0x80BFE16F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Bomjima', 0x80BFE170, ((0x80C009F0, 0x80C00E9F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Bomjimb', 0x80C00EA0, ((0x80C03170, 0x80C0352F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Bombers', 0x80C03530, ((0x80C04750, 0x80C0492F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Bombers2', 0x80C04930, ((0x80C05880, 0x80C05A6F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Bombal', 0x80C05A70, ((0x80C06440, 0x80C0650F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Moon_Stone', 0x80C06510, ((0x80C06A10, 0x80C06A9F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Mu_Pict', 0x80C06AA0, ((0x80C06FE0, 0x80C0710F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Ikninside', 0x80C07110, ((0x80C07680, 0x80C0773F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Eff_Zoraband', 0x80C07740, ((0x80C07AC0, 0x80C07B1F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Kepn_Koya', 0x80C07B20, ((0x80C07C20, 0x80C07C7F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Usiyane', 0x80C07C80, ((0x80C08640, 0x80C0875F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Nnh', 0x80C08760, ((0x80C089E0, 0x80C08A7F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Kzsaku', 0x80C08A80, ((0x80C08DD0, 0x80C08E3F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Milk_Bin', 0x80C08E40, ((0x80C09030, 0x80C090CF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Kitan', 0x80C090D0, ((0x80C09D30, 0x80C09ECF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Astr_Bombwall', 0x80C09ED0, ((0x80C0A600, 0x80C0A73F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Iknin_Susceil', 0x80C0A740, ((0x80C0B0C0, 0x80C0B28F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Bsb', 0x80C0B290, ((0x80C0F8D0, 0x80C0FFCF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Recepgirl', 0x80C0FFD0, ((0x80C10690, 0x80C1076F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Thiefbird', 0x80C10770, ((0x80C135A0, 0x80C1391F),),((0x80C13920,0x80C1392F),)), - ('overlays/', 'baserom/overlays', 'ovl_En_Jgame_Tsn', 0x80C13930, ((0x80C15010, 0x80C152EF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Jgame_Light', 0x80C152F0, ((0x80C15BA0, 0x80C161DF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Yado', 0x80C161E0, ((0x80C16400, 0x80C1646F),),((0x80C16470,0x80C1647F),)), - ('overlays/', 'baserom/overlays', 'ovl_Demo_Syoten', 0x80C16480, ((0x80C177B0, 0x80C17A0F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Demo_Moonend', 0x80C17A10, ((0x80C18070, 0x80C1811F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Lbfshot', 0x80C18120, ((0x80C181E0, 0x80C1823F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Bg_Last_Bwall', 0x80C18240, ((0x80C189A0, 0x80C18B8F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_And', 0x80C18B90, ((0x80C19160, 0x80C1929F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Invadepoh_Demo', 0x80C192A0, ((0x80C1AA40, 0x80C1AD3F),),((0x80C1AD40,0x80C1ADBF),)), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Danpeilift', 0x80C1ADC0, ((0x80C1B520, 0x80C1B63F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Fall2', 0x80C1B640, ((0x80C1BBE0, 0x80C1BD8F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Dm_Al', 0x80C1BD90, ((0x80C1C250, 0x80C1C40F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Dm_An', 0x80C1C410, ((0x80C1D1A0, 0x80C1D40F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Dm_Ah', 0x80C1D410, ((0x80C1DDC0, 0x80C1DECF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Dm_Nb', 0x80C1DED0, ((0x80C1E1E0, 0x80C1E28F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Drs', 0x80C1E290, ((0x80C1E5C0, 0x80C1E68F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Ending_Hero', 0x80C1E690, ((0x80C1E950, 0x80C1E9DF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Dm_Bal', 0x80C1E9E0, ((0x80C1F150, 0x80C1F3CF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Paper', 0x80C1F3D0, ((0x80C1FC40, 0x80C1FCEF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Hint_Skb', 0x80C1FCF0, ((0x80C21C60, 0x80C2234F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Dm_Tag', 0x80C22350, ((0x80C22BD0, 0x80C22D3F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Bh', 0x80C22D40, ((0x80C231C0, 0x80C2322F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Ending_Hero2', 0x80C23230, ((0x80C23400, 0x80C2345F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Ending_Hero3', 0x80C23460, ((0x80C23630, 0x80C2368F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Ending_Hero4', 0x80C23690, ((0x80C23860, 0x80C238BF),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Ending_Hero5', 0x80C238C0, ((0x80C23BD0, 0x80C23C8F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Ending_Hero6', 0x80C23C90, ((0x80C241E0, 0x80C2435F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Dm_Gm', 0x80C24360, ((0x80C250F0, 0x80C2535F),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Swprize', 0x80C25360, ((0x80C257D0, 0x80C2589F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Invisible_Ruppe', 0x80C258A0, ((0x80C25B30, 0x80C25BBF),),()), - ('overlays/', 'baserom/overlays', 'ovl_Obj_Ending', 0x80C25BC0, ((0x80C25CC0, 0x80C25D3F),),()), - ('overlays/', 'baserom/overlays', 'ovl_En_Rsn', 0x80C25D40, ((0x80C25FF0, 0x80C2609F),),()), -} \ No newline at end of file diff --git a/tables/objects.txt b/tables/objects.txt deleted file mode 100644 index 9646e7a586..0000000000 --- a/tables/objects.txt +++ /dev/null @@ -1,1756 +0,0 @@ -{ - 0x80080060:"boot_main", - 0x80080150:"idle", - 0x800805E0:"viconfig", - 0x80080790:"z_std_dma", - 0x80080E30:"yaz0", - 0x80081250:"irqmgr", - 0x80081820:"CIC6105", - 0x80081920:"", - 0x80081980:"fault", - 0x80083EB0:"fault_drawer", - 0x80084940:"", - 0x800849A0:"loadfragment", - 0x80084DB0:"loadfragment2", - 0x80085130:"padutils", - 0x80085320:"stackcheck", - 0x80085570:"gfxprint", - 0x80086280:"", - 0x800862E0:"", - 0x80086760:"", - 0x80086DD0:"", - 0x80086FA0:"", - 0x80087160:"__osMalloc", - 0x80087830:"sprintf", - 0x80087900:"", - 0x80087B00:"setcause", - 0x80087B10:"sendmesg", - 0x80087C60:"", - 0x80087E00:"", - 0x80087E10:"stopthread", - 0x80087ED0:"recvmesg", - 0x80088010:"setintmask", - 0x800880B0:"getintmask", - 0x80088110:"voicesetword", - 0x800882A0:"scale", - 0x80088350:"sinf", - 0x80088510:"sins", - 0x80088580:"sptask", - 0x80088840:"ll", - 0x80088B00:"exceptasm", - 0x80089430:"thread", - 0x80089470:"destroythread", - 0x80089580:"voicecheckresult", - 0x80089630:"bzero", - 0x800896D0:"", - 0x80089AA0:"siacs", - 0x80089B60:"controller", - 0x80089E40:"createthread", - 0x80089F90:"contreaddata", - 0x8008A170:"", - 0x8008A540:"virtualtophysical", - 0x8008A5C0:"getsr", - 0x8008A5D0:"setsr", - 0x8008A5E0:"writebackdcache", - 0x8008A660:"initialize", - 0x8008AA10:"vigetnextframebuf", - 0x8008AA50:"perspective", - 0x8008AD70:"sirawdma", - 0x8008ACE0:"sprawdma", - 0x8008AE20:"", - 0x8008AE70:"viblack", - 0x8008AEE0:"sirawread", - 0x8008AF30:"getthreadid", - 0x8008AF50:"sptaskyield", - 0x8008AF70:"pfsreadwritefile", - 0x8008B3C0:"", - 0x8008B600:"", - 0x8008B650:"visetmode", - 0x8008B6B0:"getconfig", - 0x8008B6C0:"setconfig", - 0x8008B6D0:"lookat", - 0x8008B9F0:"", - 0x8008BE70:"stoptimer", - 0x8008BF60:"probetlb", - 0x8008C020:"pimgr", - 0x8008C190:"piacs", - 0x8008C260:"devmgr", - 0x8008C640:"", - 0x8008C670:"pirawdma", - 0x8008C740:"", - 0x8008D2C0:"getcount", - 0x8008D2E0:"", - 0x8008D350:"getmemsize", - 0x8008D470:"pfssearchfile", - 0x8008D640:"seteventmesg", - 0x8008D700:"sqrtf", - 0x8008D710:"afterprenmi", - 0x8008D730:"contquery", - 0x8008D7D0:"lookathil", - 0x8008E050:"xprintf", - 0x8008ED30:"", - 0x8008EDE0:"unmaptlball", - 0x8008EE30:"epidma", - 0x8008EED0:"", - 0x8008F100:"", - 0x8008F1A0:"string", - 0x8008F240:"createmesgqueue", - 0x8008F270:"invalicache", - 0x8008F2F0:"invaldcache", - 0x8008F3A0:"timerintr", - 0x8008F7D0:"", - 0x8008FA00:"", - 0x8008FA30:"si", - 0x8008FA60:"", - 0x8008FAB0:"jammesg", - 0x8008FC00:"setthreadpri", - 0x8008FCE0:"getthreadpri", - 0x8008FD00:"", - 0x8008FE60:"viswapbuf", - 0x8008FEB0:"position", - 0x800900C0:"", - 0x800902A0:"sptaskyielded", - 0x80090300:"memcmp", - 0x80090420:"gettime", - 0x800904B0:"rotate", - 0x80090680:"setglobalintmask", - 0x800906D0:"", - 0x80090810:"", - 0x80090900:"", - 0x80090AF0:"aisetfreq", - 0x80090C40:"contramread", - 0x80090E70:"", - 0x800910A0:"crc", - 0x80091210:"getactivequeue", - 0x80091220:"normalize", - 0x80091280:"setcompare", - 0x80091290:"getcompare", - 0x800912A0:"dpgetstat", - 0x800912B0:"dpsetstat", - 0x800912C0:"bcopy", - 0x800915D0:"resetglobalintmask", - 0x80091630:"", - 0x800918A0:"ortho", - 0x80091A60:"interrupt", - 0x80091AF0:"vi", - 0x80091C10:"viswapcontext", - 0x80091F10:"pigetcmdq", - 0x80091F40:"cosf", - 0x800920B0:"", - 0x80092100:"visetspecial", - 0x80092260:"coss", - 0x80092290:"settime", - 0x800922C0:"", - 0x800923e0:"visetevent", - 0x80092440:"pfsisplug", - 0x80092730:"voicegetstatus", - 0x80092920:"cartrominit", - 0x80092A80:"", - 0x80092C00:"", - 0x80092C80:"contsetch", - 0x80092CE0:"setfpccsr", - 0x80092CF0:"getfpccsr", - 0x80092D00:"", - 0x80092EE0:"", - 0x800931F0:"", - 0x80093BA0:"aigetlen", - 0x80093BB0:"", - 0x80093C00:"maptlbrdb", - 0x80093C60:"yieldthread", - 0x80093CC0:"", - 0x80093D90:"getcause", - 0x80093DA0:"contramwrite", - 0x80093FF0:"epirawwrite", - 0x80094150:"settimer", - 0x800942E0:"xldtob", - 0x80094DF0:"ldiv", - 0x80094F80:"xlitob", - 0x80095270:"spgetstat", - 0x80095280:"spsetstat", - 0x80095220:"sirawwrite", - 0x800952A0:"vimgr", - 0x800955B0:"vigetcurrcontext", - 0x800955C0:"writebackdcacheall", - 0x800955F0:"getcurrfaultthread", - 0x80095600:"", - 0x80095740:"", - 0x800957b0:"startthread", - 0x80095900:"visetyscale", - 0x80095950:"visetxscale", - 0x80095A60:"llcvt", - 0x80095C70:"", - 0x80096360:"", - 0x80096410:"", - 0x800964D0:"", - 0x80096510:"spsetpc", - 0x80096540:"", - 0x80096770:"gethwintrroutine", - 0x800967A0:"", - 0x80096810:"", - 0x80096820:"", - 0x80096880:"", - 0x800968B0:"", - 0x800968F0:"", - 0x80096930:"", - - 0x800969C0:"boot_data_0x800969C0", - 0x80096B20:"boot_data_idle", - 0x80096B40:"boot_data_0x80096B40", - 0x80096B50:"boot_data_z_std_dma", - 0x80096B60:"boot_data_irqmgr", - 0x80096B80:"boot_data_fault", - 0x80096BE0:"boot_data_fault_drawer", - 0x80096C20:"boot_data_loadfragment", - 0x80096C30:"boot_data_loadfragment2", - 0x80096C40:"boot_data_stackcheck", - 0x80096C50:"boot_data_0x80085570", - 0x80097500:"boot_data_0x800862E0", - 0x80097530:"boot_data_0x80086FA0", - 0x80097540:"boot_data_0x80097540", - 0x800975E0:"boot_data_sins", - 0x80097DE0:"boot_data_0x80097DE0", - 0x80097E10:"boot_data_thread", - 0x80097E30:"boot_data_siacs", - 0x80097E40:"boot_data_controller", - 0x80097E50:"boot_data_initialize", - 0x80097E70:"boot_data_pimgr", - 0x80097EA0:"boot_data_piacs", - 0x80097EB0:"boot_data_0x80097EB0", - 0x80097F10:"boot_data_seteventmesg", - 0x80097F20:"boot_data_xprintf", - 0x80097F70:"boot_data_timerintr", - 0x80097F80:"boot_data_position", - 0x80097F90:"boot_data_rotate", - 0x80097FA0:"boot_data_0x800906D0", - 0x80097FB0:"boot_data_contramread", - 0x80097FC0:"boot_data_vi", - 0x800980D0:"boot_data_cartrominit", - 0x800980E0:"boot_data_0x800980E0", - 0x80098130:"boot_data_xldtob", - 0x80098160:"boot_data_vimgr", - - 0x80098190:"boot_rodata_0x80080060", - 0x80098210:"boot_rodata_0x80080E30", - 0x80098260:"boot_rodata_0x80081250", - 0x80098280:"boot_rodata_CIC6105", - 0x800982B0:"boot_rodata_fault", - 0x80098C50:"boot_rodata_fault_drawer", - 0x80099090:"boot_rodata_0x80085570", - 0x800990B0:"boot_rodata_0x80086280", - 0x800990C0:"boot_rodata_0x80086760", - 0x80099110:"boot_rodata___osMalloc", - 0x800991A0:"boot_rodata_setintmask", - 0x80099220:"boot_rodata_sinf", - 0x80099270:"boot_rodata_exceptasm", - 0x800992C0:"boot_rodata_perspective", - 0x800992D0:"boot_rodata_0x8008C260", - 0x800992F0:"boot_rodata_lookathil", - 0x80099300:"boot_rodata_xprintf", - 0x80099400:"boot_rodata_cosf", - 0x80099450:"boot_rodata___libm_qnan_f", # XXX this might not be from a file with any functions - 0x80099460:"boot_rodata_xldtob", - 0x800994C0:"boot_rodata_llcvt", - 0x800994D0:"boot_rodata_build_date", - - 0x800A5AC0:"", - 0x800A5D00:"z_en_item00", - 0x800A81F0:"z_eff_blure", - 0x800AB5D0:"z_eff_shield_particle", - 0x800ACBF0:"z_eff_spark", - 0x800AE2A0:"z_eff_ss_dead", - 0x800AE930:"z_eff_tire_mark", - 0x800AF710:"", - 0x800B0050:"z_effect_soft_sprite", - 0x800B0B10:"z_effect_soft_sprite_old_init", - 0x800B32D0:"flg_set", - 0x800B3880:"z_DLF", - 0x800B3AD0:"z_actor", - 0x800BF9A0:"z_actor_dlftbls", - 0x800BFB80:"z_bgcheck", - 0x800CAAD0:"", - 0x800CAE10:"", - 0x800CB000:"", - 0x800CB210:"z_camera", - 0x800E03A0:"z_collision_btltbls", - 0x800E0410:"z_collision_check", - 0x800E8EA0:"", - 0x800E9360:"", - 0x800E93E0:"z_debug", - 0x800E9470:"z_debug_display", - 0x800E9C90:"z_debug_mode", - 0x800EE320:"z_draw", - 0x800EFE60:"z_eff_footmark", - 0x800F0390:"", - 0x800F05C0:"", - 0x800F07C0:"", - 0x800F1250:"", - 0x800F1460:"", - 0x800F23E0:"", - 0x800F2620:"z_fcurve_data_skelanime", - 0x800F2D30:"z_fireobj", - 0x800F3940:"z_horse", - 0x800F42A0:"z_jpeg", - 0x800F4A10:"", - 0x800F4F40:"z_kanfont", - 0x800F5090:"z_kankyo", - 0x800FEC90:"z_lib", - 0x801005C0:"z_lifemeter", - 0x801019A0:"z_lights", - 0x80102C60:"", - 0x80102E40:"z_map_disp", - 0x801094A0:"z_map_data", - 0x8010A000:"z_map_exp", - 0x8010A760:"z_msgevent", - 0x8010C0C0:"", - 0x8010C230:"z_olib", - 0x8010CB70:"", - 0x8010CB80:"z_parameter", - 0x801224E0:"", - 0x80122660:"", - 0x801226E0:"z_player_lib", - 0x80129EF0:"z_prenmi", - 0x8012A080:"z_quake", - 0x8012BC50:"z_rcp", - 0x8012D510:"z_room", - 0x8012EC80:"", - 0x8012F2E0:"z_scene", - 0x801307C0:"z_scene_proc", - 0x801322C0:"z_scene_table", - 0x801323D0:"", - 0x801330E0:"z_skelanime", - 0x80137970:"z_skin", - 0x80138410:"z_skin_awb", - 0x80138BA0:"z_skin_matrix", - 0x8013A240:"z_snap", - 0x8013A7C0:"z_sub_s", - 0x8013EC10:"", - 0x8013EE60:"z_view", - 0x80140260:"z_vimode", - 0x80140E80:"", - 0x801418B0:"z_vismono", - 0x801420C0:"", - 0x80142440:"z_vr_box", - 0x801435A0:"z_vr_box_draw", - 0x80143A10:"z_sram_NES", - 0x80147520:"z_message", - 0x801588D0:"z_message_nes", - 0x8015E750:"z_message_staff", - 0x80160A90:"", - 0x80160C00:"z_shrink_window", - 0x80161180:"", - 0x80163700:"z_kaleido_manager", - 0x801639A0:"", - 0x80163C90:"", - 0x80163DC0:"z_fbdemo", - 0x801647D0:"", - 0x80164AF0:"z_fbdemo_circle", - 0x801651B0:"z_overlay", - 0x80165460:"z_play", - 0x8016AC10:"z_play_hireso", - 0x8016FCF0:"PreRender", - 0x801727F0:"TwoHeadGfxArena", - 0x80172A00:"TwoHeadArena", - 0x80172BC0:"", - 0x80172C30:"audioMgr", - 0x80173130:"game", - 0x80173BF0:"gamealloc", - 0x80173D30:"graph", - 0x80174A40:"", - 0x80174AA0:"listalloc", - 0x80174BF0:"main", - 0x80174F10:"padmgr", - 0x80176280:"sched", - 0x80177390:"speed_meter", - 0x80178750:"sys_cmpdma", - 0x80178F30:"sys_initial_check", - 0x80179300:"", - 0x801795F0:"", - 0x8017FEB0:"", - 0x80180160:"sys_matrix", - 0x80182CE0:"", - 0x80183070:"", - 0x801830A0:"", - 0x80185660:"sys_slowly", - 0x801857C0:"sys_flashrom", - 0x80185F90:"", - 0x801877D0:"", - 0x8018B0F0:"", - 0x8018EB60:"", - 0x80192BE0:"", - 0x80194710:"", - 0x80194930:"", - 0x801974D0:"", - 0x8019AE40:"", - 0x8019AEC0:"", - 0x8019AF00:"", - 0x801A51F0:"", - 0x801A5BD0:"", - 0x801A7B10:"", - 0x801AA020:"", - 0x801AA610:"", - 0x801AAAA0:"", - - 0x801AAAB0:"code_data_0x801AAAB0", - 0x801ADE60:"code_data_0x800A5AC0", - 0x801ADEC0:"code_data_z_en_item00", - 0x801AE240:"code_data_z_eff_blure", - 0x801AE2F0:"code_data_z_eff_shield_particle", - 0x801AE330:"code_data_0x800AF710", - 0x801AE3A0:"code_data_z_effect_soft_sprite", - 0x801AE3B0:"code_data_z_effect_soft_sprite_old_init", - 0x801AE8F0:"code_data_flg_set_table", - 0x801AEC70:"code_data_flg_set", - 0x801AEC80:"code_data_z_actor", - 0x801AEFD0:"code_data_z_actor_dlftbls", - 0x801B4620:"code_data_z_bgcheck", - 0x801B4710:"code_data_z_camera", - 0x801B9F20:"code_data_z_collision_btltbls", - 0x801BA200:"code_data_z_collision_check", - 0x801BA550:"code_data_z_debug_display", - 0x801BB090:"code_data_z_debug_mode", - 0x801BB170:"code_data_z_draw", - 0x801BC240:"code_data_z_eff_footmark", - 0x801BC2A0:"code_data_0x800F07C0", - 0x801BD830:"code_data_0x800F1460", - 0x801BD8d0:"code_data_z_fireobj", - 0x801BD910:"code_data_0x801BD910", - 0x801BDA70:"code_data_z_horse", - 0x801BDAC0:"code_data_z_jpeg", - 0x801BDB30:"code_data_z_kanfont", - 0x801BDB90:"code_data_z_kankyo", - 0x801BE960:"code_data_z_lib", - 0x801BE990:"code_data_z_lifemeter", - 0x801BEAB0:"code_data_z_lights", - 0x801BEAD0:"code_data_z_map_disp", # z_map_data is somewhere in here - 0x801BF550:"code_data_z_map_exp", - 0x801BF5C0:"code_data_z_msgevent", - 0x801BF6C0:"code_data_z_parameter", - 0x801BFDD0:"code_data_z_player_lib", - 0x801C0EC0:"code_data_0x8012A080", - 0x801C0EF0:"code_data_z_rcp", - 0x801C1D10:"code_data_z_room", - 0x801C1D30:"code_data_0x801C1D30", - 0x801C2650:"code_data_z_scene", - 0x801C2730:"code_data_0x801C2730", - 0x801C3B60:"code_data_z_scene_proc", - 0x801C3CA0:"code_data_z_scene_table", - 0x801C5C50:"code_data_0x801323D0", - 0x801C5CB0:"code_data_z_skelanime", - 0x801C5CD0:"code_data_z_skin_matrix", - 0x801C5D10:"code_data_z_sub_s", - 0x801C5DD0:"code_data_z_vimode", - 0x801C5E30:"code_data_z_vr_box", - 0x801C5FC0:"code_data_z_vr_box_draw", - 0x801C67B0:"code_data_z_sram_NES", - 0x801D0470:"code_data_z_message_nes", - 0x801D0B50:"code_data_0x80160A90", - 0x801D0B70:"code_data_z_kaleido_manager", - 0x801D0BB0:"code_data_0x80163C90", - 0x801D0C80:"code_data_z_fbdemo", - 0x801D0D00:"code_data_z_fbdemo_circle", - 0x801D0D50:"code_data_z_play", - 0x801D0D80:"code_data_z_play_hireso", - 0x801D14F0:"code_data_0x80172C30", - 0x801D1500:"code_data_game", - 0x801D1520:"code_data_graph", - 0x801D1530:"code_data_padmgr", - 0x801D1540:"code_data_speed_meter", - 0x801D1570:"code_data_0x80179300", - 0x801D15B0:"code_data_0x801D15B0", - 0x801D15D0:"code_data_0x8017FEB0", - 0x801D1DE0:"code_data_sys_matrix", - 0x801D1E70:"code_data_0x80182CE0", - 0x801D2E80:"code_data_0x8018B0F0", - 0x801D3D90:"code_data_0x80194930", - 0x801D55B0:"code_data_0x8019AF00", - 0x801D8E50:"code_data_0x801A51F0", - 0x801D9090:"code_data_0x801A5BD0", - - 0x801DBDF0:"code_rodata_z_en_item00", - 0x801DC080:"code_rodata_z_eff_blure", - 0x801DC0B0:"code_rodata_z_eff_shield_particle", - 0x801DC0C0:"code_rodata_z_eff_spark", - 0x801DC0D0:"code_rodata_z_eff_ss_dead", - 0x801DC0E0:"code_rodata_0x800AF710", - 0x801DC100:"code_rodata_z_effect_soft_sprite_old_init", - 0x801DC120:"code_rodata_flg_set", - 0x801DC9D0:"code_rodata_z_actor", - 0x801DCBB0:"code_rodata_0x800BF9A0", - 0x801DCC00:"code_rodata_z_bgcheck", - 0x801DCDB0:"code_rodata_0x800CB000", - 0x801DCDC0:"code_rodata_z_camera", - 0x801DD5C0:"code_rodata_z_collision_check", - 0x801DD600:"code_rodata_0x800E8EA0", - 0x801DD610:"code_rodata_z_debug_mode", - 0x801DD770:"code_rodata_z_draw", - 0x801DD780:"code_rodata_z_eff_footmark", - 0x801DD790:"code_rodata_0x800F1460", - 0x801DD7B0:"code_rodata_0x800F23E0", - 0x801DD7C0:"code_rodata_z_fcurve_data_skelanime", - 0x801DD7D0:"code_rodata_z_fireobj", - 0x801DD7E0:"code_rodata_z_horse", - 0x801DD7F0:"code_rodata_z_jpeg", - 0x801DD880:"code_rodata_z_kankyo", - 0x801DDA80:"code_rodata_z_lib", - 0x801DDA90:"code_rodata_z_lifemeter", - 0x801DDAB0:"code_rodata_z_lights", - 0x801DDAC0:"code_rodata_z_map_disp", - 0x801DDAE0:"code_rodata_0x8010C230", - 0x801DDB00:"code_rodata_z_parameter", - 0x801DDD20:"code_rodata_z_player_lib", - 0x801DDE10:"code_rodata_0x8012A080", - 0x801DDFA0:"code_rodata_z_room", - 0x801DDFF0:"code_rodata_z_scene_proc", - 0x801DE020:"code_rodata_z_scene_table", - 0x801DE5C0:"code_rodata_z_skin", - 0x801DE5D0:"code_rodata_z_skin_matrix", - 0x801DE5E0:"code_rodata_z_sub_s", - 0x801DF090:"code_rodata_0x8013EC10", - 0x801DF0A0:"code_rodata_z_view", - 0x801DF0B0:"code_rodata_z_vimode", - 0x801DF120:"code_rodata_0x80140E80", - 0x801DF130:"code_rodata_z_vr_box", - 0x801DF150:"code_rodata_z_message", - 0x801DF730:"code_rodata_z_message_nes", - 0x801DF860:"code_rodata_z_message_staff", - 0x801DF900:"code_rodata_0x80160A90", - 0x801DF9C0:"code_rodata_z_kaleido_manager", - 0x801DF9E0:"code_rodata_z_fbdemo_circle", - 0x801DFA00:"code_rodata_z_play", - 0x801DFC50:"code_rodata_z_play_hireso", - 0x801DFC60:"code_rodata_PreRender", - 0x801DFC70:"code_rodata_0x80172BC0", - 0x801DFC80:"code_rodata_0x80172C30", - 0x801DFCC0:"code_rodata_game", - 0x801DFCE0:"code_rodata_graph", - 0x801DFD70:"code_rodata_main", - 0x801DFD90:"code_rodata_padmgr", - 0x801DFDE0:"code_rodata_sched", - 0x801E0120:"code_rodata_0x80179300", - 0x801E0130:"code_rodata_0x801795F0", - 0x801E01E0:"code_rodata_0x8017FEB0", - 0x801E01F0:"code_rodata_sys_matrix", - 0x801E0200:"code_rodata_0x801830A0", - 0x801E0230:"code_rodata_sys_flashrom", - 0x801E0280:"code_rodata_0x801877D0", - 0x801E02B0:"code_rodata_0x8018B0F0", - 0x801E0300:"code_rodata_0x8018EB60", - 0x801E0390:"code_rodata_0x80192BE0", - 0x801E04E0:"code_rodata_0x80194930", - 0x801E0540:"code_rodata_0x801974D0", - 0x801E0BD0:"code_rodata_0x8019AF00", - 0x801E0EC0:"code_rodata_0x801A51F0", - 0x801E1050:"code_rodata_0x801A5BD0", - 0x801E1070:"code_rodata_0x801A7B10", - 0x801E1120:"code_rodata_0x801AA610", - - 0x80807940:"", - 0x8080BC20:"", - - 0x8081D240:"", - 0x8081FF80:"", - - 0x80800860:"ovl_title_data", - 0x80800880:"ovl_title_rodata", - 0x80801C80:"ovl_select_data", - 0x80802390:"ovl_select_rodata", - 0x80803FC0:"ovl_opening_data", - 0x80803FD0:"ovl_opening_rodata", - 0x80813DF0:"ovl_file_choose_data", - 0x808147D0:"ovl_file_choose_rodata", - 0x808158E0:"ovl_daytelop_data", - 0x80816020:"ovl_daytelop_rodata", - 0x8082AED0:"ovl_kaleido_scope_data", - 0x8085B9F0:"ovl_Player_Actor_data", - 0x8085E3B0:"ovl_Player_Actor_rodata", - 0x808637B0:"ovl_En_Test_data", - 0x808637D0:"ovl_En_Test_rodata", - 0x80864A30:"ovl_En_GirlA_data", - 0x80864FB0:"ovl_En_GirlA_rodata", - 0x808658E0:"ovl_En_Part_data", - 0x80865920:"ovl_En_Part_rodata", - 0x808666B0:"ovl_En_Light_data", - 0x80866750:"ovl_En_Light_rodata", - 0x808675D0:"ovl_En_Door_data", - 0x80867A20:"ovl_En_Door_rodata", - 0x80869B30:"ovl_En_Box_data", - 0x80869BA0:"ovl_En_Box_rodata", - 0x8086D940:"ovl_En_Pametfrog_data", - 0x8086DA40:"ovl_En_Pametfrog_rodata", - 0x80870870:"ovl_En_Okuta_data", - 0x80870980:"ovl_En_Okuta_rodata", - 0x80872DA0:"ovl_En_Bom_data", - 0x808743C0:"ovl_En_Bom_rodata", - 0x80876340:"ovl_En_Wallmas_data", - 0x808763F0:"ovl_En_Wallmas_rodata", - 0x808790B0:"ovl_En_Dodongo_data", - 0x808793B0:"ovl_En_Dodongo_rodata", - 0x8087B450:"ovl_En_Firefly_data", - 0x8087B500:"ovl_En_Firefly_rodata", - 0x80888EC0:"ovl_En_Horse_data", - 0x80889220:"ovl_En_Horse_rodata", - 0x8088C1C0:"ovl_En_Arrow_data", - 0x8088C3A0:"ovl_En_Arrow_rodata", - 0x808909C0:"ovl_En_Elf_data", - 0x80890A90:"ovl_En_Elf_rodata", - 0x80893460:"ovl_En_Niw_data", - 0x80893500:"ovl_En_Niw_rodata", - 0x80896AB0:"ovl_En_Tite_data", - 0x80896BB0:"ovl_En_Tite_rodata", - 0x80899410:"ovl_En_Peehat_data", - 0x808995C0:"ovl_En_Peehat_rodata", - 0x8089A530:"ovl_En_Holl_data", - 0x8089A5F0:"ovl_En_Holl_rodata", - 0x8089E150:"ovl_En_Dinofos_data", - 0x8089E3D0:"ovl_En_Dinofos_rodata", - 0x8089ED10:"ovl_En_Hata_data", - 0x8089ED30:"ovl_En_Hata_rodata", - 0x8089EDD0:"ovl_En_Zl1_data", - 0x8089EDF0:"ovl_En_Zl1_rodata", - 0x8089F3E0:"ovl_En_Viewer_data", - 0x8089F410:"ovl_En_Viewer_rodata", - 0x808A06E0:"ovl_En_Bubble_data", - 0x808A0780:"ovl_En_Bubble_rodata", - 0x808A2160:"ovl_Door_Shutter_data", - 0x808A22F0:"ovl_Door_Shutter_rodata", - 0x808A2FF0:"ovl_En_Boom_data", - 0x808A30B0:"ovl_En_Boom_rodata", - 0x808A35B0:"ovl_En_Torch2_data", - 0x808A3620:"ovl_En_Torch2_rodata", - 0x808A4D20:"ovl_En_Minifrog_data", - 0x808A4DB0:"ovl_En_Minifrog_rodata", - 0x808A7590:"ovl_En_St_data", - 0x808A7720:"ovl_En_St_rodata", - 0x808A7DA0:"ovl_Obj_Wturn_data", - 0x808A7DD0:"ovl_Obj_Wturn_rodata", - 0x808A8040:"ovl_En_River_Sound_data", - 0x808A8070:"ovl_En_River_Sound_rodata", - 0x808AC010:"ovl_En_Ossan_data", - 0x808AC2D0:"ovl_En_Ossan_rodata", - 0x808AC300:"ovl_En_Ossan_late_rodata", - 0x808AE5E0:"ovl_En_Famos_data", - 0x808AE6D0:"ovl_En_Famos_rodata", - 0x808AFB00:"ovl_En_Bombf_data", - 0x808AFBC0:"ovl_En_Bombf_rodata", - 0x808B1050:"ovl_En_Am_data", - 0x808B11B0:"ovl_En_Am_rodata", - 0x808B4D40:"ovl_En_Dekubaba_data", - 0x808B4EB0:"ovl_En_Dekubaba_rodata", - 0x808B5340:"ovl_En_M_Fire1_data", - 0x808B5390:"ovl_En_M_Fire1_rodata", - 0x808B7100:"ovl_En_M_Thunder_data", - 0x808B7180:"ovl_En_M_Thunder_rodata", - 0x808B8120:"ovl_Bg_Breakwall_data", - 0x808B8350:"ovl_Bg_Breakwall_rodata", - 0x808BBB20:"ovl_Door_Warp1_data", - 0x808BBB80:"ovl_Door_Warp1_rodata", - 0x808BCCA0:"ovl_Obj_Syokudai_data", - 0x808BCD40:"ovl_Obj_Syokudai_rodata", - 0x808BD160:"ovl_Item_B_Heart_data", - 0x808BD190:"ovl_Item_B_Heart_rodata", - 0x808BEF10:"ovl_En_Dekunuts_data", - 0x808BEFE0:"ovl_En_Dekunuts_rodata", - 0x808C0D10:"ovl_En_Bbfall_data", - 0x808C0E00:"ovl_En_Bbfall_rodata", - 0x808C1BA0:"ovl_Arms_Hook_data", - 0x808C1C60:"ovl_Arms_Hook_rodata", - 0x808C3780:"ovl_En_Bb_data", - 0x808C3820:"ovl_En_Bb_rodata", - 0x808C3BA0:"ovl_Bg_Keikoku_Spr_data", - 0x808C3BD0:"ovl_Bg_Keikoku_Spr_rodata", - 0x808C4CE0:"ovl_En_Wood02_data", - 0x808C4DA0:"ovl_En_Wood02_rodata", - 0x808C98C0:"ovl_En_Death_data", - 0x808C9B60:"ovl_En_Death_rodata", - 0x808CBF30:"ovl_En_Minideath_data", - 0x808CC000:"ovl_En_Minideath_rodata", - 0x808CD4A0:"ovl_En_Vm_data", - 0x808CD5D0:"ovl_En_Vm_rodata", - 0x808CE290:"ovl_Demo_Effect_data", - 0x808CE2F0:"ovl_Demo_Effect_rodata", - 0x808D03C0:"ovl_Demo_Kankyo_data", - 0x808D03F0:"ovl_Demo_Kankyo_rodata", - 0x808D3880:"ovl_En_Floormas_data", - 0x808D3960:"ovl_En_Floormas_rodata", - 0x808D70C0:"ovl_En_Rd_data", - 0x808D7150:"ovl_En_Rd_rodata", - 0x808D7810:"ovl_Bg_F40_Flift_data", - 0x808D7840:"ovl_Bg_F40_Flift_rodata", - 0x808D8760:"ovl_Obj_Mure_data", - 0x808D87E0:"ovl_Obj_Mure_rodata", - 0x808DB9C0:"ovl_En_Sw_data", - 0x808DBAC0:"ovl_En_Sw_rodata", - 0x808DE320:"ovl_Object_Kankyo_data", - 0x808DE350:"ovl_Object_Kankyo_rodata", - 0x808DFEA0:"ovl_En_Horse_Link_Child_data", - 0x808DFF60:"ovl_En_Horse_Link_Child_rodata", - 0x808E0740:"ovl_Door_Ana_data", - 0x808E07B0:"ovl_Door_Ana_rodata", - 0x808E0DD0:"ovl_En_Encount1_data", - 0x808E0E00:"ovl_En_Encount1_rodata", - 0x808E1490:"ovl_Demo_Tre_Lgt_data", - 0x808E14E0:"ovl_Demo_Tre_Lgt_rodata", - 0x808E1ED0:"ovl_En_Encount2_data", - 0x808E1F50:"ovl_En_Encount2_rodata", - 0x808E2020:"ovl_En_Fire_Rock_data", - 0x808E2040:"ovl_En_Fire_Rock_rodata", - 0x808E2540:"ovl_Bg_Ctower_Rot_data", - 0x808E2570:"ovl_Bg_Ctower_Rot_rodata", - 0x808E3BD0:"ovl_Mir_Ray_data", - 0x808E3DD0:"ovl_Mir_Ray_rodata", - 0x808E3DE0:"ovl_Mir_Ray_late_rodata", - 0x808E4DF0:"ovl_En_Sb_data", - 0x808E4EA0:"ovl_En_Sb_rodata", - 0x808ED640:"ovl_En_Bigslime_data", - 0x808F04D0:"ovl_En_Bigslime_rodata", - 0x808F2D80:"ovl_En_Karebaba_data", - 0x808F2E40:"ovl_En_Karebaba_rodata", - 0x808F6A40:"ovl_En_In_data", - 0x808F6CD0:"ovl_En_In_rodata", - 0x808F88C0:"ovl_En_Bom_Chu_data", - 0x808F8960:"ovl_En_Bom_Chu_rodata", - 0x808F9B00:"ovl_En_Horse_Game_Check_data", - 0x808F9C90:"ovl_En_Horse_Game_Check_rodata", - 0x808FC130:"ovl_En_Rr_data", - 0x808FC210:"ovl_En_Rr_rodata", - 0x808FC670:"ovl_En_Fr_data", - 0x808FC690:"ovl_En_Fr_rodata", - 0x8090CCB0:"ovl_En_Fishing_data", - 0x8090D680:"ovl_En_Fishing_rodata", - 0x80918830:"ovl_Obj_Oshihiki_data", - 0x80918950:"ovl_Obj_Oshihiki_rodata", - 0x80919D90:"ovl_Eff_Dust_data", - 0x80919DC0:"ovl_Eff_Dust_rodata", - 0x8091A7F0:"ovl_Bg_Umajump_data", - 0x8091A820:"ovl_Bg_Umajump_rodata", - 0x8091BD60:"ovl_En_Insect_data", - 0x8091BDE0:"ovl_En_Insect_rodata", - 0x8091D2D0:"ovl_En_Butte_data", - 0x8091D400:"ovl_En_Butte_rodata", - 0x8091FA60:"ovl_En_Fish_data", - 0x8091FB00:"ovl_En_Fish_rodata", - 0x80920210:"ovl_Item_Etcetera_data", - 0x80920290:"ovl_Item_Etcetera_rodata", - 0x80920DF0:"ovl_Arrow_Fire_data", - 0x809222F0:"ovl_Arrow_Fire_rodata", - 0x80922DB0:"ovl_Arrow_Ice_data", - 0x80924200:"ovl_Arrow_Ice_rodata", - 0x80924210:"ovl_Arrow_Ice_late_rodata", - 0x80924C60:"ovl_Arrow_Light_data", - 0x809260B0:"ovl_Arrow_Light_rodata", - 0x809260C0:"ovl_Arrow_Light_late_rodata", - 0x80927380:"ovl_Obj_Kibako_data", - 0x80927400:"ovl_Obj_Kibako_rodata", - 0x80929500:"ovl_Obj_Tsubo_data", - 0x809295F0:"ovl_Obj_Tsubo_rodata", - 0x8092BFA0:"ovl_En_Ik_data", - 0x8092C210:"ovl_En_Ik_rodata", - 0x8092C570:"ovl_Demo_Shd_data", - 0x8092C590:"ovl_Demo_Shd_rodata", - 0x8092DCB0:"ovl_En_Dns_data", - 0x8092DE30:"ovl_En_Dns_rodata", - 0x8092E450:"ovl_Elf_Msg_data", - 0x8092E480:"ovl_Elf_Msg_rodata", - 0x8092E490:"ovl_Elf_Msg_late_rodata", - 0x809303F0:"ovl_En_Honotrap_data", - 0x80930510:"ovl_En_Honotrap_rodata", - 0x80931410:"ovl_En_Tubo_Trap_data", - 0x80931480:"ovl_En_Tubo_Trap_rodata", - 0x80932300:"ovl_Obj_Ice_Poly_data", - 0x809323A0:"ovl_Obj_Ice_Poly_rodata", - 0x809346D0:"ovl_En_Fz_data", - 0x809347D0:"ovl_En_Fz_rodata", - 0x809366A0:"ovl_En_Kusa_data", - 0x80936770:"ovl_En_Kusa_rodata", - 0x80938F80:"ovl_Obj_Bean_data", - 0x80939040:"ovl_Obj_Bean_rodata", - 0x8093A920:"ovl_Obj_Bombiwa_data", - 0x8093A9F0:"ovl_Obj_Bombiwa_rodata", - 0x8093CC60:"ovl_Obj_Switch_data", - 0x8093CE60:"ovl_Obj_Switch_rodata", - 0x8093DD30:"ovl_Obj_Lift_data", - 0x8093DDB0:"ovl_Obj_Lift_rodata", - 0x8093E310:"ovl_Obj_Hsblock_data", - 0x8093E370:"ovl_Obj_Hsblock_rodata", - 0x8093E810:"ovl_En_Okarina_Tag_data", - 0x8093E830:"ovl_En_Okarina_Tag_rodata", - 0x80942DA0:"ovl_En_Goroiwa_data", - 0x80942EC0:"ovl_En_Goroiwa_rodata", - 0x80944040:"ovl_En_Daiku_data", - 0x809440F0:"ovl_En_Daiku_rodata", - 0x80945370:"ovl_En_Nwc_data", - 0x809453A0:"ovl_En_Nwc_rodata", - 0x80945600:"ovl_Item_Inbox_data", - 0x80945620:"ovl_Item_Inbox_rodata", - 0x809464B0:"ovl_En_Ge1_data", - 0x80946560:"ovl_En_Ge1_rodata", - 0x80946880:"ovl_Obj_Blockstop_data", - 0x809468A0:"ovl_Obj_Blockstop_rodata", - 0x80947A40:"ovl_En_Sda_data", - 0x80947DC0:"ovl_En_Sda_rodata", - 0x8094AD40:"ovl_En_Clear_Tag_data", - 0x8094DC60:"ovl_En_Clear_Tag_rodata", - 0x80951820:"ovl_En_Gm_data", - 0x80951E50:"ovl_En_Gm_rodata", - 0x80952B80:"ovl_En_Ms_data", - 0x80952BE0:"ovl_En_Ms_rodata", - 0x809538F0:"ovl_En_Hs_data", - 0x80953950:"ovl_En_Hs_rodata", - 0x809548A0:"ovl_Bg_Ingate_data", - 0x809548C0:"ovl_Bg_Ingate_rodata", - 0x809572E0:"ovl_En_Kanban_data", - 0x80957E60:"ovl_En_Kanban_rodata", - 0x80959100:"ovl_En_Attack_Niw_data", - 0x80959130:"ovl_En_Attack_Niw_rodata", - 0x8095A240:"ovl_En_Mk_data", - 0x8095A2B0:"ovl_En_Mk_rodata", - 0x8095D2D0:"ovl_En_Owl_data", - 0x8095D340:"ovl_En_Owl_rodata", - 0x8095F690:"ovl_En_Ishi_data", - 0x8095F7C0:"ovl_En_Ishi_rodata", - 0x8095FB90:"ovl_Obj_Hana_data", - 0x8095FBC0:"ovl_Obj_Hana_rodata", - 0x80960B70:"ovl_Obj_Lightswitch_data", - 0x80960BF0:"ovl_Obj_Lightswitch_rodata", - 0x80961570:"ovl_Obj_Mure2_data", - 0x80961600:"ovl_Obj_Mure2_rodata", - 0x80964AE0:"ovl_En_Fu_data", - 0x80964C70:"ovl_En_Fu_rodata", - 0x80965B00:"ovl_En_Stream_data", - 0x80965B30:"ovl_En_Stream_rodata", - 0x80966320:"ovl_En_Mm_data", - 0x80966380:"ovl_En_Mm_rodata", - 0x809677A0:"ovl_En_Weather_Tag_data", - 0x809677C0:"ovl_En_Weather_Tag_rodata", - 0x80968650:"ovl_En_Ani_data", - 0x809686C0:"ovl_En_Ani_rodata", - 0x8096AB80:"ovl_En_Js_data", - 0x8096AC40:"ovl_En_Js_rodata", - 0x8096B290:"ovl_En_Okarina_Effect_data", - 0x8096B2B0:"ovl_En_Okarina_Effect_rodata", - 0x8096E910:"ovl_En_Mag_data", - 0x8096E9E0:"ovl_En_Mag_rodata", - 0x8096F090:"ovl_Elf_Msg2_data", - 0x8096F0C0:"ovl_Elf_Msg2_rodata", - 0x8096F510:"ovl_Bg_F40_Swlift_data", - 0x8096F550:"ovl_Bg_F40_Swlift_rodata", - 0x80971D80:"ovl_En_Kakasi_data", - 0x80972080:"ovl_En_Kakasi_rodata", - 0x80972630:"ovl_Obj_Makeoshihiki_data", - 0x80972650:"ovl_Obj_Makeoshihiki_rodata", - 0x80972D80:"ovl_Oceff_Spot_data", - 0x80973480:"ovl_Oceff_Spot_rodata", - 0x809735E0:"ovl_En_Torch_data", - 0x80973610:"ovl_En_Torch_rodata", - 0x80973B80:"ovl_Shot_Sun_data", - 0x80973BD0:"ovl_Shot_Sun_rodata", - 0x80973E90:"ovl_Obj_Roomtimer_data", - 0x80973EB0:"ovl_Obj_Roomtimer_rodata", - 0x80976010:"ovl_En_Ssh_data", - 0x80976190:"ovl_En_Ssh_rodata", - 0x80976980:"ovl_Oceff_Wipe_data", - 0x80977180:"ovl_Oceff_Wipe_rodata", - 0x80977910:"ovl_Effect_Ss_Dust_data", - 0x80977FC0:"ovl_Effect_Ss_Kirakira_data", - 0x809787F0:"ovl_Effect_Ss_Bomb2_data", - 0x80978BD0:"ovl_Effect_Ss_Blast_data", - 0x80979130:"ovl_Effect_Ss_G_Spk_data", - 0x80979560:"ovl_Effect_Ss_D_Fire_data", - 0x80979AB0:"ovl_Effect_Ss_Bubble_data", - 0x80979FF0:"ovl_Effect_Ss_G_Ripple_data", - 0x8097A3E0:"ovl_Effect_Ss_G_Splash_data", - 0x8097A610:"ovl_Effect_Ss_G_Fire_data", - 0x8097AC80:"ovl_Effect_Ss_Lightning_data", - 0x8097B1E0:"ovl_Effect_Ss_Dt_Bubble_data", - 0x8097B790:"ovl_Effect_Ss_Hahen_data", - 0x8097BA70:"ovl_Effect_Ss_Stick_data", - 0x8097C080:"ovl_Effect_Ss_Sibuki_data", - 0x8097C3D0:"ovl_Effect_Ss_Stone1_data", - 0x8097C880:"ovl_Effect_Ss_Hitmark_data", - 0x8097CEC0:"ovl_Effect_Ss_Fhg_Flash_data", - 0x8097D7F0:"ovl_Effect_Ss_K_Fire_data", - 0x8097DC40:"ovl_Effect_Ss_Solder_Srch_Ball_data", - 0x8097EAD0:"ovl_Effect_Ss_Kakera_data", - 0x8097F070:"ovl_Effect_Ss_Ice_Piece_data", - 0x8097F810:"ovl_Effect_Ss_En_Ice_data", - 0x8097FED0:"ovl_Effect_Ss_Fire_Tail_data", - 0x80980570:"ovl_Effect_Ss_En_Fire_data", - 0x809808E0:"ovl_Effect_Ss_Extra_data", - 0x80980CD0:"ovl_Effect_Ss_Dead_Db_data", - 0x80981270:"ovl_Effect_Ss_Dead_Dd_data", - 0x80981700:"ovl_Effect_Ss_Dead_Ds_data", - 0x80981F70:"ovl_Oceff_Storm_data", - 0x80983320:"ovl_Oceff_Storm_rodata", - 0x80983890:"ovl_Obj_Demo_data", - 0x809838B0:"ovl_Obj_Demo_rodata", - 0x809857C0:"ovl_En_Minislime_data", - 0x80985840:"ovl_En_Minislime_rodata", - 0x809861D0:"ovl_En_Nutsball_data", - 0x80986220:"ovl_En_Nutsball_rodata", - 0x80986670:"ovl_Oceff_Wipe2_data", - 0x80987900:"ovl_Oceff_Wipe2_rodata", - 0x80987DF0:"ovl_Oceff_Wipe3_data", - 0x80989060:"ovl_Oceff_Wipe3_rodata", - 0x8098C280:"ovl_En_Dg_data", - 0x8098C480:"ovl_En_Dg_rodata", - 0x8098CD60:"ovl_En_Si_data", - 0x8098CDE0:"ovl_En_Si_rodata", - 0x8098E420:"ovl_Obj_Comb_data", - 0x8098E490:"ovl_Obj_Comb_rodata", - 0x8098EE40:"ovl_Obj_Kibako2_data", - 0x8098EEA0:"ovl_Obj_Kibako2_rodata", - 0x8098EFF0:"ovl_En_Hs2_data", - 0x8098F010:"ovl_En_Hs2_rodata", - 0x8098F720:"ovl_Obj_Mure3_data", - 0x8098F760:"ovl_Obj_Mure3_rodata", - 0x809901A0:"ovl_En_Tg_data", - 0x80990260:"ovl_En_Tg_rodata", - 0x80994150:"ovl_En_Wf_data", - 0x80994320:"ovl_En_Wf_rodata", - 0x80997330:"ovl_En_Skb_data", - 0x80997570:"ovl_En_Skb_rodata", - 0x8099A380:"ovl_En_Gs_data", - 0x8099A470:"ovl_En_Gs_rodata", - 0x8099AAE0:"ovl_Obj_Sound_data", - 0x8099AB00:"ovl_Obj_Sound_rodata", - 0x8099C050:"ovl_En_Crow_data", - 0x8099C0E0:"ovl_En_Crow_rodata", - 0x8099D5F0:"ovl_En_Cow_data", - 0x8099D650:"ovl_En_Cow_rodata", - 0x8099DB90:"ovl_Oceff_Wipe4_data", - 0x8099E6A0:"ovl_Oceff_Wipe4_rodata", - 0x8099F490:"ovl_En_Zo_data", - 0x8099F610:"ovl_En_Zo_rodata", - 0x8099F9E0:"ovl_Effect_Ss_Ice_Smoke_data", - 0x8099FE10:"ovl_Obj_Makekinsuta_data", - 0x8099FE50:"ovl_Obj_Makekinsuta_rodata", - 0x809A0D80:"ovl_En_Ge3_data", - 0x809A0E10:"ovl_En_Ge3_rodata", - 0x809A1A80:"ovl_Obj_Hamishi_data", - 0x809A1B00:"ovl_Obj_Hamishi_rodata", - 0x809A1F60:"ovl_En_Zl4_data", - 0x809A1FB0:"ovl_En_Zl4_rodata", - 0x809A2250:"ovl_En_Mm2_data", - 0x809A2B00:"ovl_En_Mm2_rodata", - 0x809A3230:"ovl_Door_Spiral_data", - 0x809A3320:"ovl_Door_Spiral_rodata", - 0x809A4030:"ovl_Obj_Pzlblock_data", - 0x809A40A0:"ovl_Obj_Pzlblock_rodata", - 0x809A4C90:"ovl_Obj_Toge_data", - 0x809A4D30:"ovl_Obj_Toge_rodata", - 0x809A5B90:"ovl_Obj_Armos_data", - 0x809A5BE0:"ovl_Obj_Armos_rodata", - 0x809A6150:"ovl_Obj_Boyo_data", - 0x809A61D0:"ovl_Obj_Boyo_rodata", - 0x809A8C80:"ovl_En_Grasshopper_data", - 0x809A8E40:"ovl_En_Grasshopper_rodata", - 0x809AA9F0:"ovl_Obj_Grass_data", - 0x809AABA0:"ovl_Obj_Grass_rodata", - 0x809ABBB0:"ovl_Obj_Grass_Carry_data", - 0x809ABC60:"ovl_Obj_Grass_Carry_rodata", - 0x809AC340:"ovl_Obj_Grass_Unit_data", - 0x809AC430:"ovl_Obj_Grass_Unit_rodata", - 0x809ACC40:"ovl_Bg_Fire_Wall_data", - 0x809ACCC0:"ovl_Bg_Fire_Wall_rodata", - 0x809ACED0:"ovl_En_Bu_data", - 0x809ACEF0:"ovl_En_Bu_rodata", - 0x809AD7F0:"ovl_En_Encount3_data", - 0x809AD820:"ovl_En_Encount3_rodata", - 0x809B0F40:"ovl_En_Jso_data", - 0x809B1110:"ovl_En_Jso_rodata", - 0x809B1FA0:"ovl_Obj_Chikuwa_data", - 0x809B1FF0:"ovl_Obj_Chikuwa_rodata", - 0x809BDAF0:"ovl_En_Knight_data", - 0x809BDD90:"ovl_En_Knight_rodata", - 0x809C0FE0:"ovl_En_Warp_tag_data", - 0x809C1010:"ovl_En_Warp_tag_rodata", - 0x809C3770:"ovl_En_Aob_01_data", - 0x809C3980:"ovl_En_Aob_01_rodata", - 0x809C3DC0:"ovl_En_Boj_01_data", - 0x809C3DE0:"ovl_En_Boj_01_rodata", - 0x809C3E50:"ovl_En_Boj_02_data", - 0x809C3E70:"ovl_En_Boj_02_rodata", - 0x809C3EE0:"ovl_En_Boj_03_data", - 0x809C3F00:"ovl_En_Boj_03_rodata", - 0x809C46B0:"ovl_En_Encount4_data", - 0x809C46F0:"ovl_En_Encount4_rodata", - 0x809C6100:"ovl_En_Bom_Bowl_Man_data", - 0x809C6240:"ovl_En_Bom_Bowl_Man_rodata", - 0x809C9160:"ovl_En_Syateki_Man_data", - 0x809C94D0:"ovl_En_Syateki_Man_rodata", - 0x809CA2B0:"ovl_Bg_Icicle_data", - 0x809CA320:"ovl_Bg_Icicle_rodata", - 0x809CB050:"ovl_En_Syateki_Crow_data", - 0x809CB0F0:"ovl_En_Syateki_Crow_rodata", - 0x809CB240:"ovl_En_Boj_04_data", - 0x809CB260:"ovl_En_Boj_04_rodata", - 0x809CBEE0:"ovl_En_Cne_01_data", - 0x809CBF90:"ovl_En_Cne_01_rodata", - 0x809CCC60:"ovl_En_Bba_01_data", - 0x809CCD10:"ovl_En_Bba_01_rodata", - 0x809CDC30:"ovl_En_Bji_01_data", - 0x809CDCE0:"ovl_En_Bji_01_rodata", - 0x809CF060:"ovl_Bg_Spdweb_data", - 0x809CF220:"ovl_Bg_Spdweb_rodata", - 0x809D0190:"ovl_En_Mt_tag_data", - 0x809D0430:"ovl_En_Mt_tag_rodata", - 0x809D7980:"ovl_Boss_01_data", - 0x809D7F80:"ovl_Boss_01_rodata", - 0x809DF550:"ovl_Boss_02_data", - 0x809DFB00:"ovl_Boss_02_rodata", - 0x809E8EA0:"ovl_Boss_03_data", - 0x809E91E0:"ovl_Boss_03_rodata", - 0x809EE150:"ovl_Boss_04_data", - 0x809EE240:"ovl_Boss_04_rodata", - 0x809F1A20:"ovl_Boss_05_data", - 0x809F1D20:"ovl_Boss_05_rodata", - 0x809F4080:"ovl_Boss_06_data", - 0x809F4110:"ovl_Boss_06_rodata", - 0x80A07950:"ovl_Boss_07_data", - 0x80A082F0:"ovl_Boss_07_rodata", - 0x80A0C4A0:"ovl_Bg_Dy_Yoseizo_data", - 0x80A0C540:"ovl_Bg_Dy_Yoseizo_rodata", - 0x80A0C7C0:"ovl_En_Boj_05_data", - 0x80A0C7E0:"ovl_En_Boj_05_rodata", - 0x80A10860:"ovl_En_Sob1_data", - 0x80A10A50:"ovl_En_Sob1_rodata", - 0x80A10A70:"ovl_En_Sob1_late_rodata", - 0x80A16100:"ovl_En_Go_data", - 0x80A16720:"ovl_En_Go_rodata", - 0x80A18EC0:"ovl_En_Raf_data", - 0x80A194F0:"ovl_En_Raf_rodata", - 0x80A198B0:"ovl_Obj_Funen_data", - 0x80A198E0:"ovl_Obj_Funen_rodata", - 0x80A1A390:"ovl_Obj_Raillift_data", - 0x80A1A3D0:"ovl_Obj_Raillift_rodata", - 0x80A1B240:"ovl_Bg_Numa_Hana_data", - 0x80A1B2C0:"ovl_Bg_Numa_Hana_rodata", - 0x80A1D380:"ovl_Obj_Flowerpot_data", - 0x80A1D430:"ovl_Obj_Flowerpot_rodata", - 0x80A1F020:"ovl_Obj_Spinyroll_data", - 0x80A1F210:"ovl_Obj_Spinyroll_rodata", - 0x80A1FDB0:"ovl_Dm_Hina_data", - 0x80A1FDD0:"ovl_Dm_Hina_rodata", - 0x80A20E50:"ovl_En_Syateki_Wf_data", - 0x80A20FF0:"ovl_En_Syateki_Wf_rodata", - 0x80A229F0:"ovl_Obj_Skateblock_data", - 0x80A22B40:"ovl_Obj_Skateblock_rodata", - 0x80A23020:"ovl_Effect_En_Ice_Block_data", - 0x80A26E30:"ovl_Obj_Iceblock_data", - 0x80A26FD0:"ovl_Obj_Iceblock_rodata", - 0x80A296E0:"ovl_En_Bigpamet_data", - 0x80A29790:"ovl_En_Bigpamet_rodata", - 0x80A2B870:"ovl_Bg_Dblue_Movebg_data", - 0x80A2B9A0:"ovl_Bg_Dblue_Movebg_rodata", - 0x80A2CA90:"ovl_En_Syateki_Dekunuts_data", - 0x80A2CBC0:"ovl_En_Syateki_Dekunuts_rodata", - 0x80A2D1C0:"ovl_Elf_Msg3_data", - 0x80A2D1F0:"ovl_Elf_Msg3_rodata", - 0x80A2D200:"ovl_Elf_Msg3_late_rodata", - 0x80A2E4E0:"ovl_En_Fg_data", - 0x80A2E600:"ovl_En_Fg_rodata", - 0x80A2E910:"ovl_Dm_Ravine_data", - 0x80A2E930:"ovl_Dm_Ravine_rodata", - 0x80A2ECE0:"ovl_Dm_Sa_data", - 0x80A2ED20:"ovl_Dm_Sa_rodata", - 0x80A31AD0:"ovl_En_Slime_data", - 0x80A31BD0:"ovl_En_Slime_rodata", - 0x80A338A0:"ovl_En_Pr_data", - 0x80A33950:"ovl_En_Pr_rodata", - 0x80A34570:"ovl_Obj_Toudai_data", - 0x80A34670:"ovl_Obj_Toudai_rodata", - 0x80A353F0:"ovl_Obj_Entotu_data", - 0x80A35480:"ovl_Obj_Entotu_rodata", - 0x80A35E70:"ovl_Obj_Bell_data", - 0x80A35F20:"ovl_Obj_Bell_rodata", - 0x80A37550:"ovl_En_Syateki_Okuta_data", - 0x80A37BB0:"ovl_En_Syateki_Okuta_rodata", - 0x80A38110:"ovl_Obj_Shutter_data", - 0x80A38140:"ovl_Obj_Shutter_rodata", - 0x80A387D0:"ovl_Dm_Zl_data", - 0x80A388D0:"ovl_Dm_Zl_rodata", - 0x80A39430:"ovl_En_Ru_data", - 0x80A395C0:"ovl_En_Ru_rodata", - 0x80A3AAD0:"ovl_En_Elfgrp_data", - 0x80A3AAF0:"ovl_En_Elfgrp_rodata", - 0x80A3B010:"ovl_Dm_Tsg_data", - 0x80A3B030:"ovl_Dm_Tsg_rodata", - 0x80A3C2D0:"ovl_En_Baguo_data", - 0x80A3C370:"ovl_En_Baguo_rodata", - 0x80A3D430:"ovl_Obj_Vspinyroll_data", - 0x80A3D4E0:"ovl_Obj_Vspinyroll_rodata", - 0x80A3E270:"ovl_Obj_Smork_data", - 0x80A3E300:"ovl_Obj_Smork_rodata", - 0x80A3E690:"ovl_En_Test2_data", - 0x80A3E780:"ovl_En_Test2_rodata", - 0x80A41530:"ovl_En_Test3_data", - 0x80A41930:"ovl_En_Test3_rodata", - 0x80A43320:"ovl_En_Test4_data", - 0x80A449E0:"ovl_En_Bat_data", - 0x80A44A90:"ovl_En_Bat_rodata", - 0x80A45250:"ovl_En_Sekihi_data", - 0x80A452D0:"ovl_En_Sekihi_rodata", - 0x80A48B30:"ovl_En_Wiz_data", - 0x80A48D80:"ovl_En_Wiz_rodata", - 0x80A495B0:"ovl_En_Wiz_Brock_data", - 0x80A495E0:"ovl_En_Wiz_Brock_rodata", - 0x80A4C1C0:"ovl_En_Wiz_Fire_data", - 0x80A4C260:"ovl_En_Wiz_Fire_rodata", - 0x80A4C900:"ovl_Eff_Change_data", - 0x80A4C950:"ovl_Eff_Change_rodata", - 0x80A4CA40:"ovl_Dm_Statue_data", - 0x80A4CA60:"ovl_Dm_Statue_rodata", - 0x80A4D800:"ovl_Obj_Fireshield_data", - 0x80A4D8B0:"ovl_Obj_Fireshield_rodata", - 0x80A4DE20:"ovl_Bg_Ladder_data", - 0x80A4DE60:"ovl_Bg_Ladder_rodata", - 0x80A4F700:"ovl_En_Mkk_data", - 0x80A4F7E0:"ovl_En_Mkk_rodata", - 0x80A4FD40:"ovl_Demo_Getitem_data", - 0x80A4FD70:"ovl_Demo_Getitem_rodata", - 0x80A50C90:"ovl_En_Dnb_data", - 0x80A50CE0:"ovl_En_Dnb_rodata", - 0x80A51250:"ovl_En_Dnh_data", - 0x80A51450:"ovl_En_Dnh_rodata", - 0x80A521A0:"ovl_En_Dnk_data", - 0x80A52470:"ovl_En_Dnk_rodata", - 0x80A53400:"ovl_En_Dnq_data", - 0x80A53620:"ovl_En_Dnq_rodata", - 0x80A53B50:"ovl_Bg_Keikoku_Saku_data", - 0x80A53B70:"ovl_Bg_Keikoku_Saku_rodata", - 0x80A55CE0:"ovl_Obj_Hugebombiwa_data", - 0x80A55D90:"ovl_Obj_Hugebombiwa_rodata", - 0x80A56100:"ovl_En_Firefly2_data", - 0x80A56120:"ovl_En_Firefly2_rodata", - 0x80A583E0:"ovl_En_Rat_data", - 0x80A584E0:"ovl_En_Rat_rodata", - 0x80A5AF90:"ovl_En_Water_Effect_data", - 0x80A5AFD0:"ovl_En_Water_Effect_rodata", - 0x80A5EAA0:"ovl_En_Kusa2_data", - 0x80A5EB70:"ovl_En_Kusa2_rodata", - 0x80A61140:"ovl_Bg_Spout_Fire_data", - 0x80A611C0:"ovl_Bg_Spout_Fire_rodata", - 0x80A61720:"ovl_En_Dy_Extra_data", - 0x80A61790:"ovl_En_Dy_Extra_rodata", - 0x80A63CC0:"ovl_En_Bal_data", - 0x80A63F10:"ovl_En_Bal_rodata", - 0x80A65D40:"ovl_En_Ginko_Man_data", - 0x80A65DE0:"ovl_En_Ginko_Man_rodata", - 0x80A664A0:"ovl_En_Warp_Uzu_data", - 0x80A66510:"ovl_En_Warp_Uzu_rodata", - 0x80A67600:"ovl_Obj_Driftice_data", - 0x80A67700:"ovl_Obj_Driftice_rodata", - 0x80A685E0:"ovl_En_Look_Nuts_data", - 0x80A68670:"ovl_En_Look_Nuts_rodata", - 0x80A6B930:"ovl_En_Mushi2_data", - 0x80A6BA20:"ovl_En_Mushi2_rodata", - 0x80A6E490:"ovl_En_Fall_data", - 0x80A6E5A0:"ovl_En_Fall_rodata", - 0x80A703D0:"ovl_En_Mm3_data", - 0x80A70510:"ovl_En_Mm3_rodata", - 0x80A71080:"ovl_Bg_Crace_Movebg_data", - 0x80A710C0:"ovl_Bg_Crace_Movebg_rodata", - 0x80A739A0:"ovl_En_Dno_data", - 0x80A73B50:"ovl_En_Dno_rodata", - 0x80A75BC0:"ovl_En_Pr2_data", - 0x80A75C60:"ovl_En_Pr2_rodata", - 0x80A771C0:"ovl_En_Prz_data", - 0x80A77260:"ovl_En_Prz_rodata", - 0x80A7B4F0:"ovl_En_Jso2_data", - 0x80A7B760:"ovl_En_Jso2_rodata", - 0x80A7C770:"ovl_Obj_Etcetera_data", - 0x80A7C820:"ovl_Obj_Etcetera_rodata", - 0x80A80C40:"ovl_En_Egol_data", - 0x80A80E90:"ovl_En_Egol_rodata", - 0x80A84550:"ovl_Obj_Mine_data", - 0x80A84600:"ovl_Obj_Mine_rodata", - 0x80A85460:"ovl_Obj_Purify_data", - 0x80A85550:"ovl_Obj_Purify_rodata", - 0x80A88910:"ovl_En_Tru_data", - 0x80A8B420:"ovl_En_Tru_rodata", - 0x80A8FE10:"ovl_En_Trt_data", - 0x80A8FF10:"ovl_En_Trt_rodata", - 0x80A8FF30:"ovl_En_Trt_late_rodata", - 0x80A906E0:"ovl_En_Test5_data", - 0x80A90700:"ovl_En_Test5_rodata", - 0x80A93E60:"ovl_En_Test6_data", - 0x80A94080:"ovl_En_Test6_rodata", - 0x80A99010:"ovl_En_Az_data", - 0x80A99440:"ovl_En_Az_rodata", - 0x80A9AB50:"ovl_En_Estone_data", - 0x80A9ABA0:"ovl_En_Estone_rodata", - 0x80A9D860:"ovl_Bg_Hakugin_Post_data", - 0x80A9D930:"ovl_Bg_Hakugin_Post_rodata", - 0x80A9FD10:"ovl_Dm_Opstage_data", - 0x80A9FD40:"ovl_Dm_Opstage_rodata", - 0x80AA3580:"ovl_Dm_Stk_data", - 0x80AA3CC0:"ovl_Dm_Stk_rodata", - 0x80AA6F90:"ovl_Dm_Char00_data", - 0x80AA7820:"ovl_Dm_Char00_rodata", - 0x80AA9DC0:"ovl_Dm_Char01_data", - 0x80AAAAD0:"ovl_Dm_Char01_rodata", - 0x80AAB390:"ovl_Dm_Char02_data", - 0x80AAB410:"ovl_Dm_Char02_rodata", - 0x80AABB60:"ovl_Dm_Char03_data", - 0x80AABBA0:"ovl_Dm_Char03_rodata", - 0x80AAC440:"ovl_Dm_Char04_data", - 0x80AAC500:"ovl_Dm_Char04_rodata", - 0x80AAE240:"ovl_Dm_Char05_data", - 0x80AAE310:"ovl_Dm_Char05_rodata", - 0x80AAE960:"ovl_Dm_Char06_data", - 0x80AAE980:"ovl_Dm_Char06_rodata", - 0x80AAEFF0:"ovl_Dm_Char07_data", - 0x80AAF010:"ovl_Dm_Char07_rodata", - 0x80AB1370:"ovl_Dm_Char08_data", - 0x80AB17B0:"ovl_Dm_Char08_rodata", - 0x80AB2690:"ovl_Dm_Char09_data", - 0x80AB26D0:"ovl_Dm_Char09_rodata", - 0x80AB49C0:"ovl_Obj_Tokeidai_data", - 0x80AB49F0:"ovl_Obj_Tokeidai_rodata", - 0x80AB9CF0:"ovl_En_Mnk_data", - 0x80AB9E30:"ovl_En_Mnk_rodata", - 0x80ABB040:"ovl_En_Egblock_data", - 0x80ABB060:"ovl_En_Egblock_rodata", - 0x80ABBDD0:"ovl_En_Guard_Nuts_data", - 0x80ABBE70:"ovl_En_Guard_Nuts_rodata", - 0x80ABCF60:"ovl_Bg_Hakugin_Bombwall_data", - 0x80ABD050:"ovl_Bg_Hakugin_Bombwall_rodata", - 0x80ABD730:"ovl_Obj_Tokei_Tobira_data", - 0x80ABD790:"ovl_Obj_Tokei_Tobira_rodata", - 0x80ABDC50:"ovl_Bg_Hakugin_Elvpole_data", - 0x80ABDC70:"ovl_Bg_Hakugin_Elvpole_rodata", - 0x80AC0090:"ovl_En_Ma4_data", - 0x80AC0270:"ovl_En_Ma4_rodata", - 0x80AC1090:"ovl_En_Twig_data", - 0x80AC1100:"ovl_En_Twig_rodata", - 0x80AC1D80:"ovl_En_Po_Fusen_data", - 0x80AC1DF0:"ovl_En_Po_Fusen_rodata", - 0x80AC2580:"ovl_En_Door_Etc_data", - 0x80AC2650:"ovl_En_Door_Etc_rodata", - 0x80AC4510:"ovl_En_Bigokuta_data", - 0x80AC4610:"ovl_En_Bigokuta_rodata", - 0x80AC4F10:"ovl_Bg_Icefloe_data", - 0x80AC4F50:"ovl_Bg_Icefloe_rodata", - 0x80AC5630:"ovl_fbdemo_triforce_data", - 0x80AC5C20:"ovl_fbdemo_wipe1_data", - 0x80AC6C60:"ovl_fbdemo_wipe3_data", - 0x80AC8650:"ovl_fbdemo_wipe4_data", - 0x80AC8AB0:"ovl_fbdemo_wipe5_data", - 0x80AC93B0:"ovl_Effect_Ss_Sbn_data", - 0x80AC9D50:"ovl_Obj_Ocarinalift_data", - 0x80AC9D90:"ovl_Obj_Ocarinalift_rodata", - 0x80ACA9D0:"ovl_En_Time_Tag_data", - 0x80ACA9F0:"ovl_En_Time_Tag_rodata", - 0x80ACB120:"ovl_Bg_Open_Shutter_data", - 0x80ACB150:"ovl_Bg_Open_Shutter_rodata", - 0x80ACB390:"ovl_Bg_Open_Spot_data", - 0x80ACB3C0:"ovl_Bg_Open_Spot_rodata", - 0x80ACB630:"ovl_Bg_Fu_Kaiten_data", - 0x80ACB650:"ovl_Bg_Fu_Kaiten_rodata", - 0x80ACC2A0:"ovl_Obj_Aqua_data", - 0x80ACC330:"ovl_Obj_Aqua_rodata", - 0x80ACDA10:"ovl_En_Elforg_data", - 0x80ACDAA0:"ovl_En_Elforg_rodata", - 0x80ACE250:"ovl_En_Elfbub_data", - 0x80ACE2B0:"ovl_En_Elfbub_rodata", - 0x80ACF5F0:"ovl_En_Fu_Mato_data", - 0x80ACF6A0:"ovl_En_Fu_Mato_rodata", - 0x80AD05D0:"ovl_En_Fu_Kago_data", - 0x80AD0720:"ovl_En_Fu_Kago_rodata", - 0x80AD22A0:"ovl_En_Osn_data", - 0x80AD25A0:"ovl_En_Osn_rodata", - 0x80AD3250:"ovl_Bg_Ctower_Gear_data", - 0x80AD3300:"ovl_Bg_Ctower_Gear_rodata", - 0x80AD57E0:"ovl_En_Trt2_data", - 0x80AD5990:"ovl_En_Trt2_rodata", - 0x80AD6600:"ovl_Obj_Tokei_Step_data", - 0x80AD6680:"ovl_Obj_Tokei_Step_rodata", - 0x80AD6CF0:"ovl_Bg_Lotus_data", - 0x80AD6D20:"ovl_Bg_Lotus_rodata", - 0x80AD8DC0:"ovl_En_Kame_data", - 0x80AD8EC0:"ovl_En_Kame_rodata", - 0x80ADA280:"ovl_Obj_Takaraya_Wall_data", - 0x80ADA2D0:"ovl_Obj_Takaraya_Wall_rodata", - 0x80ADAD80:"ovl_Bg_Fu_Mizu_data", - 0x80ADADA0:"ovl_Bg_Fu_Mizu_rodata", - 0x80ADD910:"ovl_En_Sellnuts_data", - 0x80ADDB10:"ovl_En_Sellnuts_rodata", - 0x80ADE930:"ovl_Bg_Dkjail_Ivy_data", - 0x80ADE9A0:"ovl_Bg_Dkjail_Ivy_rodata", - 0x80ADEB30:"ovl_Obj_Visiblock_data", - 0x80ADEB60:"ovl_Obj_Visiblock_rodata", - 0x80ADFAE0:"ovl_En_Takaraya_data", - 0x80ADFB60:"ovl_En_Takaraya_rodata", - 0x80AE1170:"ovl_En_Tsn_data", - 0x80AE11D0:"ovl_En_Tsn_rodata", - 0x80AE1AB0:"ovl_En_Ds2n_data", - 0x80AE1B00:"ovl_En_Ds2n_rodata", - 0x80AE5B00:"ovl_En_Fsn_data", - 0x80AE5C60:"ovl_En_Fsn_rodata", - 0x80AE6F00:"ovl_En_Shn_data", - 0x80AE7280:"ovl_En_Shn_rodata", - 0x80AE8890:"ovl_En_Stop_heishi_data", - 0x80AE8A40:"ovl_En_Stop_heishi_rodata", - 0x80AE9800:"ovl_Obj_Bigicicle_data", - 0x80AE98C0:"ovl_Obj_Bigicicle_rodata", - 0x80AEBD30:"ovl_En_Lift_Nuts_data", - 0x80AEBF90:"ovl_En_Lift_Nuts_rodata", - 0x80AEF800:"ovl_En_Tk_data", - 0x80AEFAA0:"ovl_En_Tk_rodata", - 0x80AF00F0:"ovl_Bg_Market_Step_data", - 0x80AF0130:"ovl_Bg_Market_Step_rodata", - 0x80AF0720:"ovl_Obj_Lupygamelift_data", - 0x80AF0770:"ovl_Obj_Lupygamelift_rodata", - 0x80AF33F0:"ovl_En_Test7_data", - 0x80AF3460:"ovl_En_Test7_rodata", - 0x80AF3E80:"ovl_Obj_Lightblock_data", - 0x80AF3F00:"ovl_Obj_Lightblock_rodata", - 0x80AF4330:"ovl_Mir_Ray2_data", - 0x80AF4390:"ovl_Mir_Ray2_rodata", - 0x80AF63C0:"ovl_En_Wdhand_data", - 0x80AF6530:"ovl_En_Wdhand_rodata", - 0x80AF6CD0:"ovl_En_Gamelupy_data", - 0x80AF6D40:"ovl_En_Gamelupy_rodata", - 0x80AF7510:"ovl_Bg_Danpei_Movebg_data", - 0x80AF7550:"ovl_Bg_Danpei_Movebg_rodata", - 0x80AF7A70:"ovl_En_Snowwd_data", - 0x80AF7AE0:"ovl_En_Snowwd_rodata", - 0x80AFAD80:"ovl_En_Pm_data", - 0x80AFB920:"ovl_En_Pm_rodata", - 0x80AFD1B0:"ovl_En_Gakufu_data", - 0x80AFD2B0:"ovl_En_Gakufu_rodata", - 0x80AFD8D0:"ovl_Elf_Msg4_data", - 0x80AFD900:"ovl_Elf_Msg4_rodata", - 0x80AFD910:"ovl_Elf_Msg4_late_rodata", - 0x80AFDBB0:"ovl_Elf_Msg5_data", - 0x80AFDBE0:"ovl_Elf_Msg5_rodata", - 0x80AFE730:"ovl_En_Col_Man_data", - 0x80AFE790:"ovl_En_Col_Man_rodata", - 0x80B011E0:"ovl_En_Talk_Gibud_data", - 0x80B01470:"ovl_En_Talk_Gibud_rodata", - 0x80B02930:"ovl_En_Giant_data", - 0x80B029A0:"ovl_En_Giant_rodata", - 0x80B04F30:"ovl_Obj_Snowball_data", - 0x80B04FF0:"ovl_Obj_Snowball_rodata", - 0x80B0E6E0:"ovl_Boss_Hakugin_data", - 0x80B0EC50:"ovl_Boss_Hakugin_rodata", - 0x80B11990:"ovl_En_Gb2_data", - 0x80B11AE0:"ovl_En_Gb2_rodata", - 0x80B12370:"ovl_En_Onpuman_data", - 0x80B123C0:"ovl_En_Onpuman_rodata", - 0x80B12800:"ovl_Bg_Tobira01_data", - 0x80B12820:"ovl_Bg_Tobira01_rodata", - 0x80B12900:"ovl_En_Tag_Obj_data", - 0x80B12950:"ovl_En_Tag_Obj_rodata", - 0x80B13E70:"ovl_Obj_Dhouse_data", - 0x80B13FD0:"ovl_Obj_Dhouse_rodata", - 0x80B15590:"ovl_Obj_Hakaisi_data", - 0x80B15610:"ovl_Obj_Hakaisi_rodata", - 0x80B16840:"ovl_Bg_Hakugin_Switch_data", - 0x80B16920:"ovl_Bg_Hakugin_Switch_rodata", - 0x80B199E0:"ovl_En_Snowman_data", - 0x80B19B20:"ovl_En_Snowman_rodata", - 0x80B1A320:"ovl_TG_Sw_data", - 0x80B1A340:"ovl_TG_Sw_rodata", - 0x80B1DA30:"ovl_En_Po_Sisters_data", - 0x80B1DB20:"ovl_En_Po_Sisters_rodata", - 0x80B21620:"ovl_En_Pp_data", - 0x80B217F0:"ovl_En_Pp_rodata", - 0x80B22A60:"ovl_En_Hakurock_data", - 0x80B22AC0:"ovl_En_Hakurock_rodata", - 0x80B23A80:"ovl_En_Hanabi_data", - 0x80B23C60:"ovl_En_Hanabi_rodata", - 0x80B23E80:"ovl_Obj_Dowsing_data", - 0x80B23EA0:"ovl_Obj_Dowsing_rodata", - 0x80B24460:"ovl_Obj_Wind_data", - 0x80B245D0:"ovl_Obj_Wind_rodata", - 0x80B25D20:"ovl_En_Racedog_data", - 0x80B26010:"ovl_En_Racedog_rodata", - 0x80B27C10:"ovl_En_Kendo_Js_data", - 0x80B27D20:"ovl_En_Kendo_Js_rodata", - 0x80B282D0:"ovl_Bg_Botihasira_data", - 0x80B28320:"ovl_Bg_Botihasira_rodata", - 0x80B2B2E0:"ovl_En_Fish2_data", - 0x80B2B3C0:"ovl_En_Fish2_rodata", - 0x80B2C200:"ovl_En_Pst_data", - 0x80B2C520:"ovl_En_Pst_rodata", - 0x80B2F660:"ovl_En_Poh_data", - 0x80B2F760:"ovl_En_Poh_rodata", - 0x80B31040:"ovl_Obj_Spidertent_data", - 0x80B31430:"ovl_Obj_Spidertent_rodata", - 0x80B33910:"ovl_En_Zoraegg_data", - 0x80B33960:"ovl_En_Zoraegg_rodata", - 0x80B34B20:"ovl_En_Kbt_data", - 0x80B34BB0:"ovl_En_Kbt_rodata", - 0x80B36BE0:"ovl_En_Gg_data", - 0x80B36E10:"ovl_En_Gg_rodata", - 0x80B38680:"ovl_En_Maruta_data", - 0x80B38B70:"ovl_En_Maruta_rodata", - 0x80B3A8C0:"ovl_Obj_Snowball2_data", - 0x80B3A960:"ovl_Obj_Snowball2_rodata", - 0x80B3BEE0:"ovl_En_Gg2_data", - 0x80B3C0C0:"ovl_En_Gg2_rodata", - 0x80B3C940:"ovl_Obj_Ghaka_data", - 0x80B3C980:"ovl_Obj_Ghaka_rodata", - 0x80B3DC60:"ovl_En_Dnp_data", - 0x80B3DEC0:"ovl_En_Dnp_rodata", - 0x80B3FBD0:"ovl_En_Dai_data", - 0x80B3FE90:"ovl_En_Dai_rodata", - 0x80B40760:"ovl_Bg_Goron_Oyu_data", - 0x80B40790:"ovl_Bg_Goron_Oyu_rodata", - 0x80B43250:"ovl_En_Kgy_data", - 0x80B432F0:"ovl_En_Kgy_rodata", - 0x80B4E890:"ovl_En_Invadepoh_data", - 0x80B4EE40:"ovl_En_Invadepoh_rodata", - 0x80B531F0:"ovl_En_Gk_data", - 0x80B53400:"ovl_En_Gk_rodata", - 0x80B581D0:"ovl_En_An_data", - 0x80B58F10:"ovl_En_An_rodata", - 0x80B5B1F0:"ovl_En_Bee_data", - 0x80B5B260:"ovl_En_Bee_rodata", - 0x80B5E380:"ovl_En_Ot_data", - 0x80B5E420:"ovl_En_Ot_rodata", - 0x80B605D0:"ovl_En_Dragon_data", - 0x80B60890:"ovl_En_Dragon_rodata", - 0x80B612F0:"ovl_Obj_Dora_data", - 0x80B614C0:"ovl_Obj_Dora_rodata", - 0x80B64FF0:"ovl_En_Bigpo_data", - 0x80B650B0:"ovl_En_Bigpo_rodata", - 0x80B66640:"ovl_Obj_Kendo_Kanban_data", - 0x80B66840:"ovl_Obj_Kendo_Kanban_rodata", - 0x80B66CB0:"ovl_Obj_Hariko_data", - 0x80B66CD0:"ovl_Obj_Hariko_rodata", - 0x80B685A0:"ovl_En_Sth_data", - 0x80B6D220:"ovl_En_Sth_rodata", - 0x80B6DB50:"ovl_Bg_Sinkai_Kabe_data", - 0x80B6DB80:"ovl_Bg_Sinkai_Kabe_rodata", - 0x80B6DF80:"ovl_Bg_Haka_Curtain_data", - 0x80B6DFB0:"ovl_Bg_Haka_Curtain_rodata", - 0x80B6E6D0:"ovl_Bg_Kin2_Bombwall_data", - 0x80B6E760:"ovl_Bg_Kin2_Bombwall_rodata", - 0x80B6EDC0:"ovl_Bg_Kin2_Fence_data", - 0x80B6EF00:"ovl_Bg_Kin2_Fence_rodata", - 0x80B6F970:"ovl_Bg_Kin2_Picture_data", - 0x80B6FA40:"ovl_Bg_Kin2_Picture_rodata", - 0x80B70730:"ovl_Bg_Kin2_Shelf_data", - 0x80B70790:"ovl_Bg_Kin2_Shelf_rodata", - 0x80B732B0:"ovl_En_Rail_Skb_data", - 0x80B734E0:"ovl_En_Rail_Skb_rodata", - 0x80B75800:"ovl_En_Jg_data", - 0x80B759F0:"ovl_En_Jg_rodata", - 0x80B774F0:"ovl_En_Tru_Mt_data", - 0x80B77680:"ovl_En_Tru_Mt_rodata", - 0x80B7C0F0:"ovl_Obj_Um_data", - 0x80B7C320:"ovl_Obj_Um_rodata", - 0x80B7E4E0:"ovl_En_Neo_Reeba_data", - 0x80B7E5D0:"ovl_En_Neo_Reeba_rodata", - 0x80B7EA00:"ovl_Bg_Mbar_Chair_data", - 0x80B7EA30:"ovl_Bg_Mbar_Chair_rodata", - 0x80B7F620:"ovl_Bg_Ikana_Block_data", - 0x80B7F650:"ovl_Bg_Ikana_Block_rodata", - 0x80B7FF30:"ovl_Bg_Ikana_Mirror_data", - 0x80B80230:"ovl_Bg_Ikana_Mirror_rodata", - 0x80B820C0:"ovl_Bg_Ikana_Rotaryroom_data", - 0x80B82220:"ovl_Bg_Ikana_Rotaryroom_rodata", - 0x80B83A00:"ovl_Bg_Dblue_Balance_data", - 0x80B83AA0:"ovl_Bg_Dblue_Balance_rodata", - 0x80B85350:"ovl_Bg_Dblue_Waterfall_data", - 0x80B853C0:"ovl_Bg_Dblue_Waterfall_rodata", - 0x80B8A8D0:"ovl_En_Kaizoku_data", - 0x80B8ACE0:"ovl_En_Kaizoku_rodata", - 0x80B8CE20:"ovl_En_Ge2_data", - 0x80B8CEB0:"ovl_En_Ge2_rodata", - 0x80B8E150:"ovl_En_Ma_Yts_data", - 0x80B8E330:"ovl_En_Ma_Yts_rodata", - 0x80B913F0:"ovl_En_Ma_Yto_data", - 0x80B91600:"ovl_En_Ma_Yto_rodata", - 0x80B91EA0:"ovl_Obj_Tokei_Turret_data", - 0x80B91ED0:"ovl_Obj_Tokei_Turret_rodata", - 0x80B92940:"ovl_Bg_Dblue_Elevator_data", - 0x80B92A00:"ovl_Bg_Dblue_Elevator_rodata", - 0x80B93200:"ovl_Obj_Warpstone_data", - 0x80B93260:"ovl_Obj_Warpstone_rodata", - 0x80B95860:"ovl_En_Zog_data", - 0x80B959D0:"ovl_En_Zog_rodata", - 0x80B96140:"ovl_Obj_Rotlift_data", - 0x80B96190:"ovl_Obj_Rotlift_rodata", - 0x80B963C0:"ovl_Obj_Jg_Gakki_data", - 0x80B963E0:"ovl_Obj_Jg_Gakki_rodata", - 0x80B96540:"ovl_Bg_Inibs_Movebg_data", - 0x80B96580:"ovl_Bg_Inibs_Movebg_rodata", - 0x80B998C0:"ovl_En_Zot_data", - 0x80B99950:"ovl_En_Zot_rodata", - 0x80B9A550:"ovl_Obj_Tree_data", - 0x80B9A5D0:"ovl_Obj_Tree_rodata", - 0x80B9A920:"ovl_Obj_Y2lift_data", - 0x80B9A950:"ovl_Obj_Y2lift_rodata", - 0x80B9AE50:"ovl_Obj_Y2shutter_data", - 0x80B9AEC0:"ovl_Obj_Y2shutter_rodata", - 0x80B9B660:"ovl_Obj_Boat_data", - 0x80B9B690:"ovl_Obj_Boat_rodata", - 0x80B9C320:"ovl_Obj_Taru_data", - 0x80B9C380:"ovl_Obj_Taru_rodata", - 0x80B9DC70:"ovl_Obj_Hunsui_data", - 0x80B9DCC0:"ovl_Obj_Hunsui_rodata", - 0x80B9E1F0:"ovl_En_Jc_Mato_data", - 0x80B9E270:"ovl_En_Jc_Mato_rodata", - 0x80B9F400:"ovl_Mir_Ray3_data", - 0x80B9F4A0:"ovl_Mir_Ray3_rodata", - 0x80BA10B0:"ovl_En_Zob_data", - 0x80BA1130:"ovl_En_Zob_rodata", - 0x80BA22E0:"ovl_Elf_Msg6_data", - 0x80BA2310:"ovl_Elf_Msg6_rodata", - 0x80BA3490:"ovl_Obj_Nozoki_data", - 0x80BA3510:"ovl_Obj_Nozoki_rodata", - 0x80BA4FD0:"ovl_En_Toto_data", - 0x80BA51D0:"ovl_En_Toto_rodata", - 0x80BA80A0:"ovl_En_Railgibud_data", - 0x80BA8330:"ovl_En_Railgibud_rodata", - 0x80BAA380:"ovl_En_Baba_data", - 0x80BAA4E0:"ovl_En_Baba_rodata", - 0x80BAE6B0:"ovl_En_Suttari_data", - 0x80BAE970:"ovl_En_Suttari_rodata", - 0x80BB0520:"ovl_En_Zod_data", - 0x80BB0640:"ovl_En_Zod_rodata", - 0x80BB1500:"ovl_En_Kujiya_data", - 0x80BB1520:"ovl_En_Kujiya_rodata", - 0x80BB3E50:"ovl_En_Geg_data", - 0x80BB40A0:"ovl_En_Geg_rodata", - 0x80BB4A70:"ovl_Obj_Kinoko_data", - 0x80BB4A90:"ovl_Obj_Kinoko_rodata", - 0x80BB4D70:"ovl_Obj_Yasi_data", - 0x80BB4DA0:"ovl_Obj_Yasi_rodata", - 0x80BB5E00:"ovl_En_Tanron1_data", - 0x80BB6720:"ovl_En_Tanron1_rodata", - 0x80BB8150:"ovl_En_Tanron2_data", - 0x80BB81F0:"ovl_En_Tanron2_rodata", - 0x80BB9720:"ovl_En_Tanron3_data", - 0x80BB97B0:"ovl_En_Tanron3_rodata", - 0x80BBAB10:"ovl_Obj_Chan_data", - 0x80BBAB80:"ovl_Obj_Chan_rodata", - 0x80BBC6D0:"ovl_En_Zos_data", - 0x80BBC770:"ovl_En_Zos_rodata", - 0x80BBF800:"ovl_En_S_Goro_data", - 0x80BBF990:"ovl_En_S_Goro_rodata", - 0x80BC13F0:"ovl_En_Nb_data", - 0x80BC1690:"ovl_En_Nb_rodata", - 0x80BC35F0:"ovl_En_Ja_data", - 0x80BC37D0:"ovl_En_Ja_rodata", - 0x80BC4600:"ovl_Bg_F40_Block_data", - 0x80BC4680:"ovl_Bg_F40_Block_rodata", - 0x80BC4DD0:"ovl_Bg_F40_Switch_data", - 0x80BC4E20:"ovl_Bg_F40_Switch_rodata", - 0x80BC6760:"ovl_En_Po_Composer_data", - 0x80BC6960:"ovl_En_Po_Composer_rodata", - 0x80BC7960:"ovl_En_Guruguru_data", - 0x80BC79F0:"ovl_En_Guruguru_rodata", - 0x80BC7EF0:"ovl_Oceff_Wipe5_data", - 0x80BC91B0:"ovl_Oceff_Wipe5_rodata", - 0x80BCA380:"ovl_En_Stone_heishi_data", - 0x80BCA410:"ovl_En_Stone_heishi_rodata", - 0x80BCA8B0:"ovl_Oceff_Wipe6_data", - 0x80BCAB60:"ovl_Oceff_Wipe6_rodata", - 0x80BCCB20:"ovl_En_Scopenuts_data", - 0x80BCCD00:"ovl_En_Scopenuts_rodata", - 0x80BCDB50:"ovl_En_Scopecrow_data", - 0x80BCDBB0:"ovl_En_Scopecrow_rodata", - 0x80BCDFC0:"ovl_Oceff_Wipe7_data", - 0x80BCEA70:"ovl_Oceff_Wipe7_rodata", - 0x80BCF070:"ovl_Eff_Kamejima_Wave_data", - 0x80BCF0B0:"ovl_Eff_Kamejima_Wave_rodata", - 0x80BCFF90:"ovl_En_Hg_data", - 0x80BD00D0:"ovl_En_Hg_rodata", - 0x80BD0E80:"ovl_En_Hgo_data", - 0x80BD0F90:"ovl_En_Hgo_rodata", - 0x80BD26C0:"ovl_En_Zov_data", - 0x80BD2780:"ovl_En_Zov_rodata", - 0x80BD3DB0:"ovl_En_Ah_data", - 0x80BD3F30:"ovl_En_Ah_rodata", - 0x80BD4670:"ovl_Obj_Hgdoor_data", - 0x80BD46A0:"ovl_Obj_Hgdoor_rodata", - 0x80BD5250:"ovl_Bg_Ikana_Bombwall_data", - 0x80BD52F0:"ovl_Bg_Ikana_Bombwall_rodata", - 0x80BD55D0:"ovl_Bg_Ikana_Ray_data", - 0x80BD5630:"ovl_Bg_Ikana_Ray_rodata", - 0x80BD5CF0:"ovl_Bg_Ikana_Shutter_data", - 0x80BD5D20:"ovl_Bg_Ikana_Shutter_rodata", - 0x80BD6480:"ovl_Bg_Haka_Bombwall_data", - 0x80BD64F0:"ovl_Bg_Haka_Bombwall_rodata", - 0x80BD6880:"ovl_Bg_Haka_Tomb_data", - 0x80BD68B0:"ovl_Bg_Haka_Tomb_rodata", - 0x80BD6DF0:"ovl_En_Sc_Ruppe_data", - 0x80BD6E70:"ovl_En_Sc_Ruppe_rodata", - 0x80BD79C0:"ovl_Bg_Iknv_Doukutu_data", - 0x80BD79E0:"ovl_Bg_Iknv_Doukutu_rodata", - 0x80BD81D0:"ovl_Bg_Iknv_Obj_data", - 0x80BD8220:"ovl_Bg_Iknv_Obj_rodata", - 0x80BDA460:"ovl_En_Pamera_data", - 0x80BDA620:"ovl_En_Pamera_rodata", - 0x80BDAF60:"ovl_Obj_HsStump_data", - 0x80BDAF90:"ovl_Obj_HsStump_rodata", - 0x80BDC0B0:"ovl_En_Hidden_Nuts_data", - 0x80BDC170:"ovl_En_Hidden_Nuts_rodata", - 0x80BDDCD0:"ovl_En_Zow_data", - 0x80BDDD70:"ovl_En_Zow_rodata", - 0x80BDE140:"ovl_En_Talk_data", - 0x80BDE160:"ovl_En_Talk_rodata", - 0x80BDFC70:"ovl_En_Al_data", - 0x80BE00A0:"ovl_En_Al_rodata", - 0x80BE18D0:"ovl_En_Tab_data", - 0x80BE1B40:"ovl_En_Tab_rodata", - 0x80BE1F90:"ovl_En_Nimotsu_data", - 0x80BE1FE0:"ovl_En_Nimotsu_rodata", - 0x80BE21D0:"ovl_En_Hit_Tag_data", - 0x80BE2220:"ovl_En_Hit_Tag_rodata", - 0x80BE3990:"ovl_En_Ruppecrow_data", - 0x80BE3A20:"ovl_En_Ruppecrow_rodata", - 0x80BE4880:"ovl_En_Tanron4_data", - 0x80BE48A0:"ovl_En_Tanron4_rodata", - 0x80BE5D80:"ovl_En_Tanron5_data", - 0x80BE5ED0:"ovl_En_Tanron5_rodata", - 0x80BE6150:"ovl_En_Tanron6_data", - 0x80BE6190:"ovl_En_Tanron6_rodata", - 0x80BE78D0:"ovl_En_Daiku2_data", - 0x80BE7970:"ovl_En_Daiku2_rodata", - 0x80BE83F0:"ovl_En_Muto_data", - 0x80BE8460:"ovl_En_Muto_rodata", - 0x80BE8DF0:"ovl_En_Baisen_data", - 0x80BE8E60:"ovl_En_Baisen_rodata", - 0x80BE9430:"ovl_En_Heishi_data", - 0x80BE94A0:"ovl_En_Heishi_rodata", - 0x80BE9A30:"ovl_En_Demo_heishi_data", - 0x80BE9AA0:"ovl_En_Demo_heishi_rodata", - 0x80BEB1B0:"ovl_En_Dt_data", - 0x80BEB370:"ovl_En_Dt_rodata", - 0x80BEB860:"ovl_En_Cha_data", - 0x80BEB8B0:"ovl_En_Cha_rodata", - 0x80BEBA70:"ovl_Obj_Dinner_data", - 0x80BEBA90:"ovl_Obj_Dinner_rodata", - 0x80BEC190:"ovl_Eff_Lastday_data", - 0x80BEC1B0:"ovl_Eff_Lastday_rodata", - 0x80BECAB0:"ovl_Bg_Ikana_Dharma_data", - 0x80BECB10:"ovl_Bg_Ikana_Dharma_rodata", - 0x80BF02D0:"ovl_En_Akindonuts_data", - 0x80BF04C0:"ovl_En_Akindonuts_rodata", - 0x80BF10C0:"ovl_Eff_Stk_data", - 0x80BF10E0:"ovl_Eff_Stk_rodata", - 0x80BF3260:"ovl_En_Ig_data", - 0x80BF3550:"ovl_En_Ig_rodata", - 0x80BF5740:"ovl_En_Rg_data", - 0x80BF5A10:"ovl_En_Rg_rodata", - 0x80BF6F80:"ovl_En_Osk_data", - 0x80BF7030:"ovl_En_Osk_rodata", - 0x80BF7920:"ovl_En_Sth2_data", - 0x80BFA030:"ovl_En_Sth2_rodata", - 0x80BFB290:"ovl_En_Yb_data", - 0x80BFB310:"ovl_En_Yb_rodata", - 0x80BFCCC0:"ovl_En_Rz_data", - 0x80BFCD70:"ovl_En_Rz_rodata", - 0x80BFD260:"ovl_En_Scopecoin_data", - 0x80BFD2A0:"ovl_En_Scopecoin_rodata", - 0x80BFDEA0:"ovl_En_Bjt_data", - 0x80BFDFF0:"ovl_En_Bjt_rodata", - 0x80C009F0:"ovl_En_Bomjima_data", - 0x80C00B60:"ovl_En_Bomjima_rodata", - 0x80C03170:"ovl_En_Bomjimb_data", - 0x80C032A0:"ovl_En_Bomjimb_rodata", - 0x80C04750:"ovl_En_Bombers_data", - 0x80C04850:"ovl_En_Bombers_rodata", - 0x80C05880:"ovl_En_Bombers2_data", - 0x80C05930:"ovl_En_Bombers2_rodata", - 0x80C06440:"ovl_En_Bombal_data", - 0x80C06490:"ovl_En_Bombal_rodata", - 0x80C06A10:"ovl_Obj_Moon_Stone_data", - 0x80C06A30:"ovl_Obj_Moon_Stone_rodata", - 0x80C06FE0:"ovl_Obj_Mu_Pict_data", - 0x80C07000:"ovl_Obj_Mu_Pict_rodata", - 0x80C07680:"ovl_Bg_Ikninside_data", - 0x80C076E0:"ovl_Bg_Ikninside_rodata", - 0x80C07AC0:"ovl_Eff_Zoraband_data", - 0x80C07AE0:"ovl_Eff_Zoraband_rodata", - 0x80C07C20:"ovl_Obj_Kepn_Koya_data", - 0x80C07C50:"ovl_Obj_Kepn_Koya_rodata", - 0x80C08640:"ovl_Obj_Usiyane_data", - 0x80C086C0:"ovl_Obj_Usiyane_rodata", - 0x80C089E0:"ovl_En_Nnh_data", - 0x80C08A30:"ovl_En_Nnh_rodata", - 0x80C08DD0:"ovl_Obj_Kzsaku_data", - 0x80C08DF0:"ovl_Obj_Kzsaku_rodata", - 0x80C09030:"ovl_Obj_Milk_Bin_data", - 0x80C09080:"ovl_Obj_Milk_Bin_rodata", - 0x80C09D30:"ovl_En_Kitan_data", - 0x80C09D90:"ovl_En_Kitan_rodata", - 0x80C0A600:"ovl_Bg_Astr_Bombwall_data", - 0x80C0A6B0:"ovl_Bg_Astr_Bombwall_rodata", - 0x80C0B0C0:"ovl_Bg_Iknin_Susceil_data", - 0x80C0B110:"ovl_Bg_Iknin_Susceil_rodata", - 0x80C0F8D0:"ovl_En_Bsb_data", - 0x80C0FAE0:"ovl_En_Bsb_rodata", - 0x80C10690:"ovl_En_Recepgirl_data", - 0x80C106D0:"ovl_En_Recepgirl_rodata", - 0x80C135A0:"ovl_En_Thiefbird_data", - 0x80C136B0:"ovl_En_Thiefbird_rodata", - 0x80C15010:"ovl_En_Jgame_Tsn_data", - 0x80C150B0:"ovl_En_Jgame_Tsn_rodata", - 0x80C15BA0:"ovl_Obj_Jgame_Light_data", - 0x80C16130:"ovl_Obj_Jgame_Light_rodata", - 0x80C16400:"ovl_Obj_Yado_data", - 0x80C177B0:"ovl_Demo_Syoten_data", - 0x80C17850:"ovl_Demo_Syoten_rodata", - 0x80C18070:"ovl_Demo_Moonend_data", - 0x80C18090:"ovl_Demo_Moonend_rodata", - 0x80C181E0:"ovl_Bg_Lbfshot_data", - 0x80C18210:"ovl_Bg_Lbfshot_rodata", - 0x80C189A0:"ovl_Bg_Last_Bwall_data", - 0x80C18AD0:"ovl_Bg_Last_Bwall_rodata", - 0x80C19160:"ovl_En_And_data", - 0x80C19230:"ovl_En_And_rodata", - 0x80C1AA40:"ovl_En_Invadepoh_Demo_data", - 0x80C1AB60:"ovl_En_Invadepoh_Demo_rodata", - 0x80C1B520:"ovl_Obj_Danpeilift_data", - 0x80C1B550:"ovl_Obj_Danpeilift_rodata", - 0x80C1BBE0:"ovl_En_Fall2_data", - 0x80C1BCF0:"ovl_En_Fall2_rodata", - 0x80C1C250:"ovl_Dm_Al_data", - 0x80C1C2B0:"ovl_Dm_Al_rodata", - 0x80C1D1A0:"ovl_Dm_An_data", - 0x80C1D310:"ovl_Dm_An_rodata", - 0x80C1DDC0:"ovl_Dm_Ah_data", - 0x80C1DE40:"ovl_Dm_Ah_rodata", - 0x80C1E1E0:"ovl_Dm_Nb_data", - 0x80C1E230:"ovl_Dm_Nb_rodata", - 0x80C1E5C0:"ovl_En_Drs_data", - 0x80C1E630:"ovl_En_Drs_rodata", - 0x80C1E950:"ovl_En_Ending_Hero_data", - 0x80C1E990:"ovl_En_Ending_Hero_rodata", - 0x80C1F150:"ovl_Dm_Bal_data", - 0x80C1F2E0:"ovl_Dm_Bal_rodata", - 0x80C1FC40:"ovl_En_Paper_data", - 0x80C1FC70:"ovl_En_Paper_rodata", - 0x80C21C60:"ovl_En_Hint_Skb_data", - 0x80C21E80:"ovl_En_Hint_Skb_rodata", - 0x80C22BD0:"ovl_Dm_Tag_data", - 0x80C22C40:"ovl_Dm_Tag_rodata", - 0x80C231C0:"ovl_En_Bh_data", - 0x80C231E0:"ovl_En_Bh_rodata", - 0x80C23400:"ovl_En_Ending_Hero2_data", - 0x80C23420:"ovl_En_Ending_Hero2_rodata", - 0x80C23630:"ovl_En_Ending_Hero3_data", - 0x80C23650:"ovl_En_Ending_Hero3_rodata", - 0x80C23860:"ovl_En_Ending_Hero4_data", - 0x80C23880:"ovl_En_Ending_Hero4_rodata", - 0x80C23BD0:"ovl_En_Ending_Hero5_data", - 0x80C23C10:"ovl_En_Ending_Hero5_rodata", - 0x80C241E0:"ovl_En_Ending_Hero6_data", - 0x80C242A0:"ovl_En_Ending_Hero6_rodata", - 0x80C250F0:"ovl_Dm_Gm_data", - 0x80C25260:"ovl_Dm_Gm_rodata", - 0x80C257D0:"ovl_Obj_Swprize_data", - 0x80C25800:"ovl_Obj_Swprize_rodata", - 0x80C25B30:"ovl_En_Invisible_Ruppe_data", - 0x80C25B80:"ovl_En_Invisible_Ruppe_rodata", - 0x80C25CC0:"ovl_Obj_Ending_data", - 0x80C25D00:"ovl_Obj_Ending_rodata", - 0x80C25FF0:"ovl_En_Rsn_data", - 0x80C26040:"ovl_En_Rsn_rodata", - } diff --git a/tables/vrom_variables.txt b/tables/vrom_variables.txt deleted file mode 100644 index 0b1a451077..0000000000 --- a/tables/vrom_variables.txt +++ /dev/null @@ -1,68 +0,0 @@ -# Follows the format of Address:(Name, Type, Array Info, Size) -{ - # NOTE These symbols could be one of two symbols: the start of a file or the end of a file before it. - # The choice for disassembly is arbitrary but in code it should be the one that makes sense. - 0x0001A500:("_dmadataSegmentRomStart","u32","",0x4), # Start of dmadata - 0x00020700:("_dmadataSegmentRomEnd","u32","",0x4), # Byte immediately after end of dmadata - 0x00046AF0:("_AudioseqSegmentRomStart","UNK_TYPE","",0x4), - 0x00097F70:("_AudioseqSegmentRomEnd","UNK_TYPE","",0x4), - 0x0065D000:("_link_animetionSegmentRomStart","UNK_TYPE","",0x4), - 0x00957000:("","UNK_TYPE","",0x4), # ovl_kaleido_scope uses this. It is the start of vrom for a null entry in dmadata??? - 0x009ECEC0:("","UNK_TYPE","",0x4), # ovl_kaleido_scope uses this. It is the end of vrom for a null entry in dmadata??? - 0x009ED000:("","UNK_TYPE","",0x4), # ovl_kaleido_scope uses this. It is the start of vrom for a null entry in dmadata??? - 0x009F4700:("","UNK_TYPE","",0x4), # ovl_kaleido_scope uses this. It is the end of vrom for a null entry in dmadata??? - 0x009F5000:("_icon_item_field_staticSegmentRomStart","UNK_TYPE","",0x4), - 0x00A09AF0:("_icon_item_field_staticSegmentRomEnd","UNK_TYPE","",0x4), - 0x00A0A000:("_icon_item_dungeon_staticSegmentRomStart","UNK_TYPE","",0x4), - 0x00A0EB80:("_icon_item_dungeon_staticSegmentRomEnd","UNK_TYPE","",0x4), - 0x00A0F000:("_icon_item_gameover_staticSegmentRomStart","UNK_TYPE","",0x4), - 0x00A12300:("_icon_item_gameover_staticSegmentRomEnd","UNK_TYPE","",0x4), - 0x00A13000:("_icon_item_jpn_staticSegmentRomStart","UNK_TYPE","",0x4), - 0x00A1BA00:("_icon_item_jpn_staticSegmentRomEnd","UNK_TYPE","",0x4), - 0x00A1C000:("_icon_item_vtx_staticSegmentRomStart","UNK_TYPE","",0x4), - 0x00A1C2E0:("_icon_item_vtx_staticSegmentRomEnd","UNK_TYPE","",0x4), - 0x00A1D000:("_map_i_staticSegmentRomStart","UNK_TYPE","",0x4), - 0x00A1E310:("_map_grand_staticSegmentRomStart","UNK_TYPE","",0x4), - 0x00A27660:("_item_name_staticSegmentRomStart","UNK_TYPE","",0x4), - 0x00A352F0:("_map_name_staticSegmentRomStart","UNK_TYPE","",0x4), - 0x00A36C10:("_icon_item_static_testSegmentRomStart","UNK_TYPE","",0x4), - 0x00A7BEE0:("_icon_item_24_static_testSegmentRomStart","UNK_TYPE","",0x4), - 0x00A807A0:("_icon_item_24_static_testSegmentRomEnd","UNK_TYPE","",0x4), - 0x00A8C000:("_schedule_dma_static_testSegmentRomStart","UNK_TYPE","",0x4), - 0x00A92A10:("_schedule_staticSegmentRomStart","UNK_TYPE","",0x4), - 0x00A990E0:("_schedule_staticSegmentRomEnd","UNK_TYPE","",0x4), - 0x00A9A000:("_story_staticSegmentRomStart","UNK_TYPE","",0x4), - 0x00ABFC00:("_story_staticSegmentRomEnd","UNK_TYPE","",0x4), - 0x00AC0000:("_do_action_staticSegmentRomStart","UNK_TYPE","",0x4), - 0x00AC4000:("_message_staticSegmentRomStart","UNK_TYPE","",0x4), - 0x00ACA000:("_message_texture_staticSegmentRomStart","UNK_TYPE","",0x4), - 0x00ACC000:("_nes_font_staticSegmentRomStart","UNK_TYPE","",0x4), - 0x00AD1000:("_en_message_data_staticSegmentRomStart","UNK_TYPE","",0x4), - 0x00B3B000:("_staff_message_data_staticSegmentRomStart","UNK_TYPE","",0x4), - 0x00B3C000:("_codeSegmentRomStart","UNK_TYPE","",0x4), - 0x00C7A4E0:("_codeSegmentRomEnd","UNK_TYPE","",0x4), - 0x01E85000:("_nintendo_rogo_staticSegmentRomStart","UNK_TYPE","",0x4), - 0x01E87DC0:("_nintendo_rogo_staticSegmentRomEnd","UNK_TYPE","",0x4), - 0x01E88000:("_title_staticSegmentRomStart","UNK_TYPE","",0x4), - 0x01EB9730:("_title_staticSegmentRomEnd","UNK_TYPE","",0x4), - 0x01EBA000:("_memerrmsgSegmentRomStart","UNK_TYPE","",0x4), - 0x01EBB280:("_memerrmsgSegmentRomEnd","UNK_TYPE","",0x4), - 0x01EBC000:("_locerrmsgSegmentRomStart","UNK_TYPE","",0x4), - 0x01EBC680:("_locerrmsgSegmentRomEnd","UNK_TYPE","",0x4), - 0x01EBD000:("_parameter_staticSegmentRomStart","UNK_TYPE","",0x4), - 0x01EC8B20:("_parameter_staticSegmentRomEnd","UNK_TYPE","",0x4), - 0x01EC9000:("_week_staticSegmentRomStart","UNK_TYPE","",0x4), - 0x01EC9F30:("_week_staticSegmentRomEnd","UNK_TYPE","",0x4), - 0x01ECA000:("_daytelop_staticSegmentRomStart","UNK_TYPE","",0x4), - 0x01ED3B00:("_daytelop_staticSegmentRomEnd","UNK_TYPE","",0x4), - 0x01ED4000:("_ger_daytelop_staticSegmentRomStart","UNK_TYPE","",0x4), - 0x01EDDB00:("_ger_daytelop_staticSegmentRomEnd","UNK_TYPE","",0x4), - 0x01EDE000:("_fra_daytelop_staticSegmentRomStart","UNK_TYPE","",0x4), - 0x01EE7B00:("_fra_daytelop_staticSegmentRomEnd","UNK_TYPE","",0x4), - 0x01EE8000:("_spa_daytelop_staticSegmentRomStart","UNK_TYPE","",0x4), - 0x01EF1B00:("_spa_daytelop_staticSegmentRomEnd","UNK_TYPE","",0x4), - 0x01EF2000:("_d2_fine_staticSegmentRomStart","UNK_TYPE","",0x4), - 0x01EFE000:("_d2_cloud_staticSegmentRomStart","UNK_TYPE","",0x4), - 0x01F0A000:("_d2_fine_pal_staticSegmentRomStart","UNK_TYPE","",0x4), - 0x01F0A200:("_d2_fine_pal_staticSegmentRomEnd","UNK_TYPE","",0x4), -} \ No newline at end of file diff --git a/tools/Makefile b/tools/Makefile index 0ad4a3f51f..a7fc3da90c 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -1,19 +1,18 @@ CC := gcc CFLAGS := -Wall -Wextra -pedantic -std=c99 -g -O2 -PROGRAMS := yaz0 makeromfs elf2rom mkldscript vtxdis +PROGRAMS := vtxdis all: $(PROGRAMS) $(MAKE) -C ZAPD + $(MAKE) -C buildtools + $(MAKE) -C z64compress clean: $(RM) $(PROGRAMS) $(MAKE) -C ZAPD clean -# Need to clean the above line later... + $(MAKE) -C buildtools clean + $(MAKE) -C z64compress clean -mkldscript_SOURCES := mkldscript.c util.c -elf2rom_SOURCES := elf2rom.c elf32.c n64chksum.c util.c -yaz0_SOURCES := yaz0tool.c yaz0.c util.c -makeromfs_SOURCES := makeromfs.c n64chksum.c util.c vtxdis_SOURCES := vtxdis.c define COMPILE = diff --git a/tools/actorfixer.py b/tools/actorfixer.py index 3ab9549205..4d8ed07895 100755 --- a/tools/actorfixer.py +++ b/tools/actorfixer.py @@ -1,7 +1,6 @@ #!/usr/bin/env python3 -import os -import argparse +import argparse, os # "old": "new" animdict ={ diff --git a/tools/asm-differ/.gitignore b/tools/asm-differ/.gitignore index eb176dc56b..e5daf0d15b 100644 --- a/tools/asm-differ/.gitignore +++ b/tools/asm-differ/.gitignore @@ -1,2 +1 @@ .mypy_cache/ -__pycache__/ diff --git a/tools/asm-differ/README.md b/tools/asm-differ/README.md index 4c0b3b0109..d7c56187d6 100644 --- a/tools/asm-differ/README.md +++ b/tools/asm-differ/README.md @@ -1,13 +1,13 @@ # asm-differ -Nice differ for assembly code (MIPS and AArch64; should be easy to hack to support other instruction sets). +Nice differ for assembly code (currently MIPS, but should be easy to hack to support other instruction sets). ![](screenshot.png) ## Dependencies - Python >= 3.6 -- `python3 -m pip install --user colorama ansiwrap watchdog python-Levenshtein` +- `python3 -m pip install --user colorama ansiwrap attrs watchdog` ## Usage diff --git a/tools/asm-differ/diff.py b/tools/asm-differ/diff.py index e65743711e..0e1da09deb 100755 --- a/tools/asm-differ/diff.py +++ b/tools/asm-differ/diff.py @@ -1,28 +1,10 @@ #!/usr/bin/env python3 -# PYTHON_ARGCOMPLETE_OK -import argparse import sys -from typing import ( - Any, - Dict, - List, - Match, - NamedTuple, - NoReturn, - Optional, - Set, - Tuple, - Union, - Callable, - Pattern, -) - -def fail(msg: str) -> NoReturn: +def fail(msg): print(msg, file=sys.stderr) sys.exit(1) - # Prefer to use diff_settings.py from the current working directory sys.path.insert(0, ".") try: @@ -37,25 +19,21 @@ try: import argcomplete # type: ignore except ModuleNotFoundError: argcomplete = None +import argparse -parser = argparse.ArgumentParser(description="Diff MIPS or AArch64 assembly.") - -start_argument = parser.add_argument( - "start", - help="Function name or address to start diffing from.", -) +parser = argparse.ArgumentParser(description="Diff MIPS assembly.") +start_argument = parser.add_argument("start", help="Function name or address to start diffing from.") if argcomplete: - - def complete_symbol( - prefix: str, parsed_args: argparse.Namespace, **kwargs: object - ) -> List[str]: - if not prefix or prefix.startswith("-"): + def complete_symbol(**kwargs): + prefix = kwargs["prefix"] + if prefix == "": # skip reading the map file, which would # result in a lot of useless completions return [] - config: Dict[str, Any] = {} - diff_settings.apply(config, parsed_args) # type: ignore + parsed_args = kwargs["parsed_args"] + config = {} + diff_settings.apply(config, parsed_args) mapfile = config.get("mapfile") if not mapfile: return [] @@ -86,28 +64,20 @@ if argcomplete: pos = data.find(search, endPos) completes.append(match) return completes + start_argument.completer = complete_symbol - setattr(start_argument, "completer", complete_symbol) - -parser.add_argument( - "end", - nargs="?", - help="Address to end diff at.", -) +parser.add_argument("end", nargs="?", help="Address to end diff at.") parser.add_argument( "-o", dest="diff_obj", action="store_true", - help="Diff .o files rather than a whole binary. This makes it possible to " - "see symbol names. (Recommended)", + help="Diff .o files rather than a whole binary. This makes it possible to see symbol names. (Recommended)", ) parser.add_argument( "-e", "--elf", dest="diff_elf_symbol", - metavar="SYMBOL", - help="Diff a given function in two ELFs, one being stripped and the other " - "one non-stripped. Requires objdump from binutils 2.33+.", + help="Diff a given function in two ELFs, one being stripped and the other one non-stripped. Requires objdump from binutils 2.33+.", ) parser.add_argument( "--source", @@ -144,7 +114,6 @@ parser.add_argument( dest="skip_lines", type=int, default=0, - metavar="LINES", help="Skip the first N lines of output.", ) parser.add_argument( @@ -161,12 +130,6 @@ parser.add_argument( action="store_true", help="Pretend all large enough immediates are the same.", ) -parser.add_argument( - "-I", - "--ignore-addr-diffs", - action="store_true", - help="Ignore address differences. Currently only affects AArch64.", -) parser.add_argument( "-B", "--no-show-branches", @@ -195,22 +158,12 @@ parser.add_argument( ) parser.add_argument( "-3", - "--threeway=prev", + "--threeway", dest="threeway", - action="store_const", - const="prev", + action="store_true", help="Show a three-way diff between target asm, current asm, and asm " "prior to -w rebuild. Requires -w.", ) -parser.add_argument( - "-b", - "--threeway=base", - dest="threeway", - action="store_const", - const="base", - help="Show a three-way diff between target asm, current asm, and asm " - "when diff.py was started. Requires -w.", -) parser.add_argument( "--width", dest="column_width", @@ -223,8 +176,7 @@ parser.add_argument( dest="algorithm", default="levenshtein", choices=["levenshtein", "difflib"], - help="Diff algorithm to use. Levenshtein gives the minimum diff, while difflib " - "aims for long sections of equal opcodes. Defaults to %(default)s.", + help="Diff algorithm to use.", ) parser.add_argument( "--max-size", @@ -236,17 +188,14 @@ parser.add_argument( ) # Project-specific flags, e.g. different versions/make arguments. -add_custom_arguments_fn = getattr(diff_settings, "add_custom_arguments", None) -if add_custom_arguments_fn: - add_custom_arguments_fn(parser) +if hasattr(diff_settings, "add_custom_arguments"): + diff_settings.add_custom_arguments(parser) # type: ignore if argcomplete: argcomplete.autocomplete(parser) # ==== IMPORTS ==== -# (We do imports late to optimize auto-complete performance.) - import re import os import ast @@ -257,6 +206,7 @@ import itertools import threading import queue import time +from typing import Any, Dict, List, NamedTuple, Optional, Set, Tuple, Union MISSING_PREREQUISITES = ( @@ -277,23 +227,20 @@ args = parser.parse_args() # Set imgs, map file and make flags in a project-specific manner. config: Dict[str, Any] = {} -diff_settings.apply(config, args) # type: ignore +diff_settings.apply(config, args) -arch: str = config.get("arch", "mips") -baseimg: Optional[str] = config.get("baseimg") -myimg: Optional[str] = config.get("myimg") -mapfile: Optional[str] = config.get("mapfile") -build_command: List[str] = config.get("make_command", ["make", *config.get("makeflags", [])]) -source_directories: Optional[List[str]] = config.get("source_directories") -source_extensions: List[str] = config.get("source_extensions", [".c", ".h", ".cpp", ".hpp", ".s"]) -objdump_executable: Optional[str] = config.get("objdump_executable") -map_format: str = config.get("map_format", "gnu") -mw_build_dir: str = config.get("mw_build_dir", "build/") +arch = config.get("arch", "mips") +baseimg = config.get("baseimg", None) +myimg = config.get("myimg", None) +mapfile = config.get("mapfile", None) +makeflags = config.get("makeflags", []) +source_directories = config.get("source_directories", None) +objdump_executable = config.get("objdump_executable", None) -MAX_FUNCTION_SIZE_LINES: int = args.max_lines -MAX_FUNCTION_SIZE_BYTES: int = MAX_FUNCTION_SIZE_LINES * 4 +MAX_FUNCTION_SIZE_LINES = args.max_lines +MAX_FUNCTION_SIZE_BYTES = MAX_FUNCTION_SIZE_LINES * 4 -COLOR_ROTATION: List[str] = [ +COLOR_ROTATION = [ Fore.MAGENTA, Fore.CYAN, Fore.GREEN, @@ -305,16 +252,14 @@ COLOR_ROTATION: List[str] = [ Fore.LIGHTBLACK_EX, ] -BUFFER_CMD: List[str] = ["tail", "-c", str(10 ** 9)] -LESS_CMD: List[str] = ["less", "-SRic", "-#6"] +BUFFER_CMD = ["tail", "-c", str(10 ** 9)] +LESS_CMD = ["less", "-SRic", "-#6"] -DEBOUNCE_DELAY: float = 0.1 -FS_WATCH_EXTENSIONS: List[str] = source_extensions +DEBOUNCE_DELAY = 0.1 +FS_WATCH_EXTENSIONS = [".c", ".h"] # ==== LOGIC ==== -ObjdumpCommand = Tuple[List[str], str, Optional[str]] - if args.algorithm == "levenshtein": try: import Levenshtein # type: ignore @@ -327,9 +272,6 @@ if args.source: except ModuleNotFoundError as e: fail(MISSING_PREREQUISITES.format(e.name)) -if args.threeway and not args.watch: - fail("Threeway diffing requires -w.") - if objdump_executable is None: for objdump_cand in ["mips-linux-gnu-objdump", "mips64-elf-objdump"]: try: @@ -351,41 +293,35 @@ if not objdump_executable: ) -def maybe_eval_int(expr: str) -> Optional[int]: +def eval_int(expr, emsg=None): try: ret = ast.literal_eval(expr) if not isinstance(ret, int): raise Exception("not an integer") return ret except Exception: + if emsg is not None: + fail(emsg) return None -def eval_int(expr: str, emsg: str) -> int: - ret = maybe_eval_int(expr) - if ret is None: - fail(emsg) - return ret - - -def eval_line_num(expr: str) -> int: +def eval_line_num(expr): return int(expr.strip().replace(":", ""), 16) -def run_make(target: str) -> None: - subprocess.check_call(build_command + [target]) +def run_make(target, capture_output=False): + if capture_output: + return subprocess.run( + ["make"] + makeflags + [target], + stderr=subprocess.PIPE, + stdout=subprocess.PIPE, + ) + else: + subprocess.check_call(["make"] + makeflags + [target]) -def run_make_capture_output(target: str) -> "subprocess.CompletedProcess[bytes]": - return subprocess.run( - build_command + [target], - stderr=subprocess.PIPE, - stdout=subprocess.PIPE, - ) - - -def restrict_to_function(dump: str, fn_name: str) -> str: - out: List[str] = [] +def restrict_to_function(dump, fn_name): + out = [] search = f"<{fn_name}>:" found = False for line in dump.split("\n"): @@ -398,13 +334,13 @@ def restrict_to_function(dump: str, fn_name: str) -> str: return "\n".join(out) -def maybe_get_objdump_source_flags() -> List[str]: +def maybe_get_objdump_source_flags(): if not args.source: return [] flags = [ "--source", - "--source-comment=│ ", + "--source-comment=| ", "-l", ] @@ -414,9 +350,8 @@ def maybe_get_objdump_source_flags() -> List[str]: return flags -def run_objdump(cmd: ObjdumpCommand) -> str: +def run_objdump(cmd): flags, target, restrict = cmd - assert objdump_executable, "checked previously" out = subprocess.check_output( [objdump_executable] + arch_flags + flags + [target], universal_newlines=True ) @@ -425,76 +360,53 @@ def run_objdump(cmd: ObjdumpCommand) -> str: return out -base_shift: int = eval_int( +base_shift = eval_int( args.base_shift, "Failed to parse --base-shift (-S) argument as an integer." ) -def search_map_file(fn_name: str) -> Tuple[Optional[str], Optional[int]]: +def search_map_file(fn_name): if not mapfile: fail(f"No map file configured; cannot find function {fn_name}.") try: with open(mapfile) as f: - contents = f.read() + lines = f.read().split("\n") except Exception: fail(f"Failed to open map file {mapfile} for reading.") - if map_format == 'gnu': - lines = contents.split("\n") + try: + cur_objfile = None + ram_to_rom = None + cands = [] + last_line = "" + for line in lines: + if line.startswith(" .text"): + cur_objfile = line.split()[3] + if "load address" in line: + tokens = last_line.split() + line.split() + ram = int(tokens[1], 0) + rom = int(tokens[5], 0) + ram_to_rom = rom - ram + if line.endswith(" " + fn_name): + ram = int(line.split()[0], 0) + if cur_objfile is not None and ram_to_rom is not None: + cands.append((cur_objfile, ram + ram_to_rom)) + last_line = line + except Exception as e: + import traceback - try: - cur_objfile = None - ram_to_rom = None - cands = [] - last_line = "" - for line in lines: - if line.startswith(" .text"): - cur_objfile = line.split()[3] - if "load address" in line: - tokens = last_line.split() + line.split() - ram = int(tokens[1], 0) - rom = int(tokens[5], 0) - ram_to_rom = rom - ram - if line.endswith(" " + fn_name): - ram = int(line.split()[0], 0) - if cur_objfile is not None and ram_to_rom is not None: - cands.append((cur_objfile, ram + ram_to_rom)) - last_line = line - except Exception as e: - import traceback + traceback.print_exc() + fail(f"Internal error while parsing map file") - traceback.print_exc() - fail(f"Internal error while parsing map file") - - if len(cands) > 1: - fail(f"Found multiple occurrences of function {fn_name} in map file.") - if len(cands) == 1: - return cands[0] - elif map_format == 'mw': - # ram elf rom object name - find = re.findall(re.compile(r' \S+ \S+ (\S+) (\S+) . ' + fn_name + r'(?: \(entry of \.(?:init|text)\))? \t(\S+)'), contents) - if len(find) > 1: - fail(f"Found multiple occurrences of function {fn_name} in map file.") - if len(find) == 1: - rom = int(find[0][1],16) - objname = find[0][2] - # The metrowerks linker map format does not contain the full object path, so we must complete it manually. - objfiles = [os.path.join(dirpath, f) for dirpath, _, filenames in os.walk(mw_build_dir) for f in filenames if f == objname] - if len(objfiles) > 1: - all_objects = "\n".join(objfiles) - fail(f"Found multiple objects of the same name {objname} in {mw_build_dir}, cannot determine which to diff against: \n{all_objects}") - if len(objfiles) == 1: - objfile = objfiles[0] - # TODO Currently the ram-rom conversion only works for diffing ELF executables, but it would likely be more convenient to diff DOLs. - # At this time it is recommended to always use -o when running the diff script as this mode does not make use of the ram-rom conversion - return objfile, rom - else: - fail(f"Linker map format {map_format} unrecognised.") + if len(cands) > 1: + fail(f"Found multiple occurrences of function {fn_name} in map file.") + if len(cands) == 1: + return cands[0] return None, None -def dump_elf() -> Tuple[str, ObjdumpCommand, ObjdumpCommand]: +def dump_elf(): if not baseimg or not myimg: fail("Missing myimg/baseimg in config.") if base_shift: @@ -524,7 +436,7 @@ def dump_elf() -> Tuple[str, ObjdumpCommand, ObjdumpCommand]: ) -def dump_objfile() -> Tuple[str, ObjdumpCommand, ObjdumpCommand]: +def dump_objfile(): if base_shift: fail("--base-shift not compatible with -o") if args.end is not None: @@ -554,12 +466,12 @@ def dump_objfile() -> Tuple[str, ObjdumpCommand, ObjdumpCommand]: ) -def dump_binary() -> Tuple[str, ObjdumpCommand, ObjdumpCommand]: +def dump_binary(): if not baseimg or not myimg: fail("Missing myimg/baseimg in config.") if args.make: run_make(myimg) - start_addr = maybe_eval_int(args.start) + start_addr = eval_int(args.start) if start_addr is None: _, start_addr = search_map_file(args.start) if start_addr is None: @@ -568,7 +480,7 @@ def dump_binary() -> Tuple[str, ObjdumpCommand, ObjdumpCommand]: end_addr = eval_int(args.end, "End address must be an integer expression.") else: end_addr = start_addr + MAX_FUNCTION_SIZE_BYTES - objdump_flags = ["-Dz", "-bbinary", "-EB"] + objdump_flags = ["-Dz", "-bbinary", "-mmips", "-EB"] flags1 = [ f"--start-address={start_addr + base_shift}", f"--stop-address={end_addr + base_shift}", @@ -581,9 +493,9 @@ def dump_binary() -> Tuple[str, ObjdumpCommand, ObjdumpCommand]: ) -def ansi_ljust(s: str, width: int) -> str: - """Like s.ljust(width), but accounting for ANSI colors.""" - needed: int = width - ansiwrap.ansilen(s) +# Alignment with ANSI colors is broken, let's fix it. +def ansi_ljust(s, width): + needed = width - ansiwrap.ansilen(s) if needed > 0: return s + " " * needed else: @@ -593,9 +505,7 @@ def ansi_ljust(s: str, width: int) -> str: if arch == "mips": re_int = re.compile(r"[0-9]+") re_comment = re.compile(r"<.*?>") - re_reg = re.compile( - r"\$?\b(a[0-3]|t[0-9]|s[0-8]|at|v[01]|f[12]?[0-9]|f3[01]|k[01]|fp|ra|zero)\b" - ) + re_reg = re.compile(r"\$?\b(a[0-3]|t[0-9]|s[0-8]|at|v[01]|f[12]?[0-9]|f3[01]|k[01]|fp|ra)\b") re_sprel = re.compile(r"(?<=,)([0-9]+|0x[0-9a-f]+)\(sp\)") re_large_imm = re.compile(r"-?[1-9][0-9]{2,}|-?0x[0-9a-f]{3,}") re_imm = re.compile(r"(\b|-)([0-9]+|0x[0-9a-fA-F]+)\b(?!\(sp)|%(lo|hi)\([^)]*\)") @@ -614,19 +524,7 @@ if arch == "mips": "bc1fl", } branch_instructions = branch_likely_instructions.union( - { - "b", - "beq", - "bne", - "beqz", - "bnez", - "bgez", - "bgtz", - "blez", - "bltz", - "bc1t", - "bc1f", - } + {"b", "beq", "bne", "beqz", "bnez", "bgez", "bgtz", "blez", "bltz", "bc1t", "bc1f"} ) instructions_with_address_immediates = branch_instructions.union({"jal", "j"}) elif arch == "aarch64": @@ -641,71 +539,13 @@ elif arch == "aarch64": arch_flags = [] forbidden = set(string.ascii_letters + "_") branch_likely_instructions = set() - branch_instructions = { - "bl", - "b", - "b.eq", - "b.ne", - "b.cs", - "b.hs", - "b.cc", - "b.lo", - "b.mi", - "b.pl", - "b.vs", - "b.vc", - "b.hi", - "b.ls", - "b.ge", - "b.lt", - "b.gt", - "b.le", - "cbz", - "cbnz", - "tbz", - "tbnz", - } + branch_instructions = {"bl", "b", "b.eq", "b.ne", "b.cs", "b.hs", "b.cc", "b.lo", "b.mi", "b.pl", "b.vs", "b.vc", "b.hi", "b.ls", "b.ge", "b.lt", "b.gt", "b.le", "cbz", "cbnz", "tbz", "tbnz"} instructions_with_address_immediates = branch_instructions.union({"adrp"}) -elif arch == "ppc": - re_int = re.compile(r"[0-9]+") - re_comment = re.compile(r"(<.*?>|//.*$)") - re_reg = re.compile(r"\$?\b([rf][0-9]+)\b") - re_sprel = re.compile(r"(?<=,)(-?[0-9]+|-?0x[0-9a-f]+)\(r1\)") - re_large_imm = re.compile(r"-?[1-9][0-9]{2,}|-?0x[0-9a-f]{3,}") - re_imm = re.compile(r"(\b|-)([0-9]+|0x[0-9a-fA-F]+)\b(?!\(r1)|[^@]*@(ha|h|lo)") - arch_flags = [] - forbidden = set(string.ascii_letters + "_") - branch_likely_instructions = set() - branch_instructions = { - "b", - "beq", - "beq+", - "beq-", - "bne", - "bne+", - "bne-", - "blt", - "blt+", - "blt-", - "ble", - "ble+", - "ble-", - "bdnz", - "bdnz+", - "bdnz-", - "bge", - "bge+", - "bge-", - "bgt", - "bgt+", - "bgt-", - } - instructions_with_address_immediates = branch_instructions.union({"bl"}) else: - fail(f"Unknown architecture: {arch}") + fail("Unknown architecture.") -def hexify_int(row: str, pat: Match[str]) -> str: +def hexify_int(row, pat): full = pat.group(0) if len(full) <= 1: # leave one-digit ints alone @@ -718,14 +558,11 @@ def hexify_int(row: str, pat: Match[str]) -> str: return hex(int(full)) -def parse_relocated_line(line: str) -> Tuple[str, str, str]: +def parse_relocated_line(line): try: ind2 = line.rindex(",") except ValueError: - try: - ind2 = line.rindex("\t") - except ValueError: - ind2 = line.rindex(" ") + ind2 = line.rindex("\t") before = line[: ind2 + 1] after = line[ind2 + 1 :] ind2 = after.find("(") @@ -738,7 +575,7 @@ def parse_relocated_line(line: str) -> Tuple[str, str, str]: return before, imm, after -def process_mips_reloc(row: str, prev: str) -> str: +def process_mips_reloc(row, prev): before, imm, after = parse_relocated_line(prev) repl = row.split()[-1] if imm != "0": @@ -759,48 +596,12 @@ def process_mips_reloc(row: str, prev: str) -> str: # correct addend for each, but objdump doesn't give us the order of # the relocations, so we can't find the right LO16. :( repl = f"%hi({repl})" - elif "R_MIPS_26" in row: - # Function calls - pass - elif "R_MIPS_PC16" in row: - # Branch to glabel. This gives confusing output, but there's not much - # we can do here. - pass else: - assert False, f"unknown relocation type '{row}' for line '{prev}'" + assert "R_MIPS_26" in row, f"unknown relocation type '{row}'" return before + repl + after -def process_ppc_reloc(row: str, prev: str) -> str: - assert any(r in row for r in ["R_PPC_REL24", "R_PPC_ADDR16", "R_PPC_EMB_SDA21"]), f"unknown relocation type '{row}' for line '{prev}'" - before, imm, after = parse_relocated_line(prev) - repl = row.split()[-1] - if "R_PPC_REL24" in row: - # function calls - pass - elif "R_PPC_ADDR16_HI" in row: - # absolute hi of addr - repl = f"{repl}@h" - elif "R_PPC_ADDR16_HA" in row: - # adjusted hi of addr - repl = f"{repl}@ha" - elif "R_PPC_ADDR16_LO" in row: - # lo of addr - repl = f"{repl}@l" - elif "R_PPC_ADDR16" in row: - # 16-bit absolute addr - if "+0x7" in repl: - # remove the very large addends as they are an artifact of (label-_SDA(2)_BASE_) - # computations and are unimportant in a diff setting. - if int(repl.split("+")[1],16) > 0x70000000: - repl = repl.split("+")[0] - elif "R_PPC_EMB_SDA21" in row: - # small data area - pass - return before + repl + after - - -def pad_mnemonic(line: str) -> str: +def pad_mnemonic(line): if "\t" not in line: return line mn, args = line.split("\t", 1) @@ -811,82 +612,13 @@ class Line(NamedTuple): mnemonic: str diff_row: str original: str - normalized_original: str line_num: str branch_target: Optional[str] source_lines: List[str] comment: Optional[str] -class DifferenceNormalizer: - def normalize(self, mnemonic: str, row: str) -> str: - """This should be called exactly once for each line.""" - row = self._normalize_arch_specific(mnemonic, row) - if args.ignore_large_imms: - row = re.sub(re_large_imm, "", row) - return row - - def _normalize_arch_specific(self, mnemonic: str, row: str) -> str: - return row - - -class DifferenceNormalizerAArch64(DifferenceNormalizer): - def __init__(self) -> None: - super().__init__() - self._adrp_pair_registers: Set[str] = set() - - def _normalize_arch_specific(self, mnemonic: str, row: str) -> str: - if args.ignore_addr_diffs: - row = self._normalize_adrp_differences(mnemonic, row) - row = self._normalize_bl(mnemonic, row) - return row - - def _normalize_bl(self, mnemonic: str, row: str) -> str: - if mnemonic != "bl": - return row - - row, _ = split_off_branch(row) - return row - - def _normalize_adrp_differences(self, mnemonic: str, row: str) -> str: - """Identifies ADRP + LDR/ADD pairs that are used to access the GOT and - suppresses any immediate differences. - - Whenever an ADRP is seen, the destination register is added to the set of registers - that are part of an ADRP + LDR/ADD pair. Registers are removed from the set as soon - as they are used for an LDR or ADD instruction which completes the pair. - - This method is somewhat crude but should manage to detect most such pairs. - """ - row_parts = row.split("\t", 1) - if mnemonic == "adrp": - self._adrp_pair_registers.add(row_parts[1].strip().split(",")[0]) - row, _ = split_off_branch(row) - elif mnemonic == "ldr": - for reg in self._adrp_pair_registers: - # ldr xxx, [reg] - # ldr xxx, [reg, ] - if f", [{reg}" in row_parts[1]: - self._adrp_pair_registers.remove(reg) - return normalize_imms(row) - elif mnemonic == "add": - for reg in self._adrp_pair_registers: - # add reg, reg, - if row_parts[1].startswith(f"{reg}, {reg}, "): - self._adrp_pair_registers.remove(reg) - return normalize_imms(row) - - return row - - -def make_difference_normalizer() -> DifferenceNormalizer: - if arch == "aarch64": - return DifferenceNormalizerAArch64() - return DifferenceNormalizer() - - -def process(lines: List[str]) -> List[Line]: - normalizer = make_difference_normalizer() +def process(lines): skip_next = False source_lines = [] if not args.diff_obj: @@ -894,7 +626,7 @@ def process(lines: List[str]) -> List[Line]: if lines and not lines[-1]: lines.pop() - output: List[Line] = [] + output = [] stop_after_delay_slot = False for row in lines: if args.diff_obj and (">:" in row or not row): @@ -916,11 +648,6 @@ def process(lines: List[str]) -> List[Line]: output[-1] = output[-1]._replace(original=new_original) continue - if "R_PPC_" in row: - new_original = process_ppc_reloc(row, output[-1].original) - output[-1] = output[-1]._replace(original=new_original) - continue - m_comment = re.search(re_comment, row) comment = m_comment[0] if m_comment else None row = re.sub(re_comment, "", row) @@ -928,18 +655,11 @@ def process(lines: List[str]) -> List[Line]: tabs = row.split("\t") row = "\t".join(tabs[2:]) line_num = tabs[0].strip() - - if "\t" in row: - row_parts = row.split("\t", 1) - else: - # powerpc-eabi-objdump doesn't use tabs - row_parts = [part.lstrip() for part in row.split(" ", 1)] + row_parts = row.split("\t", 1) mnemonic = row_parts[0].strip() - if mnemonic not in instructions_with_address_immediates: - row = re.sub(re_int, lambda m: hexify_int(row, m), row) + row = re.sub(re_int, lambda s: hexify_int(row, s), row) original = row - normalized_original = normalizer.normalize(mnemonic, original) if skip_next: skip_next = False row = "" @@ -958,17 +678,16 @@ def process(lines: List[str]) -> List[Line]: branch_target = None if mnemonic in branch_instructions: - target = int(row_parts[1].strip().split(",")[-1], 16) + target = row_parts[1].strip().split(",")[-1] if mnemonic in branch_likely_instructions: - target -= 4 - branch_target = hex(target)[2:] + target = hex(int(target, 16) - 4)[2:] + branch_target = target.strip() output.append( Line( mnemonic=mnemonic, diff_row=row, original=original, - normalized_original=normalized_original, line_num=line_num, branch_target=branch_target, source_lines=source_lines, @@ -985,18 +704,16 @@ def process(lines: List[str]) -> List[Line]: return output -def format_single_line_diff(line1: str, line2: str, column_width: int) -> str: - return ansi_ljust(line1, column_width) + line2 +def format_single_line_diff(line1, line2, column_width): + return f"{ansi_ljust(line1,column_width)}{line2}" class SymbolColorer: - symbol_colors: Dict[str, str] - - def __init__(self, base_index: int) -> None: + def __init__(self, base_index): self.color_index = base_index self.symbol_colors = {} - def color_symbol(self, s: str, t: Optional[str] = None) -> str: + def color_symbol(self, s, t=None): try: color = self.symbol_colors[s] except: @@ -1007,54 +724,59 @@ class SymbolColorer: return f"{color}{t}{Fore.RESET}" -def normalize_imms(row: str) -> str: +def maybe_normalize_large_imms(row): + if args.ignore_large_imms: + row = re.sub(re_large_imm, "", row) + return row + + +def normalize_imms(row): return re.sub(re_imm, "", row) -def normalize_stack(row: str) -> str: +def normalize_stack(row): return re.sub(re_sprel, "addr(sp)", row) -def split_off_branch(line: str) -> Tuple[str, str]: +def split_off_branch(line): parts = line.split(",") if len(parts) < 2: parts = line.split(None, 1) off = len(line) - len(parts[-1]) return line[:off], line[off:] -ColorFunction = Callable[[str], str] -def color_fields(pat: Pattern[str], out1: str, out2: str, color1: ColorFunction, color2: Optional[ColorFunction]=None) -> Tuple[str, str]: - diffs = [of.group() != nf.group() for (of, nf) in zip(pat.finditer(out1), pat.finditer(out2))] +def color_imms(out1, out2): + g1 = [] + g2 = [] + re.sub(re_imm, lambda s: g1.append(s.group()), out1) + re.sub(re_imm, lambda s: g2.append(s.group()), out2) + if len(g1) == len(g2): + diffs = [x != y for (x, y) in zip(g1, g2)] + it = iter(diffs) - it = iter(diffs) - def maybe_color(color: ColorFunction, s: str) -> str: - return color(s) if next(it, False) else f"{Style.RESET_ALL}{s}" - - out1 = pat.sub(lambda m: maybe_color(color1, m.group()), out1) - it = iter(diffs) - out2 = pat.sub(lambda m: maybe_color(color2 or color1, m.group()), out2) + def maybe_color(s): + return f"{Fore.LIGHTBLUE_EX}{s}{Style.RESET_ALL}" if next(it) else s + out1 = re.sub(re_imm, lambda s: maybe_color(s.group()), out1) + it = iter(diffs) + out2 = re.sub(re_imm, lambda s: maybe_color(s.group()), out2) return out1, out2 -def color_branch_imms(br1: str, br2: str) -> Tuple[str, str]: +def color_branch_imms(br1, br2): if br1 != br2: br1 = f"{Fore.LIGHTBLUE_EX}{br1}{Style.RESET_ALL}" br2 = f"{Fore.LIGHTBLUE_EX}{br2}{Style.RESET_ALL}" return br1, br2 -def diff_sequences_difflib( - seq1: List[str], seq2: List[str] -) -> List[Tuple[str, int, int, int, int]]: +def diff_sequences_difflib(seq1, seq2): differ = difflib.SequenceMatcher(a=seq1, b=seq2, autojunk=False) return differ.get_opcodes() -def diff_sequences( - seq1: List[str], seq2: List[str] -) -> List[Tuple[str, int, int, int, int]]: +def diff_sequences(seq1, seq2): if ( args.algorithm != "levenshtein" or len(seq1) * len(seq2) > 4 * 10 ** 8 @@ -1064,9 +786,9 @@ def diff_sequences( # The Levenshtein library assumes that we compare strings, not lists. Convert. # (Per the check above we know we have fewer than 0x110000 unique elements, so chr() works.) - remapping: Dict[str, str] = {} + remapping = {} - def remap(seq: List[str]) -> str: + def remap(seq): seq = seq[:] for i in range(len(seq)): val = remapping.get(seq[i]) @@ -1076,41 +798,17 @@ def diff_sequences( seq[i] = val return "".join(seq) - rem1 = remap(seq1) - rem2 = remap(seq2) - return Levenshtein.opcodes(rem1, rem2) # type: ignore - - -def diff_lines( - lines1: List[Line], - lines2: List[Line], -) -> List[Tuple[Optional[Line], Optional[Line]]]: - ret = [] - for (tag, i1, i2, j1, j2) in diff_sequences( - [line.mnemonic for line in lines1], - [line.mnemonic for line in lines2], - ): - for line1, line2 in itertools.zip_longest(lines1[i1:i2], lines2[j1:j2]): - if tag == "replace": - if line1 is None: - tag = "insert" - elif line2 is None: - tag = "delete" - elif tag == "insert": - assert line1 is None - elif tag == "delete": - assert line2 is None - ret.append((line1, line2)) - - return ret + seq1 = remap(seq1) + seq2 = remap(seq2) + return Levenshtein.opcodes(seq1, seq2) class OutputLine: base: Optional[str] fmt2: str - key2: Optional[str] + key2: str - def __init__(self, base: Optional[str], fmt2: str, key2: Optional[str]) -> None: + def __init__(self, base: Optional[str], fmt2: str, key2: str) -> None: self.base = base self.fmt2 = fmt2 self.key2 = key2 @@ -1150,128 +848,141 @@ def do_diff(basedump: str, mydump: str) -> List[OutputLine]: btset.add(bt + ":") sc.color_symbol(bt + ":") - for (line1, line2) in diff_lines(lines1, lines2): - line_color1 = line_color2 = sym_color = Fore.RESET - line_prefix = " " - if line1 and line2 and line1.diff_row == line2.diff_row: - if line1.normalized_original == line2.normalized_original: + for (tag, i1, i2, j1, j2) in diff_sequences( + [line.mnemonic for line in lines1], [line.mnemonic for line in lines2] + ): + for line1, line2 in itertools.zip_longest(lines1[i1:i2], lines2[j1:j2]): + if tag == "replace": + if line1 is None: + tag = "insert" + elif line2 is None: + tag = "delete" + elif tag == "insert": + assert line1 is None + elif tag == "delete": + assert line2 is None + + line_color1 = line_color2 = sym_color = Fore.RESET + line_prefix = " " + if line1 and line2 and line1.diff_row == line2.diff_row: + if maybe_normalize_large_imms( + line1.original + ) == maybe_normalize_large_imms(line2.original): + out1 = line1.original + out2 = line2.original + elif line1.diff_row == "": + out1 = f"{Style.BRIGHT}{Fore.LIGHTBLACK_EX}{line1.original}" + out2 = f"{Style.BRIGHT}{Fore.LIGHTBLACK_EX}{line2.original}" + else: + mnemonic = line1.original.split()[0] + out1, out2 = line1.original, line2.original + branch1 = branch2 = "" + if mnemonic in instructions_with_address_immediates: + out1, branch1 = split_off_branch(line1.original) + out2, branch2 = split_off_branch(line2.original) + branchless1 = out1 + branchless2 = out2 + out1, out2 = color_imms(out1, out2) + + same_relative_target = False + if line1.branch_target is not None and line2.branch_target is not None: + relative_target1 = eval_line_num(line1.branch_target) - eval_line_num(line1.line_num) + relative_target2 = eval_line_num(line2.branch_target) - eval_line_num(line2.line_num) + same_relative_target = relative_target1 == relative_target2 + + if not same_relative_target: + branch1, branch2 = color_branch_imms(branch1, branch2) + + out1 += branch1 + out2 += branch2 + if normalize_imms(branchless1) == normalize_imms(branchless2): + if not same_relative_target: + # only imms differences + sym_color = Fore.LIGHTBLUE_EX + line_prefix = "i" + else: + out1 = re.sub( + re_sprel, lambda s: sc3.color_symbol(s.group()), out1, + ) + out2 = re.sub( + re_sprel, lambda s: sc4.color_symbol(s.group()), out2, + ) + if normalize_stack(branchless1) == normalize_stack(branchless2): + # only stack differences (luckily stack and imm + # differences can't be combined in MIPS, so we + # don't have to think about that case) + sym_color = Fore.YELLOW + line_prefix = "s" + else: + # regs differences and maybe imms as well + out1 = re.sub( + re_reg, lambda s: sc1.color_symbol(s.group()), out1 + ) + out2 = re.sub( + re_reg, lambda s: sc2.color_symbol(s.group()), out2 + ) + line_color1 = line_color2 = sym_color = Fore.YELLOW + line_prefix = "r" + elif line1 and line2: + line_prefix = "|" + line_color1 = Fore.LIGHTBLUE_EX + line_color2 = Fore.LIGHTBLUE_EX + sym_color = Fore.LIGHTBLUE_EX out1 = line1.original out2 = line2.original - elif line1.diff_row == "": - out1 = f"{Style.BRIGHT}{Fore.LIGHTBLACK_EX}{line1.original}" - out2 = f"{Style.BRIGHT}{Fore.LIGHTBLACK_EX}{line2.original}" - else: - mnemonic = line1.original.split()[0] - out1, out2 = line1.original, line2.original - branch1 = branch2 = "" - if mnemonic in instructions_with_address_immediates: - out1, branch1 = split_off_branch(line1.original) - out2, branch2 = split_off_branch(line2.original) - branchless1 = out1 - branchless2 = out2 - out1, out2 = color_fields(re_imm, out1, out2, lambda s: f"{Fore.LIGHTBLUE_EX}{s}{Style.RESET_ALL}") + elif line1: + line_prefix = "<" + line_color1 = sym_color = Fore.RED + out1 = line1.original + out2 = "" + elif line2: + line_prefix = ">" + line_color2 = sym_color = Fore.GREEN + out1 = "" + out2 = line2.original - same_relative_target = False - if line1.branch_target is not None and line2.branch_target is not None: - relative_target1 = eval_line_num(line1.branch_target) - eval_line_num(line1.line_num) - relative_target2 = eval_line_num(line2.branch_target) - eval_line_num(line2.line_num) - same_relative_target = relative_target1 == relative_target2 + if args.source and line2 and line2.comment: + out2 += f" {line2.comment}" - if not same_relative_target: - branch1, branch2 = color_branch_imms(branch1, branch2) + def format_part(out: str, line: Optional[Line], line_color: str, btset: Set[str], sc: SymbolColorer) -> Optional[str]: + if line is None: + return None + in_arrow = " " + out_arrow = "" + if args.show_branches: + if line.line_num in btset: + in_arrow = sc.color_symbol(line.line_num, "~>") + line_color + if line.branch_target is not None: + out_arrow = " " + sc.color_symbol(line.branch_target + ":", "~>") + out = pad_mnemonic(out) + return f"{line_color}{line.line_num} {in_arrow} {out}{Style.RESET_ALL}{out_arrow}" - out1 += branch1 - out2 += branch2 - if normalize_imms(branchless1) == normalize_imms(branchless2): - if not same_relative_target: - # only imms differences - sym_color = Fore.LIGHTBLUE_EX - line_prefix = "i" - else: - out1, out2 = color_fields(re_sprel, out1, out2, sc3.color_symbol, sc4.color_symbol) - if normalize_stack(branchless1) == normalize_stack(branchless2): - # only stack differences (luckily stack and imm - # differences can't be combined in MIPS, so we - # don't have to think about that case) - sym_color = Fore.YELLOW - line_prefix = "s" - else: - # regs differences and maybe imms as well - out1, out2 = color_fields(re_reg, out1, out2, sc1.color_symbol, sc2.color_symbol) - line_color1 = line_color2 = sym_color = Fore.YELLOW - line_prefix = "r" - elif line1 and line2: - line_prefix = "|" - line_color1 = Fore.LIGHTBLUE_EX - line_color2 = Fore.LIGHTBLUE_EX - sym_color = Fore.LIGHTBLUE_EX - out1 = line1.original - out2 = line2.original - elif line1: - line_prefix = "<" - line_color1 = sym_color = Fore.RED - out1 = line1.original - out2 = "" - elif line2: - line_prefix = ">" - line_color2 = sym_color = Fore.GREEN - out1 = "" - out2 = line2.original + part1 = format_part(out1, line1, line_color1, bts1, sc5) + part2 = format_part(out2, line2, line_color2, bts2, sc6) + key2 = line2.original if line2 else "" - if args.source and line2 and line2.comment: - out2 += f" {line2.comment}" + mid = f"{sym_color}{line_prefix}" - def format_part( - out: str, - line: Optional[Line], - line_color: str, - btset: Set[str], - sc: SymbolColorer, - ) -> Optional[str]: - if line is None: - return None - in_arrow = " " - out_arrow = "" - if args.show_branches: - if line.line_num in btset: - in_arrow = sc.color_symbol(line.line_num, "~>") + line_color - if line.branch_target is not None: - out_arrow = " " + sc.color_symbol(line.branch_target + ":", "~>") - out = pad_mnemonic(out) - return f"{line_color}{line.line_num} {in_arrow} {out}{Style.RESET_ALL}{out_arrow}" + if line2: + for source_line in line2.source_lines: + color = Style.DIM + # File names and function names + if source_line and source_line[0] != "|": + color += Style.BRIGHT + # Function names + if source_line.endswith("():"): + # Underline. Colorama does not provide this feature, unfortunately. + color += "\u001b[4m" + try: + source_line = cxxfilt.demangle( + source_line[:-3], external_only=False + ) + except: + pass + output.append(OutputLine(None, f" {color}{source_line}{Style.RESET_ALL}", source_line)) - part1 = format_part(out1, line1, line_color1, bts1, sc5) - part2 = format_part(out2, line2, line_color2, bts2, sc6) - key2 = line2.original if line2 else None - - mid = f"{sym_color}{line_prefix}" - - if line2: - for source_line in line2.source_lines: - color = Style.DIM - # File names and function names - if source_line and source_line[0] != "│": - color += Style.BRIGHT - # Function names - if source_line.endswith("():"): - # Underline. Colorama does not provide this feature, unfortunately. - color += "\u001b[4m" - try: - source_line = cxxfilt.demangle( - source_line[:-3], external_only=False - ) - except: - pass - output.append( - OutputLine( - None, - f" {color}{source_line}{Style.RESET_ALL}", - source_line, - ) - ) - - fmt2 = mid + " " + (part2 or "") - output.append(OutputLine(part1, fmt2, key2)) + fmt2 = mid + " " + (part2 or "") + output.append(OutputLine(part1, fmt2, key2)) return output @@ -1290,14 +1001,12 @@ def chunk_diff(diff: List[OutputLine]) -> List[Union[List[OutputLine], OutputLin return chunks -def format_diff( - old_diff: List[OutputLine], new_diff: List[OutputLine] -) -> Tuple[str, List[str]]: +def format_diff(old_diff: List[OutputLine], new_diff: List[OutputLine]) -> Tuple[str, List[str]]: old_chunks = chunk_diff(old_diff) new_chunks = chunk_diff(new_diff) output: List[Tuple[str, OutputLine, OutputLine]] = [] assert len(old_chunks) == len(new_chunks), "same target" - empty = OutputLine("", "", None) + empty = OutputLine("", "", "") for old_chunk, new_chunk in zip(old_chunks, new_chunks): if isinstance(old_chunk, list): assert isinstance(new_chunk, list) @@ -1310,19 +1019,18 @@ def format_diff( if tag in ["equal", "replace"]: for i, j in zip(range(i1, i2), range(j1, j2)): output.append(("", old_chunk[i], new_chunk[j])) - if tag in ["insert", "replace"]: - for j in range(j1 + i2 - i1, j2): + elif tag == "insert": + for j in range(j1, j2): output.append(("", empty, new_chunk[j])) - if tag in ["delete", "replace"]: - for i in range(i1 + j2 - j1, i2): + else: + for i in range(i1, i2): output.append(("", old_chunk[i], empty)) else: assert isinstance(new_chunk, OutputLine) - assert new_chunk.base # old_chunk.base and new_chunk.base have the same text since # both diffs are based on the same target, but they might # differ in color. Use the new version. - output.append((new_chunk.base, old_chunk, new_chunk)) + output.append((new_chunk.base or "", old_chunk, new_chunk)) # TODO: status line, with e.g. approximate permuter score? width = args.column_width @@ -1339,35 +1047,29 @@ def format_diff( diff_lines = [ ansi_ljust(base, width) + new.fmt2 for (base, old, new) in output - if base or new.key2 is not None + if base or new.key2 ] return header_line, diff_lines -def debounced_fs_watch( - targets: List[str], - outq: "queue.Queue[Optional[float]]", - debounce_delay: float, -) -> None: +def debounced_fs_watch(targets, outq, debounce_delay): import watchdog.events # type: ignore import watchdog.observers # type: ignore - class WatchEventHandler(watchdog.events.FileSystemEventHandler): # type: ignore - def __init__( - self, queue: "queue.Queue[float]", file_targets: List[str] - ) -> None: + class WatchEventHandler(watchdog.events.FileSystemEventHandler): + def __init__(self, queue, file_targets): self.queue = queue self.file_targets = file_targets - def on_modified(self, ev: object) -> None: + def on_modified(self, ev): if isinstance(ev, watchdog.events.FileModifiedEvent): self.changed(ev.src_path) - def on_moved(self, ev: object) -> None: + def on_moved(self, ev): if isinstance(ev, watchdog.events.FileMovedEvent): self.changed(ev.dest_path) - def should_notify(self, path: str) -> bool: + def should_notify(self, path): for target in self.file_targets: if path == target: return True @@ -1377,13 +1079,13 @@ def debounced_fs_watch( return True return False - def changed(self, path: str) -> None: + def changed(self, path): if self.should_notify(path): self.queue.put(time.time()) - def debounce_thread() -> NoReturn: - listenq: "queue.Queue[float]" = queue.Queue() - file_targets: List[str] = [] + def debounce_thread(): + listenq = queue.Queue() + file_targets = [] event_handler = WatchEventHandler(listenq, file_targets) observer = watchdog.observers.Observer() observed = set() @@ -1419,29 +1121,19 @@ def debounced_fs_watch( class Display: - basedump: str - mydump: str - emsg: Optional[str] - last_diff_output: Optional[List[OutputLine]] - pending_update: Optional[Tuple[str, bool]] - ready_queue: "queue.Queue[None]" - watch_queue: "queue.Queue[Optional[float]]" - less_proc: "Optional[subprocess.Popen[bytes]]" - - def __init__(self, basedump: str, mydump: str) -> None: + def __init__(self, basedump, mydump): self.basedump = basedump self.mydump = mydump self.emsg = None self.last_diff_output = None - def run_less(self) -> "Tuple[subprocess.Popen[bytes], subprocess.Popen[bytes]]": + def run_less(self): if self.emsg is not None: output = self.emsg else: diff_output = do_diff(self.basedump, self.mydump) last_diff_output = self.last_diff_output or diff_output - if args.threeway != "base" or not self.last_diff_output: - self.last_diff_output = diff_output + self.last_diff_output = diff_output header, diff_lines = format_diff(last_diff_output, diff_output) header_lines = [header] if header else [] output = "\n".join(header_lines + diff_lines[args.skip_lines :]) @@ -1454,19 +1146,17 @@ class Display: BUFFER_CMD, stdin=subprocess.PIPE, stdout=subprocess.PIPE ) less_proc = subprocess.Popen(LESS_CMD, stdin=buffer_proc.stdout) - assert buffer_proc.stdin - assert buffer_proc.stdout buffer_proc.stdin.write(output.encode()) buffer_proc.stdin.close() buffer_proc.stdout.close() return (buffer_proc, less_proc) - def run_sync(self) -> None: + def run_sync(self): proca, procb = self.run_less() procb.wait() proca.wait() - def run_async(self, watch_queue: "queue.Queue[Optional[float]]") -> None: + def run_async(self, watch_queue): self.watch_queue = watch_queue self.ready_queue = queue.Queue() self.pending_update = None @@ -1474,10 +1164,10 @@ class Display: dthread.start() self.ready_queue.get() - def display_thread(self) -> None: + def display_thread(self): proca, procb = self.run_less() self.less_proc = procb - self.ready_queue.put(None) + self.ready_queue.put(0) while True: ret = procb.wait() proca.wait() @@ -1496,19 +1186,19 @@ class Display: self.emsg = msg proca, procb = self.run_less() self.less_proc = procb - self.ready_queue.put(None) + self.ready_queue.put(0) else: # terminated by user, or killed self.watch_queue.put(None) - self.ready_queue.put(None) + self.ready_queue.put(0) break - def progress(self, msg: str) -> None: + def progress(self, msg): # Write message to top-left corner sys.stdout.write("\x1b7\x1b[1;1f{}\x1b8".format(msg + " ")) sys.stdout.flush() - def update(self, text: str, error: bool) -> None: + def update(self, text, error): if not error and not self.emsg and text == self.mydump: self.progress("Unchanged. ") return @@ -1518,14 +1208,14 @@ class Display: self.less_proc.kill() self.ready_queue.get() - def terminate(self) -> None: + def terminate(self): if not self.less_proc: return self.less_proc.kill() self.ready_queue.get() -def main() -> None: +def main(): if args.diff_elf_symbol: make_target, basecmd, mycmd = dump_elf() elif args.diff_obj: @@ -1533,10 +1223,6 @@ def main() -> None: else: make_target, basecmd, mycmd = dump_binary() - map_build_target_fn = getattr(diff_settings, "map_build_target", None) - if map_build_target_fn: - make_target = map_build_target_fn(make_target=make_target) - if args.write_asm is not None: mydump = run_objdump(mycmd) with open(args.write_asm, "w") as f: @@ -1559,27 +1245,23 @@ def main() -> None: else: if not args.make: yn = input( - "Warning: watch-mode (-w) enabled without auto-make (-m). " - "You will have to run make manually. Ok? (Y/n) " + "Warning: watch-mode (-w) enabled without auto-make (-m). You will have to run make manually. Ok? (Y/n) " ) if yn.lower() == "n": return if args.make: watch_sources = None - watch_sources_for_target_fn = getattr( - diff_settings, "watch_sources_for_target", None - ) - if watch_sources_for_target_fn: - watch_sources = watch_sources_for_target_fn(make_target) + if hasattr(diff_settings, "watch_sources_for_target"): + watch_sources = diff_settings.watch_sources_for_target(make_target) watch_sources = watch_sources or source_directories if not watch_sources: fail("Missing source_directories config, don't know what to watch.") else: watch_sources = [make_target] - q: "queue.Queue[Optional[float]]" = queue.Queue() + q = queue.Queue() debounced_fs_watch(watch_sources, q, DEBOUNCE_DELAY) display.run_async(q) - last_build = 0.0 + last_build = 0 try: while True: t = q.get() @@ -1590,7 +1272,7 @@ def main() -> None: last_build = time.time() if args.make: display.progress("Building...") - ret = run_make_capture_output(make_target) + ret = run_make(make_target, capture_output=True) if ret.returncode != 0: display.update( ret.stderr.decode("utf-8-sig", "replace") diff --git a/tools/asm-differ/diff_settings.py b/tools/asm-differ/diff_settings.py index 0c4e650056..b9d88fe6cf 100644 --- a/tools/asm-differ/diff_settings.py +++ b/tools/asm-differ/diff_settings.py @@ -1,10 +1,7 @@ +#!/usr/bin/env python3 + def apply(config, args): - config["baseimg"] = "target.bin" - config["myimg"] = "source.bin" - config["mapfile"] = "build.map" - config["source_directories"] = ["."] - #config["arch"] = "mips" - #config["map_format"] = "gnu" # gnu or mw - #config["mw_build_dir"] = "build/" # only needed for mw map format - #config["makeflags"] = [] - #config["objdump_executable"] = "" + config['baseimg'] = 'target.bin' + config['myimg'] = 'source.bin' + config['mapfile'] = 'build.map' + config['source_directories'] = ['.'] diff --git a/tools/asm-differ/screenshot.png b/tools/asm-differ/screenshot.png deleted file mode 100644 index 3230555328..0000000000 Binary files a/tools/asm-differ/screenshot.png and /dev/null differ diff --git a/tools/asm-processor/.gitignore b/tools/asm-processor/.gitignore deleted file mode 100644 index 5761abcfdf..0000000000 --- a/tools/asm-processor/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.o diff --git a/tools/asm-processor/LICENSE b/tools/asm-processor/LICENSE deleted file mode 100644 index cf1ab25da0..0000000000 --- a/tools/asm-processor/LICENSE +++ /dev/null @@ -1,24 +0,0 @@ -This is free and unencumbered software released into the public domain. - -Anyone is free to copy, modify, publish, use, compile, sell, or -distribute this software, either in source code form or as a compiled -binary, for any purpose, commercial or non-commercial, and by any -means. - -In jurisdictions that recognize copyright laws, the author or authors -of this software dedicate any and all copyright interest in the -software to the public domain. We make this dedication for the benefit -of the public at large and to the detriment of our heirs and -successors. We intend this dedication to be an overt act of -relinquishment in perpetuity of all present and future rights to this -software under copyright law. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR -OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - -For more information, please refer to diff --git a/tools/asm-processor/README.md b/tools/asm-processor/README.md deleted file mode 100644 index 8bcca4acb6..0000000000 --- a/tools/asm-processor/README.md +++ /dev/null @@ -1,93 +0,0 @@ -# asm-processor - -Pre-process .c files and post-process .o files to enable embedding MIPS assembly into IDO-compiled C. - -## Usage - -Let's say you have a file compiled with `-g` on the IDO compiler, that looks like this: -```c -float func4(void) { - "func4"; - return 0.2f; -} -``` - -This script enables replacing it by: -```asm -GLOBAL_ASM( -.rdata -.word 0x66756e63 # func -.word 0x34000000 # 4\0\0\0 - -.late_rodata -glabel rv -.word 0x3e4ccccd # 0.2f - -.text -glabel func4 -lui $at, %hi(rv) -jr $ra -lwc1 $f0, %lo(rv)($at) -jr $ra -nop -jr $ra -nop -) -``` - -To compile the file, run `./compile.sh file.c`, or invoke the `asm_processor.py` script in a similar manner. (`compile.sh` is mostly just intended to describe example usage.) - -Reading assembly from file is also supported, e.g. `GLOBAL_ASM("file.s")`. - -### What is supported? - -`.text`, `.data`, `.bss` and `.rodata` sections, `.word`/`.incbin`, `.ascii`/`.asciz`, and `-g`, `-g3`, `-O1`, `-O2` and `-framepointer` flags to the IDO compiler. - -### What is not supported? - -* complicated assembly (.ifdef, macro declarations/calls other than `glabel`, pseudo-instructions that expand to several real instructions) -* non-IDO compilers -* `-mips1` (`-mips3` may also not work fully) - -C `#ifdef`s only work outside of `GLOBAL_ASM` calls, but is otherwise able to replace `.ifdef`. - -### What's up with "late rodata"? - -The IDO compiler emits rodata in two passes: first array/string contents, then large literals/switch jump tables. - -Data declared within `.rdata`/`.section .rodata` will end up in the first half, and `.late_rodata`/`.section .late_rodata` in the second half. - -### How does it work? - -It's a bit of a hack! -The basic idea is replace `GLOBAL_ASM` blocks with dummy C functions/global vars of the same sections sizes as the assembly. -Then the C file gets compiled, and the dummy contents overwritten with the injected assembly. - -To accomplish this, asm-processor has logic for guessing the size of assembly contents -(which assumes the assembly isn't too complicated, e.g. no macros), -and for emitting C code of exact sizes for a bunch of different IDO compiler flags. - -The assembler code is padded with nops to line it up with its correct position in the C; -this allows C and asm ELF files to be merged easily without having to fix up e.g. symbol addresses. - -The most difficulty part is `late_rodata`, which is hard to create programmatically. -asm-processor does that by emitting code that uses dummy float literals/double literals/jump tables, -assembles the late_rodata at another location of the .rodata section, then overwrites the dummy rodata. -This does require some movement of symbols and relocations, and quite a bit of care in what code to -emit and how to preserve .double alignment. - -It's worth noting some alternative ways in which asm-processor would have been implemented: -- One idea to get rid of the C/asm size estimations is to emit arbitrary code, and then move code, -symbols and relocations to the correct place after the sizes are known. -Given the machinery for `late_rodata` this wouldn't have been too difficult, and it would have the upside of improved portability. -There is a big downside, however: using dummy code of incorrect size throws off alignment and can introduce unintended padding. -Fixing this would require running multiple passes of asm-processor, with one compile per `ASM_GLOBAL`. -- Another idea is to run the compiler with -S to emit assembly, modify the emitted assembly, then run the assembler -(which in IDO's case may perform additional instruction reordering etc.). -This option has not been investigated in much detail, and would perhaps be superior to the current implementation. -It does have a few unknowns to it, e.g. instruction encoding differences between GNU `as` and IDO's assembler, -how to avoid reordering the injected assembly, and how .rodata/.late_rodata are implemented. - -### Testing - -There are a few tests to ensure you don't break anything when hacking on asm-processor: `./run-tests.sh` should exit without output if they pass, or else output a diff from previous to new version. diff --git a/tools/asm-processor/add-test.sh b/tools/asm-processor/add-test.sh deleted file mode 100755 index 66b8a02913..0000000000 --- a/tools/asm-processor/add-test.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env bash -for A in "$@"; do - ./compile.sh "$A" && mips-linux-gnu-objdump -s "${A%.c}.o" > "${A%.c}.objdump" -done diff --git a/tools/asm-processor/asm_processor.py b/tools/asm-processor/asm_processor.py index 5fe0980c40..302668d7de 100644 --- a/tools/asm-processor/asm_processor.py +++ b/tools/asm-processor/asm_processor.py @@ -380,7 +380,7 @@ class Failure(Exception): class GlobalState: - def __init__(self, min_instr_count, skip_instr_count, use_jtbl_for_rodata, mips1): + def __init__(self, min_instr_count, skip_instr_count, use_jtbl_for_rodata): # A value that hopefully never appears as a 32-bit rodata constant (or we # miscompile late rodata). Increases by 1 in each step. self.late_rodata_hex = 0xE0123456 @@ -388,7 +388,6 @@ class GlobalState: self.min_instr_count = min_instr_count self.skip_instr_count = skip_instr_count self.use_jtbl_for_rodata = use_jtbl_for_rodata - self.mips1 = mips1 def next_late_rodata_hex(self): dummy_bytes = struct.pack('>I', self.late_rodata_hex) @@ -609,13 +608,12 @@ class GlobalAsmBlock: size = self.fn_section_sizes['.late_rodata'] // 4 skip_next = False needs_double = (self.late_rodata_alignment != 0) - extra_mips1_nop = False for i in range(size): if skip_next: skip_next = False continue - # Jump tables give 9 instructions (11 with -mips1) for >= 5 words of rodata, - # and should be emitted when: + # Jump tables give 9 instructions for >= 5 words of rodata, and should be + # emitted when: # - -O2 or -O2 -g3 are used, which give the right codegen # - we have emitted our first .float/.double (to ensure that we find the # created rodata in the binary) @@ -625,14 +623,12 @@ class GlobalAsmBlock: # generate a jump table) # - we have at least 10 more instructions to go in this function (otherwise our # function size computation will be wrong since the delay slot goes unused) - jtbl_size = 11 if state.mips1 else 9 if (not needs_double and state.use_jtbl_for_rodata and i >= 1 and - size - i >= 5 and num_instr - len(late_rodata_fn_output) >= jtbl_size + 1): + size - i >= 5 and num_instr - len(late_rodata_fn_output) >= 10): cases = " ".join("case {}:".format(case) for case in range(size - i)) late_rodata_fn_output.append("switch (*(volatile int*)0) { " + cases + " ; }") - late_rodata_fn_output.extend([""] * (jtbl_size - 1)) + late_rodata_fn_output.extend([""] * 8) jtbl_rodata_size = (size - i) * 4 - extra_mips1_nop = True break dummy_bytes = state.next_late_rodata_hex() late_rodata_dummy_bytes.append(dummy_bytes) @@ -642,20 +638,12 @@ class GlobalAsmBlock: fval, = struct.unpack('>d', dummy_bytes + dummy_bytes2) late_rodata_fn_output.append('*(volatile double*)0 = {};'.format(fval)) skip_next = True - needs_double = False - if state.mips1: - # mips1 does not have ldc1/sdc1 - late_rodata_fn_output.append('') - late_rodata_fn_output.append('') - extra_mips1_nop = False + needs_double = True else: fval, = struct.unpack('>f', dummy_bytes) late_rodata_fn_output.append('*(volatile float*)0 = {}f;'.format(fval)) - extra_mips1_nop = True late_rodata_fn_output.append('') late_rodata_fn_output.append('') - if state.mips1 and extra_mips1_nop: - late_rodata_fn_output.append('') text_name = None if self.fn_section_sizes['.text'] > 0 or late_rodata_fn_output: @@ -734,7 +722,7 @@ float_regexpr = re.compile(r"[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?f") def repl_float_hex(m): return str(struct.unpack(">I", struct.pack(">f", float(m.group(0).strip().rstrip("f"))))[0]) -def parse_source(f, opt, framepointer, mips1, input_enc, output_enc, out_dependencies, print_source=None): +def parse_source(f, opt, framepointer, input_enc, output_enc, out_dependencies, print_source=None): if opt in ['O2', 'O1']: if framepointer: min_instr_count = 6 @@ -763,7 +751,7 @@ def parse_source(f, opt, framepointer, mips1, input_enc, output_enc, out_depende if opt in ['O2', 'g3'] and not framepointer: use_jtbl_for_rodata = True - state = GlobalState(min_instr_count, skip_instr_count, use_jtbl_for_rodata, mips1) + state = GlobalState(min_instr_count, skip_instr_count, use_jtbl_for_rodata) global_asm = None asm_functions = [] @@ -815,7 +803,7 @@ def parse_source(f, opt, framepointer, mips1, input_enc, output_enc, out_depende out_dependencies.append(fname) include_src = StringIO() with open(fname, encoding=input_enc) as include_file: - parse_source(include_file, opt, framepointer, mips1, input_enc, output_enc, out_dependencies, include_src) + parse_source(include_file, opt, framepointer, input_enc, output_enc, out_dependencies, include_src) include_src.write('#line ' + str(line_no + 1) + ' "' + f.name + '"') output_lines[-1] = include_src.getvalue() include_src.close() @@ -1191,7 +1179,6 @@ def run_wrapped(argv, outfile, functions): parser.add_argument('--input-enc', default='latin1', help="Input encoding (default: latin1)") parser.add_argument('--output-enc', default='latin1', help="Output encoding (default: latin1)") parser.add_argument('-framepointer', dest='framepointer', action='store_true') - parser.add_argument('-mips1', dest='mips1', action='store_true') parser.add_argument('-g3', dest='g3', action='store_true') group = parser.add_mutually_exclusive_group(required=True) group.add_argument('-O1', dest='opt', action='store_const', const='O1') @@ -1203,20 +1190,18 @@ def run_wrapped(argv, outfile, functions): if opt != 'O2': raise Failure("-g3 is only supported together with -O2") opt = 'g3' - if args.mips1 and (opt != 'O2' or args.framepointer): - raise Failure("-mips1 is only supported together with -O2") if args.objfile is None: with open(args.filename, encoding=args.input_enc) as f: deps = [] - functions = parse_source(f, opt=opt, framepointer=args.framepointer, mips1=args.mips1, input_enc=args.input_enc, output_enc=args.output_enc, out_dependencies=deps, print_source=outfile) + functions = parse_source(f, opt=opt, framepointer=args.framepointer, input_enc=args.input_enc, output_enc=args.output_enc, out_dependencies=deps, print_source=outfile) return functions, deps else: if args.assembler is None: raise Failure("must pass assembler command") if functions is None: with open(args.filename, encoding=args.input_enc) as f: - functions = parse_source(f, opt=opt, framepointer=args.framepointer, mips1=args.mips1, input_enc=args.input_enc, out_dependencies=[], output_enc=args.output_enc) + functions = parse_source(f, opt=opt, framepointer=args.framepointer, input_enc=args.input_enc, out_dependencies=[], output_enc=args.output_enc) if not functions: return asm_prelude = b'' diff --git a/tools/asm-processor/build.py b/tools/asm-processor/build.py new file mode 100755 index 0000000000..493afd4d5f --- /dev/null +++ b/tools/asm-processor/build.py @@ -0,0 +1,64 @@ +#!/usr/bin/env python3 +import sys +import os +import shlex +import subprocess +import tempfile +import asm_processor + +dir_path = os.path.dirname(os.path.realpath(__file__)) +prelude = os.path.join(dir_path, "prelude.inc") + +all_args = sys.argv[1:] +sep1 = all_args.index('--') +sep2 = all_args.index('--', sep1+1) + +compiler = all_args[:sep1] + +assembler = all_args[sep1+1:sep2] +assembler_sh = ' '.join(shlex.quote(x) for x in assembler) + +compile_args = all_args[sep2+1:] +in_file = compile_args[-1] +out_ind = compile_args.index('-o') +out_file = compile_args[out_ind + 1] +del compile_args[-1] +del compile_args[out_ind + 1] +del compile_args[out_ind] + +in_dir = os.path.split(os.path.realpath(in_file))[0] +opt_flags = [x for x in compile_args if x in ['-g3', '-g', '-O1', '-O2', '-framepointer']] + +preprocessed_file = tempfile.NamedTemporaryFile(prefix='preprocessed', suffix='.c', delete=False) + +try: + asmproc_flags = opt_flags + [in_file, '--input-enc', 'utf-8', '--output-enc', 'euc-jp'] + compile_cmdline = compiler + compile_args + ['-I', in_dir, '-o', out_file, preprocessed_file.name] + + functions, deps = asm_processor.run(asmproc_flags, outfile=preprocessed_file) + try: + subprocess.check_call(compile_cmdline) + except subprocess.CalledProcessError as e: + print("Failed to compile file " + in_file + ". Command line:") + print() + print(' '.join(shlex.quote(x) for x in compile_cmdline)) + print() + sys.exit(55) + # To keep the preprocessed file: + # os._exit(1) + + asm_processor.run(asmproc_flags + ['--post-process', out_file, '--assembler', assembler_sh, '--asm-prelude', prelude], functions=functions) + + deps_file = out_file[:-2] + ".asmproc.d" + if deps: + with open(deps_file, "w") as f: + f.write(out_file + ": " + " \\\n ".join(deps) + "\n") + for dep in deps: + f.write("\n" + dep + ":\n") + else: + try: + os.remove(deps_file) + except OSError: + pass +finally: + os.remove(preprocessed_file.name) diff --git a/tools/asm-processor/compile.sh b/tools/asm-processor/compile.sh deleted file mode 100755 index e542a3c85d..0000000000 --- a/tools/asm-processor/compile.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash -set -e -set -o pipefail -INPUT="$1" -OUTPUT="${INPUT%.c}.o" - -CC="$QEMU_IRIX -silent -L $IRIX_ROOT $IRIX_ROOT/usr/bin/cc" -CFLAGS="-Wab,-r4300_mul -non_shared -G 0 -Xcpluscomm -fullwarn -wlint -woff 819,820,852,821 -signed -DVERSION_JP=1" # -I include -AS="mips-linux-gnu-as" -ASFLAGS="-march=vr4300 -mabi=32 --defsym VERSION_JP=1" # -I include -set +e -OPTFLAGS=$(grep '^// COMPILE-FLAGS: ' $INPUT | sed 's#^// COMPILE-FLAGS: ##') -ISET=$(grep '^// COMPILE-ISET: ' $INPUT | sed 's#^// COMPILE-ISET: ##') -set -e -if [[ -z "$OPTFLAGS" ]]; then - OPTFLAGS="-g" -fi -if [[ -z "$ISET" ]]; then - CFLAGS="$CFLAGS -mips2" -fi - -python3 asm_processor.py $OPTFLAGS $ISET "$INPUT" | $CC -c $CFLAGS include-stdin.c -o "$OUTPUT" $OPTFLAGS -python3 asm_processor.py $OPTFLAGS $ISET "$INPUT" --post-process "$OUTPUT" --assembler "$AS $ASFLAGS" --asm-prelude prelude.s diff --git a/tools/asm-processor/include-stdin.c b/tools/asm-processor/include-stdin.c deleted file mode 100644 index c21aa6f65e..0000000000 --- a/tools/asm-processor/include-stdin.c +++ /dev/null @@ -1,2 +0,0 @@ -// (this is used for piping input to the IRIX compiler without needing to make a temporary .c file) -#include "/dev/stdin" diff --git a/tools/asm-processor/prelude.inc b/tools/asm-processor/prelude.inc new file mode 100644 index 0000000000..1ec8c60361 --- /dev/null +++ b/tools/asm-processor/prelude.inc @@ -0,0 +1,5 @@ +.set noat +.set noreorder +.set gp=64 +.include "macro.inc" + diff --git a/tools/asm-processor/prelude.s b/tools/asm-processor/prelude.s deleted file mode 100644 index 5118a5c61a..0000000000 --- a/tools/asm-processor/prelude.s +++ /dev/null @@ -1,8 +0,0 @@ -.set noat -.set noreorder -.set gp=64 -.macro glabel label - .global \label - \label: -.endm - diff --git a/tools/asm-processor/run-tests.sh b/tools/asm-processor/run-tests.sh deleted file mode 100755 index e9e89d70d5..0000000000 --- a/tools/asm-processor/run-tests.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env bash -for A in tests/*.c; do - OBJDUMPFLAGS=$(grep '^// OBJDUMP-FLAGS: ' "$A" | sed 's#^// OBJDUMP-FLAGS: ##') - if [[ -z "$OBJDUMPFLAGS" ]]; then - OBJDUMPFLAGS="-s" - fi - ./compile.sh "$A" && mips-linux-gnu-objdump $OBJDUMPFLAGS "${A%.c}.o" | diff - "${A%.c}.objdump" || echo FAIL "$A" -done diff --git a/tools/asm-processor/tests/ascii.c b/tools/asm-processor/tests/ascii.c deleted file mode 100644 index bb27d25272..0000000000 --- a/tools/asm-processor/tests/ascii.c +++ /dev/null @@ -1,19 +0,0 @@ -void foo(void) { "abcdef"; } - -GLOBAL_ASM( -.rdata - .ascii "AB" - .ascii "CD", "EF" - .ascii "GH\n\n\n\0\11\222\3333\44444\x1234567\n\nIJK" -) - -void bar(void) { "hello"; } - -GLOBAL_ASM( -.rdata - .asciiz "12" - .asciiz "34", "56" - .asciiz "78\n\n\n\0\11\222\3333\44444\x1234567\n\n9A" -) - -void baz(void) { "ghijkl"; } diff --git a/tools/asm-processor/tests/ascii.objdump b/tools/asm-processor/tests/ascii.objdump deleted file mode 100644 index f294d5e539..0000000000 --- a/tools/asm-processor/tests/ascii.objdump +++ /dev/null @@ -1,19 +0,0 @@ - -tests/ascii.o: file format elf32-tradbigmips - -Contents of section .text: - 0000 03e00008 00000000 03e00008 00000000 ................ - 0010 03e00008 00000000 03e00008 00000000 ................ - 0020 03e00008 00000000 03e00008 00000000 ................ -Contents of section .rodata: - 0000 61626364 65660000 41424344 45464748 abcdef..ABCDEFGH - 0010 0a0a0a00 0992db33 24343467 0a0a494a .......3$44g..IJ - 0020 4b000000 68656c6c 6f000000 31320033 K...hello...12.3 - 0030 34003536 0037380a 0a0a0009 92db3324 4.56.78.......3$ - 0040 3434670a 0a394100 6768696a 6b6c0000 44g..9A.ghijkl.. -Contents of section .options: - 0000 01200000 00000000 80000000 00000000 . .............. - 0010 00000000 00000000 00000000 00007ff0 ................ -Contents of section .reginfo: - 0000 80000000 00000000 00000000 00000000 ................ - 0010 00000000 00007ff0 ........ diff --git a/tools/asm-processor/tests/comments.c b/tools/asm-processor/tests/comments.c deleted file mode 100644 index 9543269a1b..0000000000 --- a/tools/asm-processor/tests/comments.c +++ /dev/null @@ -1,6 +0,0 @@ -const char before[] = "^"; -GLOBAL_ASM( -.rdata -.asciz "aaaa /* bbbb */ # cccc" /**//**//**//**/ /*/ "xxxx" /*/ /* dddd " eeee */ "# ffff" # gggg "hhhh" /* iiii */ -) -const char after[] = "$"; diff --git a/tools/asm-processor/tests/comments.objdump b/tools/asm-processor/tests/comments.objdump deleted file mode 100644 index 89798e3e4c..0000000000 --- a/tools/asm-processor/tests/comments.objdump +++ /dev/null @@ -1,13 +0,0 @@ - -tests/comments.o: file format elf32-tradbigmips - -Contents of section .rodata: - 0000 5e000000 61616161 202f2a20 62626262 ^...aaaa /* bbbb - 0010 202a2f20 23206363 63630023 20666666 */ # cccc.# fff - 0020 66000000 24000000 00000000 00000000 f...$........... -Contents of section .options: - 0000 01200000 00000000 00000000 00000000 . .............. - 0010 00000000 00000000 00000000 00007ff0 ................ -Contents of section .reginfo: - 0000 00000000 00000000 00000000 00000000 ................ - 0010 00000000 00007ff0 ........ diff --git a/tools/asm-processor/tests/label-sameline.c b/tools/asm-processor/tests/label-sameline.c deleted file mode 100644 index a35b43d859..0000000000 --- a/tools/asm-processor/tests/label-sameline.c +++ /dev/null @@ -1,7 +0,0 @@ -GLOBAL_ASM( -.rdata -.word 0x12345678 -glabel blah -.word blah2 - /*a*/ blah2: /*b*/ .word blah /*c*/ -) diff --git a/tools/asm-processor/tests/label-sameline.objdump b/tools/asm-processor/tests/label-sameline.objdump deleted file mode 100644 index b0e8b42c8f..0000000000 --- a/tools/asm-processor/tests/label-sameline.objdump +++ /dev/null @@ -1,11 +0,0 @@ - -tests/label-sameline.o: file format elf32-tradbigmips - -Contents of section .rodata: - 0000 12345678 00000008 00000000 00000000 .4Vx............ -Contents of section .options: - 0000 01200000 00000000 00000000 00000000 . .............. - 0010 00000000 00000000 00000000 00007ff0 ................ -Contents of section .reginfo: - 0000 00000000 00000000 00000000 00000000 ................ - 0010 00000000 00007ff0 ........ diff --git a/tools/asm-processor/tests/large.c b/tools/asm-processor/tests/large.c deleted file mode 100644 index 4ffb4ac12a..0000000000 --- a/tools/asm-processor/tests/large.c +++ /dev/null @@ -1,164 +0,0 @@ - -GLOBAL_ASM( -glabel test - -addiu $sp, $sp, -24 - sw $zero, 4($sp) -lw $t6, 4($sp) -addu $t7, $a0, $t6 -sb $zero, ($t7) -lw $t8, 4($sp) -addiu $t9, $t8, 1 -slt $at, $t9, $a1 - sw $t9, 4($sp) - nop -jr $ra - addiu $sp, $sp, 24 -addiu $sp, $sp, -24 - sw $zero, 4($sp) -lw $t6, 4($sp) -addu $t7, $a0, $t6 -sb $zero, ($t7) -lw $t8, 4($sp) -addiu $t9, $t8, 1 -slt $at, $t9, $a1 - sw $t9, 4($sp) - nop -jr $ra - addiu $sp, $sp, 24 -addiu $sp, $sp, -24 - sw $zero, 4($sp) -lw $t6, 4($sp) -addu $t7, $a0, $t6 -sb $zero, ($t7) -lw $t8, 4($sp) -addiu $t9, $t8, 1 -slt $at, $t9, $a1 - sw $t9, 4($sp) - nop -jr $ra - addiu $sp, $sp, 24 -addiu $sp, $sp, -24 - sw $zero, 4($sp) -lw $t6, 4($sp) -addu $t7, $a0, $t6 -sb $zero, ($t7) -lw $t8, 4($sp) -addiu $t9, $t8, 1 -slt $at, $t9, $a1 - sw $t9, 4($sp) - nop -jr $ra - addiu $sp, $sp, 24 -addiu $sp, $sp, -24 - sw $zero, 4($sp) -lw $t6, 4($sp) -addu $t7, $a0, $t6 -sb $zero, ($t7) -lw $t8, 4($sp) -addiu $t9, $t8, 1 -slt $at, $t9, $a1 - sw $t9, 4($sp) - nop -jr $ra - addiu $sp, $sp, 24 -addiu $sp, $sp, -24 - sw $zero, 4($sp) -lw $t6, 4($sp) -addu $t7, $a0, $t6 -sb $zero, ($t7) -lw $t8, 4($sp) -addiu $t9, $t8, 1 -slt $at, $t9, $a1 - sw $t9, 4($sp) - nop -jr $ra - addiu $sp, $sp, 24 -addiu $sp, $sp, -24 - sw $zero, 4($sp) -lw $t6, 4($sp) -addu $t7, $a0, $t6 -sb $zero, ($t7) -lw $t8, 4($sp) -addiu $t9, $t8, 1 -slt $at, $t9, $a1 - sw $t9, 4($sp) - nop -jr $ra - addiu $sp, $sp, 24 -addiu $sp, $sp, -24 - sw $zero, 4($sp) -lw $t6, 4($sp) -addu $t7, $a0, $t6 -sb $zero, ($t7) -lw $t8, 4($sp) -addiu $t9, $t8, 1 -slt $at, $t9, $a1 - sw $t9, 4($sp) - nop -jr $ra - addiu $sp, $sp, 24 -addiu $sp, $sp, -24 - sw $zero, 4($sp) -lw $t6, 4($sp) -addu $t7, $a0, $t6 -sb $zero, ($t7) -lw $t8, 4($sp) -addiu $t9, $t8, 1 -slt $at, $t9, $a1 - sw $t9, 4($sp) - nop -jr $ra - addiu $sp, $sp, 24 -addiu $sp, $sp, -24 - sw $zero, 4($sp) -lw $t6, 4($sp) -addu $t7, $a0, $t6 -sb $zero, ($t7) -lw $t8, 4($sp) -addiu $t9, $t8, 1 -slt $at, $t9, $a1 - sw $t9, 4($sp) - nop -jr $ra - addiu $sp, $sp, 24 -addiu $sp, $sp, -24 - sw $zero, 4($sp) -lw $t6, 4($sp) -addu $t7, $a0, $t6 -sb $zero, ($t7) -lw $t8, 4($sp) -addiu $t9, $t8, 1 -slt $at, $t9, $a1 - sw $t9, 4($sp) - nop -jr $ra - addiu $sp, $sp, 24 -addiu $sp, $sp, -24 - sw $zero, 4($sp) -lw $t6, 4($sp) -addu $t7, $a0, $t6 -sb $zero, ($t7) -lw $t8, 4($sp) -addiu $t9, $t8, 1 -slt $at, $t9, $a1 - sw $t9, 4($sp) - nop -jr $ra - addiu $sp, $sp, 24 -addiu $sp, $sp, -24 - sw $zero, 4($sp) -lw $t6, 4($sp) -addu $t7, $a0, $t6 -sb $zero, ($t7) -lw $t8, 4($sp) -addiu $t9, $t8, 1 -slt $at, $t9, $a1 - sw $t9, 4($sp) - nop -jr $ra - addiu $sp, $sp, 24 - -) - -void foo(void) {} diff --git a/tools/asm-processor/tests/large.objdump b/tools/asm-processor/tests/large.objdump deleted file mode 100644 index 873746e25a..0000000000 --- a/tools/asm-processor/tests/large.objdump +++ /dev/null @@ -1,50 +0,0 @@ - -tests/large.o: file format elf32-tradbigmips - -Contents of section .text: - 0000 27bdffe8 afa00004 8fae0004 008e7821 '.............x! - 0010 a1e00000 8fb80004 27190001 0325082a ........'....%.* - 0020 afb90004 00000000 03e00008 27bd0018 ............'... - 0030 27bdffe8 afa00004 8fae0004 008e7821 '.............x! - 0040 a1e00000 8fb80004 27190001 0325082a ........'....%.* - 0050 afb90004 00000000 03e00008 27bd0018 ............'... - 0060 27bdffe8 afa00004 8fae0004 008e7821 '.............x! - 0070 a1e00000 8fb80004 27190001 0325082a ........'....%.* - 0080 afb90004 00000000 03e00008 27bd0018 ............'... - 0090 27bdffe8 afa00004 8fae0004 008e7821 '.............x! - 00a0 a1e00000 8fb80004 27190001 0325082a ........'....%.* - 00b0 afb90004 00000000 03e00008 27bd0018 ............'... - 00c0 27bdffe8 afa00004 8fae0004 008e7821 '.............x! - 00d0 a1e00000 8fb80004 27190001 0325082a ........'....%.* - 00e0 afb90004 00000000 03e00008 27bd0018 ............'... - 00f0 27bdffe8 afa00004 8fae0004 008e7821 '.............x! - 0100 a1e00000 8fb80004 27190001 0325082a ........'....%.* - 0110 afb90004 00000000 03e00008 27bd0018 ............'... - 0120 27bdffe8 afa00004 8fae0004 008e7821 '.............x! - 0130 a1e00000 8fb80004 27190001 0325082a ........'....%.* - 0140 afb90004 00000000 03e00008 27bd0018 ............'... - 0150 27bdffe8 afa00004 8fae0004 008e7821 '.............x! - 0160 a1e00000 8fb80004 27190001 0325082a ........'....%.* - 0170 afb90004 00000000 03e00008 27bd0018 ............'... - 0180 27bdffe8 afa00004 8fae0004 008e7821 '.............x! - 0190 a1e00000 8fb80004 27190001 0325082a ........'....%.* - 01a0 afb90004 00000000 03e00008 27bd0018 ............'... - 01b0 27bdffe8 afa00004 8fae0004 008e7821 '.............x! - 01c0 a1e00000 8fb80004 27190001 0325082a ........'....%.* - 01d0 afb90004 00000000 03e00008 27bd0018 ............'... - 01e0 27bdffe8 afa00004 8fae0004 008e7821 '.............x! - 01f0 a1e00000 8fb80004 27190001 0325082a ........'....%.* - 0200 afb90004 00000000 03e00008 27bd0018 ............'... - 0210 27bdffe8 afa00004 8fae0004 008e7821 '.............x! - 0220 a1e00000 8fb80004 27190001 0325082a ........'....%.* - 0230 afb90004 00000000 03e00008 27bd0018 ............'... - 0240 27bdffe8 afa00004 8fae0004 008e7821 '.............x! - 0250 a1e00000 8fb80004 27190001 0325082a ........'....%.* - 0260 afb90004 00000000 03e00008 27bd0018 ............'... - 0270 03e00008 00000000 03e00008 00000000 ................ -Contents of section .options: - 0000 01200000 00000000 80000000 00000000 . .............. - 0010 00000000 00000000 00000000 00007ff0 ................ -Contents of section .reginfo: - 0000 a300c032 00000000 00000000 00000000 ...2............ - 0010 00000000 00007ff0 ........ diff --git a/tools/asm-processor/tests/late_rodata_align.c b/tools/asm-processor/tests/late_rodata_align.c deleted file mode 100644 index 7367c792bf..0000000000 --- a/tools/asm-processor/tests/late_rodata_align.c +++ /dev/null @@ -1,80 +0,0 @@ -GLOBAL_ASM( -.late_rodata - .float 4.1 - .float 4.2 - .float 4.3 - .float 4.4 -.text -glabel a - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop -) - -float foo(void) { "foo"; return 1.1f; } - -GLOBAL_ASM( -.late_rodata -.late_rodata_alignment 4 - .float 5.1 - .float 5.2 - .float 5.3 - .float 5.4 -.text -glabel b - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop -) - -float bar(void) { "bar"; return 1.2f; } - -GLOBAL_ASM( -.late_rodata -.late_rodata_alignment 8 - .float 6.1 - .float 6.2 - .float 6.3 - .float 6.4 - .float 6.5 -.text -glabel c - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop -) - diff --git a/tools/asm-processor/tests/late_rodata_align.objdump b/tools/asm-processor/tests/late_rodata_align.objdump deleted file mode 100644 index d302e6c8b2..0000000000 --- a/tools/asm-processor/tests/late_rodata_align.objdump +++ /dev/null @@ -1,31 +0,0 @@ - -tests/late_rodata_align.o: file format elf32-tradbigmips - -Contents of section .text: - 0000 00000000 00000000 00000000 00000000 ................ - 0010 00000000 00000000 00000000 00000000 ................ - 0020 00000000 00000000 00000000 00000000 ................ - 0030 00000000 00000000 00000000 00000000 ................ - 0040 3c010000 03e00008 c4200018 03e00008 <........ ...... - 0050 00000000 03e00008 00000000 00000000 ................ - 0060 00000000 00000000 00000000 00000000 ................ - 0070 00000000 00000000 00000000 00000000 ................ - 0080 00000000 00000000 00000000 00000000 ................ - 0090 3c010000 03e00008 c420002c 03e00008 <........ .,.... - 00a0 00000000 03e00008 00000000 00000000 ................ - 00b0 00000000 00000000 00000000 00000000 ................ - 00c0 00000000 00000000 00000000 00000000 ................ - 00d0 00000000 00000000 00000000 00000000 ................ - 00e0 00000000 00000000 00000000 00000000 ................ -Contents of section .rodata: - 0000 666f6f00 62617200 40833333 40866666 foo.bar.@.33@.ff - 0010 4089999a 408ccccd 3f8ccccd 40a33333 @...@...?...@.33 - 0020 40a66666 40a9999a 40accccd 3f99999a @.ff@...@...?... - 0030 40c33333 40c66666 40c9999a 40cccccd @.33@.ff@...@... - 0040 40d00000 00000000 00000000 00000000 @............... -Contents of section .options: - 0000 01200000 00000000 80000002 00000000 . .............. - 0010 000005f1 00000000 00000000 00007ff0 ................ -Contents of section .reginfo: - 0000 80000002 00000000 000005f1 00000000 ................ - 0010 00000000 00007ff0 ........ diff --git a/tools/asm-processor/tests/late_rodata_doubles.c b/tools/asm-processor/tests/late_rodata_doubles.c deleted file mode 100644 index 0a27b41487..0000000000 --- a/tools/asm-processor/tests/late_rodata_doubles.c +++ /dev/null @@ -1,83 +0,0 @@ -GLOBAL_ASM( -.late_rodata - .float 4.1 -.text -glabel a - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop -) - -float foo(void) { - return 4.15f; -} - -GLOBAL_ASM( -.late_rodata - .float 4.2 - .word 0 - .double 4.3 -.text -glabel b - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop -) - -float bar(void) { - return 4.4f; -} - -GLOBAL_ASM( -.late_rodata - .float 4.55 - .double 4.6 -.text -glabel c - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop -) - -float baz(void) { - return 4.6f; -} diff --git a/tools/asm-processor/tests/late_rodata_doubles.objdump b/tools/asm-processor/tests/late_rodata_doubles.objdump deleted file mode 100644 index dc5f52d5f1..0000000000 --- a/tools/asm-processor/tests/late_rodata_doubles.objdump +++ /dev/null @@ -1,32 +0,0 @@ - -tests/late_rodata_doubles.o: file format elf32-tradbigmips - -Contents of section .text: - 0000 00000000 00000000 00000000 00000000 ................ - 0010 00000000 00000000 00000000 00000000 ................ - 0020 00000000 00000000 00000000 00000000 ................ - 0030 00000000 00000000 00000000 00000000 ................ - 0040 3c010000 03e00008 c4200004 03e00008 <........ ...... - 0050 00000000 03e00008 00000000 00000000 ................ - 0060 00000000 00000000 00000000 00000000 ................ - 0070 00000000 00000000 00000000 00000000 ................ - 0080 00000000 00000000 00000000 00000000 ................ - 0090 00000000 00000000 00000000 3c010000 ............<... - 00a0 03e00008 c4200018 03e00008 00000000 ..... .......... - 00b0 03e00008 00000000 00000000 00000000 ................ - 00c0 00000000 00000000 00000000 00000000 ................ - 00d0 00000000 00000000 00000000 00000000 ................ - 00e0 00000000 00000000 00000000 00000000 ................ - 00f0 00000000 00000000 3c010000 03e00008 ........<....... - 0100 c4200028 03e00008 00000000 03e00008 . .(............ - 0110 00000000 00000000 00000000 00000000 ................ -Contents of section .rodata: - 0000 40833333 4084cccd 40866666 00000000 @.33@...@.ff.... - 0010 40113333 33333333 408ccccd 4091999a @.333333@...@... - 0020 40126666 66666666 40933333 00000000 @.ffffff@.33.... -Contents of section .options: - 0000 01200000 00000000 80000002 00000000 . .............. - 0010 000000f1 00000000 00000000 00007ff0 ................ -Contents of section .reginfo: - 0000 80000002 00000000 000000f1 00000000 ................ - 0010 00000000 00007ff0 ........ diff --git a/tools/asm-processor/tests/late_rodata_doubles_mips1.c b/tools/asm-processor/tests/late_rodata_doubles_mips1.c deleted file mode 100644 index b97261f685..0000000000 --- a/tools/asm-processor/tests/late_rodata_doubles_mips1.c +++ /dev/null @@ -1,86 +0,0 @@ -// COMPILE-FLAGS: -O2 -// COMPILE-ISET: -mips1 -// exact copy of late_rodata_doubles.c except for the -mips1 -O2 additions -GLOBAL_ASM( -.late_rodata - .float 4.1 -.text -glabel a - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop -) - -float foo(void) { - return 4.15f; -} - -GLOBAL_ASM( -.late_rodata - .float 4.2 - .word 0 - .double 4.3 -.text -glabel b - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop -) - -float bar(void) { - return 4.4f; -} - -GLOBAL_ASM( -.late_rodata - .float 4.55 - .double 4.6 -.text -glabel c - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop -) - -float baz(void) { - return 4.6f; -} diff --git a/tools/asm-processor/tests/late_rodata_doubles_mips1.objdump b/tools/asm-processor/tests/late_rodata_doubles_mips1.objdump deleted file mode 100644 index d978104099..0000000000 --- a/tools/asm-processor/tests/late_rodata_doubles_mips1.objdump +++ /dev/null @@ -1,29 +0,0 @@ - -tests/late_rodata_doubles_mips1.o: file format elf32-tradbigmips - -Contents of section .text: - 0000 00000000 00000000 00000000 00000000 ................ - 0010 00000000 00000000 00000000 00000000 ................ - 0020 00000000 00000000 00000000 00000000 ................ - 0030 00000000 00000000 00000000 00000000 ................ - 0040 3c010000 c4200004 03e00008 00000000 <.... .......... - 0050 00000000 00000000 00000000 00000000 ................ - 0060 00000000 00000000 00000000 00000000 ................ - 0070 00000000 00000000 00000000 00000000 ................ - 0080 00000000 00000000 00000000 00000000 ................ - 0090 3c010000 c4200018 03e00008 00000000 <.... .......... - 00a0 00000000 00000000 00000000 00000000 ................ - 00b0 00000000 00000000 00000000 00000000 ................ - 00c0 00000000 00000000 00000000 00000000 ................ - 00d0 00000000 00000000 00000000 00000000 ................ - 00e0 3c010000 c4200028 03e00008 00000000 <.... .(........ -Contents of section .rodata: - 0000 40833333 4084cccd 40866666 00000000 @.33@...@.ff.... - 0010 40113333 33333333 408ccccd 4091999a @.333333@...@... - 0020 40126666 66666666 40933333 00000000 @.ffffff@.33.... -Contents of section .options: - 0000 01200000 00000000 80000002 00000000 . .............. - 0010 000c0011 00000000 00000000 00007ff0 ................ -Contents of section .reginfo: - 0000 80000002 00000000 000c0011 00000000 ................ - 0010 00000000 00007ff0 ........ diff --git a/tools/asm-processor/tests/late_rodata_jtbl.c b/tools/asm-processor/tests/late_rodata_jtbl.c deleted file mode 100644 index a95a7d588d..0000000000 --- a/tools/asm-processor/tests/late_rodata_jtbl.c +++ /dev/null @@ -1,77 +0,0 @@ -// COMPILE-FLAGS: -O2 -float a(void) { return 1.1f; } - -GLOBAL_ASM( -glabel a2 -move $a0, $a0 -nop -nop -nop -jr $ra -move $a0, $a0 -) - -GLOBAL_ASM( -.late_rodata - -glabel jtbl -.word case0, case1, case2, case3, case4, case5, case6, case7, case8, case9, case10 -.word case11, case12, case13, case14, case15, case16, case17, case18, case19, case20 -.word case21, case22, case23, case24, case25, case26 - -.text -glabel foo -sltiu $at, $a0, 0xa -beqz $at, .L756E659B - sll $t7, $a0, 2 -lui $at, %hi(jtbl) -addu $at, $at, $t7 -lw $t7, %lo(jtbl)($at) -jr $t7 - nop -case0: addiu $a0, $a0, 1 -case1: addiu $a0, $a0, 1 -case2: addiu $a0, $a0, 1 -case3: addiu $a0, $a0, 1 -case4: addiu $a0, $a0, 1 -case5: addiu $a0, $a0, 1 -case6: addiu $a0, $a0, 1 -case7: addiu $a0, $a0, 1 -case8: addiu $a0, $a0, 1 -case9: addiu $a0, $a0, 1 -case10: addiu $a0, $a0, 1 -case11: addiu $a0, $a0, 1 -case12: addiu $a0, $a0, 1 -case13: addiu $a0, $a0, 1 -case14: addiu $a0, $a0, 1 -case15: addiu $a0, $a0, 1 -case16: addiu $a0, $a0, 1 -case17: addiu $a0, $a0, 1 -case18: addiu $a0, $a0, 1 -case19: addiu $a0, $a0, 1 -case20: addiu $a0, $a0, 1 -case21: addiu $a0, $a0, 1 -case22: addiu $a0, $a0, 1 -case23: addiu $a0, $a0, 1 -case24: addiu $a0, $a0, 1 -case25: addiu $a0, $a0, 1 -case26: -jr $ra - addiu $v0, $a0, 1 - -.L756E659B: -addiu $v0, $zero, 2 -jr $ra - nop -) - -GLOBAL_ASM( -glabel b2 -move $a0, $a0 -nop -nop -jr $ra -move $a0, $a0 -) - -float b(void) { return 1.2f; } diff --git a/tools/asm-processor/tests/late_rodata_jtbl.objdump b/tools/asm-processor/tests/late_rodata_jtbl.objdump deleted file mode 100644 index 434c222a8d..0000000000 --- a/tools/asm-processor/tests/late_rodata_jtbl.objdump +++ /dev/null @@ -1,33 +0,0 @@ - -tests/late_rodata_jtbl.o: file format elf32-tradbigmips - -Contents of section .text: - 0000 3c010000 03e00008 c4200000 00802025 <........ .... % - 0010 00000000 00000000 00000000 03e00008 ................ - 0020 00802025 2c81000a 10200022 00047880 .. %,.... ."..x. - 0030 3c010000 002f0821 8c2f0000 01e00008 <..../.!./...... - 0040 00000000 24840001 24840001 24840001 ....$...$...$... - 0050 24840001 24840001 24840001 24840001 $...$...$...$... - 0060 24840001 24840001 24840001 24840001 $...$...$...$... - 0070 24840001 24840001 24840001 24840001 $...$...$...$... - 0080 24840001 24840001 24840001 24840001 $...$...$...$... - 0090 24840001 24840001 24840001 24840001 $...$...$...$... - 00a0 24840001 24840001 24840001 03e00008 $...$...$....... - 00b0 24820001 24020002 03e00008 00000000 $...$........... - 00c0 00802025 00000000 00000000 03e00008 .. %............ - 00d0 00802025 3c010000 03e00008 c4200070 .. %<........ .p -Contents of section .rodata: - 0000 3f8ccccd 00000044 00000048 0000004c ?......D...H...L - 0010 00000050 00000054 00000058 0000005c ...P...T...X...\ - 0020 00000060 00000064 00000068 0000006c ...`...d...h...l - 0030 00000070 00000074 00000078 0000007c ...p...t...x...| - 0040 00000080 00000084 00000088 0000008c ................ - 0050 00000090 00000094 00000098 0000009c ................ - 0060 000000a0 000000a4 000000a8 000000ac ................ - 0070 3f99999a 00000000 00000000 00000000 ?............... -Contents of section .options: - 0000 01200000 00000000 80004002 00000000 . ........@..... - 0010 00000011 00000000 00000000 00007ff0 ................ -Contents of section .reginfo: - 0000 8000c016 00000000 00000011 00000000 ................ - 0010 00000000 00007ff0 ........ diff --git a/tools/asm-processor/tests/late_rodata_jtbl_mips1.c b/tools/asm-processor/tests/late_rodata_jtbl_mips1.c deleted file mode 100644 index 883730e4dd..0000000000 --- a/tools/asm-processor/tests/late_rodata_jtbl_mips1.c +++ /dev/null @@ -1,79 +0,0 @@ -// COMPILE-FLAGS: -O2 -// COMPILE-ISET: -mips1 -// exact copy of late_rodata_jtbl.c except for the -mips1 addition -float a(void) { return 1.1f; } - -GLOBAL_ASM( -glabel a2 -move $a0, $a0 -nop -nop -nop -jr $ra -move $a0, $a0 -) - -GLOBAL_ASM( -.late_rodata - -glabel jtbl -.word case0, case1, case2, case3, case4, case5, case6, case7, case8, case9, case10 -.word case11, case12, case13, case14, case15, case16, case17, case18, case19, case20 -.word case21, case22, case23, case24, case25, case26 - -.text -glabel foo -sltiu $at, $a0, 0xa -beqz $at, .L756E659B - sll $t7, $a0, 2 -lui $at, %hi(jtbl) -addu $at, $at, $t7 -lw $t7, %lo(jtbl)($at) -jr $t7 - nop -case0: addiu $a0, $a0, 1 -case1: addiu $a0, $a0, 1 -case2: addiu $a0, $a0, 1 -case3: addiu $a0, $a0, 1 -case4: addiu $a0, $a0, 1 -case5: addiu $a0, $a0, 1 -case6: addiu $a0, $a0, 1 -case7: addiu $a0, $a0, 1 -case8: addiu $a0, $a0, 1 -case9: addiu $a0, $a0, 1 -case10: addiu $a0, $a0, 1 -case11: addiu $a0, $a0, 1 -case12: addiu $a0, $a0, 1 -case13: addiu $a0, $a0, 1 -case14: addiu $a0, $a0, 1 -case15: addiu $a0, $a0, 1 -case16: addiu $a0, $a0, 1 -case17: addiu $a0, $a0, 1 -case18: addiu $a0, $a0, 1 -case19: addiu $a0, $a0, 1 -case20: addiu $a0, $a0, 1 -case21: addiu $a0, $a0, 1 -case22: addiu $a0, $a0, 1 -case23: addiu $a0, $a0, 1 -case24: addiu $a0, $a0, 1 -case25: addiu $a0, $a0, 1 -case26: -jr $ra - addiu $v0, $a0, 1 - -.L756E659B: -addiu $v0, $zero, 2 -jr $ra - nop -) - -GLOBAL_ASM( -glabel b2 -move $a0, $a0 -nop -nop -jr $ra -move $a0, $a0 -) - -float b(void) { return 1.2f; } diff --git a/tools/asm-processor/tests/late_rodata_jtbl_mips1.objdump b/tools/asm-processor/tests/late_rodata_jtbl_mips1.objdump deleted file mode 100644 index a3a5df1f0a..0000000000 --- a/tools/asm-processor/tests/late_rodata_jtbl_mips1.objdump +++ /dev/null @@ -1,34 +0,0 @@ - -tests/late_rodata_jtbl_mips1.o: file format elf32-tradbigmips - -Contents of section .text: - 0000 3c010000 c4200000 03e00008 00000000 <.... .......... - 0010 00802025 00000000 00000000 00000000 .. %............ - 0020 03e00008 00802025 2c81000a 10200022 ...... %,.... ." - 0030 00047880 3c010000 002f0821 8c2f0000 ..x.<..../.!./.. - 0040 01e00008 00000000 24840001 24840001 ........$...$... - 0050 24840001 24840001 24840001 24840001 $...$...$...$... - 0060 24840001 24840001 24840001 24840001 $...$...$...$... - 0070 24840001 24840001 24840001 24840001 $...$...$...$... - 0080 24840001 24840001 24840001 24840001 $...$...$...$... - 0090 24840001 24840001 24840001 24840001 $...$...$...$... - 00a0 24840001 24840001 24840001 24840001 $...$...$...$... - 00b0 03e00008 24820001 24020002 03e00008 ....$...$....... - 00c0 00000000 00802025 00000000 00000000 ...... %........ - 00d0 03e00008 00802025 3c010000 c4200070 ...... %<.... .p - 00e0 03e00008 00000000 00000000 00000000 ................ -Contents of section .rodata: - 0000 3f8ccccd 00000048 0000004c 00000050 ?......H...L...P - 0010 00000054 00000058 0000005c 00000060 ...T...X...\...` - 0020 00000064 00000068 0000006c 00000070 ...d...h...l...p - 0030 00000074 00000078 0000007c 00000080 ...t...x...|.... - 0040 00000084 00000088 0000008c 00000090 ................ - 0050 00000094 00000098 0000009c 000000a0 ................ - 0060 000000a4 000000a8 000000ac 000000b0 ................ - 0070 3f99999a 00000000 00000000 00000000 ?............... -Contents of section .options: - 0000 01200000 00000000 80004002 00000000 . ........@..... - 0010 00000011 00000000 00000000 00007ff0 ................ -Contents of section .reginfo: - 0000 8000c016 00000000 00000011 00000000 ................ - 0010 00000000 00007ff0 ........ diff --git a/tools/asm-processor/tests/late_rodata_misaligned_doubles.c b/tools/asm-processor/tests/late_rodata_misaligned_doubles.c deleted file mode 100644 index a453dbdd4f..0000000000 --- a/tools/asm-processor/tests/late_rodata_misaligned_doubles.c +++ /dev/null @@ -1,77 +0,0 @@ -GLOBAL_ASM( -.late_rodata - .float 4.01 - .word 0 - .double 4.02 -.text -glabel a - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop -) - -double foo(void) { return 4.03; } - -GLOBAL_ASM( -.late_rodata - .float 4.04 - .double 4.05 -.text -glabel b - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop -) - -double bar(void) { return 4.06; } -float baz(void) { return 4.07f; } - -GLOBAL_ASM( -.late_rodata - .double 4.08 -.text -glabel c - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop - nop -) - diff --git a/tools/asm-processor/tests/late_rodata_misaligned_doubles.objdump b/tools/asm-processor/tests/late_rodata_misaligned_doubles.objdump deleted file mode 100644 index 8a0b7e4e8c..0000000000 --- a/tools/asm-processor/tests/late_rodata_misaligned_doubles.objdump +++ /dev/null @@ -1,33 +0,0 @@ - -tests/late_rodata_misaligned_doubles.o: file format elf32-tradbigmips - -Contents of section .text: - 0000 00000000 00000000 00000000 00000000 ................ - 0010 00000000 00000000 00000000 00000000 ................ - 0020 00000000 00000000 00000000 00000000 ................ - 0030 00000000 00000000 00000000 00000000 ................ - 0040 3c010000 03e00008 d4200010 03e00008 <........ ...... - 0050 00000000 03e00008 00000000 00000000 ................ - 0060 00000000 00000000 00000000 00000000 ................ - 0070 00000000 00000000 00000000 00000000 ................ - 0080 00000000 00000000 00000000 00000000 ................ - 0090 00000000 00000000 00000000 3c010000 ............<... - 00a0 03e00008 d4200028 03e00008 00000000 ..... .(........ - 00b0 03e00008 00000000 3c010000 03e00008 ........<....... - 00c0 c4200030 03e00008 00000000 03e00008 . .0............ - 00d0 00000000 00000000 00000000 00000000 ................ - 00e0 00000000 00000000 00000000 00000000 ................ - 00f0 00000000 00000000 00000000 00000000 ................ - 0100 00000000 00000000 00000000 00000000 ................ - 0110 00000000 00000000 00000000 00000000 ................ -Contents of section .rodata: - 0000 408051ec 00000000 4010147a e147ae14 @.Q.....@..z.G.. - 0010 40101eb8 51eb851f 00000000 408147ae @...Q.......@.G. - 0020 40103333 33333333 40103d70 a3d70a3d @.333333@.=p...= - 0030 40823d71 00000000 401051eb 851eb852 @.=q....@.Q....R -Contents of section .options: - 0000 01200000 00000000 80000002 00000000 . .............. - 0010 000000f3 00000000 00000000 00007ff0 ................ -Contents of section .reginfo: - 0000 80000002 00000000 000000f3 00000000 ................ - 0010 00000000 00007ff0 ........ diff --git a/tools/asm-processor/tests/line-continuation-separate-file.s b/tools/asm-processor/tests/line-continuation-separate-file.s deleted file mode 100644 index 72254b011c..0000000000 --- a/tools/asm-processor/tests/line-continuation-separate-file.s +++ /dev/null @@ -1,4 +0,0 @@ -.rdata - label: .asciiz "1\n\ -2" \ - "34", "56" diff --git a/tools/asm-processor/tests/line-continuation.c b/tools/asm-processor/tests/line-continuation.c deleted file mode 100644 index d5ab093722..0000000000 --- a/tools/asm-processor/tests/line-continuation.c +++ /dev/null @@ -1,22 +0,0 @@ -void foo(void) { "abcdef"; } - -GLOBAL_ASM( -.rdata - .ascii "AB" \ - "CD", "EF" - .ascii "GH\n\n\n\0\11\222\3333\44444\x1234567\n\nIJK" -) - -void bar(void) { "hello"; } - -GLOBAL_ASM( -.rdata - .asciiz "1\ -2" - .asciiz "34", "56" - .asciiz "78\n\n\n\0\11\222\3333\44444\x1234567\n\n9A" -) - -void baz(void) { "ghijkl"; } - -GLOBAL_ASM("tests/line-continuation-separate-file.s") diff --git a/tools/asm-processor/tests/line-continuation.objdump b/tools/asm-processor/tests/line-continuation.objdump deleted file mode 100644 index e6e4589e17..0000000000 --- a/tools/asm-processor/tests/line-continuation.objdump +++ /dev/null @@ -1,20 +0,0 @@ - -tests/line-continuation.o: file format elf32-tradbigmips - -Contents of section .text: - 0000 03e00008 00000000 03e00008 00000000 ................ - 0010 03e00008 00000000 03e00008 00000000 ................ - 0020 03e00008 00000000 03e00008 00000000 ................ -Contents of section .rodata: - 0000 61626364 65660000 41424344 45464748 abcdef..ABCDEFGH - 0010 0a0a0a00 0992db33 24343467 0a0a494a .......3$44g..IJ - 0020 4b000000 68656c6c 6f000000 31320033 K...hello...12.3 - 0030 34003536 0037380a 0a0a0009 92db3324 4.56.78.......3$ - 0040 3434670a 0a394100 6768696a 6b6c0000 44g..9A.ghijkl.. - 0050 310a3200 33340035 36000000 00000000 1.2.34.56....... -Contents of section .options: - 0000 01200000 00000000 80000000 00000000 . .............. - 0010 00000000 00000000 00000000 00007ff0 ................ -Contents of section .reginfo: - 0000 80000000 00000000 00000000 00000000 ................ - 0010 00000000 00007ff0 ........ diff --git a/tools/asm-processor/tests/o2.c b/tools/asm-processor/tests/o2.c deleted file mode 100644 index 144a604e07..0000000000 --- a/tools/asm-processor/tests/o2.c +++ /dev/null @@ -1,26 +0,0 @@ -// COMPILE-FLAGS: -O2 - -int a(void) { return 1; } -GLOBAL_ASM( -glabel foo -addiu $a0, $a0, 1 -addiu $a0, $a0, 2 -addiu $a0, $a0, 3 -jr $ra -addiu $a0, $a0, 4 -) -float b(void) { return 1.2f; } -GLOBAL_ASM( -.late_rodata -glabel float1 -.float 12.34 - -.text -glabel bar -addiu $a0, $a0, 5 -addiu $a0, $a0, 6 -lui $v0, %hi(float1 + 1) -jr $ra -addiu $v0, $v0, %lo(float1 + 1) -) -float c(void) { return 1.3f; } diff --git a/tools/asm-processor/tests/o2.objdump b/tools/asm-processor/tests/o2.objdump deleted file mode 100644 index 65c5b53ed0..0000000000 --- a/tools/asm-processor/tests/o2.objdump +++ /dev/null @@ -1,17 +0,0 @@ - -tests/o2.o: file format elf32-tradbigmips - -Contents of section .text: - 0000 03e00008 24020001 24840001 24840002 ....$...$...$... - 0010 24840003 03e00008 24840004 3c010000 $.......$...<... - 0020 03e00008 c4200000 24840005 24840006 ..... ..$...$... - 0030 3c020000 03e00008 24420001 3c010000 <.......$B..<... - 0040 03e00008 c4200008 00000000 00000000 ..... .......... -Contents of section .rodata: - 0000 3f99999a 414570a4 3fa66666 00000000 ?...AEp.?.ff.... -Contents of section .options: - 0000 01200000 00000000 80000006 00000000 . .............. - 0010 00000011 00000000 00000000 00007ff0 ................ -Contents of section .reginfo: - 0000 80000016 00000000 00000011 00000000 ................ - 0010 00000000 00007ff0 ........ diff --git a/tools/asm-processor/tests/static.c b/tools/asm-processor/tests/static.c deleted file mode 100644 index 07c01b68d2..0000000000 --- a/tools/asm-processor/tests/static.c +++ /dev/null @@ -1,33 +0,0 @@ -// COMPILE-FLAGS: -O2 -// OBJDUMP-FLAGS: -srt -static int xtext(int a, int b, int c); -const int rodata1[] = {1}; -static const int rodata2[] = {2}; -int data1[] = {3}; -static int data2[] = {4}; -int bss1; -static int bss2; - -GLOBAL_ASM( -glabel bar -lui $a0, %hi(rodata2) -lw $a0, %lo(rodata2)($a0) -lui $a1, %hi(data2) -lw $a1, %lo(data2)($a0) -lui $a2, %hi(bss2) -lw $a2, %lo(bss2)($a0) -jal xtext -nop -jr $ra -nop -nop -nop -) - -static int xtext(int a, int b, int c) { - return 1; -} - -void baz(void) { - xtext(bss2, rodata2[0], data2[0]); -} diff --git a/tools/asm-processor/tests/static.objdump b/tools/asm-processor/tests/static.objdump deleted file mode 100644 index 1e556263a2..0000000000 --- a/tools/asm-processor/tests/static.objdump +++ /dev/null @@ -1,56 +0,0 @@ - -tests/static.o: file format elf32-tradbigmips - -SYMBOL TABLE: -00000000 l d .text 00000080 .text -00000000 l d .rodata 00000010 .rodata -00000000 l d .data 00000010 .data -00000000 l d .bss 00000010 .bss -00000004 l O .rodata 00000000 rodata2 -00000004 l O .data 00000000 data2 -00000004 l O .bss 00000000 bss2 -00000030 l F .text 00000000 xtext -00000000 g O .rodata 00000004 rodata1 -00000000 g O .data 00000004 data1 -00000000 g O .bss 00000004 bss1 -00000044 g F .text 00000034 baz -00000000 g F .text 00000030 bar - - -RELOCATION RECORDS FOR [.text]: -OFFSET TYPE VALUE -0000004c R_MIPS_HI16 .bss -00000064 R_MIPS_LO16 .bss -00000050 R_MIPS_HI16 .rodata -0000005c R_MIPS_LO16 .rodata -00000054 R_MIPS_HI16 .data -00000058 R_MIPS_LO16 .data -00000060 R_MIPS_26 .text -00000000 R_MIPS_HI16 rodata2 -00000004 R_MIPS_LO16 rodata2 -00000008 R_MIPS_HI16 data2 -0000000c R_MIPS_LO16 data2 -00000010 R_MIPS_HI16 bss2 -00000014 R_MIPS_LO16 bss2 -00000018 R_MIPS_26 xtext - - -Contents of section .text: - 0000 3c040000 8c840000 3c050000 8c850000 <.......<....... - 0010 3c060000 8c860000 0c000000 00000000 <............... - 0020 03e00008 00000000 00000000 00000000 ................ - 0030 afa40000 afa50004 afa60008 03e00008 ................ - 0040 24020001 27bdffe8 afbf0014 3c040000 $...'.......<... - 0050 3c050000 3c060000 8cc60004 8ca50004 <...<........... - 0060 0c00000c 8c840004 8fbf0014 27bd0018 ............'... - 0070 03e00008 00000000 00000000 00000000 ................ -Contents of section .rodata: - 0000 00000001 00000002 00000000 00000000 ................ -Contents of section .data: - 0000 00000003 00000004 00000000 00000000 ................ -Contents of section .options: - 0000 01200000 00000000 a0000074 00000000 . .........t.... - 0010 00000000 00000000 00000000 00007ff0 ................ -Contents of section .reginfo: - 0000 a0000074 00000000 00000000 00000000 ...t............ - 0010 00000000 00007ff0 ........ diff --git a/tools/asm-processor/tests/test1.c b/tools/asm-processor/tests/test1.c deleted file mode 100644 index 475555a758..0000000000 --- a/tools/asm-processor/tests/test1.c +++ /dev/null @@ -1,71 +0,0 @@ - -GLOBAL_ASM( -.rdata -.word 0x1212 -) - -GLOBAL_ASM( -.late_rodata -.word 0x123123 -.text -glabel test -/* 000090 00400090 27BDFFF8 */ addiu $sp, $sp, -24 -/* 000094 00400094 18A00009 */ blez $a1, .L004000BC -/* 000098 00400098 AFA00004 */ sw $zero, 4($sp) -.L0040009C: -/* 00009C 0040009C 8FAE0004 */ lw $t6, 4($sp) -/* 0000A0 004000A0 008E7821 */ addu $t7, $a0, $t6 -/* 0000A4 004000A4 A1E00000 */ sb $zero, ($t7) -/* 0000A8 004000A8 8FB80004 */ lw $t8, 4($sp) -/* 0000AC 004000AC 27190001 */ addiu $t9, $t8, 1 -/* 0000B0 004000B0 0325082A */ slt $at, $t9, $a1 -/* 0000B4 004000B4 1420FFF9 */ bnez $at, .L0040009C -/* 0000B8 004000B8 AFB90004 */ sw $t9, 4($sp) -.L004000BC: -/* 0000BC 004000BC 10000001 */ b .L004000C4 -/* 0000C0 004000C0 00000000 */ nop -.L004000C4: -/* 0000C4 004000C4 03E00008 */ jr $ra -/* 0000C8 004000C8 27BD0008 */ addiu $sp, $sp, 24 -) - -char bss1[3]; -GLOBAL_ASM( -.bss -bss2: -.space 3 -) -char bss3[3]; -char bss4[3]; -const int rodata1[2] = {1}; -extern int some_rodata; - -unsigned g(float, int); -unsigned f(void) { - return g(1.1f, some_rodata); -} - -GLOBAL_ASM( -.rdata -glabel some_rodata -.word 0x1313 -.text -.late_rodata -.word 0x321321 -.text -glabel g -/* 0000C0 004000C0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0000C4 004000C4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0000C8 004000C8 240E0004 */ addiu $t6, $zero, 4 -/* 0000CC 004000CC 3C010041 */ lui $at, %hi(D_410100) -/* 0000D0 004000D0 AC2E0100 */ sw $t6, %lo(D_410100)($at) -/* 0000D4 004000D4 0C10002C */ jal func_004000B0 -/* 0000D8 004000D8 00000000 */ nop -/* 0000DC 004000DC 10000001 */ b .L004000E4 -/* 0000E0 004000E0 00000000 */ nop -.L004000E4: -/* 0000E4 004000E4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0000E8 004000E8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0000EC 004000EC 03E00008 */ jr $ra -/* 0000F0 004000F0 00000000 */ nop -) diff --git a/tools/asm-processor/tests/test1.objdump b/tools/asm-processor/tests/test1.objdump deleted file mode 100644 index 481b7e028e..0000000000 --- a/tools/asm-processor/tests/test1.objdump +++ /dev/null @@ -1,24 +0,0 @@ - -tests/test1.o: file format elf32-tradbigmips - -Contents of section .text: - 0000 27bdffe8 18a00009 afa00004 8fae0004 '............... - 0010 008e7821 a1e00000 8fb80004 27190001 ..x!........'... - 0020 0325082a 1420fff9 afb90004 10000001 .%.*. .......... - 0030 00000000 03e00008 27bd0018 27bdffe8 ........'...'... - 0040 afbf0014 3c010000 3c050000 8ca50000 ....<...<....... - 0050 0c000000 c42c0014 10000003 00000000 .....,.......... - 0060 10000001 00000000 8fbf0014 27bd0018 ............'... - 0070 03e00008 00000000 27bdffe8 afbf0014 ........'....... - 0080 240e0004 3c010000 ac2e0000 0c000000 $...<........... - 0090 00000000 10000001 00000000 8fbf0014 ................ - 00a0 27bd0018 03e00008 00000000 00000000 '............... -Contents of section .rodata: - 0000 00001212 00000001 00000000 00001313 ................ - 0010 00123123 3f8ccccd 00321321 00000000 ..1#?....2.!.... -Contents of section .options: - 0000 01200000 00000000 a0000022 00000000 . .........".... - 0010 00001010 00000000 00000000 00007ff0 ................ -Contents of section .reginfo: - 0000 a300c032 00000000 00001010 00000000 ...2............ - 0010 00000000 00007ff0 ........ diff --git a/tools/asm-processor/tests/test2.c b/tools/asm-processor/tests/test2.c deleted file mode 100644 index 3f9a21fba9..0000000000 --- a/tools/asm-processor/tests/test2.c +++ /dev/null @@ -1,69 +0,0 @@ -const char buf1[1] = {1}; -float func1(void) { - "func1"; - return 0.1f; -} -const char buf2[1] = {2}; -void func2(void) { - *(volatile float*)0 = -3.5792360305786133f; - *(volatile float*)0 = -3.5792362689971924f; - // "func2"; - // return 0.2f; -} -const char buf3[1] = {3}; -int func3(int x) { - switch(x) { - case 0: - return 1; - case 1: - return 2; - case 2: - return 3; - case 3: - return 4; - case 4: - return 5; - case 5: - return 4; - case 6: - return 4; - case 7: - return 4; - default: - return 3; - } -} - -#if 1 -GLOBAL_ASM( -.rdata -.word 0x66756e63 # func -.word 0x34000000 # 4\0\0\0 -.word jumptarget - -.late_rodata -glabel rv -.word 0x3e4ccccd # 0.2f -.word jumptarget - -.text -glabel func4 -lui $at, %hi(rv) -jumptarget: -jr $ra -lwc1 $f0, %lo(rv)($at) -jr $ra -nop -jr $ra -nop -jr $ra -nop -jr $ra -nop -) -#else -float func4(void) { - "func4"; - return 0.2f; -} -#endif diff --git a/tools/asm-processor/tests/test2.objdump b/tools/asm-processor/tests/test2.objdump deleted file mode 100644 index f49a7dd1db..0000000000 --- a/tools/asm-processor/tests/test2.objdump +++ /dev/null @@ -1,32 +0,0 @@ - -tests/test2.o: file format elf32-tradbigmips - -Contents of section .text: - 0000 3c010000 03e00008 c4200020 03e00008 <........ . .... - 0010 00000000 03e00008 00000000 3c010000 ............<... - 0020 c4240024 e4040000 3c010000 c4260028 .$.$....<....&.( - 0030 e4060000 03e00008 00000000 03e00008 ................ - 0040 00000000 2c810008 10200017 00000000 ....,.... ...... - 0050 00047080 3c010000 002e0821 8c2e002c ..p.<......!..., - 0060 01c00008 00000000 03e00008 24020001 ............$... - 0070 03e00008 24020002 03e00008 24020003 ....$.......$... - 0080 03e00008 24020004 03e00008 24020005 ....$.......$... - 0090 03e00008 24020004 03e00008 24020004 ....$.......$... - 00a0 03e00008 24020004 03e00008 24020003 ....$.......$... - 00b0 03e00008 00000000 03e00008 00000000 ................ - 00c0 3c010000 03e00008 c4200000 03e00008 <........ ...... - 00d0 00000000 03e00008 00000000 03e00008 ................ - 00e0 00000000 03e00008 00000000 00000000 ................ -Contents of section .rodata: - 0000 01000000 66756e63 31000000 02000000 ....func1....... - 0010 03000000 66756e63 34000000 000000c4 ....func4....... - 0020 3dcccccd c0651234 c0651235 00000068 =....e.4.e.5...h - 0030 00000070 00000078 00000080 00000088 ...p...x........ - 0040 00000090 00000098 000000a0 3e4ccccd ............>L.. - 0050 000000c4 00000000 00000000 00000000 ................ -Contents of section .options: - 0000 01200000 00000000 80004016 00000000 . ........@..... - 0010 00000051 00000000 00000000 00007ff0 ...Q............ -Contents of section .reginfo: - 0000 80004016 00000000 00000051 00000000 ..@........Q.... - 0010 00000000 00007ff0 ........ diff --git a/tools/asm-processor/tests/test3.c b/tools/asm-processor/tests/test3.c deleted file mode 100644 index d74bb4cbd3..0000000000 --- a/tools/asm-processor/tests/test3.c +++ /dev/null @@ -1,70 +0,0 @@ - -GLOBAL_ASM( -.rdata -.word 321321 -.text -glabel test -/* 000090 00400090 27BDFFF8 */ addiu $sp, $sp, -24 -/* 000094 00400094 18A00009 */ blez $a1, .L004000BC -/* 000098 00400098 AFA00004 */ sw $zero, 4($sp) -.L0040009C: -/* 00009C 0040009C 8FAE0004 */ lw $t6, 4($sp) -/* 0000A0 004000A0 008E7821 */ addu $t7, $a0, $t6 -/* 0000A4 004000A4 A1E00000 */ sb $zero, ($t7) -/* 0000A8 004000A8 8FB80004 */ lw $t8, 4($sp) -/* 0000AC 004000AC 27190001 */ addiu $t9, $t8, 1 -/* 0000B0 004000B0 0325082A */ slt $at, $t9, $a1 -/* 0000B4 004000B4 1420FFF9 */ bnez $at, .L0040009C -/* 0000B8 004000B8 AFB90004 */ sw $t9, 4($sp) -.L004000BC: -/* 0000BC 004000BC 10000001 */ b .L004000C4 -/* 0000C0 004000C0 00000000 */ nop -.L004000C4: -/* 0000C4 004000C4 03E00008 */ jr $ra -/* 0000C8 004000C8 27BD0008 */ addiu $sp, $sp, 24 -) - -// static -> no symbols -// bss -char globalBuf[4]; -const char constBuf[4]; - -// data -char globalBufInit[4] = {1}; - -// rodata -const char constBufInit[4] = {1}; -const char constBufInit2[1] = {2}; -const char constBufInit3[1] = {3}; - -unsigned g(void); -unsigned f(void) { - // aligns to 4 or 8 byte boundary (char -> 4, double -> 8) - double x = 5.1; - float y = 5.2f; - float z = 5.3f; - "Hello "; - "World"; - return g(); -} - -GLOBAL_ASM( -.rdata -.word 123123 -.text -glabel g -/* 0000C0 004000C0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0000C4 004000C4 AFBF0014 */ sw $ra, 0x14($sp) -/* 0000C8 004000C8 240E0004 */ addiu $t6, $zero, 4 -/* 0000CC 004000CC 3C010041 */ lui $at, %hi(D_410100) -/* 0000D0 004000D0 AC2E0100 */ sw $t6, %lo(D_410100)($at) -/* 0000D4 004000D4 0C10002C */ jal func_004000B0 -/* 0000D8 004000D8 00000000 */ nop -/* 0000DC 004000DC 10000001 */ b .L004000E4 -/* 0000E0 004000E0 00000000 */ nop -.L004000E4: -/* 0000E4 004000E4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0000E8 004000E8 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0000EC 004000EC 03E00008 */ jr $ra -/* 0000F0 004000F0 00000000 */ nop -) diff --git a/tools/asm-processor/tests/test3.objdump b/tools/asm-processor/tests/test3.objdump deleted file mode 100644 index 9fb41ddb39..0000000000 --- a/tools/asm-processor/tests/test3.objdump +++ /dev/null @@ -1,30 +0,0 @@ - -tests/test3.o: file format elf32-tradbigmips - -Contents of section .text: - 0000 27bdffe8 18a00009 afa00004 8fae0004 '............... - 0010 008e7821 a1e00000 8fb80004 27190001 ..x!........'... - 0020 0325082a 1420fff9 afb90004 10000001 .%.*. .......... - 0030 00000000 03e00008 27bd0018 27bdffd8 ........'...'... - 0040 afbf0014 3c010000 d4240028 f7a40020 ....<....$.(... - 0050 3c010000 c4260030 e7a6001c 3c010000 <....&.0....<... - 0060 c4280034 e7a80018 0c000000 00000000 .(.4............ - 0070 10000003 00000000 10000001 00000000 ................ - 0080 8fbf0014 27bd0028 03e00008 00000000 ....'..(........ - 0090 27bdffe8 afbf0014 240e0004 3c010000 '.......$...<... - 00a0 ac2e0000 0c000000 00000000 10000001 ................ - 00b0 00000000 8fbf0014 27bd0018 03e00008 ........'....... - 00c0 00000000 00000000 00000000 00000000 ................ -Contents of section .rodata: - 0000 0004e729 01000000 02000000 03000000 ...)............ - 0010 48656c6c 6f202000 576f726c 64000000 Hello .World... - 0020 0001e0f3 00000000 40146666 66666666 ........@.ffffff - 0030 40a66666 40a9999a 00000000 00000000 @.ff@........... -Contents of section .data: - 0000 01000000 00000000 00000000 00000000 ................ -Contents of section .options: - 0000 01200000 00000000 a0000002 00000000 . .............. - 0010 00000170 00000000 00000000 00007ff0 ...p............ -Contents of section .reginfo: - 0000 a300c032 00000000 00000170 00000000 ...2.......p.... - 0010 00000000 00007ff0 ........ diff --git a/tools/assist.py b/tools/assist.py new file mode 100755 index 0000000000..7a05fde671 --- /dev/null +++ b/tools/assist.py @@ -0,0 +1,173 @@ +#!/usr/bin/env python3 + +import argparse, os, sys +from collections import OrderedDict + +script_dir = os.path.dirname(os.path.realpath(__file__)) +root_dir = script_dir + "/../" +asm_dir = root_dir + "asm/non_matchings/overlays" +build_dir = root_dir + "build/" + +def read_rom(): + with open("baserom_uncompressed.z64", "rb") as f: + return f.read() + + +def find_dir(query): + for root, dirs, files in os.walk(asm_dir): + for d in dirs: + if d == query: + return os.path.join(root, d) + return None + + +def get_all_s_files(): + ret = set() + for root, dirs, files in os.walk(asm_dir): + for f in files: + if f.endswith(".s"): + ret.add(f[:-2]) + return ret + + +def get_symbol_bytes(offsets, func): + if func not in offsets or "start" not in offsets[func] or "end" not in offsets[func]: + return None + start = offsets[func]["start"] + end = offsets[func]["end"] + return list(rom_bytes[start:end]) + + +def parse_map(fname): + ram_offset = None + cur_file = "" + syms = {} + prev_sym = None + prev_line = "" + with open(fname) as f: + for line in f: + if "load address" in line: + if "noload" in line or "noload" in prev_line: + ram_offset = None + continue + ram = int(line[16 : 16 + 18], 0) + rom = int(line[59 : 59 + 18], 0) + ram_offset = ram - rom + continue + prev_line = line + + if ( + ram_offset is None + or "=" in line + or "*fill*" in line + or " 0x" not in line + ): + continue + ram = int(line[16 : 16 + 18], 0) + rom = ram - ram_offset + fn = line.split()[-1] + if "0x" in fn: + ram_offset = None + elif "/" in fn: + cur_file = fn + else: + syms[fn] = (rom, cur_file, prev_sym, ram) + prev_sym = fn + return syms + + +def get_map_offsets(syms): + offsets = {} + for sym in syms: + prev_sym = syms[sym][2] + if sym not in offsets: + offsets[sym] = {} + if prev_sym not in offsets: + offsets[prev_sym] = {} + offsets[sym]["start"] = syms[sym][0] + offsets[prev_sym]["end"] = syms[sym][0] + return offsets + + +def diff_syms(qb, tb): + if len(tb) < 8: + return 0 + + if len(qb) > len(tb): + larger = qb + smaller = tb + else: + larger = tb + smaller = qb + + len_ratio = len(smaller) / len(larger) + + n_bytes = len(smaller) + matches = 0 + for i in range(0, n_bytes, 4): + if smaller[i] == larger[i]: + matches += 4 + return (matches / n_bytes) * len_ratio + + +def get_matches(query): + query_bytes = get_symbol_bytes(map_offsets, query) + if query_bytes is None: + sys.exit("Symbol '" + query + "' not found") + + ret = {} + for symbol in map_offsets: + if symbol is not None and query != symbol: + target_bytes = get_symbol_bytes(map_offsets, symbol) + if target_bytes is not None: + score = diff_syms(query_bytes, target_bytes) + if score >= args.threshold: + ret[symbol] = score + return OrderedDict(sorted(ret.items(), key=lambda kv: kv[1], reverse=True)) + + +def do_query(query): + matches = get_matches(query) + num_matches = len(matches) + + if num_matches == 0: + print(query + " - found no matches") + return + + i = 0 + more_str = ":" + if args.num_out < num_matches: + more_str = " (showing only " + str(args.num_out) + "):" + + print(query + " - found " + str(num_matches) + " matches total" + more_str) + for match in matches: + if i == args.num_out: + break + match_str = "{:.2f} - {}".format(matches[match], match) + if match not in s_files: + match_str += " (decompiled)" + print(match_str) + i += 1 + print() + +parser = argparse.ArgumentParser(description="Tools to assist with decomp") +parser.add_argument("query", help="function or file") +parser.add_argument("--threshold", help="score threshold between 0 and 1 (higher is more restrictive)", type=float, default=0.95, required=False) +parser.add_argument("--num-out", help="number of functions to display", type=int, default=10, required=False) + +args = parser.parse_args() + +rom_bytes = read_rom() +map_syms = parse_map(build_dir + "mm.map") +map_offsets = get_map_offsets(map_syms) + +s_files = get_all_s_files() + +query_dir = find_dir(args.query) + +if query_dir is not None: + files = os.listdir(query_dir) + for f_name in files: + do_query(f_name[:-2]) +else: + do_query(args.query) diff --git a/tools/bootstrap_actors.py b/tools/bootstrap_actors.py deleted file mode 100644 index 6f8b7cb9fe..0000000000 --- a/tools/bootstrap_actors.py +++ /dev/null @@ -1,2642 +0,0 @@ -#!/usr/bin/env python3 -import argparse, os, struct, collections, re - -actor_names = [ - "ACTOR_EN_TEST", - "ACTOR_EN_GIRLA", - "ACTOR_EN_PART", - "ACTOR_EN_LIGHT", - "ACTOR_EN_DOOR", - "ACTOR_EN_BOX", - "ACTOR_EN_PAMETFROG", - "ACTOR_EN_OKUTA", - "ACTOR_EN_BOM", - "ACTOR_EN_WALLMAS", - "ACTOR_EN_DODONGO", - "ACTOR_EN_FIREFLY", - "ACTOR_EN_HORSE", - "ACTOR_EN_ARROW", - "ACTOR_EN_ELF", - "ACTOR_EN_NIW", - "ACTOR_EN_TITE", - "ACTOR_EN_PEEHAT", - "ACTOR_EN_BUTTE", - "ACTOR_EN_INSECT", - "ACTOR_EN_FISH", - "ACTOR_EN_HOLL", - "ACTOR_EN_DINOFOS", - "ACTOR_EN_HATA", - "ACTOR_EN_ZL1", - "ACTOR_EN_VIEWER", - "ACTOR_EN_BUBBLE", - "ACTOR_DOOR_SHUTTER", - "ACTOR_EN_BOOM", - "ACTOR_EN_TORCH2", - "ACTOR_EN_MINIFROG", - "ACTOR_EN_ST", - "ACTOR_OBJ_WTURN", - "ACTOR_EN_RIVER_SOUND", - "ACTOR_EN_OSSAN", - "ACTOR_EN_FAMOS", - "ACTOR_EN_BOMBF", - "ACTOR_EN_AM", - "ACTOR_EN_DEKUBABA", - "ACTOR_EN_M_FIRE1", - "ACTOR_EN_M_THUNDER", - "ACTOR_BG_BREAKWALL", - "ACTOR_DOOR_WARP1", - "ACTOR_OBJ_SYOKUDAI", - "ACTOR_ITEM_B_HEART", - "ACTOR_EN_DEKUNUTS", - "ACTOR_EN_BBFALL", - "ACTOR_ARMS_HOOK", - "ACTOR_EN_BB", - "ACTOR_BG_KEIKOKU_SPR", - "ACTOR_EN_WOOD02", - "ACTOR_EN_DEATH", - "ACTOR_EN_MINIDEATH", - "ACTOR_EN_VM", - "ACTOR_DEMO_EFFECT", - "ACTOR_DEMO_KANKYO", - "ACTOR_EN_FLOORMAS", - "ACTOR_EN_RD", - "ACTOR_BG_F40_FLIFT", - "ACTOR_OBJ_MURE", - "ACTOR_EN_SW", - "ACTOR_OBJECT_KANKYO", - "ACTOR_EN_HORSE_LINK_CHILD", - "ACTOR_DOOR_ANA", - "ACTOR_EN_ENCOUNT1", - "ACTOR_DEMO_TRE_LGT", - "ACTOR_EN_ENCOUNT2", - "ACTOR_EN_FIRE_ROCK", - "ACTOR_BG_CTOWER_ROT", - "ACTOR_MIR_RAY", - "ACTOR_EN_SB", - "ACTOR_EN_BIGSLIME", - "ACTOR_EN_KAREBABA", - "ACTOR_EN_IN", - "ACTOR_EN_RU", - "ACTOR_EN_BOM_CHU", - "ACTOR_EN_HORSE_GAME_CHECK", - "ACTOR_EN_RR", - "ACTOR_EN_FR", - "ACTOR_OBJ_OSHIHIKI", - "ACTOR_EFF_DUST", - "ACTOR_BG_UMAJUMP", - "ACTOR_ARROW_FIRE", - "ACTOR_ARROW_ICE", - "ACTOR_ARROW_LIGHT", - "ACTOR_ITEM_ETCETERA", - "ACTOR_OBJ_KIBAKO", - "ACTOR_OBJ_TSUBO", - "ACTOR_EN_IK", - "ACTOR_DEMO_SHD", - "ACTOR_EN_DNS", - "ACTOR_ELF_MSG", - "ACTOR_EN_HONOTRAP", - "ACTOR_EN_TUBO_TRAP", - "ACTOR_OBJ_ICE_POLY", - "ACTOR_EN_FZ", - "ACTOR_EN_KUSA", - "ACTOR_OBJ_BEAN", - "ACTOR_OBJ_BOMBIWA", - "ACTOR_OBJ_SWITCH", - "ACTOR_OBJ_LIFT", - "ACTOR_OBJ_HSBLOCK", - "ACTOR_EN_OKARINA_TAG", - "ACTOR_EN_GOROIWA", - "ACTOR_EN_DAIKU", - "ACTOR_EN_NWC", - "ACTOR_ITEM_INBOX", - "ACTOR_EN_GE1", - "ACTOR_OBJ_BLOCKSTOP", - "ACTOR_EN_SDA", - "ACTOR_EN_CLEAR_TAG", - "ACTOR_EN_GM", - "ACTOR_EN_MS", - "ACTOR_EN_HS", - "ACTOR_BG_INGATE", - "ACTOR_EN_KANBAN", - "ACTOR_EN_ATTACK_NIW", - "ACTOR_EN_MK", - "ACTOR_EN_OWL", - "ACTOR_EN_ISHI", - "ACTOR_OBJ_HANA", - "ACTOR_OBJ_LIGHTSWITCH", - "ACTOR_OBJ_MURE2", - "ACTOR_EN_FU", - "ACTOR_EN_STREAM", - "ACTOR_EN_MM", - "ACTOR_EN_WEATHER_TAG", - "ACTOR_EN_ANI", - "ACTOR_EN_JS", - "ACTOR_EN_OKARINA_EFFECT", - "ACTOR_EN_MAG", - "ACTOR_ELF_MSG2", - "ACTOR_BG_F40_SWLIFT", - "ACTOR_EN_KAKASI", - "ACTOR_OBJ_MAKEOSHIHIKI", - "ACTOR_OCEFF_SPOT", - "ACTOR_EN_TORCH", - "ACTOR_SHOT_SUN", - "ACTOR_OBJ_ROOMTIMER", - "ACTOR_EN_SSH", - "ACTOR_OCEFF_WIPE", - "ACTOR_OCEFF_STORM", - "ACTOR_OBJ_DEMO", - "ACTOR_EN_MINISLIME", - "ACTOR_EN_NUTSBALL", - "ACTOR_OCEFF_WIPE2", - "ACTOR_OCEFF_WIPE3", - "ACTOR_EN_DG", - "ACTOR_EN_SI", - "ACTOR_OBJ_COMB", - "ACTOR_OBJ_KIBAKO2", - "ACTOR_EN_HS2", - "ACTOR_OBJ_MURE3", - "ACTOR_EN_TG", - "ACTOR_EN_WF", - "ACTOR_EN_SKB", - "ACTOR_EN_GS", - "ACTOR_OBJ_SOUND", - "ACTOR_EN_CROW", - "ACTOR_EN_COW", - "ACTOR_OCEFF_WIPE4", - "ACTOR_EN_ZO", - "ACTOR_OBJ_MAKEKINSUTA", - "ACTOR_EN_GE3", - "ACTOR_OBJ_HAMISHI", - "ACTOR_EN_ZL4", - "ACTOR_EN_MM2", - "ACTOR_DOOR_SPIRAL", - "ACTOR_OBJ_PZLBLOCK", - "ACTOR_OBJ_TOGE", - "ACTOR_OBJ_ARMOS", - "ACTOR_OBJ_BOYO", - "ACTOR_EN_GRASSHOPPER", - "ACTOR_OBJ_GRASS", - "ACTOR_OBJ_GRASS_CARRY", - "ACTOR_OBJ_GRASS_UNIT", - "ACTOR_BG_FIRE_WALL", - "ACTOR_EN_BU", - "ACTOR_EN_ENCOUNT3", - "ACTOR_EN_JSO", - "ACTOR_OBJ_CHIKUWA", - "ACTOR_EN_KNIGHT", - "ACTOR_EN_WARP_TAG", - "ACTOR_EN_AOB_01", - "ACTOR_EN_BOJ_01", - "ACTOR_EN_BOJ_02", - "ACTOR_EN_BOJ_03", - "ACTOR_EN_ENCOUNT4", - "ACTOR_EN_BOM_BOWL_MAN", - "ACTOR_EN_SYATEKI_MAN", - "ACTOR_BG_ICICLE", - "ACTOR_EN_SYATEKI_CROW", - "ACTOR_EN_BOJ_04", - "ACTOR_EN_CNE_01", - "ACTOR_EN_BBA_01", - "ACTOR_EN_BJI_01", - "ACTOR_BG_SPDWEB", - "ACTOR_EN_MT_TAG", - "ACTOR_BOSS_01", - "ACTOR_BOSS_02", - "ACTOR_BOSS_03", - "ACTOR_BOSS_04", - "ACTOR_BOSS_05", - "ACTOR_BOSS_06", - "ACTOR_BOSS_07", - "ACTOR_BG_DY_YOSEIZO", - "ACTOR_EN_BOJ_05", - "ACTOR_EN_SOB1", - "ACTOR_EN_GO", - "ACTOR_EN_RAF", - "ACTOR_OBJ_FUNEN", - "ACTOR_OBJ_RAILLIFT", - "ACTOR_BG_NUMA_HANA", - "ACTOR_OBJ_FLOWERPOT", - "ACTOR_OBJ_SPINYROLL", - "ACTOR_DM_HINA", - "ACTOR_EN_SYATEKI_WF", - "ACTOR_OBJ_SKATEBLOCK", - "ACTOR_OBJ_ICEBLOCK", - "ACTOR_EN_BIGPAMET", - "ACTOR_EN_SYATEKI_DEKUNUTS", - "ACTOR_ELF_MSG3", - "ACTOR_EN_FG", - "ACTOR_DM_RAVINE", - "ACTOR_DM_SA", - "ACTOR_EN_SLIME", - "ACTOR_EN_PR", - "ACTOR_OBJ_TOUDAI", - "ACTOR_OBJ_ENTOTU", - "ACTOR_OBJ_BELL", - "ACTOR_EN_SYATEKI_OKUTA", - "ACTOR_OBJ_SHUTTER", - "ACTOR_DM_ZL", - "ACTOR_EN_ELFGRP", - "ACTOR_DM_TSG", - "ACTOR_EN_BAGUO", - "ACTOR_OBJ_VSPINYROLL", - "ACTOR_OBJ_SMORK", - "ACTOR_EN_TEST2", - "ACTOR_EN_TEST3", - "ACTOR_EN_TEST4", - "ACTOR_EN_BAT", - "ACTOR_EN_SEKIHI", - "ACTOR_EN_WIZ", - "ACTOR_EN_WIZ_BROCK", - "ACTOR_EN_WIZ_FIRE", - "ACTOR_EFF_CHANGE", - "ACTOR_DM_STATUE", - "ACTOR_OBJ_FIRESHIELD", - "ACTOR_BG_LADDER", - "ACTOR_EN_MKK", - "ACTOR_DEMO_GETITEM", - "ACTOR_EN_DNB", - "ACTOR_EN_DNH", - "ACTOR_EN_DNK", - "ACTOR_EN_DNQ", - "ACTOR_BG_KEIKOKU_SAKU", - "ACTOR_OBJ_HUGEBOMBIWA", - "ACTOR_EN_FIREFLY2", - "ACTOR_EN_RAT", - "ACTOR_EN_WATER_EFFECT", - "ACTOR_EN_KUSA2", - "ACTOR_BG_SPOUT_FIRE", - "ACTOR_BG_DBLUE_MOVEBG", - "ACTOR_EN_DY_EXTRA", - "ACTOR_EN_BAL", - "ACTOR_EN_GINKO_MAN", - "ACTOR_EN_WARP_UZU", - "ACTOR_OBJ_DRIFTICE", - "ACTOR_EN_LOOK_NUTS", - "ACTOR_EN_MUSHI2", - "ACTOR_EN_FALL", - "ACTOR_EN_MM3", - "ACTOR_BG_CRACE_MOVEBG", - "ACTOR_EN_DNO", - "ACTOR_EN_PR2", - "ACTOR_EN_PRZ", - "ACTOR_EN_JSO2", - "ACTOR_OBJ_ETCETERA", - "ACTOR_EN_EGOL", - "ACTOR_OBJ_MINE", - "ACTOR_OBJ_PURIFY", - "ACTOR_EN_TRU", - "ACTOR_EN_TRT", - "ACTOR_EN_TEST5", - "ACTOR_EN_TEST6", - "ACTOR_EN_AZ", - "ACTOR_EN_ESTONE", - "ACTOR_BG_HAKUGIN_POST", - "ACTOR_DM_OPSTAGE", - "ACTOR_DM_STK", - "ACTOR_DM_CHAR00", - "ACTOR_DM_CHAR01", - "ACTOR_DM_CHAR02", - "ACTOR_DM_CHAR03", - "ACTOR_DM_CHAR04", - "ACTOR_DM_CHAR05", - "ACTOR_DM_CHAR06", - "ACTOR_DM_CHAR07", - "ACTOR_DM_CHAR08", - "ACTOR_DM_CHAR09", - "ACTOR_OBJ_TOKEIDAI", - "ACTOR_EN_MNK", - "ACTOR_EN_EGBLOCK", - "ACTOR_EN_GUARD_NUTS", - "ACTOR_BG_HAKUGIN_BOMBWALL", - "ACTOR_OBJ_TOKEI_TOBIRA", - "ACTOR_BG_HAKUGIN_ELVPOLE", - "ACTOR_EN_MA4", - "ACTOR_EN_TWIG", - "ACTOR_EN_PO_FUSEN", - "ACTOR_EN_DOOR_ETC", - "ACTOR_EN_BIGOKUTA", - "ACTOR_BG_ICEFLOE", - "ACTOR_OBJ_OCARINALIFT", - "ACTOR_EN_TIME_TAG", - "ACTOR_BG_OPEN_SHUTTER", - "ACTOR_BG_OPEN_SPOT", - "ACTOR_BG_FU_KAITEN", - "ACTOR_OBJ_AQUA", - "ACTOR_EN_ELFORG", - "ACTOR_EN_ELFBUB", - "ACTOR_EN_FU_MATO", - "ACTOR_EN_FU_KAGO", - "ACTOR_EN_OSN", - "ACTOR_BG_CTOWER_GEAR", - "ACTOR_EN_TRT2", - "ACTOR_OBJ_TOKEI_STEP", - "ACTOR_BG_LOTUS", - "ACTOR_EN_KAME", - "ACTOR_OBJ_TAKARAYA_WALL", - "ACTOR_BG_FU_MIZU", - "ACTOR_EN_SELLNUTS", - "ACTOR_BG_DKJAIL_IVY", - "ACTOR_OBJ_VISIBLOCK", - "ACTOR_EN_TAKARAYA", - "ACTOR_EN_TSN", - "ACTOR_EN_DS2N", - "ACTOR_EN_FSN", - "ACTOR_EN_SHN", - "ACTOR_EN_STOP_HEISHI", - "ACTOR_OBJ_BIGICICLE", - "ACTOR_EN_LIFT_NUTS", - "ACTOR_EN_TK", - "ACTOR_BG_MARKET_STEP", - "ACTOR_OBJ_LUPYGAMELIFT", - "ACTOR_EN_TEST7", - "ACTOR_OBJ_LIGHTBLOCK", - "ACTOR_MIR_RAY2", - "ACTOR_EN_WDHAND", - "ACTOR_EN_GAMELUPY", - "ACTOR_BG_DANPEI_MOVEBG", - "ACTOR_EN_SNOWWD", - "ACTOR_EN_PM", - "ACTOR_EN_GAKUFU", - "ACTOR_ELF_MSG4", - "ACTOR_ELF_MSG5", - "ACTOR_EN_COL_MAN", - "ACTOR_EN_TALK_GIBUD", - "ACTOR_EN_GIANT", - "ACTOR_OBJ_SNOWBALL", - "ACTOR_BOSS_HAKUGIN", - "ACTOR_EN_GB2", - "ACTOR_EN_ONPUMAN", - "ACTOR_BG_TOBIRA01", - "ACTOR_EN_TAG_OBJ", - "ACTOR_OBJ_DHOUSE", - "ACTOR_OBJ_HAKAISI", - "ACTOR_BG_HAKUGIN_SWITCH", - "ACTOR_EN_SNOWMAN", - "ACTOR_TG_SW", - "ACTOR_EN_PO_SISTERS", - "ACTOR_EN_PP", - "ACTOR_EN_HAKUROCK", - "ACTOR_EN_HANABI", - "ACTOR_OBJ_DOWSING", - "ACTOR_OBJ_WIND", - "ACTOR_EN_RACEDOG", - "ACTOR_EN_KENDO_JS", - "ACTOR_BG_BOTIHASIRA", - "ACTOR_EN_FISH2", - "ACTOR_EN_PST", - "ACTOR_EN_POH", - "ACTOR_OBJ_SPIDERTENT", - "ACTOR_EN_ZORAEGG", - "ACTOR_EN_KBT", - "ACTOR_EN_GG", - "ACTOR_EN_MARUTA", - "ACTOR_OBJ_SNOWBALL2", - "ACTOR_EN_GG2", - "ACTOR_OBJ_GHAKA", - "ACTOR_EN_DNP", - "ACTOR_EN_DAI", - "ACTOR_BG_GORON_OYU", - "ACTOR_EN_KGY", - "ACTOR_EN_INVADEPOH", - "ACTOR_EN_GK", - "ACTOR_EN_AN", - "ACTOR_EN_BEE", - "ACTOR_EN_OT", - "ACTOR_EN_DRAGON", - "ACTOR_OBJ_DORA", - "ACTOR_EN_BIGPO", - "ACTOR_OBJ_KENDO_KANBAN", - "ACTOR_OBJ_HARIKO", - "ACTOR_EN_STH", - "ACTOR_BG_SINKAI_KABE", - "ACTOR_BG_HAKA_CURTAIN", - "ACTOR_BG_KIN2_BOMBWALL", - "ACTOR_BG_KIN2_FENCE", - "ACTOR_BG_KIN2_PICTURE", - "ACTOR_BG_KIN2_SHELF", - "ACTOR_EN_RAIL_SKB", - "ACTOR_EN_JG", - "ACTOR_EN_TRU_MT", - "ACTOR_OBJ_UM", - "ACTOR_EN_NEO_REEBA", - "ACTOR_BG_MBAR_CHAIR", - "ACTOR_BG_IKANA_BLOCK", - "ACTOR_BG_IKANA_MIRROR", - "ACTOR_BG_IKANA_ROTARYROOM", - "ACTOR_BG_DBLUE_BALANCE", - "ACTOR_BG_DBLUE_WATERFALL", - "ACTOR_EN_KAIZOKU", - "ACTOR_EN_GE2", - "ACTOR_EN_MA_YTS", - "ACTOR_EN_MA_YTO", - "ACTOR_OBJ_TOKEI_TURRET", - "ACTOR_BG_DBLUE_ELEVATOR", - "ACTOR_OBJ_WARPSTONE", - "ACTOR_EN_ZOG", - "ACTOR_OBJ_ROTLIFT", - "ACTOR_OBJ_JG_GAKKI", - "ACTOR_BG_INIBS_MOVEBG", - "ACTOR_EN_ZOT", - "ACTOR_OBJ_TREE", - "ACTOR_OBJ_Y2LIFT", - "ACTOR_OBJ_Y2SHUTTER", - "ACTOR_OBJ_BOAT", - "ACTOR_OBJ_TARU", - "ACTOR_OBJ_HUNSUI", - "ACTOR_EN_JC_MATO", - "ACTOR_MIR_RAY3", - "ACTOR_EN_ZOB", - "ACTOR_ELF_MSG6", - "ACTOR_OBJ_NOZOKI", - "ACTOR_EN_TOTO", - "ACTOR_EN_RAILGIBUD", - "ACTOR_EN_BABA", - "ACTOR_EN_SUTTARI", - "ACTOR_EN_ZOD", - "ACTOR_EN_KUJIYA", - "ACTOR_EN_GEG", - "ACTOR_OBJ_KINOKO", - "ACTOR_OBJ_YASI", - "ACTOR_EN_TANRON1", - "ACTOR_EN_TANRON2", - "ACTOR_EN_TANRON3", - "ACTOR_OBJ_CHAN", - "ACTOR_EN_ZOS", - "ACTOR_EN_S_GORO", - "ACTOR_EN_NB", - "ACTOR_EN_JA", - "ACTOR_BG_F40_BLOCK", - "ACTOR_BG_F40_SWITCH", - "ACTOR_EN_PO_COMPOSER", - "ACTOR_EN_GURUGURU", - "ACTOR_OCEFF_WIPE5", - "ACTOR_EN_STONE_HEISHI", - "ACTOR_OCEFF_WIPE6", - "ACTOR_EN_SCOPENUTS", - "ACTOR_EN_SCOPECROW", - "ACTOR_OCEFF_WIPE7", - "ACTOR_EFF_KAMEJIMA_WAVE", - "ACTOR_EN_HG", - "ACTOR_EN_HGO", - "ACTOR_EN_ZOV", - "ACTOR_EN_AH", - "ACTOR_OBJ_HGDOOR", - "ACTOR_BG_IKANA_BOMBWALL", - "ACTOR_BG_IKANA_RAY", - "ACTOR_BG_IKANA_SHUTTER", - "ACTOR_BG_HAKA_BOMBWALL", - "ACTOR_BG_HAKA_TOMB", - "ACTOR_EN_SC_RUPPE", - "ACTOR_BG_IKNV_DOUKUTU", - "ACTOR_BG_IKNV_OBJ", - "ACTOR_EN_PAMERA", - "ACTOR_OBJ_HSSTUMP", - "ACTOR_EN_HIDDEN_NUTS", - "ACTOR_EN_ZOW", - "ACTOR_EN_TALK", - "ACTOR_EN_AL", - "ACTOR_EN_TAB", - "ACTOR_EN_NIMOTSU", - "ACTOR_EN_HIT_TAG", - "ACTOR_EN_RUPPECROW", - "ACTOR_EN_TANRON4", - "ACTOR_EN_TANRON5", - "ACTOR_EN_TANRON6", - "ACTOR_EN_DAIKU2", - "ACTOR_EN_MUTO", - "ACTOR_EN_BAISEN", - "ACTOR_EN_HEISHI", - "ACTOR_EN_DEMO_HEISHI", - "ACTOR_EN_DT", - "ACTOR_EN_CHA", - "ACTOR_OBJ_DINNER", - "ACTOR_EFF_LASTDAY", - "ACTOR_BG_IKANA_DHARMA", - "ACTOR_EN_AKINDONUTS", - "ACTOR_EFF_STK", - "ACTOR_EN_IG", - "ACTOR_EN_RG", - "ACTOR_EN_OSK", - "ACTOR_EN_STH2", - "ACTOR_EN_YB", - "ACTOR_EN_RZ", - "ACTOR_EN_SCOPECOIN", - "ACTOR_EN_BJT", - "ACTOR_EN_BOMJIMA", - "ACTOR_EN_BOMJIMB", - "ACTOR_EN_BOMBERS", - "ACTOR_EN_BOMBERS2", - "ACTOR_EN_BOMBAL", - "ACTOR_OBJ_MOON_STONE", - "ACTOR_OBJ_MU_PICT", - "ACTOR_BG_IKNINSIDE", - "ACTOR_EFF_ZORABAND", - "ACTOR_OBJ_KEPN_KOYA", - "ACTOR_OBJ_USIYANE", - "ACTOR_EN_NNH", - "ACTOR_OBJ_KZSAKU", - "ACTOR_OBJ_MILK_BIN", - "ACTOR_EN_KITAN", - "ACTOR_BG_ASTR_BOMBWALL", - "ACTOR_BG_IKNIN_SUSCEIL", - "ACTOR_EN_BSB", - "ACTOR_EN_RECEPGIRL", - "ACTOR_EN_THIEFBIRD", - "ACTOR_EN_JGAME_TSN", - "ACTOR_OBJ_JGAME_LIGHT", - "ACTOR_OBJ_YADO", - "ACTOR_DEMO_SYOTEN", - "ACTOR_DEMO_MOONEND", - "ACTOR_BG_LBFSHOT", - "ACTOR_BG_LAST_BWALL", - "ACTOR_EN_AND", - "ACTOR_EN_INVADEPOH_DEMO", - "ACTOR_OBJ_DANPEILIFT", - "ACTOR_EN_FALL2", - "ACTOR_DM_AL", - "ACTOR_DM_AN", - "ACTOR_DM_AH", - "ACTOR_DM_NB", - "ACTOR_EN_DRS", - "ACTOR_EN_ENDING_HERO", - "ACTOR_DM_BAL", - "ACTOR_EN_PAPER", - "ACTOR_EN_HINT_SKB", - "ACTOR_DM_TAG", - "ACTOR_EN_BH", - "ACTOR_EN_ENDING_HERO2", - "ACTOR_EN_ENDING_HERO3", - "ACTOR_EN_ENDING_HERO4", - "ACTOR_EN_ENDING_HERO5", - "ACTOR_EN_ENDING_HERO6", - "ACTOR_DM_GM", - "ACTOR_OBJ_SWPRIZE", - "ACTOR_EN_INVISIBLE_RUPPE", - "ACTOR_OBJ_ENDING", - "ACTOR_EN_RSN", -] - -overlay_names = [ - "ovl_En_Test", - "ovl_En_GirlA", - "ovl_En_Part", - "ovl_En_Light", - "ovl_En_Door", - "ovl_En_Box", - "ovl_En_Pametfrog", - "ovl_En_Okuta", - "ovl_En_Bom", - "ovl_En_Wallmas", - "ovl_En_Dodongo", - "ovl_En_Firefly", - "ovl_En_Horse", - "ovl_En_Arrow", - "ovl_En_Elf", - "ovl_En_Niw", - "ovl_En_Tite", - "ovl_En_Peehat", - "ovl_En_Butte", - "ovl_En_Insect", - "ovl_En_Fish", - "ovl_En_Holl", - "ovl_En_Dinofos", - "ovl_En_Hata", - "ovl_En_Zl1", - "ovl_En_Viewer", - "ovl_En_Bubble", - "ovl_Door_Shutter", - "ovl_En_Boom", - "ovl_En_Torch2", - "ovl_En_Minifrog", - "ovl_En_St", - "ovl_Obj_Wturn", - "ovl_En_River_Sound", - "ovl_En_Ossan", - "ovl_En_Famos", - "ovl_En_Bombf", - "ovl_En_Am", - "ovl_En_Dekubaba", - "ovl_En_M_Fire1", - "ovl_En_M_Thunder", - "ovl_Bg_Breakwall", - "ovl_Door_Warp1", - "ovl_Obj_Syokudai", - "ovl_Item_B_Heart", - "ovl_En_Dekunuts", - "ovl_En_Bbfall", - "ovl_Arms_Hook", - "ovl_En_Bb", - "ovl_Bg_Keikoku_Spr", - "ovl_En_Wood02", - "ovl_En_Death", - "ovl_En_Minideath", - "ovl_En_Vm", - "ovl_Demo_Effect", - "ovl_Demo_Kankyo", - "ovl_En_Floormas", - "ovl_En_Rd", - "ovl_Bg_F40_Flift", - "ovl_Obj_Mure", - "ovl_En_Sw", - "ovl_Object_Kankyo", - "ovl_En_Horse_Link_Child", - "ovl_Door_Ana", - "ovl_En_Encount1", - "ovl_Demo_Tre_Lgt", - "ovl_En_Encount2", - "ovl_En_Fire_Rock", - "ovl_Bg_Ctower_Rot", - "ovl_Mir_Ray", - "ovl_En_Sb", - "ovl_En_Bigslime", - "ovl_En_Karebaba", - "ovl_En_In", - "ovl_En_Ru", - "ovl_En_Bom_Chu", - "ovl_En_Horse_Game_Check", - "ovl_En_Rr", - "ovl_En_Fr", - "ovl_Obj_Oshihiki", - "ovl_Eff_Dust", - "ovl_Bg_Umajump", - "ovl_Arrow_Fire", - "ovl_Arrow_Ice", - "ovl_Arrow_Light", - "ovl_Item_Etcetera", - "ovl_Obj_Kibako", - "ovl_Obj_Tsubo", - "ovl_En_Ik", - "ovl_Demo_Shd", - "ovl_En_Dns", - "ovl_Elf_Msg", - "ovl_En_Honotrap", - "ovl_En_Tubo_Trap", - "ovl_Obj_Ice_Poly", - "ovl_En_Fz", - "ovl_En_Kusa", - "ovl_Obj_Bean", - "ovl_Obj_Bombiwa", - "ovl_Obj_Switch", - "ovl_Obj_Lift", - "ovl_Obj_Hsblock", - "ovl_En_Okarina_Tag", - "ovl_En_Goroiwa", - "ovl_En_Daiku", - "ovl_En_Nwc", - "ovl_Item_Inbox", - "ovl_En_Ge1", - "ovl_Obj_Blockstop", - "ovl_En_Sda", - "ovl_En_Clear_Tag", - "ovl_En_Gm", - "ovl_En_Ms", - "ovl_En_Hs", - "ovl_Bg_Ingate", - "ovl_En_Kanban", - "ovl_En_Attack_Niw", - "ovl_En_Mk", - "ovl_En_Owl", - "ovl_En_Ishi", - "ovl_Obj_Hana", - "ovl_Obj_Lightswitch", - "ovl_Obj_Mure2", - "ovl_En_Fu", - "ovl_En_Stream", - "ovl_En_Mm", - "ovl_En_Weather_Tag", - "ovl_En_Ani", - "ovl_En_Js", - "ovl_En_Okarina_Effect", - "ovl_En_Mag", - "ovl_Elf_Msg2", - "ovl_Bg_F40_Swlift", - "ovl_En_Kakasi", - "ovl_Obj_Makeoshihiki", - "ovl_Oceff_Spot", - "ovl_En_Torch", - "ovl_Shot_Sun", - "ovl_Obj_Roomtimer", - "ovl_En_Ssh", - "ovl_Oceff_Wipe", - "ovl_Oceff_Storm", - "ovl_Obj_Demo", - "ovl_En_Minislime", - "ovl_En_Nutsball", - "ovl_Oceff_Wipe2", - "ovl_Oceff_Wipe3", - "ovl_En_Dg", - "ovl_En_Si", - "ovl_Obj_Comb", - "ovl_Obj_Kibako2", - "ovl_En_Hs2", - "ovl_Obj_Mure3", - "ovl_En_Tg", - "ovl_En_Wf", - "ovl_En_Skb", - "ovl_En_Gs", - "ovl_Obj_Sound", - "ovl_En_Crow", - "ovl_En_Cow", - "ovl_Oceff_Wipe4", - "ovl_En_Zo", - "ovl_Obj_Makekinsuta", - "ovl_En_Ge3", - "ovl_Obj_Hamishi", - "ovl_En_Zl4", - "ovl_En_Mm2", - "ovl_Door_Spiral", - "ovl_Obj_Pzlblock", - "ovl_Obj_Toge", - "ovl_Obj_Armos", - "ovl_Obj_Boyo", - "ovl_En_Grasshopper", - "ovl_Obj_Grass", - "ovl_Obj_Grass_Carry", - "ovl_Obj_Grass_Unit", - "ovl_Bg_Fire_Wall", - "ovl_En_Bu", - "ovl_En_Encount3", - "ovl_En_Jso", - "ovl_Obj_Chikuwa", - "ovl_En_Knight", - "ovl_En_Warp_tag", - "ovl_En_Aob_01", - "ovl_En_Boj_01", - "ovl_En_Boj_02", - "ovl_En_Boj_03", - "ovl_En_Encount4", - "ovl_En_Bom_Bowl_Man", - "ovl_En_Syateki_Man", - "ovl_Bg_Icicle", - "ovl_En_Syateki_Crow", - "ovl_En_Boj_04", - "ovl_En_Cne_01", - "ovl_En_Bba_01", - "ovl_En_Bji_01", - "ovl_Bg_Spdweb", - "ovl_En_Mt_tag", - "ovl_Boss_01", - "ovl_Boss_02", - "ovl_Boss_03", - "ovl_Boss_04", - "ovl_Boss_05", - "ovl_Boss_06", - "ovl_Boss_07", - "ovl_Bg_Dy_Yoseizo", - "ovl_En_Boj_05", - "ovl_En_Sob1", - "ovl_En_Go", - "ovl_En_Raf", - "ovl_Obj_Funen", - "ovl_Obj_Raillift", - "ovl_Bg_Numa_Hana", - "ovl_Obj_Flowerpot", - "ovl_Obj_Spinyroll", - "ovl_Dm_Hina", - "ovl_En_Syateki_Wf", - "ovl_Obj_Skateblock", - "ovl_Obj_Iceblock", - "ovl_En_Bigpamet", - "ovl_En_Syateki_Dekunuts", - "ovl_Elf_Msg3", - "ovl_En_Fg", - "ovl_Dm_Ravine", - "ovl_Dm_Sa", - "ovl_En_Slime", - "ovl_En_Pr", - "ovl_Obj_Toudai", - "ovl_Obj_Entotu", - "ovl_Obj_Bell", - "ovl_En_Syateki_Okuta", - "ovl_Obj_Shutter", - "ovl_Dm_Zl", - "ovl_En_Elfgrp", - "ovl_Dm_Tsg", - "ovl_En_Baguo", - "ovl_Obj_Vspinyroll", - "ovl_Obj_Smork", - "ovl_En_Test2", - "ovl_En_Test3", - "ovl_En_Test4", - "ovl_En_Bat", - "ovl_En_Sekihi", - "ovl_En_Wiz", - "ovl_En_Wiz_Brock", - "ovl_En_Wiz_Fire", - "ovl_Eff_Change", - "ovl_Dm_Statue", - "ovl_Obj_Fireshield", - "ovl_Bg_Ladder", - "ovl_En_Mkk", - "ovl_Demo_Getitem", - "ovl_En_Dnb", - "ovl_En_Dnh", - "ovl_En_Dnk", - "ovl_En_Dnq", - "ovl_Bg_Keikoku_Saku", - "ovl_Obj_Hugebombiwa", - "ovl_En_Firefly2", - "ovl_En_Rat", - "ovl_En_Water_Effect", - "ovl_En_Kusa2", - "ovl_Bg_Spout_Fire", - "ovl_Bg_Dblue_Movebg", - "ovl_En_Dy_Extra", - "ovl_En_Bal", - "ovl_En_Ginko_Man", - "ovl_En_Warp_Uzu", - "ovl_Obj_Driftice", - "ovl_En_Look_Nuts", - "ovl_En_Mushi2", - "ovl_En_Fall", - "ovl_En_Mm3", - "ovl_Bg_Crace_Movebg", - "ovl_En_Dno", - "ovl_En_Pr2", - "ovl_En_Prz", - "ovl_En_Jso2", - "ovl_Obj_Etcetera", - "ovl_En_Egol", - "ovl_Obj_Mine", - "ovl_Obj_Purify", - "ovl_En_Tru", - "ovl_En_Trt", - "ovl_En_Test5", - "ovl_En_Test6", - "ovl_En_Az", - "ovl_En_Estone", - "ovl_Bg_Hakugin_Post", - "ovl_Dm_Opstage", - "ovl_Dm_Stk", - "ovl_Dm_Char00", - "ovl_Dm_Char01", - "ovl_Dm_Char02", - "ovl_Dm_Char03", - "ovl_Dm_Char04", - "ovl_Dm_Char05", - "ovl_Dm_Char06", - "ovl_Dm_Char07", - "ovl_Dm_Char08", - "ovl_Dm_Char09", - "ovl_Obj_Tokeidai", - "ovl_En_Mnk", - "ovl_En_Egblock", - "ovl_En_Guard_Nuts", - "ovl_Bg_Hakugin_Bombwall", - "ovl_Obj_Tokei_Tobira", - "ovl_Bg_Hakugin_Elvpole", - "ovl_En_Ma4", - "ovl_En_Twig", - "ovl_En_Po_Fusen", - "ovl_En_Door_Etc", - "ovl_En_Bigokuta", - "ovl_Bg_Icefloe", - "ovl_Obj_Ocarinalift", - "ovl_En_Time_Tag", - "ovl_Bg_Open_Shutter", - "ovl_Bg_Open_Spot", - "ovl_Bg_Fu_Kaiten", - "ovl_Obj_Aqua", - "ovl_En_Elforg", - "ovl_En_Elfbub", - "ovl_En_Fu_Mato", - "ovl_En_Fu_Kago", - "ovl_En_Osn", - "ovl_Bg_Ctower_Gear", - "ovl_En_Trt2", - "ovl_Obj_Tokei_Step", - "ovl_Bg_Lotus", - "ovl_En_Kame", - "ovl_Obj_Takaraya_Wall", - "ovl_Bg_Fu_Mizu", - "ovl_En_Sellnuts", - "ovl_Bg_Dkjail_Ivy", - "ovl_Obj_Visiblock", - "ovl_En_Takaraya", - "ovl_En_Tsn", - "ovl_En_Ds2n", - "ovl_En_Fsn", - "ovl_En_Shn", - "ovl_En_Stop_heishi", - "ovl_Obj_Bigicicle", - "ovl_En_Lift_Nuts", - "ovl_En_Tk", - "ovl_Bg_Market_Step", - "ovl_Obj_Lupygamelift", - "ovl_En_Test7", - "ovl_Obj_Lightblock", - "ovl_Mir_Ray2", - "ovl_En_Wdhand", - "ovl_En_Gamelupy", - "ovl_Bg_Danpei_Movebg", - "ovl_En_Snowwd", - "ovl_En_Pm", - "ovl_En_Gakufu", - "ovl_Elf_Msg4", - "ovl_Elf_Msg5", - "ovl_En_Col_Man", - "ovl_En_Talk_Gibud", - "ovl_En_Giant", - "ovl_Obj_Snowball", - "ovl_Boss_Hakugin", - "ovl_En_Gb2", - "ovl_En_Onpuman", - "ovl_Bg_Tobira01", - "ovl_En_Tag_Obj", - "ovl_Obj_Dhouse", - "ovl_Obj_Hakaisi", - "ovl_Bg_Hakugin_Switch", - "ovl_En_Snowman", - "ovl_TG_Sw", - "ovl_En_Po_Sisters", - "ovl_En_Pp", - "ovl_En_Hakurock", - "ovl_En_Hanabi", - "ovl_Obj_Dowsing", - "ovl_Obj_Wind", - "ovl_En_Racedog", - "ovl_En_Kendo_Js", - "ovl_Bg_Botihasira", - "ovl_En_Fish2", - "ovl_En_Pst", - "ovl_En_Poh", - "ovl_Obj_Spidertent", - "ovl_En_Zoraegg", - "ovl_En_Kbt", - "ovl_En_Gg", - "ovl_En_Maruta", - "ovl_Obj_Snowball2", - "ovl_En_Gg2", - "ovl_Obj_Ghaka", - "ovl_En_Dnp", - "ovl_En_Dai", - "ovl_Bg_Goron_Oyu", - "ovl_En_Kgy", - "ovl_En_Invadepoh", - "ovl_En_Gk", - "ovl_En_An", - "ovl_En_Bee", - "ovl_En_Ot", - "ovl_En_Dragon", - "ovl_Obj_Dora", - "ovl_En_Bigpo", - "ovl_Obj_Kendo_Kanban", - "ovl_Obj_Hariko", - "ovl_En_Sth", - "ovl_Bg_Sinkai_Kabe", - "ovl_Bg_Haka_Curtain", - "ovl_Bg_Kin2_Bombwall", - "ovl_Bg_Kin2_Fence", - "ovl_Bg_Kin2_Picture", - "ovl_Bg_Kin2_Shelf", - "ovl_En_Rail_Skb", - "ovl_En_Jg", - "ovl_En_Tru_Mt", - "ovl_Obj_Um", - "ovl_En_Neo_Reeba", - "ovl_Bg_Mbar_Chair", - "ovl_Bg_Ikana_Block", - "ovl_Bg_Ikana_Mirror", - "ovl_Bg_Ikana_Rotaryroom", - "ovl_Bg_Dblue_Balance", - "ovl_Bg_Dblue_Waterfall", - "ovl_En_Kaizoku", - "ovl_En_Ge2", - "ovl_En_Ma_Yts", - "ovl_En_Ma_Yto", - "ovl_Obj_Tokei_Turret", - "ovl_Bg_Dblue_Elevator", - "ovl_Obj_Warpstone", - "ovl_En_Zog", - "ovl_Obj_Rotlift", - "ovl_Obj_Jg_Gakki", - "ovl_Bg_Inibs_Movebg", - "ovl_En_Zot", - "ovl_Obj_Tree", - "ovl_Obj_Y2lift", - "ovl_Obj_Y2shutter", - "ovl_Obj_Boat", - "ovl_Obj_Taru", - "ovl_Obj_Hunsui", - "ovl_En_Jc_Mato", - "ovl_Mir_Ray3", - "ovl_En_Zob", - "ovl_Elf_Msg6", - "ovl_Obj_Nozoki", - "ovl_En_Toto", - "ovl_En_Railgibud", - "ovl_En_Baba", - "ovl_En_Suttari", - "ovl_En_Zod", - "ovl_En_Kujiya", - "ovl_En_Geg", - "ovl_Obj_Kinoko", - "ovl_Obj_Yasi", - "ovl_En_Tanron1", - "ovl_En_Tanron2", - "ovl_En_Tanron3", - "ovl_Obj_Chan", - "ovl_En_Zos", - "ovl_En_S_Goro", - "ovl_En_Nb", - "ovl_En_Ja", - "ovl_Bg_F40_Block", - "ovl_Bg_F40_Switch", - "ovl_En_Po_Composer", - "ovl_En_Guruguru", - "ovl_Oceff_Wipe5", - "ovl_En_Stone_heishi", - "ovl_Oceff_Wipe6", - "ovl_En_Scopenuts", - "ovl_En_Scopecrow", - "ovl_Oceff_Wipe7", - "ovl_Eff_Kamejima_Wave", - "ovl_En_Hg", - "ovl_En_Hgo", - "ovl_En_Zov", - "ovl_En_Ah", - "ovl_Obj_Hgdoor", - "ovl_Bg_Ikana_Bombwall", - "ovl_Bg_Ikana_Ray", - "ovl_Bg_Ikana_Shutter", - "ovl_Bg_Haka_Bombwall", - "ovl_Bg_Haka_Tomb", - "ovl_En_Sc_Ruppe", - "ovl_Bg_Iknv_Doukutu", - "ovl_Bg_Iknv_Obj", - "ovl_En_Pamera", - "ovl_Obj_HsStump", - "ovl_En_Hidden_Nuts", - "ovl_En_Zow", - "ovl_En_Talk", - "ovl_En_Al", - "ovl_En_Tab", - "ovl_En_Nimotsu", - "ovl_En_Hit_Tag", - "ovl_En_Ruppecrow", - "ovl_En_Tanron4", - "ovl_En_Tanron5", - "ovl_En_Tanron6", - "ovl_En_Daiku2", - "ovl_En_Muto", - "ovl_En_Baisen", - "ovl_En_Heishi", - "ovl_En_Demo_heishi", - "ovl_En_Dt", - "ovl_En_Cha", - "ovl_Obj_Dinner", - "ovl_Eff_Lastday", - "ovl_Bg_Ikana_Dharma", - "ovl_En_Akindonuts", - "ovl_Eff_Stk", - "ovl_En_Ig", - "ovl_En_Rg", - "ovl_En_Osk", - "ovl_En_Sth2", - "ovl_En_Yb", - "ovl_En_Rz", - "ovl_En_Scopecoin", - "ovl_En_Bjt", - "ovl_En_Bomjima", - "ovl_En_Bomjimb", - "ovl_En_Bombers", - "ovl_En_Bombers2", - "ovl_En_Bombal", - "ovl_Obj_Moon_Stone", - "ovl_Obj_Mu_Pict", - "ovl_Bg_Ikninside", - "ovl_Eff_Zoraband", - "ovl_Obj_Kepn_Koya", - "ovl_Obj_Usiyane", - "ovl_En_Nnh", - "ovl_Obj_Kzsaku", - "ovl_Obj_Milk_Bin", - "ovl_En_Kitan", - "ovl_Bg_Astr_Bombwall", - "ovl_Bg_Iknin_Susceil", - "ovl_En_Bsb", - "ovl_En_Recepgirl", - "ovl_En_Thiefbird", - "ovl_En_Jgame_Tsn", - "ovl_Obj_Jgame_Light", - "ovl_Obj_Yado", - "ovl_Demo_Syoten", - "ovl_Demo_Moonend", - "ovl_Bg_Lbfshot", - "ovl_Bg_Last_Bwall", - "ovl_En_And", - "ovl_En_Invadepoh_Demo", - "ovl_Obj_Danpeilift", - "ovl_En_Fall2", - "ovl_Dm_Al", - "ovl_Dm_An", - "ovl_Dm_Ah", - "ovl_Dm_Nb", - "ovl_En_Drs", - "ovl_En_Ending_Hero", - "ovl_Dm_Bal", - "ovl_En_Paper", - "ovl_En_Hint_Skb", - "ovl_Dm_Tag", - "ovl_En_Bh", - "ovl_En_Ending_Hero2", - "ovl_En_Ending_Hero3", - "ovl_En_Ending_Hero4", - "ovl_En_Ending_Hero5", - "ovl_En_Ending_Hero6", - "ovl_Dm_Gm", - "ovl_Obj_Swprize", - "ovl_En_Invisible_Ruppe", - "ovl_Obj_Ending", - "ovl_En_Rsn", -] - -actor_type_enum = [ - "ACTORCAT_SWITCH", - "ACTORCAT_BG", - "ACTORCAT_PLAYER", - "ACTORCAT_EXPLOSIVES", - "ACTORCAT_NPC", - "ACTORCAT_ENEMY", - "ACTORCAT_PROP", - "ACTORCAT_ITEMACTION", - "ACTORCAT_MISC", - "ACTORCAT_BOSS", - "ACTORCAT_DOOR", - "ACTORCAT_CHEST" -] - -actor_enum = [ - "ACTOR_PLAYER", - "ACTOR_EN_TEST", - "ACTOR_EN_GIRLA", - "ACTOR_EN_PART", - "ACTOR_EN_LIGHT", - "ACTOR_EN_DOOR", - "ACTOR_EN_BOX", - "ACTOR_EN_PAMETFROG", - "ACTOR_EN_OKUTA", - "ACTOR_EN_BOM", - "ACTOR_EN_WALLMAS", - "ACTOR_EN_DODONGO", - "ACTOR_EN_FIREFLY", - "ACTOR_EN_HORSE", - "ACTOR_EN_ITEM00", - "ACTOR_EN_ARROW", - "ACTOR_EN_ELF", - "ACTOR_EN_NIW", - "ACTOR_EN_TITE", - "ACTOR_UNSET_13", - "ACTOR_EN_PEEHAT", - "ACTOR_EN_BUTTE", - "ACTOR_EN_INSECT", - "ACTOR_EN_FISH", - "ACTOR_EN_HOLL", - "ACTOR_EN_DINOFOS", - "ACTOR_EN_HATA", - "ACTOR_EN_ZL1", - "ACTOR_EN_VIEWER", - "ACTOR_EN_BUBBLE", - "ACTOR_DOOR_SHUTTER", - "ACTOR_UNSET_1F", - "ACTOR_EN_BOOM", - "ACTOR_EN_TORCH2", - "ACTOR_EN_MINIFROG", - "ACTOR_UNSET_23", - "ACTOR_EN_ST", - "ACTOR_UNSET_25", - "ACTOR_EN_A_OBJ", - "ACTOR_OBJ_WTURN", - "ACTOR_EN_RIVER_SOUND", - "ACTOR_UNSET_29", - "ACTOR_EN_OSSAN", - "ACTOR_UNSET_2B", - "ACTOR_UNSET_2C", - "ACTOR_EN_FAMOS", - "ACTOR_UNSET_2E", - "ACTOR_EN_BOMBF", - "ACTOR_UNSET_30", - "ACTOR_UNSET_31", - "ACTOR_EN_AM", - "ACTOR_EN_DEKUBABA", - "ACTOR_EN_M_FIRE1", - "ACTOR_EN_M_THUNDER", - "ACTOR_BG_BREAKWALL", - "ACTOR_UNSET_37", - "ACTOR_DOOR_WARP1", - "ACTOR_OBJ_SYOKUDAI", - "ACTOR_ITEM_B_HEART", - "ACTOR_EN_DEKUNUTS", - "ACTOR_EN_BBFALL", - "ACTOR_ARMS_HOOK", - "ACTOR_EN_BB", - "ACTOR_BG_KEIKOKU_SPR", - "ACTOR_UNSET_40", - "ACTOR_EN_WOOD02", - "ACTOR_UNSET_42", - "ACTOR_EN_DEATH", - "ACTOR_EN_MINIDEATH", - "ACTOR_UNSET_45", - "ACTOR_UNSET_46", - "ACTOR_EN_VM", - "ACTOR_DEMO_EFFECT", - "ACTOR_DEMO_KANKYO", - "ACTOR_EN_FLOORMAS", - "ACTOR_UNSET_4B", - "ACTOR_EN_RD", - "ACTOR_BG_F40_FLIFT", - "ACTOR_UNSET_4E", - "ACTOR_OBJ_MURE", - "ACTOR_EN_SW", - "ACTOR_OBJECT_KANKYO", - "ACTOR_UNSET_52", - "ACTOR_UNSET_53", - "ACTOR_EN_HORSE_LINK_CHILD", - "ACTOR_DOOR_ANA", - "ACTOR_UNSET_56", - "ACTOR_UNSET_57", - "ACTOR_UNSET_58", - "ACTOR_UNSET_59", - "ACTOR_UNSET_5A", - "ACTOR_EN_ENCOUNT1", - "ACTOR_DEMO_TRE_LGT", - "ACTOR_UNSET_5D", - "ACTOR_UNSET_5E", - "ACTOR_EN_ENCOUNT2", - "ACTOR_EN_FIRE_ROCK", - "ACTOR_BG_CTOWER_ROT", - "ACTOR_MIR_RAY", - "ACTOR_UNSET_63", - "ACTOR_EN_SB", - "ACTOR_EN_BIGSLIME", - "ACTOR_EN_KAREBABA", - "ACTOR_EN_IN", - "ACTOR_UNSET_68", - "ACTOR_EN_RU", - "ACTOR_EN_BOM_CHU", - "ACTOR_EN_HORSE_GAME_CHECK", - "ACTOR_EN_RR", - "ACTOR_UNSET_6D", - "ACTOR_UNSET_6E", - "ACTOR_UNSET_6F", - "ACTOR_UNSET_70", - "ACTOR_UNSET_71", - "ACTOR_UNSET_72", - "ACTOR_EN_FR", - "ACTOR_UNSET_74", - "ACTOR_UNSET_75", - "ACTOR_UNSET_76", - "ACTOR_UNSET_77", - "ACTOR_UNSET_78", - "ACTOR_UNSET_79", - "ACTOR_OBJ_OSHIHIKI", - "ACTOR_EFF_DUST", - "ACTOR_BG_UMAJUMP", - "ACTOR_ARROW_FIRE", - "ACTOR_ARROW_ICE", - "ACTOR_ARROW_LIGHT", - "ACTOR_ITEM_ETCETERA", - "ACTOR_OBJ_KIBAKO", - "ACTOR_OBJ_TSUBO", - "ACTOR_UNSET_83", - "ACTOR_EN_IK", - "ACTOR_UNSET_85", - "ACTOR_UNSET_86", - "ACTOR_UNSET_87", - "ACTOR_UNSET_88", - "ACTOR_DEMO_SHD", - "ACTOR_EN_DNS", - "ACTOR_ELF_MSG", - "ACTOR_EN_HONOTRAP", - "ACTOR_EN_TUBO_TRAP", - "ACTOR_OBJ_ICE_POLY", - "ACTOR_EN_FZ", - "ACTOR_EN_KUSA", - "ACTOR_OBJ_BEAN", - "ACTOR_OBJ_BOMBIWA", - "ACTOR_OBJ_SWITCH", - "ACTOR_UNSET_94", - "ACTOR_OBJ_LIFT", - "ACTOR_OBJ_HSBLOCK", - "ACTOR_EN_OKARINA_TAG", - "ACTOR_UNSET_98", - "ACTOR_EN_GOROIWA", - "ACTOR_UNSET_9A", - "ACTOR_UNSET_9B", - "ACTOR_EN_DAIKU", - "ACTOR_EN_NWC", - "ACTOR_ITEM_INBOX", - "ACTOR_EN_GE1", - "ACTOR_OBJ_BLOCKSTOP", - "ACTOR_EN_SDA", - "ACTOR_EN_CLEAR_TAG", - "ACTOR_UNSET_A3", - "ACTOR_EN_GM", - "ACTOR_EN_MS", - "ACTOR_EN_HS", - "ACTOR_BG_INGATE", - "ACTOR_EN_KANBAN", - "ACTOR_UNSET_A9", - "ACTOR_EN_ATTACK_NIW", - "ACTOR_UNSET_AB", - "ACTOR_UNSET_AC", - "ACTOR_UNSET_AD", - "ACTOR_EN_MK", - "ACTOR_EN_OWL", - "ACTOR_EN_ISHI", - "ACTOR_OBJ_HANA", - "ACTOR_OBJ_LIGHTSWITCH", - "ACTOR_OBJ_MURE2", - "ACTOR_UNSET_B4", - "ACTOR_EN_FU", - "ACTOR_UNSET_B6", - "ACTOR_UNSET_B7", - "ACTOR_EN_STREAM", - "ACTOR_EN_MM", - "ACTOR_UNSET_BA", - "ACTOR_UNSET_BB", - "ACTOR_EN_WEATHER_TAG", - "ACTOR_EN_ANI", - "ACTOR_UNSET_BE", - "ACTOR_EN_JS", - "ACTOR_UNSET_C0", - "ACTOR_UNSET_C1", - "ACTOR_UNSET_C2", - "ACTOR_UNSET_C3", - "ACTOR_EN_OKARINA_EFFECT", - "ACTOR_EN_MAG", - "ACTOR_ELF_MSG2", - "ACTOR_BG_F40_SWLIFT", - "ACTOR_UNSET_C8", - "ACTOR_UNSET_C9", - "ACTOR_EN_KAKASI", - "ACTOR_OBJ_MAKEOSHIHIKI", - "ACTOR_OCEFF_SPOT", - "ACTOR_UNSET_CD", - "ACTOR_EN_TORCH", - "ACTOR_UNSET_CF", - "ACTOR_SHOT_SUN", - "ACTOR_UNSET_D1", - "ACTOR_UNSET_D2", - "ACTOR_OBJ_ROOMTIMER", - "ACTOR_EN_SSH", - "ACTOR_UNSET_D5", - "ACTOR_OCEFF_WIPE", - "ACTOR_OCEFF_STORM", - "ACTOR_OBJ_DEMO", - "ACTOR_EN_MINISLIME", - "ACTOR_EN_NUTSBALL", - "ACTOR_UNSET_DB", - "ACTOR_UNSET_DC", - "ACTOR_UNSET_DD", - "ACTOR_UNSET_DE", - "ACTOR_OCEFF_WIPE2", - "ACTOR_OCEFF_WIPE3", - "ACTOR_UNSET_E1", - "ACTOR_EN_DG", - "ACTOR_EN_SI", - "ACTOR_OBJ_COMB", - "ACTOR_OBJ_KIBAKO2", - "ACTOR_UNSET_E6", - "ACTOR_EN_HS2", - "ACTOR_OBJ_MURE3", - "ACTOR_EN_TG", - "ACTOR_UNSET_EA", - "ACTOR_UNSET_EB", - "ACTOR_EN_WF", - "ACTOR_EN_SKB", - "ACTOR_UNSET_EE", - "ACTOR_EN_GS", - "ACTOR_OBJ_SOUND", - "ACTOR_EN_CROW", - "ACTOR_UNSET_F2", - "ACTOR_EN_COW", - "ACTOR_UNSET_F4", - "ACTOR_UNSET_F5", - "ACTOR_OCEFF_WIPE4", - "ACTOR_UNSET_F7", - "ACTOR_EN_ZO", - "ACTOR_OBJ_MAKEKINSUTA", - "ACTOR_EN_GE3", - "ACTOR_UNSET_FB", - "ACTOR_OBJ_HAMISHI", - "ACTOR_EN_ZL4", - "ACTOR_EN_MM2", - "ACTOR_UNSET_FF", - "ACTOR_DOOR_SPIRAL", - "ACTOR_UNSET_101", - "ACTOR_OBJ_PZLBLOCK", - "ACTOR_OBJ_TOGE", - "ACTOR_UNSET_104", - "ACTOR_OBJ_ARMOS", - "ACTOR_OBJ_BOYO", - "ACTOR_UNSET_107", - "ACTOR_UNSET_108", - "ACTOR_EN_GRASSHOPPER", - "ACTOR_UNSET_10A", - "ACTOR_OBJ_GRASS", - "ACTOR_OBJ_GRASS_CARRY", - "ACTOR_OBJ_GRASS_UNIT", - "ACTOR_UNSET_10E", - "ACTOR_UNSET_10F", - "ACTOR_BG_FIRE_WALL", - "ACTOR_EN_BU", - "ACTOR_EN_ENCOUNT3", - "ACTOR_EN_JSO", - "ACTOR_OBJ_CHIKUWA", - "ACTOR_EN_KNIGHT", - "ACTOR_EN_WARP_TAG", - "ACTOR_EN_AOB_01", - "ACTOR_EN_BOJ_01", - "ACTOR_EN_BOJ_02", - "ACTOR_EN_BOJ_03", - "ACTOR_EN_ENCOUNT4", - "ACTOR_EN_BOM_BOWL_MAN", - "ACTOR_EN_SYATEKI_MAN", - "ACTOR_UNSET_11E", - "ACTOR_BG_ICICLE", - "ACTOR_EN_SYATEKI_CROW", - "ACTOR_EN_BOJ_04", - "ACTOR_EN_CNE_01", - "ACTOR_EN_BBA_01", - "ACTOR_EN_BJI_01", - "ACTOR_BG_SPDWEB", - "ACTOR_UNSET_126", - "ACTOR_UNSET_127", - "ACTOR_EN_MT_TAG", - "ACTOR_BOSS_01", - "ACTOR_BOSS_02", - "ACTOR_BOSS_03", - "ACTOR_BOSS_04", - "ACTOR_BOSS_05", - "ACTOR_BOSS_06", - "ACTOR_BOSS_07", - "ACTOR_BG_DY_YOSEIZO", - "ACTOR_UNSET_131", - "ACTOR_EN_BOJ_05", - "ACTOR_UNSET_133", - "ACTOR_UNSET_134", - "ACTOR_EN_SOB1", - "ACTOR_UNSET_136", - "ACTOR_UNSET_137", - "ACTOR_EN_GO", - "ACTOR_UNSET_139", - "ACTOR_EN_RAF", - "ACTOR_OBJ_FUNEN", - "ACTOR_OBJ_RAILLIFT", - "ACTOR_BG_NUMA_HANA", - "ACTOR_OBJ_FLOWERPOT", - "ACTOR_OBJ_SPINYROLL", - "ACTOR_DM_HINA", - "ACTOR_EN_SYATEKI_WF", - "ACTOR_OBJ_SKATEBLOCK", - "ACTOR_OBJ_ICEBLOCK", - "ACTOR_EN_BIGPAMET", - "ACTOR_EN_SYATEKI_DEKUNUTS", - "ACTOR_ELF_MSG3", - "ACTOR_EN_FG", - "ACTOR_DM_RAVINE", - "ACTOR_DM_SA", - "ACTOR_EN_SLIME", - "ACTOR_EN_PR", - "ACTOR_OBJ_TOUDAI", - "ACTOR_OBJ_ENTOTU", - "ACTOR_OBJ_BELL", - "ACTOR_EN_SYATEKI_OKUTA", - "ACTOR_UNSET_150", - "ACTOR_OBJ_SHUTTER", - "ACTOR_DM_ZL", - "ACTOR_EN_ELFGRP", - "ACTOR_DM_TSG", - "ACTOR_EN_BAGUO", - "ACTOR_OBJ_VSPINYROLL", - "ACTOR_OBJ_SMORK", - "ACTOR_EN_TEST2", - "ACTOR_EN_TEST3", - "ACTOR_EN_TEST4", - "ACTOR_EN_BAT", - "ACTOR_EN_SEKIHI", - "ACTOR_EN_WIZ", - "ACTOR_EN_WIZ_BROCK", - "ACTOR_EN_WIZ_FIRE", - "ACTOR_EFF_CHANGE", - "ACTOR_DM_STATUE", - "ACTOR_OBJ_FIRESHIELD", - "ACTOR_BG_LADDER", - "ACTOR_EN_MKK", - "ACTOR_DEMO_GETITEM", - "ACTOR_UNSET_166", - "ACTOR_EN_DNB", - "ACTOR_EN_DNH", - "ACTOR_EN_DNK", - "ACTOR_EN_DNQ", - "ACTOR_UNSET_16B", - "ACTOR_BG_KEIKOKU_SAKU", - "ACTOR_OBJ_HUGEBOMBIWA", - "ACTOR_EN_FIREFLY2", - "ACTOR_EN_RAT", - "ACTOR_EN_WATER_EFFECT", - "ACTOR_EN_KUSA2", - "ACTOR_BG_SPOUT_FIRE", - "ACTOR_UNSET_173", - "ACTOR_BG_DBLUE_MOVEBG", - "ACTOR_EN_DY_EXTRA", - "ACTOR_EN_BAL", - "ACTOR_EN_GINKO_MAN", - "ACTOR_EN_WARP_UZU", - "ACTOR_OBJ_DRIFTICE", - "ACTOR_EN_LOOK_NUTS", - "ACTOR_EN_MUSHI2", - "ACTOR_EN_FALL", - "ACTOR_EN_MM3", - "ACTOR_BG_CRACE_MOVEBG", - "ACTOR_EN_DNO", - "ACTOR_EN_PR2", - "ACTOR_EN_PRZ", - "ACTOR_EN_JSO2", - "ACTOR_OBJ_ETCETERA", - "ACTOR_EN_EGOL", - "ACTOR_OBJ_MINE", - "ACTOR_OBJ_PURIFY", - "ACTOR_EN_TRU", - "ACTOR_EN_TRT", - "ACTOR_UNSET_189", - "ACTOR_UNSET_18A", - "ACTOR_EN_TEST5", - "ACTOR_EN_TEST6", - "ACTOR_EN_AZ", - "ACTOR_EN_ESTONE", - "ACTOR_BG_HAKUGIN_POST", - "ACTOR_DM_OPSTAGE", - "ACTOR_DM_STK", - "ACTOR_DM_CHAR00", - "ACTOR_DM_CHAR01", - "ACTOR_DM_CHAR02", - "ACTOR_DM_CHAR03", - "ACTOR_DM_CHAR04", - "ACTOR_DM_CHAR05", - "ACTOR_DM_CHAR06", - "ACTOR_DM_CHAR07", - "ACTOR_DM_CHAR08", - "ACTOR_DM_CHAR09", - "ACTOR_OBJ_TOKEIDAI", - "ACTOR_UNSET_19D", - "ACTOR_EN_MNK", - "ACTOR_EN_EGBLOCK", - "ACTOR_EN_GUARD_NUTS", - "ACTOR_BG_HAKUGIN_BOMBWALL", - "ACTOR_OBJ_TOKEI_TOBIRA", - "ACTOR_BG_HAKUGIN_ELVPOLE", - "ACTOR_EN_MA4", - "ACTOR_EN_TWIG", - "ACTOR_EN_PO_FUSEN", - "ACTOR_EN_DOOR_ETC", - "ACTOR_EN_BIGOKUTA", - "ACTOR_BG_ICEFLOE", - "ACTOR_OBJ_OCARINALIFT", - "ACTOR_EN_TIME_TAG", - "ACTOR_BG_OPEN_SHUTTER", - "ACTOR_BG_OPEN_SPOT", - "ACTOR_BG_FU_KAITEN", - "ACTOR_OBJ_AQUA", - "ACTOR_EN_ELFORG", - "ACTOR_EN_ELFBUB", - "ACTOR_UNSET_1B2", - "ACTOR_EN_FU_MATO", - "ACTOR_EN_FU_KAGO", - "ACTOR_EN_OSN", - "ACTOR_BG_CTOWER_GEAR", - "ACTOR_EN_TRT2", - "ACTOR_OBJ_TOKEI_STEP", - "ACTOR_BG_LOTUS", - "ACTOR_EN_KAME", - "ACTOR_OBJ_TAKARAYA_WALL", - "ACTOR_BG_FU_MIZU", - "ACTOR_EN_SELLNUTS", - "ACTOR_BG_DKJAIL_IVY", - "ACTOR_UNSET_1BF", - "ACTOR_OBJ_VISIBLOCK", - "ACTOR_EN_TAKARAYA", - "ACTOR_EN_TSN", - "ACTOR_EN_DS2N", - "ACTOR_EN_FSN", - "ACTOR_EN_SHN", - "ACTOR_UNSET_1C6", - "ACTOR_EN_STOP_HEISHI", - "ACTOR_OBJ_BIGICICLE", - "ACTOR_EN_LIFT_NUTS", - "ACTOR_EN_TK", - "ACTOR_UNSET_1CB", - "ACTOR_BG_MARKET_STEP", - "ACTOR_OBJ_LUPYGAMELIFT", - "ACTOR_EN_TEST7", - "ACTOR_OBJ_LIGHTBLOCK", - "ACTOR_MIR_RAY2", - "ACTOR_EN_WDHAND", - "ACTOR_EN_GAMELUPY", - "ACTOR_BG_DANPEI_MOVEBG", - "ACTOR_EN_SNOWWD", - "ACTOR_EN_PM", - "ACTOR_EN_GAKUFU", - "ACTOR_ELF_MSG4", - "ACTOR_ELF_MSG5", - "ACTOR_EN_COL_MAN", - "ACTOR_EN_TALK_GIBUD", - "ACTOR_EN_GIANT", - "ACTOR_OBJ_SNOWBALL", - "ACTOR_BOSS_HAKUGIN", - "ACTOR_EN_GB2", - "ACTOR_EN_ONPUMAN", - "ACTOR_BG_TOBIRA01", - "ACTOR_EN_TAG_OBJ", - "ACTOR_OBJ_DHOUSE", - "ACTOR_OBJ_HAKAISI", - "ACTOR_BG_HAKUGIN_SWITCH", - "ACTOR_UNSET_1E5", - "ACTOR_EN_SNOWMAN", - "ACTOR_TG_SW", - "ACTOR_EN_PO_SISTERS", - "ACTOR_EN_PP", - "ACTOR_EN_HAKUROCK", - "ACTOR_EN_HANABI", - "ACTOR_OBJ_DOWSING", - "ACTOR_OBJ_WIND", - "ACTOR_EN_RACEDOG", - "ACTOR_EN_KENDO_JS", - "ACTOR_BG_BOTIHASIRA", - "ACTOR_EN_FISH2", - "ACTOR_EN_PST", - "ACTOR_EN_POH", - "ACTOR_OBJ_SPIDERTENT", - "ACTOR_EN_ZORAEGG", - "ACTOR_EN_KBT", - "ACTOR_EN_GG", - "ACTOR_EN_MARUTA", - "ACTOR_OBJ_SNOWBALL2", - "ACTOR_EN_GG2", - "ACTOR_OBJ_GHAKA", - "ACTOR_EN_DNP", - "ACTOR_EN_DAI", - "ACTOR_BG_GORON_OYU", - "ACTOR_EN_KGY", - "ACTOR_EN_INVADEPOH", - "ACTOR_EN_GK", - "ACTOR_EN_AN", - "ACTOR_UNSET_203", - "ACTOR_EN_BEE", - "ACTOR_EN_OT", - "ACTOR_EN_DRAGON", - "ACTOR_OBJ_DORA", - "ACTOR_EN_BIGPO", - "ACTOR_OBJ_KENDO_KANBAN", - "ACTOR_OBJ_HARIKO", - "ACTOR_EN_STH", - "ACTOR_BG_SINKAI_KABE", - "ACTOR_BG_HAKA_CURTAIN", - "ACTOR_BG_KIN2_BOMBWALL", - "ACTOR_BG_KIN2_FENCE", - "ACTOR_BG_KIN2_PICTURE", - "ACTOR_BG_KIN2_SHELF", - "ACTOR_EN_RAIL_SKB", - "ACTOR_EN_JG", - "ACTOR_EN_TRU_MT", - "ACTOR_OBJ_UM", - "ACTOR_EN_NEO_REEBA", - "ACTOR_BG_MBAR_CHAIR", - "ACTOR_BG_IKANA_BLOCK", - "ACTOR_BG_IKANA_MIRROR", - "ACTOR_BG_IKANA_ROTARYROOM", - "ACTOR_BG_DBLUE_BALANCE", - "ACTOR_BG_DBLUE_WATERFALL", - "ACTOR_EN_KAIZOKU", - "ACTOR_EN_GE2", - "ACTOR_EN_MA_YTS", - "ACTOR_EN_MA_YTO", - "ACTOR_OBJ_TOKEI_TURRET", - "ACTOR_BG_DBLUE_ELEVATOR", - "ACTOR_OBJ_WARPSTONE", - "ACTOR_EN_ZOG", - "ACTOR_OBJ_ROTLIFT", - "ACTOR_OBJ_JG_GAKKI", - "ACTOR_BG_INIBS_MOVEBG", - "ACTOR_EN_ZOT", - "ACTOR_OBJ_TREE", - "ACTOR_OBJ_Y2LIFT", - "ACTOR_OBJ_Y2SHUTTER", - "ACTOR_OBJ_BOAT", - "ACTOR_OBJ_TARU", - "ACTOR_OBJ_HUNSUI", - "ACTOR_EN_JC_MATO", - "ACTOR_MIR_RAY3", - "ACTOR_EN_ZOB", - "ACTOR_ELF_MSG6", - "ACTOR_OBJ_NOZOKI", - "ACTOR_EN_TOTO", - "ACTOR_EN_RAILGIBUD", - "ACTOR_EN_BABA", - "ACTOR_EN_SUTTARI", - "ACTOR_EN_ZOD", - "ACTOR_EN_KUJIYA", - "ACTOR_EN_GEG", - "ACTOR_OBJ_KINOKO", - "ACTOR_OBJ_YASI", - "ACTOR_EN_TANRON1", - "ACTOR_EN_TANRON2", - "ACTOR_EN_TANRON3", - "ACTOR_OBJ_CHAN", - "ACTOR_EN_ZOS", - "ACTOR_EN_S_GORO", - "ACTOR_EN_NB", - "ACTOR_EN_JA", - "ACTOR_BG_F40_BLOCK", - "ACTOR_BG_F40_SWITCH", - "ACTOR_EN_PO_COMPOSER", - "ACTOR_EN_GURUGURU", - "ACTOR_OCEFF_WIPE5", - "ACTOR_EN_STONE_HEISHI", - "ACTOR_OCEFF_WIPE6", - "ACTOR_EN_SCOPENUTS", - "ACTOR_EN_SCOPECROW", - "ACTOR_OCEFF_WIPE7", - "ACTOR_EFF_KAMEJIMA_WAVE", - "ACTOR_EN_HG", - "ACTOR_EN_HGO", - "ACTOR_EN_ZOV", - "ACTOR_EN_AH", - "ACTOR_OBJ_HGDOOR", - "ACTOR_BG_IKANA_BOMBWALL", - "ACTOR_BG_IKANA_RAY", - "ACTOR_BG_IKANA_SHUTTER", - "ACTOR_BG_HAKA_BOMBWALL", - "ACTOR_BG_HAKA_TOMB", - "ACTOR_EN_SC_RUPPE", - "ACTOR_BG_IKNV_DOUKUTU", - "ACTOR_BG_IKNV_OBJ", - "ACTOR_EN_PAMERA", - "ACTOR_OBJ_HSSTUMP", - "ACTOR_EN_HIDDEN_NUTS", - "ACTOR_EN_ZOW", - "ACTOR_EN_TALK", - "ACTOR_EN_AL", - "ACTOR_EN_TAB", - "ACTOR_EN_NIMOTSU", - "ACTOR_EN_HIT_TAG", - "ACTOR_EN_RUPPECROW", - "ACTOR_EN_TANRON4", - "ACTOR_EN_TANRON5", - "ACTOR_EN_TANRON6", - "ACTOR_EN_DAIKU2", - "ACTOR_EN_MUTO", - "ACTOR_EN_BAISEN", - "ACTOR_EN_HEISHI", - "ACTOR_EN_DEMO_HEISHI", - "ACTOR_EN_DT", - "ACTOR_EN_CHA", - "ACTOR_OBJ_DINNER", - "ACTOR_EFF_LASTDAY", - "ACTOR_BG_IKANA_DHARMA", - "ACTOR_EN_AKINDONUTS", - "ACTOR_EFF_STK", - "ACTOR_EN_IG", - "ACTOR_EN_RG", - "ACTOR_EN_OSK", - "ACTOR_EN_STH2", - "ACTOR_EN_YB", - "ACTOR_EN_RZ", - "ACTOR_EN_SCOPECOIN", - "ACTOR_EN_BJT", - "ACTOR_EN_BOMJIMA", - "ACTOR_EN_BOMJIMB", - "ACTOR_EN_BOMBERS", - "ACTOR_EN_BOMBERS2", - "ACTOR_EN_BOMBAL", - "ACTOR_OBJ_MOON_STONE", - "ACTOR_OBJ_MU_PICT", - "ACTOR_BG_IKNINSIDE", - "ACTOR_EFF_ZORABAND", - "ACTOR_OBJ_KEPN_KOYA", - "ACTOR_OBJ_USIYANE", - "ACTOR_EN_NNH", - "ACTOR_OBJ_KZSAKU", - "ACTOR_OBJ_MILK_BIN", - "ACTOR_EN_KITAN", - "ACTOR_BG_ASTR_BOMBWALL", - "ACTOR_BG_IKNIN_SUSCEIL", - "ACTOR_EN_BSB", - "ACTOR_EN_RECEPGIRL", - "ACTOR_EN_THIEFBIRD", - "ACTOR_EN_JGAME_TSN", - "ACTOR_OBJ_JGAME_LIGHT", - "ACTOR_OBJ_YADO", - "ACTOR_DEMO_SYOTEN", - "ACTOR_DEMO_MOONEND", - "ACTOR_BG_LBFSHOT", - "ACTOR_BG_LAST_BWALL", - "ACTOR_EN_AND", - "ACTOR_EN_INVADEPOH_DEMO", - "ACTOR_OBJ_DANPEILIFT", - "ACTOR_EN_FALL2", - "ACTOR_DM_AL", - "ACTOR_DM_AN", - "ACTOR_DM_AH", - "ACTOR_DM_NB", - "ACTOR_EN_DRS", - "ACTOR_EN_ENDING_HERO", - "ACTOR_DM_BAL", - "ACTOR_EN_PAPER", - "ACTOR_EN_HINT_SKB", - "ACTOR_DM_TAG", - "ACTOR_EN_BH", - "ACTOR_EN_ENDING_HERO2", - "ACTOR_EN_ENDING_HERO3", - "ACTOR_EN_ENDING_HERO4", - "ACTOR_EN_ENDING_HERO5", - "ACTOR_EN_ENDING_HERO6", - "ACTOR_DM_GM", - "ACTOR_OBJ_SWPRIZE", - "ACTOR_EN_INVISIBLE_RUPPE", - "ACTOR_OBJ_ENDING", - "ACTOR_EN_RSN" -] - -object_enum = [ - "OBJECT_UNSET_0", - "GAMEPLAY_KEEP", - "GAMEPLAY_FIELD_KEEP", - "GAMEPLAY_DANGEON_KEEP", - "OBJECT_NB", - "OBJECT_OKUTA", - "OBJECT_CROW", - "OBJECT_AH", - "OBJECT_DY_OBJ", - "OBJECT_WALLMASTER", - "OBJECT_DODONGO", - "OBJECT_FIREFLY", - "OBJECT_BOX", - "OBJECT_AL", - "OBJECT_BUBBLE", - "OBJECT_NIW", - "OBJECT_LINK_BOY", - "OBJECT_LINK_CHILD", - "OBJECT_TITE", - "OBJECT_TAB", - "OBJECT_PH", - "OBJECT_AND", - "OBJECT_MSMO", - "OBJECT_DINOFOS", - "OBJECT_DRS", - "OBJECT_ZL1", - "OBJECT_AN4", - "OBJECT_UNSET_1B", - "OBJECT_TEST3", - "OBJECT_FAMOS", - "OBJECT_UNSET_1E", - "OBJECT_UNSET_1F", - "OBJECT_ST", - "OBJECT_UNSET_21", - "OBJECT_THIEFBIRD", - "OBJECT_UNSET_23", - "OBJECT_UNSET_24", - "OBJECT_UNSET_25", - "OBJECT_UNSET_26", - "OBJECT_UNSET_27", - "OBJECT_UNSET_28", - "OBJECT_UNSET_29", - "OBJECT_BOMBF", - "OBJECT_UNSET_2B", - "OBJECT_UNSET_2C", - "OBJECT_UNSET_2D", - "OBJECT_UNSET_2E", - "OBJECT_UNSET_2F", - "OBJECT_AM", - "OBJECT_DEKUBABA", - "OBJECT_UNSET_32", - "OBJECT_UNSET_33", - "OBJECT_UNSET_34", - "OBJECT_UNSET_35", - "OBJECT_UNSET_36", - "OBJECT_UNSET_37", - "OBJECT_UNSET_38", - "OBJECT_UNSET_39", - "OBJECT_UNSET_3A", - "OBJECT_UNSET_3B", - "OBJECT_UNSET_3C", - "OBJECT_UNSET_3D", - "OBJECT_WARP1", - "OBJECT_B_HEART", - "OBJECT_DEKUNUTS", - "OBJECT_UNSET_41", - "OBJECT_UNSET_42", - "OBJECT_UNSET_43", - "OBJECT_UNSET_44", - "OBJECT_UNSET_45", - "OBJECT_UNSET_46", - "OBJECT_UNSET_47", - "OBJECT_UNSET_48", - "OBJECT_UNSET_49", - "OBJECT_UNSET_4A", - "OBJECT_UNSET_4B", - "OBJECT_UNSET_4C", - "OBJECT_UNSET_4D", - "OBJECT_UNSET_4E", - "OBJECT_UNSET_4F", - "OBJECT_UNSET_50", - "OBJECT_BB", - "OBJECT_DEATH", - "OBJECT_UNSET_53", - "OBJECT_UNSET_54", - "OBJECT_UNSET_55", - "OBJECT_UNSET_56", - "OBJECT_UNSET_57", - "OBJECT_UNSET_58", - "OBJECT_UNSET_59", - "OBJECT_UNSET_5A", - "OBJECT_UNSET_5B", - "OBJECT_F40_OBJ", - "OBJECT_PO_COMPOSER", - "OBJECT_UNSET_5E", - "OBJECT_HATA", - "OBJECT_UNSET_60", - "OBJECT_WOOD02", - "OBJECT_UNSET_62", - "OBJECT_UNSET_63", - "OBJECT_TRAP", - "OBJECT_UNSET_65", - "OBJECT_UNSET_66", - "OBJECT_UNSET_67", - "OBJECT_UNSET_68", - "OBJECT_UNSET_69", - "OBJECT_VM", - "OBJECT_UNSET_6B", - "OBJECT_UNSET_6C", - "OBJECT_UNSET_6D", - "OBJECT_UNSET_6E", - "OBJECT_UNSET_6F", - "OBJECT_EFC_STAR_FIELD", - "OBJECT_UNSET_71", - "OBJECT_UNSET_72", - "OBJECT_UNSET_73", - "OBJECT_UNSET_74", - "OBJECT_RD", - "OBJECT_YUKIMURA_OBJ", - "OBJECT_HEAVY_OBJECT", - "OBJECT_UNSET_78", - "OBJECT_UNSET_79", - "OBJECT_UNSET_7A", - "OBJECT_UNSET_7B", - "OBJECT_UNSET_7C", - "OBJECT_HORSE_LINK_CHILD", - "OBJECT_UNSET_7E", - "OBJECT_UNSET_7F", - "OBJECT_SYOKUDAI", - "OBJECT_UNSET_81", - "OBJECT_UNSET_82", - "OBJECT_UNSET_83", - "OBJECT_EFC_TW", - "OBJECT_UNSET_85", - "OBJECT_GI_KEY", - "OBJECT_MIR_RAY", - "OBJECT_CTOWER_ROT", - "OBJECT_UNSET_89", - "OBJECT_BDOOR", - "OBJECT_UNSET_8B", - "OBJECT_UNSET_8C", - "OBJECT_UNSET_8D", - "OBJECT_SB", - "OBJECT_GI_MELODY", - "OBJECT_GI_HEART", - "OBJECT_GI_COMPASS", - "OBJECT_GI_BOSSKEY", - "OBJECT_UNSET_93", - "OBJECT_GI_NUTS", - "OBJECT_UNSET_95", - "OBJECT_GI_HEARTS", - "OBJECT_GI_ARROWCASE", - "OBJECT_GI_BOMBPOUCH", - "OBJECT_IN", - "OBJECT_UNSET_9A", - "OBJECT_UNSET_9B", - "OBJECT_UNSET_9C", - "OBJECT_OS_ANIME", - "OBJECT_GI_BOTTLE", - "OBJECT_GI_STICK", - "OBJECT_GI_MAP", - "OBJECT_OF1D_MAP", - "OBJECT_RU2", - "OBJECT_UNSET_A3", - "OBJECT_GI_MAGICPOT", - "OBJECT_GI_BOMB_1", - "OBJECT_UNSET_A6", - "OBJECT_MA2", - "OBJECT_GI_PURSE", - "OBJECT_UNSET_A9", - "OBJECT_UNSET_AA", - "OBJECT_RR", - "OBJECT_UNSET_AC", - "OBJECT_UNSET_AD", - "OBJECT_UNSET_AE", - "OBJECT_GI_ARROW", - "OBJECT_GI_BOMB_2", - "OBJECT_UNSET_B1", - "OBJECT_UNSET_B2", - "OBJECT_GI_SHIELD_2", - "OBJECT_GI_HOOKSHOT", - "OBJECT_GI_OCARINA", - "OBJECT_GI_MILK", - "OBJECT_MA1", - "OBJECT_UNSET_B8", - "OBJECT_UNSET_B9", - "OBJECT_UNSET_BA", - "OBJECT_NY", - "OBJECT_FR", - "OBJECT_UNSET_BD", - "OBJECT_UNSET_BE", - "OBJECT_GI_BOW", - "OBJECT_GI_GLASSES", - "OBJECT_GI_LIQUID", - "OBJECT_ANI", - "OBJECT_GI_SHIELD_3", - "OBJECT_UNSET_C4", - "OBJECT_UNSET_C5", - "OBJECT_GI_BEAN", - "OBJECT_GI_FISH", - "OBJECT_UNSET_C8", - "OBJECT_UNSET_C9", - "OBJECT_UNSET_CA", - "OBJECT_GI_LONGSWORD", - "OBJECT_UNSET_CC", - "OBJECT_UNSET_CD", - "OBJECT_UNSET_CE", - "OBJECT_UNSET_CF", - "OBJECT_ZO", - "OBJECT_UNSET_D1", - "OBJECT_UMAJUMP", - "OBJECT_UNSET_D3", - "OBJECT_UNSET_D4", - "OBJECT_MASTERGOLON", - "OBJECT_MASTERZOORA", - "OBJECT_AOB", - "OBJECT_IK", - "OBJECT_AHG", - "OBJECT_CNE", - "OBJECT_UNSET_DB", - "OBJECT_UNSET_DC", - "OBJECT_AN3", - "OBJECT_BJI", - "OBJECT_BBA", - "OBJECT_AN2", - "OBJECT_UNSET_E1", - "OBJECT_AN1", - "OBJECT_BOJ", - "OBJECT_FZ", - "OBJECT_BOB", - "OBJECT_GE1", - "OBJECT_YABUSAME_POINT", - "OBJECT_UNSET_E8", - "OBJECT_UNSET_E9", - "OBJECT_UNSET_EA", - "OBJECT_UNSET_EB", - "OBJECT_D_HSBLOCK", - "OBJECT_D_LIFT", - "OBJECT_MAMENOKI", - "OBJECT_GOROIWA", - "OBJECT_TORYO", - "OBJECT_DAIKU", - "OBJECT_NWC", - "OBJECT_GM", - "OBJECT_MS", - "OBJECT_HS", - "OBJECT_UNSET_F6", - "OBJECT_LIGHTSWITCH", - "OBJECT_KUSA", - "OBJECT_TSUBO", - "OBJECT_UNSET_FA", - "OBJECT_UNSET_FB", - "OBJECT_KANBAN", - "OBJECT_OWL", - "OBJECT_MK", - "OBJECT_FU", - "OBJECT_GI_KI_TAN_MASK", - "OBJECT_UNSET_101", - "OBJECT_GI_MASK18", - "OBJECT_GI_RABIT_MASK", - "OBJECT_GI_TRUTH_MASK", - "OBJECT_UNSET_105", - "OBJECT_STREAM", - "OBJECT_MM", - "OBJECT_UNSET_108", - "OBJECT_UNSET_109", - "OBJECT_UNSET_10A", - "OBJECT_UNSET_10B", - "OBJECT_UNSET_10C", - "OBJECT_UNSET_10D", - "OBJECT_UNSET_10E", - "OBJECT_JS", - "OBJECT_CS", - "OBJECT_UNSET_111", - "OBJECT_UNSET_112", - "OBJECT_GI_SOLDOUT", - "OBJECT_UNSET_114", - "OBJECT_MAG", - "OBJECT_UNSET_116", - "OBJECT_UNSET_117", - "OBJECT_UNSET_118", - "OBJECT_GI_GOLONMASK", - "OBJECT_GI_ZORAMASK", - "OBJECT_UNSET_11B", - "OBJECT_UNSET_11C", - "OBJECT_KA", - "OBJECT_UNSET_11E", - "OBJECT_ZG", - "OBJECT_UNSET_120", - "OBJECT_GI_M_ARROW", - "OBJECT_DS2", - "OBJECT_UNSET_123", - "OBJECT_FISH", - "OBJECT_GI_SUTARU", - "OBJECT_UNSET_126", - "OBJECT_SSH", - "OBJECT_BIGSLIME", - "OBJECT_BG", - "OBJECT_BOMBIWA", - "OBJECT_HINTNUTS", - "OBJECT_RS", - "OBJECT_UNSET_12D", - "OBJECT_GLA", - "OBJECT_UNSET_12F", - "OBJECT_GELDB", - "OBJECT_UNSET_131", - "OBJECT_DOG", - "OBJECT_KIBAKO2", - "OBJECT_DNS", - "OBJECT_DNK", - "OBJECT_UNSET_136", - "OBJECT_GI_INSECT", - "OBJECT_UNSET_138", - "OBJECT_GI_GHOST", - "OBJECT_GI_SOUL", - "OBJECT_UNSET_13B", - "OBJECT_UNSET_13C", - "OBJECT_UNSET_13D", - "OBJECT_UNSET_13E", - "OBJECT_GI_RUPY", - "OBJECT_MU", - "OBJECT_WF", - "OBJECT_SKB", - "OBJECT_GS", - "OBJECT_PS", - "OBJECT_OMOYA_OBJ", - "OBJECT_COW", - "OBJECT_UNSET_147", - "OBJECT_GI_SWORD_1", - "OBJECT_UNSET_149", - "OBJECT_UNSET_14A", - "OBJECT_ZL4", - "OBJECT_LINK_GORON", - "OBJECT_LINK_ZORA", - "OBJECT_GRASSHOPPER", - "OBJECT_BOYO", - "OBJECT_UNSET_150", - "OBJECT_UNSET_151", - "OBJECT_UNSET_152", - "OBJECT_FWALL", - "OBJECT_LINK_NUTS", - "OBJECT_JSO", - "OBJECT_KNIGHT", - "OBJECT_ICICLE", - "OBJECT_SPDWEB", - "OBJECT_UNSET_159", - "OBJECT_BOSS01", - "OBJECT_BOSS02", - "OBJECT_BOSS03", - "OBJECT_BOSS04", - "OBJECT_BOSS05", - "OBJECT_BOSS06", - "OBJECT_BOSS07", - "OBJECT_RAF", - "OBJECT_FUNEN", - "OBJECT_RAILLIFT", - "OBJECT_NUMA_OBJ", - "OBJECT_FLOWERPOT", - "OBJECT_SPINYROLL", - "OBJECT_ICE_BLOCK", - "OBJECT_UNSET_168", - "OBJECT_KEIKOKU_DEMO", - "OBJECT_SLIME", - "OBJECT_PR", - "OBJECT_F52_OBJ", - "OBJECT_F53_OBJ", - "OBJECT_UNSET_16E", - "OBJECT_KIBAKO", - "OBJECT_SEK", - "OBJECT_GMO", - "OBJECT_BAT", - "OBJECT_SEKIHIL", - "OBJECT_SEKIHIG", - "OBJECT_SEKIHIN", - "OBJECT_SEKIHIZ", - "OBJECT_UNSET_177", - "OBJECT_WIZ", - "OBJECT_LADDER", - "OBJECT_MKK", - "OBJECT_UNSET_17B", - "OBJECT_UNSET_17C", - "OBJECT_UNSET_17D", - "OBJECT_KEIKOKU_OBJ", - "OBJECT_SICHITAI_OBJ", - "OBJECT_DEKUCITY_ANA_OBJ", - "OBJECT_RAT", - "OBJECT_WATER_EFFECT", - "OBJECT_UNSET_183", - "OBJECT_DBLUE_OBJECT", - "OBJECT_BAL", - "OBJECT_WARP_UZU", - "OBJECT_DRIFTICE", - "OBJECT_FALL", - "OBJECT_HANAREYAMA_OBJ", - "OBJECT_CRACE_OBJECT", - "OBJECT_DNQ", - "OBJECT_OBJECT_UNSET_TOKEIDAI", - "OBJECT_EG", - "OBJECT_TRU", - "OBJECT_TRT", - "OBJECT_HAKUGIN_OBJ", - "OBJECT_HORSE_GAME_CHECK", - "OBJECT_STK", - "OBJECT_UNSET_193", - "OBJECT_UNSET_194", - "OBJECT_MNK", - "OBJECT_GI_BOTTLE_RED", - "OBJECT_TOKEI_TOBIRA", - "OBJECT_AZ", - "OBJECT_TWIG", - "OBJECT_DEKUCITY_OBJ", - "OBJECT_PO_FUSEN", - "OBJECT_RACETSUBO", - "OBJECT_HA", - "OBJECT_BIGOKUTA", - "OBJECT_OPEN_OBJ", - "OBJECT_FU_KAITEN", - "OBJECT_FU_MATO", - "OBJECT_MTORIDE", - "OBJECT_OSN", - "OBJECT_TOKEI_STEP", - "OBJECT_LOTUS", - "OBJECT_TL", - "OBJECT_DKJAIL_OBJ", - "OBJECT_VISIBLOCK", - "OBJECT_TSN", - "OBJECT_DS2N", - "OBJECT_FSN", - "OBJECT_SHN", - "OBJECT_BIGICICLE", - "OBJECT_GI_BOTTLE_15", - "OBJECT_TK", - "OBJECT_MARKET_OBJ", - "OBJECT_GI_RESERVE00", - "OBJECT_GI_RESERVE01", - "OBJECT_LIGHTBLOCK", - "OBJECT_TAKARAYA_OBJECTS", - "OBJECT_WDHAND", - "OBJECT_SDN", - "OBJECT_SNOWWD", - "OBJECT_GIANT", - "OBJECT_COMB", - "OBJECT_HANA", - "OBJECT_BOSS_HAKUGIN", - "OBJECT_MEGANEANA_OBJ", - "OBJECT_GI_NUTSMASK", - "OBJECT_STK2", - "OBJECT_SPOT11_OBJ", - "OBJECT_DANPEI_OBJECT", - "OBJECT_DHOUSE", - "OBJECT_HAKAISI", - "OBJECT_PO", - "OBJECT_SNOWMAN", - "OBJECT_PO_SISTERS", - "OBJECT_PP", - "OBJECT_GORONSWITCH", - "OBJECT_DELF", - "OBJECT_BOTIHASIRA", - "OBJECT_GI_BIGBOMB", - "OBJECT_PST", - "OBJECT_BSMASK", - "OBJECT_SPIDERTENT", - "OBJECT_ZORAEGG", - "OBJECT_KBT", - "OBJECT_GG", - "OBJECT_MARUTA", - "OBJECT_GHAKA", - "OBJECT_OYU", - "OBJECT_DNP", - "OBJECT_DAI", - "OBJECT_KGY", - "OBJECT_FB", - "OBJECT_TAISOU", - "OBJECT_MASK_BU_SAN", - "OBJECT_MASK_KI_TAN", - "OBJECT_MASK_RABIT", - "OBJECT_MASK_SKJ", - "OBJECT_MASK_BAKURETU", - "OBJECT_MASK_TRUTH", - "OBJECT_GK", - "OBJECT_HAKA_OBJ", - "OBJECT_MASK_GORON", - "OBJECT_MASK_ZORA", - "OBJECT_MASK_NUTS", - "OBJECT_MASK_BOY", - "OBJECT_DNT", - "OBJECT_YUKIYAMA", - "OBJECT_ICEFLOE", - "OBJECT_GI_GOLD_DUST", - "OBJECT_GI_BOTTLE_16", - "OBJECT_GI_BOTTLE_22", - "OBJECT_BEE", - "OBJECT_OT", - "OBJECT_UTUBO", - "OBJECT_DORA", - "OBJECT_GI_LOACH", - "OBJECT_GI_SEAHORSE", - "OBJECT_BIGPO", - "OBJECT_HARIKO", - "OBJECT_DNO", - "OBJECT_SINKAI_KABE", - "OBJECT_KIN2_OBJ", - "OBJECT_ISHI", - "OBJECT_HAKUGIN_DEMO", - "OBJECT_JG", - "OBJECT_GI_SWORD_2", - "OBJECT_GI_SWORD_3", - "OBJECT_GI_SWORD_4", - "OBJECT_UM", - "OBJECT_MASK_GIBUDO", - "OBJECT_MASK_JSON", - "OBJECT_MASK_KERFAY", - "OBJECT_MASK_BIGELF", - "OBJECT_RB", - "OBJECT_MBAR_OBJ", - "OBJECT_IKANA_OBJ", - "OBJECT_KZ", - "OBJECT_TOKEI_TURRET", - "OBJECT_ZOG", - "OBJECT_ROTLIFT", - "OBJECT_POSTHOUSE_OBJ", - "OBJECT_GI_MASK09", - "OBJECT_GI_MASK14", - "OBJECT_GI_MASK15", - "OBJECT_INIBS_OBJECT", - "OBJECT_TREE", - "OBJECT_KAIZOKU_OBJ", - "OBJECT_GI_RESERVE_B_00", - "OBJECT_GI_RESERVE_C_00", - "OBJECT_ZOB", - "OBJECT_MILKBAR", - "OBJECT_DMASK", - "OBJECT_MASK_KYOJIN", - "OBJECT_GI_RESERVE_C_01", - "OBJECT_ZOD", - "OBJECT_KUMO30", - "OBJECT_OBJECT_UNSET_YASI", - "OBJECT_MASK_ROMERNY", - "OBJECT_TANRON1", - "OBJECT_TANRON2", - "OBJECT_TANRON3", - "OBJECT_GI_MAGICMUSHROOM", - "OBJECT_OBJECT_UNSET_CHAN", - "OBJECT_GI_MASK10", - "OBJECT_ZOS", - "OBJECT_MASK_POSTHAT", - "OBJECT_F40_SWITCH", - "OBJECT_LODMOON", - "OBJECT_TRO", - "OBJECT_GI_MASK12", - "OBJECT_GI_MASK23", - "OBJECT_GI_BOTTLE_21", - "OBJECT_GI_CAMERA", - "OBJECT_KAMEJIMA", - "OBJECT_HARFGIBUD", - "OBJECT_ZOV", - "OBJECT_HGDOOR", - "OBJECT_UNSET_22D", - "OBJECT_UNSET_22E", - "OBJECT_UNSET_22F", - "OBJECT_DOR01", - "OBJECT_DOR02", - "OBJECT_DOR03", - "OBJECT_DOR04", - "OBJECT_LAST_OBJ", - "OBJECT_REDEAD_OBJ", - "OBJECT_IKNINSIDE_OBJ", - "OBJECT_IKNV_OBJ", - "OBJECT_PAMERA", - "OBJECT_HSSTUMP", - "OBJECT_ZM", - "OBJECT_BIG_FWALL", - "OBJECT_SECOM_OBJ", - "OBJECT_HUNSUI", - "OBJECT_UCH", - "OBJECT_TANRON4", - "OBJECT_TANRON5", - "OBJECT_DT", - "OBJECT_GI_MASK03", - "OBJECT_CHA", - "OBJECT_OBJECT_UNSET_DINNER", - "OBJECT_GI_RESERVE_B_01", - "OBJECT_LASTDAY", - "OBJECT_BAI", - "OBJECT_IN2", - "OBJECT_IKN_DEMO", - "OBJECT_YB", - "OBJECT_RZ", - "OBJECT_MASK_ZACHO", - "OBJECT_GI_FIELDMAP", - "OBJECT_MASK_STONE", - "OBJECT_BJT", - "OBJECT_TARU", - "OBJECT_MOONSTON", - "OBJECT_MASK_BREE", - "OBJECT_GI_SCHEDULE", - "OBJECT_GI_STONEMASK", - "OBJECT_ZORABAND", - "OBJECT_KEPN_KOYA", - "OBJECT_OBJECT_UNSET_USIYANE", - "OBJECT_GI_MASK05", - "OBJECT_GI_MASK11", - "OBJECT_GI_MASK20", - "OBJECT_NNH", - "OBJECT_MASK_GERO", - "OBJECT_MASK_YOFUKASI", - "OBJECT_MASK_MEOTO", - "OBJECT_MASK_DANCER", - "OBJECT_KZSAKU", - "OBJECT_OBJECT_UNSET_MILK_BIN", - "OBJECT_RANDOM_OBJ", - "OBJECT_KUJIYA", - "OBJECT_KITAN", - "OBJECT_GI_MASK06", - "OBJECT_GI_MASK16", - "OBJECT_ASTR_OBJ", - "OBJECT_BSB", - "OBJECT_FALL2", - "OBJECT_STH", - "OBJECT_GI_MSSA", - "OBJECT_SMTOWER", - "OBJECT_GI_MASK21", - "OBJECT_YADO_OBJ", - "OBJECT_SYOTEN", - "OBJECT_MOONEND", - "OBJECT_OB", - "OBJECT_GI_BOTTLE_04", - "OBJECT_OBJECT_UNSET_DANPEILIFT", - "OBJECT_WDOR01", - "OBJECT_WDOR02", - "OBJECT_WDOR03", - "OBJECT_STK3", - "OBJECT_KINSTA1_OBJ", - "OBJECT_KINSTA2_OBJ", - "OBJECT_BH", - "OBJECT_WDOR04", - "OBJECT_WDOR05", - "OBJECT_GI_MASK17", - "OBJECT_GI_MASK22", - "OBJECT_LBFSHOT", - "OBJECT_FUSEN", - "OBJECT_ENDING_OBJ", - "OBJECT_GI_MASK13" -] - -asm_files = [] - - -def read_file(name): - file_data=[] - - try: - with open(name, 'rb') as f: - file_data = f.read() - except IOError: - print('failed to read file ' + name) - return file_data - - -def read_uint32_be(file_data, offset): - return struct.unpack('>I', file_data[offset:offset+4])[0] - -def read_uint16_be(file_data, offset): - return struct.unpack('>H', file_data[offset:offset+2])[0] - -def read_uint8(file_data, offset): - return struct.unpack('B', file_data[offset:offset+1])[0] - -def read_actor_init(file_data, offset): - init = collections.namedtuple('ActorInit', - '''actor_id actor_type flags object_id instance_size init destroy update draw''') - return init._make(struct.unpack('>hBxIhxx5I', file_data[offset:offset+32])) - -def make_func_name(actor, offset, name): - if offset == 0: - return "NULL" - elif offset < 0x80800000: - return "func_{:08X}".format(offset) - else: - return actor + "_" + name - -for dirpath, dirnames, files in os.walk(os.path.abspath(os.curdir + "/asm/")): - asm_files = files - break - -for actor, overlay in zip(actor_names, overlay_names): - #print(actor + " " + overlay) - file_data = read_file("decomp/" + overlay) - folder_name = "overlays/actors/" + overlay + "/" - os.makedirs(folder_name, exist_ok=True) - - actor_code_file = "z_" + overlay[4:].lower() + ".c" - actor_header_file = "z_" + overlay[4:].lower() + ".h" - asm_file = [x for x in asm_files if (overlay + "_0x80") in x and "data" not in x][0] - - #print(overlay + " " + str(actor_code_file)) - - with open(folder_name + "/overlay.cfg", 'w') as f: - f.write(overlay + "\n") - f.write(actor_code_file + "\n") - - struct_name = overlay[4:].replace("_", "") - - #print(overlay + " " + struct_name) - - with open("asm/" + overlay + "_data.asm", "r") as f: - data = f.read() - init_data_re = re.search("/\* (\d*) .* \*/ \.word " + struct_name + "_Init", data) - offset = (int(init_data_re.group(1)) - 4) * 4 - actor_init = read_actor_init(file_data, offset) - - #print(overlay + " " + str(actor_init)) - - with open(folder_name + actor_header_file, 'w') as f: - header_guard = "Z_" + actor[6:] + "_H" - instance_size_extra = actor_init.instance_size - 0x144 - - f.write("#ifndef " + header_guard + "\n") - f.write("#define " + header_guard + "\n\n") - f.write("#include \n\n") - f.write("struct " + struct_name + ";\n\n") - - size_len_base16 = len("{:X}".format(actor_init.instance_size)) - f.write("typedef struct " + struct_name + " {\n") - f.write(" /* 0x{num:0{width}} */ Actor actor;\n".format(num = 0, width = size_len_base16)) - if instance_size_extra != 0: - f.write(" /* 0x{num:0{width}X} */ char unk_{num:0{width}X}[0x{extra:X}];\n".format(num = 0x144, width = size_len_base16, extra = instance_size_extra)) - f.write("} " + struct_name + "; // size = 0x{:X}\n\n".format(actor_init.instance_size)) - - f.write("extern const ActorInit " + (overlay[4:] + "_InitVars") + ";\n\n") - f.write("#endif // " + header_guard + "\n") - - with open(folder_name + actor_code_file, 'w') as f: - init_name = make_func_name(struct_name, actor_init.init, "Init") - destroy_name = make_func_name(struct_name, actor_init.destroy, "Destroy") - update_name = make_func_name(struct_name, actor_init.update, "Update") - draw_name = make_func_name(struct_name, actor_init.draw, "Draw") - - f.write("#include \"" + actor_header_file + "\"\n\n") - f.write("#define FLAGS 0x{:08X}\n\n".format(actor_init.flags)) - f.write("#define THIS ((" + struct_name + "*)thisx)\n\n") - - if actor_init.init >= 0x80800000: - f.write("void " + init_name + "(Actor* thisx, GlobalContext* globalCtx);\n") - if actor_init.destroy >= 0x80800000: - f.write("void " + destroy_name + "(Actor* thisx, GlobalContext* globalCtx);\n") - if actor_init.update >= 0x80800000: - f.write("void " + update_name + "(Actor* thisx, GlobalContext* globalCtx);\n") - if actor_init.draw >= 0x80800000: - f.write("void " + draw_name + "(Actor* thisx, GlobalContext* globalCtx);\n") - - f.write("\n") - f.write("/*\n") - f.write("const ActorInit " + (overlay[4:] + "_InitVars") + " = {\n") - f.write(" " + actor_enum[actor_init.actor_id] + ",\n") - f.write(" " + actor_type_enum[actor_init.actor_type] + ",\n") - f.write(" FLAGS,\n") - f.write(" " + object_enum[actor_init.object_id] + ",\n") - f.write(" sizeof(" + struct_name + "),\n") - f.write(" (ActorFunc)" + init_name + ",\n") - f.write(" (ActorFunc)" + destroy_name + ",\n") - f.write(" (ActorFunc)" + update_name + ",\n") - f.write(" (ActorFunc)" + draw_name + "\n") - f.write("};\n") - f.write("*/\n") - - func_names = [] - with open("asm/" + asm_file, "r") as asm: - lines = asm.readlines() - for line in lines: - if line.startswith("glabel") and not line.startswith("glabel .L"): - func_name = line.split()[1] - - assert(func_name != "") - - file_name = "asm/non_matchings/" + asm_file[:-4] + "/" + func_name + ".asm" - func_names.append(file_name) - - for name in func_names: - f.write("\n#pragma GLOBAL_ASM(\"{}\")\n".format(name)) diff --git a/tools/buildtools/.gitignore b/tools/buildtools/.gitignore new file mode 100644 index 0000000000..9edb09b20f --- /dev/null +++ b/tools/buildtools/.gitignore @@ -0,0 +1,6 @@ +# tool binaries + +elf2rom +makeromfs +mkldscript +yaz0 diff --git a/tools/buildtools/Makefile b/tools/buildtools/Makefile new file mode 100644 index 0000000000..e6d6013246 --- /dev/null +++ b/tools/buildtools/Makefile @@ -0,0 +1,20 @@ +CC := gcc +CFLAGS := -Wall -Wextra -pedantic -std=c99 -g -O2 +PROGRAMS := yaz0 makeromfs elf2rom mkldscript + +all: $(PROGRAMS) + +clean: + $(RM) $(PROGRAMS) + +mkldscript_SOURCES := mkldscript.c util.c +elf2rom_SOURCES := elf2rom.c elf32.c n64chksum.c util.c +yaz0_SOURCES := yaz0tool.c yaz0.c util.c +makeromfs_SOURCES := makeromfs.c n64chksum.c util.c + +define COMPILE = +$(1): $($1_SOURCES) + $(CC) $(CFLAGS) $$^ -o $$@ +endef + +$(foreach p,$(PROGRAMS),$(eval $(call COMPILE,$(p)))) diff --git a/tools/elf2rom.c b/tools/buildtools/elf2rom.c similarity index 71% rename from tools/elf2rom.c rename to tools/buildtools/elf2rom.c index 366c05f080..8f44412936 100644 --- a/tools/elf2rom.c +++ b/tools/buildtools/elf2rom.c @@ -64,58 +64,58 @@ static struct RomSegment *add_rom_segment(const char *name) g_romSegmentsCount++; g_romSegments = realloc(g_romSegments, g_romSegmentsCount * sizeof(*g_romSegments)); + g_romSegments[index].name = name; + g_romSegments[index].romStart = -1; + g_romSegments[index].romEnd = -1; return &g_romSegments[index]; } -static int find_symbol_value(struct Elf32_Symbol *syms, int numsymbols, const char *name) +static void find_segment_info(struct Elf32 *elf, struct RomSegment *segment) { - struct Elf32_Symbol *sym; - int lo, hi, mid, cmp; + int i; + char *romStartSymName = sprintf_alloc("_%sSegmentRomStart", segment->name); + char *romEndSymName = sprintf_alloc("_%sSegmentRomEnd", segment->name); - // Binary search for the symbol. We maintain the invariant that [lo, hi) is - // the interval that remains to search. - lo = 0; - hi = numsymbols; - while (lo < hi) + segment->romStart = -1; + segment->romEnd = -1; + + // TODO: use a hashmap for this instead of an O(n) loop + for (i = 0; i < elf->numsymbols; i++) { - mid = lo + (hi - lo) / 2; - sym = &syms[mid]; - cmp = strcmp(sym->name, name); + struct Elf32_Symbol sym; + + if (!elf32_get_symbol(elf, &sym, i)) + util_fatal_error("invalid or corrupt ELF file"); - if (cmp == 0) - return (int) sym->value; - else if (cmp < 0) - lo = mid + 1; - else - hi = mid; + if (strcmp(sym.name, romStartSymName) == 0) + { + segment->romStart = sym.value; + if (segment->romEnd != -1) + break; + } + else if (strcmp(sym.name, romEndSymName) == 0) + { + segment->romEnd = sym.value; + if (segment->romStart != -1) + break; + } } - - util_fatal_error("Symbol %s is not defined\n", name); -} - -static int find_rom_address(struct Elf32_Symbol *syms, int numsymbols, const char *name, const char *suffix) -{ - char *symName = sprintf_alloc("_%sSegmentRom%s", name, suffix); - int ret = find_symbol_value(syms, numsymbols, symName); - free(symName); - return ret; -} - -static int cmp_symbol_by_name(const void *a, const void *b) -{ - return strcmp( - ((struct Elf32_Symbol *)a)->name, - ((struct Elf32_Symbol *)b)->name); + + if (segment->romStart == -1) + util_fatal_error("ROM start address of %s is not defined\n", segment->name); + if (segment->romEnd == -1) + util_fatal_error("ROM end address of %s is not defined\n", segment->name); + + free(romStartSymName); + free(romEndSymName); } static void parse_input_file(const char *filename) { struct Elf32 elf; - struct Elf32_Symbol *syms; const void *data; size_t size; - int numRomSymbols; int i; data = util_read_whole_file(filename, &size); @@ -123,19 +123,6 @@ static void parse_input_file(const char *filename) if (!elf32_init(&elf, data, size) || elf.machine != ELF_MACHINE_MIPS) util_fatal_error("%s is not a valid 32-bit MIPS ELF file", filename); - // sort all symbols that contain the substring "Rom" for fast access - // (sorting all symbols costs 0.1s, might as well avoid that) - syms = malloc(elf.numsymbols * sizeof(struct Elf32_Symbol)); - numRomSymbols = 0; - for (i = 0; i < elf.numsymbols; i++) - { - if (!elf32_get_symbol(&elf, &syms[numRomSymbols], i)) - util_fatal_error("invalid or corrupt ELF file"); - if (strstr(syms[numRomSymbols].name, "Rom")) - numRomSymbols++; - } - qsort(syms, numRomSymbols, sizeof(struct Elf32_Symbol), cmp_symbol_by_name); - // get ROM segments // sections of type SHT_PROGBITS and whose name is ..secname are considered ROM segments for (i = 0; i < elf.shnum; i++) @@ -150,17 +137,38 @@ static void parse_input_file(const char *filename) // so we must ignore the ..secname.bss sections explicitly && strchr(sec.name + 2, '.') == NULL) { + segment = add_rom_segment(sec.name + 2); + find_segment_info(&elf, segment); segment->data = elf.data + sec.offset; - segment->romStart = find_rom_address(syms, numRomSymbols, segment->name, "Start"); - segment->romEnd = find_rom_address(syms, numRomSymbols, segment->name, "End"); } } - g_romSize = find_symbol_value(syms, numRomSymbols, "_RomSize"); + // find ROM size + for (i = 0; i < elf.numsymbols; i++) + { + struct Elf32_Symbol sym; - free(syms); + if (!elf32_get_symbol(&elf, &sym, i)) + util_fatal_error("invalid or corrupt ELF file"); + if (strcmp(sym.name, "_RomSize") == 0) + { + g_romSize = sym.value; + goto got_rom_size; + } + } + util_fatal_error("could not find symbol _RomSize"); + got_rom_size: + + // verify segment info + for (i = 0; i < g_romSegmentsCount; i++) + { + if (g_romSegments[i].romStart == -1) + util_fatal_error("segment %s has no ROM start address defined.", g_romSegments[i].name); + if (g_romSegments[i].romEnd == -1) + util_fatal_error("segment %s has no ROM end address defined.", g_romSegments[i].name); + } } // Writes the N64 ROM, padding the file size to a multiple of 1 MiB @@ -180,7 +188,8 @@ static void write_rom_file(const char *filename, int cicType) } // pad the remaining space with 0xFF - memset(buffer + g_romSize, 0xFF, fileSize - g_romSize); + for (i = g_romSize; i < (int) fileSize; i++) + buffer[i] = 0xFF; // write checksum if (!n64chksum_calculate(buffer, cicType, chksum)) @@ -194,7 +203,7 @@ static void write_rom_file(const char *filename, int cicType) static void usage(const char *execname) { - printf("usage: %s -cic input.elf output.z64\n", execname); + printf("usage: %s\n", execname); } int main(int argc, char **argv) diff --git a/tools/elf32.c b/tools/buildtools/elf32.c similarity index 100% rename from tools/elf32.c rename to tools/buildtools/elf32.c diff --git a/tools/elf32.h b/tools/buildtools/elf32.h similarity index 100% rename from tools/elf32.h rename to tools/buildtools/elf32.h diff --git a/tools/makeromfs.c b/tools/buildtools/makeromfs.c similarity index 100% rename from tools/makeromfs.c rename to tools/buildtools/makeromfs.c diff --git a/tools/mkldscript.c b/tools/buildtools/mkldscript.c similarity index 71% rename from tools/mkldscript.c rename to tools/buildtools/mkldscript.c index 11b7a7e466..6446f24d05 100644 --- a/tools/mkldscript.c +++ b/tools/buildtools/mkldscript.c @@ -18,15 +18,18 @@ enum STMT_after, STMT_align, STMT_beginseg, + STMT_compress, STMT_endseg, STMT_entry, STMT_flags, STMT_include, + STMT_include_readonly, STMT_name, STMT_number, STMT_romalign, STMT_stack, STMT_increment, + STMT_pad_text, }; enum @@ -34,6 +37,14 @@ enum FLAG_BOOT = (1 << 0), FLAG_OBJECT = (1 << 1), FLAG_RAW = (1 << 2), + FLAG_NOLOAD = (1 << 3), +}; + +struct Include +{ + char *fpath; + int linkerPadding; + uint8_t dataReadOnly; }; struct Segment @@ -49,8 +60,9 @@ struct Segment uint32_t increment; uint32_t entry; uint32_t number; - char **includes; + struct Include *includes; int includesCount; + bool compress; }; static struct Segment *g_segments = NULL; @@ -128,6 +140,8 @@ static bool parse_flags(char *str, unsigned int *flags) f |= FLAG_OBJECT; else if (strcmp(str, "RAW") == 0) f |= FLAG_RAW; + else if (strcmp(str, "NOLOAD") == 0) + f |= FLAG_NOLOAD; else return false; @@ -172,15 +186,18 @@ static const char *const stmtNames[] = [STMT_after] = "after", [STMT_align] = "align", [STMT_beginseg] = "beginseg", + [STMT_compress] = "compress", [STMT_endseg] = "endseg", [STMT_entry] = "entry", [STMT_flags] = "flags", [STMT_include] = "include", + [STMT_include_readonly] = "include_readonly", [STMT_name] = "name", [STMT_number] = "number", [STMT_romalign] = "romalign", [STMT_stack] = "stack", [STMT_increment] = "increment", + [STMT_pad_text] = "pad_text", }; static void parse_rom_spec(char *spec) @@ -198,6 +215,8 @@ static void parse_rom_spec(char *spec) if (line[0] != 0) { char *stmtName = skip_whitespace(line); + if (strlen(stmtName) == 0) // skip empty lines + goto no_stmt; char *args = token_split(stmtName); unsigned int stmt; @@ -205,15 +224,17 @@ static void parse_rom_spec(char *spec) if (strcmp(stmtName, stmtNames[stmt]) == 0) goto got_stmt; util_fatal_error("line %i: unknown statement '%s'", lineNum, stmtName); - got_stmt: + got_stmt: if (currSeg != NULL) { - // ensure no duplicates (except for 'include') - if (stmt != STMT_include && (currSeg->fields & (1 << stmt))) + // ensure no duplicates (except for 'include' or 'pad_text') + if (stmt != STMT_include && stmt != STMT_include_readonly && stmt != STMT_pad_text && + (currSeg->fields & (1 << stmt))) util_fatal_error("line %i: duplicate '%s' statement", lineNum, stmtName); currSeg->fields |= 1 << stmt; + currSeg->compress = false; // statements valid within a segment definition switch (stmt) @@ -262,15 +283,26 @@ static void parse_rom_spec(char *spec) util_fatal_error("line %i: alignment is not a power of two", lineNum); break; case STMT_include: + case STMT_include_readonly: currSeg->includesCount++; currSeg->includes = realloc(currSeg->includes, currSeg->includesCount * sizeof(*currSeg->includes)); - if (!parse_quoted_string(args, &currSeg->includes[currSeg->includesCount - 1])) + + if (!parse_quoted_string(args, &currSeg->includes[currSeg->includesCount - 1].fpath)) util_fatal_error("line %i: invalid filename", lineNum); + + currSeg->includes[currSeg->includesCount - 1].linkerPadding = 0; + currSeg->includes[currSeg->includesCount - 1].dataReadOnly = (stmt == STMT_include_readonly); break; case STMT_increment: if (!parse_number(args, &currSeg->increment)) util_fatal_error("line %i: expected number after 'increment'", lineNum); break; + case STMT_compress: + currSeg->compress = true; + break; + case STMT_pad_text: + currSeg->includes[currSeg->includesCount - 1].linkerPadding += 0x10; + break; default: fprintf(stderr, "warning: '%s' is not implemented\n", stmtName); break; @@ -293,7 +325,7 @@ static void parse_rom_spec(char *spec) } } } - + no_stmt: line = nextLine; lineNum++; } @@ -316,6 +348,8 @@ static void write_ld_script(void) // align start of ROM segment if (seg->fields & (1 << STMT_romalign)) fprintf(fout, " _RomSize = (_RomSize + %i) & ~ %i;\n", seg->romalign - 1, seg->romalign - 1); + else if (seg->fields & (1 << STMT_increment)) // align only start of ROM segment + fprintf(fout, " _RomSize = (_RomSize + %i) & ~ %i;\n", seg->increment - 1, seg->increment - 1); // initialized data (.text, .data, .rodata, .sdata) @@ -323,8 +357,9 @@ static void write_ld_script(void) //if (seg->fields & (1 << STMT_increment)) //fprintf(fout, " . += 0x%08X;\n", seg->increment); - fprintf(fout, " _%sSegmentRomStart = _RomSize;\n" - " ..%s ", seg->name, seg->name); + fprintf(fout, " _%sSegmentRomStartTemp = _RomSize;\n" + " _%sSegmentRomStart = _%sSegmentRomStartTemp;\n" + " ..%s ", seg->name, seg->name, seg->name, seg->name); if (seg->fields & (1 << STMT_after)) fprintf(fout, "_%sSegmentEnd ", seg->after); @@ -335,16 +370,19 @@ static void write_ld_script(void) // (AT(_RomSize) isn't necessary, but adds useful "load address" lines to the map file) fprintf(fout, ": AT(_RomSize)\n {\n" - " _%sSegmentStart = .;\n" - " . = ALIGN(0x10);\n" - " _%sSegmentTextStart = .;\n", - seg->name, seg->name); + " _%sSegmentStart = .;\n" + " . = ALIGN(0x10);\n" + " _%sSegmentTextStart = .;\n", + seg->name, seg->name); if (seg->fields & (1 << STMT_align)) fprintf(fout, " . = ALIGN(0x%X);\n", seg->align); - for (j = 0; j < seg->includesCount; j++) - fprintf(fout, " %s (.text)\n", seg->includes[j]); + for (j = 0; j < seg->includesCount; j++) { + fprintf(fout, " %s (.text)\n", seg->includes[j].fpath); + if (seg->includes[j].linkerPadding != 0) + fprintf(fout, " . += 0x%X;\n", seg->includes[j].linkerPadding); + } fprintf(fout, " _%sSegmentTextEnd = .;\n", seg->name); @@ -352,15 +390,17 @@ static void write_ld_script(void) fprintf(fout, " _%sSegmentDataStart = .;\n", seg->name); - for (j = 0; j < seg->includesCount; j++) - fprintf(fout, " %s (.data)\n", seg->includes[j]); + for (j = 0; j < seg->includesCount; j++) { + if (!seg->includes[j].dataReadOnly) + fprintf(fout, " %s (.data)\n", seg->includes[j].fpath); + } /* - for (j = 0; j < seg->includesCount; j++) - fprintf(fout, " %s (.rodata)\n", seg->includes[j]); + for (j = 0; j < seg->includesCount; j++) + fprintf(fout, " %s (.rodata)\n", seg->includes[j].fpath); - for (j = 0; j < seg->includesCount; j++) - fprintf(fout, " %s (.sdata)\n", seg->includes[j]); + for (j = 0; j < seg->includesCount; j++) + fprintf(fout, " %s (.sdata)\n", seg->includes[j].fpath); */ //fprintf(fout, " . = ALIGN(0x10);\n"); @@ -370,10 +410,13 @@ static void write_ld_script(void) fprintf(fout, " _%sSegmentRoDataStart = .;\n", seg->name); - for (j = 0; j < seg->includesCount; j++) - fprintf(fout, " %s (.rodata)\n", seg->includes[j]); + for (j = 0; j < seg->includesCount; j++) { + if (seg->includes[j].dataReadOnly) + fprintf(fout, " %s (.data)\n", seg->includes[j].fpath); + fprintf(fout, " %s (.rodata)\n", seg->includes[j].fpath); + } - //fprintf(fout, " . = ALIGN(0x10);\n"); + //fprintf(fout, " . = ALIGN(0x10);\n"); fprintf(fout, " _%sSegmentRoDataEnd = .;\n", seg->name); @@ -382,30 +425,32 @@ static void write_ld_script(void) fprintf(fout, " _%sSegmentSDataStart = .;\n", seg->name); for (j = 0; j < seg->includesCount; j++) - fprintf(fout, " %s (.sdata)\n", seg->includes[j]); + fprintf(fout, " %s (.sdata)\n", seg->includes[j].fpath); - fprintf(fout, " . = ALIGN(0x10);\n"); + fprintf(fout, " . = ALIGN(0x10);\n"); fprintf(fout, " _%sSegmentSDataEnd = .;\n", seg->name); - fprintf(fout, " _%sSegmentOvlStart = .;\n", seg->name); + fprintf(fout, " _%sSegmentOvlStart = .;\n", seg->name); - for (j = 0; j < seg->includesCount; j++) - fprintf(fout, " %s (.ovl)\n", seg->includes[j]); + for (j = 0; j < seg->includesCount; j++) + fprintf(fout, " %s (.ovl)\n", seg->includes[j].fpath); - fprintf(fout, " . = ALIGN(0x10);\n"); + fprintf(fout, " . = ALIGN(0x10);\n"); - fprintf(fout, " _%sSegmentOvlEnd = .;\n", seg->name); + fprintf(fout, " _%sSegmentOvlEnd = .;\n", seg->name); - if (seg->fields & (1 << STMT_increment)) - fprintf(fout, " . += 0x%08X;\n", seg->increment); + //if (seg->fields & (1 << STMT_increment)) + // fprintf(fout, " . += 0x%08X;\n", seg->increment); fputs(" }\n", fout); //fprintf(fout, " _RomSize += ( _%sSegmentDataEnd - _%sSegmentTextStart );\n", seg->name, seg->name); fprintf(fout, " _RomSize += ( _%sSegmentOvlEnd - _%sSegmentTextStart );\n", seg->name, seg->name); - fprintf(fout, " _%sSegmentRomEnd = _RomSize;\n\n", seg->name); + fprintf(fout, " _%sSegmentRomEndTemp = _RomSize;\n" + "_%sSegmentRomEnd = _%sSegmentRomEndTemp;\n\n", + seg->name, seg->name, seg->name); // algn end of ROM segment if (seg->fields & (1 << STMT_romalign)) @@ -413,80 +458,85 @@ static void write_ld_script(void) // uninitialized data (.sbss, .scommon, .bss, COMMON) fprintf(fout, " ..%s.bss ADDR(..%s) + SIZEOF(..%s) (NOLOAD) :\n" - /*" ..%s.bss :\n"*/ - " {\n" - " . = ALIGN(0x10);\n" - " _%sSegmentBssStart = .;\n", - seg->name, seg->name, seg->name, seg->name); + /*" ..%s.bss :\n"*/ + " {\n" + " . = ALIGN(0x10);\n" + " _%sSegmentBssStart = .;\n", + seg->name, seg->name, seg->name, seg->name); if (seg->fields & (1 << STMT_align)) fprintf(fout, " . = ALIGN(0x%X);\n", seg->align); for (j = 0; j < seg->includesCount; j++) - fprintf(fout, " %s (.sbss)\n", seg->includes[j]); + fprintf(fout, " %s (.sbss)\n", seg->includes[j].fpath); for (j = 0; j < seg->includesCount; j++) - fprintf(fout, " %s (.scommon)\n", seg->includes[j]); + fprintf(fout, " %s (.scommon)\n", seg->includes[j].fpath); for (j = 0; j < seg->includesCount; j++) - fprintf(fout, " %s (.bss)\n", seg->includes[j]); + fprintf(fout, " %s (.bss)\n", seg->includes[j].fpath); for (j = 0; j < seg->includesCount; j++) - fprintf(fout, " %s (COMMON)\n", seg->includes[j]); + fprintf(fout, " %s (COMMON)\n", seg->includes[j].fpath); fprintf(fout, " . = ALIGN(0x10);\n" - " _%sSegmentBssEnd = .;\n" - " _%sSegmentEnd = .;\n" - " }\n" - " _%sSegmentBssSize = ABSOLUTE( _%sSegmentBssEnd - _%sSegmentBssStart );\n\n", - seg->name, seg->name, seg->name, seg->name, seg->name); + " _%sSegmentBssEnd = .;\n" + " _%sSegmentEnd = .;\n" + " }\n" + " _%sSegmentBssSize = ABSOLUTE( _%sSegmentBssEnd - _%sSegmentBssStart );\n\n", + seg->name, seg->name, seg->name, seg->name, seg->name); // Increment the end of the segment //if (seg->fields & (1 << STMT_increment)) - //fprintf(fout, " . += 0x%08X;\n", seg->increment); + // fprintf(fout, " . += 0x%08X;\n", seg->increment); - //fprintf(fout, " ..%s.ovl ADDR(..%s) + SIZEOF(..%s) :\n" - // /*" ..%s.bss :\n"*/ - // " {\n", - // seg->name, seg->name, seg->name); - //fprintf(fout, " _%sSegmentOvlStart = .;\n", seg->name); + //fprintf(fout, " ..%s.ovl ADDR(..%s) + SIZEOF(..%s) :\n" + // /*" ..%s.bss :\n"*/ + // " {\n", + // seg->name, seg->name, seg->name); + //fprintf(fout, " _%sSegmentOvlStart = .;\n", seg->name); - //for (j = 0; j < seg->includesCount; j++) - // fprintf(fout, " %s (.ovl)\n", seg->includes[j]); + //for (j = 0; j < seg->includesCount; j++) + // fprintf(fout, " %s (.ovl)\n", seg->includes[j].fpath); - ////fprintf(fout, " . = ALIGN(0x10);\n"); + ////fprintf(fout, " . = ALIGN(0x10);\n"); - //fprintf(fout, " _%sSegmentOvlEnd = .;\n", seg->name); + //fprintf(fout, " _%sSegmentOvlEnd = .;\n", seg->name); - //fprintf(fout, "\n }\n"); + //fprintf(fout, "\n }\n"); } - fputs(" _RomEnd = _RomSize;\n}\n", fout); } static void usage(const char *execname) { - fprintf(stderr, "Nintendo 64 linker script generation tool v0.01\n" - "usage: %s SPEC_FILE LD_SCRIPT\n" + fprintf(stderr, "Nintendo 64 linker script generation tool v0.02\n" + "usage: %s [-c SEGMENTS] SPEC_FILE LD_SCRIPT\n" "SPEC_FILE file describing the organization of object files into segments\n" - "LD_SCRIPT filename of output linker script\n", + "LD_SCRIPT filename of output linker script\n" + "-c SEGMENTS (optional) output compression script for compressed segments in SEGMENTS folder\n", execname); } int main(int argc, char **argv) { + const char *spec_arg = NULL; + const char *ldscript_arg = NULL; + void *spec; size_t size; - if (argc != 3) - { + if (argc == 3) { + spec_arg = argv[1]; + ldscript_arg = argv[2]; + } else { usage(argv[0]); return 1; - } + } - spec = util_read_whole_file(argv[1], &size); - parse_rom_spec(spec); - fout = fopen(argv[2], "w"); - if (fout == NULL) - util_fatal_error("failed to open file '%s' for writing", argv[2]); - write_ld_script(); - free(spec); - fclose(fout); + spec = util_read_whole_file(spec_arg, &size); + parse_rom_spec(spec); + fout = fopen(ldscript_arg, "w"); + if (fout == NULL) + util_fatal_error("failed to open file '%s' for writing", ldscript_arg); + write_ld_script(); + free(spec); + fclose(fout); return 0; } diff --git a/tools/n64chksum.c b/tools/buildtools/n64chksum.c similarity index 100% rename from tools/n64chksum.c rename to tools/buildtools/n64chksum.c diff --git a/tools/n64chksum.h b/tools/buildtools/n64chksum.h similarity index 100% rename from tools/n64chksum.h rename to tools/buildtools/n64chksum.h diff --git a/tools/util.c b/tools/buildtools/util.c similarity index 100% rename from tools/util.c rename to tools/buildtools/util.c diff --git a/tools/util.h b/tools/buildtools/util.h similarity index 88% rename from tools/util.h rename to tools/buildtools/util.h index e34800a193..8659e6f359 100644 --- a/tools/util.h +++ b/tools/buildtools/util.h @@ -2,7 +2,7 @@ #define _UTIL_H_ #ifdef __GNUC__ -__attribute__((format(printf, 1, 2), noreturn)) +__attribute__((format(printf, 1, 2))) #endif void util_fatal_error(const char *msgfmt, ...); diff --git a/tools/yaz0.c b/tools/buildtools/yaz0.c similarity index 99% rename from tools/yaz0.c rename to tools/buildtools/yaz0.c index 205ab98fe6..5b3156e443 100644 --- a/tools/yaz0.c +++ b/tools/buildtools/yaz0.c @@ -234,8 +234,5 @@ int yaz0_encode(uint8_t *src, uint8_t *dst, int srcSize) bufPos = 0; } - while ((dstPos % 16) != 0) - dst[dstPos++] = 0; - return dstPos; } diff --git a/tools/yaz0.h b/tools/buildtools/yaz0.h similarity index 100% rename from tools/yaz0.h rename to tools/buildtools/yaz0.h diff --git a/tools/yaz0tool.c b/tools/buildtools/yaz0tool.c similarity index 100% rename from tools/yaz0tool.c rename to tools/buildtools/yaz0tool.c diff --git a/tools/decomp-permuter/.gitignore b/tools/decomp-permuter/.gitignore index 2dcae2143e..cdbe751bdc 100644 --- a/tools/decomp-permuter/.gitignore +++ b/tools/decomp-permuter/.gitignore @@ -8,4 +8,3 @@ __pycache__/ !test/*.c /nonmatchings .vscode/ -pah.conf diff --git a/tools/decomp-permuter/README.md b/tools/decomp-permuter/README.md index eb31c9d652..5c18e0ab31 100644 --- a/tools/decomp-permuter/README.md +++ b/tools/decomp-permuter/README.md @@ -2,11 +2,11 @@ Automatically permutes C files to better match a target binary. The permuter has two modes of operation: - Random: purely at random, introduce temporary variables for values, change types, put statements on the same line... -- Manual: test all combinations of user-specified variations, using macros like `PERM_GENERAL(a = b ? c : d;, if (b) a = c; else a = d;)` to try both specified alternatives. +- Manual: test all combinations of user-specified variations, using macros like `PERM_TERNARY(a = , b, c, d)` to try both `a = b ? c : d` and `if (b) a = c; else a = d;`. The modes can also be combined, by using the `PERM_RANDOMIZE` macro. -[](https://asciinema.org/a/232846) +[](https://asciinema.org/a/232846) The main target for the tool is MIPS code compiled by old compilers (IDO, possibly GCC). Getting it to work on other architectures shouldn't be too hard, however. @@ -15,9 +15,9 @@ https://github.com/laqieer/decomp-permuter-arm has an ARM port. ## Usage `./permuter.py directory/` runs the permuter; see below for the meaning of the directory. -Pass `-h` to see possible flags. `-j` is suggested (enables multi-threaded mode). +Pass `-h` to see possible flags. -You'll first need to install a couple of prerequisites: `python3 -m pip install pycparser pynacl toml` (also `dataclasses` if on Python 3.6 or below) +You'll first need to install a couple of prerequisites: `python3 -m pip install attrs pycparser pynacl toml` (also `dataclasses` if on Python 3.6 or below) The permuter expects as input one or more directory containing: - a .c file with a single function, @@ -31,22 +31,16 @@ For projects with a properly configured makefile, you should be able to set thes where file.c contains the function to be permuted, and file.s is its assembly in a self-contained file. Otherwise, see USAGE.md for more details. -For projects using Ninja instead of Make, add a `permuter_settings.toml` in the root or `tools/` directory of the project: -```toml -build_system = "ninja" -``` -Then `import.py` should work as expected if `build.ninja` is at the root of the project. - The .c file may be modified with any of the following macros which affect manual permutation: - `PERM_GENERAL(a, b, ...)` expands to any of `a`, `b`, ... +- `PERM_TYPECAST(a, b, ...)` expands to any of `(a)`, `(b)`, ... (empty argument for no cast at all) +- `PERM_TERNARY(prefix, a, b, c)` expands to either `prefix a ? b : c` or `if (a) prefix b; else prefix c;`. - `PERM_VAR(a, b)` sets the meta-variable `a` to `b`, `PERM_VAR(a)` expands to the meta-variable `a`. -- `PERM_RANDOMIZE(code)` expands to `code`, but allows randomization within that region. Multiple regions may be specified. -- `PERM_LINESWAP(lines)` expands to a permutation of the ordered set of non-whitespace lines (split by `\n`). Each line must contain zero or more complete C statements. (For incomplete statements use `PERM_LINESWAP_TEXT`, which is slower because it has to repeatedly parse C code.) +- `PERM_RANDOMIZE(code)` expands to `code`, but allows randomization within that region. +- `PERM_LINESWAP(lines)` expands to a permutation of the ordered set of non-whitespace lines (split by `\n`). +- `PERM_CONDNEZ(cond)` expands to either `cond` or `(cond) != 0`. - `PERM_INT(lo, hi)` expands to an integer between `lo` and `hi` (which must be constants). -- `PERM_IGNORE(code)` expands to `code`, without passing it through the C parser library (pycparser)/randomizer. This can be used to avoid parse errors for non-standard C, e.g. `asm` blocks. -- `PERM_PRETEND(code)` expands to `code` for the purpose of the C parser/randomizer, but gets removed afterwards. This can be used together with `PERM_IGNORE` to enable the permuter to deal with input it isn't designed for (e.g. inline functions, C++, non-code). -- `PERM_ONCE([key,] code)` expands to either `code` or to nothing, such that each unique key gets expanded exactly once. `key` defaults to `code`. For example, `PERM_ONCE(a;) b; PERM_ONCE(a;)` expands to either `a; b;` or `b; a;`. Arguments are split by a commas, exluding commas inside parenthesis. `(,)` is a special escape sequence that resolves to `,`. @@ -57,53 +51,22 @@ PERM_GENERAL(stmt;, PERM_VAR(delayed, stmt;)) ... PERM_VAR(delayed) ``` -is an alternative way of writing `PERM_ONCE`. - -## permuter@home - -The permuter supports a distributed mode, where people can donate processor power to your permuter runs to speed them up. -To use this, pass `-J` when running `permuter.py` and follow the instructions. -You will need to be granted access by someone who is already connected to a permuter network. - -To allow others to use your computer for permuter runs, do the following: - -- install Docker (used for sandboxing and to ensure a consistent environment) -- if on Linux, add yourself to the Docker group: `sudo usermod -aG docker $USER` -- install required packages: `python3 -m pip install docker` -- open a terminal, and run `./pah.py run-server` to start the server. - There are a few required arguments (e.g. how many cores to use), see `--help` for more details. - -Please be aware that being in the Docker group implies (password-less) sudo rights. -You can avoid that for your personal account by running the permuter under a separate user. -Unfortunately, there is currently no way to run a sandboxed permuter server without sudo rights. 😢 - -Anyone who is granted access to permuter@home can run a server. - -To set up a new permuter network, see [src/net/controller/README.md](./src/net/controller/README.md). +is a valid pattern for emitting a statement either at one point or later. ## FAQ -**What do the scores mean?** The scores are computed by taking diffs of objdump'd .o -files, and giving different penalties for lines that are the same/use the same -instruction/are reordered/don't match at all. 0 means the function matches fully. -Stack positions are ignored unless --stack-diffs is passed (but beware that the -permuter is currently quite bad at resolving stack differences). For more details, -see scorer.py. It's far from a perfect system, and should probably be tweaked to -look at e.g. the register diff graph. +**What do the scores mean?** The scores are computed by taking diffs of objdump'd .o files, and giving different penalties for lines +that are the same/use the same instruction/are reordered/don't match at all. Stack positions are ignored. For more details, see scorer.py. +It's far from a perfect system, and should probably be tweaked to look at e.g. the register diff graph. -**What sort of non-matchings are the permuter good at?** It's generally best towards -the end, when mostly regalloc changes remain. If there are reorderings or functional -changes, it's often easy to resolve those by hand, and neither the scorer nor the +**What sort of non-matchings are the permuter good at?** It's generally best towards the end, when mostly regalloc changes remain. +If there are reorderings or functional changes, it's often easy to resolve those by hand, and neither the scorer nor the randomizer tends to play well with them. -**Should I use this instead of trying to match code by hand?** No, but it can be a good -complement. PERM macros can be used to quickly test lots of variations of a function at -once, in cases where there are interactions between several parts of a function. -The randomization mode often finds lots of nonsensical changes that improve regalloc -"by accident"; it's up to you to pick out the ones that look sensible. If none do, -it can still be useful to know which parts of the function need to be changed to get the -code nearer to matching. Having made one of the improvements, and the function can then be -permuted again, to find further possible improvements. +**Should I use this instead of trying to match code by hand?** Well, the manual PERM macros might speed you up if you manage +to fit the permuter into your workflow. The random mode is however much more of a last ditch sort of thing. +It often finds nonsensical permutations that happen to match regalloc very well by accident. +Still, it's often useful in pointing out which parts of the code need to be changed to get the code nearer to matching. ## Helping out diff --git a/tools/decomp-permuter/USAGE.md b/tools/decomp-permuter/USAGE.md index d73b3a8980..62a67803f0 100644 --- a/tools/decomp-permuter/USAGE.md +++ b/tools/decomp-permuter/USAGE.md @@ -1,7 +1,3 @@ -This file describes how to manually set up a directory for use with the permuter. -**You probably don't need to do this!** In normal circumstances, `./import.py` -does all this for you. See README.md for more details. - * create a directory that will contain all of the input files for the invokation * put a compile command into `/compile.sh` (see e.g. `compile_example.sh`; it will be invoked as `./compile.sh input.c -o output.o`) * `gcc -E -P -I header_dir -D'__attribute__(x)=' orig_c_file.c > /base.c` diff --git a/tools/decomp-permuter/import.py b/tools/decomp-permuter/import.py index 97b0da0c41..7542d77608 100755 --- a/tools/decomp-permuter/import.py +++ b/tools/decomp-permuter/import.py @@ -2,35 +2,17 @@ # usage: ./import.py path/to/file.c path/to/asm.s [make flags] import sys import os -import platform import re import subprocess import shutil import argparse import shlex import toml -import json from typing import Callable, Dict, List, Match, Mapping, Optional, Pattern, Set, Tuple from collections import defaultdict -from src import ast_util -from src.compiler import Compiler -from src.error import CandidateConstructionFailure +from strip_other_fns import strip_other_fns_and_write -is_macos = platform.system() == "Darwin" - - -def homebrew_gcc_cpp() -> str: - lookup_path = "/usr/local/bin" - try: - return max(f for f in os.listdir(lookup_path) if f.startswith("cpp-")) - except ValueError: - print("Error while looking up in " + lookup_path + " for cpp- executable") - sys.exit(1) - - -cpp_cmd = homebrew_gcc_cpp() if is_macos else "cpp" -make_cmd = "gmake" if is_macos else "make" ASM_PRELUDE: str = """ .set noat @@ -45,7 +27,7 @@ ASM_PRELUDE: str = """ DEFAULT_AS_CMDLINE: List[str] = ["mips-linux-gnu-as", "-march=vr4300", "-mabi=32"] -CPP: List[str] = [cpp_cmd, "-P", "-undef"] +CPP: List[str] = ["cpp", "-P", "-undef"] STUB_FN_MACROS: List[str] = [ "-D_Static_assert(x, y)=", @@ -114,18 +96,18 @@ def create_directory(func_name: str) -> str: pass -def find_root_dir(filename: str, pattern: List[str]) -> Optional[str]: +def find_makefile_dir(filename: str) -> str: old_dirname = None dirname = os.path.abspath(os.path.dirname(filename)) - while dirname and (not old_dirname or len(dirname) < len(old_dirname)): - for fname in pattern: + for fname in ["makefile", "Makefile"]: if os.path.isfile(os.path.join(dirname, fname)): return dirname old_dirname = dirname dirname = os.path.dirname(dirname) - return None + print(f"Missing makefile for file {filename}!", file=sys.stderr) + sys.exit(1) def fixup_build_command( @@ -165,29 +147,14 @@ def fixup_build_command( def find_build_command_line( - root_dir: str, c_file: str, make_flags: List[str], build_system: str -) -> Tuple[List[str], List[str]]: - if build_system == "make": - build_invocation = [ - make_cmd, - "--always-make", - "--dry-run", - "--debug=j", - "PERMUTER=1", - ] + make_flags - elif build_system == "ninja": - build_invocation = ["ninja", "-t", "commands"] + make_flags - else: - print("Unknown build system '" + build_system + "'.") - sys.exit(1) - - rel_c_file = os.path.relpath(c_file, root_dir) + c_file: str, make_flags: List[str] +) -> Tuple[List[str], List[str], str]: + makefile_dir = find_makefile_dir(os.path.abspath(os.path.dirname(c_file))) + rel_c_file = os.path.relpath(c_file, makefile_dir) + make_cmd = ["make", "--always-make", "--dry-run", "--debug=j"] + make_flags debug_output = ( - subprocess.check_output(build_invocation, cwd=root_dir) - .decode("utf-8") - .split("\n") + subprocess.check_output(make_cmd, cwd=makefile_dir).decode("utf-8").split("\n") ) - output = [] close_match = False @@ -199,17 +166,8 @@ def find_build_command_line( line = line.replace("/./", "/") if rel_c_file not in line: continue - close_match = True parts = shlex.split(line) - - # extract actual command from 'bash -c "..."' - if parts[0] == "bash" and "-c" in parts: - for part in parts: - if rel_c_file in part: - parts = shlex.split(part) - break - if rel_c_file not in parts: continue if "-o" not in parts: @@ -229,8 +187,8 @@ def find_build_command_line( else "" ) print( - "Failed to find compile command from build script output. " - f"Please ensure running '{' '.join(build_invocation)}' " + "Failed to find compile command from makefile output. " + f"Please ensure 'make -Bn --debug=j {formatcmd(make_flags)}' " f"contains a line with the string '{rel_c_file}'.{close_extra}", file=sys.stderr, ) @@ -240,23 +198,30 @@ def find_build_command_line( output_lines = "\n".join(map(formatcmd, output)) print( f"Error: found multiple compile commands for {rel_c_file}:\n{output_lines}\n" - f"Please modify the build script such that '{' '.join(build_invocation)}' " - "produces a single compile command.", + "Please modify the makefile such that if PERMUTER = 1, " + "only a single compile command is included.", file=sys.stderr, ) sys.exit(1) - return output[0], assembler + return output[0], assembler, makefile_dir PreserveMacros = Tuple[Pattern[str], Callable[[str], str]] def build_preserve_macros( - cwd: str, preserve_regex: Optional[str], settings: Mapping[str, object] + cwd: str, preserve_regex: Optional[str] ) -> Optional[PreserveMacros]: + data: Mapping[str, object] = {} + for filename in SETTINGS_FILES: + filename = os.path.join(cwd, filename) + if os.path.exists(filename): + with open(filename) as f: + data = toml.load(f) + break - subdata = settings.get("preserve_macros", {}) + subdata = data.get("preserve_macros", {}) assert isinstance(subdata, dict) regexes = [] for regex, value in subdata.items(): @@ -284,9 +249,7 @@ def build_preserve_macros( def preprocess_c_with_macros( cpp_command: List[str], cwd: str, preserve_macros: PreserveMacros ) -> Tuple[str, List[str]]: - """Import C file, preserving function macros. Subroutine of import_c_file. - - Returns the source code and a list of preserved macros.""" + """Import C file, preserving function macros. Subroutine of import_c_file.""" preserve_regex, preserve_type_fn = preserve_macros @@ -407,24 +370,12 @@ def preprocess_c_with_macros( ) -def prune_source(source: str, func_name: str) -> str: - """Reduce the source to a smaller version that includes only the - imported function and functions/struct/variables that it uses.""" - - def import_c_file( compiler: List[str], cwd: str, in_file: str, preserve_macros: Optional[PreserveMacros], - should_prune: bool, - func_name: str, -) -> Tuple[str, Optional[str]]: - """Preprocess a C file into permuter-usable source. - - Prints preserved macros as a side effect. - - Returns source for base.c and compilable (macro-expanded) source.""" +) -> Tuple[str, List[str]]: in_file = os.path.relpath(in_file, cwd) include_next = 0 cpp_command = CPP + [in_file, "-D__sgi", "-D_LANGUAGE_C", "-DNON_MATCHING"] @@ -449,12 +400,14 @@ def import_c_file( try: if preserve_macros is None: # Simple codepath, should work even if the more complex one breaks. - source = subprocess.check_output( - cpp_command + STUB_FN_MACROS, cwd=cwd, encoding="utf-8" + return ( + subprocess.check_output( + cpp_command + STUB_FN_MACROS, cwd=cwd, encoding="utf-8" + ), + [], ) - macros: List[str] = [] - else: - source, macros = preprocess_c_with_macros(cpp_command, cwd, preserve_macros) + + return preprocess_c_with_macros(cpp_command, cwd, preserve_macros) except subprocess.CalledProcessError as e: print( @@ -464,39 +417,6 @@ def import_c_file( ) sys.exit(1) - if macros: - macro_str = "macros: " + ", ".join(macros) - else: - macro_str = "no macros" - print(f"Preserving {macro_str}. Use --preserve-macros='' to override.") - - compilable_source: Optional[str] = None - try: - ast = ast_util.parse_c(source, from_import=True) - orig_fn, _ = ast_util.extract_fn(ast, func_name) - if should_prune: - try: - ast_util.prune_ast(orig_fn, ast) - source = ast_util.to_c_raw(ast) - except Exception: - print( - "Source minimization failed! " - "You could try --no-prune as a workaround." - ) - raise - compilable_source = ast_util.to_c(ast, from_import=True) - except CandidateConstructionFailure as e: - print(e.message) - if should_prune and "PERM_" in source: - print( - "Please put in PERM macros after import, otherwise source " - "minimization does not work." - ) - else: - print("Proceeding anyway, but expect errors when permuting!") - - return source, compilable_source - def finalize_compile_command(cmdline: List[str]) -> str: quoted = [arg if arg == "|" else shlex.quote(arg) for arg in cmdline] @@ -505,11 +425,10 @@ def finalize_compile_command(cmdline: List[str]) -> str: def write_compile_command(compiler: List[str], cwd: str, out_file: str) -> None: - with open(out_file, "w", encoding="utf-8") as f: f.write("#!/usr/bin/env bash\n") - f.write('INPUT="$(realpath "$1")"\n') - f.write('OUTPUT="$(realpath "$3")"\n') + f.write('INPUT="$(readlink -f "$1")"\n') + f.write('OUTPUT="$(readlink -f "$3")"\n') f.write(f"cd {shlex.quote(cwd)}\n") f.write(finalize_compile_command(compiler)) os.chmod(out_file, 0o755) @@ -535,21 +454,17 @@ def compile_asm(assembler: List[str], cwd: str, in_file: str, out_file: str) -> sys.exit(1) -def compile_base(compile_script: str, source: str, c_file: str, out_file: str) -> None: - if "PERM_" in source: +def compile_base(compile_script: str, in_file: str, out_file: str) -> None: + in_file = os.path.abspath(in_file) + out_file = os.path.abspath(out_file) + compile_cmd = [compile_script, in_file, "-o", out_file] + try: + subprocess.check_call(compile_cmd) + except subprocess.CalledProcessError: print( - "Cannot test-compile imported code because it contains PERM macros. " - "It is recommended to put in PERM macros after import." + "Warning: failed to compile .c file, you'll need to adjust it manually. " + f"Command line:\n{formatcmd(compile_cmd)}" ) - return - escaped_c_file = json.dumps(c_file) - source = "#line 1 " + escaped_c_file + "\n" + source - compiler = Compiler(compile_script, show_errors=True) - o_file = compiler.compile(source) - if o_file: - shutil.move(o_file, out_file) - else: - print("Warning: failed to compile .c file.") def write_to_file(cont: str, filename: str) -> None: @@ -557,20 +472,36 @@ def write_to_file(cont: str, filename: str) -> None: f.write(cont) +def try_strip_other_fns_and_write( + source: str, func_name: str, base_c_file: str +) -> None: + try: + strip_other_fns_and_write(source, func_name, base_c_file) + except Exception: + import traceback + + traceback.print_exc() + print( + "Warning: failed to remove other functions. Edit {base_c_file} and remove them manually." + ) + with open(base_c_file, "w", encoding="utf-8") as f: + f.write(source) + + def main() -> None: parser = argparse.ArgumentParser( - description="""Import a function for use with the permuter. - Will create a new directory nonmatchings/-/.""" + description="Import a function for use with the permuter. " + "Will create a new directory nonmatchings/-/." ) parser.add_argument( "c_file", - help="""File containing the function. - Assumes that the file can be built with 'make' to create an .o file.""", + help="File containing the function. " + "Assumes that the file can be built with 'make' to create an .o file.", ) parser.add_argument( "asm_file", - help="""File containing assembly for the function. - Must start with 'glabel ' and contain no other functions.""", + help="File containing assembly for the function. " + "Must start with 'glabel ' and contain no other functions.", ) parser.add_argument( "make_flags", @@ -585,69 +516,23 @@ def main() -> None: "--preserve-macros", metavar="REGEX", dest="preserve_macros_regex", - help=f"""Regex for which macros to preserve, or empty string for no macros. - By default, this is read from {settings_files} in a parent directory of - the imported file. Type information is also read from this file.""", - ) - parser.add_argument( - "--no-prune", - dest="prune", - action="store_false", - help="""Don't minimize the source to keep only the imported function and - functions/struct/variables that it uses. Normally this behavior is - useful to make the permuter faster, but in cases where unrelated code - affects the generated assembly asm it can be necessary to turn off. - Note that regardless of this setting the permuter always removes all - other functions by replacing them with declarations.""", + help="Regex for which macros to preserve, or empty string for no macros. " + f"By default, this is read from {settings_files} in the imported " + "file's Makefile's directory. Type information is also read from this file.", ) args = parser.parse_args() - root_dir = find_root_dir( - args.c_file, SETTINGS_FILES + ["Makefile", "makefile", "build.ninja"] - ) - - if not root_dir: - print(f"Can't find root dir of project!", file=sys.stderr) - sys.exit(1) - - settings: Mapping[str, object] = {} - for filename in SETTINGS_FILES: - filename = os.path.join(root_dir, filename) - if os.path.exists(filename): - with open(filename) as f: - settings = toml.load(f) - break - - build_system = settings.get("build_system", "make") - compiler = settings.get("compiler_command") - assembler = settings.get("assembler_command") - make_flags = args.make_flags + make_flags = args.make_flags + ["PERMUTER=1"] func_name, asm_cont = parse_asm(args.asm_file) print(f"Function name: {func_name}") - if compiler or assembler: - assert isinstance(compiler, str) - assert isinstance(assembler, str) - assert settings.get("build_system") is None - - compiler = shlex.split(compiler) - assembler = shlex.split(assembler) - else: - assert isinstance(build_system, str) - compiler, assembler = find_build_command_line( - root_dir, args.c_file, make_flags, build_system - ) - + compiler, assembler, cwd = find_build_command_line(args.c_file, make_flags) print(f"Compiler: {formatcmd(compiler)} {{input}} -o {{output}}") print(f"Assembler: {formatcmd(assembler)} {{input}} -o {{output}}") - preserve_macros = build_preserve_macros( - root_dir, args.preserve_macros_regex, settings - ) - source, compilable_source = import_c_file( - compiler, root_dir, args.c_file, preserve_macros, args.prune, func_name - ) + preserve_macros = build_preserve_macros(cwd, args.preserve_macros_regex) + source, macros = import_c_file(compiler, cwd, args.c_file, preserve_macros) dirname = create_directory(func_name) base_c_file = f"{dirname}/base.c" @@ -658,19 +543,24 @@ def main() -> None: func_name_file = f"{dirname}/function.txt" try: + # try_strip_other_fns_and_write(source, func_name, base_c_file) write_to_file(source, base_c_file) write_to_file(func_name, func_name_file) - write_compile_command(compiler, root_dir, compile_script) + write_compile_command(compiler, cwd, compile_script) write_asm(asm_cont, target_s_file) - compile_asm(assembler, root_dir, target_s_file, target_o_file) - if compilable_source is not None: - compile_base(compile_script, compilable_source, base_c_file, base_o_file) + compile_asm(assembler, cwd, target_s_file, target_o_file) + compile_base(compile_script, base_c_file, base_o_file) except: if not args.keep: print(f"\nDeleting directory {dirname} (run with --keep to preserve it).") shutil.rmtree(dirname) raise + if macros: + macro_str = "macros: " + ", ".join(macros) + else: + macro_str = "no macros" + print(f"Preserving {macro_str}. Use --preserve-macros='' to override.") print(f"\nDone. Imported into {dirname}") diff --git a/tools/decomp-permuter/mypy.ini b/tools/decomp-permuter/mypy.ini index 2d21c54b76..8eab606036 100644 --- a/tools/decomp-permuter/mypy.ini +++ b/tools/decomp-permuter/mypy.ini @@ -1,6 +1,6 @@ [mypy] check_untyped_defs = True -disallow_any_generics = False +disallow_any_generics = True disallow_incomplete_defs = True disallow_subclassing_any = True disallow_untyped_calls = True @@ -11,17 +11,3 @@ warn_redundant_casts = True warn_return_any = True warn_unused_ignores = True mypy_path = stubs -python_version = 3.7 -files = import.py, pah.py, permuter.py, src/net/evaluator.py - -[mypy-nacl.*] -ignore_missing_imports = True - -[mypy-pystray.*] -ignore_missing_imports = True - -[mypy-docker.*] -ignore_missing_imports = True - -[mypy-PIL.*] -ignore_missing_imports = True diff --git a/tools/decomp-permuter/permuter.py b/tools/decomp-permuter/permuter.py index 8433c82180..2ac3f43fa5 100755 --- a/tools/decomp-permuter/permuter.py +++ b/tools/decomp-permuter/permuter.py @@ -1,5 +1,4 @@ #!/usr/bin/env python3 from src.main import main -if __name__ == "__main__": - main() +main() diff --git a/tools/decomp-permuter/permuter_settings_example.toml b/tools/decomp-permuter/permuter_settings_example.toml index 46523f3315..5b88ecfbb6 100644 --- a/tools/decomp-permuter/permuter_settings_example.toml +++ b/tools/decomp-permuter/permuter_settings_example.toml @@ -1,8 +1,5 @@ # Optional configuration file for import.py. Put it in the root or in tools/ # of the repo you are importing from. - -build_system = "ninja" - [preserve_macros] "g[DS]P.*" = "void" "gDma.*" = "void" diff --git a/tools/decomp-permuter/run-tests.sh b/tools/decomp-permuter/run-tests.sh index eff96637e3..c3519a5c20 100755 --- a/tools/decomp-permuter/run-tests.sh +++ b/tools/decomp-permuter/run-tests.sh @@ -1,3 +1,2 @@ #!/bin/sh python3 -m unittest discover -s test/ -# python3 -m pytest test/ diff --git a/tools/decomp-permuter/src/ast_types.py b/tools/decomp-permuter/src/ast_types.py index 9eb21c28bf..488dd86e43 100644 --- a/tools/decomp-permuter/src/ast_types.py +++ b/tools/decomp-permuter/src/ast_types.py @@ -7,9 +7,10 @@ They make a number of simplifying assumptions: For the purposes of the randomizer these restrictions are acceptable.""" -from dataclasses import dataclass, field from typing import Union, Dict, Set, List +import sys +import attr from pycparser import c_ast from pycparser.c_ast import ArrayDecl, TypeDecl, PtrDecl, FuncDecl, IdentifierType @@ -19,12 +20,12 @@ SimpleType = Union[PtrDecl, TypeDecl] StructUnion = Union[c_ast.Struct, c_ast.Union] -@dataclass +@attr.s class TypeMap: - typedefs: Dict[str, Type] = field(default_factory=dict) - fn_ret_types: Dict[str, Type] = field(default_factory=dict) - var_types: Dict[str, Type] = field(default_factory=dict) - struct_defs: Dict[str, StructUnion] = field(default_factory=dict) + typedefs: Dict[str, Type] = attr.ib(factory=dict) + fn_ret_types: Dict[str, Type] = attr.ib(factory=dict) + var_types: Dict[str, Type] = attr.ib(factory=dict) + struct_defs: Dict[str, StructUnion] = attr.ib(factory=dict) def basic_type(name: Union[str, List[str]]) -> TypeDecl: @@ -62,14 +63,6 @@ def pointer_decay(type: Type, typemap: TypeMap) -> SimpleType: return type -def get_decl_type(decl: c_ast.Decl) -> Type: - """For a Decl that declares a variable (and not just a struct/union/enum), - return its type.""" - assert decl.name is not None - assert isinstance(decl.type, (PtrDecl, ArrayDecl, FuncDecl, TypeDecl)) - return decl.type - - def deref_type(type: Type, typemap: TypeMap) -> Type: type = resolve_typedefs(type, typemap) assert isinstance(type, (ArrayDecl, PtrDecl)), "dereferencing non-pointer" @@ -86,7 +79,7 @@ def struct_member_type(struct: StructUnion, field_name: str, typemap: TypeMap) - for decl in struct.decls: if isinstance(decl, c_ast.Decl): if decl.name == field_name: - return get_decl_type(decl) + return decl.type if decl.name == None and isinstance(decl.type, (c_ast.Struct, c_ast.Union)): try: return struct_member_type(decl.type, field_name, typemap) @@ -130,12 +123,6 @@ def expr_type(node: c_ast.Node, typemap: TypeMap) -> Type: if node.op == "*": subtype = rec(node.expr) return deref_type(subtype, typemap) - if node.op in ["-", "+"]: - subtype = pointer_decay(rec(node.expr), typemap) - if allowed_basic_type(subtype, typemap, ["double"]): - return basic_type("double") - if allowed_basic_type(subtype, typemap, ["float"]): - return basic_type("float") if node.op in ["sizeof", "-", "+", "~", "!"]: return basic_type("int") assert False, f"unknown unary op {node.op}" @@ -275,7 +262,7 @@ def build_typemap(ast: c_ast.FileAST) -> TypeMap: def visit_Decl(self, decl: c_ast.Decl) -> None: if decl.name is not None: - ret.var_types[decl.name] = get_decl_type(decl) + ret.var_types[decl.name] = decl.type if not isinstance(decl.type, FuncDecl) or decl in defined_function_decls: # Do not visit declarations in parameter lists of functions # other than our own. @@ -286,7 +273,7 @@ def build_typemap(ast: c_ast.FileAST) -> TypeMap: def visit_FuncDef(self, fn: c_ast.FuncDef) -> None: if fn.decl.name is not None: - ret.var_types[fn.decl.name] = get_decl_type(fn.decl) + ret.var_types[fn.decl.name] = fn.decl.type defined_function_decls.add(fn.decl) self.generic_visit(fn) @@ -296,8 +283,7 @@ def build_typemap(ast: c_ast.FileAST) -> TypeMap: def set_decl_name(decl: c_ast.Decl) -> None: name = decl.name - assert name is not None - type = get_decl_type(decl) + type = decl.type while not isinstance(type, TypeDecl): type = type.type type.declname = name diff --git a/tools/decomp-permuter/src/ast_util.py b/tools/decomp-permuter/src/ast_util.py index c0c57a9fff..7e34fc770b 100644 --- a/tools/decomp-permuter/src/ast_util.py +++ b/tools/decomp-permuter/src/ast_util.py @@ -1,26 +1,27 @@ -from base64 import b64decode -from collections import defaultdict +from typing import Dict, Union, List, Tuple, Callable, Optional, Any, Set +import attr +import bisect import copy -from dataclasses import dataclass from random import Random -import re -from typing import Any, Callable, Dict, List, Optional, Set, Tuple, TYPE_CHECKING, Union +import sys +import time +import typing -from pycparser import CParser, c_ast as ca, c_generator -from pycparser.plyparser import ParseError +from pycparser import c_ast as ca, c_parser, c_generator from .error import CandidateConstructionFailure -from .ast_types import SimpleType, set_decl_name - - -@dataclass -class Indices: - starts: Dict[ca.Node, int] - ends: Dict[ca.Node, int] - +from .ast_types import ( + SimpleType, + TypeMap, + build_typemap, + decayed_expr_type, + resolve_typedefs, + set_decl_name, +) +Indices = Dict[ca.Node, int] Block = Union[ca.Compound, ca.Case, ca.Default] -if TYPE_CHECKING: +if typing.TYPE_CHECKING: # ca.Expression and ca.Statement don't actually exist, they live only in # the stubs file. Expression = ca.Expression @@ -29,53 +30,44 @@ else: Expression = Statement = None -def to_c_raw(node: ca.Node) -> str: - source: str = c_generator.CGenerator().visit(node) - return source - - -def to_c(node: ca.Node, *, from_import: bool = False) -> str: - source = to_c_raw(node) if from_import else PatchedCGenerator().visit(node) +def to_c(node: ca.Node) -> str: + source = PatchedCGenerator().visit(node) if "#pragma" not in source: return source lines = source.split("\n") - out: List[str] = [] + out = [] same_line = 0 - ignore = 0 + in_late_defines = False for line in lines: stripped = line.strip() - if stripped.startswith("#pragma _permuter "): - # Expand permuter pragmas to nothing, by default. Still, keep one - # output line per input line to preserve line numbers for import.py - # error messages. - line = "" - - stripped = stripped[len("#pragma _permuter ") :] - if stripped == "sameline start": + if stripped.startswith("#pragma"): + if stripped == "#pragma _permuter sameline start": same_line += 1 - elif stripped == "sameline end": + elif stripped == "#pragma _permuter sameline end": same_line -= 1 - elif stripped == "latedefine start": - ignore += 1 - elif stripped == "latedefine end": - assert ignore > 0, "mismatched ignore pragmas" - ignore -= 1 - elif stripped.startswith("define "): - assert ignore > 0, "define pragma must be within latedefine block" - line = "#" + stripped - elif stripped.startswith("b64literal "): - line = b64decode(stripped.split(" ", 1)[1]).decode("utf-8") - elif ignore > 0: - # Ignore non-pragma lines within latedefine section - line = "" + if same_line == 0: + out.append("\n") + elif stripped == "#pragma _permuter latedefine start": + assert not in_late_defines + in_late_defines = True + elif stripped == "#pragma _permuter latedefine end": + assert in_late_defines + in_late_defines = False + elif stripped.startswith("#pragma _permuter define "): + assert in_late_defines + out.append("#" + stripped.split(" ", 2)[2] + "\n") + # Ignore permuter pragmas, but leave actual pragmas in (like intrinsics) + if stripped.startswith("#pragma _permuter"): + continue + if in_late_defines: + continue if not same_line: line += "\n" - elif line and out and not out[-1].endswith("\n"): + elif out and not out[-1].endswith("\n"): line = " " + line.lstrip() out.append(line) assert same_line == 0 - assert ignore == 0, "unbalanced ignore pragmas" return "".join(out).rstrip() + "\n" @@ -116,50 +108,20 @@ def extract_fn(ast: ca.FileAST, fn_name: str) -> Tuple[ca.FuncDef, int]: return ret[0] -def parse_c(source: str, *, from_import: bool = False) -> ca.FileAST: - try: - parser = CParser() - return parser.parse(source, "") - except ParseError as e: - msg = str(e) - position, msg = msg.split(": ", 1) - parts = position.split(":") - if len(parts) >= 2: - lineno = int(parts[1]) - posstr = f" at approximately line {lineno}" - if len(parts) >= 3: - posstr += f", column {parts[2]}" - if not from_import: - posstr += " (after PERM expansion)" - try: - line = source.split("\n")[lineno - 1].rstrip() - posstr += "\n\n" + line - except IndexError: - posstr += "(out of bounds?)" - else: - posstr = "" - raise CandidateConstructionFailure( - f"Syntax error in base.c.\n{msg}{posstr}" - ) from None - - def compute_node_indices(top_node: ca.Node) -> Indices: - starts: Dict[ca.Node, int] = {} - ends: Dict[ca.Node, int] = {} - cur_index = 1 + indices: Indices = {} + cur_index = 0 class Visitor(ca.NodeVisitor): def generic_visit(self, node: ca.Node) -> None: nonlocal cur_index - assert node not in starts, "nodes should only appear once in AST" - starts[node] = cur_index - cur_index += 2 + assert node not in indices, "nodes should only appear once in AST" + indices[node] = cur_index + cur_index += 1 super().generic_visit(node) - ends[node] = cur_index - cur_index += 2 Visitor().visit(top_node) - return Indices(starts, ends) + return indices def equal_ast(a: ca.Node, b: ca.Node) -> bool: @@ -230,9 +192,7 @@ def get_block_stmts(block: Block, force: bool) -> List[Statement]: return ret -def insert_decl( - fn: ca.FuncDef, var: str, type: SimpleType, random: Optional[Random] = None -) -> None: +def insert_decl(fn: ca.FuncDef, var: str, type: SimpleType) -> None: type = copy.deepcopy(type) decl = ca.Decl( name=var, quals=[], storage=[], funcspec=[], type=type, init=None, bitsize=None @@ -244,9 +204,6 @@ def insert_decl( break else: index = len(fn.body.block_items) - - if random: - index = random.randint(0, index) fn.body.block_items[index:index] = [decl] @@ -323,179 +280,3 @@ def normalize_ast(fn: ca.FuncDef, ast: ca.FileAST) -> None: for_nested_blocks(stmt, rec) rec(fn.body) - - -def prune_ast(fn: ca.FuncDef, ast: ca.FileAST) -> int: - """Prune away unnecessary parts of the AST, to reduce overhead from serialization - and from the compiler's C parser.""" - - # Create a GC graph that maps names of declarations and enumerators to indices - # in ast.ext, as well an initial list of GC roots, consisting of everything - # that isn't a Decl and or Typedef. - edges: Dict[str, List[int]] = defaultdict(list) - gc_roots: List[int] = [] - can_fwd_declare_typedef: Set[str] = set() - can_fwd_declare_tagged: Set[str] = set() - - def add_type_edges( - tp: Union["ca.Type", ca.Struct, ca.Union, ca.Enum], i: int - ) -> None: - while isinstance(tp, (ca.PtrDecl, ca.ArrayDecl)): - tp = tp.type - if isinstance(tp, ca.FuncDecl): - return - inner_type = tp.type if isinstance(tp, ca.TypeDecl) else tp - if isinstance(inner_type, ca.IdentifierType): - return - if inner_type.name: - edges[inner_type.name].append(i) - if isinstance(inner_type, ca.Enum) and inner_type.values: - for value in inner_type.values.enumerators: - edges[value.name].append(i) - if isinstance(inner_type, (ca.Struct, ca.Union)) and inner_type.decls: - for decl in inner_type.decls: - if isinstance(decl, ca.Decl): - add_type_edges(decl.type, i) - - for i in range(len(ast.ext)): - item = ast.ext[i] - if isinstance(item, ca.Decl) and not item.init: - # (Exclude declarations with initializers, since taking function - # pointers can affect regalloc on IDO.) - if item.name: - edges[item.name].append(i) - if isinstance(item.type, (ca.Struct, ca.Union, ca.Enum)) and item.type.name: - can_fwd_declare_tagged.add(item.type.name) - add_type_edges(item.type, i) - elif isinstance(item, ca.Typedef): - edges[item.name].append(i) - if isinstance(item.type, ca.TypeDecl) and isinstance( - item.type.type, (ca.Struct, ca.Union, ca.Enum) - ): - can_fwd_declare_typedef.add(item.name) - add_type_edges(item.type, i) - elif isinstance(item, ca.Pragma) and "GLOBAL_ASM" in item.string: - pass - else: - gc_roots.append(i) - - mentioned_ids: Set[str] = set() - - class IdVisitor(ca.NodeVisitor): - def visit_Pragma(self, node: ca.Pragma) -> None: - for token in re.findall(r"[a-zA-Z0-9_$]+", node.string): - mentioned_ids.add(token) - - def visit_ID(self, node: ca.ID) -> None: - mentioned_ids.add(node.name) - - IdVisitor().visit(ast) - - # Do the GC as a DFS traversal of the graph. Visiting a node searches its - # AST for all kinds of mentioned IDs, and adds more nodes to the stack - # using the edges we found before. - gc_todo: List[int] = gc_roots - need_fwd_decl_typedef: List[str] = [] - need_fwd_decl_tagged: List[str] = [] - - def add_name(name: str) -> None: - if name in edges: - gc_todo.extend(edges[name]) - del edges[name] - - class Visitor(ca.NodeVisitor): - def visit_Pragma(self, node: ca.Pragma) -> None: - for token in re.findall(r"[a-zA-Z0-9_$]+", node.string): - add_name(token) - - def visit_ID(self, node: ca.ID) -> None: - add_name(node.name) - - def visit_IdentifierType(self, node: ca.IdentifierType) -> None: - for name in node.names: - add_name(name) - - def visit_Enum(self, node: ca.Enum) -> None: - if node.name and not node.values: - add_name(node.name) - self.generic_visit(node) - - def visit_Struct(self, node: ca.Struct) -> None: - if node.name and not node.decls: - add_name(node.name) - self.generic_visit(node) - - def visit_Union(self, node: ca.Union) -> None: - if node.name and not node.decls: - add_name(node.name) - self.generic_visit(node) - - def visit_PtrDecl(self, node: ca.PtrDecl) -> None: - # For pointer declarations which haven't been accessed, forward - # declarations suffice. - if ( - isinstance(node.type, ca.TypeDecl) - and node.type.declname - and node.type.declname not in mentioned_ids - ): - tp = node.type.type - if isinstance(tp, ca.IdentifierType): - if all(name in can_fwd_declare_typedef for name in tp.names): - need_fwd_decl_typedef.extend(tp.names) - return - elif tp.name and tp.name in can_fwd_declare_tagged: - if not (tp.values if isinstance(tp, ca.Enum) else tp.decls): - need_fwd_decl_tagged.append(tp.name) - return - self.generic_visit(node) - - def visit_TypeDecl(self, node: ca.TypeDecl) -> None: - if node.declname: - add_name(node.declname) - self.generic_visit(node) - - keep_exts: Set[int] = set() - while gc_todo: - i = gc_todo.pop() - if i not in keep_exts: - keep_exts.add(i) - Visitor().visit(ast.ext[i]) - - temp_id = 0 - - def fwd_declare(tp: Union[ca.Struct, ca.Union, ca.Enum]) -> None: - nonlocal temp_id - if not tp.name: - temp_id += 1 - tp.name = f"_PermuterTemp{temp_id}" - if isinstance(tp, (ca.Struct, ca.Union)): - tp.decls = None - elif isinstance(tp, ca.Enum): - tp.values = None - else: - assert False - - new_ext = [] - - for i, item in enumerate(ast.ext): - if i in keep_exts: - pass - elif isinstance(item, ca.Typedef) and item.name in need_fwd_decl_typedef: - assert item.name in can_fwd_declare_typedef - assert isinstance(item.type, ca.TypeDecl) - assert isinstance(item.type.type, (ca.Struct, ca.Union, ca.Enum)) - fwd_declare(item.type.type) - elif ( - isinstance(item, ca.Decl) - and isinstance(item.type, (ca.Struct, ca.Union, ca.Enum)) - and item.type.name - and item.type.name in need_fwd_decl_tagged - ): - assert item.type.name in can_fwd_declare_tagged - fwd_declare(item.type) - else: - continue - new_ext.append(item) - - ast.ext = new_ext - return ast.ext.index(fn) diff --git a/tools/decomp-permuter/src/candidate.py b/tools/decomp-permuter/src/candidate.py index 5504b3d3dd..8e1a4cb9d0 100644 --- a/tools/decomp-permuter/src/candidate.py +++ b/tools/decomp-permuter/src/candidate.py @@ -1,60 +1,65 @@ +from typing import List, Dict, Optional, Callable, Optional, Tuple, Iterable import copy -from dataclasses import dataclass, field import functools -from typing import Optional, Tuple +import os -from pycparser import c_ast as ca +import attr +from pycparser import CParser, c_ast as ca from .compiler import Compiler from .randomizer import Randomizer from .scorer import Scorer -from .perm.perm import EvalState -from .perm.ast import apply_ast_perms +from .perm.perm import EvalState, Perm from .helpers import try_remove from .profiler import Profiler +from . import perm from . import ast_util -@dataclass +@attr.s class CandidateResult: - """Represents the result of scoring a candidate, and is sent from child to - parent processes, or server to client with p@h.""" + """ + Represents the result of scoring a candidate, and is sent from child to + parent processes. + """ - score: int - hash: Optional[str] - source: Optional[str] - profiler: Optional[Profiler] = None + score: int = attr.ib() + hash: str = attr.ib() + source: Optional[str] = attr.ib() + profiler: Profiler = attr.ib(factory=Profiler) -@dataclass +@attr.s class Candidate: """ Represents a AST candidate created from a source which can be randomized (possibly multiple times), compiled, and scored. """ - ast: ca.FileAST + ast: ca.FileAST = attr.ib() - fn_index: int - rng_seed: int - randomizer: Randomizer - score_value: Optional[int] = field(init=False, default=None) - score_hash: Optional[str] = field(init=False, default=None) - _cache_source: Optional[str] = field(init=False, default=None) + orig_fn: ca.FuncDef = attr.ib() + fn_index: int = attr.ib() + rng_seed: int = attr.ib() + randomizer: Randomizer = attr.ib() + score_value: Optional[int] = attr.ib(init=False, default=None) + score_hash: Optional[str] = attr.ib(init=False, default=None) + _cache_source: Optional[str] = attr.ib(init=False, default=None) @staticmethod @functools.lru_cache(maxsize=16) def _cached_shared_ast( source: str, fn_name: str ) -> Tuple[ca.FuncDef, int, ca.FileAST]: - ast = ast_util.parse_c(source) + parser = CParser() + ast = parser.parse(source) orig_fn, fn_index = ast_util.extract_fn(ast, fn_name) ast_util.normalize_ast(orig_fn, ast) return orig_fn, fn_index, ast @staticmethod def from_source( - source: str, eval_state: EvalState, fn_name: str, rng_seed: int + source: str, fn_name: str, cparser: CParser, rng_seed: int ) -> "Candidate": # Use the same AST for all instances of the same original source, but # with the target function deeply copied. Since we never change the @@ -63,11 +68,10 @@ class Candidate: orig_fn, fn_index, ast = Candidate._cached_shared_ast(source, fn_name) ast = copy.copy(ast) ast.ext = copy.copy(ast.ext) - fn_copy = copy.deepcopy(orig_fn) - ast.ext[fn_index] = fn_copy - apply_ast_perms(fn_copy, eval_state) + ast.ext[fn_index] = copy.deepcopy(orig_fn) return Candidate( ast=ast, + orig_fn=orig_fn, fn_index=fn_index, rng_seed=rng_seed, randomizer=Randomizer(rng_seed), diff --git a/tools/decomp-permuter/src/compiler.py b/tools/decomp-permuter/src/compiler.py index 284ed316ba..984899dfbd 100644 --- a/tools/decomp-permuter/src/compiler.py +++ b/tools/decomp-permuter/src/compiler.py @@ -6,13 +6,11 @@ from .helpers import try_remove class Compiler: - def __init__(self, compile_cmd: str, *, show_errors: bool) -> None: + def __init__(self, compile_cmd: str, show_errors: bool = False) -> None: self.compile_cmd = compile_cmd self.show_errors = show_errors - def compile(self, source: str, *, show_errors: bool = False) -> Optional[str]: - """Try to compile a piece of C code. Returns the filename of the resulting .o - temp file if it succeeds.""" + def compile(self, source: str, show_errors: bool = False) -> Optional[str]: show_errors = show_errors or self.show_errors with tempfile.NamedTemporaryFile( prefix="permuter", suffix=".c", mode="w", delete=False @@ -26,10 +24,10 @@ class Compiler: o_name = f2.name try: - stderr = 2 if show_errors else subprocess.DEVNULL + stderr = None if show_errors else subprocess.DEVNULL subprocess.check_call( - [self.compile_cmd, c_name, "-o", o_name], - stdout=stderr, + self.compile_cmd + " " + c_name + " -o " + o_name, + shell=True, stderr=stderr, ) except subprocess.CalledProcessError: diff --git a/tools/decomp-permuter/src/error.py b/tools/decomp-permuter/src/error.py index a3f53985f1..28adbd5b23 100644 --- a/tools/decomp-permuter/src/error.py +++ b/tools/decomp-permuter/src/error.py @@ -1,11 +1,6 @@ -from dataclasses import dataclass +import attr -@dataclass -class ServerError(Exception): - message: str - - -@dataclass +@attr.s class CandidateConstructionFailure(Exception): - message: str + message: str = attr.ib() diff --git a/tools/decomp-permuter/src/helpers.py b/tools/decomp-permuter/src/helpers.py index 5daab76055..bcf3e65578 100644 --- a/tools/decomp-permuter/src/helpers.py +++ b/tools/decomp-permuter/src/helpers.py @@ -1,18 +1,4 @@ import os -from typing import NoReturn - - -def plural(n: int, noun: str) -> str: - s = "s" if n != 1 else "" - return f"{n} {noun}{s}" - - -def exception_to_string(e: object) -> str: - return str(e) or e.__class__.__name__ - - -def static_assert_unreachable(x: NoReturn) -> NoReturn: - raise Exception("Unreachable! " + repr(x)) def try_remove(path: str) -> None: diff --git a/tools/decomp-permuter/src/main.py b/tools/decomp-permuter/src/main.py index 15680d11de..8b532a9602 100644 --- a/tools/decomp-permuter/src/main.py +++ b/tools/decomp-permuter/src/main.py @@ -1,93 +1,245 @@ -import argparse -from dataclasses import dataclass, field -import itertools -import multiprocessing -from multiprocessing import Queue -import os -import queue -import sys -import threading -import time from typing import ( - Callable, - Dict, - Iterable, - Iterator, + Any, List, + Dict, + Optional, + Callable, Optional, Tuple, + Iterable, + Iterator, + Union, ) +import argparse +import difflib +import itertools +import functools +import os +import random +import re +import sys +import time +import traceback +import multiprocessing +import copy +from enum import Enum +from random import Random + +import attr +import pycparser +from pycparser import CParser, c_ast as ca -from .candidate import CandidateResult -from .compiler import Compiler from .error import CandidateConstructionFailure -from .helpers import plural, static_assert_unreachable -from .net.client import start_client -from .net.core import ServerError, connect, enable_debug_mode, MAX_PRIO, MIN_PRIO -from .permuter import ( - EvalError, - EvalResult, - Feedback, - Finished, - Message, - NeedMoreWork, - Permuter, - Task, - WorkDone, -) +from .perm import perm_gen, perm_eval +from . import ast_util from .preprocess import preprocess -from .printer import Printer -from .profiler import Profiler +from .compiler import Compiler from .scorer import Scorer +from .perm.perm import EvalState +from .candidate import Candidate, CandidateResult +from .profiler import Profiler # The probability that the randomizer continues transforming the output it # generated last time. DEFAULT_RAND_KEEP_PROB = 0.6 -@dataclass +@attr.s class Options: - directories: List[str] - show_errors: bool = False - show_timings: bool = False - print_diffs: bool = False - stack_differences: bool = False - abort_exceptions: bool = False - better_only: bool = False - best_only: bool = False - stop_on_zero: bool = False - keep_prob: float = DEFAULT_RAND_KEEP_PROB - force_seed: Optional[str] = None - threads: int = 1 - use_network: bool = False - network_debug: bool = False - network_priority: float = 1.0 + directories: List[str] = attr.ib() + show_errors: bool = attr.ib(default=False) + show_timings: bool = attr.ib(default=False) + print_diffs: bool = attr.ib(default=False) + stack_differences: bool = attr.ib(default=False) + abort_exceptions: bool = attr.ib(default=False) + better_only: bool = attr.ib(default=False) + stop_on_zero: bool = attr.ib(default=False) + keep_prob: float = attr.ib(default=DEFAULT_RAND_KEEP_PROB) + force_seed: Optional[str] = attr.ib(default=None) + threads: int = attr.ib(default=1) -def restricted_float(lo: float, hi: float) -> Callable[[str], float]: - def convert(x: str) -> float: - try: - ret = float(x) - except ValueError: - raise argparse.ArgumentTypeError(f"invalid float value: '{x}'") +def find_fns(source: str) -> List[str]: + fns = re.findall(r"(\w+)\([^()\n]*\)\s*?{", source) + return [ + fn + for fn in fns + if not fn.startswith("PERM") and fn not in ["if", "for", "switch", "while"] + ] - if ret < lo or ret > hi: - raise argparse.ArgumentTypeError( - f"value {x} is out of range (must be between {lo} and {hi})" + +@attr.s +class EvalError: + exc_str: str = attr.ib() + seed: Optional[Tuple[int, int]] = attr.ib() + + +EvalResult = Union[CandidateResult, EvalError] + + +class Permuter: + """ + Represents a single source from which permutation candidates can be generated, + and which keeps track of good scores achieved so far. + """ + + def __init__( + self, + dir: str, + fn_name: Optional[str], + compiler: Compiler, + scorer: Scorer, + source_file: str, + source: str, + *, + force_rng_seed: Optional[int], + keep_prob: float, + need_all_sources: bool, + ) -> None: + self.dir = dir + self.random = Random() + self.compiler = compiler + self.scorer = scorer + self.source_file = source_file + + if fn_name is None: + fns = find_fns(source) + if len(fns) == 0: + raise Exception(f"{self.source_file} does not contain any function!") + if len(fns) > 1: + raise Exception( + f"{self.source_file} must contain only one function, " + "or have a function.txt next to it with a function name." + ) + self.fn_name = fns[0] + else: + self.fn_name = fn_name + self.unique_name = self.fn_name + + self.parser = pycparser.CParser() + self.permutations = perm_gen.perm_gen(source) + + self.force_rng_seed = force_rng_seed + self.cur_seed: Optional[Tuple[int, int]] = None + + self.keep_prob = keep_prob + self.need_all_sources = need_all_sources + + self.base, base_score, self.base_hash = self.create_and_score_base() + self.hashes = {self.base_hash} + self.cand: Optional[Candidate] = None + self.base_score: int = base_score + self.best_score: int = base_score + self._last_score: Optional[int] = None + + def reseed_random(self) -> None: + self.random = Random() + + def create_and_score_base(self) -> Tuple[Candidate, int, str]: + base_source = perm_eval.perm_evaluate_one(self.permutations) + base_cand = Candidate.from_source( + base_source, self.fn_name, self.parser, rng_seed=0 + ) + o_file = base_cand.compile(self.compiler, show_errors=True) + if not o_file: + raise Exception(f"Unable to compile {self.source_file}") + base_result = base_cand.score(self.scorer, o_file) + return base_cand, base_result.score, base_result.hash + + def need_to_send_source(self, result: CandidateResult) -> bool: + if self.need_all_sources: + return True + if result.score < self.base_score: + return True + if result.score == self.base_score: + return result.hash != self.base_hash + return False + + def eval_candidate(self, seed: int) -> CandidateResult: + t0 = time.time() + + # Determine if we should keep the last candidate. + # Don't keep 0-score candidates; we'll only create new, worse, zeroes. + keep = ( + self.permutations.is_random() + and self.random.uniform(0, 1) < self.keep_prob + and self._last_score != 0 + ) or self.force_rng_seed + + self._last_score = None + + # Create a new candidate if we didn't keep the last one (or if the last one didn't exist) + # N.B. if we decide to keep the previous candidate, we will skip over the provided seed. + # This means we're not guaranteed to test all seeds, but it doesn't really matter since + # we're randomizing anyway. + if not self.cand or not keep: + cand_c = self.permutations.evaluate(seed, EvalState()) + rng_seed = self.force_rng_seed or random.randrange(1, 10 ** 20) + self.cur_seed = (seed, rng_seed) + self.cand = Candidate.from_source( + cand_c, self.fn_name, self.parser, rng_seed=rng_seed ) - return ret - return convert + # Randomize the candidate + if self.permutations.is_random(): + self.cand.randomize_ast() + + t1 = time.time() + + self.cand.get_source() + + t2 = time.time() + + o_file = self.cand.compile(self.compiler) + + t3 = time.time() + + result = self.cand.score(self.scorer, o_file) + + t4 = time.time() + + profiler: Profiler = result.profiler + profiler.add_stat(Profiler.StatType.perm, t1 - t0) + profiler.add_stat(Profiler.StatType.stringify, t2 - t1) + profiler.add_stat(Profiler.StatType.compile, t3 - t2) + profiler.add_stat(Profiler.StatType.score, t4 - t3) + + self._last_score = result.score + + if not self.need_to_send_source(result): + result.source = None + + return result + + def try_eval_candidate(self, seed: int) -> EvalResult: + try: + return self.eval_candidate(seed) + except Exception: + return EvalError(exc_str=traceback.format_exc(), seed=self.cur_seed) + + def diff(self, other_source: str) -> str: + # Return a unified white-space-ignoring diff + class Line(str): + def __eq__(self, other: Any) -> bool: + return isinstance(other, str) and self.strip() == other.strip() + + def __hash__(self) -> int: + return hash(self.strip()) + + a = list(map(Line, self.base.get_source().split("\n"))) + b = list(map(Line, other_source.split("\n"))) + return "\n".join( + difflib.unified_diff(a, b, fromfile="before", tofile="after", lineterm="") + ) -@dataclass +@attr.s class EvalContext: - options: Options - printer: Printer = field(default_factory=Printer) - iteration: int = 0 - errors: int = 0 - overall_profiler: Profiler = field(default_factory=Profiler) - permuters: List[Permuter] = field(default_factory=list) + options: Options = attr.ib() + iteration: int = attr.ib(default=0) + errors: int = attr.ib(default=0) + overall_profiler: Profiler = attr.ib(factory=Profiler) + permuters: List[Permuter] = attr.ib(factory=list) def write_candidate(perm: Permuter, result: CandidateResult) -> None: @@ -102,7 +254,7 @@ def write_candidate(perm: Permuter, result: CandidateResult) -> None: except FileExistsError: pass source = result.source - assert source is not None, "Permuter._need_to_send_source is wrong!" + assert source is not None, "need_to_send_source is wrong!" with open(os.path.join(output_dir, "source.c"), "x", encoding="utf-8") as f: f.write(source) with open(os.path.join(output_dir, "score.txt"), "x", encoding="utf-8") as f: @@ -112,15 +264,10 @@ def write_candidate(perm: Permuter, result: CandidateResult) -> None: print(f"wrote to {output_dir}") -def post_score( - context: EvalContext, permuter: Permuter, result: EvalResult, who: Optional[str] -) -> bool: +def post_score(context: EvalContext, permuter: Permuter, result: EvalResult) -> bool: if isinstance(result, EvalError): - if result.exc_str is not None: - context.printer.print( - "internal permuter failure.", permuter, who, keep_progress=True - ) - print(result.exc_str) + print(f"\n[{permuter.unique_name}] internal permuter failure.") + print(result.exc_str) if result.seed is not None: seed_str = str(result.seed[1]) if result.seed[0] != 0: @@ -131,60 +278,79 @@ def post_score( else: return False + profiler = result.profiler + score_value = result.score + score_hash = result.hash + if context.options.print_diffs: - assert result.source is not None, "Permuter._need_to_send_source is wrong" + assert result.source is not None, "need_to_send_source is wrong" print() print(permuter.diff(result.source)) input("Press any key to continue...") - profiler = result.profiler - score_value = result.score - - if profiler is not None: - for stattype in profiler.time_stats: - context.overall_profiler.add_stat(stattype, profiler.time_stats[stattype]) - context.iteration += 1 - if score_value == permuter.scorer.PENALTY_INF: - disp_score = "inf" + if score_value is None: context.errors += 1 - else: - disp_score = str(score_value) + disp_score = "inf" if score_value == permuter.scorer.PENALTY_INF else score_value timings = "" if context.options.show_timings: + for stattype in profiler.time_stats: + context.overall_profiler.add_stat(stattype, profiler.time_stats[stattype]) timings = " \t" + context.overall_profiler.get_str_stats() status_line = f"iteration {context.iteration}, {context.errors} errors, score = {disp_score}{timings}" - if permuter.should_output(result): - former_best = permuter.best_score - permuter.record_result(result) - if score_value < former_best: - color = "\u001b[32;1m" - msg = f"found new best score! ({score_value} vs {permuter.base_score})" - elif score_value == former_best: - color = "\u001b[32;1m" - msg = f"tied best score! ({score_value} vs {permuter.base_score})" + # Note: when updating this if condition, need_to_send_source may also need + # to be updated, or else assertion failures will result. + if ( + score_value is not None + and score_hash is not None + and ( + score_value < permuter.base_score + or (score_value == permuter.base_score and not context.options.better_only) + ) + and score_hash not in permuter.hashes + ): + if score_value != 0: + permuter.hashes.add(score_hash) + print("\r" + " " * (len(status_line) + 10) + "\r", end="") + if score_value < permuter.best_score: + print( + f"\u001b[32;1m[{permuter.unique_name}] found new best score! ({score_value} vs {permuter.base_score})\u001b[0m" + ) + elif score_value == permuter.best_score: + print( + f"\u001b[32;1m[{permuter.unique_name}] tied best score! ({score_value} vs {permuter.base_score})\u001b[0m" + ) elif score_value < permuter.base_score: - color = "\u001b[33m" - msg = f"found a better score! ({score_value} vs {permuter.base_score})" + print( + f"\u001b[33m[{permuter.unique_name}] found a better score! ({score_value} vs {permuter.base_score})\u001b[0m" + ) else: - color = "\u001b[33m" - msg = f"found different asm with same score ({score_value})" - context.printer.print(msg, permuter, who, color=color) - + print( + f"\u001b[33m[{permuter.unique_name}] found different asm with same score ({score_value})\u001b[0m" + ) + permuter.best_score = min(permuter.best_score, score_value) write_candidate(permuter, result) - context.printer.progress(status_line) + print("\b" * 10 + " " * 10 + "\r" + status_line, end="", flush=True) return score_value == 0 -def cycle_seeds(permuters: List[Permuter]) -> Iterable[Tuple[int, int]]: +def cycle_seeds( + permuters: List[Permuter], force_seed: Optional[int] +) -> Iterable[Tuple[int, int]]: """ Return all possible (permuter index, seed) pairs, cycling over permuters. If a permuter is randomized, it will keep repeating seeds infinitely. """ iterators: List[Iterator[Tuple[int, int]]] = [] for perm_ind, permuter in enumerate(permuters): - it = permuter.seed_iterator() + it: Iterable[int] + if not force_seed: + it = perm_eval.perm_gen_all_seeds(permuter.permutations, Random()) + elif permuter.permutations.is_random(): + it = itertools.repeat(force_seed) + else: + it = [force_seed] iterators.append(zip(itertools.repeat(perm_ind), it)) i = 0 @@ -201,39 +367,30 @@ def cycle_seeds(permuters: List[Permuter]) -> Iterable[Tuple[int, int]]: def multiprocess_worker( permuters: List[Permuter], - input_queue: "Queue[Task]", - output_queue: "Queue[Feedback]", + input_queue: "multiprocessing.Queue[Optional[Tuple[int, int]]]", + output_queue: "multiprocessing.Queue[Tuple[int, EvalResult]]", ) -> None: + input_queue.cancel_join_thread() + output_queue.cancel_join_thread() + + # Don't use the same RNGs as the parent + for permuter in permuters: + permuter.reseed_random() + try: while True: - # Read a work item from the queue. If none is immediately available, - # tell the main thread to fill the queues more, and then block on - # the queue. - queue_item: Task - try: - queue_item = input_queue.get(block=False) - except queue.Empty: - output_queue.put((NeedMoreWork(), -1, None)) - queue_item = input_queue.get() - if isinstance(queue_item, Finished): - output_queue.put((queue_item, -1, None)) - output_queue.close() + queue_item = input_queue.get() + if queue_item is None: break permuter_index, seed = queue_item permuter = permuters[permuter_index] result = permuter.try_eval_candidate(seed) - if isinstance(result, CandidateResult) and permuter.should_output(result): - permuter.record_result(result) - output_queue.put((WorkDone(permuter_index, result), -1, None)) - output_queue.put((NeedMoreWork(), -1, None)) + output_queue.put((permuter_index, result)) except KeyboardInterrupt: # Don't clutter the output with stack traces; Ctrl+C is the expected # way to quit and sends KeyboardInterrupt to all processes. # A heartbeat thing here would be good but is too complex. - # Don't join the queue background thread -- thread joins in relation - # to KeyboardInterrupt usually result in deadlocks. - input_queue.cancel_join_thread() - output_queue.cancel_join_thread() + pass def run(options: Options) -> List[int]: @@ -249,10 +406,18 @@ def run(options: Options) -> List[int]: if time.time() - last_time > 5: print() print("Aborting stuck process.") - raise + traceback.print_exc() + sys.exit(1) print() print("Exiting.") - sys.exit(0) + if options.threads == 1: + # The lru_cache sometimes uses a lot of memory, making normal exit slow + # due to GC. But since we're sane people and don't use finalizers for + # cleanup, we can just skip GC and exit immediately. + os._exit(0) + else: + # With threads we do need proper cleanup. + sys.exit(0) def run_inner(options: Options, heartbeat: Callable[[], None]) -> List[int]: @@ -260,8 +425,8 @@ def run_inner(options: Options, heartbeat: Callable[[], None]) -> List[int]: context = EvalContext(options) - force_seed: Optional[int] = None force_rng_seed: Optional[int] = None + force_seed: Optional[int] = None if options.force_seed: seed_parts = list(map(int, options.force_seed.split(","))) force_rng_seed = seed_parts[-1] @@ -293,7 +458,7 @@ def run_inner(options: Options, heartbeat: Callable[[], None]) -> List[int]: else: print(base_c) - compiler = Compiler(compile_cmd, show_errors=options.show_errors) + compiler = Compiler(compile_cmd, options.show_errors) scorer = Scorer(target_o, stack_differences=options.stack_differences) c_source = preprocess(base_c) @@ -305,14 +470,9 @@ def run_inner(options: Options, heartbeat: Callable[[], None]) -> List[int]: scorer, base_c, c_source, - force_seed=force_seed, force_rng_seed=force_rng_seed, keep_prob=options.keep_prob, - need_profiler=options.show_timings, need_all_sources=options.print_diffs, - show_errors=options.show_errors, - best_only=options.best_only, - better_only=options.better_only, ) except CandidateConstructionFailure as e: print(e.message, file=sys.stderr) @@ -322,180 +482,72 @@ def run_inner(options: Options, heartbeat: Callable[[], None]) -> List[int]: name_counts[permuter.fn_name] = name_counts.get(permuter.fn_name, 0) + 1 print() - if not context.permuters: - print("No permuters!") - return [] - for permuter in context.permuters: if name_counts[permuter.fn_name] > 1: permuter.unique_name += f" ({permuter.dir})" print(f"[{permuter.unique_name}] base score = {permuter.best_score}") found_zero = False - if options.threads == 1 and not options.use_network: - # Simple single-threaded mode. This is not technically needed, but - # makes the permuter easier to debug. - for permuter_index, seed in cycle_seeds(context.permuters): + perm_seed_iter = cycle_seeds(context.permuters, force_seed) + if options.threads == 1: + for permuter_index, seed in perm_seed_iter: heartbeat() permuter = context.permuters[permuter_index] result = permuter.try_eval_candidate(seed) - if post_score(context, permuter, result, None): + if post_score(context, permuter, result): found_zero = True if options.stop_on_zero: break else: - seed_iterators: List[Optional[Iterator[int]]] = [ - permuter.seed_iterator() - for perm_ind, permuter in enumerate(context.permuters) - ] - seed_iterators_remaining = len(seed_iterators) - next_iterator_index = 0 + # Create queues + task_queue: "multiprocessing.Queue[Optional[Tuple[int, int]]]" = ( + multiprocessing.Queue() + ) + results_queue: "multiprocessing.Queue[Tuple[int, EvalResult]]" = ( + multiprocessing.Queue() + ) + task_queue.cancel_join_thread() + results_queue.cancel_join_thread() - # Create queues. - worker_task_queue: "Queue[Task]" = Queue() - feedback_queue: "Queue[Feedback]" = Queue() + def wait_for_result() -> bool: + heartbeat() + permuter_index, result = results_queue.get() + permuter = context.permuters[permuter_index] + return post_score(context, permuter, result) - # Connect to network and create client threads and queues. - net_conns: "List[Tuple[threading.Thread, Queue[Task]]]" = [] - if options.use_network: - print("Connecting to permuter@home...") - if options.network_debug: - enable_debug_mode() - first_stats: Optional[Tuple[int, int, float]] = None - for perm_index in range(len(context.permuters)): - try: - port = connect() - except (EOFError, ServerError) as e: - print("Error:", e) - sys.exit(1) - thread, queue, stats = start_client( - port, - context.permuters[perm_index], - perm_index, - feedback_queue, - options.network_priority, - ) - net_conns.append((thread, queue)) - if first_stats is None: - first_stats = stats - assert first_stats is not None, "has at least one permuter" - clients_str = plural(first_stats[0], "other client") - servers_str = plural(first_stats[1], "server") - cores_str = plural(int(first_stats[2]), "core") - print(f"Connected! {servers_str} online ({cores_str}, {clients_str})") - - # Start local worker threads + # Begin workers processes: List[multiprocessing.Process] = [] for i in range(options.threads): p = multiprocessing.Process( target=multiprocess_worker, - args=(context.permuters, worker_task_queue, feedback_queue), + args=(context.permuters, task_queue, results_queue), ) p.start() processes.append(p) - active_workers = len(processes) - - if not active_workers and not net_conns: - print("No workers available! Exiting.") - sys.exit(1) - - def process_finish(finish: Finished, source: int) -> None: - nonlocal active_workers - - if finish.reason: - permuter: Optional[Permuter] = None - if source != -1 and len(context.permuters) > 1: - permuter = context.permuters[source] - context.printer.print(finish.reason, permuter, None, keep_progress=True) - - if source == -1: - active_workers -= 1 - - def process_result(work: WorkDone, who: Optional[str]) -> bool: - permuter = context.permuters[work.perm_index] - return post_score(context, permuter, work.result, who) - - def get_task(perm_index: int) -> Optional[Tuple[int, int]]: - nonlocal next_iterator_index, seed_iterators_remaining - if perm_index == -1: - while seed_iterators_remaining > 0: - task = get_task(next_iterator_index) - next_iterator_index += 1 - next_iterator_index %= len(seed_iterators) - if task is not None: - return task - else: - it = seed_iterators[perm_index] - if it is not None: - seed = next(it, None) - if seed is None: - seed_iterators[perm_index] = None - seed_iterators_remaining -= 1 - else: - return (perm_index, seed) - return None - - # Feed the task queue with work and read from results queue. - # We generally match these up one-by-one to avoid overfilling queues, - # but workers can ask us to add more tasks into the system if they run - # out of work. (This will happen e.g. at the very beginning, when the - # queues are empty.) - while seed_iterators_remaining > 0: - heartbeat() - feedback, source, who = feedback_queue.get() - if isinstance(feedback, Finished): - process_finish(feedback, source) - elif isinstance(feedback, Message): - context.printer.print(feedback.text, None, who, keep_progress=True) - elif isinstance(feedback, WorkDone): - if process_result(feedback, who): + # Feed the task queue with work, but not too much work at a time + active_tasks = 0 + for perm_seed in perm_seed_iter: + if active_tasks >= options.threads + 2: + active_tasks -= 1 + if wait_for_result(): # Found score 0! found_zero = True if options.stop_on_zero: break - elif isinstance(feedback, NeedMoreWork): - task = get_task(source) - if task is not None: - if source == -1: - worker_task_queue.put(task) - else: - net_conns[source][1].put(task) - else: - static_assert_unreachable(feedback) + task_queue.put(perm_seed) + active_tasks += 1 - # Signal workers to stop. - for i in range(active_workers): - worker_task_queue.put(Finished()) + # Await final results + for i in range(active_tasks): + wait_for_result() - for conn in net_conns: - conn[1].put(Finished()) - - # Await final results. - while active_workers > 0 or net_conns: - heartbeat() - feedback, source, who = feedback_queue.get() - if isinstance(feedback, Finished): - process_finish(feedback, source) - elif isinstance(feedback, Message): - context.printer.print(feedback.text, None, who, keep_progress=True) - elif isinstance(feedback, WorkDone): - if not (options.stop_on_zero and found_zero): - if process_result(feedback, who): - found_zero = True - elif isinstance(feedback, NeedMoreWork): - pass - else: - static_assert_unreachable(feedback) - - # Wait for workers to finish. + # Stop workers + for i in range(options.threads): + task_queue.put(None) for p in processes: p.join() - # Wait for network connections to close (currently does not happen). - for conn in net_conns: - conn[0].join() - if found_zero: print("\nFound zero score! Exiting.") return [permuter.best_score for permuter in context.permuters] @@ -506,21 +558,20 @@ def main() -> None: sys.setrecursionlimit(10000) # Ideally we would do: - # multiprocessing.set_start_method("spawn") + # multiprocessing.set_start_method('spawn') # here, to make multiprocessing behave the same across operating systems. # However, that means that arguments to Process are passed across using # pickling, which mysteriously breaks with pycparser... # (AttributeError: 'CParser' object has no attribute 'p_abstract_declarator_opt') # So, for now we live with the defaults, which make multiprocessing work on Linux, - # where it uses fork and doesn't pickle arguments, and break on Windows. Sigh. + # where it uses fork and don't pickle arguments, and break on Windows. Sigh. parser = argparse.ArgumentParser( description="Randomly permute C files to better match a target binary." ) parser.add_argument( - "directories", + "directory", nargs="+", - metavar="directory", help="Directory containing base.c, target.o and compile.sh. Multiple directories may be given.", ) parser.add_argument( @@ -553,12 +604,6 @@ def main() -> None: action="store_true", help="Only report scores better than the base.", ) - parser.add_argument( - "--best-only", - dest="best_only", - action="store_true", - help="Only report ties or new high scores.", - ) parser.add_argument( "--stop-on-zero", dest="stop_on_zero", @@ -575,67 +620,33 @@ def main() -> None: "--keep-prob", dest="keep_prob", metavar="PROB", - type=restricted_float(0.0, 1.0), + type=float, default=DEFAULT_RAND_KEEP_PROB, - help="""Continue randomizing the previous output with the given probability - (float in 0..1, default %(default)s).""", + help="Continue randomizing the previous output with the given probability " + f"(float in 0..1, default {DEFAULT_RAND_KEEP_PROB}).", ) parser.add_argument("--seed", dest="force_seed", type=str, help=argparse.SUPPRESS) parser.add_argument( "-j", dest="threads", type=int, - default=0, - help="Number of own threads to use (default: 1 without -J, 0 with -J).", + default=1, + help="Number of threads (default: %(default)s).", ) - parser.add_argument( - "-J", - dest="use_network", - action="store_true", - help="Harness extra compute power through cyberspace (permuter@home).", - ) - parser.add_argument( - "--pah-debug", - dest="network_debug", - action="store_true", - help="Enable debug prints for permuter@home.", - ) - parser.add_argument( - "--priority", - dest="network_priority", - metavar="PRIORITY", - type=restricted_float(MIN_PRIO, MAX_PRIO), - default=1.0, - help=f"""Proportion of server resources to use when multiple people - are using -J at the same time. - Defaults to 1.0, meaning resources are split equally, but can be - set to any value within [{MIN_PRIO}, {MAX_PRIO}]. - Each server runs with a priority threshold, which defaults to 0.1, - below which they will not run permuter jobs at all.""", - ) - args = parser.parse_args() - threads = args.threads - if not threads and not args.use_network: - threads = 1 - options = Options( - directories=args.directories, + directories=args.directory, show_errors=args.show_errors, show_timings=args.show_timings, print_diffs=args.print_diffs, abort_exceptions=args.abort_exceptions, better_only=args.better_only, - best_only=args.best_only, stack_differences=args.stack_differences, stop_on_zero=args.stop_on_zero, keep_prob=args.keep_prob, force_seed=args.force_seed, - threads=threads, - use_network=args.use_network, - network_debug=args.network_debug, - network_priority=args.network_priority, + threads=args.threads, ) run(options) diff --git a/tools/decomp-permuter/src/objdump.py b/tools/decomp-permuter/src/objdump.py index a54daf9cdd..85c86e99e0 100644 --- a/tools/decomp-permuter/src/objdump.py +++ b/tools/decomp-permuter/src/objdump.py @@ -101,7 +101,7 @@ def simplify_objdump(input_lines: List[str], *, stack_differences: bool) -> List # relocations. if imm != "0" and imm != "imm" and imm != "addr": repl += "+" + imm if int(imm, 0) > 0 else imm - if any(reloc in row for reloc in ["R_MIPS_LO16", "R_MIPS_LITERAL", "R_MIPS_GPREL16"]): + if "R_MIPS_LO16" in row: repl = f"%lo({repl})" elif "R_MIPS_HI16" in row: # Ideally we'd pair up R_MIPS_LO16 and R_MIPS_HI16 to generate a diff --git a/tools/decomp-permuter/src/perm/perm.py b/tools/decomp-permuter/src/perm/perm.py index 61cc6c21c1..483f0e9ee9 100644 --- a/tools/decomp-permuter/src/perm/perm.py +++ b/tools/decomp-permuter/src/perm/perm.py @@ -1,45 +1,13 @@ -from base64 import b64encode -from collections import defaultdict -from dataclasses import dataclass, field -from typing import Dict, List, Tuple, TypeVar, Optional +from typing import Dict, List, Optional import math +import itertools -from pycparser import c_ast as ca - -from ..ast_util import Statement - -T = TypeVar("T") +import attr -@dataclass -class PreprocessState: - once_options: Dict[str, List["Perm"]] = field( - default_factory=lambda: defaultdict(list) - ) - - -@dataclass +@attr.s class EvalState: - vars: Dict[str, str] = field(default_factory=dict) - once_choices: Dict[str, "Perm"] = field(default_factory=dict) - ast_perms: List[Tuple["Perm", int]] = field(default_factory=list) - - def register_ast_perm(self, perm: "Perm", seed: int) -> int: - ret = len(self.ast_perms) - self.ast_perms.append((perm, seed)) - return ret - - def gen_ast_statement_perm( - self, perm: "Perm", seed: int, *, statements: List[str] - ) -> str: - perm_id = self.register_ast_perm(perm, seed) - lines = [ - "{", - f"#pragma _permuter ast_perm {perm_id}", - *["{" + stmt + "}" for stmt in statements], - "}", - ] - return "\n".join(lines) + vars: Dict[str, str] = attr.ib(factory=dict) class Perm: @@ -52,19 +20,13 @@ class Perm: to happen in an infinite loop, rather than stop after the last permutation has been tested.""" - perm_count: int - children: List["Perm"] + def __init__(self) -> None: + self.perm_count = 1 + self.children: List[Perm] = [] def evaluate(self, seed: int, state: EvalState) -> str: return "" - def eval_statement_ast(self, args: List[Statement], seed: int) -> List[Statement]: - raise NotImplementedError - - def preprocess(self, state: PreprocessState) -> None: - for p in self.children: - p.preprocess(state) - def is_random(self) -> bool: return any(p.is_random() for p in self.children) @@ -97,80 +59,20 @@ def _count_either(perms: List[Perm]) -> int: return sum(p.perm_count for p in perms) -def _shuffle(items: List[T], seed: int) -> List[T]: - items = items[:] - output = [] - while items: - ind = seed % len(items) - seed //= len(items) - output.append(items[ind]) - del items[ind] - return output - - -class RootPerm(Perm): - def __init__(self, inner: Perm) -> None: - self.children = [inner] - self.perm_count = inner.perm_count - self.preprocess_state = PreprocessState() - self.preprocess(self.preprocess_state) - for key, options in self.preprocess_state.once_options.items(): - if len(options) == 1: - raise Exception(f"PERM_ONCE({key}) occurs only once, possible error?") - self.perm_count *= len(options) - - def evaluate(self, seed: int, state: EvalState) -> str: - for key, options in self.preprocess_state.once_options.items(): - seed, choice = divmod(seed, len(options)) - state.once_choices[key] = options[choice] - return self.children[0].evaluate(seed, state) - - class TextPerm(Perm): def __init__(self, text: str) -> None: + super().__init__() # Comma escape sequence text = text.replace("(,)", ",") self.text = text - self.children = [] - self.perm_count = 1 def evaluate(self, seed: int, state: EvalState) -> str: return self.text -class IgnorePerm(Perm): - def __init__(self, inner: Perm) -> None: - self.children = [inner] - self.perm_count = inner.perm_count - - def evaluate(self, seed: int, state: EvalState) -> str: - text = self.children[0].evaluate(seed, state) - if not text: - return "" - encoded = b64encode(text.encode("utf-8")).decode("ascii") - return "#pragma _permuter b64literal " + encoded - - -class PretendPerm(Perm): - def __init__(self, inner: Perm) -> None: - self.children = [inner] - self.perm_count = inner.perm_count - - def evaluate(self, seed: int, state: EvalState) -> str: - text = self.children[0].evaluate(seed, state) - return "\n".join( - [ - "", - "#pragma _permuter latedefine start", - text, - "#pragma _permuter latedefine end", - "", - ] - ) - - class CombinePerm(Perm): def __init__(self, parts: List[Perm]) -> None: + super().__init__() self.children = parts self.perm_count = _count_all(parts) @@ -181,11 +83,12 @@ class CombinePerm(Perm): class RandomizerPerm(Perm): def __init__(self, inner: Perm) -> None: - self.children = [inner] + super().__init__() + self.inner = inner self.perm_count = inner.perm_count def evaluate(self, seed: int, state: EvalState) -> str: - text = self.children[0].evaluate(seed, state) + text = self.inner.evaluate(seed, state) return "\n".join( [ "", @@ -202,6 +105,7 @@ class RandomizerPerm(Perm): class GeneralPerm(Perm): def __init__(self, candidates: List[Perm]) -> None: + super().__init__() self.perm_count = _count_either(candidates) self.children = candidates @@ -209,46 +113,80 @@ class GeneralPerm(Perm): return _eval_either(seed, self.children, state) -class OncePerm(Perm): - def __init__(self, key: str, inner: Perm) -> None: - self.key = key - self.children = [inner] - self.perm_count = inner.perm_count - - def preprocess(self, state: PreprocessState) -> None: - state.once_options[self.key].append(self) - super().preprocess(state) +class TernaryPerm(Perm): + def __init__(self, pre: Perm, cond: Perm, iftrue: Perm, iffalse: Perm) -> None: + super().__init__() + self.children = [pre, cond, iftrue, iffalse] + self.perm_count = 2 * _count_all(self.children) def evaluate(self, seed: int, state: EvalState) -> str: - if state.once_choices[self.key] is self: - return self.children[0].evaluate(seed, state) - return "" + sub_seed, variation = divmod(seed, 2) + pre, cond, iftrue, iffalse = _eval_all(sub_seed, self.children, state) + if variation > 0: + return f"{pre}({cond} ? {iftrue} : {iffalse});" + else: + return f"if ({cond})\n {pre}{iftrue};\n else\n {pre}{iffalse};" + + +class TypecastPerm(Perm): + def __init__(self, types: List[Perm]) -> None: + super().__init__() + self.perm_count = _count_either(types) + self.children = types + + def evaluate(self, seed: int, state: EvalState) -> str: + t = _eval_either(seed, self.children, state) + if not t.strip(): + return "" + else: + return f"({t})" class VarPerm(Perm): - def __init__(self, var_name: Perm, expansion: Optional[Perm]) -> None: - if expansion: - self.children = [var_name, expansion] + def __init__(self, args: List[Perm]) -> None: + super().__init__() + assert len(args) in [1, 2] + assert isinstance(args[0], TextPerm) + self.var_name = args[0].text + if len(args) == 2: + self.expansion: Optional[Perm] = args[1] + self.perm_count = args[1].perm_count else: - self.children = [var_name] - self.perm_count = _count_all(self.children) + self.expansion = None + self.perm_count = 1 def evaluate(self, seed: int, state: EvalState) -> str: - var_name_perm = self.children[0] - seed, sub_seed = divmod(seed, var_name_perm.perm_count) - var_name = var_name_perm.evaluate(sub_seed, state).strip() - if len(self.children) > 1: - ret = self.children[1].evaluate(seed, state) - state.vars[var_name] = ret + if self.expansion is not None: + ret = self.expansion.evaluate(seed, state) + state.vars[self.var_name] = ret return "" else: - if var_name not in state.vars: - raise Exception(f"Tried to read undefined PERM_VAR {var_name}") - return state.vars[var_name] + if self.var_name not in state.vars: + raise Exception(f"Tried to read undefined PERM_VAR {self.var_name}") + return state.vars[self.var_name] + + def is_random(self) -> bool: + return self.expansion is not None and self.expansion.is_random() + + +class CondNezPerm(Perm): + def __init__(self, perm: Perm) -> None: + super().__init__() + self.children = [perm] + self.perm_count = 2 * _count_all(self.children) + + def evaluate(self, seed: int, state: EvalState) -> str: + sub_seed, variation = divmod(seed, 2) + cond = self.children[0].evaluate(sub_seed, state) + if variation == 0: + return f"{cond}" + else: + return f"({cond}) != 0" class LineSwapPerm(Perm): def __init__(self, lines: List[Perm]) -> None: + super().__init__() self.children = lines self.own_count = math.factorial(len(lines)) self.perm_count = self.own_count * _count_all(self.children) @@ -256,33 +194,20 @@ class LineSwapPerm(Perm): def evaluate(self, seed: int, state: EvalState) -> str: sub_seed, variation = divmod(seed, self.own_count) texts = _eval_all(sub_seed, self.children, state) - return "\n".join(_shuffle(texts, variation)) - - -class LineSwapAstPerm(Perm): - def __init__(self, lines: List[Perm]) -> None: - self.children = lines - self.own_count = math.factorial(len(lines)) - self.perm_count = self.own_count * _count_all(self.children) - - def evaluate(self, seed: int, state: EvalState) -> str: - sub_seed, variation = divmod(seed, self.own_count) - texts = _eval_all(sub_seed, self.children, state) - return state.gen_ast_statement_perm(self, variation, statements=texts) - - def eval_statement_ast(self, args: List[Statement], seed: int) -> List[Statement]: - ret = [] - for item in _shuffle(args, seed): - assert isinstance(item, ca.Compound) - ret.extend(item.block_items or []) - return ret + output = [] + while texts: + ind = variation % len(texts) + variation //= len(texts) + output.append(texts[ind]) + del texts[ind] + return "\n".join(output) class IntPerm(Perm): def __init__(self, low: int, high: int) -> None: assert low <= high + super().__init__() self.low = low - self.children = [] self.perm_count = high - low + 1 def evaluate(self, seed: int, state: EvalState) -> str: diff --git a/tools/decomp-permuter/src/perm/perm_eval.py b/tools/decomp-permuter/src/perm/perm_eval.py new file mode 100644 index 0000000000..23803a2869 --- /dev/null +++ b/tools/decomp-permuter/src/perm/perm_eval.py @@ -0,0 +1,35 @@ +from typing import List, Iterable, Set +from random import Random + +from .perm import Perm, EvalState + + +def _gen_all_seeds(total_count: int, random: Random) -> Iterable[int]: + """Generate all numbers 0..total_count-1 in random order, in expected time + O(1) per number.""" + seen: Set[int] = set() + while len(seen) < total_count // 2: + seed = random.randrange(total_count) + if seed not in seen: + seen.add(seed) + yield seed + + remaining: List[int] = [] + for seed in range(total_count): + if seed not in seen: + remaining.append(seed) + random.shuffle(remaining) + for seed in remaining: + yield seed + + +def perm_gen_all_seeds(perm: Perm, random: Random) -> Iterable[int]: + while True: + for seed in _gen_all_seeds(perm.perm_count, random): + yield seed + if not perm.is_random(): + break + + +def perm_evaluate_one(perm: Perm) -> str: + return perm.evaluate(0, EvalState()) diff --git a/tools/decomp-permuter/src/perm/perm_gen.py b/tools/decomp-permuter/src/perm/perm_gen.py new file mode 100644 index 0000000000..de0c4f9901 --- /dev/null +++ b/tools/decomp-permuter/src/perm/perm_gen.py @@ -0,0 +1,117 @@ +from typing import Callable, Dict, List, Tuple +import re + +from .perm import ( + Perm, + CombinePerm, + GeneralPerm, + RandomizerPerm, + TextPerm, + TernaryPerm, + TypecastPerm, + VarPerm, + CondNezPerm, + LineSwapPerm, + IntPerm, +) + + +def split_args(args: List[str]) -> List[Perm]: + perm_args = [rec_perm_gen(arg) for arg in args] + return perm_args + + +def split_args_newline(args: List[str]) -> List[Perm]: + s = "\n".join(args) + lines = [line for line in s.split("\n") if line and not line.isspace()] + perm_args = [rec_perm_gen(line) for line in lines] + return perm_args + + +def split_args_text(args: List[str]) -> List[str]: + perm_list = split_args(args) + res: List[str] = [] + for perm in perm_list: + assert isinstance(perm, TextPerm) + res.append(perm.text) + return res + + +perm_create: Dict[str, Callable[[List[str]], Perm]] = { + "PERM_GENERAL": lambda args: GeneralPerm(split_args(args)), + "PERM_RANDOMIZE": lambda args: RandomizerPerm(split_args(args)[0]), + "PERM_TERNARY": lambda args: TernaryPerm(*split_args(args)), + "PERM_TYPECAST": lambda args: TypecastPerm(split_args(args)), + "PERM_VAR": lambda args: VarPerm(split_args(args)), + "PERM_CONDNEZ": lambda args: CondNezPerm(*split_args(args)), + "PERM_LINESWAP": lambda args: LineSwapPerm(split_args_newline(args)), + "PERM_INT": lambda args: IntPerm(*map(int, split_args_text(args))), +} + + +def get_parenthesis_args(s: str) -> Tuple[List[str], str]: + level = 0 + current = "" + remain = "" + args = [] + for i, c in enumerate(s): + # Find individual args + if c == "," and level == 1: + args.append(current) + current = "" + # Track parenthesis level + else: + if c == "(": + level += 1 + if level == 1: # Ignore first parenthesis + continue + elif c == ")": + level -= 1 + if level == 0: # Last closing parenthesis; get remaining and finish + args.append(current) + if i + 1 < len(s): + remain = s[i + 1 :] + break + current += c + assert level == 0, "Error, no closing parenthesis found" + return args, remain + + +def rec_perm_gen(input: str) -> Perm: + remain = input + macro_search = r"(PERM_.+?)\(" + + perms: List[Perm] = [] + while len(remain) > 0: + match = re.search(macro_search, remain) + + # No match found; return remaining + if match is None: + text_perm = TextPerm(remain) + perms.append(text_perm) + break + + # Get perm type and args + perm_type = match.group(1) + if not perm_type in perm_create: + raise Exception("Could not evaluate expression:" + perm_type) + between = remain[: match.start()] + args, remain = get_parenthesis_args(remain[match.end() - 1 :]) + + # Create text perm + perms.append(TextPerm(between)) + + # Create new perm + perms.append(perm_create[perm_type](args)) + + if len(perms) == 1: + return perms[0] + return CombinePerm(perms) + + +def perm_gen(input: str) -> Perm: + ret = rec_perm_gen(input) + if isinstance(ret, TextPerm): + ret = RandomizerPerm(ret) + print("No perm macros found. Defaulting to randomization") + return ret diff --git a/tools/decomp-permuter/src/preprocess.py b/tools/decomp-permuter/src/preprocess.py index 214d359c89..b014ce27ca 100644 --- a/tools/decomp-permuter/src/preprocess.py +++ b/tools/decomp-permuter/src/preprocess.py @@ -1,4 +1,5 @@ from typing import List +import re import subprocess diff --git a/tools/decomp-permuter/src/randomizer.py b/tools/decomp-permuter/src/randomizer.py index 34d97f098a..8cb56606b0 100644 --- a/tools/decomp-permuter/src/randomizer.py +++ b/tools/decomp-permuter/src/randomizer.py @@ -1,22 +1,13 @@ +from typing import Any, Callable, Dict, List, Optional, Set, Tuple, Union +import attr import bisect import copy -from dataclasses import dataclass, field -from random import Random +import sys +import time import typing -from typing import ( - Any, - Callable, - Dict, - List, - Optional, - Sequence, - Set, - Tuple, - TypeVar, - Union, -) +from random import Random -from pycparser import c_ast as ca +from pycparser import c_ast as ca, c_parser, c_generator from . import ast_util from .ast_util import Block, Indices, Statement, Expression @@ -25,9 +16,9 @@ from .ast_types import ( Type, TypeMap, allowed_basic_type, + basic_type, build_typemap, decayed_expr_type, - get_decl_type, resolve_typedefs, same_type, set_decl_name, @@ -39,50 +30,33 @@ from .ast_types import ( DEBUG_EAGER_TYPES = False # Randomize the type of introduced temporary variable with this probability -PROB_RANDOMIZE_TYPE = 0.3 +RANDOMIZE_TYPE_PROB = 0.3 # Reuse an existing var instead of introducing a new temporary one with this probability -PROB_REUSE_VAR = 0.5 +REUSE_VAR_PROB = 0.5 # When wrapping statements in a new block, use a same-line `do { ... } while(0);` # (as opposed to non-same-line `if (1) { ... }`) with this probability. # This matches what macros often do. -PROB_INS_BLOCK_DOWHILE = 0.5 +INS_BLOCK_DOWHILE_PROB = 0.5 # Make a pointer to a temporary expression, rather than copy it by value, with # this probability. (This always happens for expressions of struct type, # regardless of this probability.) -PROB_TEMP_PTR = 0.05 - -# Instead of emitting an assignment statement, assign the temporary within the -# first expression it's used in with this probability. -PROB_TEMP_ASSIGN_AT_FIRST_USE = 0.1 - -# When creating a temporary for an expression, use the temporary for all equal -# expressions with this probability. -PROB_TEMP_REPLACE_ALL = 0.2 - -# When creating a temporary for an expression, use the temporary for an interval -# with maximal endpoint with this probability. -PROB_TEMP_REPLACE_MOST = 0.2 +TEMP_PTR_PROB = 0.05 # When substituting a variable by its value, substitute all instances with this # probability, rather than just a subrange or the complement of one. -PROB_EXPAND_REPLACE_ALL = 0.3 +PROB_REPLACE_ALL = 0.3 # When substituting a variable by its value, keep the variable assignment with # this probability. PROB_KEEP_REPLACED_VAR = 0.2 -# Change the return type of an external function to void with this probability. -PROB_RET_VOID = 0.2 - # Number larger than any node index. (If you're trying to compile a 1 GB large # C file to matching asm, you have bigger problems than this limit.) MAX_INDEX = 10 ** 9 -T = TypeVar("T") - class RandomizationFailure(Exception): pass @@ -96,11 +70,11 @@ def ensure(condition: Any) -> None: raise RandomizationFailure -@dataclass +@attr.s class Region: - start: int - end: int - indices: Optional[Indices] = field(compare=False) + start: int = attr.ib() + end: int = attr.ib() + indices: Optional[Indices] = attr.ib(cmp=False) @staticmethod def unbounded() -> "Region": @@ -113,28 +87,28 @@ class Region: """Check whether the region contains an entire node.""" if self.indices is None: return True - return ( - self.start < self.indices.starts[node] - and self.indices.ends[node] < self.end - ) + # We assume valid nesting of regions, so it's fine to check just the + # node's starting index. (Though for clarify we should probably check + # the end index as well, if we refactor the code so it's available.) + return self.start < self.indices[node] < self.end def contains_pre(self, node: ca.Node) -> bool: """Check whether the region contains a point just before a given node.""" if self.indices is None: return True - return self.start < self.indices.starts[node] < self.end + return self.start < self.indices[node] <= self.end def contains_pre_index(self, index: int) -> bool: """Check whether the region contains a point just before a given node, as specified by its index.""" if self.indices is None: return True - return self.start < index < self.end + return self.start < index <= self.end -def reverse_start_indices(indices: Indices) -> Dict[int, ca.Node]: +def reverse_indices(indices: Indices) -> Dict[int, ca.Node]: ret = {} - for k, v in indices.starts.items(): + for k, v in indices.items(): ret[v] = k return ret @@ -151,10 +125,10 @@ def get_randomization_region( if node.string == "_permuter randomizer start": if cur_start is not None: raise Exception("nested PERM_RANDOMIZE not supported") - cur_start = indices.ends[node] + cur_start = indices[node] if node.string == "_permuter randomizer end": assert cur_start is not None, "randomizer end without start" - ret.append(Region(cur_start + 1, indices.starts[node] - 1, indices)) + ret.append(Region(cur_start, indices[node], indices)) cur_start = None Visitor().visit(top_node) @@ -165,15 +139,20 @@ def get_randomization_region( def get_block_expressions(block: Block, region: Region) -> List[Expression]: - """Return a list of all expressions within a block that are also within a - given region.""" exprs: List[Expression] = [] - def visitor(expr: Expression) -> None: - if region.contains_node(expr): - exprs.append(expr) + def rec(block: Block) -> None: + for stmt in ast_util.get_block_stmts(block, False): + ast_util.for_nested_blocks(stmt, rec) - replace_subexprs(block, visitor) + def visitor(expr: Expression) -> None: + if not region.contains_node(expr): + return + exprs.append(expr) + + replace_subexprs(stmt, visitor) + + rec(block) return exprs @@ -194,17 +173,17 @@ def compute_write_locations( class Visitor(ca.NodeVisitor): def visit_Decl(self, node: ca.Decl) -> None: if node.name: - add_write(node.name, indices.starts[node]) + add_write(node.name, indices[node]) self.generic_visit(node) def visit_UnaryOp(self, node: ca.UnaryOp) -> None: if node.op in ["p++", "p--", "++", "--"] and isinstance(node.expr, ca.ID): - add_write(node.expr.name, indices.starts[node]) + add_write(node.expr.name, indices[node]) self.generic_visit(node) def visit_Assignment(self, node: ca.Assignment) -> None: if isinstance(node.lvalue, ca.ID): - add_write(node.lvalue.name, indices.starts[node]) + add_write(node.lvalue.name, indices[node]) self.generic_visit(node) Visitor().visit(top_node) @@ -215,7 +194,7 @@ def compute_read_locations(top_node: ca.Node, indices: Indices) -> Dict[str, Lis reads: Dict[str, List[int]] = {} for node in find_var_reads(top_node): var_name = node.name - loc = indices.starts[node] + loc = indices[node] if var_name not in reads: reads[var_name] = [] else: @@ -255,36 +234,27 @@ def find_var_reads(top_node: ca.Node) -> List[ca.ID]: def visit_replace(top_node: ca.Node, callback: Callable[[ca.Node, bool], Any]) -> None: - def empty_statement_to_none(node: Any) -> Any: - if isinstance(node, ca.EmptyStatement): - return None - return node - - def rec(orig_node: ca.Node, toplevel: bool = False, *, lvalue: bool = False) -> Any: + def rec(orig_node: ca.Node, toplevel: bool = False) -> Any: node: "ca.AnyNode" = typing.cast("ca.AnyNode", orig_node) - repl = callback(node, not toplevel and not lvalue) + repl = callback(node, not toplevel) if repl: return repl if isinstance(node, ca.Assignment): - node.lvalue = rec(node.lvalue, lvalue=True) node.rvalue = rec(node.rvalue) elif isinstance(node, ca.StructRef): - node.name = rec(node.name, lvalue=(lvalue and node.type == ".")) + node.name = rec(node.name) elif isinstance(node, ca.Cast): if node.expr: node.expr = rec(node.expr) elif isinstance(node, (ca.Constant, ca.ID)): pass elif isinstance(node, ca.UnaryOp): - if node.op in ["p++", "p--", "++", "--", "&"]: - node.expr = rec(node.expr, lvalue=True) - elif node.op != "sizeof": + if node.op not in ["p++", "p--", "++", "--", "&", "sizeof"]: node.expr = rec(node.expr) elif isinstance(node, ca.BinaryOp): node.left = rec(node.left) node.right = rec(node.right) elif isinstance(node, ca.FuncCall): - # not worth replacing .name if node.args: rec(node.args, True) elif isinstance(node, ca.ExprList): @@ -292,7 +262,7 @@ def visit_replace(top_node: ca.Node, callback: Callable[[ca.Node, bool], Any]) - if not isinstance(node.exprs[i], ca.Typename): node.exprs[i] = rec(node.exprs[i]) elif isinstance(node, ca.ArrayRef): - node.name = rec(node.name, lvalue=lvalue) + node.name = rec(node.name) node.subscript = rec(node.subscript) elif isinstance(node, ca.TernaryOp): node.cond = rec(node.cond) @@ -306,20 +276,18 @@ def visit_replace(top_node: ca.Node, callback: Callable[[ca.Node, bool], Any]) - node.init = rec(node.init, isinstance(node.init, ca.InitList)) elif isinstance(node, ca.For): if node.init: - node.init = empty_statement_to_none(rec(node.init, True)) + node.init = rec(node.init) if node.cond: node.cond = rec(node.cond) if node.next: - node.next = empty_statement_to_none(rec(node.next, True)) + node.next = rec(node.next, True) node.stmt = rec(node.stmt, True) elif isinstance(node, ca.Compound): - if node.block_items: - for i, sub in enumerate(node.block_items): - node.block_items[i] = rec(sub, True) + for sub in node.block_items or []: + rec(sub, True) elif isinstance(node, (ca.Case, ca.Default)): - if node.stmts: - for i, sub in enumerate(node.stmts): - node.stmts[i] = rec(sub, True) + for sub in node.stmts or []: + rec(sub, True) elif isinstance(node, ca.While): node.cond = rec(node.cond) node.stmt = rec(node.stmt, True) @@ -383,53 +351,14 @@ def replace_subexprs(top_node: ca.Node, callback: Callable[[Expression], Any]) - visit_replace(top_node, expr_filter) -def replace_node(top_node: ca.Node, old: ca.Node, new: ca.Node) -> None: - visit_replace(top_node, lambda node, _: new if node is old else None) - - -def random_bool(random: Random, prob: float) -> bool: - return random.random() < prob - - -def random_weighted(random: Random, values: Sequence[Tuple[T, float]]) -> T: - sumprob = 0.0 - for (val, prob) in values: - assert prob >= 0, "Probabilities must be non-negative" - sumprob += prob - assert sumprob > 0, "Cannot pick randomly from empty set" - targetprob = random.uniform(0, sumprob) - sumprob = 0.0 - for (val, prob) in values: - sumprob += prob - if sumprob > targetprob: - return val - - # Float imprecision - for (val, prob) in values: - if prob > 0: - return val - assert False, "unreachable" - - def random_type(random: Random) -> SimpleType: new_names: List[str] = [] - if random_bool(random, 0.5): + if random.choice([True, False]): new_names.append("unsigned") - new_names.extend( - random_weighted( - random, - [ - (["char"], 1), - (["short"], 1), - (["int"], 2), - (["long"], 0.5), - (["long", "long"], 0.5), - ], - ) - ) + new_names.append(random.choice(["char", "short", "int", "int"])) idtype = ca.IdentifierType(names=new_names) quals = [] - if random_bool(random, 0.5): + if random.choice([True, False]): quals = ["volatile"] return ca.TypeDecl(declname=None, quals=quals, type=idtype) @@ -459,7 +388,7 @@ def randomize_innermost_type( def get_insertion_points( - fn: ca.FuncDef, region: Region, *, allow_within_decl: bool = False + fn: ca.FuncDef, region: Region ) -> List[Tuple[Block, int, Optional[ca.Node]]]: cands: List[Tuple[Block, int, Optional[ca.Node]]] = [] @@ -475,8 +404,6 @@ def get_insertion_points( cands.append((block, len(stmts), None)) rec(fn.body) - if not allow_within_decl: - cands = [c for c in cands if not isinstance(c[2], ca.Decl)] return cands @@ -491,7 +418,7 @@ def maybe_reuse_var( typemap: TypeMap, random: Random, ) -> Optional[str]: - if not random_bool(random, PROB_REUSE_VAR) or var is None: + if random.uniform(0, 1) > REUSE_VAR_PROB or var is None: return None var_type: SimpleType = decayed_expr_type(ca.ID(var), typemap) if not same_type(var_type, type, typemap, allow_similar=True): @@ -503,8 +430,8 @@ def maybe_reuse_var( return list[ind] return None - assignment_ind = indices.starts[assign_before] - expr_ind = indices.starts[orig_expr] + assignment_ind = indices[assign_before] + expr_ind = indices[orig_expr] write = find_next(writes.get(var, []), assignment_ind) read = find_next(reads.get(var, []), assignment_ind) # TODO: if write/read is within expr, search again from after it (since @@ -534,11 +461,11 @@ def perm_temp_for_expr( writes: Dict[str, List[int]] = compute_write_locations(fn, indices) reads: Dict[str, List[int]] = compute_read_locations(fn, indices) typemap = build_typemap(ast) - candidates: List[Tuple[Tuple[Place, Expression, Optional[str]], float]] = [] + candidates: List[Tuple[float, Tuple[Place, Expression, Optional[str]]]] = [] # Step 0: decide whether to make a pointer to the chosen expression, or to # copy it by value. - should_make_ptr = random_bool(random, PROB_TEMP_PTR) + should_make_ptr = random.uniform(0, 1) < TEMP_PTR_PROB def surrounding_writes(expr: Expression, base: Expression) -> Tuple[int, int]: """Compute the previous and next write to a variable included in expr, @@ -549,7 +476,7 @@ def perm_temp_for_expr( sub_reads = find_var_reads(expr) prev_write = -1 next_write = MAX_INDEX - base_index = indices.starts[base] + base_index = indices[base] for sub_read in sub_reads: var_name = sub_read.name if var_name not in writes: @@ -607,7 +534,7 @@ def perm_temp_for_expr( # assignment too high up. # TODO: also fail on moving past function calls, or # possibly-aliasing writes. - if indices.starts[place[2]] <= prev_write: + if indices[place[2]] <= prev_write: break # Make far-away places less likely, and similarly for @@ -617,7 +544,7 @@ def perm_temp_for_expr( if isinstance(orig_expr, (ca.ID, ca.Constant)): prob *= 0.15 if should_make_ptr else 0.5 reuse_cand = random.choice(reuse_cands) if reuse_cands else None - candidates.append(((place, expr, reuse_cand), prob)) + candidates.append((prob, (place, expr, reuse_cand))) einds[expr] = eind @@ -625,18 +552,29 @@ def perm_temp_for_expr( rec(fn.body, []) - # Step 2: decide on a place/expression ensure(candidates) - place: Optional[Place] - place, expr, reuse_cand = random_weighted(random, candidates) - if random_bool(random, PROB_TEMP_ASSIGN_AT_FIRST_USE): - # Don't emit a statement for the assignment, emit an assignment - # expression at the first use instead. - place = None + # Step 2: decide on a place/expression + sumprob = 0.0 + for (prob, cand) in candidates: + sumprob += prob + targetprob = random.uniform(0, sumprob) + sumprob = 0.0 + chosen_cand = None + for (prob, cand) in candidates: + sumprob += prob + if sumprob > targetprob: + chosen_cand = cand + break + assert chosen_cand is not None, "math" + place, expr, reuse_cand = chosen_cand type: SimpleType = decayed_expr_type(expr, typemap) + # Don't replace effectful expressions. This is a bit expensive to + # check, so do it here instead of within the visitor. + ensure(not ast_util.is_effectful(expr)) + # Always use pointers when replacing structs if ( not should_make_ptr @@ -657,10 +595,7 @@ def perm_temp_for_expr( # print("replacing:", to_c(expr)) # Step 3: decide on a variable to hold the expression - if place is not None: - assign_before = place[2] - else: - assign_before = orig_expr + assign_before = place[2] reused_var = maybe_reuse_var( reuse_cand, assign_before, @@ -685,57 +620,39 @@ def perm_temp_for_expr( # Step 4: possibly expand the replacement to include duplicate expressions. prev_write, next_write = surrounding_writes(expr, orig_expr) - prev_write = max(prev_write, indices.starts[assign_before] - 1) + prev_write = max(prev_write, indices[assign_before] - 1) replace_cands: List[Expression] = [] def find_duplicates(e: Expression) -> None: - if prev_write < indices.starts[e] <= next_write and ast_util.equal_ast( - e, orig_expr - ): + if prev_write < indices[e] <= next_write and ast_util.equal_ast(e, orig_expr): replace_cands.append(e) - if ast_util.is_effectful(expr): - replace_cands = [orig_expr] - else: - replace_subexprs(fn.body, find_duplicates) - + replace_subexprs(fn.body, find_duplicates) assert orig_expr in replace_cands - if random_bool(random, PROB_TEMP_REPLACE_ALL): - lo_index = 0 - hi_index = len(replace_cands) - else: - index = replace_cands.index(orig_expr) - lo_index = random.randint(0, index) - hi_index = random.randint(index + 1, len(replace_cands)) - if random_bool(random, PROB_TEMP_REPLACE_MOST): - if random_bool(random, 0.5): - lo_index = 0 - else: - hi_index = len(replace_cands) + index = replace_cands.index(orig_expr) + lo_index = random.randint(0, index) + hi_index = random.randint(index + 1, len(replace_cands)) replace_cand_set = set(replace_cands[lo_index:hi_index]) # Step 5: replace the chosen expression def replacer(e: Expression) -> Optional[Expression]: if e in replace_cand_set: - ret: Expression = ca.ID(var) - if place is None and e is orig_expr: - ret = ca.Assignment("=", ret, expr) if should_make_ptr: - ret = ca.UnaryOp("*", ret) - return ret + return ca.UnaryOp("*", ca.ID(var)) + else: + return ca.ID(var) return None replace_subexprs(fn.body, replacer) # Step 6: insert the assignment and any new variable declaration - if place is not None: - block, index, _ = place - assignment = ca.Assignment("=", ca.ID(var), expr) - ast_util.insert_statement(block, index, assignment) + block, index, _ = place + assignment = ca.Assignment("=", ca.ID(var), expr) + ast_util.insert_statement(block, index, assignment) if not reused: - if random_bool(random, PROB_RANDOMIZE_TYPE): + if random.uniform(0, 1) < RANDOMIZE_TYPE_PROB: type = randomize_type(type, typemap, random) - ast_util.insert_decl(fn, var, type, random) + ast_util.insert_decl(fn, var, type) def perm_expand_expr( @@ -758,12 +675,13 @@ def perm_expand_expr( # Step 2: find the assignment it uses reads = all_reads[var] writes = all_writes.get(var, []) + read = random.choice(reads) i = bisect.bisect_left(writes, index) # if i == 0, there is no write to replace the read by. ensure(i > 0) before = writes[i - 1] after = MAX_INDEX if i == len(writes) else writes[i] - rev_indices = reverse_start_indices(indices) + rev_indices = reverse_indices(indices) write = rev_indices[before] if ( isinstance(write, ca.Decl) @@ -771,10 +689,11 @@ def perm_expand_expr( and not isinstance(write.init, ca.InitList) ): repl_expr = write.init - elif isinstance(write, ca.Assignment) and write.op == "=": + elif isinstance(write, ca.Assignment): repl_expr = write.rvalue else: raise RandomizationFailure + ensure(not ast_util.is_effectful(repl_expr)) # Step 3: pick of the range of variables to replace repl_cands = [ @@ -782,7 +701,7 @@ def perm_expand_expr( ] assert repl_cands, "index is always in repl_cands" myi = repl_cands.index(index) - if not random_bool(random, PROB_EXPAND_REPLACE_ALL) and len(repl_cands) > 1: + if random.uniform(0, 1) >= PROB_REPLACE_ALL and len(repl_cands) > 1: # Keep using the variable for a bit in the middle side = random.randrange(3) H = len(repl_cands) @@ -793,16 +712,12 @@ def perm_expand_expr( repl_cands[loi:hii] = [] keep_var = True else: - keep_var = random_bool(random, PROB_KEEP_REPLACED_VAR) + keep_var = random.uniform(0, 1) < PROB_KEEP_REPLACED_VAR repl_cands_set = set(repl_cands) - # Don't duplicate effectful expressions. - if ast_util.is_effectful(repl_expr): - ensure(len(repl_cands) == 1 and not keep_var) - # Step 4: do the replacement def callback(expr: ca.Node, is_expr: bool) -> Optional[ca.Node]: - if indices.starts[expr] in repl_cands_set: + if indices[expr] in repl_cands_set: return copy.deepcopy(repl_expr) if expr == write and isinstance(write, ca.Assignment) and not keep_var: if is_expr: @@ -841,7 +756,6 @@ def perm_randomize_internal_type( def visit_Decl(self, decl: ca.Decl) -> None: if isinstance(decl.type, ca.TypeDecl) and decl.name and decl.name in names: decls.append(decl) - self.generic_visit(decl) Visitor().visit(fn) @@ -881,10 +795,9 @@ def perm_randomize_external_type( ensure(decls) decl = random.choice(decls)[0] - decl_type = get_decl_type(decl) typemap = build_typemap(ast) - new_type = randomize_innermost_type(decl_type, typemap, random, ensure_changed=True) + new_type = randomize_innermost_type(decl.type, typemap, random, ensure_changed=True) for decl, i in decls: decl.type = copy.deepcopy(new_type) @@ -904,7 +817,6 @@ def perm_randomize_function_type( def visit_FuncCall(self, node: ca.FuncCall) -> None: if region.contains_node(node) and isinstance(node.name, ca.ID): names.add(node.name.name) - self.generic_visit(node) IdVisitor().visit(fn) @@ -951,14 +863,14 @@ def perm_randomize_function_type( assert isinstance(main_fndecl, ca.FuncDecl), "checked above" main_decl.type = main_fndecl - if random_bool(random, 0.5): + if random.choice([True, False]): # Replace the return type, changing integer signedness/size as well as # switching to/from void (which we should perhaps avoid if the function # call result is used, but eh, it's annoying to tell). type = pointer_decay(main_fndecl.type, typemap) if allowed_basic_type(type, typemap, ["void"]): main_fndecl.type = random_type(random) - elif random_bool(random, PROB_RET_VOID): + elif random.uniform(0, 1) < 0.2: idtype = ca.IdentifierType(names=["void"]) main_fndecl.type = ca.TypeDecl(declname=None, quals=[], type=idtype) else: @@ -975,8 +887,7 @@ def perm_randomize_function_type( arg = main_fndecl.args.params[ind] if isinstance(arg, (ca.ID, ca.EllipsisParam)): raise RandomizationFailure - arg_type = arg.type if isinstance(arg, ca.Typename) else get_decl_type(arg) - type = pointer_decay(arg_type, typemap) + type = pointer_decay(arg.type, typemap) arg.type = randomize_type(type, typemap, random, ensure_changed=True) if isinstance(arg, ca.Decl): set_decl_name(arg) @@ -1003,17 +914,17 @@ def perm_refer_to_var( ensure(cands) expr = random.choice(cands) ensure(not ast_util.is_effectful(expr)) - typemap = build_typemap(ast) - type: Type = resolve_typedefs(decayed_expr_type(expr, typemap), typemap) + type: SimpleType = decayed_expr_type(expr, build_typemap(ast)) if isinstance(type, ca.TypeDecl) and isinstance(type.type, (ca.Struct, ca.Union)): expr = ca.UnaryOp("&", expr) - if random_bool(random, 0.5): + if random.choice([True, False]): expr = ca.UnaryOp("!", expr) # Insert it wherever -- possibly outside the randomization region, since regalloc # can act at a distance. (Except before a declaration.) ins_cands = get_insertion_points(fn, Region.unbounded()) + ins_cands = [c for c in ins_cands if not isinstance(c[2], ca.Decl)] ensure(ins_cands) cond = copy.deepcopy(expr) @@ -1049,7 +960,7 @@ def perm_ins_block( if hi < lo: lo, hi = hi, lo new_block = ca.Compound(block_items=stmts[lo:hi]) - if random_bool(random, PROB_INS_BLOCK_DOWHILE) and all( + if random.uniform(0, 1) < INS_BLOCK_DOWHILE_PROB and all( region.contains_node(n) for n in stmts[lo:hi] ): cond = ca.Constant(type="int", value="0") @@ -1077,11 +988,12 @@ def perm_empty_stmt( # Insert the statement wherever, except before a declaration. cands = get_insertion_points(fn, Region.unbounded()) + cands = [c for c in cands if not isinstance(c[2], ca.Decl)] ensure(cands) label_name = f"dummy_label_{random.randint(1, 10**6)}" - stmts: List[Statement] = [] + stmts: List[ca.Statement] = [] kind = random.randrange(5) if kind == 0: # if (1) or multiple if (1) @@ -1145,7 +1057,6 @@ def perm_associative( def visit_BinaryOp(self, node: ca.BinaryOp) -> None: if node.op in commutative_ops and region.contains_node(node): cands.append(node) - self.generic_visit(node) Visitor().visit(fn.body) ensure(cands) @@ -1157,67 +1068,6 @@ def perm_associative( node.op = "<" + node.op[1:] -def perm_condition( - fn: ca.FuncDef, ast: ca.FileAST, indices: Indices, region: Region, random: Random -) -> None: - """Change if(x) into if(x != 0), or vice versa. Also handles for/while/do-while.""" - cands: List[Union[ca.If, ca.While, ca.DoWhile, ca.For]] = [] - - class Visitor(ca.NodeVisitor): - def visit_If(self, node: ca.If) -> None: - cands.append(node) - self.generic_visit(node) - - def visit_While(self, node: ca.While) -> None: - cands.append(node) - self.generic_visit(node) - - def visit_DoWhile(self, node: ca.DoWhile) -> None: - cands.append(node) - self.generic_visit(node) - - def visit_For(self, node: ca.For) -> None: - cands.append(node) - self.generic_visit(node) - - Visitor().visit(fn.body) - ensure(cands) - node = random.choice(cands) - if not node.cond: - raise RandomizationFailure - - if ( - isinstance(node.cond, ca.BinaryOp) - and node.cond.op in ["==", "!=", "<", ">", "<=", ">="] - and random_bool(random, 0.9) - ): - ensure(node.cond.op in ["==", "!="]) - ensure( - isinstance(node.cond.right, ca.Constant) - and node.cond.right.value in ["0", "0U", "0.0", "0.0f"] - ) - if node.cond.op == "==": - node.cond = ca.UnaryOp("!", node.cond.left) - else: - node.cond = node.cond.left - else: - expr = node.cond - op = "!=" - if isinstance(expr, ca.UnaryOp) and expr.op == "!" and random_bool(random, 0.9): - assert not isinstance(expr.expr, ca.Typename) - expr = expr.expr - op = "==" - zero = random_weighted( - random, - [ - (ca.Constant("int", "0"), 0.8), - (ca.Constant("unsigned int", "0U"), 0.2), - (ca.Constant("float", "0.0f"), 0.05), - ], - ) - node.cond = ca.BinaryOp(op, expr, zero) - - def perm_add_self_assignment( fn: ca.FuncDef, ast: ca.FileAST, indices: Indices, region: Region, random: Random ) -> None: @@ -1229,7 +1079,6 @@ def perm_add_self_assignment( def visit_Decl(self, decl: ca.Decl) -> None: if decl.name: vars.append(decl.name) - self.generic_visit(decl) Visitor().visit(fn.body) ensure(vars) @@ -1240,22 +1089,14 @@ def perm_add_self_assignment( ast_util.insert_statement(where[0], where[1], assignment) -def perm_dummy_comma_expr( - fn: ca.FuncDef, ast: ca.FileAST, indices: Indices, region: Region, random: Random -) -> None: - """Change x into (0, x) for a random expression x.""" - cands = get_block_expressions(fn.body, region) - ensure(cands) - expr = random.choice(cands) - new_expr = ca.ExprList([ca.Constant("int", "0"), expr]) - replace_node(fn.body, expr, new_expr) - - def perm_reorder_stmts( fn: ca.FuncDef, ast: ca.FileAST, indices: Indices, region: Region, random: Random ) -> None: """Move a statement to another random place.""" - cands = get_insertion_points(fn, region, allow_within_decl=True) + cands = get_insertion_points(fn, region) + + # Don't reorder declarations, or put statements before them. + cands = [c for c in cands if not isinstance(c[2], ca.Decl)] # Figure out candidate statements to be moved. Don't move pragmas; it can # cause assertion failures. Don't move blocks; statements are generally not @@ -1273,110 +1114,18 @@ def perm_reorder_stmts( ensure(source_inds) fromi = random.choice(source_inds) + toi = round(random.triangular(0, len(cands) - 1, fromi)) - weighted_cands = [] - for i in range(len(cands)): - dist = max(fromi - i, i - (fromi + 1)) - if dist == 0: - continue - # Move distance 1, 2, 3, ... with probabilities - # 23%, 12%, 8%, 6%, 4%, 3%, 3%, 2%, 2%, 2%, ... - prob = (dist + 1) ** -1.5 - weighted_cands.append((i, prob)) - ensure(weighted_cands) - toi = random_weighted(random, weighted_cands) - - fromb, fromi, from_stmt = cands[fromi] - tob, toi, to_stmt = cands[toi] - - if fromb == tob: - ensure(toi != fromi and toi != fromi + 1) - - if isinstance(from_stmt, ca.Decl): - # Moving a declaration is tricky, when also preserving C89 compatibility. - # We can move it to after another declaration, or to the start of a block. - # Alternatively, if the declaration includes an initializer, and we move - # it forwards, we can split that out as an assignment. - # We don't allow moving the declaration or assignment past the next - # occurrence of the variable. - ensure(from_stmt.name) - var_name = from_stmt.name - to_index = indices.starts[to_stmt] if to_stmt else indices.ends[fromb] - uses = 0 - - class Visitor(ca.NodeVisitor): - def visit_ID(self, node: ca.ID) -> None: - nonlocal uses - if node.name == var_name and indices.starts[node] < to_index: - uses += 1 - - def visit_TypeDecl(self, node: ca.TypeDecl) -> None: - nonlocal uses - if node.declname == var_name and indices.starts[node] < to_index: - uses += 1 - - Visitor().visit(fn.body) - ensure(uses <= 1) - - to_block_stmts = ast_util.get_block_stmts(tob, False) - if toi == 0 or isinstance(to_block_stmts[toi - 1], ca.Decl): - # Fine to move - pass - elif ( - from_stmt.name - and from_stmt.init - and not isinstance(from_stmt.init, ca.InitList) - and uses > 0 - ): - assignment = ca.Assignment("=", ca.ID(from_stmt.name), from_stmt.init) - ast_util.insert_statement(tob, toi, assignment) - from_stmt.init = None - return - else: - raise RandomizationFailure - else: - # Don't put statements before declarations. - ensure(not isinstance(to_stmt, ca.Decl)) - + fromb, fromi, _ = cands[fromi] + tob, toi, _ = cands[toi] if fromb == tob and fromi < toi: toi -= 1 + ensure(not (fromb == tob and fromi == toi)) stmt = ast_util.get_block_stmts(fromb, True).pop(fromi) ast_util.insert_statement(tob, toi, stmt) -def perm_compound_assignment( - fn: ca.FuncDef, ast: ca.FileAST, indices: Indices, region: Region, random: Random -) -> None: - """Convert a statement of the form `x = x op y` to `x op= y`, or vice versa.""" - cands: List[ca.Assignment] = [] - operators = ["+", "-", "*", "/", "<<", ">>", "^", "|", "&"] - - class Visitor(ca.NodeVisitor): - def visit_Assignment(self, node: ca.Assignment) -> None: - if region.contains_node(node): - if node.op != "=" or ( - isinstance(node.rvalue, ca.BinaryOp) - and ast_util.equal_ast(node.lvalue, node.rvalue.left) - and node.rvalue.op in operators - ): - cands.append(node) - self.generic_visit(node) - - Visitor().visit(fn.body) - ensure(cands) - node = random.choice(cands) - - if node.op == "=": - assert isinstance(node.rvalue, ca.BinaryOp) - node.op = node.rvalue.op + node.op - node.rvalue = node.rvalue.right - else: - operator = node.op[:-1] - node.op = "=" - node.rvalue = ca.BinaryOp(operator, copy.deepcopy(node.lvalue), node.rvalue) - - def perm_inequalities( fn: ca.FuncDef, ast: ca.FileAST, indices: Indices, region: Region, random: Random ) -> None: @@ -1389,7 +1138,6 @@ def perm_inequalities( def visit_BinaryOp(self, node: ca.BinaryOp) -> None: if node.op in inequalities and region.contains_node(node): cands.append(node) - self.generic_visit(node) Visitor().visit(fn.body) ensure(cands) @@ -1414,13 +1162,13 @@ def perm_inequalities( else: if node.op in ["<", ">="]: node.op = {"<": "<=", ">=": ">"}[node.op] - if random_bool(random, 0.5): + if random.choice([True, False]): node.left = plus1(node.left) else: node.right = minus1(node.right) else: node.op = {">": ">=", "<=": "<"}[node.op] - if random_bool(random, 0.5): + if random.choice([True, False]): node.left = minus1(node.left) else: node.right = plus1(node.right) @@ -1429,9 +1177,8 @@ def perm_inequalities( def perm_add_mask( fn: ca.FuncDef, ast: ca.FileAST, indices: Indices, region: Region, random: Random ) -> None: - """Add a random amount of masks of 0xFF[FFFFFFFFFFFFFF] to a random expression of integer type. - In some cases this mask is optimized out but affects regalloc. - The regalloc change seems to cycle with slight differences every n masks.""" + """Add a mask of 0xFF[FFFFFFFFFFFFFF] to a random expression of integer type. + In some cases this mask is optimized out but affects regalloc.""" typemap = build_typemap(ast) # Find expression to add the mask to @@ -1451,55 +1198,12 @@ def perm_add_mask( masks: List[str] = ["0xFF", "0xFFFF", "0xFFFFFFFF", "0xFFFFFFFFFFFFFFFF"] mask = random.choice(masks) + random.choice(["", "u"]) - new_expr = ca.BinaryOp("&", expr, ca.Constant("int", mask)) - if random_bool(random, 0.3): - for _ in range(random.randrange(12)): - new_expr = ca.BinaryOp("&", new_expr, ca.Constant("int", mask)) - - replace_node(fn.body, expr, new_expr) - - -def perm_float_literal( - fn: ca.FuncDef, ast: ca.FileAST, indices: Indices, region: Region, random: Random -) -> None: - """Converts a Float Literal""" - cands: List[ca.Constant] = [] - - class Visitor(ca.NodeVisitor): - def visit_Constant(self, node: ca.Constant) -> None: - if node.type == "float" and region.contains_node(node): - cands.append(node) - - Visitor().visit(fn.body) - ensure(cands) - - node = random.choice(cands) - - value: str = node.value.lower() - choices: List[str] = [value[:-1]] - if value.endswith(".0f"): - choices.append(value[:-3] or "0") - elif value.endswith(".f"): - choices.append(value[:-2] or "0") - if value.startswith("0."): - choices.append("." + (value[2:] or "0")) - elif value.startswith("."): - choices.append("0" + value) - if value.endswith(".0f"): - choices.append((value[:-3] or "0") + ".f") - else: - choices.append(value[:-1] + "0f") - - ensure(choices) - value = random.choice(choices) - if value.endswith("f"): - type = "float" - elif "." in value: - type = "double" - else: - type = "int" - - replace_node(fn.body, node, ca.Constant(type, value)) + visit_replace( + fn.body, + lambda n, _: ca.BinaryOp("&", expr, ca.Constant("int", mask)) + if n is expr + else None, + ) def perm_cast_simple( @@ -1525,7 +1229,7 @@ def perm_cast_simple( integral_type = [["int"], ["char"], ["long"], ["short"], ["long", "long"]] floating_type = [["float"], ["double"]] new_type: List[str] - if random_bool(random, 0.5): + if random.choice([True, False]): # Cast to integral type, sometimes unsigned sign: List[str] = random.choice([[], ["unsigned"]]) new_type = sign + random.choice(integral_type) @@ -1534,9 +1238,13 @@ def perm_cast_simple( new_type = random.choice(floating_type) # Surround the original expression with a cast to the chosen type - typedecl = ca.TypeDecl(None, [], ca.IdentifierType(new_type)) - new_expr = ca.Cast(ca.Typename(None, [], typedecl), expr) - replace_node(fn.body, expr, new_expr) + def callback(node: ca.Node, is_expr: bool) -> Optional[ca.Node]: + if node is expr: + typedecl = ca.TypeDecl(None, [], ca.IdentifierType(new_type)) + return ca.Cast(ca.Typename(None, [], typedecl), expr) + return None + + visit_replace(fn.body, callback) # struct_ref # type of a # easiest conversion @@ -1579,7 +1287,6 @@ def perm_struct_ref( def visit_StructRef(self, node: ca.StructRef) -> None: if region.contains_node(node): cands.append(node) - self.generic_visit(node) Visitor().visit(fn.body) ensure(cands) @@ -1587,7 +1294,7 @@ def perm_struct_ref( # TODO: Split into separate perm? Need a separate one for arrayrefs, (a + b)[1] to a[b + 1] def randomize_associative_binop(left: ca.Node, right: ca.BinaryOp) -> ca.BinaryOp: """Try moving parentheses to the left side sometimes (sadly, it seems to matter)""" - if random_bool(random, 0.5) and right.op in ["+", "-"]: + if random.choice([True, False]) and right.op in ["+", "-"]: # ((a + b) - c) return ca.BinaryOp( right.op, ca.BinaryOp("+", left, right.left), right.right @@ -1692,7 +1399,7 @@ def perm_struct_ref( changed = True # Step 4: Convert back to ArrayRef - if random_bool(random, 0.5): + if random.choice([True, False]): # Sanity check that there's at least one dereference if isinstance(parent, ca.UnaryOp) and parent.op == "*": apply_child(parent, to_array) @@ -1700,7 +1407,7 @@ def perm_struct_ref( changed = True # Step 5: Convert the StructRef type back - if random_bool(random, 0.5): + if random.choice([True, False]): struct_ref.name = addr(struct_ref.name) struct_ref.type = "->" changed = True @@ -1722,7 +1429,6 @@ def perm_split_assignment( and region.contains_node(node) ): cands.append(node) - self.generic_visit(node) Visitor().visit(fn.body) ensure(cands) @@ -1755,7 +1461,7 @@ def perm_split_assignment( vartype = decayed_expr_type(var, typemap) # Choose which side to move to a new assignment - if random_bool(random, 0.5): + if random.choice([True, False]): side = split.left sidetype = decayed_expr_type(side, typemap) ensure(same_type(vartype, sidetype, typemap, allow_similar=True)) @@ -1771,99 +1477,6 @@ def perm_split_assignment( ast_util.insert_statement(ins_block, ins_index, new_assign) -def perm_remove_ast( - fn: ca.FuncDef, ast: ca.FileAST, indices: Indices, region: Region, random: Random -) -> None: - """Delete parts of the function that might be unnecessary (mistakes or unnecessary changes from an improved base.c).""" - cands: List[Tuple[ca.Node, ca.Node]] = [] - - class Visitor(ca.NodeVisitor): - def visit_Cast(self, node: ca.Cast) -> None: - if region.contains_node(node): - cands.append((node, node.expr)) - self.generic_visit(node) - - # Replace (a & constant) with (a). - def visit_BinaryOp(self, node: ca.BinaryOp) -> None: - if region.contains_node(node) and node.op == "&": - if isinstance(node.left, ca.Constant): - cands.append((node, node.right)) - if isinstance(node.right, ca.Constant): - cands.append((node, node.left)) - self.generic_visit(node) - - # Remove if statements that don't have an else - def visit_If(self, node: ca.If) -> None: - if not node.iffalse and region.contains_node(node): - cands.append((node, node.iftrue)) - self.generic_visit(node) - - # Remove loops - def visit_While(self, node: ca.While) -> None: - if region.contains_node(node): - cands.append((node, node.stmt)) - self.generic_visit(node) - - def visit_DoWhile(self, node: ca.DoWhile) -> None: - if region.contains_node(node): - cands.append((node, node.stmt)) - self.generic_visit(node) - - Visitor().visit(fn.body) - ensure(cands) - - cand, expr = random.choice(cands) - replace_node(fn.body, cand, expr) - - -def perm_duplicate_assignment( - fn: ca.FuncDef, ast: ca.FileAST, indices: Indices, region: Region, random: Random -) -> None: - """Duplicate an assignment, sometimes forcing IDO to reuse a register.""" - cands = [] - - class Visitor(ca.NodeVisitor): - def visit_Assignment(self, node: ca.Assignment) -> None: - if region.contains_node(node) and node.op == "=": - cands.append(node) - self.generic_visit(node) - - Visitor().visit(fn.body) - ensure(cands) - cand = random.choice(cands) - - ins_cands = get_insertion_points(fn, Region.unbounded()) - ensure(ins_cands) - - dup = copy.deepcopy(cand) - tob, toi, _ = random.choice(ins_cands) - ast_util.insert_statement(tob, toi, dup) - - -def perm_pad_var_decl( - fn: ca.FuncDef, ast: ca.FileAST, indices: Indices, region: Region, random: Random -) -> None: - """Inserts an unused variable to adjust stack offsets. Probably only useful with --stack-diffs enabled.""" - vars: List[str] = [] - - class Visitor(ca.NodeVisitor): - def visit_Decl(self, decl: ca.Decl) -> None: - if decl.name: - vars.append(decl.name) - self.generic_visit(decl) - - Visitor().visit(fn.body) - - var = "pad" - counter = 1 - while var in vars: - counter += 1 - var = f"pad{counter}" - - type = random_type(random) - ast_util.insert_decl(fn, var, type, random) - - class Randomizer: def __init__(self, rng_seed: int) -> None: self.random = Random(rng_seed) @@ -1876,11 +1489,9 @@ class Randomizer: methods = [ (perm_temp_for_expr, 100), (perm_expand_expr, 20), - (perm_reorder_stmts, 20), - (perm_add_mask, 15), + (perm_add_mask, 10), (perm_cast_simple, 10), (perm_refer_to_var, 10), - (perm_float_literal, 10), (perm_randomize_internal_type, 10), (perm_randomize_external_type, 5), (perm_randomize_function_type, 5), @@ -1889,18 +1500,15 @@ class Randomizer: (perm_ins_block, 10), (perm_struct_ref, 10), (perm_empty_stmt, 10), - (perm_condition, 10), - (perm_dummy_comma_expr, 5), (perm_add_self_assignment, 5), + (perm_reorder_stmts, 5), (perm_associative, 5), (perm_inequalities, 5), - (perm_compound_assignment, 5), - (perm_remove_ast, 5), - (perm_duplicate_assignment, 5), - (perm_pad_var_decl, 1), ] while True: - method = random_weighted(self.random, methods) + method = self.random.choice( + [x for (elem, prob) in methods for x in [elem] * prob] + ) try: method(fn, ast, indices, region, self.random) break diff --git a/tools/decomp-permuter/src/scorer.py b/tools/decomp-permuter/src/scorer.py index 0db63aa562..056779c62d 100644 --- a/tools/decomp-permuter/src/scorer.py +++ b/tools/decomp-permuter/src/scorer.py @@ -1,18 +1,18 @@ -from dataclasses import dataclass, field -import difflib -import hashlib -import re from typing import Tuple, List, Optional -from collections import Counter +import re +import subprocess +import hashlib +import difflib +import attr from .objdump import objdump, sp_offset -@dataclass(init=False, unsafe_hash=True) +@attr.s(init=False, hash=True) class DiffAsmLine: - line: str = field(compare=False) - mnemonic: str + line: str = attr.ib(cmp=False) + mnemonic: str = attr.ib() def __init__(self, line: str) -> None: self.line = line @@ -24,11 +24,12 @@ class Scorer: PENALTY_STACKDIFF = 1 PENALTY_REGALLOC = 5 + PENALTY_SPLIT_DIFF = 20 PENALTY_REORDERING = 60 PENALTY_INSERTION = 100 PENALTY_DELETION = 100 - def __init__(self, target_o: str, *, stack_differences: bool): + def __init__(self, target_o: str, *, stack_differences: bool = False): self.target_o = target_o self.stack_differences = stack_differences _, self.target_seq = self._objdump(target_o) @@ -84,23 +85,19 @@ class Scorer: if lo_hi_match(old, new): return - ignore_last_field = False if self.stack_differences: oldsp = re.search(sp_offset, old) newsp = re.search(sp_offset, new) if oldsp and newsp: - oldrel = int(oldsp.group(1) or "0", 0) - newrel = int(newsp.group(1) or "0", 0) + oldrel = int(oldsp.group(1), 0) + newrel = int(newsp.group(1), 0) score += abs(oldrel - newrel) * self.PENALTY_STACKDIFF - ignore_last_field = True + return # Probably regalloc difference, or signed vs unsigned # Compare each field in order newfields, oldfields = new.split(","), old.split(",") - if ignore_last_field: - newfields = newfields[:-1] - oldfields = oldfields[:-1] for nf, of in zip(newfields, oldfields): if nf != of: score += self.PENALTY_REGALLOC @@ -115,6 +112,7 @@ class Scorer: def diff_delete(line: str) -> None: deletions.append(line) + first_ins = None self.differ.set_seq1(cand_seq) for (tag, i1, i2, j1, j2) in self.differ.get_opcodes(): if tag == "equal": @@ -129,16 +127,12 @@ class Scorer: for k in range(j1, j2): diff_delete(self.target_seq[k].line) - insertions_co = Counter(insertions) - deletions_co = Counter(deletions) - for item in insertions_co + deletions_co: - ins = insertions_co[item] - dels = deletions_co[item] - common = min(ins, dels) - score += ( - (ins - common) * self.PENALTY_INSERTION - + (dels - common) * self.PENALTY_DELETION - + self.PENALTY_REORDERING * common - ) - + common = set(deletions) & set(insertions) + score += len(common) * self.PENALTY_REORDERING + for change in deletions: + if change not in common: + score += self.PENALTY_DELETION + for change in insertions: + if change not in common: + score += self.PENALTY_INSERTION return (score, hashlib.sha256(objdump_output.encode()).hexdigest()) diff --git a/tools/decomp-permuter/strip_other_fns.py b/tools/decomp-permuter/strip_other_fns.py index af29a01df6..43b5e795c4 100644 --- a/tools/decomp-permuter/strip_other_fns.py +++ b/tools/decomp-permuter/strip_other_fns.py @@ -1,6 +1,5 @@ import re import argparse -from typing import Optional from pathlib import Path @@ -27,7 +26,7 @@ def strip_other_fns(source: str, keep_fn_name: str) -> str: while True: fn_regex = re.compile(r"^.*\s+\**(\w+)\(.*\)\s*?{", re.M) fn = re.search(fn_regex, remain) - if fn is None: + if fn == None: result += remain remain = "" break @@ -46,9 +45,7 @@ def strip_other_fns(source: str, keep_fn_name: str) -> str: return result -def strip_other_fns_and_write( - source: str, fn_name: str, out_filename: Optional[str] = None -) -> None: +def strip_other_fns_and_write(source: str, fn_name: str, out_filename=None) -> None: stripped = strip_other_fns(source, fn_name) if out_filename is None: @@ -58,7 +55,7 @@ def strip_other_fns_and_write( f.write(stripped) -def main() -> None: +def main(): parser = argparse.ArgumentParser( description="Remove all but a single function definition from a file." ) diff --git a/tools/decomp-permuter/stubs/pycparser/c_ast.py b/tools/decomp-permuter/stubs/pycparser/c_ast.py index 5f41f6c650..69083d4318 100644 --- a/tools/decomp-permuter/stubs/pycparser/c_ast.py +++ b/tools/decomp-permuter/stubs/pycparser/c_ast.py @@ -1,719 +1,319 @@ -# ----------------------------------------------------------------- +#----------------------------------------------------------------- # pycparser: c_ast.py # # AST Node classes. # # Eli Bendersky [https://eli.thegreenplace.net/] # License: BSD -# ----------------------------------------------------------------- +#----------------------------------------------------------------- from typing import TextIO, Iterable, List, Any, Optional, Union as Union_ from .plyparser import Coord import sys - class Node(object): coord: Optional[Coord] - def __repr__(self) -> str: - ... - - def __iter__(self) -> Iterable[Node]: - ... - - def children(self) -> Iterable[Node]: - ... - - def show( - self, - buf: TextIO = sys.stdout, - offset: int = 0, - attrnames: bool = False, - nodenames: bool = False, - showcoord: bool = False, - ) -> None: - ... - - -Expression = Union_[ - "ArrayRef", - "Assignment", - "BinaryOp", - "Cast", - "CompoundLiteral", - "Constant", - "ExprList", - "FuncCall", - "ID", - "TernaryOp", - "UnaryOp", -] -Statement = Union_[ - Expression, - "Break", - "Case", - "Compound", - "Continue", - "Decl", - "Default", - "DoWhile", - "EmptyStatement", - "For", - "Goto", - "If", - "Label", - "Return", - "Switch", - "Typedef", - "While", - "Pragma", -] -Type = Union_["PtrDecl", "ArrayDecl", "FuncDecl", "TypeDecl"] -InnerType = Union_["IdentifierType", "Struct", "Union", "Enum"] -ExternalDeclaration = Union_["FuncDef", "Decl", "Typedef", "Pragma"] -AnyNode = Union_[ - Statement, - Type, - InnerType, - "FuncDef", - "EllipsisParam", - "Enumerator", - "EnumeratorList", - "FileAST", - "InitList", - "NamedInitializer", - "ParamList", - "Typename", -] + def __repr__(self) -> str: ... + def __iter__(self) -> Iterable[Node]: ... + def children(self) -> Iterable[Node]: ... + def show(self, buf: TextIO=sys.stdout, offset: int=0, attrnames: bool=False, nodenames: bool=False, showcoord: bool=False) -> None: ... +Expression = Union_['ArrayRef', 'Assignment', 'BinaryOp', 'Cast', + 'CompoundLiteral', 'Constant', 'ExprList', 'FuncCall', 'ID', + 'TernaryOp', 'UnaryOp'] +Statement = Union_[Expression, 'Break', 'Case', 'Compound', 'Continue', + 'Decl', 'Default', 'DoWhile', 'EmptyStatement', 'For', 'Goto', 'If', + 'Label', 'Return', 'Switch', 'Typedef', 'While', 'Pragma'] +Type = Union_['PtrDecl', 'ArrayDecl', 'FuncDecl', 'TypeDecl'] +InnerType = Union_['IdentifierType', 'Struct', 'Union', 'Enum'] +ExternalDeclaration = Union_['FuncDef', 'Decl', 'Typedef', 'Pragma'] +AnyNode = Union_[Statement, Type, InnerType, 'FuncDef', 'EllipsisParam', + 'Enumerator', 'EnumeratorList', 'FileAST', 'InitList', + 'NamedInitializer', 'ParamList', 'Typename'] class NodeVisitor: - def visit(self, node: Node) -> None: - ... - - def generic_visit(self, node: Node) -> None: - ... - - def visit_ArrayDecl(self, node: ArrayDecl) -> None: - ... - - def visit_ArrayRef(self, node: ArrayRef) -> None: - ... - - def visit_Assignment(self, node: Assignment) -> None: - ... - - def visit_BinaryOp(self, node: BinaryOp) -> None: - ... - - def visit_Break(self, node: Break) -> None: - ... - - def visit_Case(self, node: Case) -> None: - ... - - def visit_Cast(self, node: Cast) -> None: - ... - - def visit_Compound(self, node: Compound) -> None: - ... - - def visit_CompoundLiteral(self, node: CompoundLiteral) -> None: - ... - - def visit_Constant(self, node: Constant) -> None: - ... - - def visit_Continue(self, node: Continue) -> None: - ... - - def visit_Decl(self, node: Decl) -> None: - ... - - def visit_DeclList(self, node: DeclList) -> None: - ... - - def visit_Default(self, node: Default) -> None: - ... - - def visit_DoWhile(self, node: DoWhile) -> None: - ... - - def visit_EllipsisParam(self, node: EllipsisParam) -> None: - ... - - def visit_EmptyStatement(self, node: EmptyStatement) -> None: - ... - - def visit_Enum(self, node: Enum) -> None: - ... - - def visit_Enumerator(self, node: Enumerator) -> None: - ... - - def visit_EnumeratorList(self, node: EnumeratorList) -> None: - ... - - def visit_ExprList(self, node: ExprList) -> None: - ... - - def visit_FileAST(self, node: FileAST) -> None: - ... - - def visit_For(self, node: For) -> None: - ... - - def visit_FuncCall(self, node: FuncCall) -> None: - ... - - def visit_FuncDecl(self, node: FuncDecl) -> None: - ... - - def visit_FuncDef(self, node: FuncDef) -> None: - ... - - def visit_Goto(self, node: Goto) -> None: - ... - - def visit_ID(self, node: ID) -> None: - ... - - def visit_IdentifierType(self, node: IdentifierType) -> None: - ... - - def visit_If(self, node: If) -> None: - ... - - def visit_InitList(self, node: InitList) -> None: - ... - - def visit_Label(self, node: Label) -> None: - ... - - def visit_NamedInitializer(self, node: NamedInitializer) -> None: - ... - - def visit_ParamList(self, node: ParamList) -> None: - ... - - def visit_PtrDecl(self, node: PtrDecl) -> None: - ... - - def visit_Return(self, node: Return) -> None: - ... - - def visit_Struct(self, node: Struct) -> None: - ... - - def visit_StructRef(self, node: StructRef) -> None: - ... - - def visit_Switch(self, node: Switch) -> None: - ... - - def visit_TernaryOp(self, node: TernaryOp) -> None: - ... - - def visit_TypeDecl(self, node: TypeDecl) -> None: - ... - - def visit_Typedef(self, node: Typedef) -> None: - ... - - def visit_Typename(self, node: Typename) -> None: - ... - - def visit_UnaryOp(self, node: UnaryOp) -> None: - ... - - def visit_Union(self, node: Union) -> None: - ... - - def visit_While(self, node: While) -> None: - ... - - def visit_Pragma(self, node: Pragma) -> None: - ... - + def visit(self, node: Node) -> None: ... + def generic_visit(self, node: Node) -> None: ... + def visit_ArrayDecl(self, node: ArrayDecl) -> None: ... + def visit_ArrayRef(self, node: ArrayRef) -> None: ... + def visit_Assignment(self, node: Assignment) -> None: ... + def visit_BinaryOp(self, node: BinaryOp) -> None: ... + def visit_Break(self, node: Break) -> None: ... + def visit_Case(self, node: Case) -> None: ... + def visit_Cast(self, node: Cast) -> None: ... + def visit_Compound(self, node: Compound) -> None: ... + def visit_CompoundLiteral(self, node: CompoundLiteral) -> None: ... + def visit_Constant(self, node: Constant) -> None: ... + def visit_Continue(self, node: Continue) -> None: ... + def visit_Decl(self, node: Decl) -> None: ... + def visit_DeclList(self, node: DeclList) -> None: ... + def visit_Default(self, node: Default) -> None: ... + def visit_DoWhile(self, node: DoWhile) -> None: ... + def visit_EllipsisParam(self, node: EllipsisParam) -> None: ... + def visit_EmptyStatement(self, node: EmptyStatement) -> None: ... + def visit_Enum(self, node: Enum) -> None: ... + def visit_Enumerator(self, node: Enumerator) -> None: ... + def visit_EnumeratorList(self, node: EnumeratorList) -> None: ... + def visit_ExprList(self, node: ExprList) -> None: ... + def visit_FileAST(self, node: FileAST) -> None: ... + def visit_For(self, node: For) -> None: ... + def visit_FuncCall(self, node: FuncCall) -> None: ... + def visit_FuncDecl(self, node: FuncDecl) -> None: ... + def visit_FuncDef(self, node: FuncDef) -> None: ... + def visit_Goto(self, node: Goto) -> None: ... + def visit_ID(self, node: ID) -> None: ... + def visit_IdentifierType(self, node: IdentifierType) -> None: ... + def visit_If(self, node: If) -> None: ... + def visit_InitList(self, node: InitList) -> None: ... + def visit_Label(self, node: Label) -> None: ... + def visit_NamedInitializer(self, node: NamedInitializer) -> None: ... + def visit_ParamList(self, node: ParamList) -> None: ... + def visit_PtrDecl(self, node: PtrDecl) -> None: ... + def visit_Return(self, node: Return) -> None: ... + def visit_Struct(self, node: Struct) -> None: ... + def visit_StructRef(self, node: StructRef) -> None: ... + def visit_Switch(self, node: Switch) -> None: ... + def visit_TernaryOp(self, node: TernaryOp) -> None: ... + def visit_TypeDecl(self, node: TypeDecl) -> None: ... + def visit_Typedef(self, node: Typedef) -> None: ... + def visit_Typename(self, node: Typename) -> None: ... + def visit_UnaryOp(self, node: UnaryOp) -> None: ... + def visit_Union(self, node: Union) -> None: ... + def visit_While(self, node: While) -> None: ... + def visit_Pragma(self, node: Pragma) -> None: ... class ArrayDecl(Node): type: Type dim: Optional[Expression] dim_quals: List[str] - - def __init__( - self, - type: Type, - dim: Optional[Node], - dim_quals: List[str], - coord: Optional[Coord] = None, - ): - ... - + def __init__(self, type: Type, dim: Optional[Node], dim_quals: List[str], coord: Optional[Coord]=None): ... class ArrayRef(Node): name: Expression subscript: Expression - - def __init__(self, name: Node, subscript: Node, coord: Optional[Coord] = None): - ... - + def __init__(self, name: Node, subscript: Node, coord: Optional[Coord]=None): ... class Assignment(Node): op: str lvalue: Expression rvalue: Expression - - def __init__( - self, - op: str, - lvalue: Expression, - rvalue: Expression, - coord: Optional[Coord] = None, - ): - ... - + def __init__(self, op: str, lvalue: Expression, rvalue: Expression, coord: Optional[Coord]=None): ... class BinaryOp(Node): op: str left: Expression right: Expression - - def __init__(self, op: str, left: Node, right: Node, coord: Optional[Coord] = None): - ... - + def __init__(self, op: str, left: Node, right: Node, coord: Optional[Coord]=None): ... class Break(Node): - def __init__(self, coord: Optional[Coord] = None): - ... - + def __init__(self, coord: Optional[Coord]=None): ... class Case(Node): expr: Expression stmts: List[Statement] - - def __init__( - self, expr: Expression, stmts: List[Statement], coord: Optional[Coord] = None - ): - ... - + def __init__(self, expr: Expression, stmts: List[Statement], coord: Optional[Coord]=None): ... class Cast(Node): - to_type: "Typename" + to_type: 'Typename' expr: Expression - - def __init__( - self, to_type: "Typename", expr: Expression, coord: Optional[Coord] = None - ): - ... - + def __init__(self, to_type: 'Typename', expr: Expression, coord: Optional[Coord]=None): ... class Compound(Node): block_items: Optional[List[Statement]] - - def __init__( - self, block_items: Optional[List[Statement]], coord: Optional[Coord] = None - ): - ... - + def __init__(self, block_items: Optional[List[Statement]], coord: Optional[Coord]=None): ... class CompoundLiteral(Node): - type: "Typename" - init: "InitList" - - def __init__( - self, type: "Typename", init: "InitList", coord: Optional[Coord] = None - ): - ... - + type: 'Typename' + init: 'InitList' + def __init__(self, type: 'Typename', init: 'InitList', coord: Optional[Coord]=None): ... class Constant(Node): type: str value: str - - def __init__(self, type: str, value: str, coord: Optional[Coord] = None): - ... - + def __init__(self, type: str, value: str, coord: Optional[Coord]=None): ... class Continue(Node): - def __init__(self, coord: Optional[Coord] = None): - ... - + def __init__(self, coord: Optional[Coord]=None): ... class Decl(Node): name: Optional[str] - quals: List[str] # e.g. const - storage: List[str] # e.g. register - funcspec: List[str] # e.g. inline - type: Union_[Type, "Struct", "Union", "Enum"] - init: Optional[Union_[Expression, "InitList"]] + quals: List[str] # e.g. const + storage: List[str] # e.g. register + funcspec: List[str] # e.g. inline + type: Type + init: Optional[Union_[Expression, 'InitList']] bitsize: Optional[Expression] - def __init__( - self, - name: Optional[str], - quals: List[str], - storage: List[str], - funcspec: List[str], - type: Union_[Type, "Struct", "Union", "Enum"], - init: Optional[Union_[Expression, "InitList"]], - bitsize: Optional[Expression], - coord: Optional[Coord] = None, - ): - ... - + def __init__(self, name: Optional[str], quals: List[str], storage: List[str], funcspec: List[str], type: Type, init: Optional[Expression], bitsize: Optional[Expression], coord: Optional[Coord]=None): ... class DeclList(Node): decls: List[Decl] - - def __init__(self, decls: List[Decl], coord: Optional[Coord] = None): - ... - + def __init__(self, decls: List[Decl], coord: Optional[Coord]=None): ... class Default(Node): stmts: List[Statement] - - def __init__(self, stmts: List[Statement], coord: Optional[Coord] = None): - ... - + def __init__(self, stmts: List[Statement], coord: Optional[Coord]=None): ... class DoWhile(Node): cond: Expression stmt: Statement - - def __init__( - self, cond: Expression, stmt: Statement, coord: Optional[Coord] = None - ): - ... - + def __init__(self, cond: Expression, stmt: Statement, coord: Optional[Coord]=None): ... class EllipsisParam(Node): - def __init__(self, coord: Optional[Coord] = None): - ... - + def __init__(self, coord: Optional[Coord]=None): ... class EmptyStatement(Node): - def __init__(self, coord: Optional[Coord] = None): - ... - + def __init__(self, coord: Optional[Coord]=None): ... class Enum(Node): name: Optional[str] - values: "Optional[EnumeratorList]" - - def __init__( - self, - name: Optional[str], - values: "Optional[EnumeratorList]", - coord: Optional[Coord] = None, - ): - ... - + values: 'EnumeratorList' + def __init__(self, name: Optional[str], values: 'EnumeratorList', coord: Optional[Coord]=None): ... class Enumerator(Node): name: str value: Optional[Expression] - - def __init__( - self, name: str, value: Optional[Expression], coord: Optional[Coord] = None - ): - ... - + def __init__(self, name: str, value: Optional[Expression], coord: Optional[Coord]=None): ... class EnumeratorList(Node): enumerators: List[Enumerator] - - def __init__(self, enumerators: List[Enumerator], coord: Optional[Coord] = None): - ... - + def __init__(self, enumerators: List[Enumerator], coord: Optional[Coord]=None): ... class ExprList(Node): - exprs: List[Union_[Expression, Typename]] # typename only for offsetof - - def __init__( - self, exprs: List[Union_[Expression, Typename]], coord: Optional[Coord] = None - ): - ... - + exprs: List[Union_[Expression, Typename]] # typename only for offsetof + def __init__(self, exprs: List[Union_[Expression, Typename]], coord: Optional[Coord]=None): ... class FileAST(Node): ext: List[ExternalDeclaration] - - def __init__(self, ext: List[ExternalDeclaration], coord: Optional[Coord] = None): - ... - + def __init__(self, ext: List[ExternalDeclaration], coord: Optional[Coord]=None): ... class For(Node): init: Union_[None, Expression, DeclList] cond: Optional[Expression] next: Optional[Expression] stmt: Statement - - def __init__( - self, - init: Union_[None, Expression, DeclList], - cond: Optional[Expression], - next: Optional[Expression], - stmt: Statement, - coord: Optional[Coord] = None, - ): - ... - + def __init__(self, init: Union_[None, Expression, DeclList], cond: Optional[Expression], next: Optional[Expression], stmt: Statement, coord: Optional[Coord]=None): ... class FuncCall(Node): name: Expression args: Optional[ExprList] - - def __init__( - self, name: Expression, args: Optional[ExprList], coord: Optional[Coord] = None - ): - ... - + def __init__(self, name: Expression, args: Optional[ExprList], coord: Optional[Coord]=None): ... class FuncDecl(Node): args: Optional[ParamList] - type: Type # return type - - def __init__( - self, args: Optional[ParamList], type: Type, coord: Optional[Coord] = None - ): - ... - + type: Type # return type + def __init__(self, args: Optional[ParamList], type: Type, coord: Optional[Coord]=None): ... class FuncDef(Node): decl: Decl param_decls: Optional[List[Decl]] body: Compound - - def __init__( - self, - decl: Decl, - param_decls: Optional[List[Decl]], - body: Compound, - coord: Optional[Coord] = None, - ): - ... - + def __init__(self, decl: Decl, param_decls: Optional[List[Decl]], body: Compound, coord: Optional[Coord]=None): ... class Goto(Node): name: str - - def __init__(self, name: str, coord: Optional[Coord] = None): - ... - + def __init__(self, name: str, coord: Optional[Coord]=None): ... class ID(Node): name: str - - def __init__(self, name: str, coord: Optional[Coord] = None): - ... - + def __init__(self, name: str, coord: Optional[Coord]=None): ... class IdentifierType(Node): - names: List[str] # e.g. ['long', 'int'] - - def __init__(self, names: List[str], coord: Optional[Coord] = None): - ... - + names: List[str] # e.g. ['long', 'int'] + def __init__(self, names: List[str], coord: Optional[Coord]=None): ... class If(Node): cond: Expression iftrue: Statement iffalse: Optional[Statement] - - def __init__( - self, - cond: Expression, - iftrue: Statement, - iffalse: Optional[Statement], - coord: Optional[Coord] = None, - ): - ... - + def __init__(self, cond: Expression, iftrue: Statement, iffalse: Optional[Statement], coord: Optional[Coord]=None): ... class InitList(Node): - exprs: List[Union_[Expression, "NamedInitializer"]] - - def __init__( - self, - exprs: List[Union_[Expression, "NamedInitializer"]], - coord: Optional[Coord] = None, - ): - ... - + exprs: List[Union_[Expression, 'NamedInitializer']] + def __init__(self, exprs: List[Union_[Expression, 'NamedInitializer']], coord: Optional[Coord]=None): ... class Label(Node): name: str stmt: Statement - - def __init__(self, name: str, stmt: Statement, coord: Optional[Coord] = None): - ... - + def __init__(self, name: str, stmt: Statement, coord: Optional[Coord]=None): ... class NamedInitializer(Node): - name: List[Expression] # [ID(x), Constant(4)] for {.x[4] = ...} + name: List[Expression] # [ID(x), Constant(4)] for {.x[4] = ...} expr: Expression - - def __init__( - self, name: List[Expression], expr: Expression, coord: Optional[Coord] = None - ): - ... - + def __init__(self, name: List[Expression], expr: Expression, coord: Optional[Coord]=None): ... class ParamList(Node): params: List[Union_[Decl, ID, Typename, EllipsisParam]] - - def __init__( - self, - params: List[Union_[Decl, ID, Typename, EllipsisParam]], - coord: Optional[Coord] = None, - ): - ... - + def __init__(self, params: List[Union_[Decl, ID, Typename, EllipsisParam]], coord: Optional[Coord]=None): ... class PtrDecl(Node): quals: List[str] type: Type - - def __init__(self, quals: List[str], type: Type, coord: Optional[Coord] = None): - ... - + def __init__(self, quals: List[str], type: Type, coord: Optional[Coord]=None): ... class Return(Node): expr: Optional[Expression] - - def __init__(self, expr: Optional[Expression], coord: Optional[Coord] = None): - ... - + def __init__(self, expr: Optional[Expression], coord: Optional[Coord]=None): ... class Struct(Node): name: Optional[str] decls: Optional[List[Union_[Decl, Pragma]]] - - def __init__( - self, - name: Optional[str], - decls: Optional[List[Union_[Decl, Pragma]]], - coord: Optional[Coord] = None, - ): - ... - + def __init__(self, name: Optional[str], decls: Optional[List[Union_[Decl, Pragma]]], coord: Optional[Coord]=None): ... class StructRef(Node): name: Expression type: str field: ID - - def __init__( - self, name: Expression, type: str, field: ID, coord: Optional[Coord] = None - ): - ... - + def __init__(self, name: Expression, type: str, field: ID, coord: Optional[Coord]=None): ... class Switch(Node): cond: Expression stmt: Statement - - def __init__( - self, cond: Expression, stmt: Statement, coord: Optional[Coord] = None - ): - ... - + def __init__(self, cond: Expression, stmt: Statement, coord: Optional[Coord]=None): ... class TernaryOp(Node): cond: Expression iftrue: Expression iffalse: Expression - - def __init__( - self, - cond: Expression, - iftrue: Expression, - iffalse: Expression, - coord: Optional[Coord] = None, - ): - ... - + def __init__(self, cond: Expression, iftrue: Expression, iffalse: Expression, coord: Optional[Coord]=None): ... class TypeDecl(Node): declname: Optional[str] quals: List[str] type: InnerType - - def __init__( - self, - declname: Optional[str], - quals: List[str], - type: InnerType, - coord: Optional[Coord] = None, - ): - ... - + def __init__(self, declname: Optional[str], quals: List[str], type: InnerType, coord: Optional[Coord]=None): ... class Typedef(Node): name: str quals: List[str] storage: List[str] type: Type - - def __init__( - self, - name: str, - quals: List[str], - storage: List[str], - type: Type, - coord: Optional[Coord] = None, - ): - ... - + def __init__(self, name: str, quals: List[str], storage: List[str], type: Type, coord: Optional[Coord]=None): ... class Typename(Node): name: None quals: List[str] type: Type - - def __init__( - self, name: None, quals: List[str], type: Type, coord: Optional[Coord] = None - ): - ... - + def __init__(self, name: None, quals: List[str], type: Type, coord: Optional[Coord]=None): ... class UnaryOp(Node): op: str expr: Union_[Expression, Typename] - - def __init__( - self, op: str, expr: Union_[Expression, Typename], coord: Optional[Coord] = None - ): - ... - + def __init__(self, op: str, expr: Union_[Expression, Typename], coord: Optional[Coord]=None): ... class Union(Node): name: Optional[str] decls: Optional[List[Union_[Decl, Pragma]]] - - def __init__( - self, - name: Optional[str], - decls: Optional[List[Union_[Decl, Pragma]]], - coord: Optional[Coord] = None, - ): - ... - + def __init__(self, name: Optional[str], decls: Optional[List[Union_[Decl, Pragma]]], coord: Optional[Coord]=None): ... class While(Node): cond: Expression stmt: Statement - - def __init__( - self, cond: Expression, stmt: Statement, coord: Optional[Coord] = None - ): - ... - + def __init__(self, cond: Expression, stmt: Statement, coord: Optional[Coord]=None): ... class Pragma(Node): string: str + def __init__(self, string: str, coord: Optional[Coord]=None): ... - def __init__(self, string: str, coord: Optional[Coord] = None): - ... diff --git a/tools/decomp-permuter/stubs/pycparser/plyparser.py b/tools/decomp-permuter/stubs/pycparser/plyparser.py index e63c53efb7..5c81c4c307 100644 --- a/tools/decomp-permuter/stubs/pycparser/plyparser.py +++ b/tools/decomp-permuter/stubs/pycparser/plyparser.py @@ -1,4 +1,4 @@ -# ----------------------------------------------------------------- +#----------------------------------------------------------------- # plyparser.py # # PLYParser class and other utilites for simplifying programming @@ -6,22 +6,13 @@ # # Eli Bendersky [https://eli.thegreenplace.net/] # License: BSD -# ----------------------------------------------------------------- +#----------------------------------------------------------------- from typing import Optional - class Coord: file: str line: int column: Optional[int] - - def __init__(self, file: str, line: int, column: Optional[int] = None): - ... - - def __str__(self) -> str: - ... - - -class ParseError(Exception): - pass + def __init__(self, file: str, line: int, column: Optional[int]=None): ... + def __str__(self) -> str: ... diff --git a/tools/decomp-permuter/test.py b/tools/decomp-permuter/test.py index aecdb14ac5..64aa81a66f 100755 --- a/tools/decomp-permuter/test.py +++ b/tools/decomp-permuter/test.py @@ -1,13 +1,14 @@ -#!/usr/bin/env python3 import sys from pycparser import parse_file, c_generator -fname = "test.c" if len(sys.argv) < 2 else sys.argv[1] +if len(sys.argv) < 2: + print(f"Usage: {sys.argv[0]} filename.c") + exit() # ast = c_parser.CParser().parse(src) -ast = parse_file(fname, use_cpp=True) +ast = parse_file(sys.argv[1], use_cpp=True) # ast.show() # print(c_generator.CGenerator().visit(ast)) print(ast) diff --git a/tools/decomp-permuter/test/test_general.c b/tools/decomp-permuter/test/test_general.c new file mode 100644 index 0000000000..2699bcb78a --- /dev/null +++ b/tools/decomp-permuter/test/test_general.c @@ -0,0 +1,29 @@ +#ifdef ACTUAL +int test_general() { + return 64; +} +#else +int test_general() { + return PERM_GENERAL(32,64); +} +#endif + +#ifdef ACTUAL +int test_general_3() { + return 64; +} +#else +int test_general_3() { + return PERM_GENERAL(32,48,64); +} +#endif + +#ifdef ACTUAL +int test_general_multiple() { + return 9; +} +#else +int test_general_multiple() { + return PERM_GENERAL(1,2,3) + PERM_GENERAL(4,5,6); +} +#endif \ No newline at end of file diff --git a/tools/decomp-permuter/test/test_perm.py b/tools/decomp-permuter/test/test_perm.py index f3cc520cef..e45f1713b2 100644 --- a/tools/decomp-permuter/test/test_perm.py +++ b/tools/decomp-permuter/test/test_perm.py @@ -1,247 +1,108 @@ +import unittest import os +import tempfile +import shutil from pathlib import Path import re -import shutil -import tempfile -from typing import Any, Optional -import unittest +from strip_other_fns import strip_other_fns_and_write from src.compiler import Compiler from src.preprocess import preprocess from src import main +c_files_list = [ + ['test_general.c', 'test_general'], + ['test_general.c', 'test_general_3'], + ['test_general.c', 'test_general_multiple'], + ['test_ternary.c', 'test_ternary1'], + ['test_ternary.c', 'test_ternary2'], + ['test_type.c', 'test_type1'], + ['test_type.c', 'test_type2'], + ['test_type.c', 'test_type3'], + ['test_randomizer.c', 'test_randomizer'], +] -class TestPermMacros(unittest.TestCase): - def go( - self, - intro: str, - outro: str, - base: str, - target: str, - *, - fn_name: Optional[str] = None, - **kwargs: Any - ) -> int: - base = intro + "\n" + base + "\n" + outro - target = intro + "\n" + target + "\n" + outro - compiler = Compiler("test/compile.sh", show_errors=True) +class TestStringMethods(unittest.TestCase): + @classmethod + def setUpClass(cls): + compiler = Compiler('test/compile.sh') + cls.tmp_dirs = {} + for test_c, test_fn in c_files_list: + d = tempfile.TemporaryDirectory() + file_test = os.path.join('test', test_c) + file_actual = os.path.join(d.name, "actual.c") + file_base = os.path.join(d.name, "base.c") + file_target = os.path.join(d.name, "target.o") - # For debugging, to avoid the auto-deleted directory: - # target_dir = tempfile.mkdtemp() - with tempfile.TemporaryDirectory() as target_dir: - with open(os.path.join(target_dir, "base.c"), "w") as f: - f.write(base) + actual_preprocessed = preprocess(file_test, cpp_args=['-DACTUAL']) + base_preprocessed = preprocess(file_test, cpp_args=['-UACTUAL']) - target_o = compiler.compile(target, show_errors=True) + strip_other_fns_and_write(actual_preprocessed, test_fn, file_actual) + strip_other_fns_and_write(base_preprocessed, test_fn, file_base) + + actual_source = Path(file_actual).read_text() + target_o = compiler.compile(actual_source, show_errors=True) assert target_o is not None - shutil.move(target_o, os.path.join(target_dir, "target.o")) + shutil.copy2(target_o, file_target) + os.remove(target_o) - shutil.copy2("test/compile.sh", os.path.join(target_dir, "compile.sh")) + shutil.copy2("test/compile.sh", d.name) + cls.tmp_dirs[(test_c, test_fn)] = d + + @classmethod + def tearDownClass(cls): + for d in cls.tmp_dirs.values(): + d.cleanup() - if fn_name: - with open(os.path.join(target_dir, "function.txt"), "w") as f: - f.write(fn_name) + def go(self, filename, fn_name, **kwargs) -> int: + d = self.tmp_dirs[(filename, fn_name)].name + score, = main.run(main.Options(directories=[d], stop_on_zero=True, **kwargs)) + return score - opts = main.Options(directories=[target_dir], stop_on_zero=True, **kwargs) - return main.run(opts)[0] - - def test_general(self) -> None: - score = self.go( - "int test() {", - "}", - "return PERM_GENERAL(32,64);", - "return 64;", - ) + def test_general(self): + score = self.go('test_general.c', 'test_general') self.assertEqual(score, 0) - def test_not_found(self) -> None: - score = self.go( - "int test() {", - "}", - "return PERM_GENERAL(32,64);", - "return 92;", - ) - self.assertNotEqual(score, 0) - - def test_multiple_functions(self) -> None: - score = self.go( - "", - "", - """ - int ignoreme() {} - int foo() { return PERM_GENERAL(32,64); } - int ignoreme2() {} - """, - "int foo() { return 64; }", - fn_name="foo", - ) + def test_general_3(self): + score = self.go('test_general.c', 'test_general_3') self.assertEqual(score, 0) - def test_general_multiple(self) -> None: - score = self.go( - "int test() {", - "}", - "return PERM_GENERAL(1,2,3) + PERM_GENERAL(3,6,9);", - "return 9;", - ) + def test_general_multiple(self): + score = self.go('test_general.c', 'test_general_multiple') self.assertEqual(score, 0) - def test_general_nested(self) -> None: - score = self.go( - "int test() {", - "}", - "return PERM_GENERAL(1,PERM_GENERAL(100,101),3) + PERM_GENERAL(3,6,9);", - "return 110;", - ) + def test_ternary1(self): + score = self.go('test_ternary.c', 'test_ternary1') self.assertEqual(score, 0) - def test_cast(self) -> None: - score = self.go( - "int test(int a, int b) {", - "}", - "return a / PERM_GENERAL(,(unsigned int),(float)) b;", - "return a / (float) b;", - ) + def test_ternary2(self): + score = self.go('test_ternary.c', 'test_ternary2') self.assertEqual(score, 0) - def test_cast_threaded(self) -> None: - score = self.go( - "int test(int a, int b) {", - "}", - "return a / PERM_GENERAL(,(unsigned int),(float)) b;", - "return a / (float) b;", - threads=2, - ) + def test_type1(self): + score = self.go('test_type.c', 'test_type1') self.assertEqual(score, 0) - def test_ignore(self) -> None: - score = self.go( - "int test(int a, int b) {", - "}", - "PERM_IGNORE( return a / PERM_GENERAL(a, b); )", - "return a / b;", - ) + def test_type2(self): + score = self.go('test_type.c', 'test_type2') self.assertEqual(score, 0) - def test_pretend(self) -> None: - score = self.go( - "int global;", - "", - """ - PERM_IGNORE( inline void foo() { ) - PERM_PRETEND( void foo(); void bar() { ) - PERM_RANDOMIZE( - global = 1; - ) - PERM_IGNORE( } void bar() { ) - PERM_RANDOMIZE( - global = 2; foo(); - ) - } - """, - """ - inline void foo() { global = 1; } - void bar() { foo(); global = 2; } - """, - fn_name="bar", - ) + def test_type3(self): + score = self.go('test_type.c', 'test_type3') self.assertEqual(score, 0) - def test_once1(self) -> None: - score = self.go( - "volatile int A, B, C; void test() {", - "}", - """ - PERM_ONCE(B = 2;) - A = 1; - PERM_ONCE(B = 2;) - C = 3; - PERM_ONCE(B = 2;) - """, - "A = 1; B = 2; C = 3;", - ) + def test_type3_threaded(self): + score = self.go('test_type.c', 'test_type3', threads=2) self.assertEqual(score, 0) - def test_once2(self) -> None: - score = self.go( - "volatile int A, B, C; void test() {", - "}", - """ - PERM_VAR(emit,) - PERM_VAR(bademit,) - PERM_ONCE(1, PERM_VAR(bademit, A = 7;) A = 2;) - PERM_ONCE(1, PERM_VAR(emit, A = 1;)) - PERM_VAR(emit) - PERM_VAR(bademit) - PERM_ONCE(2, B = 2;) - PERM_ONCE(2, B = 1;) - PERM_ONCE(2,) - PERM_ONCE(3, PERM_VAR(bademit, A = 9)) - PERM_ONCE(3, PERM_VAR(bademit, A = 9)) - C = 3; - """, - "A = 1; B = 2; C = 3;", - ) + def test_randomizer(self): + score = self.go('test_randomizer.c', 'test_randomizer') self.assertEqual(score, 0) - def test_lineswap(self) -> None: - score = self.go( - "void a(); void b(); void c(); void test(void) {", - "}", - """ - PERM_LINESWAP( - a(); - b(); - c(); - ) - """, - "b(); a(); c();", - ) - self.assertEqual(score, 0) - - def test_lineswap_text(self) -> None: - score = self.go( - "void a(); void b(); void c(); void test(void) {", - "}", - """ - PERM_LINESWAP_TEXT( - a(); - b(); - c(); - ) - """, - "b(); a(); c();", - ) - self.assertEqual(score, 0) - - def test_randomizer(self) -> None: - score = self.go( - "void foo(); void bar(); void test(void) {", - "}", - "PERM_RANDOMIZE(bar(); foo();)", - "foo(); bar();", - ) - self.assertEqual(score, 0) - - def test_auto_randomizer(self) -> None: - score = self.go( - "void foo(); void bar(); void test(void) {", - "}", - "bar(); foo();", - "foo(); bar();", - ) - self.assertEqual(score, 0) - - def test_randomizer_threaded(self) -> None: - score = self.go( - "void foo(); void bar(); void test(void) {", - "}", - "PERM_RANDOMIZE(bar(); foo();)", - "foo(); bar();", - threads=2, - ) + def test_randomizer_threaded(self): + score = self.go('test_randomizer.c', 'test_randomizer', threads=2) self.assertEqual(score, 0) -if __name__ == "__main__": +if __name__ == '__main__': unittest.main() diff --git a/tools/decomp-permuter/test/test_randomizer.c b/tools/decomp-permuter/test/test_randomizer.c new file mode 100644 index 0000000000..d267d35c93 --- /dev/null +++ b/tools/decomp-permuter/test/test_randomizer.c @@ -0,0 +1,16 @@ +void foo(void); +void bar(void); + +#ifdef ACTUAL +void test_randomizer(void) { + foo(); + bar(); +} +#else +void test_randomizer(void) { + PERM_RANDOMIZE( + bar(); + foo(); + ) +} +#endif diff --git a/tools/decomp-permuter/test/test_ternary.c b/tools/decomp-permuter/test/test_ternary.c new file mode 100644 index 0000000000..0aa19de641 --- /dev/null +++ b/tools/decomp-permuter/test/test_ternary.c @@ -0,0 +1,30 @@ +#ifdef ACTUAL +int test_ternary1(int cond) { + int test; + if (cond) + test = 1; + else + test = 2; + return test; +} +#else +int test_ternary1(int cond) { + int test; + PERM_TERNARY(test = ,cond,1,2) + return test; +} +#endif + +#ifdef ACTUAL +int test_ternary2(int cond) { + int test; + test = cond ? 1 : 2; + return test; +} +#else +int test_ternary2(int cond) { + int test; + PERM_TERNARY(test = ,cond,1,2) + return test; +} +#endif \ No newline at end of file diff --git a/tools/decomp-permuter/test/test_type.c b/tools/decomp-permuter/test/test_type.c new file mode 100644 index 0000000000..3a306cdd48 --- /dev/null +++ b/tools/decomp-permuter/test/test_type.c @@ -0,0 +1,29 @@ +#ifdef ACTUAL +int test_type1(int a, int b) { + return a / b; +} +#else +int test_type1(int a, int b) { + return a / PERM_TYPECAST(,unsigned int,float) b; +} +#endif + +#ifdef ACTUAL +int test_type2(int a, int b) { + return a / (unsigned int) b; +} +#else +int test_type2(int a, int b) { + return a / PERM_TYPECAST(,unsigned int,float) b; +} +#endif + +#ifdef ACTUAL +int test_type3(int a, int b) { + return a / (float) b; +} +#else +int test_type3(int a, int b) { + return a / PERM_TYPECAST(,unsigned int,float) b; +} +#endif \ No newline at end of file diff --git a/tools/depend.py b/tools/depend.py deleted file mode 100755 index 383b48e3c8..0000000000 --- a/tools/depend.py +++ /dev/null @@ -1,30 +0,0 @@ -#!/usr/bin/env python3 -import argparse, os - -if __name__ == '__main__': - parser = argparse.ArgumentParser() - - parser.add_argument('input', help='input .c file') - parser.add_argument('output', help='output .d file') - args = parser.parse_args() - - asm_file = None - with open(args.input, 'r') as f: - lines = f.readlines() - # Search for the first GLOBAL_ASM and use that as a dependency - # We won't list all split assembly files as it is tricky to properly set up make recipes with multiple outputs - for line in lines: - if '#pragma GLOBAL_ASM(' in line: - base_path = os.path.normpath(line.split('"')[1]) - path = os.path.split(base_path)[0] - asm_file = path.replace('non_matchings/', '') + '.asm ' # base .asm file - asm_file += path + "/dep" # split function .asm directory (sentinel file) - break - - with open(args.output, 'w') as f: - f.write('build/' + args.input.replace('.c', '.o' + ': ')) - if asm_file is not None: - f.write(asm_file + ' ') - - f.write('\n') - diff --git a/tools/disasm.py b/tools/disasm.py deleted file mode 100755 index 4849f6e30f..0000000000 --- a/tools/disasm.py +++ /dev/null @@ -1,1080 +0,0 @@ -#!/usr/bin/env python3 -import argparse, os, struct, ast, bisect, math - -SPLIT_FILES = True # TODO this should be a flag somewhere - -loadHighRefs = {} -loadLowRefs = {} - -known_files = {} -known_funcs = dict() -known_objects = dict() -known_vars = dict() - -regs = { - 0:"$zero", 1:"$at", 2:"$v0", 3:"$v1", 4:"$a0", 5:"$a1", 6:"$a2", 7:"$a3", - 8:"$t0", 9:"$t1", 10:"$t2", 11:"$t3", 12:"$t4", 13:"$t5", 14:"$t6", 15:"$t7", - 16:"$s0", 17:"$s1", 18:"$s2", 19:"$s3", 20:"$s4", 21:"$s5", 22:"$s6", 23:"$s7", - 24:"$t8", 25:"$t9", 26:"$k0", 27:"$k1", 28:"$gp", 29:"$sp", 30:"$fp", 31:"$ra", - } - -ops = { - 2:"j", 3:"jal", 4:"beq", 5:"bne", 6:"blez", 7:"bgtz", - 8:"addi", 9:"addiu", 10:"slti", 11:"sltiu", 12:"andi", 13:"ori", 14:"xori", 15:"lui", - 20:"beql", 21:"bnel", 22:"blezl", 23:"bgtzl", - 24:"daddi", 25:"daddiu", - 32:"lb", 33:"lh", 34:"lwl", 35:"lw", 36:"lbu", 37:"lhu", 38:"lwr", - 40:"sb", 41:"sh", 42:"swl", 43:"sw", 46:"swr", 47:"cache", - 48:"ll", 49:"lwc1", 50:"lwc2", 51:"pref", 53:"ldc1", 54:"ldc2", 55:"ld", - 56:"sc", 57:"swc1", 58:"swc2", 61:"sdc1", 62:"sdc2", 63:"sd", - } - -funcs = { - 0:"sll", 2:"srl", 3:"sra", 4:"sllv", 6:"srlv", 7:"srav", - 8:"jr", 9:"jalr", 10:"movz", 11:"movn", 12:"syscall", 13:"break", 15:"sync", - 16:"mfhi", 17:"mthi", 18:"mflo", 19:"mtlo", 20:"dsllv", 22:"dsrlv", 23:"dsrav", - 24:"mult", 25:"multu", 26:"div", 27:"divu", 28:"dmult", 29:"dmultu", 30:"ddiv", 31:"ddivu", - 32:"add", 33:"addu", 34:"sub", 35:"subu", 36:"and", 37:"or", 38:"xor", 39:"nor", - 42:"slt", 43:"sltu", 44:"dadd", 45:"daddu", - 48:"tge", 49:"tgeu", 50:"tlt", 51:"tltu", 52:"teq", 54:"tne", - 56:"dsll", 59:"dsra", 60:"dsll32", 63:"dsra32", - } - -branch1reg = { - 0:"bltz", 1:"bgez", 2:"bltzl", 3:"bgezl", - 8:"tgei", 9:"tgeiu", 10:"tlti", 11:"tltiu", 12:"tegi", 14:"tnei", - 16:"bltzal", 17:"bgezal", 18:"bltall", 19:"bgczall", - } - -floats = { - 0:"add", 1:"sub", 2:"mul", 3:"div", 4:"sqrt", 5:"abs", 6:"mov", 7:"neg", - 8:"round.l", 9:"trunc.l", 10:"ceil.l", 11:"floor.l", 12:"round.w", 13:"trunc.w", 14:"ceil.w", 15:"floor.w", - 18:"movz", 19:"movn", - 32:"cvt.s", 33:"cvt.d", 36:"cvt.w", 37:"cvt.l", - 48:"c.f", 49:"c.un", 50:"c.eq", 51:"c.ueq", 52:"c.olt", 53:"c.ult", 54:"c.ole", 55:"c.ule", - 56:"c.sf", 57:"c.ngle", 58:"c.seq", 59:"c.ngl", 60:"c.lt", 61:"c.nge", 62:"c.le", 63:"c.ngt", - } - -def read_file(name): - file_data=[] - - try: - with open(name, 'rb') as f: - file_data = f.read() - except IOError: - print('failed to read file ' + name) - return file_data - - -def float_reg(num): - if num == 31: - return "$31" - return "$f%d" % num - - -def format_ref(name, offset): - if offset == 0: - return "{}".format(name) - else: - return "{} + 0x{:X}".format(name, offset) - -def get_op(inst): - return (inst & 0b11111100000000000000000000000000) >> 26 - - -def get_func(inst): - return (inst & 0b00000000000000000000000000111111) - - -def get_rs(inst): - return (inst & 0b00000011111000000000000000000000) >> 21 - - -def get_rt(inst): - return (inst & 0b00000000000111110000000000000000) >> 16 - - -def get_rd(inst): - return (inst & 0b00000000000000001111100000000000) >> 11 - - -def get_shift(inst): - return (inst & 0b00000000000000000000011111000000) >> 6 - - -def get_ft(inst): - return (inst & 0b00000000000111110000000000000000) >> 16 - - -def get_fs(inst): - return (inst & 0b00000000000000001111100000000000) >> 11 - - -def get_fd(inst): - return (inst & 0b00000000000000000000011111000000) >> 6 - - -def get_imm(inst): - return inst & 0b00000000000000001111111111111111 - - -def get_signed_imm(inst): - imm = get_imm(inst) - if (imm & (1 << 15)) != 0: - imm = -2**15 + (imm & 0b00000000000000000111111111111111) - return imm - - -def is_load(inst): - return get_op(inst) > 31 - - -def get_func_name(addr): - if addr in known_funcs: - return known_funcs[addr][0] - else: - return "func_%08X" % addr - - -def get_symbol_name(addr): - if addr in known_vars and known_vars[addr][0] != "": - return known_vars[addr][0] - else: - return "D_%08X" % addr - - -def write_header(file, is_data): - file.write(".set noat # allow use of $at\n" - ".set noreorder # don't insert nops after branches\n" - ".set gp=64 # allow use of 64bit registers\n" - ".macro glabel label\n" - " .global \label\n" - " \label:\n" - ".endm\n" - "\n") - - if is_data: - if "_rodata" in file.name: - file.write(".section .rodata\n\n") - else: - file.write(".section .data\n\n") - - file.write(".balign 16\n\n") - -def format_string(data_bytes, output_ends = True, force_ascii = False): - """ - Swiss Cheese - """ - hex_digits = "0123456789abcdefABCDEF" - result = "" - directive = "ascii" if force_ascii else "asciz" - - if 0x8C in data_bytes or 0x8D in data_bytes or 0x1B in data_bytes: - char = "" - index = None - if 0x8C in data_bytes: - char = "\\x8C" - index = data_bytes.index(0x8C) - elif 0x8D in data_bytes: - char = "\\x8D" - index = data_bytes.index(0x8D) - elif 0x1B in data_bytes: - char = "\\x1B" - index = data_bytes.index(0x1B) - else: - assert False , "???" - part1 = format_string(data_bytes[0:index], output_ends=False) - part2 = format_string(data_bytes[index+1:], output_ends=False) - if part2 != "": - result = part1 + ("\"\n .ascii \"" if part2[0] in hex_digits and part1 != "" else "") + \ - char + ("\"\n .asciz \"" if part2[0] in hex_digits else "") + part2 - if output_ends and part2[0] in hex_digits and part1 == "": - directive = "ascii" - else: - result = part1 + ("\"\n .ascii \"" if part2[0] in hex_digits and part1 != "" else "") + char + "\"\n" - else: - result = data_bytes.decode("EUC-JP").replace("\n", "\\n").replace("\r", "\\r").replace("\t", "\\t").replace("\0", "") - - return (("." + directive + " \"") if output_ends else "") + result + ("\"" if output_ends else "") - -def format_float(f): - """ - naive approach to reduce float decimals, also for doubles - """ - if math.isnan(f) or (type(f) == float and f == 4294967296.0): - return str(f) - struct_fmt = ">f" if type(f) == float else ">d" - - float_str = str(f) - precision = len(float_str.split(".")[1].strip()) - word = struct.pack(struct_fmt, f) - while precision != 0: - new_f = round(f,precision-1) - precision -= 1 - if struct.pack(struct_fmt, new_f) != word: - return f - else: - f = new_f - return f - -# TODO add code_regions? -class Disassembler: - - class File: - def __init__(self, name, disasmPath, data, vaddr): - self.name = name - self.disasmPath = disasmPath - self.data = data - self.vaddr = vaddr - self.size = len(data) - - def get_inst(self, num): - offset = num*4 - return struct.unpack('>I', self.data[offset:offset+4])[0] - - def __init__(self): - self.files = list() - self.objects = set() - self.functions = set() - self.labels = set() - self.vars = set() - self.switch_cases = set() - self.vars_sorted = list() - self.vars_length = dict() - self.data_regions = list() - self.bss_regions = list() - - self.has_done_first_pass = False - - self.auto_analysis = False - - self.is_data_cache = {} - self.is_code_cache = {} - self.is_bss_cache = {} - - def load_defaults(self): - for file in known_files: - self.add_file(file[0], file[1], file[2], file[3]) - self.add_object(file[3]) # assume every file starts with a object and function - self.add_function(file[3]) - for region in file[4]: - self.add_data_region(region[0], region[1], file[2]) - for region in file[5]: - self.add_bss_region(region[0], region[1], file[2]) - - for addr in known_funcs: - self.add_function(addr) - - for addr in known_objects: - self.add_object(addr) - if self.is_in_code(addr): - self.add_function(addr) # assume every object starts with a function - - for addr in known_vars: - self.add_variable(addr, known_vars[addr][3]) - - def reset_cache(self): - self.is_data_cache = {} - self.is_code_cache = {} - self.is_bss_cache = {} - - def add_file(self, disasmPath, readPath, name, vaddr): - self.files.append(self.File(name, disasmPath, read_file(readPath + '/' + name), vaddr)) - self.files = sorted(self.files, key = lambda file: file.vaddr) - self.reset_cache() - - def add_object(self, addr): - self.objects.add(addr) - - def add_function(self, addr): - self.functions.add(addr) - - def add_variable(self, addr, size): - # TODO special case this value that is mis-identified as an address and causes problems by being in the middle of a pointer - if addr == 0x80AAB3AE: - return - self.vars.add(addr) - bisect.insort(self.vars_sorted, addr) - self.vars_length[addr] = size - - def add_label(self, addr): - self.labels.add(addr) - - def add_data_region(self, start, end, file_name): - self.data_regions.append((start, end, file_name)) - self.data_regions = sorted(self.data_regions, key = lambda region: region[0]) - self.reset_cache() - - def add_bss_region(self, start, end, file_name): - self.bss_regions.append((start, end, file_name)) - self.bss_regions = sorted(self.bss_regions, key = lambda region: region[0]) - self.reset_cache() - - def set_auto_analysis(self, setting): - self.auto_analysis = setting - - def is_in_data(self, addr): - if addr in self.is_data_cache: - return self.is_data_cache[addr] - - start = 0 - last = len(self.data_regions) - 1 - while start <= last: - midpoint = (start + last) // 2 - if addr >= self.data_regions[midpoint][0]: - if addr <= self.data_regions[midpoint][1]: - self.is_data_cache[addr] = True - return True - else: - start = midpoint + 1 - else: - last = midpoint - 1 - - self.is_data_cache[addr] = False - return False - - def is_in_code(self, addr): - if addr in self.is_code_cache: - return self.is_code_cache[addr] - - start = 0 - last = len(self.files) - 1 - while start <= last: - midpoint = (start + last) // 2 - if addr >= self.files[midpoint].vaddr: - if addr < (self.files[midpoint].vaddr + self.files[midpoint].size): - self.is_code_cache[addr] = not self.is_in_data(addr) - return self.is_code_cache[addr] - else: - start = midpoint + 1 - else: - last = midpoint - 1 - - self.is_code_cache[addr] = False - return False - - def is_in_bss(self, addr): - if addr in self.is_bss_cache: - return self.is_bss_cache[addr] - - start = 0 - last = len(self.bss_regions) - 1 - while start <= last: - midpoint = (start + last) // 2 - if addr >= self.bss_regions[midpoint][0]: - if addr <= self.bss_regions[midpoint][1]: - self.is_bss_cache[addr] = True - return True, self.bss_regions[midpoint] - else: - start = midpoint + 1 - else: - last = midpoint - 1 - - self.is_bss_cache[addr] = False - return False, None - - def is_in_data_or_undef(self, addr): - # return true if it is in a defined data region - if self.is_in_data(addr): - return True - - # otherwise return false if it is in a file's bounds - if self.is_in_code(addr): - return False - - # otherwise it is undefined (return true) - return True - - def is_start_of_variable(self, addr): - return addr in self.vars - - def get_variable_offset(self, addr): - if len(self.vars_sorted) == 0: - return None - if self.is_start_of_variable(addr): - return (addr, 0) - nearest = self.vars_sorted[bisect.bisect_left(self.vars_sorted, addr)-1] - offset = addr - nearest - if offset < self.vars_length[nearest]: - return (nearest, offset) - return None - - def make_label(self, imm, cur): - addr = (imm*4) + cur + 4 - self.add_label(addr) - return ".L%08X" % addr - - def make_func(self, imm, cur): - addr = (imm*4) + (cur & 0xF0000000) - self.add_function(addr) - return get_func_name(addr) - - def make_load(self, addr): - if self.is_in_data_or_undef(addr): - return get_symbol_name(addr) - else: - return get_func_name(addr) - - # TODO refactor to remove file_addr - def get_object_name(self, addr, file_addr): - filename = "" - - for file in self.files: - if file_addr == file.vaddr: - filename = file.name - - if filename == "": - print("Bad file_addr passed to get_object_name: 0x%0X" % addr) - return - - if SPLIT_FILES: - if addr in known_objects and known_objects[addr] != "": # no name means object boundary is known but not the name - return known_objects[addr] - else: - return '%s_0x%08X' % (filename, addr) - else: - return "%s" % filename - - def guess_functions_and_variables_from_data(self): - for file in self.files: - for i in range(0, file.size // 4): - word = file.get_inst(i) - addr = file.vaddr + i*4 - if self.is_in_data(addr): - if self.is_in_code(word) and (word % 4) == 0: - None - # TODO functions are disabled for now due to behaving poorly with switches. This should be a flag. - #self.add_function(word) - elif self.is_in_data(word): - self.add_variable(word, 1) - - - def disassemble(self, path): - self.first_pass() - self.second_pass(path) - - def first_pass(self): - if self.has_done_first_pass == True: - return - - for file in self.files: - for i in range(0, file.size // 4): - inst = file.get_inst(i) - addr = file.vaddr + i*4 - if not self.is_in_data_or_undef(addr): - self.disassemble_inst(inst, addr, i, file) - - if inst == 0x03E00008 and self.auto_analysis: # jr $ra - next_index = i+2 - if file.get_inst(next_index) == 0: # nop - while file.get_inst(next_index) == 0: - next_index += 1 - - new_object_start = file.vaddr + next_index*4 + 15 - new_object_start -= new_object_start % 16 - - # don't split if it's the start of a data section, it's probably the same object - if not self.is_in_data_or_undef(new_object_start): - self.add_object(new_object_start) - if addr in self.vars: - name = self.make_load(addr) - if name.startswith("jtbl_"): - addr_i = i - case_addr = file.get_inst(addr_i) - while self.is_in_code(case_addr): - self.switch_cases.add(case_addr) - addr_i += 1 - if addr_i >= (file.size // 4): - break - case_addr = file.get_inst(addr_i) - if self.auto_analysis: - self.guess_functions_and_variables_from_data() - self.has_done_first_pass = True - - def build_disassembled_path(self, basePath, addr, file): - return basePath + '/' + file.disasmPath + '%s.asm' % self.get_object_name(addr, file.vaddr) - - def second_pass(self, path): - for file in self.files: - filename = self.build_disassembled_path(path, file.vaddr, file) - - with open(filename, 'w') as f: - write_header(f, self.is_in_data_or_undef(file.vaddr)) - - # strings can span many words and more often than not do - # but are luckily always 4-byte aligned - string_start = -1 - string_data = bytearray() - force_ascii_str = False # hack for non-null-terminated strings in .data - - # whether to output floats - is_floats = False - - for i in range(0, file.size // 4): - addr = file.vaddr + i*4 - inst = file.get_inst(i) - - if addr in self.objects and SPLIT_FILES: - # if currently accumulating a string, write it out as-is since there's no way it's extending over a file boundary - if string_start != -1: - f.write("glabel %s\n" % self.make_load(string_start)) - f.write("/* %06d 0x%08X */ %s\n .balign 4\n" % ((string_start - file.vaddr)//4, string_start, format_string(string_data, force_ascii=force_ascii_str))) - string_data = bytearray() - # reset string writing - string_start = -1 - f.close() - filename = self.build_disassembled_path(path, addr, file) - f = open(filename, 'w') - write_header(f, self.is_in_data_or_undef(addr)) - - var = known_vars.get(addr, None) - if var is not None: - is_floats = var[1] == "f32" - # is_doubles = var[1] == "f64" - # end of the string, write it out - if string_start != -1: - f.write("glabel %s\n" % self.make_load(string_start)) - f.write("/* %06d 0x%08X */ %s\n .balign 4\n" % ((string_start - file.vaddr)//4, string_start, format_string(string_data, force_ascii=force_ascii_str))) - string_data = bytearray() - # string check - string_start = addr if (var[1] == "char" and var[2].startswith("[") and var[2].endswith("]")) else -1 - force_ascii_str = addr in [0x801D0708] # non-null-terminated strings in .data - - # accumulate string data - if string_start != -1: - string_data.extend(file.data[i*4:(i+1)*4]) - continue - - if addr in self.labels and addr not in self.switch_cases: - f.write(".L%08X:\n" % addr) - if addr in self.switch_cases: - f.write("glabel L%08X\n" % addr) - f.write(".L%08X:\n" % addr) - if addr in self.functions: - name = get_func_name(addr) - f.write("\nglabel %s\n" % name) - - if not self.is_in_data_or_undef(addr): - f.write("/* %06d 0x%08X %08X */ %s\n" % (i, addr, inst, self.disassemble_inst(inst, addr, i, file))) - elif inst in self.functions: - if self.is_start_of_variable(addr): - name = self.make_load(addr) - f.write("glabel %s\n" % name) - f.write("/* %06d 0x%08X */ .word\t%s\n" % (i, addr, get_func_name(inst))) - elif inst in self.switch_cases: - if self.is_start_of_variable(addr): - name = self.make_load(addr) - f.write("glabel %s\n" % name) - f.write("/* %06d 0x%08X */ .word\tL%08X\n" % (i, addr, inst)) - elif self.is_start_of_variable(inst): - if self.is_start_of_variable(addr): - name = self.make_load(addr) - f.write("glabel %s\n" % name) - f.write("/* %06d 0x%08X */ .word\t%s\n" % (i, addr, self.make_load(inst))) - elif inst >= 0x801F0568 and inst < 0x801F0684: - # XXX special case gSaveContext.weekEventReg because there are pointers to fields of it in other parts of dara - # TODO think of a better way to do this - if self.is_start_of_variable(addr): - name = self.make_load(addr) - f.write("glabel %s\n" % name) - var = self.get_variable_offset(inst) - f.write("/* %06d 0x%08X */ .word\t(%s + 0x%08X)\n" % (i, addr, self.make_load(var[0]), var[1])) - else: - # TODO this should be moved into a print_data_range function or something - print_head = addr - data_stream = inst - while print_head < addr + 4: - if self.is_start_of_variable(print_head): - name = self.make_load(print_head) - f.write("glabel %s\n" % name) - if self.is_start_of_variable(print_head+1) or print_head % 2 != 0: - f.write("/* %06d 0x%08X */ .byte\t0x%02X\n" % (i, addr, (data_stream >> 24) & 0xFF)) - data_stream <<= 8 - print_head += 1 - elif self.is_start_of_variable(print_head+2) or self.is_start_of_variable(print_head+3) or print_head % 4 != 0: - f.write("/* %06d 0x%08X */ .short\t0x%04X\n" % (i, addr, (data_stream >> 16) & 0xFFFF)) - data_stream <<= 16 - print_head += 2 - else: - if is_floats: - flt = struct.unpack(">f", struct.pack(">I", data_stream & 0xFFFFFFFF))[0] - f.write("/* %06d 0x%08X */ .float\t%s\n" % (i, addr, format_float(flt))) - else: - f.write("/* %06d 0x%08X */ .word\t0x%08X\n" % (i, addr, data_stream & 0xFFFFFFFF)) - data_stream <<= 32 - print_head += 4 - # catch strings at the end of a section - if string_start != -1: - f.write("glabel %s\n" % self.make_load(string_start)) - f.write("/* %06d 0x%08X */ %s\n .balign 4\n" % ((string_start - file.vaddr)//4, string_start, format_string(string_data, force_ascii=force_ascii_str))) - string_data = bytearray() - string_start = -1 - - def determine_load_ref_impl(self, file, inst_i, start_i, depth, from_branch=False, visited=set()): - candidates = [] - - if not from_branch: - visited.clear() - - # debug_i = 5217 - debug_i = 0xFFFFFFFF - - if inst_i == debug_i: - print("{} {} {}".format(inst_i, start_i, from_branch)) - - if depth <= 0: - return candidates - # TODO better detect when the register gets dirty - cur_inst = file.get_inst(inst_i) - - addr_high = get_imm(cur_inst) - if (addr_high > 0x80C2) or (addr_high < 0x8000): - return candidates - - if get_op(cur_inst) != 15: - return candidates - - # set state based on previous instruction - # TODO cleanup - if start_i == 0 or from_branch: - prev_was_jump = False - prev_was_ret = False - prev_was_branch = False - prev_was_branch_f = False - prev_was_branch_f_likely = False - prev_was_branch_likely = False - prev_was_branch_always = False - prev_target = 0 - else: - prev_inst = file.get_inst(start_i - 1) - prev_op = get_op(prev_inst) - prev_was_jump = (prev_op == 2 or prev_op == 3) - prev_was_ret = (prev_op == 0 and get_func(prev_inst) == 8) - prev_was_branch = (prev_op == 4 or prev_op == 5 or prev_op == 6 or prev_op == 7) or \ - (prev_op == 1 and (get_rt(prev_inst) == 0 or get_rt(prev_inst) == 1)) - prev_was_branch_f = ((prev_op == 16) or (prev_op == 17) or (prev_op == 18)) and (get_rs(prev_inst) == 8) and ((prev_inst & (1 << 17)) == 0) - prev_was_branch_f_likely = ((prev_op == 16) or (prev_op == 17) or (prev_op == 18)) and (get_rs(prev_inst) == 8) and ((prev_inst & (1 << 17)) != 0) - prev_was_branch_always = prev_op == 4 and get_rs(prev_inst) == get_rt(prev_inst) == 0 - prev_was_branch_likely = (prev_op == 20 or prev_op == 21 or prev_op == 22 or prev_op == 23) or \ - (prev_op == 1 and (get_rt(prev_inst) == 2 or get_rt(prev_inst) == 3)) - prev_target = get_signed_imm(prev_inst) * 4 + (file.vaddr + (start_i-1)*4) + 4 - - if prev_was_branch or prev_was_branch_f or prev_was_branch_likely or prev_was_branch_f_likely: - if inst_i == debug_i: - print("branch start") - branch_candidates = self.determine_load_ref_impl(file, inst_i, (prev_target - file.vaddr) // 4, depth, True, visited) - candidates += branch_candidates - if inst_i == debug_i: - print("branch end, found {}".format(branch_candidates)) - - - continue_branch = not (prev_was_branch_likely or prev_was_branch_f_likely) - - prev_was_jump = False - prev_was_ret = False - prev_was_branch = False - prev_was_branch_f = False - prev_was_branch_f_likely = False - prev_was_branch_likely = False - prev_was_branch_always = False - prev_target = 0 - - inst_read_addr = start_i if from_branch else start_i + 1 - - for i in range(1, depth + 1): - if not continue_branch: - break - - if inst_read_addr in visited: - break - - if inst_i == debug_i: - print(" {}".format(inst_read_addr)) - - if self.is_in_data(file.vaddr + inst_read_addr*4): - break - - next_inst = file.get_inst(inst_read_addr) - next_op = get_op(next_inst) - next_func = get_func(next_inst) - - # TODO consolidate - if (next_op == 9) and (get_rt(cur_inst) == get_rs(next_inst)): # lui + addiu (move pointer) - addr = (get_imm(cur_inst) << 16) + get_signed_imm(next_inst) - - # TODO workaround to avoid classifying loading constants as loading pointers - # This unfortunately causes it to not detect object addresses - if addr > 0x80000000: - var = self.get_variable_offset(addr) - - if var == None: - if self.auto_analysis: - if self.is_in_data_or_undef(addr): - self.add_variable(addr, 1) - var = (addr, 0) - else: - self.add_function(addr) - var = (addr, 0) - elif addr in self.functions: - var = (addr, 0) - - if var != None: - candidates.append((file.vaddr + inst_read_addr*4, var[0], var[1])) - - if get_rt(cur_inst) == get_rt(next_inst): - if prev_was_branch_likely or prev_was_branch_f_likely: - prev_was_branch_likely = False - prev_was_branch_f_likely = False - else: - prev_was_branch = False - prev_was_branch_f = False - prev_was_branch_always = False - continue_branch = False - - elif is_load(next_inst) and (get_rt(cur_inst) == get_rs(next_inst)): # lui + load (load pointer) - addr = (get_imm(cur_inst) << 16) + get_signed_imm(next_inst) - - # TODO workaround to avoid classifying loading constants as loading pointers - # This unfortunately causes it to not detect object addresses - if addr > 0x80000000: - var = self.get_variable_offset(addr) - - if var == None: - if self.auto_analysis: - if self.is_in_data_or_undef(addr): - self.add_variable(addr, 1) - var = (addr, 0) - else: - print("Warning: Pointer load location is in code 0x%08X @ 0x%08X, base=0x%08X" % (addr, file.vaddr + inst_read_addr*4, file.vaddr + inst_i*4)) - self.add_function(addr) - var = (addr, 0) - elif addr in self.functions: - var = (addr, 0) - - if var != None: - candidates.append((file.vaddr + inst_read_addr*4, var[0], var[1])) - - if get_rt(cur_inst) == get_rt(next_inst): - if prev_was_branch_likely or prev_was_branch_f_likely: - prev_was_branch_likely = False - prev_was_branch_f_likely = False - else: - prev_was_branch = False - prev_was_branch_f = False - prev_was_branch_always = False - continue_branch = False - - elif ((next_op >= 32) and (next_op < 48)) and (get_rt(cur_inst) == get_rt(next_inst)): # load that overwrites the reg () exclude fp loads - if prev_was_branch_likely or prev_was_branch_f_likely: - prev_was_branch_likely = False - prev_was_branch_f_likely = False - else: - prev_was_branch = False - prev_was_branch_f = False - prev_was_branch_always = False - continue_branch = False - - elif ((next_op == 8) or (next_op == 9) or (next_op == 15)) and \ - (get_rt(cur_inst) == get_rt(next_inst)): - if prev_was_branch_likely or prev_was_branch_f_likely: - prev_was_branch_likely = False - prev_was_branch_f_likely = False - else: - prev_was_branch = False - prev_was_branch_f = False - prev_was_branch_always = False - continue_branch = False - - # TODO more funcs? - elif next_op == 0 and \ - ((next_func == 0) or (next_func == 2) or (next_func == 3) or \ - (next_func == 24) or (next_func == 25) or (next_func == 26) or (next_func == 27) or \ - (next_func == 32) or (next_func == 33) or (next_func == 34) or (next_func == 35) or \ - (next_func == 36) or (next_func == 37) or (next_func == 38) or (next_func == 39) or \ - (next_func == 42) or (next_func == 43)) and \ - (get_rt(cur_inst) == get_rd(next_inst) and \ - (get_rt(cur_inst) != get_rt(next_inst)) and (get_rt(cur_inst) != get_rs(next_inst))): - if prev_was_branch_likely or prev_was_branch_f_likely: - prev_was_branch_likely = False - prev_was_branch_f_likely = False - else: - prev_was_branch = False - prev_was_branch_f = False - prev_was_branch_always = False - continue_branch = False - - visited.add(inst_read_addr) - - if prev_was_branch or prev_was_branch_f or prev_was_branch_likely or prev_was_branch_f_likely: - if inst_i == debug_i: - print("branch start") - branch_candidates = self.determine_load_ref_impl(file, inst_i, (prev_target - file.vaddr) // 4, depth-i, True, visited) - candidates += branch_candidates - if inst_i == debug_i: - print("branch end, found {}".format(branch_candidates)) - - # if this is a jump, mark to return after we evaluate the following instruction - if prev_was_jump or prev_was_ret: - continue_branch = False - - if prev_was_branch_always: - continue_branch = False - - prev_was_jump = (next_op == 2 or next_op == 3) - prev_was_ret = (next_op == 0 and get_func(next_inst) == 8) - prev_was_branch = (next_op == 4 or next_op == 5 or next_op == 6 or next_op == 7) or \ - (next_op == 1 and (get_rt(next_inst) == 0 or get_rt(next_inst) == 1)) - prev_was_branch_f = ((next_op == 16) or (next_op == 17) or (next_op == 18)) and (get_rs(next_inst) == 8) and ((next_inst & (1 << 17)) == 0) - prev_was_branch_f_likely = ((next_op == 16) or (next_op == 17) or (next_op == 18)) and (get_rs(next_inst) == 8) and ((next_inst & (1 << 17)) != 0) - prev_was_branch_always = next_op == 4 and get_rs(next_inst) == get_rt(next_inst) == 0 - prev_was_branch_likely = (next_op == 20 or next_op == 21 or next_op == 22 or next_op == 23) or \ - (next_op == 1 and (get_rt(next_inst) == 2 or get_rt(next_inst) == 3)) - prev_target = get_signed_imm(next_inst)*4 + (file.vaddr + inst_read_addr*4) + 4 - - inst_read_addr += 1 - - return candidates - - def determine_load_ref(self, file, inst_i): - candidates = self.determine_load_ref_impl(file, inst_i, inst_i, 200) - if len(candidates) > 0: - first = candidates[0] # TODO multiple candidates - loadHighRefs[file.vaddr + inst_i*4] = (first[1], first[2]) - loadLowRefs[first[0]] = (first[1], first[2]) - for condidate in candidates[1:]: - loadLowRefs[condidate[0]] = (condidate[1], condidate[2]) - - def disassemble_inst(self, inst, addr, i, file): - if inst == 0: - return "nop" - - dis = "" - op_num = get_op(inst) - - if op_num == 0: - func = get_func(inst) - if func == 1: - cc = (inst & (7 << 18)) >> 18 - if (inst & (1 << 16)) == 0: - dis += "movf\t%s, %s, %d" % (regs[get_rd(inst)], regs[get_rs(inst)], cc) - else: - dis += "movt\t%s, %s, %d" % (regs[get_rd(inst)], regs[get_rs(inst)], cc) - else: - if func not in funcs: - dis += "func_error: %d" % func - else: - if func == 37 and get_rt(inst) == 0: # or with zero reg is move - return "move\t%s, %s" % (regs[get_rd(inst)], regs[get_rs(inst)]) - dis += "%s\t" % funcs[func] - if func == 0 or func == 2 or func == 3 or func == 56 or func == 59 or func == 60 or func == 63: # sll, srl, sra, dsll, dsra dsll32, dsra32 - dis += "%s, %s, %d" % (regs[get_rd(inst)], regs[get_rt(inst)], get_shift(inst)) - elif func == 4 or func == 6 or func == 7: # sllv, srlv, srav - dis += "%s, %s, %s" % (regs[get_rd(inst)], regs[get_rt(inst)], regs[get_rs(inst)]) - elif func == 8 or func == 9: # jr, jalr - dis += "%s" % regs[get_rs(inst)] - elif func == 13: # break - dis += "0x%05X" % ((inst & (0xFFFFF << 6)) >> 16) # TODO the error code is 20 bits in the manual, why does gas want something else? - elif func == 16 or func == 18: # mfhi, mflo - dis += "%s" % regs[get_rd(inst)] - elif func == 17 or func == 19: # mthi, mtlo - dis += "%s" % regs[get_rs(inst)] - elif func == 24 or func == 25 or func == 28 or func == 29: # mult, multu, dmult, dmultu - dis += "%s, %s" % (regs[get_rs(inst)], regs[get_rt(inst)]) - elif func == 26 or func == 27 or func == 30 or func == 31: # div, divu, ddiv, ddivu - dis += "$zero, %s, %s" % (regs[get_rs(inst)], regs[get_rt(inst)]) # TODO why does this need $zero for gas to not think it's a macro? - elif func == 34 and get_rs(inst) == 0: # sub with $zero is neg - dis = "neg\t%s, %s" % (regs[get_rd(inst)], regs[get_rt(inst)]) - elif func == 35 and get_rs(inst) == 0: # subu with $zero is negu - dis = "negu\t%s, %s" % (regs[get_rd(inst)], regs[get_rt(inst)]) - elif func == 20 or func == 22 or func == 23: # doubleword ops - dis += "%s, %s, %s" % (regs[get_rd(inst)], regs[get_rt(inst)], regs[get_rs(inst)]) - else: # add, sub, logical, etc. - dis += "%s, %s, %s" % (regs[get_rd(inst)], regs[get_rs(inst)], regs[get_rt(inst)]) - # TODO traps - - elif op_num == 1: - rt = get_rt(inst) - if rt not in branch1reg: - dis += "branch1reg_erro: %d" % rt - else: - # TODO traps - dis += "%s\t%s, %s" % (branch1reg[rt], regs[get_rs(inst)], self.make_label(get_signed_imm(inst), addr)) - - elif op_num == 16 or op_num == 17 or op_num == 18: - z = op_num - 16 - rs = get_rs(inst) - if rs == 0: - dis += "mfc%d\t%s, %s" % (z, regs[get_rt(inst)], float_reg(get_rd(inst)) if z != 0 else "$%d" % get_rd(inst)) - elif rs == 1: - dis += "dmfc%d\t%s, %s" % (z, regs[get_rt(inst)], float_reg(get_rd(inst)) if z != 0 else "$%d" % get_rd(inst)) - elif rs == 2: - dis += "cfc%d\t%s, %s" % (z, regs[get_rt(inst)], float_reg(get_rd(inst)) if z != 0 else "$%d" % get_rd(inst)) - elif rs == 4: - dis += "mtc%d\t%s, %s" % (z, regs[get_rt(inst)], float_reg(get_rd(inst)) if z != 0 else "$%d" % get_rd(inst)) - elif rs == 5: - dis += "dmtc%d\t%s, %s" % (z, regs[get_rt(inst)], float_reg(get_rd(inst)) if z != 0 else "$%d" % get_rd(inst)) - elif rs == 6: - dis += "ctc%d\t%s, %s" % (z, regs[get_rt(inst)], float_reg(get_rd(inst)) if z != 0 else "$%d" % get_rd(inst)) - elif rs == 8: - dis += "bc%d%s%s %s" % (z, "f" if ((inst & (1 << 16)) == 0) else "t", "" if ((inst & (1 << 17)) == 0) else "l", self.make_label(get_signed_imm(inst), addr)) - elif rs == 16 or rs == 17 or rs == 20 or rs == 21: - if z == 0: - func = get_func(inst) - if func == 1: - dis += "tlbr" - elif func == 2: - dis += "tlbwi" - elif func == 6: - dis += "tlbwr" - elif func == 8: - dis += "tlbp" - elif func == 24: - dis += "eret" - else: - # TODO deret? - dis += "cop0_error: %d" % func - elif z != 1: - dis += "cop_error: %d" % z - else: - if rs == 16: - f = "s" - elif rs == 17: - f = "d" - elif rs == 20: - f = "w" - elif rs == 21: - f = "l" - func = get_func(inst) - if func not in floats: - dis += "float_error: %d" % func - else: - dis += "%s.%s\t" % (floats[func], f) - if func == 0 or func == 1 or func == 2 or func == 3 or func == 18 or func == 19: # 3 op - dis += "%s, %s, %s" % (float_reg(get_fd(inst)), float_reg(get_fs(inst)), float_reg(get_ft(inst))) - elif (func == 4 or func == 5 or func == 6 or func == 7 or func == 8 or func == 9 or func == 10 or func == 11 or func == 12 - or func == 13 or func == 14 or func == 15 or func == 32 or func == 33 or func == 36 or func == 37): # 2 op - dis += "%s, %s" % (float_reg(get_fd(inst)), float_reg(get_fs(inst))) - elif func == 50 or func == 60 or func == 62: # c.eq, c.lt, c.le - dis += "%s, %s" % (float_reg(get_fs(inst)), float_reg(get_ft(inst))) - else: - dis += "coproc_error: %d" % rs - - elif op_num not in ops: - dis += "error: %d" % op_num - - else: - dis += "%s\t" % ops[op_num] - if op_num == 2 or op_num == 3: # j, jal - dis += "%s" % self.make_func(inst & 0x3FFFFFF, addr) - elif op_num == 4 or op_num == 5 or op_num == 20 or op_num == 21: # beq, bne, beql, bnel - if op_num == 4 and get_rs(inst) == get_rt(inst) == 0: # beq with both zero regs is a branch always (b %label) - dis = "b\t%s" % self.make_label(get_signed_imm(inst), addr) - else: - if get_rt(inst) == 0: # branchs comparing to 0 have a shorthand - dis = "%s\t" % ("beqz" if op_num == 4 else "bnez" if op_num == 5 else "beqzl" if op_num == 20 else "bnezl") - dis += "%s, %s" % (regs[get_rs(inst)], self.make_label(get_signed_imm(inst), addr)) - else: - dis += "%s, %s, %s" % (regs[get_rs(inst)], regs[get_rt(inst)], self.make_label(get_signed_imm(inst), addr)) - elif op_num == 6 or op_num == 7 or op_num == 22 or op_num == 23: # blez, bgtz, blezl, bgtzl - dis += "%s, %s" % (regs[get_rs(inst)], self.make_label(get_signed_imm(inst), addr)) - elif op_num == 8 or op_num == 9 or op_num == 10 or op_num == 11 or op_num == 24 or op_num == 25: # addi, addiu, slti, sltiu, daddi, daddiu - if op_num == 9 and get_rs(inst) == 0: # addiu with reg 0 is load immediate (li) - dis = "li\t%s, %#X" % (regs[get_rt(inst)], get_signed_imm(inst)) - elif op_num == 9 and addr in loadLowRefs: # addiu loading the lower half of a pointer - ref = loadLowRefs[addr] - dis += "%s, %s, %%lo(%s)" % (regs[get_rt(inst)], regs[get_rs(inst)], format_ref(self.make_load(ref[0]), ref[1])) - else: - dis += "%s, %s, %#X" % (regs[get_rt(inst)], regs[get_rs(inst)], get_signed_imm(inst)) - elif op_num == 12 or op_num == 13 or op_num == 14: # andi, ori, xori - dis += "%s, %s, %#X" % (regs[get_rt(inst)], regs[get_rs(inst)], get_imm(inst)) - elif op_num == 15: # lui - if not self.has_done_first_pass: - self.determine_load_ref(file, i) - if addr in loadHighRefs: # lui loading the higher half of a pointer - ref = loadHighRefs[addr] - dis += "%s, %%hi(%s)" % (regs[get_rt(inst)], format_ref(self.make_load(ref[0]), ref[1])) - else: - dis += "%s, 0x%04X" % (regs[get_rt(inst)], get_imm(inst)) - elif (op_num == 32 or op_num == 33 or op_num == 34 or op_num == 35 or op_num == 38 or op_num == 40 or op_num == 41 or - op_num == 42 or op_num == 42 or op_num == 43 or op_num == 46 or op_num == 55 or op_num == 63): # load/stores - if addr in loadLowRefs: # loading with immediate forming lower half of pointer - ref = loadLowRefs[addr] - dis += "%s, %%lo(%s)(%s)" % (regs[get_rt(inst)], format_ref(self.make_load(ref[0]), ref[1]), regs[get_rs(inst)]) - else: - dis += "%s, %#X(%s)" % (regs[get_rt(inst)], get_signed_imm(inst), regs[get_rs(inst)]) - elif op_num == 36 or op_num == 37: # lbu, lhu - if addr in loadLowRefs: # loading with immediate forming lower half of pointer - ref = loadLowRefs[addr] - dis += "%s, %%lo(%s)(%s)" % (regs[get_rt(inst)], format_ref(self.make_load(ref[0]), ref[1]), regs[get_rs(inst)]) - else: - dis += "%s, %#X(%s)" % (regs[get_rt(inst)], get_signed_imm(inst), regs[get_rs(inst)]) - elif (op_num == 49 or op_num == 50 or op_num == 53 or op_num == 54 or op_num == 57 or op_num == 58 or - op_num == 61 or op_num == 62): # load/store between co-processors - if addr in loadLowRefs: # loading with immediate forming lower half of pointer - ref = loadLowRefs[addr] - dis += "%s, %%lo(%s)(%s)" % (float_reg(get_rt(inst)), format_ref(self.make_load(ref[0]), ref[1]), regs[get_rs(inst)]) - else: - dis += "%s, %#X(%s)" % (float_reg(get_rt(inst)), get_signed_imm(inst), regs[get_rs(inst)]) - elif op_num == 47: # cache - if addr in loadLowRefs: # cache op with immediate forming lower half of pointer - ref = loadLowRefs[addr] - dis += "0x%02X, %%lo(%s)(%s)" % (get_rt(inst), format_ref(self.make_load(ref[0]), ref[1]), regs[get_rs(inst)]) - else: - dis += "0x%02X, %#X(%s)" % (get_rt(inst), get_signed_imm(inst), regs[get_rs(inst)]) - - return dis - - def generate_undefined(self, path): - self.first_pass() # find functions and variables - with open(path + "/undef.txt", 'w', newline='\n') as f: - for addr in sorted(self.vars): - if addr < 0x80000000: - continue # Don't print out symbols of dmadata files' vrom addresses. These will be defined in another file. - - is_in_bss, region = self.is_in_bss(addr) - if is_in_bss: - f.write("%s = %s_bss_start + 0x%08X;\n" % (self.make_load(addr), region[2], addr - region[0])) - elif not self.is_in_data(addr): - f.write("%s = 0x%08X;\n" % (self.make_load(addr), addr)) - -# TODO -a --analyze flag? Only when its set will new symbols be added, otherwise use only the supplied ones -if __name__ == "__main__": - parser = argparse.ArgumentParser() - parser.add_argument('-u', '--undefined', help='create linker script for undefined symbols', metavar='path') - parser.add_argument('-d', '--disassemble', help='disassemble supplied code files', metavar='path') - parser.add_argument('-l', '--files', help='list of files to disassemble', metavar='filename', action='append') - parser.add_argument('-f', '--functions', help='predefined functions', metavar='filename', action='append') - parser.add_argument('-o', '--objects', help='predefined code objects', metavar='filename', action='append') - parser.add_argument('-v', '--variables', help='predefined variables', metavar='filename', action='append') - parser.add_argument('-a', '--auto-analysis', help='automatically find pointers and functions', action='store_true', default=False) - args = parser.parse_args() - - for files_file in args.files: - with open(files_file, 'r') as f: - known_files = ast.literal_eval(f.read()) - for function_file in args.functions: - with open(function_file, 'r') as f: - known_funcs = ast.literal_eval(f.read()) - for object_file in args.objects: - with open(object_file, 'r') as f: - known_objects = ast.literal_eval(f.read()) - for var_file in args.variables: - with open(var_file, 'r') as f: - known_vars.update(ast.literal_eval(f.read())) - - dis = Disassembler() - dis.load_defaults() # TODO file loading code should go in here - - if args.auto_analysis: - dis.set_auto_analysis(True) - - if args.disassemble != None: - os.makedirs(args.disassemble, exist_ok=True) - os.makedirs(args.disassemble + "/boot", exist_ok=True) - os.makedirs(args.disassemble + "/code", exist_ok=True) - os.makedirs(args.disassemble + "/overlays", exist_ok=True) - dis.disassemble(args.disassemble) - if args.undefined != None: - os.makedirs(args.undefined, exist_ok=True) - dis.generate_undefined(args.undefined) - diff --git a/tools/disasm/disasm.py b/tools/disasm/disasm.py new file mode 100644 index 0000000000..3ca68261e4 --- /dev/null +++ b/tools/disasm/disasm.py @@ -0,0 +1,1529 @@ +#!/usr/bin/env python3 + +import ast, math, os, re, struct +from mips_isa import * + +ASM_OUT = "asm/" +DATA_OUT = "data/" + +MIPS_BRANCH_LIKELY_INSNS = [ + MIPS_INS_BEQL, MIPS_INS_BGEZALL, + MIPS_INS_BGEZL, MIPS_INS_BGTZL, + MIPS_INS_BLEZL, MIPS_INS_BLTZALL, + MIPS_INS_BLTZL, MIPS_INS_BNEL, + MIPS_INS_BC1TL, MIPS_INS_BC1FL, +] + +MIPS_BRANCH_INSNS = [ + *MIPS_BRANCH_LIKELY_INSNS, + MIPS_INS_BEQ, + MIPS_INS_BGEZ, MIPS_INS_BGEZAL, + MIPS_INS_BGTZ, + MIPS_INS_BNE, + MIPS_INS_BLTZ, MIPS_INS_BLTZAL, + MIPS_INS_BLEZ, + MIPS_INS_BC1T, MIPS_INS_BC1F, + + MIPS_INS_BEQZ, + MIPS_INS_BNEZ, + MIPS_INS_B, +] + +MIPS_JUMP_INSNS = [ + MIPS_INS_JAL, MIPS_INS_JALR, MIPS_INS_J, MIPS_INS_JR +] + +MIPS_FP_LOAD_INSNS = [ + MIPS_INS_LWC1, MIPS_INS_LDC1 +] + +MIPS_FP_STORE_INSNS = [ + MIPS_INS_SWC1, MIPS_INS_SDC1 +] + +MIPS_FP_LOAD_STORE_INSNS = [ + *MIPS_FP_LOAD_INSNS, *MIPS_FP_STORE_INSNS +] + +MIPS_STORE_INSNS = [ + MIPS_INS_SB, + MIPS_INS_SH, + MIPS_INS_SW, MIPS_INS_SWL, MIPS_INS_SWR, + MIPS_INS_SD, MIPS_INS_SDL, MIPS_INS_SDR, + MIPS_INS_SC, MIPS_INS_SCD, + *MIPS_FP_STORE_INSNS +] + +MIPS_LOAD_STORE_INSNS = [ + MIPS_INS_LB, MIPS_INS_LBU, + MIPS_INS_LH, MIPS_INS_LHU, + MIPS_INS_LW, MIPS_INS_LWL, MIPS_INS_LWR, MIPS_INS_LWU, + MIPS_INS_LD, MIPS_INS_LDL, MIPS_INS_LDR, + MIPS_INS_LL, MIPS_INS_LLD, + *MIPS_STORE_INSNS, + *MIPS_FP_LOAD_STORE_INSNS +] + +functions = set() # vram of functions +data_labels = set() # vram of data labels, TODO this + functions can merge into something more general eventually +branch_labels = set() # vram of branch labels via branch/jump instructions +jtbls = set() # vram of jump tables +jtbl_labels = set() # vram of branch labels via jtbls, higher output priority than regular branch labels +floats = set() # vram of floats +doubles = set() # vram of doubles +prospective_strings = set() # vram of possible strings +strings = set() # vram of confirmed strings +symbols = {} # lui/addiu pairs : {addr of %hi : full symbol} AND {addr of %lo : full symbol} , twice the space complexity but much less time complexity +constants = {} # lui/ori pairs : {addr of %hi : full constant} AND {addr of %lo : full constant} , twice the space complexity but much less time complexity +dwords = set() # doublewords +multiply_referenced_rodata = set() # rodata with more than 1 reference outside of the same function cannot be migrated + +files = set() # vram start of file + +vrom_variables = list() # (name,addr) + +functions_ast = None +variables_ast = None + +vars_cache = {} # (address: variable + addend) + +def proper_name(symbol, in_data=False, is_symbol=True): + # hacks + if symbol == 0x809C46F0: # ovl_En_Encount4 fake symbol at the very end of the data section + return variables_ast[0x809C46DC][0] + " + 0x14" + elif symbol == 0x80A09740: # boss_07 symbol with large addend folded into %lo + return variables_ast[0x80A09A60][0] + f" - 0x{0x80A09A60 - 0x80A09740:X}" + elif symbol == 0x80B80248: # bg_ikana_mirror symbol with large addend folded into %lo + return variables_ast[0x80B801A8][0] + f" + 0x{0x80B80248 - 0x80B801A8:X}" + elif symbol == 0x8084D2FC: # player symbol with very large addend folded into %lo, since we don't know the real symbol just use the first data symbol for now + return variables_ast[0x8085B9F0][0] + f" - 0x{0x8085B9F0 - 0x8084D2FC:X}" + elif symbol == 0x001ABAB0 or symbol == 0x001E3BB0: # OS_K0_TO_PHYSICAL on rspS2DEX text and data symbols + return variables_ast[symbol + 0x80000000][0] + " - 0x80000000" + elif symbol == 0x00AC0480: # do_action_static + 0x480, this is the only rom segment that has a constant offset folded into it so just hack it + return "_do_action_staticSegmentRomStart + 0x480" + + # real names + if symbol in functions and symbol in functions_ast.keys(): + return functions_ast[symbol][0] + elif symbol in variables_ast.keys(): + return variables_ast[symbol][0] + elif symbol in [addr for _,addr in vrom_variables]: + # prefer "start" vrom symbols + if symbol in [addr for name,addr in vrom_variables if "SegmentRomStart" in name]: + return [name for name,addr in vrom_variables if "SegmentRomStart" in name and addr == symbol][0] + else: + return [name for name,addr in vrom_variables if addr == symbol][0] + + # addends + if is_symbol and symbol in vars_cache.keys(): + return vars_cache[symbol] + + # generated names + if symbol in functions and not in_data: + return f"func_{symbol:08X}" + elif symbol in jtbl_labels: + return f"L{symbol:08X}" + elif symbol in jtbls: + return f"jtbl_{symbol:08X}" + else: + if is_symbol: + return f"D_{symbol:08X}" + else: + return f"0x{symbol:08X}" + +def lookup_name(symbol, word): + # hacks for vrom variables in data + if word in [addr for _,addr in vrom_variables]: + if word == 0: # no makerom segment start + return "0x00000000" + if symbol in [0x801AE4A0, # effect table + 0x801C2740, # object table + 0x801C2650, # elf_message table + 0x801C3CA0, # scene table + 0x801AEFD0, # actor table + 0x801D0B70, # kaleido table + 0x801D0BB0, # fbdemo table + 0x801BE4D4, # kankyo skybox table + 0x801BD910, # gamestate table + 0x801C2660 # scene textures table + ]: # data labels that are allowed to have vrom variables + return proper_name(word, is_symbol=False) + else: + return f"0x{word:08X}" + # hacks for variables with references to variables with addends (i.e. gSaveContext + 0x...) + if symbol in [0x800980C4, 0x801AE8F0]: # __osViNext and flg_set table + return proper_name(word, is_symbol=True) + return proper_name(word, is_symbol=False) + +def as_double(b): + return struct.unpack(">d", b)[0] + +def as_float(b): + return struct.unpack(">f", b)[0] + +def as_dword(b): + return struct.unpack(">Q", b)[0] + +def as_word(b): + return struct.unpack(">I", b)[0] + +def as_hword(b): + return struct.unpack(">H", b)[0] + +def as_double_list(b): + return [i[0] for i in struct.iter_unpack(">d", b)] + +def as_float_list(b): + return [i[0] for i in struct.iter_unpack(">f", b)] + +def as_dword_list(b): + return [i[0] for i in struct.iter_unpack(">Q", b)] + +def as_word_list(b): + return [i[0] for i in struct.iter_unpack(">I", b)] + +def as_hword_list(b): + return [h[0] for h in struct.iter_unpack(">H", b)] + +STR_INDENT = " " + +def try_decode_string(data_bytes, output_ends = True, force_ascii = False): + """ + Swiss Cheese + """ + hex_digits = "0123456789abcdefABCDEF" + result = "" + directive = "ascii" if force_ascii else "asciz" + + if 0x8C in data_bytes or 0x8D in data_bytes or 0x1B in data_bytes: + char = "" + index = None + if 0x8C in data_bytes: + char = "\\x8C" + index = data_bytes.index(0x8C) + elif 0x8D in data_bytes: + char = "\\x8D" + index = data_bytes.index(0x8D) + elif 0x1B in data_bytes: + char = "\\x1B" + index = data_bytes.index(0x1B) + else: + assert False , "???" + part1 = try_decode_string(data_bytes[0:index], output_ends=False) + part2 = try_decode_string(data_bytes[index+1:], output_ends=False) + if part2 != "": + result = part1 + (("\"\n" + STR_INDENT + ".ascii \"") if part2[0] in hex_digits and part1 != "" else "") + \ + char + (("\"\n" + STR_INDENT + ".asciz \"") if part2[0] in hex_digits else "") + part2 + if output_ends and part2[0] in hex_digits and part1 == "": + directive = "ascii" + else: + result = part1 + (("\"\n" + STR_INDENT + ".ascii \"") if part2[0] in hex_digits and part1 != "" else "") + char + "\"\n" + else: + result = data_bytes.decode("EUC-JP").replace("\n", "\\n").replace("\r", "\\r").replace("\t", "\\t").replace("\0", "") + + return (("." + directive + " \"") if output_ends else "") + result + ("\"" if output_ends else "") + +def reduce_float(flt_str, is_double=False): + def n_digits(str): + if "." not in str: + return 0 + return len(str.split(".")[1].strip()) + + def str_round(string, precision): + if "." not in string or precision < 0: + return string + int_part = string.split(".")[0] + frac_part = string.split(".")[1] + + while len(frac_part) > precision: + last_digit = int(frac_part[-1]) + frac_part = frac_part[:-1] + # round up & carry + if last_digit >= 5: + while len(frac_part) != 0: + last_digit = int(frac_part[-1]) + frac_part = frac_part[:-1] + if last_digit != 9: + # complete carry + last_digit += 1 + frac_part += repr(last_digit) + break + if len(frac_part) == 0: + int_part = repr(int(int_part) + 1) + frac_part = "0" + return int_part + "." + frac_part + + def to_binary(flt_str): + return as_dword(struct.pack(">d", float(flt_str))) if is_double else as_word(struct.pack(">f", float(flt_str))) + + exponent = "" + if "e" in flt_str: + exponent = "e" + flt_str.split("e")[1] + flt_str = flt_str.split("e")[0] + + original_binary = to_binary(flt_str + exponent) + precision = n_digits(flt_str) + + if precision == 0: + if exponent != "": + return flt_str + exponent + return flt_str + (".0" if not flt_str.endswith(".") else "0") + + while precision > 1: + precision -= 1 + old_str = flt_str + flt_str = str_round(flt_str, precision) + + if to_binary(flt_str + exponent) != original_binary: + flt_str = old_str + break + + if flt_str.endswith("."): + flt_str += "0" + + return flt_str + exponent + +def format_f64(d_dwd): + d = as_double(struct.pack(">Q", d_dwd)) + if math.isnan(d): + return f".long 0x{d_dwd:016X}" + return f".double {reduce_float(repr(d), is_double=True)}" + +def format_f32(f_wd): + # GNU AS isn't ieee compliant? + if f_wd in [0xB8E4AECD, 0xB8E4C3AA, 0x38D1B718]: + return f".word 0x{f_wd:08X}" + + if f_wd == 0x7F7FFFFF: # FLT_MAX + return ".float 3.4028235e+38" + + f = as_float(struct.pack(">I", f_wd)) + if math.isnan(f): + return f".word 0x{f_wd:08X}" + return f".float {reduce_float(repr(f))}" + +def find_symbols_in_text(data, rodata, vram, vram_rodata, data_regions, relocs): + if rodata is not None: + rodata_words = as_word_list(rodata) + + raw_insns = as_word_list(data) + + assert vram % 0x10 == 0 + + functions.add(vram) + files.add(vram) + + # lui trackers are saved at branches to be restored when the branch target is reached + saved_lui_trackers = {} # vram: tracker list + def save_tracker(restore_at, tracker): + if restore_at in saved_lui_trackers.keys(): + saved_lui_trackers[restore_at].update(tracker) + else: + saved_lui_trackers.update({restore_at: tracker}) + + lui_tracker = {} # register : (addr, immediate) + + prospective_jtbls = set() + + func_branch_labels = set() + func_jtbl_labels = set() + individual_jtbl_labels = {} + + clobber_later = {} # addr : reg + + delay_slot = False + delayed_insn = None + next_jtbl_jr = 0 + + def clobber_conditionally(insn): + # Don't clobber immediately if in a branch likely's delay slot as it only runs if the branch is taken, + # instead clobber at the branch target. + # This may appear suspicious at first since something could have set a good register in another code path, + # however that does not make sense since all code paths must resolve a valid symbol, so if one code path clobbers, + # that means no code path produces a valid symbol at he convergent code, unless the convergent code provides all the + # new registers. + + # assert insn.value_forname(insn.fields[0]) is not None + # print(f"insn: {insn.mnemonic}, rt: {insn.rt}, first: {insn.value_forname(insn.fields[0])}") + # assert insn.id not in [MIPS_INS_ORI, MIPS_INS_ADDIU, *MIPS_LOAD_STORE_INSNS] or insn.rt == insn.value_forname(insn.fields[0]) + + if delay_slot and delayed_insn is not None and delayed_insn.id in MIPS_BRANCH_LIKELY_INSNS: + clobber_later.update({delayed_insn.offset : insn.value_forname(insn.fields[0])}) + else: + lui_tracker.pop(insn.value_forname(insn.fields[0]), None) + + for region in data_regions: + assert region[1] != 0 + functions.add(region[1]) + if region[1] % 0x10 == 0: + files.add(region[1]) + + if relocs is not None: + """ + Relocation info is our friend. Get symbols via relocations first. + """ + prev_hi = None + hi_vram = -1 + for reloc in relocs: + insn = decode_insn(raw_insns[reloc[2]//4], vram + reloc[2]) + + if reloc[1] == 2: # R_MIPS_32 + assert False , "R_MIPS_32 in .text section?" + elif reloc[1] == 4: # R_MIPS_26 + """ + Relocated jump targets give us functions in this section + """ + assert insn.id == MIPS_INS_JAL , f"R_MIPS_26 applied to {insn.mnemonic} when it should be JAL" + functions.add(insn.target) + elif reloc[1] == 5: # R_MIPS_HI16 + """ + Relocated %hi gives us %hi values to match with associated %lo + """ + assert insn.id == MIPS_INS_LUI , f"R_MIPS_HI16 applied to {insn.mnemonic} when it should be LUI" + prev_hi = insn.imm + hi_vram = vram + reloc[2] + elif reloc[1] == 6: # R_MIPS_LO16 + """ + Relocated %lo + a %hi to match with gives us relocated symbols in data sections + """ + assert insn.id == MIPS_INS_ADDIU or insn.id in MIPS_LOAD_STORE_INSNS , f"R_MIPS_HI16 applied to {insn.mnemonic} when it should be ADDIU or a load/store" + symbol_value = (prev_hi << 0x10) + insn.imm + symbols.update({hi_vram : symbol_value}) + symbols.update({vram + reloc[2] : symbol_value}) + else: + assert False , "Invalid relocation type encountered" + + for i,raw_insn in enumerate(raw_insns,0): + i *= 4 + vaddr = vram + i + insn = decode_insn(raw_insn, vaddr) + + if insn.id == MIPS_INS_JR and insn.rs != MIPS_REG_RA: + # It's hard to find when two jump tables next to each other end, so do a naive first pass + # to try and find as many jump tables as possible. + # Luckily IDO has a very homogeneous output for jump tables for which it is very unlikely + # that other instructions will break up: + # lui $at, %hi(jtbl) + # addu $at, $at, $reg + # lw $reg, %lo(jtbl)($at) + # jr $reg + insn_m1 = decode_insn(raw_insns[i//4 - 1], vaddr - 0x4) + insn_m2 = decode_insn(raw_insns[i//4 - 2], vaddr - 0x8) + insn_m3 = decode_insn(raw_insns[i//4 - 3], vaddr - 0xC) + + if insn_m1.id == MIPS_INS_LW and insn_m2.id == MIPS_INS_ADDU and insn_m3.id == MIPS_INS_LUI: + prospective_jtbls.add((insn_m3.imm << 0x10) + insn_m1.imm) + + for i,raw_insn in enumerate(raw_insns,0): + i *= 4 + vaddr = vram + i + insn = decode_insn(raw_insn, vaddr) + + # sometimes there's data embedded in .text in handwritten asm files that don't respect section contents + in_data = False + for region in data_regions: + if vaddr in range(region[0], region[1], 4): + in_data = True + break + if in_data: + continue + + if vaddr in functions: + # add func branch labels to all branch labels + branch_labels.update(func_branch_labels) + func_branch_labels.clear() + # add func jtbl labels to all jtbl labels + jtbl_labels.update(func_jtbl_labels) + func_jtbl_labels.clear() + # clear individual jtbl labels + individual_jtbl_labels.clear() + # destroy lui tracking state + lui_tracker.clear() + saved_lui_trackers.clear() + else: + # restore lui tracking state if previously saved + lui_tracker.update(saved_lui_trackers.pop(vaddr, {})) + + # register clobbering in branch likely delay slots + cl = clobber_later.pop(vaddr, None) + if cl is not None: + lui_tracker.pop(cl, None) + + if insn.id in MIPS_BRANCH_INSNS: + func_branch_labels.add(insn.offset) + delayed_insn = insn + elif insn.id == MIPS_INS_ERET: + functions.add(vaddr + 4) + elif insn.id in MIPS_JUMP_INSNS: + if insn.id == MIPS_INS_JAL: + # mark function at target + functions.add(insn.target) + elif insn.id == MIPS_INS_J: + # mark label at target + func_branch_labels.add(insn.target) + elif insn.id == MIPS_INS_JR: + # check if anything branches past it in either branch or jtbl labels + if vaddr >= max(func_branch_labels, default=0) and vaddr >= max(func_jtbl_labels, default=0): # vaddr being largest in list means nothing branches past here + # mark next function after delay slot and after any nop padding if present + if len(raw_insns) > i//4 + 2: + n_padding = 0 + end = False + while (raw_insns[i//4 + 2 + n_padding] == 0): + n_padding += 1 + if len(raw_insns) <= i//4 + 2 + n_padding: + end = True + break + if not end: + if n_padding > 0: + assert (vaddr + 8 + n_padding * 4) % 0x10 == 0 , f"padding to non-0x10 alignment?, 0x{vaddr + 8 + n_padding * 4:08X}" + files.add(vaddr + 8 + n_padding * 4) + functions.add(vaddr + 8 + n_padding * 4) + delayed_insn = insn + elif insn.id == MIPS_INS_LUI: + """ + Process LUI instruction + + All symbol loading involves LUI, and tracking how %hi values loaded via LUI instructions propagate + through a function is key to identifying symbol references + """ + # add lui to tracker + if delay_slot and delayed_insn is not None and delayed_insn.id in MIPS_BRANCH_LIKELY_INSNS: + # for branch likelies, the current tracker does not update but the lui is saved to be tracked at the branch target + save_tracker(delayed_insn.offset, {insn.rt : (vaddr, insn.imm)}) + else: + lui_tracker.update({insn.rt : (vaddr, insn.imm)}) + elif insn.id == MIPS_INS_ADDIU or insn.id in MIPS_LOAD_STORE_INSNS: + # try match with tracked lui and mark symbol + hi_vram, imm_value = lui_tracker.get(insn.rs if insn.id == MIPS_INS_ADDIU else insn.base, (None, None)) + # if a match was found, validate and record the symbol, TODO improve validation + if hi_vram != None and ((((imm_value >> 0x8) & 0xF) != 0 and imm_value < 0x1000) or \ + (imm_value >= 0x8000 and imm_value < 0x80D0) or \ + (imm_value >= 0xA400 and imm_value < 0xA480) or (imm_value < 0x0400 and insn.id == MIPS_INS_ADDIU)): + lo_vram = vaddr + symbol_value = (imm_value << 0x10) + insn.imm + symbols.update({hi_vram : symbol_value}) + symbols.update({lo_vram : symbol_value}) + if insn.id == MIPS_INS_LW: + # try find jr within the same block + cur_idx = i//4 + lookahead_insn = decode_insn(raw_insns[cur_idx], vram + cur_idx * 4) # TODO fix vaddr here + # still in same block unless one of these instructions are found + while lookahead_insn.id not in [*MIPS_BRANCH_INSNS, MIPS_INS_JAL, MIPS_INS_JALR, MIPS_INS_J]: + if lookahead_insn.id == MIPS_INS_JR: + if lookahead_insn.rs == (insn.ft if insn.id in MIPS_FP_LOAD_STORE_INSNS else insn.rt): + # read the jtbl and add targets to func_jtbl_labels + assert rodata is not None , "A rodata section should be present if functions use jump tables" + + next_jtbl_jr = vaddr + cur_idx * 4 + individual_jtbl_labels.update({next_jtbl_jr : set()}) + + offset = (symbol_value - vram_rodata)//4 + label = rodata_words[offset] + while label >= vram and label < vram + len(data) and \ + (vram_rodata + offset * 4 not in prospective_jtbls or vram_rodata + offset * 4 == symbol_value): + func_jtbl_labels.add(label) + individual_jtbl_labels[next_jtbl_jr].add(label) + offset += 1 + if offset >= len(rodata_words): + break + label = rodata_words[offset] + + jtbls.add(symbol_value) + # found a jr that matches, no need to keep searching + break + elif (insn.ft if insn.id in MIPS_FP_LOAD_STORE_INSNS else insn.rt) in [lookahead_insn.value_forname(field) for field in lookahead_insn.fields[1:]]: + # register clobbered, no need to keep searching + break + cur_idx += 1 + # found end before finding jr insn, not a jtbl + if cur_idx >= len(raw_insns): + break + lookahead_insn = decode_insn(raw_insns[cur_idx], vram + cur_idx * 4) # TODO fix vaddr here + elif insn.id == MIPS_INS_LD: # doubleword loads + dwords.add(symbol_value) + elif insn.id in [MIPS_INS_LWC1, MIPS_INS_SWC1]: # float load/stores + # add float + floats.add(symbol_value) + elif insn.id in [MIPS_INS_LDC1, MIPS_INS_SDC1]: # double load/stores + # add double + doubles.add(symbol_value) + elif insn.id == MIPS_INS_ADDIU and vaddr % 4 == 0: # strings seem to only ever be 4-byte aligned + # add possible string + prospective_strings.add(symbol_value) + # clear lui tracking state if register is clobbered by the addiu/load instruction itself + # insn.rt == (insn.rs if insn.id == MIPS_INS_ADDIU else insn.base) and + if insn.id not in MIPS_STORE_INSNS and insn.id not in MIPS_FP_LOAD_INSNS: + clobber_conditionally(insn) + elif insn.id == MIPS_INS_ORI: + # try match with tracked lui and mark constant + hi_vram, imm_value = lui_tracker.get(insn.rs, (None, None)) + if hi_vram != None: # found match + lo_vram = vaddr + const_value = (imm_value << 0x10) | insn.imm + constants.update({hi_vram : const_value}) + constants.update({lo_vram : const_value}) + # clear lui tracking state if register is clobbered by the ori instruction itself + # insn.rt == insn.rs or + if insn.rt in lui_tracker.keys(): + clobber_conditionally(insn) + else: + # clear lui tracking if register is clobbered by something unrelated + if insn.id == MIPS_INS_ADDU and insn.rs in lui_tracker.keys() and (insn.rd == insn.rs): + # array accesses optimisation: + # lui reg, %hi(symbol) + # addu reg, reg, idx + # lw reg, %lo(symbol)(reg) + # instead of clobbering, keep it if the second operand is also the first + # if the output is not currently tracked it will behave as intended anyway + pass + # insns listed either write to fprs/cop0 or don't write to any + elif insn.id not in [MIPS_INS_MTC0, MIPS_INS_MTC1, MIPS_INS_DMTC1, + MIPS_INS_MULT, MIPS_INS_MULTU, MIPS_INS_DMULT, MIPS_INS_DMULTU, + MIPS_INS_DIV, MIPS_INS_DIVU, MIPS_INS_DDIV, MIPS_INS_DDIVU, + MIPS_INS_MTHI, MIPS_INS_MTLO, + MIPS_INS_CTC1, + MIPS_INS_NOP, + MIPS_INS_BREAK, + MIPS_INS_TLBP, MIPS_INS_TLBR, MIPS_INS_TLBWI, + MIPS_INS_MOV_S, MIPS_INS_MOV_D, MIPS_INS_C_LT_S, MIPS_INS_C_LT_D, + MIPS_INS_DIV_S, MIPS_INS_MUL_S, MIPS_INS_TRUNC_W_S, MIPS_INS_CVT_S_W, + MIPS_INS_SUB_S, MIPS_INS_ADD_S]: + clobber_conditionally(insn) + + if delay_slot and delayed_insn is not None: + if delayed_insn.id == MIPS_INS_JAL or delayed_insn.id == MIPS_INS_JALR or \ + (delayed_insn.id == MIPS_INS_JR and delayed_insn.rs == MIPS_REG_RA): + # destroy lui tracking state + lui_tracker.clear() + elif delayed_insn.id == MIPS_INS_JR and vaddr == next_jtbl_jr + 4: + # save lui tracking state for each jtbl label + for label in individual_jtbl_labels[next_jtbl_jr]: + save_tracker(label, lui_tracker.copy()) + next_jtbl_jr = 0 + else: + # save lui tracking state + save_tracker(delayed_insn.offset, lui_tracker.copy()) + # destroy current lui tracking state for unconditional branches + if delayed_insn.id == MIPS_INS_B: + lui_tracker.clear() + + delayed_insn = None + + delay_slot = delayed_insn is not None + + branch_labels.update(func_branch_labels) + jtbl_labels.update(func_jtbl_labels) + +def find_symbols_in_data(data, vram, end, relocs): + + # read relocations for symbols + if relocs is not None: + for reloc in relocs: + if reloc[1] == 2: # R_MIPS_32 + data_labels.add(as_word(data[reloc[2] : reloc[2] + 4])) + elif reloc[1] == 4: # R_MIPS_26 + assert False , "R_MIPS_26 in .data section?" + elif reloc[1] == 5: # R_MIPS_HI16 + assert False , "R_MIPS_HI16 in .data section?" + elif reloc[1] == 6: # R_MIPS_LO16 + assert False , "R_MIPS_LO16 in .data section?" + else: + assert False , "Invalid relocation type encountered" + + # TODO more + +# matches several codepoint regions of EUC-JP +strings_regex = re.compile(rb'^(?:[\x00\x1A\x1B\n\t\x20-\x7E\x8C\x8D]|\x30[\x00-\xFF]|[\x4E-\x9F][\x00-\xFF]|[\xA4\xA5\xBB][\xA1-\xF6]|[\xA1-\xA3\xB0-\xBF\xC0-\xCF][\xA1-\xFE]|\xFF[\x00-\xEF])+$') + +def find_symbols_in_rodata(data, vram, end, relocs, segment): + # read relocations for symbols + if relocs is not None: + for reloc in relocs: + if reloc[1] == 2: # R_MIPS_32 + data_labels.add(as_word(data[reloc[2] : reloc[2] + 4])) + elif reloc[1] == 4: # R_MIPS_26 + assert False , "R_MIPS_26 in .rodata section?" + elif reloc[1] == 5: # R_MIPS_HI16 + assert False , "R_MIPS_HI16 in .rodata section?" + elif reloc[1] == 6: # R_MIPS_LO16 + assert False , "R_MIPS_LO16 in .rodata section?" + else: + assert False , "Invalid relocation type encountered" + + section_symbols = set([sym for sym in symbols.values() if sym >= vram and sym < end]) + section_symbols.add(vram) + section_symbols.update(set([sym for sym in data_labels if sym >= vram and sym < end])) + # TODO temp hack, move + for data_file_st in [sym for sym in segment[4].keys() if sym >= vram and sym < end]: + section_symbols.add(data_file_st) + + rodata_starts = [addr for addr,name in segment[4].items() if addr >= vram and addr < end] + section_symbols.update(set(rodata_starts)) + + section_symbols = list(section_symbols) + + section_symbols.sort() + + section_late_rodata = [sym for sym in section_symbols if sym in floats or sym in doubles or sym in jtbls] + + # string finding is best done per-file as the late_rodata sections are not merged per-segment, so you get stripes of + # rodata - late_rodata -(file boundary)- rodata - late_rodata -(file boundary)- etc. + + # all rodata file starts + for fi,rodata_start in enumerate(rodata_starts,0): + next_rodata_start = rodata_starts[fi + 1] if fi < len(rodata_starts) - 1 else end + + # symbols in this file + file_symbols = [sym for sym in section_symbols if sym >= rodata_start and sym < next_rodata_start] + + # the first (minimum st_value) symbol in section_late_rodata in this file is the start of late_rodata + late_rodata_start = min([sym for sym in file_symbols if sym in section_late_rodata], default=next_rodata_start) + + for i,symbol in enumerate(file_symbols,0): + next_symbol = file_symbols[i + 1] if i < len(file_symbols) - 1 else next_rodata_start + + # not late_rodata + if symbol >= late_rodata_start: + break + else: + if symbol in dwords or symbol % 4 != 0: + continue + + data_offset = symbol - vram + data_size = next_symbol - symbol + string_data = data[data_offset:data_offset+data_size] + + if len(string_data) > 0 and string_data[0] == 0: + # empty strings that are auto-detected are dubious + continue + + # charset validation + if strings_regex.match(string_data) != None: + k = 0 + done = False + for j,b in enumerate(string_data,0): + if b == 0 and (j + 1 >= len(string_data) or string_data[j + 1] != 0): + # try: + # decoded = try_decode_string(string_data[k:string_data.index(0)]) + # except UnicodeDecodeError: + # # not a string, also suggests nothing past here is a string either + # done = True + # if done: + # break + data_labels.add(symbol + k) + strings.add(symbol + k) + data_labels.add(symbol + j + 1) + k = j + 1 + + # TODO more + +def asm_header(section_name): + return f""".include "macro.inc" + +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 # allow use of 64-bit general purpose registers + +.section {section_name} + +.balign 16 +""" + +def disassemble_text(data, vram, data_regions, segment): + result = asm_header(".text") + raw_insns = as_word_list(data) + + cur_file = "" + + segment_dirname = ("" if segment[2] != "overlay" else "overlays/") + segment[0] + + delayed_insn = None + delay_slot = False + + for i,raw_insn in enumerate(raw_insns,0): + i *= 4 + vaddr = vram + i + insn = decode_insn(raw_insns[i//4], vaddr) + mnemonic = insn.mnemonic + op_str = insn.op_str + + if vaddr in segment[4].keys(): + if cur_file != "": + os.makedirs(f"{ASM_OUT}/{segment_dirname}/", exist_ok=True) + with open(f"{ASM_OUT}/{segment_dirname}/{cur_file}.{section[2]}.s", "w") as outfile: + outfile.write(result) + result = asm_header(".text") + cur_file = segment[4][vaddr] + if cur_file == "": + cur_file = f"{segment[0]}_{vaddr:08X}" + + if cur_file == "[PADDING]": # workaround for assumed linker bug + continue + + # DATA EMBEDDED IN TEXT + in_data = False + for region in data_regions: + if vaddr in range(region[0], region[1], 4): + in_data = True + break + if in_data: + if vaddr in functions: # TODO not really a function if it falls in a data region... + result += f"\nglabel {proper_name(vaddr, True)}\n" + result += f"/* {i:06X} {vaddr:08X} {raw_insn:08X} */ .word 0x{raw_insn:08X}\n" + continue + + # LABELS + if vaddr in functions: + result += f"\nglabel {proper_name(vaddr)}\n" + if vaddr in jtbl_labels: + result += f"glabel L{vaddr:08X}\n" + if vaddr in branch_labels: + result += f".L{vaddr:08X}:\n" + + # INSTRUCTIONS FORMATTING/CORRECTING + if insn.id in MIPS_BRANCH_INSNS: + op_str_parts = [] + for field in insn.fields: + if field == 'offset': + op_str_parts.append(f".L{insn.offset:08X}") + else: + op_str_parts.append(insn.format_field(field)) + op_str = ", ".join(op_str_parts) + delayed_insn = insn + elif insn.id in MIPS_JUMP_INSNS: + op_str_parts = [] + for field in insn.fields: + if field == 'target': + op_str_parts.append(proper_name(insn.target, is_symbol=True)) + else: + op_str_parts.append(insn.format_field(field)) + op_str = ", ".join(op_str_parts) + delayed_insn = insn + elif insn.id == MIPS_INS_LUI: + symbol_value = symbols.get(vaddr, None) + if symbol_value is not None: + op_str = f"{mips_gpr_names[insn.rt]}, %hi({proper_name(symbol_value)})" + else: + constant_value = constants.get(vaddr, None) + if constant_value is not None: + op_str = f"{mips_gpr_names[insn.rt]}, (0x{constant_value:08X} >> 16)" + elif insn.id == MIPS_INS_ADDIU or insn.id in MIPS_LOAD_STORE_INSNS: + symbol_value = symbols.get(vaddr, None) + if symbol_value is not None: + if insn.id == MIPS_INS_ADDIU: + op_str = f"{mips_gpr_names[insn.rt]}, {mips_gpr_names[insn.rs]}, %lo({proper_name(symbol_value)})" + else: + op_str = f"{mips_fpr_names[insn.ft] if insn.id in MIPS_FP_LOAD_STORE_INSNS else mips_gpr_names[insn.rt]}, %lo({proper_name(symbol_value)})({mips_gpr_names[insn.base]})" + elif insn.id == MIPS_INS_ORI: + constant_value = constants.get(vaddr, None) + if constant_value is not None: + op_str = f"{mips_gpr_names[insn.rt]}, {mips_gpr_names[insn.rs]}, (0x{constant_value:08X} & 0xFFFF)" + + if delay_slot: + mnemonic = " " + mnemonic + delayed_insn = None + delay_slot = False + if delayed_insn is not None: + delay_slot = True + + result += f"/* {i:06X} {vaddr:08X} {raw_insn:08X} */ {mnemonic:12}{op_str}\n" + + os.makedirs(f"{ASM_OUT}/{segment_dirname}/", exist_ok=True) + with open(f"{ASM_OUT}/{segment_dirname}/{cur_file}.{section[2]}.s", "w") as outfile: + outfile.write(result) + +def disassemble_data(data, vram, end, segment): + section_symbols = [sym for sym in symbols.values() if sym >= vram and sym < end] + section_symbols.append(vram) + section_symbols.extend([sym for sym in data_labels if sym >= vram and sym < end]) + section_symbols.extend([sym for sym in variables_ast.keys() if sym >= vram and sym < end]) + # TODO temp hack, move + section_symbols.extend([sym for sym in segment[4].keys() if sym >= vram and sym < end]) + + # remove symbols that are addends of other symbols + section_symbols = [sym for sym in section_symbols if " + 0x" not in proper_name(sym, True) and " - 0x" not in proper_name(sym, True)] + + section_symbols = list(set(section_symbols)) + + section_symbols.sort() + + segment_dirname = ("" if segment[2] != "overlay" else "overlays/") + segment[0] + + result = asm_header(".data") + cur_file = "" + + for i,symbol in enumerate(section_symbols,0): + next_symbol = section_symbols[i + 1] if i < len(section_symbols) - 1 else end + + # assert symbol % 4 == 0 , f"Unaligned .data symbol 0x{symbol:08X}" + + if symbol in segment[4].keys(): + if cur_file != "": + os.makedirs(f"{DATA_OUT}/{segment_dirname}/", exist_ok=True) + with open(f"{DATA_OUT}/{segment_dirname}/{cur_file}.data.s", "w") as outfile: + outfile.write(result) + result = asm_header(".data") + cur_file = segment[4][symbol] + if cur_file == "": + cur_file = f"{segment[0]}_{symbol:08X}" + + data_offset = symbol - vram + data_size = next_symbol - symbol + + if data_offset == len(data): + continue + + result += f"\nglabel {proper_name(symbol, True)}\n" + + if symbol % 8 == 0 and data_size % 8 == 0 and symbol in doubles: + result += "\n".join(\ + [f"/* {data_offset + j * 8:06X} {symbol + j * 8:08X} {dbl_dwd:016X} */ {format_f64(dbl_dwd)}" for j,dbl_dwd in enumerate(as_dword_list(data[data_offset:data_offset + data_size]), 0)]) + "\n" + elif symbol % 8 == 0 and data_size % 8 == 0 and symbol in dwords: + result += "\n".join(\ + [f"/* {data_offset + j * 8:06X} {symbol + j * 8:08X} */ .quad 0x{dword:08X}" for j,dword in enumerate(as_dword_list(data[data_offset:data_offset + data_size]), 0)]) + "\n" + elif symbol % 4 == 0 and data_size % 4 == 0: + if symbol in floats: + result += "\n".join(\ + [f"/* {data_offset + j * 4:06X} {symbol + j * 4:08X} {flt_wd:08X} */ {format_f32(flt_wd)}" for j,flt_wd in enumerate(as_word_list(data[data_offset:data_offset + data_size]), 0)]) + "\n" + else: + result += "\n".join(\ + [f"/* {data_offset + j * 4:06X} {symbol + j * 4:08X} */ .word {lookup_name(symbol, word)}" for j,word in enumerate(as_word_list(data[data_offset:data_offset + data_size]), 0)]) + "\n" + elif symbol % 2 == 0 and data_size % 2 == 0: + result += "\n".join(\ + [f"/* {data_offset + j * 2:06X} {symbol + j * 2:08X} */ .half 0x{hword:04X}" for j,hword in enumerate(as_hword_list(data[data_offset:data_offset + data_size]), 0)]) + "\n" + else: + result += "\n".join(\ + [f"/* {data_offset + j:06X} {symbol + j:08X} */ .byte 0x{byte:02X}" for j,byte in enumerate(data[data_offset:data_offset + data_size], 0)]) + "\n" + + os.makedirs(f"{DATA_OUT}/{segment[0]}/", exist_ok=True) + with open(f"{DATA_OUT}/{segment[0]}/{cur_file}.data.s", "w") as outfile: + outfile.write(result) + +def disassemble_rodata(data, vram, end, segment): + section_symbols = [sym for sym in symbols.values() if sym >= vram and sym < end] + section_symbols.append(vram) + section_symbols.extend([sym for sym in data_labels if sym >= vram and sym < end]) + section_symbols.extend([sym for sym in variables_ast.keys() if sym >= vram and sym < end]) + # TODO temp hack, move + section_symbols.extend([sym for sym in segment[4].keys() if sym >= vram and sym < end]) + + # remove symbols that are addends of other symbols + section_symbols = [sym for sym in section_symbols if " + 0x" not in proper_name(sym, True) and " - 0x" not in proper_name(sym, True)] + + section_symbols = list(set(section_symbols)) + + section_symbols.sort() + + segment_dirname = ("" if segment[2] != "overlay" else "overlays/") + segment[0] + + result = asm_header(".rodata") + cur_file = "" + + force_ascii_str = False # hack for non-null-terminated strings in .data + + for i,symbol in enumerate(section_symbols,0): + next_symbol = section_symbols[i + 1] if i < len(section_symbols) - 1 else end + + # assert symbol % 4 == 0 , f"Unaligned .data symbol 0x{symbol:08X}" + + if symbol in segment[4].keys(): + if cur_file != "": + os.makedirs(f"{DATA_OUT}/{segment_dirname}/", exist_ok=True) + with open(f"{DATA_OUT}/{segment_dirname}/{cur_file}.rodata.s", "w") as outfile: + outfile.write(result) + result = asm_header(".rodata") + cur_file = segment[4][symbol] + if cur_file == "": + cur_file = f"{segment[0]}_{symbol:08X}" + + data_offset = symbol - vram + data_size = next_symbol - symbol + + if data_offset == len(data): + continue + + force_ascii_str = symbol in [0x801D0708] + + result += f"\nglabel {proper_name(symbol, True)}\n" + + if symbol in strings: + string_data = data[data_offset:data_offset+data_size] + string_data = string_data[:string_data.index(0)] + assert all([b != 0 for b in string_data[:-1]]) , f"{symbol:08X} , {data_size:X} , {string_data}" # ensure strings don't have a null char midway through + result += f"/* {data_offset:06X} {symbol:08X} */ {try_decode_string(string_data, force_ascii=force_ascii_str)}\n{STR_INDENT}.balign 4\n" + elif symbol % 8 == 0 and data_size % 8 == 0 and symbol in doubles: + result += "\n".join(\ + [f"/* {data_offset + j * 8:06X} {symbol + j * 8:08X} {dbl_dwd:016X} */ {format_f64(dbl_dwd)}" for j,dbl_dwd in enumerate(as_dword_list(data[data_offset:data_offset + data_size]), 0)]) + "\n" + elif symbol % 4 == 0 and data_size % 4 == 0: + if symbol in floats: + result += "\n".join(\ + [f"/* {data_offset + j * 4:06X} {symbol + j * 4:08X} {flt_wd:08X} */ {format_f32(flt_wd)}" for j,flt_wd in enumerate(as_word_list(data[data_offset:data_offset + data_size]), 0)]) + "\n" + else: + result += "\n".join(\ + [f"/* {data_offset + j * 4:06X} {symbol + j * 4:08X} */ .word {lookup_name(symbol, word)}" for j,word in enumerate(as_word_list(data[data_offset:data_offset + data_size]), 0)]) + "\n" + elif symbol % 2 == 0 and data_size % 2 == 0: + result += "\n".join(\ + [f"/* {data_offset + j * 2:06X} {symbol + j * 2:08X} */ .half 0x{hword:04X}" for j,hword in enumerate(as_hword_list(data[data_offset:data_offset + data_size]), 0)]) + "\n" + else: + result += "\n".join(\ + [f"/* {data_offset + j:06X} {symbol + j:08X} */ .byte 0x{byte:02X}" for j,byte in enumerate(data[data_offset:data_offset + data_size], 0)]) + "\n" + + os.makedirs(f"{DATA_OUT}/{segment[0]}/", exist_ok=True) + with open(f"{DATA_OUT}/{segment[0]}/{cur_file}.rodata.s", "w") as outfile: + outfile.write(result) + +def disassemble_bss(vram, end, segment): + section_symbols = [sym for sym in symbols.values() if sym >= vram and sym < end] + section_symbols.append(vram) + section_symbols.extend([sym for sym in data_labels if sym >= vram and sym < end]) + section_symbols.extend([sym for sym in variables_ast.keys() if sym >= vram and sym < end]) + # TODO temp hack, move + section_symbols.extend([sym for sym in segment[4].keys() if sym >= vram and sym < end]) + + # remove symbols that are addends of other symbols + section_symbols = [sym for sym in section_symbols if " + 0x" not in proper_name(sym, True) and " - 0x" not in proper_name(sym, True)] + + section_symbols = list(set(section_symbols)) + + section_symbols.sort() + + # ("" if segment[2] != "overlay" else "overlays/" + segment_dirname = segment[0] + + result = asm_header(".bss") + cur_file = "" + + for i,symbol in enumerate(section_symbols,0): + next_symbol = section_symbols[i + 1] if i < len(section_symbols) - 1 else end + + if symbol in segment[4].keys(): + if cur_file != "": + os.makedirs(f"{DATA_OUT}/{segment_dirname}/", exist_ok=True) + with open(f"{DATA_OUT}/{segment_dirname}/{cur_file}.bss.s", "w") as outfile: + outfile.write(result) + result = asm_header(".bss") + cur_file = segment[4][symbol] + if cur_file == "": + cur_file = f"{segment[0]}_{symbol:08X}" + + result += f"\nglabel {proper_name(symbol, True)}\n" + result += f"/* {symbol - vram:06X} {symbol:08X} */ .space 0x{next_symbol - symbol:X}\n" + + os.makedirs(f"{DATA_OUT}/{segment_dirname}/", exist_ok=True) + with open(f"{DATA_OUT}/{segment_dirname}/{cur_file}.bss.s", "w") as outfile: + outfile.write(result) + +def get_overlay_sections(vram, overlay): + header_loc = len(overlay) - as_word_list(overlay)[-1] + text_size, data_size, rodata_size, bss_size, n_relocs = as_word_list(overlay[header_loc:header_loc + 0x14]) + text_vram = vram + data_vram = vram + text_size + rodata_vram = data_vram + data_size + + bss_vram = vram + len(overlay) + bss_end_vram = bss_vram + bss_size + + reloc = as_word_list(overlay[header_loc + 0x14: header_loc + 0x14 + n_relocs * 4]) + reloc = [((rel >> 30) & ((1 << 2) - 1), (rel >> 24) & ((1 << 6) - 1), (rel) & ((1 << 24) - 1)) for rel in reloc] + + rel_text = [r for r in reloc if r[0] == 1] + rel_data = [r for r in reloc if r[0] == 2] + rel_rodata = [r for r in reloc if r[0] == 3] + rel_bss = [r for r in reloc if r[0] == 4] + + return [[text_vram, data_vram, 'text', None, overlay[0:text_size], rel_text], \ + [data_vram, rodata_vram, 'data', None, overlay[text_size:text_size+data_size], rel_data], \ + [rodata_vram, bss_vram, 'rodata', None, overlay[text_size+data_size:text_size+data_size+rodata_size], rel_rodata], \ + [bss_vram, bss_end_vram, 'bss', None, None, rel_bss], \ + [bss_end_vram, bss_end_vram, 'reloc', None, overlay[header_loc:], None]] + +# + +print("Setting Up") + +files_spec = None +with open("tools/disasm/files.txt", "r") as infile: + files_spec = ast.literal_eval(infile.read()) + +with open("tools/disasm/functions.txt", "r") as infile: + functions_ast = ast.literal_eval(infile.read()) + +with open("tools/disasm/variables.txt", "r") as infile: + variables_ast = ast.literal_eval(infile.read()) + +# Precompute variable addends for all variables, this uses a lot of memory but the lookups later are fast +for var in sorted(variables_ast.keys()): + for i in range(var, var + variables_ast[var][3], 1): + addend = i - var + assert addend >= 0 + vars_cache.update({i : f"{variables_ast[var][0]}" + (f" + 0x{addend:X}" if addend > 0 else "")}) + # also add to floats, doubles & strings + var_type = variables_ast[var][1] + + if var_type == "f64": + doubles.add(var) + elif var_type == "f32": + floats.add(var) + elif var_type == "char" and variables_ast[var][2].startswith("["): + strings.add(var) + +# Read in binary and relocation data for each segment +for segment in files_spec: + binary = None + with open(segment[1] + "/" + segment[0],"rb") as infile: + binary = bytes(infile.read()) + + if segment[2] == "overlay": + segment_start = list(segment[4])[0] # start addr of first file in segment + segment[3] = get_overlay_sections(segment_start, binary) + segment[4] = {} + for section in segment[3]: + segment[4].update({ section[0] : segment[0] }) + else: + segment_start = segment[3][0][0] # start addr of first section of segment's sections + # read section binary regions + for section in segment[3]: + if section[2] == 'bss': + continue + section.append(binary[section[0] - segment_start:section[1] - segment_start]) # section[4] + section.append(None) # section[5] + +print(f"Finding Symbols") + +# Find symbols for each segment +for segment in files_spec: + if segment[2] == 'makerom': + continue + + print(f"Finding symbols in {segment[0]}") + + # vram segment start + if segment[3][0][0] not in variables_ast: + variables_ast.update({segment[3][0][0] : (f"_{segment[0]}SegmentStart","u8","[]",0x1)}) + # vram segment end + if segment[3][-1][1] not in variables_ast: + variables_ast.update({segment[3][-1][1] : (f"_{segment[0]}SegmentEnd","u8","[]",0x1)}) + + for section in segment[3]: + if section[2] == 'text': + data_regions = [] + if section[3] is not None: + for override_region in section[3]: + if override_region[2] == 'data': + data_regions.append((override_region[0], override_region[1])) + # try find a rodata section + for find_section in segment[3]: + if find_section[2] == 'rodata' and find_section[1] != find_section[0]: + rodata_section = find_section + break + else: + rodata_section = None + find_symbols_in_text(section[4], rodata_section[4] if rodata_section is not None else None, + section[0], rodata_section[0] if rodata_section is not None else None, data_regions, section[5]) + elif section[2] == 'data': + find_symbols_in_data(section[4], section[0], section[1], section[5]) + elif section[2] == 'rodata': + find_symbols_in_rodata(section[4], section[0], section[1], section[5], segment) + elif section[2] == 'dmadata': + filenames = [] + with open("tools/disasm/dma_filenames.txt","r") as infile: + filenames = ast.literal_eval(infile.read()) + + dmadata = segment[3][0][4] + i = 0 + dmadata_entry = dmadata[i*0x10:(i+1)*0x10] + while any([word != 0 for word in as_word_list(dmadata_entry)]): + vrom_start,vrom_end,prom_start,prom_end = as_word_list(dmadata_entry) + # print(f"{vrom_start:08X},{vrom_end:08X},{prom_start:08X},{prom_end:08X} : {filenames[i]}") + vrom_variables.append(("_" + filenames[i] + "SegmentRomStart", vrom_start)) + vrom_variables.append(("_" + filenames[i] + "SegmentRomEnd", vrom_end)) + i += 1 + dmadata_entry = dmadata[i*0x10:(i+1)*0x10] + +print("Disassembling Segments") + +# Textual disassembly for each segment +for segment in files_spec: + if segment[2] == 'makerom': + os.makedirs(f"{ASM_OUT}/makerom/", exist_ok=True) + rom_header = segment[3][0][4] + ipl3 = segment[3][1][4] + entry = segment[3][2][4] + + pi_dom1_reg, clockrate, entrypoint, revision, \ + chksum1, chksum2, pad1, pad2, \ + rom_name, pad3, cart, cart_id, \ + region, version = struct.unpack(">IIIIIIII20sII2s1sB", rom_header) + + out = f"""/* + * The Legend of Zelda: Majora's Mask ROM header + */ + +.word 0x{pi_dom1_reg:08X} /* PI BSD Domain 1 register */ +.word 0x{clockrate:08X} /* Clockrate setting */ +.word 0x{entrypoint:08X} /* Entrypoint function (`entrypoint`) */ +.word 0x{revision:08X} /* Revision */ +.word 0x{chksum1:08X} /* Checksum 1 */ +.word 0x{chksum2:08X} /* Checksum 2 */ +.word 0x{pad1:08X} /* Unknown */ +.word 0x{pad2:08X} /* Unknown */ +.ascii "{rom_name.decode('ascii')}" /* Internal ROM name */ +.word 0x{pad3:08X} /* Unknown */ +.word 0x{cart:08X} /* Cartridge */ +.ascii "{cart_id.decode('ascii')}" /* Cartridge ID */ +.ascii "{region.decode('ascii')}" /* Region */ +.byte 0x{version:02X} /* Version */ +""" + with open(ASM_OUT + "/makerom/rom_header.s", "w") as outfile: + outfile.write(out) + + # TODO disassemble this eventually, low priority + out = f"{asm_header('.text')}\n.incbin \"baserom/makerom\", 0x40, 0xFC0\n" + + with open(ASM_OUT + "/makerom/ipl3.s", "w") as outfile: + outfile.write(out) + + # hack: add symbol relocations manually + entry_addr = 0x80080000 + + functions.add(entry_addr) + symbols.update({entry_addr + 0x00 : 0x80099500, + entry_addr + 0x04 : 0x80099500, + entry_addr + 0x20 : 0x80080060, + entry_addr + 0x24 : 0x80099EF0, + entry_addr + 0x28 : 0x80080060, + entry_addr + 0x30 : 0x80099EF0}) + branch_labels.add(entry_addr + 0xC) + + disassemble_text(entry, entry_addr, [], segment) + + # manually set boot bss size... + entry_asm = "" + with open(f"{ASM_OUT}/makerom/entry.reloc.s") as infile: # TODO why is this written out as .reloc.s + entry_asm = infile.read() + + entry_asm = entry_asm.replace("0x63b0", "%lo(_bootSegmentBssSize)") + with open(f"{ASM_OUT}/makerom/entry.s", "w") as outfile: + outfile.write(entry_asm) + + os.remove(f"{ASM_OUT}/makerom/entry.reloc.s") + + #out = f"{asm_header('.text')}\n.incbin \"baserom/makerom\", 0x1000, 0x60\n" + + #with open(ASM_OUT + "/makerom/entry.s", "w") as outfile: + # outfile.write(out) + + continue + elif segment[2] == 'dmadata': + os.makedirs(f"{ASM_OUT}/dmadata/", exist_ok=True) + out = f""".include "macro.inc" + +.macro DMA_TABLE_ENTRY segment + .4byte _\segment\()SegmentRomStart + .4byte _\segment\()SegmentRomEnd + .4byte _\segment\()SegmentRomStart + .4byte 0x00000000 +.endm + +.macro DMA_TABLE_ENTRY_UNSET segment + .4byte _\segment\()SegmentRomStart + .4byte _\segment\()SegmentRomEnd + .word 0xFFFFFFFF + .word 0xFFFFFFFF +.endm + +glabel {variables_ast[0x8009F8B0][0]} +""" + filenames = [] + with open("tools/disasm/dma_filenames.txt","r") as infile: + filenames = ast.literal_eval(infile.read()) + + dmadata = segment[3][0][4] + i = 0 + dmadata_entry = dmadata[i*0x10:(i+1)*0x10] + while any([word != 0 for word in as_word_list(dmadata_entry)]): + vrom_start,vrom_end,prom_start,prom_end = as_word_list(dmadata_entry) + if prom_start == 0xFFFFFFFF and prom_end == 0xFFFFFFFF: + out += f"DMA_TABLE_ENTRY_UNSET {filenames[i]}\n" + else: + out += f"DMA_TABLE_ENTRY {filenames[i]}\n" + i += 1 + dmadata_entry = dmadata[i*0x10:(i+1)*0x10] + + out += """ +.space 0x100 + +.section .bss + +.space 0x10 +""" + with open(ASM_OUT + "/dmadata/dmadata.s", "w") as outfile: + outfile.write(out) + continue + + for section in segment[3]: + if (section[0] == section[1] and section[2] != 'reloc') or (section[2] != 'bss' and len(section[4]) == 0): + continue + print(f"Disassembling {segment[0]} .{section[2]}") + if section[2] == 'text': + data_regions = [] + if section[3] is not None: + for override_region in section[3]: + if override_region[2] == 'data': + data_regions.append((override_region[0], override_region[1])) + + disassemble_text(section[4], section[0], data_regions, segment) + elif section[2] == 'data': + disassemble_data(section[4], section[0], section[1], segment) + elif section[2] == 'rodata': + disassemble_rodata(section[4], section[0], section[1], segment) + elif section[2] == 'bss': + disassemble_bss(section[0], section[1], segment) + elif section[2] == 'reloc': + words = as_word_list(section[4]) + + # ("" if segment[2] != "overlay" else "overlays/") + + segment_dirname = segment[0] + + result = asm_header(".rodata") + result += f"\nglabel {segment[0]}_Reloc\n" + + lines = [words[i*8:(i+1)*8] for i in range(0, (len(words) // 8) + 1)] + for line in [line for line in lines if len(line) != 0]: + result += f" .word {', '.join([f'0x{word:08X}' for word in line])}\n" + + os.makedirs(f"{DATA_OUT}/{segment_dirname}/", exist_ok=True) + with open(f"{DATA_OUT}/{segment_dirname}/{segment[0]}.reloc.s", "w") as outfile: + outfile.write(result) + +print("Splitting text and migrating rodata") + +func_regex = re.compile(r'\n\nglabel \S+\n') +rodata_symbols_regex = re.compile(r'(?<=\n)glabel (.+)(?=\n)') +asm_symbols_regex = re.compile(r'%(?:lo|hi)\((.+?)\)') + +def rodata_block_size(block): + def align(x, n): + while (x % n != 0): + x += 1 + return x + + accumulator = 0 + for part in block.split(' */ .'): + part = part.strip() + if part.startswith('# '): + continue + elif part.startswith('asciz '): + part = part[len('asciz '):] + string = part[1:-1].encode('utf-8', 'ignore').decode('unicode_escape') + accumulator += len(string.encode('euc-jp') + b'\x00') + elif part.startswith('ascii'): + part = part[len('ascii '):] + string = part[1:-1].encode('utf-8', 'ignore').decode('unicode_escape') + accumulator += len(string.encode('euc-jp')) + elif part.startswith('balign '): + part = part[len('balign '):] + accumulator = align(accumulator, int(part, 16 if part.startswith('0x') else 10)) + elif part.startswith('double '): + part = part[len('double '):] + accumulator = align(accumulator, 8) + accumulator += 8 * (part.count(',') + 1) + elif part.startswith('float '): + part = part[len('float '):] + accumulator = align(accumulator, 4) + accumulator += 4 * (part.count(',') + 1) + elif part.startswith('word '): + part = part[len('word '):] + accumulator = align(accumulator, 4) + accumulator += 4 * (part.count(',') + 1) + elif part.startswith('half '): + part = part[len('half '):] + accumulator = align(accumulator, 2) + accumulator += 2 * (part.count(',') + 1) + elif part.startswith('byte '): + part = part[len('byte '):] + accumulator += 1 * (part.count(',') + 1) + return accumulator + +def late_rodata_size(blocks): + return sum([rodata_block_size(block) for block in blocks]) + +def text_block_size(asm): + return 4*len([line for line in asm.split("\n") if line.startswith("/*")]) + +def rodata_syms(rodata): + return re.findall(rodata_symbols_regex, rodata) + +def rodata_blocks(rodata): + return ["glabel" + b for b in rodata.split("glabel")[1:]] + +def find_late_rodata_start(rodata): + """ + Returns the symbol that is the first late_rodata symbol, or None if there is no late_rodata + + Note this is approximate as const qualified floats/doubles end up in rdata and not late_rodata, + so there may be some overlap. This should not pose much of a problem however. + Also note that this method assumes the input rodata consists only of at most one block rodata and one block late_rodata, + that is that the file splits are correct. + """ + first = None + + for sym,body in rodata: + if sym.startswith("jtbl_") and ".word L" in body: + # jump tables are always late_rodata, so we can return early + # floats and doubles are very rarely not late_rodata, this is mostly seen in libultra, so we cannot return early for those + if first is not None: + return first + else: + return sym + elif (".float " in body or ".double " in body) and first is None: + # may be late_rodata, but we aren't sure yet + # it is confirmed either by reaching the end or by finding a jumptable, and it is proven wrong if something that is not late_rodata occurs after it + first = sym + elif (".asciz" in body or (".word " in body and ".float" not in body) or ".half " in body or ".byte " in body) and first is not None: + # reset first if something that is definitely not late_rodata is found + # word and not float is due to some floats needing to be output as words either due to being a specific NaN value, or GAS can't convert it properly + first = None + # May still be None at this point, that just means there is no late_rodata + return first + +# Split files and migrate rodata that should be migrated +for root,dirs,files in os.walk(ASM_OUT): + for f in files: + if "non_matchings" in root: + continue + asm_path = os.path.join(root,f) + rodata_path = asm_path.replace(ASM_OUT + "overlays/", DATA_OUT).replace(ASM_OUT, DATA_OUT).replace(".text.s", ".rodata.s") + + print(asm_path) + + asm = "" + with open(asm_path,"r") as infile: + asm = infile.read() + + rodata = "" + if os.path.exists(rodata_path): + # print(rodata_path) + with open(rodata_path, "r") as rodata_file: + rodata = rodata_file.read() + + rodata_info = list(zip(rodata_syms(rodata), rodata_blocks(rodata))) + + # populate rdata and late_rodata lists + first_late_rodata = find_late_rodata_start(rodata_info) + rdata_info = [] + late_rodata_info = [] + target = rdata_info # first populate rdata + for sym,block in rodata_info: + if sym == first_late_rodata: # now populate late_rodata, if there is any + target = late_rodata_info + target.append((sym,block)) + + # print([(sym,block.split("\n")[1:]) for sym,block in zip(rdata_syms,rdata_blocks)]) + + function_info = list(zip([s.replace("glabel","").strip() for s in func_regex.findall(asm)], func_regex.split(asm)[1:])) + + rdata_map = {} + late_rodata_map = {} + + # pass 1 to resolve rodata splits + if rodata != "": + last_fn = None + + referenced_in = {} # key=rodata label , value=function label + + for sym,_ in rodata_info: + all_refs = [label for label,body in function_info if "%lo(" + sym + ")" in body] + # ignore multiple refs, take only the first + referenced_in.update({ sym : all_refs[0] if len(all_refs) != 0 else None }) + + def do_splits(out_dict, info): + first = True + last_ref = None + cr = None + for sym,block in info: + ref = referenced_in[sym] + if first: + cr = ref or sym + + if ref is not None and not first: + if ref != last_ref: + # existing function + cr = ref + elif last_ref is not None: + # new GLOBAL_ASM + cr = sym + + # add to output + if cr not in out_dict.keys(): + out_dict.update({cr : []}) + out_dict[cr].append((sym,block)) + + # setup next iter + last_ref = ref + first = False + + do_splits(rdata_map, rdata_info) + do_splits(late_rodata_map, late_rodata_info) + + # all output files, order is irrelevant at this point + all_output = set([label for label,_ in function_info]).union(set(rdata_map.keys()),set(late_rodata_map.keys())) + + # pass 2 to output splits + for label in all_output: + fn_body = dict(function_info).get(label, None) + + text_out = "" + rodata_out = "" + + if fn_body is not None: + text_out = "glabel " + label.strip() + "\n" + fn_body.strip() + "\n" + + if rodata != "": + rdata = rdata_map.get(label, None) + late_rodata = late_rodata_map.get(label, None) + + # check for late_rodata_alignment + late_rodata_alignment = "" + if fn_body is not None and late_rodata is not None: + ratio = late_rodata_size([block for _,block in late_rodata]) / text_block_size(fn_body) + if ratio > 1./3: + # print(f"{label} : {ratio}") + # TODO hack: getting the address from a comment + first_block_split = late_rodata[0][1].split(" */ .") + vaddr = None + if first_block_split[1].startswith("float") or first_block_split[1].startswith("double"): + vaddr = first_block_split[0].split(" ")[-2] + else: + vaddr = first_block_split[0].split(" ")[-1] + assert vaddr is not None + vaddr = int(vaddr,16) + if vaddr not in [0x801E0E28, 0x80C1C2B0, 0x80AA7820, 0x80AA3CC0, + 0x80AA418C, 0x80BE0160, 0x80B591D8, 0x80B59610, + 0x80B59780, 0x80964E00, 0x80964F10, 0x80BB40A0, + 0x80952038, 0x80AFB920, 0x80AFBBFC, 0x80AFBE28, + 0x80983320]: # hacks for especially badly behaved rodata, TODO these are ALL jumptables associated with + # comparatively tiny functions, can we swat these programmatically? + late_rodata_alignment = f".late_rodata_alignment {'8' if vaddr % 8 == 0 else '4'}\n" + + rdata_out = "" + if rdata is not None: + rdata_out = ".rdata\n" + "".join([block for _,block in rdata]) + + late_rodata_out = "" + if late_rodata is not None: + late_rodata_out = ".late_rodata\n" + late_rodata_alignment + "".join([block for _,block in late_rodata]) + + rodata_out = rdata_out + late_rodata_out + ("\n.text\n" if ((rdata is not None or late_rodata is not None) and fn_body is not None) else "") + + all_out = rodata_out + text_out + + # write it out + out_path = root.replace(ASM_OUT, f"{ASM_OUT}/non_matchings/") + "/" + ((f.replace(".text.s","") + "/") if "overlays" not in root else "") + os.makedirs(out_path, exist_ok=True) + with open(out_path + label + ".s", "w") as outfile: + outfile.write(all_out.strip() + "\n") + + # remove rodata and unsplit file + # TODO diff --git a/tools/disasm/dma_filenames.txt b/tools/disasm/dma_filenames.txt new file mode 100644 index 0000000000..ecd43c82be --- /dev/null +++ b/tools/disasm/dma_filenames.txt @@ -0,0 +1,1555 @@ +[ + 'makerom', + 'boot', + 'dmadata', + 'Audiobank', + 'Audioseq', + 'Audiotable', + 'kanji', + 'link_animetion', + 'icon_item_static_old', + 'icon_item_24_static_old', + 'icon_item_field_static', + 'icon_item_dungeon_static', + 'icon_item_gameover_static', + 'icon_item_jpn_static', + 'icon_item_vtx_static', + 'map_i_static', + 'map_grand_static', + 'item_name_static', + 'map_name_static', + 'icon_item_static_test', + 'icon_item_24_static_test', + 'schedule_dma_static_old', + 'schedule_dma_static_test', + 'schedule_static', + 'story_static', + 'do_action_static', + 'message_static', + 'message_texture_static', + 'nes_font_static', + 'message_data_static', + 'staff_message_data_static', + 'code', + 'ovl_title', + 'ovl_select', + 'ovl_opening', + 'ovl_file_choose', + 'ovl_daytelop', + 'ovl_kaleido_scope', + 'ovl_Player_Actor', + 'ovl_En_Test', + 'ovl_En_GirlA', + 'ovl_En_Part', + 'ovl_En_Light', + 'ovl_En_Door', + 'ovl_En_Box', + 'ovl_En_Pametfrog', + 'ovl_En_Okuta', + 'ovl_En_Bom', + 'ovl_En_Wallmas', + 'ovl_En_Dodongo', + 'ovl_En_Firefly', + 'ovl_En_Horse', + 'ovl_En_Arrow', + 'ovl_En_Elf', + 'ovl_En_Niw', + 'ovl_En_Tite', + 'ovl_En_Peehat', + 'ovl_En_Holl', + 'ovl_En_Dinofos', + 'ovl_En_Hata', + 'ovl_En_Zl1', + 'ovl_En_Viewer', + 'ovl_En_Bubble', + 'ovl_Door_Shutter', + 'ovl_En_Boom', + 'ovl_En_Torch2', + 'ovl_En_Minifrog', + 'ovl_En_St', + 'ovl_Obj_Wturn', + 'ovl_En_River_Sound', + 'ovl_En_Ossan', + 'ovl_En_Famos', + 'ovl_En_Bombf', + 'ovl_En_Am', + 'ovl_En_Dekubaba', + 'ovl_En_M_Fire1', + 'ovl_En_M_Thunder', + 'ovl_Bg_Breakwall', + 'ovl_Door_Warp1', + 'ovl_Obj_Syokudai', + 'ovl_Item_B_Heart', + 'ovl_En_Dekunuts', + 'ovl_En_Bbfall', + 'ovl_Arms_Hook', + 'ovl_En_Bb', + 'ovl_Bg_Keikoku_Spr', + 'ovl_En_Wood02', + 'ovl_En_Death', + 'ovl_En_Minideath', + 'ovl_En_Vm', + 'ovl_Demo_Effect', + 'ovl_Demo_Kankyo', + 'ovl_En_Floormas', + 'ovl_En_Rd', + 'ovl_Bg_F40_Flift', + 'ovl_Obj_Mure', + 'ovl_En_Sw', + 'ovl_Object_Kankyo', + 'ovl_En_Horse_Link_Child', + 'ovl_Door_Ana', + 'ovl_En_Encount1', + 'ovl_Demo_Tre_Lgt', + 'ovl_En_Encount2', + 'ovl_En_Fire_Rock', + 'ovl_Bg_Ctower_Rot', + 'ovl_Mir_Ray', + 'ovl_En_Sb', + 'ovl_En_Bigslime', + 'ovl_En_Karebaba', + 'ovl_En_In', + 'ovl_En_Bom_Chu', + 'ovl_En_Horse_Game_Check', + 'ovl_En_Rr', + 'ovl_En_Fr', + 'ovl_En_Fishing', + 'ovl_Obj_Oshihiki', + 'ovl_Eff_Dust', + 'ovl_Bg_Umajump', + 'ovl_En_Insect', + 'ovl_En_Butte', + 'ovl_En_Fish', + 'ovl_Item_Etcetera', + 'ovl_Arrow_Fire', + 'ovl_Arrow_Ice', + 'ovl_Arrow_Light', + 'ovl_Obj_Kibako', + 'ovl_Obj_Tsubo', + 'ovl_En_Ik', + 'ovl_Demo_Shd', + 'ovl_En_Dns', + 'ovl_Elf_Msg', + 'ovl_En_Honotrap', + 'ovl_En_Tubo_Trap', + 'ovl_Obj_Ice_Poly', + 'ovl_En_Fz', + 'ovl_En_Kusa', + 'ovl_Obj_Bean', + 'ovl_Obj_Bombiwa', + 'ovl_Obj_Switch', + 'ovl_Obj_Lift', + 'ovl_Obj_Hsblock', + 'ovl_En_Okarina_Tag', + 'ovl_En_Goroiwa', + 'ovl_En_Daiku', + 'ovl_En_Nwc', + 'ovl_Item_Inbox', + 'ovl_En_Ge1', + 'ovl_Obj_Blockstop', + 'ovl_En_Sda', + 'ovl_En_Clear_Tag', + 'ovl_En_Gm', + 'ovl_En_Ms', + 'ovl_En_Hs', + 'ovl_Bg_Ingate', + 'ovl_En_Kanban', + 'ovl_En_Attack_Niw', + 'ovl_En_Mk', + 'ovl_En_Owl', + 'ovl_En_Ishi', + 'ovl_Obj_Hana', + 'ovl_Obj_Lightswitch', + 'ovl_Obj_Mure2', + 'ovl_En_Fu', + 'ovl_En_Stream', + 'ovl_En_Mm', + 'ovl_En_Weather_Tag', + 'ovl_En_Ani', + 'ovl_En_Js', + 'ovl_En_Okarina_Effect', + 'ovl_En_Mag', + 'ovl_Elf_Msg2', + 'ovl_Bg_F40_Swlift', + 'ovl_En_Kakasi', + 'ovl_Obj_Makeoshihiki', + 'ovl_Oceff_Spot', + 'ovl_En_Torch', + 'ovl_Shot_Sun', + 'ovl_Obj_Roomtimer', + 'ovl_En_Ssh', + 'ovl_Oceff_Wipe', + 'ovl_Effect_Ss_Dust', + 'ovl_Effect_Ss_Kirakira', + 'ovl_Effect_Ss_Bomb2', + 'ovl_Effect_Ss_Blast', + 'ovl_Effect_Ss_G_Spk', + 'ovl_Effect_Ss_D_Fire', + 'ovl_Effect_Ss_Bubble', + 'ovl_Effect_Ss_G_Ripple', + 'ovl_Effect_Ss_G_Splash', + 'ovl_Effect_Ss_G_Fire', + 'ovl_Effect_Ss_Lightning', + 'ovl_Effect_Ss_Dt_Bubble', + 'ovl_Effect_Ss_Hahen', + 'ovl_Effect_Ss_Stick', + 'ovl_Effect_Ss_Sibuki', + 'ovl_Effect_Ss_Stone1', + 'ovl_Effect_Ss_Hitmark', + 'ovl_Effect_Ss_Fhg_Flash', + 'ovl_Effect_Ss_K_Fire', + 'ovl_Effect_Ss_Solder_Srch_Ball', + 'ovl_Effect_Ss_Kakera', + 'ovl_Effect_Ss_Ice_Piece', + 'ovl_Effect_Ss_En_Ice', + 'ovl_Effect_Ss_Fire_Tail', + 'ovl_Effect_Ss_En_Fire', + 'ovl_Effect_Ss_Extra', + 'ovl_Effect_Ss_Dead_Db', + 'ovl_Effect_Ss_Dead_Dd', + 'ovl_Effect_Ss_Dead_Ds', + 'ovl_Oceff_Storm', + 'ovl_Obj_Demo', + 'ovl_En_Minislime', + 'ovl_En_Nutsball', + 'ovl_Oceff_Wipe2', + 'ovl_Oceff_Wipe3', + 'ovl_En_Dg', + 'ovl_En_Si', + 'ovl_Obj_Comb', + 'ovl_Obj_Kibako2', + 'ovl_En_Hs2', + 'ovl_Obj_Mure3', + 'ovl_En_Tg', + 'ovl_En_Wf', + 'ovl_En_Skb', + 'ovl_En_Gs', + 'ovl_Obj_Sound', + 'ovl_En_Crow', + 'ovl_En_Cow', + 'ovl_Oceff_Wipe4', + 'ovl_En_Zo', + 'ovl_Effect_Ss_Ice_Smoke', + 'ovl_Obj_Makekinsuta', + 'ovl_En_Ge3', + 'ovl_Obj_Hamishi', + 'ovl_En_Zl4', + 'ovl_En_Mm2', + 'ovl_Door_Spiral', + 'ovl_Obj_Pzlblock', + 'ovl_Obj_Toge', + 'ovl_Obj_Armos', + 'ovl_Obj_Boyo', + 'ovl_En_Grasshopper', + 'ovl_Obj_Grass', + 'ovl_Obj_Grass_Carry', + 'ovl_Obj_Grass_Unit', + 'ovl_Bg_Fire_Wall', + 'ovl_En_Bu', + 'ovl_En_Encount3', + 'ovl_En_Jso', + 'ovl_Obj_Chikuwa', + 'ovl_En_Knight', + 'ovl_En_Warp_tag', + 'ovl_En_Aob_01', + 'ovl_En_Boj_01', + 'ovl_En_Boj_02', + 'ovl_En_Boj_03', + 'ovl_En_Encount4', + 'ovl_En_Bom_Bowl_Man', + 'ovl_En_Syateki_Man', + 'ovl_Bg_Icicle', + 'ovl_En_Syateki_Crow', + 'ovl_En_Boj_04', + 'ovl_En_Cne_01', + 'ovl_En_Bba_01', + 'ovl_En_Bji_01', + 'ovl_Bg_Spdweb', + 'ovl_En_Mt_tag', + 'ovl_Boss_01', + 'ovl_Boss_02', + 'ovl_Boss_03', + 'ovl_Boss_04', + 'ovl_Boss_05', + 'ovl_Boss_06', + 'ovl_Boss_07', + 'ovl_Bg_Dy_Yoseizo', + 'ovl_En_Boj_05', + 'ovl_En_Sob1', + 'ovl_En_Go', + 'ovl_En_Raf', + 'ovl_Obj_Funen', + 'ovl_Obj_Raillift', + 'ovl_Bg_Numa_Hana', + 'ovl_Obj_Flowerpot', + 'ovl_Obj_Spinyroll', + 'ovl_Dm_Hina', + 'ovl_En_Syateki_Wf', + 'ovl_Obj_Skateblock', + 'ovl_Effect_En_Ice_Block', + 'ovl_Obj_Iceblock', + 'ovl_En_Bigpamet', + 'ovl_Bg_Dblue_Movebg', + 'ovl_En_Syateki_Dekunuts', + 'ovl_Elf_Msg3', + 'ovl_En_Fg', + 'ovl_Dm_Ravine', + 'ovl_Dm_Sa', + 'ovl_En_Slime', + 'ovl_En_Pr', + 'ovl_Obj_Toudai', + 'ovl_Obj_Entotu', + 'ovl_Obj_Bell', + 'ovl_En_Syateki_Okuta', + 'ovl_Obj_Shutter', + 'ovl_Dm_Zl', + 'ovl_En_Ru', + 'ovl_En_Elfgrp', + 'ovl_Dm_Tsg', + 'ovl_En_Baguo', + 'ovl_Obj_Vspinyroll', + 'ovl_Obj_Smork', + 'ovl_En_Test2', + 'ovl_En_Test3', + 'ovl_En_Test4', + 'ovl_En_Bat', + 'ovl_En_Sekihi', + 'ovl_En_Wiz', + 'ovl_En_Wiz_Brock', + 'ovl_En_Wiz_Fire', + 'ovl_Eff_Change', + 'ovl_Dm_Statue', + 'ovl_Obj_Fireshield', + 'ovl_Bg_Ladder', + 'ovl_En_Mkk', + 'ovl_Demo_Getitem', + 'ovl_En_Dnb', + 'ovl_En_Dnh', + 'ovl_En_Dnk', + 'ovl_En_Dnq', + 'ovl_Bg_Keikoku_Saku', + 'ovl_Obj_Hugebombiwa', + 'ovl_En_Firefly2', + 'ovl_En_Rat', + 'ovl_En_Water_Effect', + 'ovl_En_Kusa2', + 'ovl_Bg_Spout_Fire', + 'ovl_En_Dy_Extra', + 'ovl_En_Bal', + 'ovl_En_Ginko_Man', + 'ovl_En_Warp_Uzu', + 'ovl_Obj_Driftice', + 'ovl_En_Look_Nuts', + 'ovl_En_Mushi2', + 'ovl_En_Fall', + 'ovl_En_Mm3', + 'ovl_Bg_Crace_Movebg', + 'ovl_En_Dno', + 'ovl_En_Pr2', + 'ovl_En_Prz', + 'ovl_En_Jso2', + 'ovl_Obj_Etcetera', + 'ovl_En_Egol', + 'ovl_Obj_Mine', + 'ovl_Obj_Purify', + 'ovl_En_Tru', + 'ovl_En_Trt', + 'ovl_En_Test5', + 'ovl_En_Test6', + 'ovl_En_Az', + 'ovl_En_Estone', + 'ovl_Bg_Hakugin_Post', + 'ovl_Dm_Opstage', + 'ovl_Dm_Stk', + 'ovl_Dm_Char00', + 'ovl_Dm_Char01', + 'ovl_Dm_Char02', + 'ovl_Dm_Char03', + 'ovl_Dm_Char04', + 'ovl_Dm_Char05', + 'ovl_Dm_Char06', + 'ovl_Dm_Char07', + 'ovl_Dm_Char08', + 'ovl_Dm_Char09', + 'ovl_Obj_Tokeidai', + 'ovl_En_Mnk', + 'ovl_En_Egblock', + 'ovl_En_Guard_Nuts', + 'ovl_Bg_Hakugin_Bombwall', + 'ovl_Obj_Tokei_Tobira', + 'ovl_Bg_Hakugin_Elvpole', + 'ovl_En_Ma4', + 'ovl_En_Twig', + 'ovl_En_Po_Fusen', + 'ovl_En_Door_Etc', + 'ovl_En_Bigokuta', + 'ovl_Bg_Icefloe', + 'ovl_fbdemo_triforce', + 'ovl_fbdemo_wipe1', + 'ovl_fbdemo_wipe3', + 'ovl_fbdemo_wipe4', + 'ovl_fbdemo_wipe5', + 'ovl_Effect_Ss_Sbn', + 'ovl_Obj_Ocarinalift', + 'ovl_En_Time_Tag', + 'ovl_Bg_Open_Shutter', + 'ovl_Bg_Open_Spot', + 'ovl_Bg_Fu_Kaiten', + 'ovl_Obj_Aqua', + 'ovl_En_Elforg', + 'ovl_En_Elfbub', + 'ovl_En_Fu_Mato', + 'ovl_En_Fu_Kago', + 'ovl_En_Osn', + 'ovl_Bg_Ctower_Gear', + 'ovl_En_Trt2', + 'ovl_Obj_Tokei_Step', + 'ovl_Bg_Lotus', + 'ovl_En_Kame', + 'ovl_Obj_Takaraya_Wall', + 'ovl_Bg_Fu_Mizu', + 'ovl_En_Sellnuts', + 'ovl_Bg_Dkjail_Ivy', + 'ovl_Obj_Visiblock', + 'ovl_En_Takaraya', + 'ovl_En_Tsn', + 'ovl_En_Ds2n', + 'ovl_En_Fsn', + 'ovl_En_Shn', + 'ovl_En_Stop_heishi', + 'ovl_Obj_Bigicicle', + 'ovl_En_Lift_Nuts', + 'ovl_En_Tk', + 'ovl_Bg_Market_Step', + 'ovl_Obj_Lupygamelift', + 'ovl_En_Test7', + 'ovl_Obj_Lightblock', + 'ovl_Mir_Ray2', + 'ovl_En_Wdhand', + 'ovl_En_Gamelupy', + 'ovl_Bg_Danpei_Movebg', + 'ovl_En_Snowwd', + 'ovl_En_Pm', + 'ovl_En_Gakufu', + 'ovl_Elf_Msg4', + 'ovl_Elf_Msg5', + 'ovl_En_Col_Man', + 'ovl_En_Talk_Gibud', + 'ovl_En_Giant', + 'ovl_Obj_Snowball', + 'ovl_Boss_Hakugin', + 'ovl_En_Gb2', + 'ovl_En_Onpuman', + 'ovl_Bg_Tobira01', + 'ovl_En_Tag_Obj', + 'ovl_Obj_Dhouse', + 'ovl_Obj_Hakaisi', + 'ovl_Bg_Hakugin_Switch', + 'ovl_En_Snowman', + 'ovl_TG_Sw', + 'ovl_En_Po_Sisters', + 'ovl_En_Pp', + 'ovl_En_Hakurock', + 'ovl_En_Hanabi', + 'ovl_Obj_Dowsing', + 'ovl_Obj_Wind', + 'ovl_En_Racedog', + 'ovl_En_Kendo_Js', + 'ovl_Bg_Botihasira', + 'ovl_En_Fish2', + 'ovl_En_Pst', + 'ovl_En_Poh', + 'ovl_Obj_Spidertent', + 'ovl_En_Zoraegg', + 'ovl_En_Kbt', + 'ovl_En_Gg', + 'ovl_En_Maruta', + 'ovl_Obj_Snowball2', + 'ovl_En_Gg2', + 'ovl_Obj_Ghaka', + 'ovl_En_Dnp', + 'ovl_En_Dai', + 'ovl_Bg_Goron_Oyu', + 'ovl_En_Kgy', + 'ovl_En_Invadepoh', + 'ovl_En_Gk', + 'ovl_En_An', + 'ovl_En_Bee', + 'ovl_En_Ot', + 'ovl_En_Dragon', + 'ovl_Obj_Dora', + 'ovl_En_Bigpo', + 'ovl_Obj_Kendo_Kanban', + 'ovl_Obj_Hariko', + 'ovl_En_Sth', + 'ovl_Bg_Sinkai_Kabe', + 'ovl_Bg_Haka_Curtain', + 'ovl_Bg_Kin2_Bombwall', + 'ovl_Bg_Kin2_Fence', + 'ovl_Bg_Kin2_Picture', + 'ovl_Bg_Kin2_Shelf', + 'ovl_En_Rail_Skb', + 'ovl_En_Jg', + 'ovl_En_Tru_Mt', + 'ovl_Obj_Um', + 'ovl_En_Neo_Reeba', + 'ovl_Bg_Mbar_Chair', + 'ovl_Bg_Ikana_Block', + 'ovl_Bg_Ikana_Mirror', + 'ovl_Bg_Ikana_Rotaryroom', + 'ovl_Bg_Dblue_Balance', + 'ovl_Bg_Dblue_Waterfall', + 'ovl_En_Kaizoku', + 'ovl_En_Ge2', + 'ovl_En_Ma_Yts', + 'ovl_En_Ma_Yto', + 'ovl_Obj_Tokei_Turret', + 'ovl_Bg_Dblue_Elevator', + 'ovl_Obj_Warpstone', + 'ovl_En_Zog', + 'ovl_Obj_Rotlift', + 'ovl_Obj_Jg_Gakki', + 'ovl_Bg_Inibs_Movebg', + 'ovl_En_Zot', + 'ovl_Obj_Tree', + 'ovl_Obj_Y2lift', + 'ovl_Obj_Y2shutter', + 'ovl_Obj_Boat', + 'ovl_Obj_Taru', + 'ovl_Obj_Hunsui', + 'ovl_En_Jc_Mato', + 'ovl_Mir_Ray3', + 'ovl_En_Zob', + 'ovl_Elf_Msg6', + 'ovl_Obj_Nozoki', + 'ovl_En_Toto', + 'ovl_En_Railgibud', + 'ovl_En_Baba', + 'ovl_En_Suttari', + 'ovl_En_Zod', + 'ovl_En_Kujiya', + 'ovl_En_Geg', + 'ovl_Obj_Kinoko', + 'ovl_Obj_Yasi', + 'ovl_En_Tanron1', + 'ovl_En_Tanron2', + 'ovl_En_Tanron3', + 'ovl_Obj_Chan', + 'ovl_En_Zos', + 'ovl_En_S_Goro', + 'ovl_En_Nb', + 'ovl_En_Ja', + 'ovl_Bg_F40_Block', + 'ovl_Bg_F40_Switch', + 'ovl_En_Po_Composer', + 'ovl_En_Guruguru', + 'ovl_Oceff_Wipe5', + 'ovl_En_Stone_heishi', + 'ovl_Oceff_Wipe6', + 'ovl_En_Scopenuts', + 'ovl_En_Scopecrow', + 'ovl_Oceff_Wipe7', + 'ovl_Eff_Kamejima_Wave', + 'ovl_En_Hg', + 'ovl_En_Hgo', + 'ovl_En_Zov', + 'ovl_En_Ah', + 'ovl_Obj_Hgdoor', + 'ovl_Bg_Ikana_Bombwall', + 'ovl_Bg_Ikana_Ray', + 'ovl_Bg_Ikana_Shutter', + 'ovl_Bg_Haka_Bombwall', + 'ovl_Bg_Haka_Tomb', + 'ovl_En_Sc_Ruppe', + 'ovl_Bg_Iknv_Doukutu', + 'ovl_Bg_Iknv_Obj', + 'ovl_En_Pamera', + 'ovl_Obj_HsStump', + 'ovl_En_Hidden_Nuts', + 'ovl_En_Zow', + 'ovl_En_Talk', + 'ovl_En_Al', + 'ovl_En_Tab', + 'ovl_En_Nimotsu', + 'ovl_En_Hit_Tag', + 'ovl_En_Ruppecrow', + 'ovl_En_Tanron4', + 'ovl_En_Tanron5', + 'ovl_En_Tanron6', + 'ovl_En_Daiku2', + 'ovl_En_Muto', + 'ovl_En_Baisen', + 'ovl_En_Heishi', + 'ovl_En_Demo_heishi', + 'ovl_En_Dt', + 'ovl_En_Cha', + 'ovl_Obj_Dinner', + 'ovl_Eff_Lastday', + 'ovl_Bg_Ikana_Dharma', + 'ovl_En_Akindonuts', + 'ovl_Eff_Stk', + 'ovl_En_Ig', + 'ovl_En_Rg', + 'ovl_En_Osk', + 'ovl_En_Sth2', + 'ovl_En_Yb', + 'ovl_En_Rz', + 'ovl_En_Scopecoin', + 'ovl_En_Bjt', + 'ovl_En_Bomjima', + 'ovl_En_Bomjimb', + 'ovl_En_Bombers', + 'ovl_En_Bombers2', + 'ovl_En_Bombal', + 'ovl_Obj_Moon_Stone', + 'ovl_Obj_Mu_Pict', + 'ovl_Bg_Ikninside', + 'ovl_Eff_Zoraband', + 'ovl_Obj_Kepn_Koya', + 'ovl_Obj_Usiyane', + 'ovl_En_Nnh', + 'ovl_Obj_Kzsaku', + 'ovl_Obj_Milk_Bin', + 'ovl_En_Kitan', + 'ovl_Bg_Astr_Bombwall', + 'ovl_Bg_Iknin_Susceil', + 'ovl_En_Bsb', + 'ovl_En_Recepgirl', + 'ovl_En_Thiefbird', + 'ovl_En_Jgame_Tsn', + 'ovl_Obj_Jgame_Light', + 'ovl_Obj_Yado', + 'ovl_Demo_Syoten', + 'ovl_Demo_Moonend', + 'ovl_Bg_Lbfshot', + 'ovl_Bg_Last_Bwall', + 'ovl_En_And', + 'ovl_En_Invadepoh_Demo', + 'ovl_Obj_Danpeilift', + 'ovl_En_Fall2', + 'ovl_Dm_Al', + 'ovl_Dm_An', + 'ovl_Dm_Ah', + 'ovl_Dm_Nb', + 'ovl_En_Drs', + 'ovl_En_Ending_Hero', + 'ovl_Dm_Bal', + 'ovl_En_Paper', + 'ovl_En_Hint_Skb', + 'ovl_Dm_Tag', + 'ovl_En_Bh', + 'ovl_En_Ending_Hero2', + 'ovl_En_Ending_Hero3', + 'ovl_En_Ending_Hero4', + 'ovl_En_Ending_Hero5', + 'ovl_En_Ending_Hero6', + 'ovl_Dm_Gm', + 'ovl_Obj_Swprize', + 'ovl_En_Invisible_Ruppe', + 'ovl_Obj_Ending', + 'ovl_En_Rsn', + 'gameplay_keep', + 'gameplay_field_keep', + 'gameplay_dangeon_keep', + 'gameplay_object_exchange_static', + 'object_link_boy', + 'object_link_child', + 'object_link_goron', + 'object_link_zora', + 'object_link_nuts', + 'object_mask_ki_tan', + 'object_mask_rabit', + 'object_mask_skj', + 'object_mask_truth', + 'object_mask_gibudo', + 'object_mask_json', + 'object_mask_kerfay', + 'object_mask_bigelf', + 'object_mask_kyojin', + 'object_mask_romerny', + 'object_mask_posthat', + 'object_mask_zacho', + 'object_mask_stone', + 'object_mask_bree', + 'object_mask_gero', + 'object_mask_yofukasi', + 'object_mask_meoto', + 'object_mask_dancer', + 'object_mask_bakuretu', + 'object_mask_bu_san', + 'object_mask_goron', + 'object_mask_zora', + 'object_mask_nuts', + 'object_mask_boy', + 'object_box', + 'object_okuta', + 'object_wallmaster', + 'object_dy_obj', + 'object_firefly', + 'object_dodongo', + 'object_niw', + 'object_tite', + 'object_ph', + 'object_dinofos', + 'object_zl1', + 'object_bubble', + 'object_test3', + 'object_famos', + 'object_st', + 'object_thiefbird', + 'object_bombf', + 'object_am', + 'object_dekubaba', + 'object_warp1', + 'object_b_heart', + 'object_dekunuts', + 'object_bb', + 'object_death', + 'object_hata', + 'object_wood02', + 'object_trap', + 'object_vm', + 'object_efc_star_field', + 'object_rd', + 'object_yukimura_obj', + # skip object_heavy_object (in JP) + 'object_horse_link_child', + 'object_syokudai', + 'object_efc_tw', + 'object_gi_key', + 'object_mir_ray', + 'object_ctower_rot', + 'object_bdoor', + 'object_sb', + 'object_gi_melody', + 'object_gi_heart', + 'object_gi_compass', + 'object_gi_bosskey', + 'object_gi_nuts', + 'object_gi_hearts', + 'object_gi_arrowcase', + 'object_gi_bombpouch', + 'object_in', + 'object_os_anime', + 'object_gi_bottle', + 'object_gi_stick', + 'object_gi_map', + 'object_oF1d_map', + 'object_ru2', + 'object_gi_magicpot', + 'object_gi_bomb_1', + 'object_ma2', + 'object_gi_purse', + 'object_rr', + 'object_gi_arrow', + 'object_gi_bomb_2', + 'object_gi_shield_2', + 'object_gi_hookshot', + 'object_gi_ocarina', + 'object_gi_milk', + 'object_ma1', + 'object_ny', + 'object_fr', + 'object_gi_bow', + 'object_gi_glasses', + 'object_gi_liquid', + 'object_ani', + 'object_gi_shield_3', + 'object_gi_bean', + 'object_gi_fish', + 'object_gi_longsword', + 'object_zo', + 'object_umajump', + 'object_mastergolon', + 'object_masterzoora', + 'object_aob', + 'object_ik', + 'object_ahg', + 'object_cne', + 'object_bji', + 'object_bba', + 'object_an1', + 'object_boj', + 'object_fz', + 'object_bob', + 'object_ge1', + 'object_yabusame_point', + 'object_d_hsblock', + 'object_d_lift', + 'object_mamenoki', + 'object_goroiwa', + 'object_toryo', + 'object_daiku', + 'object_nwc', + 'object_gm', + 'object_ms', + 'object_hs', + 'object_lightswitch', + 'object_kusa', + 'object_tsubo', + 'object_kanban', + 'object_owl', + 'object_mk', + 'object_fu', + 'object_gi_ki_tan_mask', + 'object_gi_mask18', + 'object_gi_rabit_mask', + 'object_gi_truth_mask', + 'object_stream', + 'object_mm', + 'object_js', + 'object_cs', + 'object_gi_soldout', + 'object_mag', + 'object_gi_golonmask', + 'object_gi_zoramask', + 'object_ka', + 'object_zg', + 'object_gi_m_arrow', + 'object_ds2', + 'object_fish', + 'object_gi_sutaru', + 'object_ssh', + 'object_bigslime', + 'object_bg', + 'object_bombiwa', + 'object_hintnuts', + 'object_rs', + 'object_gla', + 'object_geldb', + 'object_dog', + 'object_kibako2', + 'object_dns', + 'object_dnk', + 'object_gi_insect', + 'object_gi_ghost', + 'object_gi_soul', + 'object_f40_obj', + 'object_gi_rupy', + 'object_po_composer', + 'object_mu', + 'object_wf', + 'object_skb', + 'object_gs', + 'object_ps', + 'object_omoya_obj', + 'object_crow', + 'object_cow', + 'object_gi_sword_1', + 'object_zl4', + 'object_grasshopper', + 'object_boyo', + 'object_fwall', + 'object_jso', + 'object_knight', + 'object_icicle', + 'object_spdweb', + 'object_boss01', + 'object_boss02', + 'object_boss03', + 'object_boss04', + 'object_boss05', + 'object_boss07', + 'object_raf', + 'object_funen', + 'object_raillift', + 'object_numa_obj', + 'object_flowerpot', + 'object_spinyroll', + 'object_ice_block', + 'object_keikoku_demo', + 'object_slime', + 'object_pr', + 'object_f52_obj', + 'object_f53_obj', + 'object_kibako', + 'object_sek', + 'object_gmo', + 'object_bat', + 'object_sekihil', + 'object_sekihig', + 'object_sekihin', + 'object_sekihiz', + 'object_wiz', + 'object_ladder', + 'object_mkk', + 'object_keikoku_obj', + 'object_sichitai_obj', + 'object_dekucity_ana_obj', + 'object_rat', + 'object_water_effect', + 'object_dblue_object', + 'object_bal', + 'object_warp_uzu', + 'object_driftice', + 'object_fall', + 'object_hanareyama_obj', + 'object_crace_object', + 'object_dnq', + 'object_obj_tokeidai', + 'object_eg', + 'object_tru', + 'object_trt', + 'object_hakugin_obj', + 'object_horse_game_check', + 'object_stk', + 'object_mnk', + 'object_gi_bottle_red', + 'object_tokei_tobira', + 'object_az', + 'object_twig', + 'object_dekucity_obj', + 'object_po_fusen', + 'object_racetsubo', + 'object_ha', + 'object_bigokuta', + 'object_open_obj', + 'object_fu_kaiten', + 'object_fu_mato', + 'object_mtoride', + 'object_osn', + 'object_tokei_step', + 'object_lotus', + 'object_tl', + 'object_dkjail_obj', + 'object_visiblock', + 'object_tsn', + 'object_ds2n', + 'object_fsn', + 'object_shn', + 'object_bigicicle', + 'object_gi_bottle_15', + 'object_tk', + 'object_market_obj', + 'object_gi_reserve00', + 'object_gi_reserve01', + 'object_lightblock', + 'object_takaraya_objects', + 'object_wdhand', + 'object_sdn', + 'object_snowwd', + 'object_giant', + 'object_comb', + 'object_hana', + 'object_boss_hakugin', + 'object_meganeana_obj', + 'object_gi_nutsmask', + 'object_stk2', + 'object_spot11_obj', + 'object_danpei_object', + 'object_dhouse', + 'object_hakaisi', + 'object_po', + 'object_snowman', + 'object_po_sisters', + 'object_pp', + 'object_goronswitch', + 'object_delf', + 'object_botihasira', + 'object_gi_bigbomb', + 'object_pst', + 'object_bsmask', + 'object_spidertent', + 'object_zoraegg', + 'object_kbt', + 'object_gg', + 'object_maruta', + 'object_ghaka', + 'object_oyu', + 'object_dnp', + 'object_dai', + 'object_kgy', + 'object_fb', + 'object_taisou', + 'object_gk', + 'object_haka_obj', + 'object_dnt', + 'object_yukiyama', + 'object_icefloe', + 'object_gi_gold_dust', + 'object_gi_bottle_16', + 'object_gi_bottle_22', + 'object_bee', + 'object_ot', + 'object_utubo', + 'object_dora', + 'object_gi_loach', + 'object_gi_seahorse', + 'object_bigpo', + 'object_hariko', + 'object_dno', + 'object_sinkai_kabe', + 'object_kin2_obj', + 'object_ishi', + 'object_hakugin_demo', + 'object_jg', + 'object_gi_sword_2', + 'object_gi_sword_3', + 'object_gi_sword_4', + 'object_um', + 'object_rb', + 'object_mbar_obj', + 'object_ikana_obj', + 'object_kz', + 'object_tokei_turret', + 'object_zog', + 'object_rotlift', + 'object_posthouse_obj', + 'object_gi_mask09', + 'object_gi_mask14', + 'object_gi_mask15', + 'object_inibs_object', + 'object_tree', + 'object_kaizoku_obj', + 'object_gi_reserve_b_00', + 'object_gi_reserve_c_00', + 'object_zob', + 'object_milkbar', + 'object_dmask', + 'object_gi_reserve_c_01', + 'object_zod', + 'object_kumo30', + 'object_obj_yasi', + 'object_tanron1', + 'object_tanron2', + 'object_tanron3', + 'object_gi_magicmushroom', + 'object_obj_chan', + 'object_gi_mask10', + 'object_zos', + 'object_an2', + 'object_an3', + 'object_f40_switch', + 'object_lodmoon', + 'object_tro', + 'object_gi_mask12', + 'object_gi_mask23', + 'object_gi_bottle_21', + 'object_gi_camera', + 'object_kamejima', + 'object_nb', + 'object_harfgibud', + 'object_zov', + 'object_ah', + 'object_hgdoor', + 'object_dor01', + 'object_dor02', + 'object_dor03', + 'object_dor04', + 'object_last_obj', + 'object_redead_obj', + 'object_ikninside_obj', + 'object_iknv_obj', + 'object_pamera', + 'object_hsstump', + 'object_zm', + 'object_al', + 'object_tab', + 'object_secom_obj', + 'object_dt', + 'object_gi_mask03', + 'object_cha', + 'object_obj_dinner', + 'object_gi_reserve_b_01', + 'object_lastday', + 'object_bai', + 'object_ikn_demo', + 'object_gi_fieldmap', + 'object_big_fwall', + 'object_hunsui', + 'object_uch', + 'object_tanron4', + 'object_tanron5', + 'object_in2', + 'object_yb', + 'object_rz', + 'object_bjt', + 'object_taru', + 'object_moonston', + 'object_gi_schedule', + 'object_gi_stonemask', + 'object_zoraband', + 'object_kepn_koya', + 'object_obj_usiyane', + 'object_gi_mask05', + 'object_gi_mask11', + 'object_gi_mask20', + 'object_nnh', + 'object_kzsaku', + 'object_obj_milk_bin', + 'object_random_obj', + 'object_kujiya', + 'object_kitan', + 'object_gi_mask06', + 'object_gi_mask16', + 'object_astr_obj', + 'object_bsb', + 'object_fall2', + 'object_sth', + 'object_gi_mssa', + 'object_smtower', + 'object_gi_mask21', + 'object_yado_obj', + 'object_syoten', + 'object_moonend', + 'object_ob', + 'object_gi_bottle_04', + 'object_and', + 'object_obj_danpeilift', + 'object_drs', + 'object_msmo', + 'object_an4', + 'object_wdor01', + 'object_wdor02', + 'object_wdor03', + 'object_wdor04', + 'object_wdor05', + 'object_stk3', + 'object_kinsta1_obj', + 'object_kinsta2_obj', + 'object_bh', + 'object_gi_mask17', + 'object_gi_mask22', + 'object_lbfshot', + 'object_fusen', + 'object_ending_obj', + 'object_gi_mask13', + 'scene_texture_01', # Map Textures - Building Interiors I + 'scene_texture_02', # Map Textures - Building Interiors II + 'scene_texture_03', # Map Textures - Lost Woods + 'scene_texture_04', # Map Textures - Mountains + 'scene_texture_05', # Map Textures - Ocean + 'scene_texture_06', # Map Textures - Swamp + 'scene_texture_07', + 'scene_texture_08', # Map Textures - Field + 'nintendo_rogo_static', + 'title_static', + 'memerrmsg', + 'locerrmsg', + 'parameter_static', + 'week_static', + 'daytelop_static', + 'ger_daytelop_static', + 'fra_daytelop_static', + 'esp_daytelop_static', + 'd2_fine_static', + 'd2_cloud_static', + 'd2_fine_pal_static', + 'elf_message_field', + 'elf_message_ydan', + 'Z2_20SICHITAI2', + 'Z2_20SICHITAI2_room_00', + 'Z2_20SICHITAI2_room_01', + 'Z2_20SICHITAI2_room_02', + 'Z2_WITCH_SHOP', + 'Z2_WITCH_SHOP_room_00', + 'Z2_LAST_BS', + 'Z2_LAST_BS_room_00', + 'Z2_HAKASHITA', + 'Z2_HAKASHITA_room_00', + 'Z2_HAKASHITA_room_01', + 'Z2_HAKASHITA_room_02', + 'Z2_HAKASHITA_room_03', + 'Z2_HAKASHITA_room_04', + 'Z2_AYASHIISHOP', + 'Z2_AYASHIISHOP_room_00', + 'Z2_AYASHIISHOP_room_01', + 'Z2_OMOYA', + 'Z2_OMOYA_room_00', + 'Z2_OMOYA_room_01', + 'Z2_OMOYA_room_02', + 'Z2_BOWLING', + 'Z2_BOWLING_room_00', + 'Z2_SONCHONOIE', + 'Z2_SONCHONOIE_room_00', + 'Z2_SONCHONOIE_room_01', + 'Z2_SONCHONOIE_room_02', + 'Z2_SONCHONOIE_room_03', + 'Z2_IKANA', + 'Z2_IKANA_room_00', + 'Z2_IKANA_room_01', + 'Z2_IKANA_room_02', + 'Z2_IKANA_room_03', + 'Z2_IKANA_room_04', + 'Z2_KAIZOKU', + 'Z2_KAIZOKU_room_00', + 'Z2_MILK_BAR', + 'Z2_MILK_BAR_room_00', + 'Z2_INISIE_N', + 'Z2_INISIE_N_room_00', + 'Z2_INISIE_N_room_01', + 'Z2_INISIE_N_room_02', + 'Z2_INISIE_N_room_03', + 'Z2_INISIE_N_room_04', + 'Z2_INISIE_N_room_05', + 'Z2_INISIE_N_room_06', + 'Z2_INISIE_N_room_07', + 'Z2_INISIE_N_room_08', + 'Z2_INISIE_N_room_09', + 'Z2_INISIE_N_room_10', + 'Z2_INISIE_N_room_11', + 'Z2_TAKARAYA', + 'Z2_TAKARAYA_room_00', + 'Z2_INISIE_R', + 'Z2_INISIE_R_room_00', + 'Z2_INISIE_R_room_01', + 'Z2_INISIE_R_room_02', + 'Z2_INISIE_R_room_03', + 'Z2_INISIE_R_room_04', + 'Z2_INISIE_R_room_05', + 'Z2_INISIE_R_room_06', + 'Z2_INISIE_R_room_07', + 'Z2_INISIE_R_room_08', + 'Z2_INISIE_R_room_09', + 'Z2_INISIE_R_room_10', + 'Z2_INISIE_R_room_11', + 'Z2_OKUJOU', + 'Z2_OKUJOU_room_00', + 'Z2_OPENINGDAN', + 'Z2_OPENINGDAN_room_00', + 'Z2_OPENINGDAN_room_01', + 'Z2_MITURIN', + 'Z2_MITURIN_room_00', + 'Z2_MITURIN_room_01', + 'Z2_MITURIN_room_02', + 'Z2_MITURIN_room_03', + 'Z2_MITURIN_room_04', + 'Z2_MITURIN_room_05', + 'Z2_MITURIN_room_06', + 'Z2_MITURIN_room_07', + 'Z2_MITURIN_room_08', + 'Z2_MITURIN_room_09', + 'Z2_MITURIN_room_10', + 'Z2_MITURIN_room_11', + 'Z2_MITURIN_room_12', + 'Z2_13HUBUKINOMITI', + 'Z2_13HUBUKINOMITI_room_00', + 'Z2_CASTLE', + 'Z2_CASTLE_room_00', + 'Z2_CASTLE_room_01', + 'Z2_CASTLE_room_02', + 'Z2_CASTLE_room_03', + 'Z2_CASTLE_room_04', + 'Z2_CASTLE_room_05', + 'Z2_CASTLE_room_06', + 'Z2_CASTLE_room_07', + 'Z2_CASTLE_room_08', + 'Z2_CASTLE_room_09', + 'Z2_DEKUTES', + 'Z2_DEKUTES_room_00', + 'Z2_MITURIN_BS', + 'Z2_MITURIN_BS_room_00', + 'Z2_SYATEKI_MIZU', + 'Z2_SYATEKI_MIZU_room_00', + 'Z2_HAKUGIN', + 'Z2_HAKUGIN_room_00', + 'Z2_HAKUGIN_room_01', + 'Z2_HAKUGIN_room_02', + 'Z2_HAKUGIN_room_03', + 'Z2_HAKUGIN_room_04', + 'Z2_HAKUGIN_room_05', + 'Z2_HAKUGIN_room_06', + 'Z2_HAKUGIN_room_07', + 'Z2_HAKUGIN_room_08', + 'Z2_HAKUGIN_room_09', + 'Z2_HAKUGIN_room_10', + 'Z2_HAKUGIN_room_11', + 'Z2_HAKUGIN_room_12', + 'Z2_HAKUGIN_room_13', + 'Z2_ROMANYMAE', + 'Z2_ROMANYMAE_room_00', + 'Z2_PIRATE', + 'Z2_PIRATE_room_00', + 'Z2_PIRATE_room_01', + 'Z2_PIRATE_room_02', + 'Z2_PIRATE_room_03', + 'Z2_PIRATE_room_04', + 'Z2_PIRATE_room_05', + 'Z2_PIRATE_room_06', + 'Z2_PIRATE_room_07', + 'Z2_PIRATE_room_08', + 'Z2_PIRATE_room_09', + 'Z2_PIRATE_room_10', + 'Z2_PIRATE_room_11', + 'Z2_PIRATE_room_12', + 'Z2_PIRATE_room_13', + 'Z2_PIRATE_room_14', + 'Z2_SYATEKI_MORI', + 'Z2_SYATEKI_MORI_room_00', + 'Z2_SINKAI', + 'Z2_SINKAI_room_00', + 'Z2_YOUSEI_IZUMI', + 'Z2_YOUSEI_IZUMI_room_00', + 'Z2_YOUSEI_IZUMI_room_01', + 'Z2_YOUSEI_IZUMI_room_02', + 'Z2_YOUSEI_IZUMI_room_03', + 'Z2_YOUSEI_IZUMI_room_04', + 'Z2_KINSTA1', + 'Z2_KINSTA1_room_00', + 'Z2_KINSTA1_room_01', + 'Z2_KINSTA1_room_02', + 'Z2_KINSTA1_room_03', + 'Z2_KINSTA1_room_04', + 'Z2_KINSTA1_room_05', + 'Z2_KINDAN2', + 'Z2_KINDAN2_room_00', + 'Z2_KINDAN2_room_01', + 'Z2_KINDAN2_room_02', + 'Z2_KINDAN2_room_03', + 'Z2_KINDAN2_room_04', + 'Z2_KINDAN2_room_05', + 'Z2_TENMON_DAI', + 'Z2_TENMON_DAI_room_00', + 'Z2_TENMON_DAI_room_01', + 'Z2_LAST_DEKU', + 'Z2_LAST_DEKU_room_00', + 'Z2_LAST_DEKU_room_01', + 'Z2_22DEKUCITY', + 'Z2_22DEKUCITY_room_00', + 'Z2_22DEKUCITY_room_01', + 'Z2_22DEKUCITY_room_02', + 'Z2_KAJIYA', + 'Z2_KAJIYA_room_00', + 'Z2_00KEIKOKU', + 'Z2_00KEIKOKU_room_00', + 'Z2_POSTHOUSE', + 'Z2_POSTHOUSE_room_00', + 'Z2_LABO', + 'Z2_LABO_room_00', + 'Z2_DANPEI2TEST', + 'Z2_DANPEI2TEST_room_00', + 'Z2_DANPEI2TEST_room_01', + 'Z2_16GORON_HOUSE', + 'Z2_16GORON_HOUSE_room_00', + 'Z2_16GORON_HOUSE_room_01', + 'Z2_33ZORACITY', + 'Z2_33ZORACITY_room_00', + 'Z2_8ITEMSHOP', + 'Z2_8ITEMSHOP_room_00', + 'Z2_F01', + 'Z2_F01_room_00', + 'Z2_INISIE_BS', + 'Z2_INISIE_BS_room_00', + 'Z2_30GYOSON', + 'Z2_30GYOSON_room_00', + 'Z2_31MISAKI', + 'Z2_31MISAKI_room_00', + 'Z2_TAKARAKUJI', + 'Z2_TAKARAKUJI_room_00', + 'Z2_TORIDE', + 'Z2_TORIDE_room_00', + 'Z2_FISHERMAN', + 'Z2_FISHERMAN_room_00', + 'Z2_GORONSHOP', + 'Z2_GORONSHOP_room_00', + 'Z2_DEKU_KING', + 'Z2_DEKU_KING_room_00', + 'Z2_LAST_GORON', + 'Z2_LAST_GORON_room_00', + 'Z2_LAST_GORON_room_01', + 'Z2_24KEMONOMITI', + 'Z2_24KEMONOMITI_room_00', + 'Z2_F01_B', + 'Z2_F01_B_room_00', + 'Z2_F01C', + 'Z2_F01C_room_00', + 'Z2_BOTI', + 'Z2_BOTI_room_00', + 'Z2_BOTI_room_01', + 'Z2_HAKUGIN_BS', + 'Z2_HAKUGIN_BS_room_00', + 'Z2_20SICHITAI', + 'Z2_20SICHITAI_room_00', + 'Z2_20SICHITAI_room_01', + 'Z2_20SICHITAI_room_02', + 'Z2_21MITURINMAE', + 'Z2_21MITURINMAE_room_00', + 'Z2_LAST_ZORA', + 'Z2_LAST_ZORA_room_00', + 'Z2_11GORONNOSATO2', + 'Z2_11GORONNOSATO2_room_00', + 'Z2_11GORONNOSATO2_room_01', + 'Z2_SEA', + 'Z2_SEA_room_00', + 'Z2_SEA_room_01', + 'Z2_SEA_room_02', + 'Z2_SEA_room_03', + 'Z2_SEA_room_04', + 'Z2_SEA_room_05', + 'Z2_SEA_room_06', + 'Z2_SEA_room_07', + 'Z2_SEA_room_08', + 'Z2_SEA_room_09', + 'Z2_SEA_room_10', + 'Z2_SEA_room_11', + 'Z2_SEA_room_12', + 'Z2_SEA_room_13', + 'Z2_SEA_room_14', + 'Z2_SEA_room_15', + 'Z2_35TAKI', + 'Z2_35TAKI_room_00', + 'Z2_REDEAD', + 'Z2_REDEAD_room_00', + 'Z2_REDEAD_room_01', + 'Z2_REDEAD_room_02', + 'Z2_REDEAD_room_03', + 'Z2_REDEAD_room_04', + 'Z2_REDEAD_room_05', + 'Z2_REDEAD_room_06', + 'Z2_REDEAD_room_07', + 'Z2_REDEAD_room_08', + 'Z2_REDEAD_room_09', + 'Z2_REDEAD_room_10', + 'Z2_REDEAD_room_11', + 'Z2_REDEAD_room_12', + 'Z2_REDEAD_room_13', + 'Z2_BANDROOM', + 'Z2_BANDROOM_room_00', + 'Z2_BANDROOM_room_01', + 'Z2_BANDROOM_room_02', + 'Z2_BANDROOM_room_03', + 'Z2_BANDROOM_room_04', + 'Z2_11GORONNOSATO', + 'Z2_11GORONNOSATO_room_00', + 'Z2_11GORONNOSATO_room_01', + 'Z2_GORON_HAKA', + 'Z2_GORON_HAKA_room_00', + 'Z2_SECOM', + 'Z2_SECOM_room_00', + 'Z2_SECOM_room_01', + 'Z2_10YUKIYAMANOMURA', + 'Z2_10YUKIYAMANOMURA_room_00', + 'Z2_TOUGITES', + 'Z2_TOUGITES_room_00', + 'Z2_DANPEI', + 'Z2_DANPEI_room_00', + 'Z2_DANPEI_room_01', + 'Z2_DANPEI_room_02', + 'Z2_DANPEI_room_03', + 'Z2_DANPEI_room_04', + 'Z2_DANPEI_room_05', + 'Z2_DANPEI_room_06', + 'Z2_DANPEI_room_07', + 'Z2_DANPEI_room_08', + 'Z2_IKANAMAE', + 'Z2_IKANAMAE_room_00', + 'Z2_DOUJOU', + 'Z2_DOUJOU_room_00', + 'Z2_MUSICHOUSE', + 'Z2_MUSICHOUSE_room_00', + 'Z2_IKNINSIDE', + 'Z2_IKNINSIDE_room_00', + 'Z2_IKNINSIDE_room_01', + 'Z2_MAP_SHOP', + 'Z2_MAP_SHOP_room_00', + 'Z2_F40', + 'Z2_F40_room_00', + 'Z2_F41', + 'Z2_F41_room_00', + 'Z2_10YUKIYAMANOMURA2', + 'Z2_10YUKIYAMANOMURA2_room_00', + 'Z2_10YUKIYAMANOMURA2_room_01', + 'Z2_14YUKIDAMANOMITI', + 'Z2_14YUKIDAMANOMITI_room_00', + 'Z2_12HAKUGINMAE', + 'Z2_12HAKUGINMAE_room_00', + 'Z2_17SETUGEN', + 'Z2_17SETUGEN_room_00', + 'Z2_17SETUGEN2', + 'Z2_17SETUGEN2_room_00', + 'Z2_SEA_BS', + 'Z2_SEA_BS_room_00', + 'Z2_RANDOM', + 'Z2_RANDOM_room_00', + 'Z2_RANDOM_room_01', + 'Z2_RANDOM_room_02', + 'Z2_RANDOM_room_03', + 'Z2_RANDOM_room_04', + 'Z2_RANDOM_room_05', + 'Z2_YADOYA', + 'Z2_YADOYA_room_00', + 'Z2_YADOYA_room_01', + 'Z2_YADOYA_room_02', + 'Z2_YADOYA_room_03', + 'Z2_YADOYA_room_04', + 'Z2_KONPEKI_ENT', + 'Z2_KONPEKI_ENT_room_00', + 'Z2_INSIDETOWER', + 'Z2_INSIDETOWER_room_00', + 'Z2_INSIDETOWER_room_01', + 'Z2_26SARUNOMORI', + 'Z2_26SARUNOMORI_room_00', + 'Z2_26SARUNOMORI_room_01', + 'Z2_26SARUNOMORI_room_02', + 'Z2_26SARUNOMORI_room_03', + 'Z2_26SARUNOMORI_room_04', + 'Z2_26SARUNOMORI_room_05', + 'Z2_26SARUNOMORI_room_06', + 'Z2_26SARUNOMORI_room_07', + 'Z2_26SARUNOMORI_room_08', + 'Z2_LOST_WOODS', + 'Z2_LOST_WOODS_room_00', + 'Z2_LOST_WOODS_room_01', + 'Z2_LOST_WOODS_room_02', + 'Z2_LAST_LINK', + 'Z2_LAST_LINK_room_00', + 'Z2_LAST_LINK_room_01', + 'Z2_LAST_LINK_room_02', + 'Z2_LAST_LINK_room_03', + 'Z2_LAST_LINK_room_04', + 'Z2_LAST_LINK_room_05', + 'Z2_LAST_LINK_room_06', + 'Z2_LAST_LINK_room_07', + 'Z2_SOUGEN', + 'Z2_SOUGEN_room_00', + 'Z2_BOMYA', + 'Z2_BOMYA_room_00', + 'Z2_KYOJINNOMA', + 'Z2_KYOJINNOMA_room_00', + 'Z2_KOEPONARACE', + 'Z2_KOEPONARACE_room_00', + 'Z2_GORONRACE', + 'Z2_GORONRACE_room_00', + 'Z2_TOWN', + 'Z2_TOWN_room_00', + 'Z2_ICHIBA', + 'Z2_ICHIBA_room_00', + 'Z2_BACKTOWN', + 'Z2_BACKTOWN_room_00', + 'Z2_CLOCKTOWER', + 'Z2_CLOCKTOWER_room_00', + 'Z2_ALLEY', + 'Z2_ALLEY_room_00', + 'SPOT00', + 'SPOT00_room_00', + 'KAKUSIANA', + 'KAKUSIANA_room_00', + 'KAKUSIANA_room_01', + 'KAKUSIANA_room_02', + 'KAKUSIANA_room_03', + 'KAKUSIANA_room_04', + 'KAKUSIANA_room_05', + 'KAKUSIANA_room_06', + 'KAKUSIANA_room_07', + 'KAKUSIANA_room_08', + 'KAKUSIANA_room_09', + 'KAKUSIANA_room_10', + 'KAKUSIANA_room_11', + 'KAKUSIANA_room_12', + 'KAKUSIANA_room_13', + 'KAKUSIANA_room_14', + 'bump_texture_static', + 'anime_model_1_static', + 'anime_model_2_static', + 'anime_model_3_static', + 'anime_model_4_static', + 'anime_model_5_static', + 'anime_model_6_static', + 'anime_texture_1_static', + 'anime_texture_2_static', + 'anime_texture_3_static', + 'anime_texture_4_static', + 'anime_texture_5_static', + 'anime_texture_6_static', + 'softsprite_matrix_static', +] diff --git a/tools/disasm/files.txt b/tools/disasm/files.txt new file mode 100644 index 0000000000..7cb7a60559 --- /dev/null +++ b/tools/disasm/files.txt @@ -0,0 +1,1329 @@ +# Format: +# +# segment name, input path, segment type, sections(section name, section start, section end, subsection overrides, binary data, relocation data, disasm), files(filename, file start) +# +# segments of type overlay need not specify their section layout as the section layout is extracted from the binary object +# +# section binary data, relocation data and disasm are produced by the disassembler +# + +[ + ['makerom', 'baserom/', 'makerom', + [ + # fake ram addresses + [0x8007F000, 0x8007F040, 'rom_header', None], + [0x8007F040, 0x80080000, 'text', None], + [0x80080000, 0x80080060, 'text', None], + ], + { + 0x8007F000 : "rom_header", + 0x8007F040 : "ipl3", + 0x80080000 : "entry", + }, + ], + ['dmadata', 'baserom/', 'dmadata', + [ + [0x8009F8B0, 0x800A5AB0, 'dmadata', None], + [0x800A5AB0, 0x800A5AC0, 'bss', None], + ], + { + 0x8009F8B0 : "dmadata", + }, + ], + ['boot', 'baserom/', 'boot', + [ + [0x80080060, 0x800969C0, 'text', None], + [0x800969C0, 0x80098190, 'data', None], + [0x80098190, 0x80099500, 'rodata', None], + [0x80099500, 0x8009F8B0, 'bss', None], + ], + { + # .text section + 0x80080060 : "boot_main", + 0x80080150 : "idle", + 0x800805E0 : "viconfig", + 0x80080790 : "z_std_dma", + 0x80080E30 : "yaz0", + 0x80081250 : "irqmgr", + 0x80081820 : "CIC6105", + 0x80081920 : "syncprintf", + 0x80081980 : "fault", + 0x80083EB0 : "fault_drawer", + 0x80084940 : "boot_80084940", + 0x800849A0 : "loadfragment", + 0x80084DB0 : "loadfragment2", + 0x80085130 : "padutils", + 0x80085320 : "stackcheck", + 0x80085570 : "gfxprint", + 0x80086110 : "mtxuty-cvt", + 0x80086280 : "assert", + 0x800862E0 : "", + 0x80086620 : "padsetup", + 0x80086760 : "boot_80086760", + 0x80086C70 : "fp", + 0x80086DD0 : "system_malloc", + 0x80086FA0 : "rand", + 0x80087160 : "__osMalloc", + 0x80087830 : "sprintf", + 0x80087900 : "printutils", + 0x80087B00 : "setcause", + 0x80087B10 : "sendmesg", + 0x80087C60 : "pfsfreeblocks", + 0x80087E00 : "viextend", + 0x80087E10 : "stopthread", + 0x80087ED0 : "recvmesg", + 0x80088010 : "setintmask", + 0x800880B0 : "getintmask", + 0x80088110 : "voicesetword", + 0x800882A0 : "guScale", + 0x80088350 : "sinf", + 0x80088510 : "sins", + 0x80088580 : "sptask", + 0x80088840 : "ll", + 0x80088B00 : "exceptasm", + 0x80089430 : "thread", + 0x80089470 : "destroythread", + 0x80089580 : "voicecheckresult", + 0x80089630 : "bzero", + 0x800896D0 : "rumblepak", + 0x80089AA0 : "siacs", + 0x80089B60 : "controller", + 0x80089E40 : "createthread", + 0x80089F90 : "contreaddata", + 0x8008A170 : "voicegetreaddata", + 0x8008A540 : "virtualtophysical", + 0x8008A5C0 : "getsr", + 0x8008A5D0 : "setsr", + 0x8008A5E0 : "writebackdcache", + 0x8008A660 : "initialize", + 0x8008A9B0 : "[PADDING]", + 0x8008AA10 : "vigetnextframebuf", + 0x8008AA50 : "perspective", + 0x8008ACE0 : "sprawdma", + 0x8008AD70 : "sirawdma", + 0x8008AE20 : "epilinkhandle", + 0x8008AE70 : "viblack", + 0x8008AEE0 : "sirawread", + 0x8008AF30 : "getthreadid", + 0x8008AF50 : "sptaskyield", + 0x8008AF70 : "pfsreadwritefile", + 0x8008B3C0 : "pfsgetstatus", + 0x8008B5F0 : "[PADDING]", + 0x8008B600 : "guMtxIdentF", + 0x8008B650 : "visetmode", + 0x8008B6B0 : "getconfig", + 0x8008B6C0 : "setconfig", + 0x8008B6D0 : "lookat", + 0x8008B9F0 : "pfsallocatefile", + 0x8008BE70 : "stoptimer", + 0x8008BF60 : "probetlb", + 0x8008C020 : "pimgr", + 0x8008C190 : "piacs", + 0x8008C250 : "[PADDING]", + 0x8008C260 : "devmgr", + 0x8008C670 : "pirawdma", + 0x8008C740 : "contpfs", + 0x8008D2C0 : "getcount", + 0x8008D2D0 : "[PADDING]", + 0x8008D2E0 : "guMtxL2F", + 0x8008D350 : "getmemsize", + 0x8008D470 : "pfssearchfile", + 0x8008D640 : "seteventmesg", + 0x8008D700 : "sqrtf", + 0x8008D710 : "afterprenmi", + 0x8008D730 : "contquery", + 0x8008D7D0 : "lookathil", + 0x8008E050 : "xprintf", + 0x8008ED30 : "voicecleardictionary", + 0x8008EDE0 : "unmaptlball", + 0x8008EE30 : "epidma", + 0x8008EED0 : "voicecontread2", + 0x8008F100 : "voicecrc", + 0x8008F1A0 : "string", + 0x8008F240 : "createmesgqueue", + 0x8008F270 : "invalicache", + 0x8008F2F0 : "invaldcache", + 0x8008F3A0 : "timerintr", + 0x8008F7D0 : "voicecontread36", + 0x8008FA00 : "sp", + 0x8008FA30 : "si", + 0x8008FA60 : "guMtxIdent", + 0x8008FAB0 : "jammesg", + 0x8008FC00 : "setthreadpri", + 0x8008FCE0 : "getthreadpri", + 0x8008FD00 : "epirawread", + 0x8008FE60 : "viswapbuf", + 0x8008FEB0 : "position", + 0x800900C0 : "epirawdma", + 0x800902A0 : "sptaskyielded", + 0x80090300 : "memcmp", + 0x80090420 : "gettime", + 0x800904B0 : "rotate", + 0x80090680 : "setglobalintmask", + 0x800906D0 : "voiceinit", + 0x80090810 : "contchannelreset", + 0x80090900 : "voicesetadconverter", + 0x80090AF0 : "aisetfreq", + 0x80090C40 : "contramread", + 0x80090E70 : "voicecontwrite20", + 0x800910A0 : "crc", + 0x80091210 : "getactivequeue", + 0x80091220 : "normalize", + 0x80091280 : "setcompare", + 0x80091290 : "getcompare", + 0x800912A0 : "dpgetstat", + 0x800912B0 : "dpsetstat", + 0x800912C0 : "bcopy", + 0x800915D0 : "resetglobalintmask", + 0x80091630 : "pfsdeletefile", + 0x800918A0 : "ortho", + 0x80091A60 : "interrupt", + 0x80091AF0 : "vi", + 0x80091C10 : "viswapcontext", + 0x80091F10 : "pigetcmdq", + 0x80091F40 : "cosf", + 0x800920B0 : "epiread", + 0x80092100 : "visetspecial", + 0x80092260 : "coss", + 0x80092290 : "settime", + 0x800922C0 : "voicestopread", + 0x800923e0 : "visetevent", + 0x80092440 : "pfsisplug", + 0x80092730 : "voicegetstatus", + 0x80092920 : "cartrominit", + 0x80092A80 : "guS2DInitBg", + 0x80092C00 : "pfsselectbank", + 0x80092C80 : "contsetch", + 0x80092CE0 : "setfpccsr", + 0x80092CF0 : "getfpccsr", + 0x80092D00 : "pfsfilestate", + 0x80092EE0 : "pfsinitpak", + 0x800931F0 : "pfschecker", + 0x80093BA0 : "aigetlen", + 0x80093BB0 : "epiwrite", + 0x80093C00 : "maptlbrdb", + 0x80093C60 : "yieldthread", + 0x80093CB0 : "[PADDING]", + 0x80093CC0 : "guTranslate", + 0x80093D90 : "getcause", + 0x80093DA0 : "contramwrite", + 0x80093FF0 : "epirawwrite", + 0x80094150 : "settimer", + 0x800942E0 : "xldtob", + 0x80094DF0 : "ldiv", + 0x80094F80 : "xlitob", + 0x80095220 : "sirawwrite", + 0x80095270 : "spgetstat", + 0x80095280 : "spsetstat", + 0x80095290 : "[PADDING]", + 0x800952A0 : "vimgr", + 0x800955B0 : "vigetcurrcontext", + 0x800955C0 : "writebackdcacheall", + 0x800955F0 : "getcurrfaultthread", + 0x80095600 : "voicemaskdictionary", + 0x80095730 : "[PADDING]", + 0x80095740 : "guMtxF2L", + 0x800957b0 : "startthread", + 0x80095900 : "visetyscale", + 0x80095950 : "visetxscale", + 0x80095A60 : "llcvt", + 0x80095C70 : "voicecheckword", + 0x80096360 : "voicecontrolgain", + 0x80096410 : "voicestartreaddata", + 0x800964D0 : "vigetcurrframebuf", + 0x80096510 : "spsetpc", + 0x80096540 : "voicecontwrite4", + 0x80096770 : "gethwinterrupt", + 0x800967A0 : "sethwinterrupt", + 0x80096810 : "getwatchlo", + 0x80096820 : "setwatchlo", + 0x80096830 : "fmodf", + 0x80096880 : "__osMemset", + 0x800968B0 : "__osMemcmp", + 0x800968F0 : "__osStrcpy", + 0x80096930 : "__osMemcpy", + + # .data section + 0x800969C0 : "rsp_boot", + 0x80096B20 : "idle", + 0x80096B40 : "viconfig", + 0x80096B50 : "z_std_dma", + 0x80096B60 : "irqmgr", + 0x80096B80 : "fault", + 0x80096BE0 : "fault_drawer", + 0x80096C20 : "loadfragment", + 0x80096C30 : "loadfragment2", + 0x80096C40 : "stackcheck", + 0x80096C50 : "gfxprint", + 0x80097500 : "system_malloc", + 0x80097530 : "rand", + 0x80097540 : "vimodeHpf", + 0x800975E0 : "sins", + 0x80097DE0 : "exceptasm", + 0x80097E10 : "thread", + 0x80097E30 : "siacs", + 0x80097E40 : "controller", + 0x80097E50 : "initialize", + 0x80097E70 : "pimgr", + 0x80097EA0 : "piacs", + 0x80097EB0 : "contpfs", + 0x80097F10 : "seteventmesg", + 0x80097F20 : "xprintf", + 0x80097F70 : "timerintr", + 0x80097F80 : "position", + 0x80097F90 : "rotate", + 0x80097FA0 : "voiceinit", + 0x80097FB0 : "contramread", + 0x80097FC0 : "vi", + 0x800980D0 : "cartrominit", + 0x800980E0 : "guS2DInitBg", + 0x80098130 : "xldtob", + 0x80098160 : "vimgr", + + # .rodata section + 0x80098190 : "boot_main", + 0x800981A0 : "idle", + 0x800981C0 : "z_std_dma", + 0x80098210 : "yaz0", + 0x80098260 : "irqmgr", + 0x80098280 : "CIC6105", + 0x800982B0 : "fault", + 0x80098C50 : "fault_drawer", + 0x80099090 : "gfxprint", + 0x800990B0 : "assert", + 0x800990C0 : "boot_80086760", + 0x80099110 : "__osMalloc", + 0x800991A0 : "setintmask", + 0x80099220 : "sinf", + 0x80099270 : "exceptasm", + 0x800992C0 : "perspective", + 0x800992D0 : "devmgr", + 0x800992F0 : "lookathil", + 0x80099300 : "xprintf", + 0x80099400 : "cosf", + 0x80099450 : "__libm_qnan_f", + 0x80099460 : "xldtob", + 0x800994C0 : "llcvt", + 0x800994D0 : "build", + + # .bss section + 0x80099500 : "boot_main", + 0x80099EF0 : "idle", + 0x8009B2A0 : "z_std_dma", + 0x8009BA10 : "yaz0", + 0x8009BE30 : "CIC6105", + 0x8009BE50 : "fault", + 0x8009CCD0 : "fault_drawer", + 0x8009CD10 : "boot_80086760", + 0x8009CD20 : "system_malloc", + 0x8009CD50 : "rand", + 0x8009CD60 : "__osMalloc", + 0x8009CD70 : "sptask", + 0x8009CDB0 : "rumblepak", + 0x8009CEB0 : "siacs", + 0x8009CED0 : "controller", + 0x8009CF80 : "threadsave", + 0x8009D130 : "initialize", + 0x8009D220 : "pimgr", + 0x8009E510 : "seteventmesg", + 0x8009E590 : "timerintr", + 0x8009E610 : "cartrominit", + 0x8009E690 : "vimgr", + }, + ], + ['code', 'baserom/', 'code', + [ + [0x800A5AC0, 0x801AAAB0, 'text', ((0x80186028, 0x80186A70, 'data', None, None, None),)], + [0x801AAAB0, 0x801DBDF0, 'data', None], + [0x801DBDF0, 0x801E3FA0, 'rodata', None], + [0x801E3FA0, 0x80800000, 'bss', None], + ], + { + # .text section + 0x800A5AC0 : "z_en_a_keep", + 0x800A5D00 : "z_en_item00", + 0x800A81F0 : "z_eff_blure", + 0x800AB5D0 : "z_eff_shield_particle", + 0x800ACBF0 : "z_eff_spark", + 0x800AE2A0 : "z_eff_ss_dead", + 0x800AE930 : "z_eff_tire_mark", + 0x800AF710 : "z_effect", + 0x800B0050 : "z_effect_soft_sprite", + 0x800B0B10 : "z_effect_soft_sprite_old_init", + 0x800B32D0 : "flg_set", + 0x800B3880 : "z_DLF", + 0x800B3AD0 : "z_actor", + 0x800BF9A0 : "z_actor_dlftbls", + 0x800BFB80 : "z_bgcheck", + 0x800CAAD0 : "z_bg_collect", + 0x800CAE10 : "z_bg_item", + 0x800CB000 : "code_800CB000", + 0x800CB210 : "z_camera", + 0x800E03A0 : "z_collision_btltbls", + 0x800E0400 : "[PADDING]", + 0x800E0410 : "z_collision_check", + 0x800E8EA0 : "code_800E8EA0", + 0x800E9360 : "z_common_data", + 0x800E93E0 : "z_debug", + 0x800E9470 : "z_debug_display", + 0x800E9C90 : "z_debug_mode", + 0x800EA060 : "z_demo", + 0x800EE320 : "z_draw", + 0x800EFE60 : "z_eff_footmark", + 0x800F0390 : "code_800F0390", + 0x800F05C0 : "z_elf_message", + 0x800F07C0 : "code_800F07C0", + 0x800F1250 : "z_face_reaction", + 0x800F12D0 : "code_800F12D0", + 0x800F1460 : "z_eventmgr", + 0x800F23E0 : "code_800F23E0", + 0x800F2620 : "z_fcurve_data_skelanime", + 0x800F2D30 : "z_fireobj", + 0x800F3940 : "z_horse", + 0x800F42A0 : "z_jpeg", + 0x800F4A10 : "z_kaleido_setup", + 0x800F4F40 : "z_kanfont", + 0x800F5090 : "z_kankyo", + 0x800FEC90 : "z_lib", + 0x801005C0 : "z_lifemeter", + 0x801019A0 : "z_lights", + 0x80102C60 : "z_malloc", + 0x80102E40 : "z_map_disp", + 0x801094A0 : "z_map_data", + 0x8010A000 : "z_map_exp", + 0x8010A760 : "z_msgevent", + 0x8010C0C0 : "z_nmi_buff", + 0x8010C230 : "z_olib", + 0x8010CB70 : "[PADDING]", + 0x8010CB80 : "z_parameter", + 0x801224E0 : "z_path", + 0x80122660 : "code_80122660", + 0x801226E0 : "z_player_lib", + 0x80129EF0 : "z_prenmi", + 0x8012A080 : "z_quake", + 0x8012BC50 : "z_rcp", + 0x8012D500 : "[PADDING]", + 0x8012D510 : "z_room", + 0x8012EC80 : "code_8012EC80", + 0x8012F2D0 : "[PADDING]", + 0x8012F2E0 : "z_scene", + 0x801307C0 : "z_scene_proc", + 0x801322C0 : "z_scene_table", + 0x801323D0 : "code_801323D0", + 0x801330E0 : "z_skelanime", + 0x80137970 : "z_skin", + 0x80138410 : "z_skin_awb", + 0x80138BA0 : "z_skin_matrix", + 0x8013A240 : "z_snap", + 0x8013A7C0 : "z_sub_s", + 0x8013EC10 : "code_8013EC10", + 0x8013EE60 : "z_view", + 0x80140260 : "z_vimode", + 0x80140E80 : "code_80140E80", + 0x801418B0 : "z_vismono", + 0x801420C0 : "code_801420C0", + 0x80142440 : "z_vr_box", + 0x801435A0 : "z_vr_box_draw", + 0x80143A10 : "z_sram_NES", + 0x80147520 : "z_message", + 0x801588D0 : "z_message_nes", + 0x8015E750 : "z_message_staff", + 0x80160A90 : "z_player_call", + 0x80160C00 : "z_shrink_window", + 0x80161180 : "db_camera", + 0x80163700 : "z_kaleido_manager", + 0x801639A0 : "z_kaleido_scope_call", + 0x80163C90 : "z_fbdemo_dlftbls", + 0x80163DC0 : "z_fbdemo", + 0x801647D0 : "z_fbdemo_fade", + 0x80164AF0 : "z_fbdemo_circle", + 0x801651B0 : "z_overlay", + 0x80165460 : "z_play", + 0x8016AC10 : "z_play_hireso", + 0x8016FCF0 : "PreRender", + 0x801727F0 : "TwoHeadGfxArena", + 0x80172A00 : "TwoHeadArena", + 0x80172BC0 : "code_80172BC0", + 0x80172C30 : "audioMgr", + 0x80173130 : "title_setup", + 0x80173360 : "game", + 0x80173BF0 : "gamealloc", + 0x80173D30 : "graph", + 0x80174A40 : "code_80174A40", + 0x80174AA0 : "listalloc", + 0x80174BF0 : "main", + 0x80174F10 : "padmgr", + 0x80176280 : "sched", + 0x80177390 : "speed_meter", + 0x80178750 : "sys_cmpdma", + 0x80178F30 : "sys_initial_check", + 0x80179300 : "sys_math", + 0x801795F0 : "sys_math3d", + 0x8017FEB0 : "sys_math_atan", + 0x80180160 : "sys_matrix", + 0x80182CE0 : "sys_ucode", + 0x80183070 : "code_80183070", + 0x801830A0 : "c_keyframe", + 0x80185660 : "sys_slowly", + 0x801857C0 : "sys_flashrom", + 0x80185F90 : "", # handwritten + 0x80186A70 : "osFlash", + 0x801877A0 : "[PADDING]", + 0x801877D0 : "audio_synthesis", + 0x8018B0F0 : "audio_heap", + 0x8018EB60 : "audio_load", + 0x80192BE0 : "code_80192BE0", + 0x80194710 : "code_80194710", + 0x80194930 : "audio_playback", + 0x80196A00 : "audio_effects", + 0x801974D0 : "audio_seqplayer", + 0x8019AE40 : "code_8019AE40", + 0x8019AEB0 : "[PADDING]", + 0x8019AEC0 : "code_8019AEC0", + 0x8019AF00 : "code_8019AF00", + 0x801A51F0 : "code_801A51F0", + 0x801A5BC0 : "[PADDING]", + 0x801A5BD0 : "code_801A5BD0", + 0x801A7B10 : "code_801A7B10", + 0x801AA020 : "code_801AA020", + 0x801AA610 : "z_game_over", + 0x801AAAA0 : "z_construct", + + # .data section + 0x801AAAB0 : "z_en_a_keep", + 0x801ADE60 : "", + 0x801ADEC0 : "z_en_item00", + 0x801AE240 : "z_eff_blure", + 0x801AE2F0 : "z_eff_shield_particle", + 0x801AE330 : "", + 0x801AE3A0 : "z_effect_soft_sprite", + 0x801AE3B0 : "z_effect_soft_sprite_old_init", + 0x801AE8F0 : "flg_set_table", + 0x801AEC70 : "flg_set", + 0x801AEC80 : "z_actor", + 0x801AEFD0 : "z_actor_dlftbls", + 0x801B4620 : "z_bgcheck", + 0x801B4710 : "z_camera", + 0x801B9F20 : "z_collision_btltbls", + 0x801BA200 : "z_collision_check", + 0x801BA550 : "z_debug_display", + 0x801BB090 : "z_debug_mode", + 0x801BB170 : "z_draw", + 0x801BC240 : "z_eff_footmark", + 0x801BC2A0 : "", + 0x801BD830 : "", + 0x801BD8d0 : "z_fireobj", + 0x801BD910 : "", + 0x801BDA70 : "z_horse", + 0x801BDAC0 : "z_jpeg", + 0x801BDB30 : "z_kanfont", + 0x801BDB90 : "z_kankyo", + 0x801BE960 : "z_lib", + 0x801BE990 : "z_lifemeter", + 0x801BEAB0 : "z_lights", + 0x801BEAD0 : "z_map_disp", # z_map_data is somewhere in here + 0x801BF550 : "z_map_exp", + 0x801BF5C0 : "z_msgevent", + 0x801BF6C0 : "z_parameter", + 0x801BFDD0 : "z_player_lib", + 0x801C0EC0 : "z_quake", + 0x801C0EF0 : "z_rcp", + 0x801C1D10 : "z_room", + 0x801C1D30 : "code_8012EC80", + 0x801C2410 : "code_801C2410", + 0x801C2650 : "z_scene", + 0x801C2730 : "", + 0x801C3B60 : "z_scene_proc", + 0x801C3CA0 : "z_scene_table", + 0x801C5C50 : "", + 0x801C5CB0 : "z_skelanime", + 0x801C5CD0 : "z_skin_matrix", + 0x801C5D10 : "z_sub_s", + 0x801C5DD0 : "z_vimode", + 0x801C5E30 : "z_vr_box", + 0x801C5FC0 : "z_vr_box_draw", + 0x801C67B0 : "z_sram_NES", + 0x801D0470 : "z_message_nes", + 0x801D0B50 : "", + 0x801D0B70 : "z_kaleido_manager", + 0x801D0BB0 : "", + 0x801D0C80 : "z_fbdemo", + 0x801D0D00 : "z_fbdemo_circle", + 0x801D0D50 : "z_play", + 0x801D0D80 : "z_play_hireso", + 0x801D14F0 : "audioMgr", + 0x801D1500 : "game", + 0x801D1520 : "graph", + 0x801D1530 : "padmgr", + 0x801D1540 : "speed_meter", + 0x801D1570 : "", + 0x801D15B0 : "", + 0x801D15D0 : "sys_math_atan", + 0x801D1DE0 : "sys_matrix", + 0x801D1E70 : "", + 0x801D2E80 : "", # audio_heap? + 0x801D3D90 : "", + 0x801D55B0 : "", + 0x801D8E50 : "code_801A51F0", + 0x801D9090 : "", + + # .rodata section + 0x801DBDF0 : "z_en_item00", + 0x801DC080 : "z_eff_blure", + 0x801DC0B0 : "z_eff_shield_particle", + 0x801DC0C0 : "z_eff_spark", + 0x801DC0D0 : "z_eff_ss_dead", + 0x801DC0E0 : "z_effect", + 0x801DC100 : "z_effect_soft_sprite_old_init", + 0x801DC120 : "flg_set", + 0x801DC9D0 : "z_actor", + 0x801DCBB0 : "z_actor_dlftbls", + 0x801DCC00 : "z_bgcheck", + 0x801DCDB0 : "code_800CB000", + 0x801DCDC0 : "z_camera", + 0x801DD5C0 : "z_collision_check", + 0x801DD600 : "z_debug_mode", + 0x801DD610 : "z_demo", + 0x801DD770 : "z_draw", + 0x801DD780 : "z_eff_footmark", + 0x801DD790 : "z_eventmgr", + 0x801DD7B0 : "code_800F23E0", + 0x801DD7C0 : "z_fcurve_data_skelanime", + 0x801DD7D0 : "z_fireobj", + 0x801DD7E0 : "z_horse", + 0x801DD7F0 : "z_jpeg", + 0x801DD880 : "z_kankyo", + 0x801DDA80 : "z_lib", + 0x801DDA90 : "z_lifemeter", + 0x801DDAB0 : "z_lights", + 0x801DDAC0 : "z_map_disp", + 0x801DDAE0 : "z_olib", + 0x801DDB00 : "z_parameter", + 0x801DDD20 : "z_player_lib", + 0x801DDE10 : "z_quake", + 0x801DDFA0 : "z_room", + 0x801DDFF0 : "z_scene_proc", + 0x801DE020 : "z_scene_table", + 0x801DE5C0 : "z_skin", + 0x801DE5D0 : "z_skin_matrix", + 0x801DE5E0 : "z_sub_s", + 0x801DE890 : "", + 0x801DF090 : "code_8013EC10", + 0x801DF0A0 : "z_view", + 0x801DF0B0 : "z_vimode", + 0x801DF120 : "code_80140E80", + 0x801DF130 : "z_vr_box", + 0x801DF150 : "z_message", + 0x801DF730 : "z_message_nes", + 0x801DF860 : "z_message_staff", + 0x801DF900 : "db_camera", + 0x801DF9C0 : "z_kaleido_manager", + 0x801DF9E0 : "z_fbdemo_circle", + 0x801DFA00 : "z_play", + 0x801DFC50 : "z_play_hireso", + 0x801DFC60 : "PreRender", + 0x801DFC70 : "code_80172BC0", + 0x801DFC80 : "audioMgr", + 0x801DFCC0 : "game", + 0x801DFCE0 : "graph", + 0x801DFD70 : "main", + 0x801DFD90 : "padmgr", + 0x801DFDE0 : "sched", + 0x801E0120 : "sys_math", + 0x801E0130 : "sys_math3d", + 0x801E01E0 : "sys_math_atan", + 0x801E01F0 : "sys_matrix", + 0x801E0200 : "c_keyframe", + 0x801E0230 : "sys_flashrom", + 0x801E0280 : "audio_synthesis", + 0x801E02B0 : "audio_heap", + 0x801E0300 : "audio_load", + 0x801E0390 : "code_80192BE0", + 0x801E04E0 : "audio_playback", + 0x801E0510 : "audio_effects", + 0x801E0540 : "audio_seqplayer", + 0x801E0BD0 : "code_8019AF00", + 0x801E0EC0 : "code_801A51F0", + 0x801E1050 : "code_801A5BD0", + 0x801E1070 : "code_801A7B10", + 0x801E1100 : "code_801AA020", + 0x801E1110 : "z_game_over", + 0x801E1180 : "", + + # .bss section + 0x801E3FA0 : "code_801E3FA0", + 0x801E3FB0 : "z_effect", + 0x801ED8A0 : "z_actor", + 0x801ED930 : "z_actor_dlftbls", + 0x801ED950 : "z_bgcheck", + 0x801EDBF0 : "z_camera", + 0x801EDE00 : "z_collision_check", + 0x801EF670 : "z_common_data", + 0x801F3F60 : "z_debug", + 0x801F3F70 : "z_debug_display", + 0x801F3F80 : "z_debug_mode", + 0x801F4D40 : "z_demo", + 0x801F4DF0 : "z_eventmgr", + 0x801F4E30 : "z_kankyo", + 0x801F4F40 : "z_lifemeter", + 0x801F4F70 : "z_lights", + 0x801F5100 : "z_malloc", + 0x801F5130 : "z_map_disp", + 0x801F5840 : "z_nmi_buff", + 0x801F5850 : "z_parameter", + 0x801F58B0 : "z_player_lib", + 0x801F5A00 : "z_quake", + 0x801F5AA0 : "z_scene_proc", + 0x801F5AB0 : "z_skelanime", + 0x801F5AC0 : "z_skin", + 0x801F69D0 : "code_8013EC10", + 0x801F6AE0 : "z_vr_box_draw", + 0x801F6AF0 : "z_sram_NES", + 0x801F6B00 : "z_message", + 0x801F6B30 : "z_player_call", + 0x801F6B40 : "z_shrink_window", + 0x801F6B50 : "db_camera", + 0x801F6BF0 : "z_kaleido_manager", + 0x801F6C00 : "z_kaleido_scope_call", + 0x801F6C10 : "z_play", + 0x801F6E00 : "PreRender", + 0x801F7FF0 : "game", + 0x801F80D0 : "graph", + 0x801F8160 : "main", + 0x801FBAA0 : "sched", + 0x801FBAE0 : "speed_meter", + 0x801FBB30 : "sys_cfb", + 0x801FBBE0 : "sys_cmpdma", + 0x801FBBF0 : "sys_math3d", + 0x801FBE00 : "sys_matrix", + 0x801FBE10 : "sys_flashrom", + 0x801FD040 : "osFlash", + 0x801FD120 : "audio_heap", + 0x801FD140 : "audio_load", + 0x801FD1F0 : "code_8019AF00", + 0x801FD5A0 : "code_801A51F0", + 0x801FE7C0 : "code_801A5BD0", + 0x801FFD00 : "code_801A7B10", + 0x80208E90 : "code_801AA020", + 0x80208EA0 : "gfxbuffers", + 0x8024A4C0 : "buffers", + }, + ], + ['ovl_title', 'baserom/', 'overlay', [], { 0x80800000 : "ovl_title" }], + ['ovl_select', 'baserom/', 'overlay', [], { 0x80800910 : "ovl_select" }], + ['ovl_opening', 'baserom/', 'overlay', [], { 0x80803DF0 : "ovl_opening" }], + ['ovl_file_choose', 'baserom/', 'overlay', [], { 0x80804010 : "ovl_file_choose" }], + ['ovl_daytelop', 'baserom/', 'overlay', [], { 0x80814EB0 : "ovl_daytelop" }], + ['ovl_kaleido_scope', 'baserom/', 'overlay', [], { 0x808160A0 : "ovl_kaleido_scope" }], + ['ovl_Player_Actor', 'baserom/', 'overlay', [], { 0x8082DA90 : "ovl_Player_Actor" }], + ['ovl_En_Test', 'baserom/', 'overlay', [], { 0x80862B70 : "ovl_En_Test" }], + ['ovl_En_GirlA', 'baserom/', 'overlay', [], { 0x80863870 : "ovl_En_GirlA" }], + ['ovl_En_Part', 'baserom/', 'overlay', [], { 0x80865370 : "ovl_En_Part" }], + ['ovl_En_Light', 'baserom/', 'overlay', [], { 0x80865990 : "ovl_En_Light" }], + ['ovl_En_Door', 'baserom/', 'overlay', [], { 0x80866800 : "ovl_En_Door" }], + ['ovl_En_Box', 'baserom/', 'overlay', [], { 0x80867BD0 : "ovl_En_Box" }], + ['ovl_En_Pametfrog', 'baserom/', 'overlay', [], { 0x80869D90 : "ovl_En_Pametfrog" }], + ['ovl_En_Okuta', 'baserom/', 'overlay', [], { 0x8086DE20 : "ovl_En_Okuta" }], + ['ovl_En_Bom', 'baserom/', 'overlay', [], { 0x80870DB0 : "ovl_En_Bom" }], + ['ovl_En_Wallmas', 'baserom/', 'overlay', [], { 0x80874810 : "ovl_En_Wallmas" }], + ['ovl_En_Dodongo', 'baserom/', 'overlay', [], { 0x80876670 : "ovl_En_Dodongo" }], + ['ovl_En_Firefly', 'baserom/', 'overlay', [], { 0x808796F0 : "ovl_En_Firefly" }], + ['ovl_En_Horse', 'baserom/', 'overlay', [], { 0x8087B730 : "ovl_En_Horse" }], + ['ovl_En_Arrow', 'baserom/', 'overlay', [], { 0x8088A240 : "ovl_En_Arrow" }], + ['ovl_En_Elf', 'baserom/', 'overlay', [], { 0x8088C510 : "ovl_En_Elf" }], + ['ovl_En_Niw', 'baserom/', 'overlay', [], { 0x80891060 : "ovl_En_Niw" }], + ['ovl_En_Tite', 'baserom/', 'overlay', [], { 0x808937F0 : "ovl_En_Tite" }], + ['ovl_En_Peehat', 'baserom/', 'overlay', [], { 0x80896F30 : "ovl_En_Peehat" }], + ['ovl_En_Holl', 'baserom/', 'overlay', [], { 0x80899960 : "ovl_En_Holl" }], + ['ovl_En_Dinofos', 'baserom/', 'overlay', [], { 0x8089A6E0 : "ovl_En_Dinofos" }], + ['ovl_En_Hata', 'baserom/', 'overlay', [], { 0x8089E8E0 : "ovl_En_Hata" }], + ['ovl_En_Zl1', 'baserom/', 'overlay', [], { 0x8089ED90 : "ovl_En_Zl1" }], + ['ovl_En_Viewer', 'baserom/', 'overlay', [], { 0x8089EE20 : "ovl_En_Viewer" }], + ['ovl_En_Bubble', 'baserom/', 'overlay', [], { 0x8089F4E0 : "ovl_En_Bubble" }], + ['ovl_Door_Shutter', 'baserom/', 'overlay', [], { 0x808A08F0 : "ovl_Door_Shutter" }], + ['ovl_En_Boom', 'baserom/', 'overlay', [], { 0x808A24D0 : "ovl_En_Boom" }], + ['ovl_En_Torch2', 'baserom/', 'overlay', [], { 0x808A31B0 : "ovl_En_Torch2" }], + ['ovl_En_Minifrog', 'baserom/', 'overlay', [], { 0x808A3670 : "ovl_En_Minifrog" }], + ['ovl_En_St', 'baserom/', 'overlay', [], { 0x808A5050 : "ovl_En_St" }], + ['ovl_Obj_Wturn', 'baserom/', 'overlay', [], { 0x808A7930 : "ovl_Obj_Wturn" }], + ['ovl_En_River_Sound', 'baserom/', 'overlay', [], { 0x808A7E30 : "ovl_En_River_Sound" }], + ['ovl_En_Ossan', 'baserom/', 'overlay', [], { 0x808A80A0 : "ovl_En_Ossan" }], + ['ovl_En_Famos', 'baserom/', 'overlay', [], { 0x808AC920 : "ovl_En_Famos" }], + ['ovl_En_Bombf', 'baserom/', 'overlay', [], { 0x808AE8C0 : "ovl_En_Bombf" }], + ['ovl_En_Am', 'baserom/', 'overlay', [], { 0x808AFCD0 : "ovl_En_Am" }], + ['ovl_En_Dekubaba', 'baserom/', 'overlay', [], { 0x808B1330 : "ovl_En_Dekubaba" }], + ['ovl_En_M_Fire1', 'baserom/', 'overlay', [], { 0x808B5230 : "ovl_En_M_Fire1" }], + ['ovl_En_M_Thunder', 'baserom/', 'overlay', [], { 0x808B53C0 : "ovl_En_M_Thunder" }], + ['ovl_Bg_Breakwall', 'baserom/', 'overlay', [], { 0x808B7360 : "ovl_Bg_Breakwall" }], + ['ovl_Door_Warp1', 'baserom/', 'overlay', [], { 0x808B8490 : "ovl_Door_Warp1" }], + ['ovl_Obj_Syokudai', 'baserom/', 'overlay', [], { 0x808BC010 : "ovl_Obj_Syokudai" }], + ['ovl_Item_B_Heart', 'baserom/', 'overlay', [], { 0x808BCDF0 : "ovl_Item_B_Heart" }], + ['ovl_En_Dekunuts', 'baserom/', 'overlay', [], { 0x808BD1E0 : "ovl_En_Dekunuts" }], + ['ovl_En_Bbfall', 'baserom/', 'overlay', [], { 0x808BF220 : "ovl_En_Bbfall" }], + ['ovl_Arms_Hook', 'baserom/', 'overlay', [], { 0x808C1030 : "ovl_Arms_Hook" }], + ['ovl_En_Bb', 'baserom/', 'overlay', [], { 0x808C1D40 : "ovl_En_Bb" }], + ['ovl_Bg_Keikoku_Spr', 'baserom/', 'overlay', [], { 0x808C3A50 : "ovl_Bg_Keikoku_Spr" }], + ['ovl_En_Wood02', 'baserom/', 'overlay', [], { 0x808C3C00 : "ovl_En_Wood02" }], + ['ovl_En_Death', 'baserom/', 'overlay', [], { 0x808C4F80 : "ovl_En_Death" }], + ['ovl_En_Minideath', 'baserom/', 'overlay', [], { 0x808CA0B0 : "ovl_En_Minideath" }], + ['ovl_En_Vm', 'baserom/', 'overlay', [], { 0x808CC260 : "ovl_En_Vm" }], + ['ovl_Demo_Effect', 'baserom/', 'overlay', [], { 0x808CD740 : "ovl_Demo_Effect" }], + ['ovl_Demo_Kankyo', 'baserom/', 'overlay', [], { 0x808CE450 : "ovl_Demo_Kankyo" }], + ['ovl_En_Floormas', 'baserom/', 'overlay', [], { 0x808D0680 : "ovl_En_Floormas" }], + ['ovl_En_Rd', 'baserom/', 'overlay', [], { 0x808D3E20 : "ovl_En_Rd" }], + ['ovl_Bg_F40_Flift', 'baserom/', 'overlay', [], { 0x808D7550 : "ovl_Bg_F40_Flift" }], + ['ovl_Obj_Mure', 'baserom/', 'overlay', [], { 0x808D78D0 : "ovl_Obj_Mure" }], + ['ovl_En_Sw', 'baserom/', 'overlay', [], { 0x808D8940 : "ovl_En_Sw" }], + ['ovl_Object_Kankyo', 'baserom/', 'overlay', [], { 0x808DBE80 : "ovl_Object_Kankyo" }], + ['ovl_En_Horse_Link_Child', 'baserom/', 'overlay', [], { 0x808DE5C0 : "ovl_En_Horse_Link_Child" }], + ['ovl_Door_Ana', 'baserom/', 'overlay', [], { 0x808E01A0 : "ovl_Door_Ana" }], + ['ovl_En_Encount1', 'baserom/', 'overlay', [], { 0x808E0830 : "ovl_En_Encount1" }], + ['ovl_Demo_Tre_Lgt', 'baserom/', 'overlay', [], { 0x808E0E40 : "ovl_Demo_Tre_Lgt" }], + ['ovl_En_Encount2', 'baserom/', 'overlay', [], { 0x808E1560 : "ovl_En_Encount2" }], + ['ovl_En_Fire_Rock', 'baserom/', 'overlay', [], { 0x808E1FE0 : "ovl_En_Fire_Rock" }], + ['ovl_Bg_Ctower_Rot', 'baserom/', 'overlay', [], { 0x808E2070 : "ovl_Bg_Ctower_Rot" }], + ['ovl_Mir_Ray', 'baserom/', 'overlay', [], { 0x808E2600 : "ovl_Mir_Ray" }], + ['ovl_En_Sb', 'baserom/', 'overlay', [], { 0x808E3EF0 : "ovl_En_Sb" }], + ['ovl_En_Bigslime', 'baserom/', 'overlay', [], { 0x808E4FC0 : "ovl_En_Bigslime" }], + ['ovl_En_Karebaba', 'baserom/', 'overlay', [], { 0x808F1200 : "ovl_En_Karebaba" }], + ['ovl_En_In', 'baserom/', 'overlay', [], { 0x808F30B0 : "ovl_En_In" }], + ['ovl_En_Bom_Chu', 'baserom/', 'overlay', [], { 0x808F74B0 : "ovl_En_Bom_Chu" }], + ['ovl_En_Horse_Game_Check', 'baserom/', 'overlay', [], { 0x808F8AA0 : "ovl_En_Horse_Game_Check" }], + ['ovl_En_Rr', 'baserom/', 'overlay', [], { 0x808F9E00 : "ovl_En_Rr" }], + ['ovl_En_Fr', 'baserom/', 'overlay', [], { 0x808FC550 : "ovl_En_Fr" }], + ['ovl_En_Fishing', 'baserom/', 'overlay', [], { 0x808FC6C0 : "ovl_En_Fishing" }], + ['ovl_Obj_Oshihiki', 'baserom/', 'overlay', [], { 0x80917290 : "ovl_Obj_Oshihiki" }], + ['ovl_Eff_Dust', 'baserom/', 'overlay', [], { 0x80918B40 : "ovl_Eff_Dust" }], + ['ovl_Bg_Umajump', 'baserom/', 'overlay', [], { 0x80919F30 : "ovl_Bg_Umajump" }], + ['ovl_En_Insect', 'baserom/', 'overlay', [], { 0x8091A8A0 : "ovl_En_Insect" }], + ['ovl_En_Butte', 'baserom/', 'overlay', [], { 0x8091C0A0 : "ovl_En_Butte" }], + ['ovl_En_Fish', 'baserom/', 'overlay', [], { 0x8091D630 : "ovl_En_Fish" }], + ['ovl_Item_Etcetera', 'baserom/', 'overlay', [], { 0x8091FEF0 : "ovl_Item_Etcetera" }], + ['ovl_Arrow_Fire', 'baserom/', 'overlay', [], { 0x80920340 : "ovl_Arrow_Fire" }], + ['ovl_Arrow_Ice', 'baserom/', 'overlay', [], { 0x80922430 : "ovl_Arrow_Ice" }], + ['ovl_Arrow_Light', 'baserom/', 'overlay', [], { 0x80924300 : "ovl_Arrow_Light" }], + ['ovl_Obj_Kibako', 'baserom/', 'overlay', [], { 0x809261B0 : "ovl_Obj_Kibako" }], + ['ovl_Obj_Tsubo', 'baserom/', 'overlay', [], { 0x809275C0 : "ovl_Obj_Tsubo" }], + ['ovl_En_Ik', 'baserom/', 'overlay', [], { 0x80929910 : "ovl_En_Ik" }], + ['ovl_Demo_Shd', 'baserom/', 'overlay', [], { 0x8092C530 : "ovl_Demo_Shd" }], + ['ovl_En_Dns', 'baserom/', 'overlay', [], { 0x8092C5C0 : "ovl_En_Dns" }], + ['ovl_Elf_Msg', 'baserom/', 'overlay', [], { 0x8092DF90 : "ovl_Elf_Msg" }], + ['ovl_En_Honotrap', 'baserom/', 'overlay', [], { 0x8092E510 : "ovl_En_Honotrap" }], + ['ovl_En_Tubo_Trap', 'baserom/', 'overlay', [], { 0x809307E0 : "ovl_En_Tubo_Trap" }], + ['ovl_Obj_Ice_Poly', 'baserom/', 'overlay', [], { 0x80931560 : "ovl_Obj_Ice_Poly" }], + ['ovl_En_Fz', 'baserom/', 'overlay', [], { 0x80932490 : "ovl_En_Fz" }], + ['ovl_En_Kusa', 'baserom/', 'overlay', [], { 0x809349E0 : "ovl_En_Kusa" }], + ['ovl_Obj_Bean', 'baserom/', 'overlay', [], { 0x80936CF0 : "ovl_Obj_Bean" }], + ['ovl_Obj_Bombiwa', 'baserom/', 'overlay', [], { 0x809393B0 : "ovl_Obj_Bombiwa" }], + ['ovl_Obj_Switch', 'baserom/', 'overlay', [], { 0x8093ABD0 : "ovl_Obj_Switch" }], + ['ovl_Obj_Lift', 'baserom/', 'overlay', [], { 0x8093D3C0 : "ovl_Obj_Lift" }], + ['ovl_Obj_Hsblock', 'baserom/', 'overlay', [], { 0x8093DEA0 : "ovl_Obj_Hsblock" }], + ['ovl_En_Okarina_Tag', 'baserom/', 'overlay', [], { 0x8093E420 : "ovl_En_Okarina_Tag" }], + ['ovl_En_Goroiwa', 'baserom/', 'overlay', [], { 0x8093E8A0 : "ovl_En_Goroiwa" }], + ['ovl_En_Daiku', 'baserom/', 'overlay', [], { 0x809434B0 : "ovl_En_Daiku" }], + ['ovl_En_Nwc', 'baserom/', 'overlay', [], { 0x809441E0 : "ovl_En_Nwc" }], + ['ovl_Item_Inbox', 'baserom/', 'overlay', [], { 0x809454F0 : "ovl_Item_Inbox" }], + ['ovl_En_Ge1', 'baserom/', 'overlay', [], { 0x80945650 : "ovl_En_Ge1" }], + ['ovl_Obj_Blockstop', 'baserom/', 'overlay', [], { 0x809466A0 : "ovl_Obj_Blockstop" }], + ['ovl_En_Sda', 'baserom/', 'overlay', [], { 0x809468D0 : "ovl_En_Sda" }], + ['ovl_En_Clear_Tag', 'baserom/', 'overlay', [], { 0x80947F60 : "ovl_En_Clear_Tag" }], + ['ovl_En_Gm', 'baserom/', 'overlay', [], { 0x8094DEE0 : "ovl_En_Gm" }], + ['ovl_En_Ms', 'baserom/', 'overlay', [], { 0x80952620 : "ovl_En_Ms" }], + ['ovl_En_Hs', 'baserom/', 'overlay', [], { 0x80952C50 : "ovl_En_Hs" }], + ['ovl_Bg_Ingate', 'baserom/', 'overlay', [], { 0x80953A90 : "ovl_Bg_Ingate" }], + ['ovl_En_Kanban', 'baserom/', 'overlay', [], { 0x80954960 : "ovl_En_Kanban" }], + ['ovl_En_Attack_Niw', 'baserom/', 'overlay', [], { 0x809580C0 : "ovl_En_Attack_Niw" }], + ['ovl_En_Mk', 'baserom/', 'overlay', [], { 0x809592E0 : "ovl_En_Mk" }], + ['ovl_En_Owl', 'baserom/', 'overlay', [], { 0x8095A510 : "ovl_En_Owl" }], + ['ovl_En_Ishi', 'baserom/', 'overlay', [], { 0x8095D6E0 : "ovl_En_Ishi" }], + ['ovl_Obj_Hana', 'baserom/', 'overlay', [], { 0x8095FB10 : "ovl_Obj_Hana" }], + ['ovl_Obj_Lightswitch', 'baserom/', 'overlay', [], { 0x8095FBF0 : "ovl_Obj_Lightswitch" }], + ['ovl_Obj_Mure2', 'baserom/', 'overlay', [], { 0x80960CF0 : "ovl_Obj_Mure2" }], + ['ovl_En_Fu', 'baserom/', 'overlay', [], { 0x809616E0 : "ovl_En_Fu" }], + ['ovl_En_Stream', 'baserom/', 'overlay', [], { 0x80965650 : "ovl_En_Stream" }], + ['ovl_En_Mm', 'baserom/', 'overlay', [], { 0x80965BB0 : "ovl_En_Mm" }], + ['ovl_En_Weather_Tag', 'baserom/', 'overlay', [], { 0x80966410 : "ovl_En_Weather_Tag" }], + ['ovl_En_Ani', 'baserom/', 'overlay', [], { 0x809679D0 : "ovl_En_Ani" }], + ['ovl_En_Js', 'baserom/', 'overlay', [], { 0x809687B0 : "ovl_En_Js" }], + ['ovl_En_Okarina_Effect', 'baserom/', 'overlay', [], { 0x8096B0A0 : "ovl_En_Okarina_Effect" }], + ['ovl_En_Mag', 'baserom/', 'overlay', [], { 0x8096B310 : "ovl_En_Mag" }], + ['ovl_Elf_Msg2', 'baserom/', 'overlay', [], { 0x8096EC40 : "ovl_Elf_Msg2" }], + ['ovl_Bg_F40_Swlift', 'baserom/', 'overlay', [], { 0x8096F160 : "ovl_Bg_F40_Swlift" }], + ['ovl_En_Kakasi', 'baserom/', 'overlay', [], { 0x8096F5E0 : "ovl_En_Kakasi" }], + ['ovl_Obj_Makeoshihiki', 'baserom/', 'overlay', [], { 0x80972350 : "ovl_Obj_Makeoshihiki" }], + ['ovl_Oceff_Spot', 'baserom/', 'overlay', [], { 0x80972680 : "ovl_Oceff_Spot" }], + ['ovl_En_Torch', 'baserom/', 'overlay', [], { 0x80973550 : "ovl_En_Torch" }], + ['ovl_Shot_Sun', 'baserom/', 'overlay', [], { 0x80973640 : "ovl_Shot_Sun" }], + ['ovl_Obj_Roomtimer', 'baserom/', 'overlay', [], { 0x80973C50 : "ovl_Obj_Roomtimer" }], + ['ovl_En_Ssh', 'baserom/', 'overlay', [], { 0x80973EF0 : "ovl_En_Ssh" }], + ['ovl_Oceff_Wipe', 'baserom/', 'overlay', [], { 0x809764B0 : "ovl_Oceff_Wipe" }], + ['ovl_Effect_Ss_Dust', 'baserom/', 'overlay', [], { 0x80977210 : "ovl_Effect_Ss_Dust" }], + ['ovl_Effect_Ss_Kirakira', 'baserom/', 'overlay', [], { 0x80977A00 : "ovl_Effect_Ss_Kirakira" }], + ['ovl_Effect_Ss_Bomb2', 'baserom/', 'overlay', [], { 0x80978070 : "ovl_Effect_Ss_Bomb2" }], + ['ovl_Effect_Ss_Blast', 'baserom/', 'overlay', [], { 0x809788D0 : "ovl_Effect_Ss_Blast" }], + ['ovl_Effect_Ss_G_Spk', 'baserom/', 'overlay', [], { 0x80978C30 : "ovl_Effect_Ss_G_Spk" }], + ['ovl_Effect_Ss_D_Fire', 'baserom/', 'overlay', [], { 0x809791B0 : "ovl_Effect_Ss_D_Fire" }], + ['ovl_Effect_Ss_Bubble', 'baserom/', 'overlay', [], { 0x809795C0 : "ovl_Effect_Ss_Bubble" }], + ['ovl_Effect_Ss_G_Ripple', 'baserom/', 'overlay', [], { 0x80979B30 : "ovl_Effect_Ss_G_Ripple" }], + ['ovl_Effect_Ss_G_Splash', 'baserom/', 'overlay', [], { 0x8097A050 : "ovl_Effect_Ss_G_Splash" }], + ['ovl_Effect_Ss_G_Fire', 'baserom/', 'overlay', [], { 0x8097A470 : "ovl_Effect_Ss_G_Fire" }], + ['ovl_Effect_Ss_Lightning', 'baserom/', 'overlay', [], { 0x8097A680 : "ovl_Effect_Ss_Lightning" }], + ['ovl_Effect_Ss_Dt_Bubble', 'baserom/', 'overlay', [], { 0x8097AD60 : "ovl_Effect_Ss_Dt_Bubble" }], + ['ovl_Effect_Ss_Hahen', 'baserom/', 'overlay', [], { 0x8097B270 : "ovl_Effect_Ss_Hahen" }], + ['ovl_Effect_Ss_Stick', 'baserom/', 'overlay', [], { 0x8097B810 : "ovl_Effect_Ss_Stick" }], + ['ovl_Effect_Ss_Sibuki', 'baserom/', 'overlay', [], { 0x8097BAD0 : "ovl_Effect_Ss_Sibuki" }], + ['ovl_Effect_Ss_Stone1', 'baserom/', 'overlay', [], { 0x8097C130 : "ovl_Effect_Ss_Stone1" }], + ['ovl_Effect_Ss_Hitmark', 'baserom/', 'overlay', [], { 0x8097C490 : "ovl_Effect_Ss_Hitmark" }], + ['ovl_Effect_Ss_Fhg_Flash', 'baserom/', 'overlay', [], { 0x8097C990 : "ovl_Effect_Ss_Fhg_Flash" }], + ['ovl_Effect_Ss_K_Fire', 'baserom/', 'overlay', [], { 0x8097D410 : "ovl_Effect_Ss_K_Fire" }], + ['ovl_Effect_Ss_Solder_Srch_Ball', 'baserom/', 'overlay', [], { 0x8097D850 : "ovl_Effect_Ss_Solder_Srch_Ball" }], + ['ovl_Effect_Ss_Kakera', 'baserom/', 'overlay', [], { 0x8097DCA0 : "ovl_Effect_Ss_Kakera" }], + ['ovl_Effect_Ss_Ice_Piece', 'baserom/', 'overlay', [], { 0x8097ECD0 : "ovl_Effect_Ss_Ice_Piece" }], + ['ovl_Effect_Ss_En_Ice', 'baserom/', 'overlay', [], { 0x8097F0D0 : "ovl_Effect_Ss_En_Ice" }], + ['ovl_Effect_Ss_Fire_Tail', 'baserom/', 'overlay', [], { 0x8097F880 : "ovl_Effect_Ss_Fire_Tail" }], + ['ovl_Effect_Ss_En_Fire', 'baserom/', 'overlay', [], { 0x8097FF60 : "ovl_Effect_Ss_En_Fire" }], + ['ovl_Effect_Ss_Extra', 'baserom/', 'overlay', [], { 0x809805D0 : "ovl_Effect_Ss_Extra" }], + ['ovl_Effect_Ss_Dead_Db', 'baserom/', 'overlay', [], { 0x80980940 : "ovl_Effect_Ss_Dead_Db" }], + ['ovl_Effect_Ss_Dead_Dd', 'baserom/', 'overlay', [], { 0x80980D50 : "ovl_Effect_Ss_Dead_Dd" }], + ['ovl_Effect_Ss_Dead_Ds', 'baserom/', 'overlay', [], { 0x809812E0 : "ovl_Effect_Ss_Dead_Ds" }], + ['ovl_Oceff_Storm', 'baserom/', 'overlay', [], { 0x80981760 : "ovl_Oceff_Storm" }], + ['ovl_Obj_Demo', 'baserom/', 'overlay', [], { 0x80983520 : "ovl_Obj_Demo" }], + ['ovl_En_Minislime', 'baserom/', 'overlay', [], { 0x809838F0 : "ovl_En_Minislime" }], + ['ovl_En_Nutsball', 'baserom/', 'overlay', [], { 0x80985C40 : "ovl_En_Nutsball" }], + ['ovl_Oceff_Wipe2', 'baserom/', 'overlay', [], { 0x80986270 : "ovl_Oceff_Wipe2" }], + ['ovl_Oceff_Wipe3', 'baserom/', 'overlay', [], { 0x809879E0 : "ovl_Oceff_Wipe3" }], + ['ovl_En_Dg', 'baserom/', 'overlay', [], { 0x80989140 : "ovl_En_Dg" }], + ['ovl_En_Si', 'baserom/', 'overlay', [], { 0x8098CA20 : "ovl_En_Si" }], + ['ovl_Obj_Comb', 'baserom/', 'overlay', [], { 0x8098CE40 : "ovl_Obj_Comb" }], + ['ovl_Obj_Kibako2', 'baserom/', 'overlay', [], { 0x8098E5C0 : "ovl_Obj_Kibako2" }], + ['ovl_En_Hs2', 'baserom/', 'overlay', [], { 0x8098EF60 : "ovl_En_Hs2" }], + ['ovl_Obj_Mure3', 'baserom/', 'overlay', [], { 0x8098F040 : "ovl_Obj_Mure3" }], + ['ovl_En_Tg', 'baserom/', 'overlay', [], { 0x8098F800 : "ovl_En_Tg" }], + ['ovl_En_Wf', 'baserom/', 'overlay', [], { 0x80990310 : "ovl_En_Wf" }], + ['ovl_En_Skb', 'baserom/', 'overlay', [], { 0x809947B0 : "ovl_En_Skb" }], + ['ovl_En_Gs', 'baserom/', 'overlay', [], { 0x80997A90 : "ovl_En_Gs" }], + ['ovl_Obj_Sound', 'baserom/', 'overlay', [], { 0x8099A920 : "ovl_Obj_Sound" }], + ['ovl_En_Crow', 'baserom/', 'overlay', [], { 0x8099AB30 : "ovl_En_Crow" }], + ['ovl_En_Cow', 'baserom/', 'overlay', [], { 0x8099C290 : "ovl_En_Cow" }], + ['ovl_Oceff_Wipe4', 'baserom/', 'overlay', [], { 0x8099D780 : "ovl_Oceff_Wipe4" }], + ['ovl_En_Zo', 'baserom/', 'overlay', [], { 0x8099E790 : "ovl_En_Zo" }], + ['ovl_Effect_Ss_Ice_Smoke', 'baserom/', 'overlay', [], { 0x8099F730 : "ovl_Effect_Ss_Ice_Smoke" }], + ['ovl_Obj_Makekinsuta', 'baserom/', 'overlay', [], { 0x8099FA40 : "ovl_Obj_Makekinsuta" }], + ['ovl_En_Ge3', 'baserom/', 'overlay', [], { 0x8099FEB0 : "ovl_En_Ge3" }], + ['ovl_Obj_Hamishi', 'baserom/', 'overlay', [], { 0x809A0F20 : "ovl_Obj_Hamishi" }], + ['ovl_En_Zl4', 'baserom/', 'overlay', [], { 0x809A1BB0 : "ovl_En_Zl4" }], + ['ovl_En_Mm2', 'baserom/', 'overlay', [], { 0x809A2030 : "ovl_En_Mm2" }], + ['ovl_Door_Spiral', 'baserom/', 'overlay', [], { 0x809A2B60 : "ovl_Door_Spiral" }], + ['ovl_Obj_Pzlblock', 'baserom/', 'overlay', [], { 0x809A33E0 : "ovl_Obj_Pzlblock" }], + ['ovl_Obj_Toge', 'baserom/', 'overlay', [], { 0x809A41C0 : "ovl_Obj_Toge" }], + ['ovl_Obj_Armos', 'baserom/', 'overlay', [], { 0x809A4E00 : "ovl_Obj_Armos" }], + ['ovl_Obj_Boyo', 'baserom/', 'overlay', [], { 0x809A5D10 : "ovl_Obj_Boyo" }], + ['ovl_En_Grasshopper', 'baserom/', 'overlay', [], { 0x809A6280 : "ovl_En_Grasshopper" }], + ['ovl_Obj_Grass', 'baserom/', 'overlay', [], { 0x809A9110 : "ovl_Obj_Grass" }], + ['ovl_Obj_Grass_Carry', 'baserom/', 'overlay', [], { 0x809AAE60 : "ovl_Obj_Grass_Carry" }], + ['ovl_Obj_Grass_Unit', 'baserom/', 'overlay', [], { 0x809ABDE0 : "ovl_Obj_Grass_Unit" }], + ['ovl_Bg_Fire_Wall', 'baserom/', 'overlay', [], { 0x809AC4B0 : "ovl_Bg_Fire_Wall" }], + ['ovl_En_Bu', 'baserom/', 'overlay', [], { 0x809ACD90 : "ovl_En_Bu" }], + ['ovl_En_Encount3', 'baserom/', 'overlay', [], { 0x809ACF40 : "ovl_En_Encount3" }], + ['ovl_En_Jso', 'baserom/', 'overlay', [], { 0x809AD8E0 : "ovl_En_Jso" }], + ['ovl_Obj_Chikuwa', 'baserom/', 'overlay', [], { 0x809B1550 : "ovl_Obj_Chikuwa" }], + ['ovl_En_Knight', 'baserom/', 'overlay', [], { 0x809B20F0 : "ovl_En_Knight" }], + ['ovl_En_Warp_tag', 'baserom/', 'overlay', [], { 0x809C0760 : "ovl_En_Warp_tag" }], + ['ovl_En_Aob_01', 'baserom/', 'overlay', [], { 0x809C10B0 : "ovl_En_Aob_01" }], + ['ovl_En_Boj_01', 'baserom/', 'overlay', [], { 0x809C3D80 : "ovl_En_Boj_01" }], + ['ovl_En_Boj_02', 'baserom/', 'overlay', [], { 0x809C3E10 : "ovl_En_Boj_02" }], + ['ovl_En_Boj_03', 'baserom/', 'overlay', [], { 0x809C3EA0 : "ovl_En_Boj_03" }], + ['ovl_En_Encount4', 'baserom/', 'overlay', [], { 0x809C3F30 : "ovl_En_Encount4" }], + ['ovl_En_Bom_Bowl_Man', 'baserom/', 'overlay', [], { 0x809C4790 : "ovl_En_Bom_Bowl_Man" }], + ['ovl_En_Syateki_Man', 'baserom/', 'overlay', [], { 0x809C64C0 : "ovl_En_Syateki_Man" }], + ['ovl_Bg_Icicle', 'baserom/', 'overlay', [], { 0x809C9A60 : "ovl_Bg_Icicle" }], + ['ovl_En_Syateki_Crow', 'baserom/', 'overlay', [], { 0x809CA3F0 : "ovl_En_Syateki_Crow" }], + ['ovl_En_Boj_04', 'baserom/', 'overlay', [], { 0x809CB200 : "ovl_En_Boj_04" }], + ['ovl_En_Cne_01', 'baserom/', 'overlay', [], { 0x809CB290 : "ovl_En_Cne_01" }], + ['ovl_En_Bba_01', 'baserom/', 'overlay', [], { 0x809CC060 : "ovl_En_Bba_01" }], + ['ovl_En_Bji_01', 'baserom/', 'overlay', [], { 0x809CCDE0 : "ovl_En_Bji_01" }], + ['ovl_Bg_Spdweb', 'baserom/', 'overlay', [], { 0x809CDEC0 : "ovl_Bg_Spdweb" }], + ['ovl_En_Mt_tag', 'baserom/', 'overlay', [], { 0x809CF350 : "ovl_En_Mt_tag" }], + ['ovl_Boss_01', 'baserom/', 'overlay', [], { 0x809D0530 : "ovl_Boss_01" }], + ['ovl_Boss_02', 'baserom/', 'overlay', [], { 0x809DA1D0 : "ovl_Boss_02" }], + ['ovl_Boss_03', 'baserom/', 'overlay', [], { 0x809E2760 : "ovl_Boss_03" }], + ['ovl_Boss_04', 'baserom/', 'overlay', [], { 0x809EC040 : "ovl_Boss_04" }], + ['ovl_Boss_05', 'baserom/', 'overlay', [], { 0x809EE4E0 : "ovl_Boss_05" }], + ['ovl_Boss_06', 'baserom/', 'overlay', [], { 0x809F2120 : "ovl_Boss_06" }], + ['ovl_Boss_07', 'baserom/', 'overlay', [], { 0x809F4980 : "ovl_Boss_07" }], + ['ovl_Bg_Dy_Yoseizo', 'baserom/', 'overlay', [], { 0x80A0A8A0 : "ovl_Bg_Dy_Yoseizo" }], + ['ovl_En_Boj_05', 'baserom/', 'overlay', [], { 0x80A0C780 : "ovl_En_Boj_05" }], + ['ovl_En_Sob1', 'baserom/', 'overlay', [], { 0x80A0C810 : "ovl_En_Sob1" }], + ['ovl_En_Go', 'baserom/', 'overlay', [], { 0x80A10FD0 : "ovl_En_Go" }], + ['ovl_En_Raf', 'baserom/', 'overlay', [], { 0x80A16D40 : "ovl_En_Raf" }], + ['ovl_Obj_Funen', 'baserom/', 'overlay', [], { 0x80A19740 : "ovl_Obj_Funen" }], + ['ovl_Obj_Raillift', 'baserom/', 'overlay', [], { 0x80A19910 : "ovl_Obj_Raillift" }], + ['ovl_Bg_Numa_Hana', 'baserom/', 'overlay', [], { 0x80A1A500 : "ovl_Bg_Numa_Hana" }], + ['ovl_Obj_Flowerpot', 'baserom/', 'overlay', [], { 0x80A1B3D0 : "ovl_Obj_Flowerpot" }], + ['ovl_Obj_Spinyroll', 'baserom/', 'overlay', [], { 0x80A1DA50 : "ovl_Obj_Spinyroll" }], + ['ovl_Dm_Hina', 'baserom/', 'overlay', [], { 0x80A1F410 : "ovl_Dm_Hina" }], + ['ovl_En_Syateki_Wf', 'baserom/', 'overlay', [], { 0x80A1FE50 : "ovl_En_Syateki_Wf" }], + ['ovl_Obj_Skateblock', 'baserom/', 'overlay', [], { 0x80A21150 : "ovl_Obj_Skateblock" }], + ['ovl_Effect_En_Ice_Block', 'baserom/', 'overlay', [], { 0x80A22D40 : "ovl_Effect_En_Ice_Block" }], + ['ovl_Obj_Iceblock', 'baserom/', 'overlay', [], { 0x80A23090 : "ovl_Obj_Iceblock" }], + ['ovl_En_Bigpamet', 'baserom/', 'overlay', [], { 0x80A27520 : "ovl_En_Bigpamet" }], + ['ovl_Bg_Dblue_Movebg', 'baserom/', 'overlay', [], { 0x80A29A80 : "ovl_Bg_Dblue_Movebg" }], + ['ovl_En_Syateki_Dekunuts', 'baserom/', 'overlay', [], { 0x80A2BC00 : "ovl_En_Syateki_Dekunuts" }], + ['ovl_Elf_Msg3', 'baserom/', 'overlay', [], { 0x80A2CD10 : "ovl_Elf_Msg3" }], + ['ovl_En_Fg', 'baserom/', 'overlay', [], { 0x80A2D280 : "ovl_En_Fg" }], + ['ovl_Dm_Ravine', 'baserom/', 'overlay', [], { 0x80A2E7A0 : "ovl_Dm_Ravine" }], + ['ovl_Dm_Sa', 'baserom/', 'overlay', [], { 0x80A2E960 : "ovl_Dm_Sa" }], + ['ovl_En_Slime', 'baserom/', 'overlay', [], { 0x80A2EDA0 : "ovl_En_Slime" }], + ['ovl_En_Pr', 'baserom/', 'overlay', [], { 0x80A32210 : "ovl_En_Pr" }], + ['ovl_Obj_Toudai', 'baserom/', 'overlay', [], { 0x80A33B00 : "ovl_Obj_Toudai" }], + ['ovl_Obj_Entotu', 'baserom/', 'overlay', [], { 0x80A34700 : "ovl_Obj_Entotu" }], + ['ovl_Obj_Bell', 'baserom/', 'overlay', [], { 0x80A35510 : "ovl_Obj_Bell" }], + ['ovl_En_Syateki_Okuta', 'baserom/', 'overlay', [], { 0x80A35FF0 : "ovl_En_Syateki_Okuta" }], + ['ovl_Obj_Shutter', 'baserom/', 'overlay', [], { 0x80A37ED0 : "ovl_Obj_Shutter" }], + ['ovl_Dm_Zl', 'baserom/', 'overlay', [], { 0x80A38190 : "ovl_Dm_Zl" }], + ['ovl_En_Ru', 'baserom/', 'overlay', [], { 0x80A389A0 : "ovl_En_Ru" }], + ['ovl_En_Elfgrp', 'baserom/', 'overlay', [], { 0x80A396B0 : "ovl_En_Elfgrp" }], + ['ovl_Dm_Tsg', 'baserom/', 'overlay', [], { 0x80A3AC60 : "ovl_Dm_Tsg" }], + ['ovl_En_Baguo', 'baserom/', 'overlay', [], { 0x80A3B080 : "ovl_En_Baguo" }], + ['ovl_Obj_Vspinyroll', 'baserom/', 'overlay', [], { 0x80A3C4E0 : "ovl_Obj_Vspinyroll" }], + ['ovl_Obj_Smork', 'baserom/', 'overlay', [], { 0x80A3D680 : "ovl_Obj_Smork" }], + ['ovl_En_Test2', 'baserom/', 'overlay', [], { 0x80A3E390 : "ovl_En_Test2" }], + ['ovl_En_Test3', 'baserom/', 'overlay', [], { 0x80A3E7E0 : "ovl_En_Test3" }], + ['ovl_En_Test4', 'baserom/', 'overlay', [], { 0x80A41D70 : "ovl_En_Test4" }], + ['ovl_En_Bat', 'baserom/', 'overlay', [], { 0x80A434E0 : "ovl_En_Bat" }], + ['ovl_En_Sekihi', 'baserom/', 'overlay', [], { 0x80A44C80 : "ovl_En_Sekihi" }], + ['ovl_En_Wiz', 'baserom/', 'overlay', [], { 0x80A45360 : "ovl_En_Wiz" }], + ['ovl_En_Wiz_Brock', 'baserom/', 'overlay', [], { 0x80A48FE0 : "ovl_En_Wiz_Brock" }], + ['ovl_En_Wiz_Fire', 'baserom/', 'overlay', [], { 0x80A496A0 : "ovl_En_Wiz_Fire" }], + ['ovl_Eff_Change', 'baserom/', 'overlay', [], { 0x80A4C490 : "ovl_Eff_Change" }], + ['ovl_Dm_Statue', 'baserom/', 'overlay', [], { 0x80A4C9B0 : "ovl_Dm_Statue" }], + ['ovl_Obj_Fireshield', 'baserom/', 'overlay', [], { 0x80A4CA90 : "ovl_Obj_Fireshield" }], + ['ovl_Bg_Ladder', 'baserom/', 'overlay', [], { 0x80A4D9F0 : "ovl_Bg_Ladder" }], + ['ovl_En_Mkk', 'baserom/', 'overlay', [], { 0x80A4DED0 : "ovl_En_Mkk" }], + ['ovl_Demo_Getitem', 'baserom/', 'overlay', [], { 0x80A4FA40 : "ovl_Demo_Getitem" }], + ['ovl_En_Dnb', 'baserom/', 'overlay', [], { 0x80A4FDD0 : "ovl_En_Dnb" }], + ['ovl_En_Dnh', 'baserom/', 'overlay', [], { 0x80A50D40 : "ovl_En_Dnh" }], + ['ovl_En_Dnk', 'baserom/', 'overlay', [], { 0x80A514F0 : "ovl_En_Dnk" }], + ['ovl_En_Dnq', 'baserom/', 'overlay', [], { 0x80A52530 : "ovl_En_Dnq" }], + ['ovl_Bg_Keikoku_Saku', 'baserom/', 'overlay', [], { 0x80A537D0 : "ovl_Bg_Keikoku_Saku" }], + ['ovl_Obj_Hugebombiwa', 'baserom/', 'overlay', [], { 0x80A53BE0 : "ovl_Obj_Hugebombiwa" }], + ['ovl_En_Firefly2', 'baserom/', 'overlay', [], { 0x80A560C0 : "ovl_En_Firefly2" }], + ['ovl_En_Rat', 'baserom/', 'overlay', [], { 0x80A56150 : "ovl_En_Rat" }], + ['ovl_En_Water_Effect', 'baserom/', 'overlay', [], { 0x80A587A0 : "ovl_En_Water_Effect" }], + ['ovl_En_Kusa2', 'baserom/', 'overlay', [], { 0x80A5B160 : "ovl_En_Kusa2" }], + ['ovl_Bg_Spout_Fire', 'baserom/', 'overlay', [], { 0x80A60B20 : "ovl_Bg_Spout_Fire" }], + ['ovl_En_Dy_Extra', 'baserom/', 'overlay', [], { 0x80A612B0 : "ovl_En_Dy_Extra" }], + ['ovl_En_Bal', 'baserom/', 'overlay', [], { 0x80A61810 : "ovl_En_Bal" }], + ['ovl_En_Ginko_Man', 'baserom/', 'overlay', [], { 0x80A644A0 : "ovl_En_Ginko_Man" }], + ['ovl_En_Warp_Uzu', 'baserom/', 'overlay', [], { 0x80A66180 : "ovl_En_Warp_Uzu" }], + ['ovl_Obj_Driftice', 'baserom/', 'overlay', [], { 0x80A66570 : "ovl_Obj_Driftice" }], + ['ovl_En_Look_Nuts', 'baserom/', 'overlay', [], { 0x80A678B0 : "ovl_En_Look_Nuts" }], + ['ovl_En_Mushi2', 'baserom/', 'overlay', [], { 0x80A687A0 : "ovl_En_Mushi2" }], + ['ovl_En_Fall', 'baserom/', 'overlay', [], { 0x80A6BF90 : "ovl_En_Fall" }], + ['ovl_En_Mm3', 'baserom/', 'overlay', [], { 0x80A6F0A0 : "ovl_En_Mm3" }], + ['ovl_Bg_Crace_Movebg', 'baserom/', 'overlay', [], { 0x80A706F0 : "ovl_Bg_Crace_Movebg" }], + ['ovl_En_Dno', 'baserom/', 'overlay', [], { 0x80A711D0 : "ovl_En_Dno" }], + ['ovl_En_Pr2', 'baserom/', 'overlay', [], { 0x80A73FA0 : "ovl_En_Pr2" }], + ['ovl_En_Prz', 'baserom/', 'overlay', [], { 0x80A75DC0 : "ovl_En_Prz" }], + ['ovl_En_Jso2', 'baserom/', 'overlay', [], { 0x80A773C0 : "ovl_En_Jso2" }], + ['ovl_Obj_Etcetera', 'baserom/', 'overlay', [], { 0x80A7BC70 : "ovl_Obj_Etcetera" }], + ['ovl_En_Egol', 'baserom/', 'overlay', [], { 0x80A7C990 : "ovl_En_Egol" }], + ['ovl_Obj_Mine', 'baserom/', 'overlay', [], { 0x80A811D0 : "ovl_Obj_Mine" }], + ['ovl_Obj_Purify', 'baserom/', 'overlay', [], { 0x80A84CD0 : "ovl_Obj_Purify" }], + ['ovl_En_Tru', 'baserom/', 'overlay', [], { 0x80A85620 : "ovl_En_Tru" }], + ['ovl_En_Trt', 'baserom/', 'overlay', [], { 0x80A8B770 : "ovl_En_Trt" }], + ['ovl_En_Test5', 'baserom/', 'overlay', [], { 0x80A903B0 : "ovl_En_Test5" }], + ['ovl_En_Test6', 'baserom/', 'overlay', [], { 0x80A90730 : "ovl_En_Test6" }], + ['ovl_En_Az', 'baserom/', 'overlay', [], { 0x80A94A30 : "ovl_En_Az" }], + ['ovl_En_Estone', 'baserom/', 'overlay', [], { 0x80A99EA0 : "ovl_En_Estone" }], + ['ovl_Bg_Hakugin_Post', 'baserom/', 'overlay', [], { 0x80A9ACD0 : "ovl_Bg_Hakugin_Post" }], + ['ovl_Dm_Opstage', 'baserom/', 'overlay', [], { 0x80A9F950 : "ovl_Dm_Opstage" }], + ['ovl_Dm_Stk', 'baserom/', 'overlay', [], { 0x80A9FDB0 : "ovl_Dm_Stk" }], + ['ovl_Dm_Char00', 'baserom/', 'overlay', [], { 0x80AA5580 : "ovl_Dm_Char00" }], + ['ovl_Dm_Char01', 'baserom/', 'overlay', [], { 0x80AA81E0 : "ovl_Dm_Char01" }], + ['ovl_Dm_Char02', 'baserom/', 'overlay', [], { 0x80AAAE30 : "ovl_Dm_Char02" }], + ['ovl_Dm_Char03', 'baserom/', 'overlay', [], { 0x80AAB4A0 : "ovl_Dm_Char03" }], + ['ovl_Dm_Char04', 'baserom/', 'overlay', [], { 0x80AABC40 : "ovl_Dm_Char04" }], + ['ovl_Dm_Char05', 'baserom/', 'overlay', [], { 0x80AAC5A0 : "ovl_Dm_Char05" }], + ['ovl_Dm_Char06', 'baserom/', 'overlay', [], { 0x80AAE680 : "ovl_Dm_Char06" }], + ['ovl_Dm_Char07', 'baserom/', 'overlay', [], { 0x80AAE9C0 : "ovl_Dm_Char07" }], + ['ovl_Dm_Char08', 'baserom/', 'overlay', [], { 0x80AAF050 : "ovl_Dm_Char08" }], + ['ovl_Dm_Char09', 'baserom/', 'overlay', [], { 0x80AB1E10 : "ovl_Dm_Char09" }], + ['ovl_Obj_Tokeidai', 'baserom/', 'overlay', [], { 0x80AB2790 : "ovl_Obj_Tokeidai" }], + ['ovl_En_Mnk', 'baserom/', 'overlay', [], { 0x80AB4D10 : "ovl_En_Mnk" }], + ['ovl_En_Egblock', 'baserom/', 'overlay', [], { 0x80ABA7A0 : "ovl_En_Egblock" }], + ['ovl_En_Guard_Nuts', 'baserom/', 'overlay', [], { 0x80ABB0E0 : "ovl_En_Guard_Nuts" }], + ['ovl_Bg_Hakugin_Bombwall', 'baserom/', 'overlay', [], { 0x80ABBFC0 : "ovl_Bg_Hakugin_Bombwall" }], + ['ovl_Obj_Tokei_Tobira', 'baserom/', 'overlay', [], { 0x80ABD1D0 : "ovl_Obj_Tokei_Tobira" }], + ['ovl_Bg_Hakugin_Elvpole', 'baserom/', 'overlay', [], { 0x80ABD830 : "ovl_Bg_Hakugin_Elvpole" }], + ['ovl_En_Ma4', 'baserom/', 'overlay', [], { 0x80ABDCA0 : "ovl_En_Ma4" }], + ['ovl_En_Twig', 'baserom/', 'overlay', [], { 0x80AC0830 : "ovl_En_Twig" }], + ['ovl_En_Po_Fusen', 'baserom/', 'overlay', [], { 0x80AC1270 : "ovl_En_Po_Fusen" }], + ['ovl_En_Door_Etc', 'baserom/', 'overlay', [], { 0x80AC1ED0 : "ovl_En_Door_Etc" }], + ['ovl_En_Bigokuta', 'baserom/', 'overlay', [], { 0x80AC26F0 : "ovl_En_Bigokuta" }], + ['ovl_Bg_Icefloe', 'baserom/', 'overlay', [], { 0x80AC48F0 : "ovl_Bg_Icefloe" }], + ['ovl_fbdemo_triforce', 'baserom/', 'overlay', [], { 0x80AC5070 : "ovl_fbdemo_triforce" }], + ['ovl_fbdemo_wipe1', 'baserom/', 'overlay', [], { 0x80AC57B0 : "ovl_fbdemo_wipe1" }], + ['ovl_fbdemo_wipe3', 'baserom/', 'overlay', [], { 0x80AC6740 : "ovl_fbdemo_wipe3" }], + ['ovl_fbdemo_wipe4', 'baserom/', 'overlay', [], { 0x80AC8430 : "ovl_fbdemo_wipe4" }], + ['ovl_fbdemo_wipe5', 'baserom/', 'overlay', [], { 0x80AC86F0 : "ovl_fbdemo_wipe5" }], + ['ovl_Effect_Ss_Sbn', 'baserom/', 'overlay', [], { 0x80AC8B50 : "ovl_Effect_Ss_Sbn" }], + ['ovl_Obj_Ocarinalift', 'baserom/', 'overlay', [], { 0x80AC94C0 : "ovl_Obj_Ocarinalift" }], + ['ovl_En_Time_Tag', 'baserom/', 'overlay', [], { 0x80AC9EA0 : "ovl_En_Time_Tag" }], + ['ovl_Bg_Open_Shutter', 'baserom/', 'overlay', [], { 0x80ACAB10 : "ovl_Bg_Open_Shutter" }], + ['ovl_Bg_Open_Spot', 'baserom/', 'overlay', [], { 0x80ACB1E0 : "ovl_Bg_Open_Spot" }], + ['ovl_Bg_Fu_Kaiten', 'baserom/', 'overlay', [], { 0x80ACB400 : "ovl_Bg_Fu_Kaiten" }], + ['ovl_Obj_Aqua', 'baserom/', 'overlay', [], { 0x80ACB6A0 : "ovl_Obj_Aqua" }], + ['ovl_En_Elforg', 'baserom/', 'overlay', [], { 0x80ACC470 : "ovl_En_Elforg" }], + ['ovl_En_Elfbub', 'baserom/', 'overlay', [], { 0x80ACDCD0 : "ovl_En_Elfbub" }], + ['ovl_En_Fu_Mato', 'baserom/', 'overlay', [], { 0x80ACE330 : "ovl_En_Fu_Mato" }], + ['ovl_En_Fu_Kago', 'baserom/', 'overlay', [], { 0x80ACF780 : "ovl_En_Fu_Kago" }], + ['ovl_En_Osn', 'baserom/', 'overlay', [], { 0x80AD0830 : "ovl_En_Osn" }], + ['ovl_Bg_Ctower_Gear', 'baserom/', 'overlay', [], { 0x80AD2B70 : "ovl_Bg_Ctower_Gear" }], + ['ovl_En_Trt2', 'baserom/', 'overlay', [], { 0x80AD3380 : "ovl_En_Trt2" }], + ['ovl_Obj_Tokei_Step', 'baserom/', 'overlay', [], { 0x80AD5BB0 : "ovl_Obj_Tokei_Step" }], + ['ovl_Bg_Lotus', 'baserom/', 'overlay', [], { 0x80AD6760 : "ovl_Bg_Lotus" }], + ['ovl_En_Kame', 'baserom/', 'overlay', [], { 0x80AD6DD0 : "ovl_En_Kame" }], + ['ovl_Obj_Takaraya_Wall', 'baserom/', 'overlay', [], { 0x80AD9240 : "ovl_Obj_Takaraya_Wall" }], + ['ovl_Bg_Fu_Mizu', 'baserom/', 'overlay', [], { 0x80ADAAF0 : "ovl_Bg_Fu_Mizu" }], + ['ovl_En_Sellnuts', 'baserom/', 'overlay', [], { 0x80ADADD0 : "ovl_En_Sellnuts" }], + ['ovl_Bg_Dkjail_Ivy', 'baserom/', 'overlay', [], { 0x80ADE230 : "ovl_Bg_Dkjail_Ivy" }], + ['ovl_Obj_Visiblock', 'baserom/', 'overlay', [], { 0x80ADEA70 : "ovl_Obj_Visiblock" }], + ['ovl_En_Takaraya', 'baserom/', 'overlay', [], { 0x80ADEB90 : "ovl_En_Takaraya" }], + ['ovl_En_Tsn', 'baserom/', 'overlay', [], { 0x80ADFCA0 : "ovl_En_Tsn" }], + ['ovl_En_Ds2n', 'baserom/', 'overlay', [], { 0x80AE1650 : "ovl_En_Ds2n" }], + ['ovl_En_Fsn', 'baserom/', 'overlay', [], { 0x80AE1B70 : "ovl_En_Fsn" }], + ['ovl_En_Shn', 'baserom/', 'overlay', [], { 0x80AE6130 : "ovl_En_Shn" }], + ['ovl_En_Stop_heishi', 'baserom/', 'overlay', [], { 0x80AE73A0 : "ovl_En_Stop_heishi" }], + ['ovl_Obj_Bigicicle', 'baserom/', 'overlay', [], { 0x80AE8B70 : "ovl_Obj_Bigicicle" }], + ['ovl_En_Lift_Nuts', 'baserom/', 'overlay', [], { 0x80AE9A20 : "ovl_En_Lift_Nuts" }], + ['ovl_En_Tk', 'baserom/', 'overlay', [], { 0x80AEC460 : "ovl_En_Tk" }], + ['ovl_Bg_Market_Step', 'baserom/', 'overlay', [], { 0x80AF0060 : "ovl_Bg_Market_Step" }], + ['ovl_Obj_Lupygamelift', 'baserom/', 'overlay', [], { 0x80AF0170 : "ovl_Obj_Lupygamelift" }], + ['ovl_En_Test7', 'baserom/', 'overlay', [], { 0x80AF0820 : "ovl_En_Test7" }], + ['ovl_Obj_Lightblock', 'baserom/', 'overlay', [], { 0x80AF3910 : "ovl_Obj_Lightblock" }], + ['ovl_Mir_Ray2', 'baserom/', 'overlay', [], { 0x80AF3F70 : "ovl_Mir_Ray2" }], + ['ovl_En_Wdhand', 'baserom/', 'overlay', [], { 0x80AF43F0 : "ovl_En_Wdhand" }], + ['ovl_En_Gamelupy', 'baserom/', 'overlay', [], { 0x80AF6760 : "ovl_En_Gamelupy" }], + ['ovl_Bg_Danpei_Movebg', 'baserom/', 'overlay', [], { 0x80AF6DE0 : "ovl_Bg_Danpei_Movebg" }], + ['ovl_En_Snowwd', 'baserom/', 'overlay', [], { 0x80AF7640 : "ovl_En_Snowwd" }], + ['ovl_En_Pm', 'baserom/', 'overlay', [], { 0x80AF7B40 : "ovl_En_Pm" }], + ['ovl_En_Gakufu', 'baserom/', 'overlay', [], { 0x80AFC960 : "ovl_En_Gakufu" }], + ['ovl_Elf_Msg4', 'baserom/', 'overlay', [], { 0x80AFD380 : "ovl_Elf_Msg4" }], + ['ovl_Elf_Msg5', 'baserom/', 'overlay', [], { 0x80AFD990 : "ovl_Elf_Msg5" }], + ['ovl_En_Col_Man', 'baserom/', 'overlay', [], { 0x80AFDC40 : "ovl_En_Col_Man" }], + ['ovl_En_Talk_Gibud', 'baserom/', 'overlay', [], { 0x80AFE8A0 : "ovl_En_Talk_Gibud" }], + ['ovl_En_Giant', 'baserom/', 'overlay', [], { 0x80B01990 : "ovl_En_Giant" }], + ['ovl_Obj_Snowball', 'baserom/', 'overlay', [], { 0x80B02CD0 : "ovl_Obj_Snowball" }], + ['ovl_Boss_Hakugin', 'baserom/', 'overlay', [], { 0x80B05290 : "ovl_Boss_Hakugin" }], + ['ovl_En_Gb2', 'baserom/', 'overlay', [], { 0x80B0F5E0 : "ovl_En_Gb2" }], + ['ovl_En_Onpuman', 'baserom/', 'overlay', [], { 0x80B11E60 : "ovl_En_Onpuman" }], + ['ovl_Bg_Tobira01', 'baserom/', 'overlay', [], { 0x80B12430 : "ovl_Bg_Tobira01" }], + ['ovl_En_Tag_Obj', 'baserom/', 'overlay', [], { 0x80B12870 : "ovl_En_Tag_Obj" }], + ['ovl_Obj_Dhouse', 'baserom/', 'overlay', [], { 0x80B12980 : "ovl_Obj_Dhouse" }], + ['ovl_Obj_Hakaisi', 'baserom/', 'overlay', [], { 0x80B14180 : "ovl_Obj_Hakaisi" }], + ['ovl_Bg_Hakugin_Switch', 'baserom/', 'overlay', [], { 0x80B15790 : "ovl_Bg_Hakugin_Switch" }], + ['ovl_En_Snowman', 'baserom/', 'overlay', [], { 0x80B16B00 : "ovl_En_Snowman" }], + ['ovl_TG_Sw', 'baserom/', 'overlay', [], { 0x80B19F60 : "ovl_TG_Sw" }], + ['ovl_En_Po_Sisters', 'baserom/', 'overlay', [], { 0x80B1A3B0 : "ovl_En_Po_Sisters" }], + ['ovl_En_Pp', 'baserom/', 'overlay', [], { 0x80B1DEB0 : "ovl_En_Pp" }], + ['ovl_En_Hakurock', 'baserom/', 'overlay', [], { 0x80B21B00 : "ovl_En_Hakurock" }], + ['ovl_En_Hanabi', 'baserom/', 'overlay', [], { 0x80B22C00 : "ovl_En_Hanabi" }], + ['ovl_Obj_Dowsing', 'baserom/', 'overlay', [], { 0x80B23D50 : "ovl_Obj_Dowsing" }], + ['ovl_Obj_Wind', 'baserom/', 'overlay', [], { 0x80B23ED0 : "ovl_Obj_Wind" }], + ['ovl_En_Racedog', 'baserom/', 'overlay', [], { 0x80B24630 : "ovl_En_Racedog" }], + ['ovl_En_Kendo_Js', 'baserom/', 'overlay', [], { 0x80B262A0 : "ovl_En_Kendo_Js" }], + ['ovl_Bg_Botihasira', 'baserom/', 'overlay', [], { 0x80B28080 : "ovl_Bg_Botihasira" }], + ['ovl_En_Fish2', 'baserom/', 'overlay', [], { 0x80B28370 : "ovl_En_Fish2" }], + ['ovl_En_Pst', 'baserom/', 'overlay', [], { 0x80B2B830 : "ovl_En_Pst" }], + ['ovl_En_Poh', 'baserom/', 'overlay', [], { 0x80B2C6F0 : "ovl_En_Poh" }], + ['ovl_Obj_Spidertent', 'baserom/', 'overlay', [], { 0x80B2FB10 : "ovl_Obj_Spidertent" }], + ['ovl_En_Zoraegg', 'baserom/', 'overlay', [], { 0x80B31590 : "ovl_En_Zoraegg" }], + ['ovl_En_Kbt', 'baserom/', 'overlay', [], { 0x80B33D30 : "ovl_En_Kbt" }], + ['ovl_En_Gg', 'baserom/', 'overlay', [], { 0x80B34F70 : "ovl_En_Gg" }], + ['ovl_En_Maruta', 'baserom/', 'overlay', [], { 0x80B37080 : "ovl_En_Maruta" }], + ['ovl_Obj_Snowball2', 'baserom/', 'overlay', [], { 0x80B38E20 : "ovl_Obj_Snowball2" }], + ['ovl_En_Gg2', 'baserom/', 'overlay', [], { 0x80B3AC50 : "ovl_En_Gg2" }], + ['ovl_Obj_Ghaka', 'baserom/', 'overlay', [], { 0x80B3C260 : "ovl_Obj_Ghaka" }], + ['ovl_En_Dnp', 'baserom/', 'overlay', [], { 0x80B3CA20 : "ovl_En_Dnp" }], + ['ovl_En_Dai', 'baserom/', 'overlay', [], { 0x80B3DFF0 : "ovl_En_Dai" }], + ['ovl_Bg_Goron_Oyu', 'baserom/', 'overlay', [], { 0x80B40080 : "ovl_Bg_Goron_Oyu" }], + ['ovl_En_Kgy', 'baserom/', 'overlay', [], { 0x80B40800 : "ovl_En_Kgy" }], + ['ovl_En_Invadepoh', 'baserom/', 'overlay', [], { 0x80B439B0 : "ovl_En_Invadepoh" }], + ['ovl_En_Gk', 'baserom/', 'overlay', [], { 0x80B50410 : "ovl_En_Gk" }], + ['ovl_En_An', 'baserom/', 'overlay', [], { 0x80B53840 : "ovl_En_An" }], + ['ovl_En_Bee', 'baserom/', 'overlay', [], { 0x80B5A720 : "ovl_En_Bee" }], + ['ovl_En_Ot', 'baserom/', 'overlay', [], { 0x80B5B2E0 : "ovl_En_Ot" }], + ['ovl_En_Dragon', 'baserom/', 'overlay', [], { 0x80B5E890 : "ovl_En_Dragon" }], + ['ovl_Obj_Dora', 'baserom/', 'overlay', [], { 0x80B60AD0 : "ovl_Obj_Dora" }], + ['ovl_En_Bigpo', 'baserom/', 'overlay', [], { 0x80B615E0 : "ovl_En_Bigpo" }], + ['ovl_Obj_Kendo_Kanban', 'baserom/', 'overlay', [], { 0x80B654C0 : "ovl_Obj_Kendo_Kanban" }], + ['ovl_Obj_Hariko', 'baserom/', 'overlay', [], { 0x80B66A20 : "ovl_Obj_Hariko" }], + ['ovl_En_Sth', 'baserom/', 'overlay', [], { 0x80B66D30 : "ovl_En_Sth" }], + ['ovl_Bg_Sinkai_Kabe', 'baserom/', 'overlay', [], { 0x80B6D660 : "ovl_Bg_Sinkai_Kabe" }], + ['ovl_Bg_Haka_Curtain', 'baserom/', 'overlay', [], { 0x80B6DBE0 : "ovl_Bg_Haka_Curtain" }], + ['ovl_Bg_Kin2_Bombwall', 'baserom/', 'overlay', [], { 0x80B6E020 : "ovl_Bg_Kin2_Bombwall" }], + ['ovl_Bg_Kin2_Fence', 'baserom/', 'overlay', [], { 0x80B6E820 : "ovl_Bg_Kin2_Fence" }], + ['ovl_Bg_Kin2_Picture', 'baserom/', 'overlay', [], { 0x80B6EFA0 : "ovl_Bg_Kin2_Picture" }], + ['ovl_Bg_Kin2_Shelf', 'baserom/', 'overlay', [], { 0x80B6FB30 : "ovl_Bg_Kin2_Shelf" }], + ['ovl_En_Rail_Skb', 'baserom/', 'overlay', [], { 0x80B708C0 : "ovl_En_Rail_Skb" }], + ['ovl_En_Jg', 'baserom/', 'overlay', [], { 0x80B73A90 : "ovl_En_Jg" }], + ['ovl_En_Tru_Mt', 'baserom/', 'overlay', [], { 0x80B76030 : "ovl_En_Tru_Mt" }], + ['ovl_Obj_Um', 'baserom/', 'overlay', [], { 0x80B77770 : "ovl_Obj_Um" }], + ['ovl_En_Neo_Reeba', 'baserom/', 'overlay', [], { 0x80B7C890 : "ovl_En_Neo_Reeba" }], + ['ovl_Bg_Mbar_Chair', 'baserom/', 'overlay', [], { 0x80B7E930 : "ovl_Bg_Mbar_Chair" }], + ['ovl_Bg_Ikana_Block', 'baserom/', 'overlay', [], { 0x80B7EA60 : "ovl_Bg_Ikana_Block" }], + ['ovl_Bg_Ikana_Mirror', 'baserom/', 'overlay', [], { 0x80B7F730 : "ovl_Bg_Ikana_Mirror" }], + ['ovl_Bg_Ikana_Rotaryroom', 'baserom/', 'overlay', [], { 0x80B802E0 : "ovl_Bg_Ikana_Rotaryroom" }], + ['ovl_Bg_Dblue_Balance', 'baserom/', 'overlay', [], { 0x80B823B0 : "ovl_Bg_Dblue_Balance" }], + ['ovl_Bg_Dblue_Waterfall', 'baserom/', 'overlay', [], { 0x80B83C80 : "ovl_Bg_Dblue_Waterfall" }], + ['ovl_En_Kaizoku', 'baserom/', 'overlay', [], { 0x80B85590 : "ovl_En_Kaizoku" }], + ['ovl_En_Ge2', 'baserom/', 'overlay', [], { 0x80B8B2D0 : "ovl_En_Ge2" }], + ['ovl_En_Ma_Yts', 'baserom/', 'overlay', [], { 0x80B8D030 : "ovl_En_Ma_Yts" }], + ['ovl_En_Ma_Yto', 'baserom/', 'overlay', [], { 0x80B8E520 : "ovl_En_Ma_Yto" }], + ['ovl_Obj_Tokei_Turret', 'baserom/', 'overlay', [], { 0x80B91CC0 : "ovl_Obj_Tokei_Turret" }], + ['ovl_Bg_Dblue_Elevator', 'baserom/', 'overlay', [], { 0x80B91F20 : "ovl_Bg_Dblue_Elevator" }], + ['ovl_Obj_Warpstone', 'baserom/', 'overlay', [], { 0x80B92B10 : "ovl_Obj_Warpstone" }], + ['ovl_En_Zog', 'baserom/', 'overlay', [], { 0x80B93310 : "ovl_En_Zog" }], + ['ovl_Obj_Rotlift', 'baserom/', 'overlay', [], { 0x80B95E20 : "ovl_Obj_Rotlift" }], + ['ovl_Obj_Jg_Gakki', 'baserom/', 'overlay', [], { 0x80B961E0 : "ovl_Obj_Jg_Gakki" }], + ['ovl_Bg_Inibs_Movebg', 'baserom/', 'overlay', [], { 0x80B96410 : "ovl_Bg_Inibs_Movebg" }], + ['ovl_En_Zot', 'baserom/', 'overlay', [], { 0x80B965D0 : "ovl_En_Zot" }], + ['ovl_Obj_Tree', 'baserom/', 'overlay', [], { 0x80B9A0B0 : "ovl_Obj_Tree" }], + ['ovl_Obj_Y2lift', 'baserom/', 'overlay', [], { 0x80B9A650 : "ovl_Obj_Y2lift" }], + ['ovl_Obj_Y2shutter', 'baserom/', 'overlay', [], { 0x80B9A980 : "ovl_Obj_Y2shutter" }], + ['ovl_Obj_Boat', 'baserom/', 'overlay', [], { 0x80B9AF50 : "ovl_Obj_Boat" }], + ['ovl_Obj_Taru', 'baserom/', 'overlay', [], { 0x80B9B6E0 : "ovl_Obj_Taru" }], + ['ovl_Obj_Hunsui', 'baserom/', 'overlay', [], { 0x80B9C450 : "ovl_Obj_Hunsui" }], + ['ovl_En_Jc_Mato', 'baserom/', 'overlay', [], { 0x80B9DEE0 : "ovl_En_Jc_Mato" }], + ['ovl_Mir_Ray3', 'baserom/', 'overlay', [], { 0x80B9E2C0 : "ovl_Mir_Ray3" }], + ['ovl_En_Zob', 'baserom/', 'overlay', [], { 0x80B9F570 : "ovl_En_Zob" }], + ['ovl_Elf_Msg6', 'baserom/', 'overlay', [], { 0x80BA15A0 : "ovl_Elf_Msg6" }], + ['ovl_Obj_Nozoki', 'baserom/', 'overlay', [], { 0x80BA2420 : "ovl_Obj_Nozoki" }], + ['ovl_En_Toto', 'baserom/', 'overlay', [], { 0x80BA36C0 : "ovl_En_Toto" }], + ['ovl_En_Railgibud', 'baserom/', 'overlay', [], { 0x80BA5400 : "ovl_En_Railgibud" }], + ['ovl_En_Baba', 'baserom/', 'overlay', [], { 0x80BA8820 : "ovl_En_Baba" }], + ['ovl_En_Suttari', 'baserom/', 'overlay', [], { 0x80BAA6D0 : "ovl_En_Suttari" }], + ['ovl_En_Zod', 'baserom/', 'overlay', [], { 0x80BAEF70 : "ovl_En_Zod" }], + ['ovl_En_Kujiya', 'baserom/', 'overlay', [], { 0x80BB08E0 : "ovl_En_Kujiya" }], + ['ovl_En_Geg', 'baserom/', 'overlay', [], { 0x80BB16D0 : "ovl_En_Geg" }], + ['ovl_Obj_Kinoko', 'baserom/', 'overlay', [], { 0x80BB4700 : "ovl_Obj_Kinoko" }], + ['ovl_Obj_Yasi', 'baserom/', 'overlay', [], { 0x80BB4AF0 : "ovl_Obj_Yasi" }], + ['ovl_En_Tanron1', 'baserom/', 'overlay', [], { 0x80BB4E00 : "ovl_En_Tanron1" }], + ['ovl_En_Tanron2', 'baserom/', 'overlay', [], { 0x80BB67D0 : "ovl_En_Tanron2" }], + ['ovl_En_Tanron3', 'baserom/', 'overlay', [], { 0x80BB85A0 : "ovl_En_Tanron3" }], + ['ovl_Obj_Chan', 'baserom/', 'overlay', [], { 0x80BB98E0 : "ovl_Obj_Chan" }], + ['ovl_En_Zos', 'baserom/', 'overlay', [], { 0x80BBACA0 : "ovl_En_Zos" }], + ['ovl_En_S_Goro', 'baserom/', 'overlay', [], { 0x80BBCA80 : "ovl_En_S_Goro" }], + ['ovl_En_Nb', 'baserom/', 'overlay', [], { 0x80BBFDB0 : "ovl_En_Nb" }], + ['ovl_En_Ja', 'baserom/', 'overlay', [], { 0x80BC1900 : "ovl_En_Ja" }], + ['ovl_Bg_F40_Block', 'baserom/', 'overlay', [], { 0x80BC3980 : "ovl_Bg_F40_Block" }], + ['ovl_Bg_F40_Switch', 'baserom/', 'overlay', [], { 0x80BC47B0 : "ovl_Bg_F40_Switch" }], + ['ovl_En_Po_Composer', 'baserom/', 'overlay', [], { 0x80BC4F30 : "ovl_En_Po_Composer" }], + ['ovl_En_Guruguru', 'baserom/', 'overlay', [], { 0x80BC6BF0 : "ovl_En_Guruguru" }], + ['ovl_Oceff_Wipe5', 'baserom/', 'overlay', [], { 0x80BC7AD0 : "ovl_Oceff_Wipe5" }], + ['ovl_En_Stone_heishi', 'baserom/', 'overlay', [], { 0x80BC9270 : "ovl_En_Stone_heishi" }], + ['ovl_Oceff_Wipe6', 'baserom/', 'overlay', [], { 0x80BCA5A0 : "ovl_Oceff_Wipe6" }], + ['ovl_En_Scopenuts', 'baserom/', 'overlay', [], { 0x80BCABF0 : "ovl_En_Scopenuts" }], + ['ovl_En_Scopecrow', 'baserom/', 'overlay', [], { 0x80BCD000 : "ovl_En_Scopecrow" }], + ['ovl_Oceff_Wipe7', 'baserom/', 'overlay', [], { 0x80BCDCB0 : "ovl_Oceff_Wipe7" }], + ['ovl_Eff_Kamejima_Wave', 'baserom/', 'overlay', [], { 0x80BCEB20 : "ovl_Eff_Kamejima_Wave" }], + ['ovl_En_Hg', 'baserom/', 'overlay', [], { 0x80BCF1D0 : "ovl_En_Hg" }], + ['ovl_En_Hgo', 'baserom/', 'overlay', [], { 0x80BD02B0 : "ovl_En_Hgo" }], + ['ovl_En_Zov', 'baserom/', 'overlay', [], { 0x80BD11E0 : "ovl_En_Zov" }], + ['ovl_En_Ah', 'baserom/', 'overlay', [], { 0x80BD2A30 : "ovl_En_Ah" }], + ['ovl_Obj_Hgdoor', 'baserom/', 'overlay', [], { 0x80BD4090 : "ovl_Obj_Hgdoor" }], + ['ovl_Bg_Ikana_Bombwall', 'baserom/', 'overlay', [], { 0x80BD4720 : "ovl_Bg_Ikana_Bombwall" }], + ['ovl_Bg_Ikana_Ray', 'baserom/', 'overlay', [], { 0x80BD53C0 : "ovl_Bg_Ikana_Ray" }], + ['ovl_Bg_Ikana_Shutter', 'baserom/', 'overlay', [], { 0x80BD5690 : "ovl_Bg_Ikana_Shutter" }], + ['ovl_Bg_Haka_Bombwall', 'baserom/', 'overlay', [], { 0x80BD5E00 : "ovl_Bg_Haka_Bombwall" }], + ['ovl_Bg_Haka_Tomb', 'baserom/', 'overlay', [], { 0x80BD6580 : "ovl_Bg_Haka_Tomb" }], + ['ovl_En_Sc_Ruppe', 'baserom/', 'overlay', [], { 0x80BD6910 : "ovl_En_Sc_Ruppe" }], + ['ovl_Bg_Iknv_Doukutu', 'baserom/', 'overlay', [], { 0x80BD6F10 : "ovl_Bg_Iknv_Doukutu" }], + ['ovl_Bg_Iknv_Obj', 'baserom/', 'overlay', [], { 0x80BD7AB0 : "ovl_Bg_Iknv_Obj" }], + ['ovl_En_Pamera', 'baserom/', 'overlay', [], { 0x80BD82B0 : "ovl_En_Pamera" }], + ['ovl_Obj_HsStump', 'baserom/', 'overlay', [], { 0x80BDAA30 : "ovl_Obj_HsStump" }], + ['ovl_En_Hidden_Nuts', 'baserom/', 'overlay', [], { 0x80BDB040 : "ovl_En_Hidden_Nuts" }], + ['ovl_En_Zow', 'baserom/', 'overlay', [], { 0x80BDC270 : "ovl_En_Zow" }], + ['ovl_En_Talk', 'baserom/', 'overlay', [], { 0x80BDDFE0 : "ovl_En_Talk" }], + ['ovl_En_Al', 'baserom/', 'overlay', [], { 0x80BDE1A0 : "ovl_En_Al" }], + ['ovl_En_Tab', 'baserom/', 'overlay', [], { 0x80BE04E0 : "ovl_En_Tab" }], + ['ovl_En_Nimotsu', 'baserom/', 'overlay', [], { 0x80BE1C80 : "ovl_En_Nimotsu" }], + ['ovl_En_Hit_Tag', 'baserom/', 'overlay', [], { 0x80BE2030 : "ovl_En_Hit_Tag" }], + ['ovl_En_Ruppecrow', 'baserom/', 'overlay', [], { 0x80BE2260 : "ovl_En_Ruppecrow" }], + ['ovl_En_Tanron4', 'baserom/', 'overlay', [], { 0x80BE3B80 : "ovl_En_Tanron4" }], + ['ovl_En_Tanron5', 'baserom/', 'overlay', [], { 0x80BE4930 : "ovl_En_Tanron5" }], + ['ovl_En_Tanron6', 'baserom/', 'overlay', [], { 0x80BE6040 : "ovl_En_Tanron6" }], + ['ovl_En_Daiku2', 'baserom/', 'overlay', [], { 0x80BE61D0 : "ovl_En_Daiku2" }], + ['ovl_En_Muto', 'baserom/', 'overlay', [], { 0x80BE7B00 : "ovl_En_Muto" }], + ['ovl_En_Baisen', 'baserom/', 'overlay', [], { 0x80BE84F0 : "ovl_En_Baisen" }], + ['ovl_En_Heishi', 'baserom/', 'overlay', [], { 0x80BE8F20 : "ovl_En_Heishi" }], + ['ovl_En_Demo_heishi', 'baserom/', 'overlay', [], { 0x80BE9510 : "ovl_En_Demo_heishi" }], + ['ovl_En_Dt', 'baserom/', 'overlay', [], { 0x80BE9B20 : "ovl_En_Dt" }], + ['ovl_En_Cha', 'baserom/', 'overlay', [], { 0x80BEB520 : "ovl_En_Cha" }], + ['ovl_Obj_Dinner', 'baserom/', 'overlay', [], { 0x80BEB940 : "ovl_Obj_Dinner" }], + ['ovl_Eff_Lastday', 'baserom/', 'overlay', [], { 0x80BEBAC0 : "ovl_Eff_Lastday" }], + ['ovl_Bg_Ikana_Dharma', 'baserom/', 'overlay', [], { 0x80BEC240 : "ovl_Bg_Ikana_Dharma" }], + ['ovl_En_Akindonuts', 'baserom/', 'overlay', [], { 0x80BECBE0 : "ovl_En_Akindonuts" }], + ['ovl_Eff_Stk', 'baserom/', 'overlay', [], { 0x80BF0D90 : "ovl_Eff_Stk" }], + ['ovl_En_Ig', 'baserom/', 'overlay', [], { 0x80BF1150 : "ovl_En_Ig" }], + ['ovl_En_Rg', 'baserom/', 'overlay', [], { 0x80BF3920 : "ovl_En_Rg" }], + ['ovl_En_Osk', 'baserom/', 'overlay', [], { 0x80BF5C20 : "ovl_En_Osk" }], + ['ovl_En_Sth2', 'baserom/', 'overlay', [], { 0x80BF74E0 : "ovl_En_Sth2" }], + ['ovl_En_Yb', 'baserom/', 'overlay', [], { 0x80BFA100 : "ovl_En_Yb" }], + ['ovl_En_Rz', 'baserom/', 'overlay', [], { 0x80BFB480 : "ovl_En_Rz" }], + ['ovl_En_Scopecoin', 'baserom/', 'overlay', [], { 0x80BFCFA0 : "ovl_En_Scopecoin" }], + ['ovl_En_Bjt', 'baserom/', 'overlay', [], { 0x80BFD2E0 : "ovl_En_Bjt" }], + ['ovl_En_Bomjima', 'baserom/', 'overlay', [], { 0x80BFE170 : "ovl_En_Bomjima" }], + ['ovl_En_Bomjimb', 'baserom/', 'overlay', [], { 0x80C00EA0 : "ovl_En_Bomjimb" }], + ['ovl_En_Bombers', 'baserom/', 'overlay', [], { 0x80C03530 : "ovl_En_Bombers" }], + ['ovl_En_Bombers2', 'baserom/', 'overlay', [], { 0x80C04930 : "ovl_En_Bombers2" }], + ['ovl_En_Bombal', 'baserom/', 'overlay', [], { 0x80C05A70 : "ovl_En_Bombal" }], + ['ovl_Obj_Moon_Stone', 'baserom/', 'overlay', [], { 0x80C06510 : "ovl_Obj_Moon_Stone" }], + ['ovl_Obj_Mu_Pict', 'baserom/', 'overlay', [], { 0x80C06AA0 : "ovl_Obj_Mu_Pict" }], + ['ovl_Bg_Ikninside', 'baserom/', 'overlay', [], { 0x80C07110 : "ovl_Bg_Ikninside" }], + ['ovl_Eff_Zoraband', 'baserom/', 'overlay', [], { 0x80C07740 : "ovl_Eff_Zoraband" }], + ['ovl_Obj_Kepn_Koya', 'baserom/', 'overlay', [], { 0x80C07B20 : "ovl_Obj_Kepn_Koya" }], + ['ovl_Obj_Usiyane', 'baserom/', 'overlay', [], { 0x80C07C80 : "ovl_Obj_Usiyane" }], + ['ovl_En_Nnh', 'baserom/', 'overlay', [], { 0x80C08760 : "ovl_En_Nnh" }], + ['ovl_Obj_Kzsaku', 'baserom/', 'overlay', [], { 0x80C08A80 : "ovl_Obj_Kzsaku" }], + ['ovl_Obj_Milk_Bin', 'baserom/', 'overlay', [], { 0x80C08E40 : "ovl_Obj_Milk_Bin" }], + ['ovl_En_Kitan', 'baserom/', 'overlay', [], { 0x80C090D0 : "ovl_En_Kitan" }], + ['ovl_Bg_Astr_Bombwall', 'baserom/', 'overlay', [], { 0x80C09ED0 : "ovl_Bg_Astr_Bombwall" }], + ['ovl_Bg_Iknin_Susceil', 'baserom/', 'overlay', [], { 0x80C0A740 : "ovl_Bg_Iknin_Susceil" }], + ['ovl_En_Bsb', 'baserom/', 'overlay', [], { 0x80C0B290 : "ovl_En_Bsb" }], + ['ovl_En_Recepgirl', 'baserom/', 'overlay', [], { 0x80C0FFD0 : "ovl_En_Recepgirl" }], + ['ovl_En_Thiefbird', 'baserom/', 'overlay', [], { 0x80C10770 : "ovl_En_Thiefbird" }], + ['ovl_En_Jgame_Tsn', 'baserom/', 'overlay', [], { 0x80C13930 : "ovl_En_Jgame_Tsn" }], + ['ovl_Obj_Jgame_Light', 'baserom/', 'overlay', [], { 0x80C152F0 : "ovl_Obj_Jgame_Light" }], + ['ovl_Obj_Yado', 'baserom/', 'overlay', [], { 0x80C161E0 : "ovl_Obj_Yado" }], + ['ovl_Demo_Syoten', 'baserom/', 'overlay', [], { 0x80C16480 : "ovl_Demo_Syoten" }], + ['ovl_Demo_Moonend', 'baserom/', 'overlay', [], { 0x80C17A10 : "ovl_Demo_Moonend" }], + ['ovl_Bg_Lbfshot', 'baserom/', 'overlay', [], { 0x80C18120 : "ovl_Bg_Lbfshot" }], + ['ovl_Bg_Last_Bwall', 'baserom/', 'overlay', [], { 0x80C18240 : "ovl_Bg_Last_Bwall" }], + ['ovl_En_And', 'baserom/', 'overlay', [], { 0x80C18B90 : "ovl_En_And" }], + ['ovl_En_Invadepoh_Demo', 'baserom/', 'overlay', [], { 0x80C192A0 : "ovl_En_Invadepoh_Demo" }], + ['ovl_Obj_Danpeilift', 'baserom/', 'overlay', [], { 0x80C1ADC0 : "ovl_Obj_Danpeilift" }], + ['ovl_En_Fall2', 'baserom/', 'overlay', [], { 0x80C1B640 : "ovl_En_Fall2" }], + ['ovl_Dm_Al', 'baserom/', 'overlay', [], { 0x80C1BD90 : "ovl_Dm_Al" }], + ['ovl_Dm_An', 'baserom/', 'overlay', [], { 0x80C1C410 : "ovl_Dm_An" }], + ['ovl_Dm_Ah', 'baserom/', 'overlay', [], { 0x80C1D410 : "ovl_Dm_Ah" }], + ['ovl_Dm_Nb', 'baserom/', 'overlay', [], { 0x80C1DED0 : "ovl_Dm_Nb" }], + ['ovl_En_Drs', 'baserom/', 'overlay', [], { 0x80C1E290 : "ovl_En_Drs" }], + ['ovl_En_Ending_Hero', 'baserom/', 'overlay', [], { 0x80C1E690 : "ovl_En_Ending_Hero" }], + ['ovl_Dm_Bal', 'baserom/', 'overlay', [], { 0x80C1E9E0 : "ovl_Dm_Bal" }], + ['ovl_En_Paper', 'baserom/', 'overlay', [], { 0x80C1F3D0 : "ovl_En_Paper" }], + ['ovl_En_Hint_Skb', 'baserom/', 'overlay', [], { 0x80C1FCF0 : "ovl_En_Hint_Skb" }], + ['ovl_Dm_Tag', 'baserom/', 'overlay', [], { 0x80C22350 : "ovl_Dm_Tag" }], + ['ovl_En_Bh', 'baserom/', 'overlay', [], { 0x80C22D40 : "ovl_En_Bh" }], + ['ovl_En_Ending_Hero2', 'baserom/', 'overlay', [], { 0x80C23230 : "ovl_En_Ending_Hero2" }], + ['ovl_En_Ending_Hero3', 'baserom/', 'overlay', [], { 0x80C23460 : "ovl_En_Ending_Hero3" }], + ['ovl_En_Ending_Hero4', 'baserom/', 'overlay', [], { 0x80C23690 : "ovl_En_Ending_Hero4" }], + ['ovl_En_Ending_Hero5', 'baserom/', 'overlay', [], { 0x80C238C0 : "ovl_En_Ending_Hero5" }], + ['ovl_En_Ending_Hero6', 'baserom/', 'overlay', [], { 0x80C23C90 : "ovl_En_Ending_Hero6" }], + ['ovl_Dm_Gm', 'baserom/', 'overlay', [], { 0x80C24360 : "ovl_Dm_Gm" }], + ['ovl_Obj_Swprize', 'baserom/', 'overlay', [], { 0x80C25360 : "ovl_Obj_Swprize" }], + ['ovl_En_Invisible_Ruppe', 'baserom/', 'overlay', [], { 0x80C258A0 : "ovl_En_Invisible_Ruppe" }], + ['ovl_Obj_Ending', 'baserom/', 'overlay', [], { 0x80C25BC0 : "ovl_Obj_Ending" }], + ['ovl_En_Rsn', 'baserom/', 'overlay', [], { 0x80C25D40 : "ovl_En_Rsn" }], +] diff --git a/tables/functions.txt b/tools/disasm/functions.txt similarity index 98% rename from tables/functions.txt rename to tools/disasm/functions.txt index 0edd8a2589..1e10b20bc4 100644 --- a/tables/functions.txt +++ b/tools/disasm/functions.txt @@ -1,5 +1,6 @@ # Follows the format of Entry Point Address:(Name,) { + 0x80080000:("entrypoint",), 0x80080060:("bootproc",), 0x80080150:("Idle_ClearMemory",), 0x80080180:("Idle_InitFramebuffer",), @@ -45,9 +46,9 @@ 0x8008189C:("CIC6105_AddRomInfoFaultPage",), 0x800818D0:("CIC6105_RemoveRomInfoFaultPage",), 0x800818F4:("func_800818F4",), - 0x80081920:("Fault_Nop80081920",), - 0x8008193C:("Fault_Log",), - 0x80081958:("Fault_Nop80081958",), + 0x80081920:("__osSyncVPrintf",), + 0x8008193C:("osSyncPrintf",), + 0x80081958:("rmonPrintf",), 0x80081980:("Fault_SleepImpl",), 0x800819F0:("Fault_AddClient",), 0x80081AD4:("Fault_RemoveClient",), @@ -64,11 +65,11 @@ 0x8008212C:("Fault_FillScreenRed",), 0x80082180:("Fault_DrawCornerRec",), 0x800821D4:("Fault_PrintFReg",), - 0x80082280:("Fault_LogFReg",), + 0x80082280:("osSyncPrintfFReg",), 0x80082330:("Fault_PrintFPCR",), - 0x800823D4:("Fault_LogFPCR",), + 0x800823D4:("osSyncPrintfFPCR",), 0x8008246C:("Fault_PrintThreadContext",), - 0x800827BC:("Fault_LogThreadContext",), + 0x800827BC:("osSyncPrintfThreadContext",), 0x80082AB8:("Fault_FindFaultedThread",), 0x80082B40:("Fault_Wait5Seconds",), 0x80082BD0:("Fault_WaitForButtonCombo",), @@ -76,7 +77,7 @@ 0x80082DD8:("Fault_DrawMemDump",), 0x80082FD0:("Fault_FindNextStackCall",), 0x80083144:("Fault_DrawStackTrace",), - 0x800832D4:("Fault_LogStackTrace",), + 0x800832D4:("osSyncPrintfStackTrace",), 0x80083450:("Fault_ResumeThread",), 0x800834CC:("Fault_CommitFB",), 0x8008358C:("Fault_ProcessClients",), @@ -115,7 +116,7 @@ 0x8008501C:("Load2_LoadOverlay",), 0x800850C8:("Load2_AllocateAndLoad",), 0x80085130:("PadUtils_Init",), - 0x80085150:("func_800FCB70",), + 0x80085150:("func_80085150",), 0x80085158:("PadUtils_ResetPressRel",), 0x80085164:("PadUtils_CheckCurExact",), 0x8008517C:("PadUtils_CheckCur",), @@ -154,7 +155,7 @@ 0x800860D8:("GfxPrint_Printf",), 0x80086110:("MtxConv_F2L",), 0x80086258:("MtxConv_L2F",), - 0x80086280:("assert_fail",), + 0x80086280:("__assert",), 0x800862B4:("func_800862B4",), 0x800862E0:("StartHeap_AllocMin1",), 0x80086310:("StartHeap_FreeNull",), @@ -219,7 +220,7 @@ 0x80087160:("ArenaImpl_LockInit",), 0x8008718C:("ArenaImpl_Lock",), 0x800871B4:("ArenaImpl_Unlock",), - 0x800871DC:("heap_get_tail",), + 0x800871DC:("ArenaImpl_GetLastBlock",), 0x8008720C:("__osMallocInit",), 0x8008725C:("__osMallocAddBlock",), 0x800872FC:("__osMallocCleanup",), @@ -233,17 +234,17 @@ 0x80087830:("proutSprintf",), 0x80087854:("vsprintf",), 0x800878A4:("sprintf",), - 0x80087900:("func_80087900",), - 0x80087934:("func_80087934",), + 0x80087900:("PrintUtils_VPrintf",), + 0x80087934:("PrintUtils_Printf",), 0x80087960:("Sleep_Cycles",), - 0x800879CC:("func_800879CC",), - 0x80087A1C:("func_80087A1C",), - 0x80087A6C:("func_80087A6C",), - 0x80087AC0:("func_80087AC0",), + 0x800879CC:("Sleep_Nsec",), + 0x80087A1C:("Sleep_Usec",), + 0x80087A6C:("Sleep_Msec",), + 0x80087AC0:("Sleep_Sec",), 0x80087B00:("__osSetCause",), 0x80087B10:("osSendMesg",), - 0x80087C60:("func_80087C60",), - 0x80087E00:("func_80087E00",), + 0x80087C60:("osPfsFreeBlocks",), + 0x80087E00:("osViExtendVStart",), 0x80087E10:("osStopThread",), 0x80087ED0:("osRecvMesg",), 0x80088010:("osSetIntMask",), @@ -267,30 +268,21 @@ 0x80088AD4:("__ll_rshift",), 0x80088B00:("__osExceptionPreamble",), 0x80088B10:("__osException",), - 0x80088D48:("func_80088D48",), - 0x80088D54:("func_80088D54",), - 0x80088D60:("func_80088D60",), - 0x80088D80:("func_80088D80",), - 0x80088DC4:("func_80088DC4",), - 0x80088F2C:("func_80088F2C",), - 0x80088F88:("func_80088F88",), - 0x80088FA8:("func_80088FA8",), - 0x80088FE0:("func_80088FE0",), 0x8008905C:("send_mesg",), 0x80089110:("handle_CpU",), 0x80089144:("__osEnqueueAndYield",), 0x80089244:("__osEnqueueThread",), 0x8008928C:("__osPopThread",), - 0x8008929C:("func_8008929c",), + 0x8008929C:("__osNop",), 0x800892A4:("__osDispatchThread",), 0x80089420:("__osCleanupThread",), 0x80089430:("__osDequeueThread",), 0x80089470:("osDestroyThread",), 0x80089580:("__osVoiceCheckResult",), 0x80089630:("bzero",), - 0x800896D0:("func_800896D0",), - 0x80089838:("func_80089838",), - 0x80089944:("func_80089944",), + 0x800896D0:("osSetRumble",), + 0x80089838:("osSetUpMempakWrite",), + 0x80089944:("osProbeRumblePak",), 0x80089AA0:("__osSiCreateAccessQueue",), 0x80089AF0:("__osSiGetAccess",), 0x80089B34:("__osSiRelAccess",), @@ -301,37 +293,37 @@ 0x80089F90:("osContStartReadData",), 0x8008A014:("osContGetReadData",), 0x8008A0A0:("__osPackReadData",), - 0x8008A170:("func_8008A170",), + 0x8008A170:("osVoiceGetReadData",), 0x8008A540:("osVirtualToPhysical",), 0x8008A5C0:("__osGetSR",), 0x8008A5D0:("__osSetSR",), 0x8008A5E0:("osWritebackDCache",), - 0x8008A660:("func_8008A660",), + 0x8008A660:("__createSpeedParam",), 0x8008A6FC:("osInitialize",), - 0x8008A9A8:("func_8008A9A8",), + 0x8008A9A8:("__osInitialize_autodetect",), 0x8008AA10:("osViGetNextFramebuffer",), 0x8008AA50:("guPerspectiveF",), 0x8008AC80:("guPerspective",), 0x8008ACE0:("__osSpRawStartDma",), 0x8008AD70:("__osSiRawStartDma",), - 0x8008AE20:("func_8008AE20",), + 0x8008AE20:("osEPiLinkHandle",), 0x8008AE70:("osViBlack",), 0x8008AEE0:("__osSiRawReadIo",), 0x8008AF30:("osGetThreadId",), 0x8008AF50:("osSpTaskYield",), - 0x8008AF70:("__osPfsRWInode",), + 0x8008AF70:("__osPfsGetNextPage",), 0x8008B044:("osPfsReadWriteFile",), - 0x8008B3C0:("func_8008B3C0",), - 0x8008B490:("func_8008B490",), - 0x8008B554:("func_8008B554",), + 0x8008B3C0:("__osPfsGetStatus",), + 0x8008B490:("__osPfsRequestOneChannel",), + 0x8008B554:("__osPfsGetOneChannelData",), 0x8008B600:("guMtxIdentF",), 0x8008B650:("osViSetMode",), 0x8008B6B0:("__osGetConfig",), 0x8008B6C0:("__osSetConfig",), 0x8008B6D0:("guLookAtF",), 0x8008B974:("guLookAt",), - 0x8008B9F0:("func_8008B9F0",), - 0x8008BD24:("func_8008BD24",), + 0x8008B9F0:("osPfsAllocateFile",), + 0x8008BD24:("__osPfsDeclearPage",), 0x8008BE70:("osStopTimer",), 0x8008BF60:("__osProbeTLB",), 0x8008C020:("osCreatePiManager",), @@ -339,19 +331,18 @@ 0x8008C1E0:("__osPiGetAccess",), 0x8008C224:("__osPiRelAccess",), 0x8008C260:("__osDevMgrMain",), - 0x8008C640:("func_8008C640",), 0x8008C670:("osPiRawStartDma",), - 0x8008C740:("func_8008C740",), - 0x8008C7B4:("func_8008C7B4",), - 0x8008C8B0:("func_8008C8B0",), - 0x8008CC00:("func_8008CC00",), - 0x8008CD64:("func_8008CD64",), - 0x8008CF10:("func_8008CF10",), - 0x8008CFE4:("func_8008CFE4",), + 0x8008C740:("__osSumcalc",), + 0x8008C7B4:("__osIdCheckSum",), + 0x8008C8B0:("__osRepairPackId",), + 0x8008CC00:("__osCheckPackId",), + 0x8008CD64:("__osGetId",), + 0x8008CF10:("__osCheckId",), + 0x8008CFE4:("__osPfsRWInode",), 0x8008D2C0:("osGetCount",), 0x8008D2E0:("guMtxL2F",), 0x8008D350:("osGetMemSize",), - 0x8008D470:("func_8008D470",), + 0x8008D470:("osPfsFindFile",), 0x8008D640:("osSetEventMesg",), 0x8008D700:("sqrtf",), 0x8008D710:("osAfterPreNMI",), @@ -361,11 +352,11 @@ 0x8008DF90:("guLookAtHilite",), 0x8008E050:("_Printf",), 0x8008E698:("_Putfld",), - 0x8008ED30:("func_8008ED30",), + 0x8008ED30:("osVoiceClearDictionary",), 0x8008EDE0:("osUnmapTLBAll",), 0x8008EE30:("osEPiStartDma",), - 0x8008EED0:("func_8008EED0",), - 0x8008F100:("func_8008F100",), + 0x8008EED0:("__osVoiceContRead2",), + 0x8008F100:("__osVoiceContDataCrc",), 0x8008F1A0:("strchr",), 0x8008F1E0:("strlen",), 0x8008F208:("memcpy",), @@ -376,30 +367,30 @@ 0x8008F42C:("__osTimerInterrupt",), 0x8008F5A4:("__osSetTimerIntr",), 0x8008F644:("__osInsertTimer",), - 0x8008F7D0:("func_8008F7D0",), + 0x8008F7D0:("__osVoiceContRead36",), 0x8008FA00:("__osSpDeviceBusy",), 0x8008FA30:("__osSiDeviceBusy",), - 0x8008FA60:("func_8008FA60",), + 0x8008FA60:("guMtxIdent",), 0x8008FAB0:("osJamMesg",), 0x8008FC00:("osSetThreadPri",), 0x8008FCE0:("osGetThreadPri",), - 0x8008FD00:("__osEPiRawReadIo",), + 0x8008FD00:("osEPiRawReadIo",), 0x8008FE60:("osViSwapBuffer",), 0x8008FEB0:("guPositionF",), 0x80090058:("guPosition",), - 0x800900C0:("func_800900C0",), + 0x800900C0:("osEPiRawStartDma",), 0x800902A0:("osSpTaskYielded",), 0x80090300:("memcmp",), 0x80090420:("osGetTime",), 0x800904B0:("guRotateF",), 0x80090634:("guRotate",), 0x80090680:("__osSetGlobalIntMask",), - 0x800906D0:("func_800906D0",), - 0x80090810:("func_80090810",), - 0x80090900:("func_80090900",), + 0x800906D0:("osVoiceInit",), + 0x80090810:("__osContChannelReset",), + 0x80090900:("__osVoiceSetADConverter",), 0x80090AF0:("osAiSetFrequency",), 0x80090C40:("__osContRamRead",), - 0x80090E70:("func_80090E70",), + 0x80090E70:("__osVoiceContWrite20",), 0x800910A0:("__osContAddressCrc",), 0x80091170:("__osContDataCrc",), 0x80091210:("__osGetActiveQueue",), @@ -410,8 +401,8 @@ 0x800912B0:("osDpSetStatus",), 0x800912C0:("bcopy",), 0x800915D0:("__osResetGlobalIntMask",), - 0x80091630:("func_80091630",), - 0x80091808:("func_80091808",), + 0x80091630:("osPfsDeleteFile",), + 0x80091808:("__osPfsReleasePages",), 0x800918A0:("guOrthoF",), 0x800919F4:("guOrtho",), 0x80091A60:("__osDisableInt",), @@ -420,33 +411,33 @@ 0x80091C10:("__osViSwapContext",), 0x80091F10:("osPiGetCmdQueue",), 0x80091F40:("__cosf",), - 0x800920B0:("func_800920B0",), + 0x800920B0:("osEPiReadIo",), 0x80092100:("osViSetSpecialFeatures",), 0x80092260:("coss",), 0x80092290:("osSetTime",), - 0x800922C0:("func_800922C0",), + 0x800922C0:("osVoiceStopReadData",), 0x800923E0:("osViSetEvent",), 0x80092440:("osPfsIsPlug",), - 0x800925CC:("func_800925CC",), - 0x80092680:("func_80092680",), + 0x800925CC:("__osPfsRequestData",), + 0x80092680:("__osPfsGetInitData",), 0x80092730:("__osVoiceGetStatus",), 0x80092920:("osCartRomInit",), - 0x80092A80:("func_80092A80",), + 0x80092A80:("guS2DInitBg",), 0x80092C00:("__osPfsSelectBank",), 0x80092C80:("osContSetCh",), 0x80092CE0:("__osSetFpcCsr",), 0x80092CF0:("__osGetFpcCsr",), - 0x80092D00:("func_80092D00",), - 0x80092EE0:("func_80092EE0",), - 0x800930E8:("func_800930E8",), - 0x800931F0:("func_800931F0",), - 0x80093728:("func_80093728",), - 0x80093A00:("func_80093A00",), + 0x80092D00:("osPfsFileState",), + 0x80092EE0:("osPfsInitPak",), + 0x800930E8:("__osPfsCheckRamArea",), + 0x800931F0:("osPfsChecker",), + 0x80093728:("corrupted_init",), + 0x80093A00:("corrupted",), 0x80093BA0:("osAiGetLength",), - 0x80093BB0:("func_80093BB0",), + 0x80093BB0:("osEPiWriteIo",), 0x80093C00:("osMapTLBRdb",), 0x80093C60:("osYieldThread",), - 0x80093CC0:("func_80093CC0",), + 0x80093CC0:("guTranslate",), 0x80093D90:("__osGetCause",), 0x80093DA0:("__osContRamWrite",), 0x80093FF0:("__osEPiRawWriteIo",), @@ -465,7 +456,7 @@ 0x800955B0:("__osViGetCurrentContext",), 0x800955C0:("osWritebackDCacheAll",), 0x800955F0:("__osGetCurrFaultedThread",), - 0x80095600:("func_80095600",), + 0x80095600:("osVoiceMaskDictionary",), 0x80095740:("guMtxF2L",), 0x800957B0:("osStartThread",), 0x80095900:("osViSetYScale",), @@ -478,21 +469,21 @@ 0x80095BEC:("__ll_to_f",), 0x80095C04:("__ull_to_d",), 0x80095C38:("__ull_to_f",), - 0x80095C70:("func_80095C70",), - 0x80096360:("func_80096360",), - 0x80096410:("func_80096410",), - 0x800964D0:("func_800964D0",), + 0x80095C70:("osVoiceCheckWord",), + 0x80096360:("osVoiceControlGain",), + 0x80096410:("osVoiceStartReadData",), + 0x800964D0:("osViGetCurrentFramebuffer",), 0x80096510:("__osSpSetPc",), - 0x80096540:("func_80096540",), + 0x80096540:("__osVoiceContWrite4",), 0x80096770:("__osGetHWIntrRoutine",), - 0x800967A0:("func_800967A0",), + 0x800967A0:("__osSetHWIntrRoutine",), 0x80096810:("__osGetWatchLo",), 0x80096820:("__osSetWatchLo",), - 0x80096830:("func_80096830",), - 0x80096880:("func_80096880",), - 0x800968B0:("func_800968B0",), - 0x800968F0:("func_800968f0",), - 0x80096930:("func_80096930",), + 0x80096830:("fmodf",), + 0x80096880:("__osMemset",), + 0x800968B0:("__osMemcmp",), + 0x800968F0:("__osStrcpy",), + 0x80096930:("__osMemcpy",), 0x800A5AC0:("EnAObj_Init",), 0x800A5B6C:("EnAObj_Destroy",), 0x800A5B98:("EnAObj_Update1",), @@ -2474,9 +2465,9 @@ 0x80130940:("AnimatedMat_TwoLayerTexScroll",), 0x801309F4:("AnimatedMat_DrawTwoTexScroll",), 0x80130A94:("AnimatedMat_SetColor",), - 0x80130C5C:("Scene_DrawType2Texture",), + 0x80130C5C:("AnimatedMat_DrawColor",), 0x80130D0C:("AnimatedMat_Lerp",), - 0x80130D3C:("Scene_DrawType3Texture",), + 0x80130D3C:("AnimatedMat_DrawColorLerp",), 0x80130F58:("Scene_LagrangeInterp",), 0x8013115C:("Scene_LagrangeInterpColor",), 0x801311B4:("AnimatedMat_DrawColorNonLinearInterp",), @@ -2956,23 +2947,23 @@ 0x80164678:("func_80164678",), 0x801647AC:("func_801647AC",), 0x801647B8:("func_801647B8",), - 0x801647D0:("func_801647D0",), - 0x8016482C:("func_8016482C",), - 0x80164858:("func_80164858",), - 0x80164864:("func_80164864",), - 0x801649F4:("func_801649F4",), - 0x80164A80:("func_80164A80",), - 0x80164A8C:("func_80164A8C",), - 0x80164A98:("func_80164A98",), - 0x80164AF0:("func_80164AF0",), - 0x80164B40:("func_80164B40",), - 0x80164B94:("func_80164B94",), - 0x80164BA0:("func_80164BA0",), - 0x80164BD4:("func_80164BD4",), - 0x80164BE0:("func_80164BE0",), + 0x801647D0:("TransitionFade_Start",), + 0x8016482C:("TransitionFade_Init",), + 0x80164858:("TransitionFade_Destroy",), + 0x80164864:("TransitionFade_Update",), + 0x801649F4:("TransitionFade_Draw",), + 0x80164A80:("TransitionFade_IsDone",), + 0x80164A8C:("TransitionFade_SetColor",), + 0x80164A98:("TransitionFade_SetType",), + 0x80164AF0:("TransitionCircle_Start",), + 0x80164B40:("TransitionCircle_Init",), + 0x80164B94:("TransitionCircle_Destroy",), + 0x80164BA0:("TransitionCircle_Update",), + 0x80164BD4:("TransitionCircle_SetColor",), + 0x80164BE0:("TransitionCircle_SetType",), 0x80164C14:("func_80164C14",), - 0x80165044:("func_80165044",), - 0x80165198:("func_80165198",), + 0x80165044:("TransitionCircle_Draw",), + 0x80165198:("TransitionCircle_IsDone",), 0x801651B0:("func_801651B0",), 0x80165224:("func_80165224",), 0x80165288:("func_80165288",), @@ -3714,8 +3705,8 @@ 0x80193C5C:("func_80193C5C",), 0x80193CB4:("func_80193CB4",), 0x80193D08:("func_80193D08",), - 0x80193DF0:("func_80193DF0",), 0x80193DA4:("func_80193DA4",), + 0x80193DF0:("func_80193DF0",), 0x80193E44:("func_80193E44",), 0x80193E6C:("func_80193E6C",), 0x80193E9C:("func_80193E9C",), @@ -4098,8 +4089,8 @@ 0x801AAAA0:("nop_801AAAA0",), 0x80800000:("Title_UpdateCounters",), 0x8080009C:("Title_RenderView",), - 0x80800134:("Title_Render",), - 0x8080066C:("Title_Update",), + 0x80800134:("Title_Draw",), + 0x8080066C:("Title_Main",), 0x8080071C:("Title_Destroy",), 0x8080074C:("Title_Init",), 0x80800910:("func_80800910",), @@ -4112,12 +4103,12 @@ 0x8080194C:("func_8080194C",), 0x808019FC:("func_808019FC",), 0x80801A64:("func_80801A64",), - 0x80801AFC:("func_80801AFC",), - 0x80801B28:("func_80801B28",), - 0x80801B4C:("func_80801B4C",), + 0x80801AFC:("Select_Main",), + 0x80801B28:("Select_Destroy",), + 0x80801B4C:("Select_Init",), 0x80803DF0:("Opening_SetupForTitleCutscene",), 0x80803EA0:("func_80803EA0",), - 0x80803EC0:("Opening_Update",), + 0x80803EC0:("Opening_Main",), 0x80803F0C:("Opening_Destroy",), 0x80803F30:("Opening_Init",), 0x80804010:("func_80804010",), @@ -4199,13 +4190,13 @@ 0x80812E94:("func_80812E94",), 0x80812ED0:("func_80812ED0",), 0x8081313C:("FileChoose_UpdateAndDrawSkybox",), - 0x80813268:("FileChoose_Update",), + 0x80813268:("FileChoose_Main",), 0x80813908:("func_80813908",), 0x80813C74:("FileChoose_Destroy",), 0x80813C98:("FileChoose_Init",), - 0x80814EB0:("Daytelop_UpdateState",), - 0x80814FE8:("Daytelop_Render",), - 0x808156B4:("Daytelop_Update",), + 0x80814EB0:("Daytelop_Update",), + 0x80814FE8:("Daytelop_Draw",), + 0x808156B4:("Daytelop_Main",), 0x8081574C:("Daytelop_Destroy",), 0x80815770:("Daytelop_nop80815770",), 0x8081577C:("Daytelop_LoadGraphics",), @@ -5389,7 +5380,7 @@ 0x8088B720:("EnArrow_Update",), 0x8088B88C:("func_8088B88C",), 0x8088BA34:("EnArrow_Draw",), - 0x8088C510:("func_8088C510",), + 0x8088C510:("EnElf_SetupAction",), 0x8088C51C:("func_8088C51C",), 0x8088C804:("func_8088C804",), 0x8088C858:("func_8088C858",), @@ -5624,7 +5615,7 @@ 0x8089EDA0:("EnZl1_Destroy",), 0x8089EDB0:("EnZl1_Update",), 0x8089EDC0:("EnZl1_Draw",), - 0x8089EE20:("func_8089EE20",), + 0x8089EE20:("EnViewer_SetupAction",), 0x8089EE2C:("EnViewer_Init",), 0x8089EFF0:("EnViewer_Destroy",), 0x8089F014:("func_8089F014",), @@ -5680,7 +5671,7 @@ 0x808A1CC4:("DoorShutter_Update",), 0x808A1D68:("func_808A1D68",), 0x808A1E14:("func_808A1E14",), - 0x808A24D0:("func_808A24D0",), + 0x808A24D0:("EnBoom_SetupAction",), 0x808A24DC:("func_808A24DC",), 0x808A2700:("EnBoom_Init",), 0x808A2868:("EnBoom_Destroy",), @@ -5873,7 +5864,7 @@ 0x808AE3A8:("func_808AE3A8",), 0x808AE3FC:("func_808AE3FC",), 0x808AE530:("EnFamos_Draw",), - 0x808AE8C0:("func_808AE8C0",), + 0x808AE8C0:("EnBombf_SetupAction",), 0x808AE8CC:("EnBombf_Init",), 0x808AEA78:("EnBombf_Destroy",), 0x808AEAB8:("func_808AEAB8",), @@ -5973,7 +5964,7 @@ 0x808B63E8:("EnMThunder_Update",), 0x808B65BC:("func_808B65BC",), 0x808B677C:("EnMThunder_Draw",), - 0x808B7360:("func_808B7360",), + 0x808B7360:("BgBreakwall_SetupAction",), 0x808B736C:("func_808B736C",), 0x808B7380:("func_808B7380",), 0x808B73C4:("func_808B73C4",), @@ -5998,7 +5989,7 @@ 0x808B7B54:("func_808B7B54",), 0x808B7D34:("func_808B7D34",), 0x808B7FE4:("func_808B7FE4",), - 0x808B8490:("func_808B8490",), + 0x808B8490:("DoorWarp1_SetupAction",), 0x808B849C:("func_808B849C",), 0x808B8568:("func_808B8568",), 0x808B866C:("func_808B866C",), @@ -6287,7 +6278,7 @@ 0x808CDE78:("func_808CDE78",), 0x808CDFF8:("func_808CDFF8",), 0x808CE078:("func_808CE078",), - 0x808CE450:("func_808CE450",), + 0x808CE450:("DemoKankyo_SetupAction",), 0x808CE45C:("func_808CE45C",), 0x808CF06C:("func_808CF06C",), 0x808CF0CC:("func_808CF0CC",), @@ -6468,7 +6459,7 @@ 0x808DB738:("EnSw_Update",), 0x808DB7F4:("func_808DB7F4",), 0x808DB8DC:("EnSw_Draw",), - 0x808DBE80:("func_808DBE80",), + 0x808DBE80:("ObjectKankyo_SetupAction",), 0x808DBE8C:("func_808DBE8C",), 0x808DBEB0:("func_808DBEB0",), 0x808DBFB0:("func_808DBFB0",), @@ -6508,7 +6499,7 @@ 0x808DFC3C:("func_808DFC3C",), 0x808DFDC8:("func_808DFDC8",), 0x808DFE3C:("EnHorseLinkChild_Draw",), - 0x808E01A0:("func_808E01A0",), + 0x808E01A0:("DoorAna_SetupAction",), 0x808E01AC:("DoorAna_Init",), 0x808E0264:("DoorAna_Destroy",), 0x808E02A4:("func_808E02A4",), @@ -7001,7 +6992,7 @@ 0x8091F940:("EnFish_Update",), 0x8091F994:("func_8091F994",), 0x8091F9A4:("EnFish_Draw",), - 0x8091FEF0:("func_8091FEF0",), + 0x8091FEF0:("ItemEtcetera_SetupAction",), 0x8091FEFC:("ItemEtcetera_Init",), 0x80920034:("ItemEtcetera_Destroy",), 0x80920044:("func_80920044",), @@ -7010,17 +7001,17 @@ 0x80920140:("ItemEtcetera_Update",), 0x80920164:("func_80920164",), 0x809201BC:("func_809201BC",), - 0x80920340:("FireArrow_SetUpdateFunc",), + 0x80920340:("ArrowFire_SetupAction",), 0x8092034C:("ArrowFire_Init",), 0x809203F8:("ArrowFire_Destroy",), - 0x80920440:("FireArrow_Update1",), + 0x80920440:("func_80920440",), 0x80920534:("FireArrow_Lerp",), - 0x8092058C:("FireArrow_Update3",), - 0x809207A0:("FireArrow_Update2",), + 0x8092058C:("func_8092058C",), + 0x809207A0:("func_809207A0",), 0x809208F4:("ArrowFire_Update",), 0x80920948:("func_80920948",), 0x80920A24:("ArrowFire_Draw",), - 0x80922430:("func_80922430",), + 0x80922430:("ArrowIce_SetupAction",), 0x8092243C:("ArrowIce_Init",), 0x809224B8:("ArrowIce_Destroy",), 0x809224DC:("func_809224DC",), @@ -7029,7 +7020,7 @@ 0x809227F4:("func_809227F4",), 0x80922948:("ArrowIce_Update",), 0x8092299C:("ArrowIce_Draw",), - 0x80924300:("func_80924300",), + 0x80924300:("ArrowLight_SetupAction",), 0x8092430C:("ArrowLight_Init",), 0x80924388:("ArrowLight_Destroy",), 0x809243AC:("func_809243AC",), @@ -7038,7 +7029,7 @@ 0x809246C4:("func_809246C4",), 0x80924818:("ArrowLight_Update",), 0x8092486C:("ArrowLight_Draw",), - 0x809261B0:("func_809261B0",), + 0x809261B0:("ObjKibako_SpawnCollectible",), 0x80926224:("func_80926224",), 0x809262BC:("func_809262BC",), 0x80926318:("func_80926318",), @@ -7157,7 +7148,7 @@ 0x8092DA68:("func_8092DA68",), 0x8092DA94:("func_8092DA94",), 0x8092DBE0:("EnDns_Draw",), - 0x8092DF90:("func_8092DF90",), + 0x8092DF90:("ElfMsg_SetupAction",), 0x8092DF9C:("func_8092DF9C",), 0x8092E0D4:("ElfMsg_Init",), 0x8092E1C0:("ElfMsg_Destroy",), @@ -7445,7 +7436,7 @@ 0x8093DC2C:("ObjLift_Update",), 0x8093DC60:("ObjLift_Draw",), 0x8093DC90:("func_8093DC90",), - 0x8093DEA0:("func_8093DEA0",), + 0x8093DEA0:("ObjHsblock_SetupAction",), 0x8093DEAC:("func_8093DEAC",), 0x8093DF30:("ObjHsblock_Init",), 0x8093E008:("ObjHsblock_Destroy",), @@ -7898,7 +7889,7 @@ 0x80964694:("func_80964694",), 0x809647EC:("func_809647EC",), 0x80964950:("func_80964950",), - 0x80965650:("func_80965650",), + 0x80965650:("EnStream_SetupAction",), 0x8096565C:("EnStream_Init",), 0x809656C4:("EnStream_Destroy",), 0x809656D4:("func_809656D4",), @@ -7906,7 +7897,7 @@ 0x8096597C:("func_8096597C",), 0x809659D0:("EnStream_Update",), 0x80965A04:("EnStream_Draw",), - 0x80965BB0:("func_80965BB0",), + 0x80965BB0:("EnMm_SetupAction",), 0x80965BBC:("func_80965BBC",), 0x80965C0C:("EnMm_Init",), 0x80965D10:("EnMm_Destroy",), @@ -8014,7 +8005,7 @@ 0x8096D60C:("func_8096D60C",), 0x8096D74C:("func_8096D74C",), 0x8096E868:("EnMag_Draw",), - 0x8096EC40:("func_8096EC40",), + 0x8096EC40:("ElfMsg2_SetupAction",), 0x8096EC4C:("func_8096EC4C",), 0x8096ED84:("ElfMsg2_Init",), 0x8096EE40:("ElfMsg2_Destroy",), @@ -8067,7 +8058,7 @@ 0x809723C4:("func_809723C4",), 0x80972454:("ObjMakeoshihiki_Init",), 0x80972548:("ObjMakeoshihiki_Update",), - 0x80972680:("func_80972680",), + 0x80972680:("OceffSpot_SetupAction",), 0x8097268C:("OceffSpot_Init",), 0x809727EC:("OceffSpot_Destroy",), 0x80972844:("func_80972844",), @@ -8089,7 +8080,7 @@ 0x80973D3C:("func_80973D3C",), 0x80973DE0:("func_80973DE0",), 0x80973E60:("ObjRoomtimer_Update",), - 0x80973EF0:("func_80973EF0",), + 0x80973EF0:("EnSsh_SetupAction",), 0x80973EFC:("func_80973EFC",), 0x80973F84:("func_80973F84",), 0x80974080:("func_80974080",), @@ -8140,80 +8131,80 @@ 0x8097650C:("OceffWipe_Destroy",), 0x80976540:("OceffWipe_Update",), 0x809765A0:("OceffWipe_Draw",), - 0x80977210:("EffectDust_Init",), - 0x80977394:("EffectDust_Draw",), - 0x809776BC:("EffectDust_Update0",), - 0x809777B4:("EffectDust_Update1",), - 0x80977A00:("EffectSparkle_Init",), - 0x80977B5C:("func_80977B5C",), + 0x80977210:("EffectSsDust_Init",), + 0x80977394:("EffectSsDust_Draw",), + 0x809776BC:("func_809776BC",), + 0x809777B4:("func_809777B4",), + 0x80977A00:("EffectSsKirakira_Init",), + 0x80977B5C:("EffectSsKirakira_Draw",), 0x80977DB4:("func_80977DB4",), 0x80977E6C:("func_80977E6C",), 0x80977F28:("func_80977F28",), - 0x80978070:("func_80978070",), + 0x80978070:("EffectSsBomb2_Init",), 0x80978138:("func_80978138",), 0x80978304:("func_80978304",), - 0x80978628:("func_80978628",), - 0x809788D0:("func_809788D0",), - 0x809789FC:("func_809789FC",), - 0x80978B68:("func_80978B68",), - 0x80978C30:("func_80978C30",), - 0x80978D70:("func_80978D70",), + 0x80978628:("EffectSsBomb2_Update",), + 0x809788D0:("EffectSsBlast_Init",), + 0x809789FC:("EffectSsBlast_Draw",), + 0x80978B68:("EffectSsBlast_Update",), + 0x80978C30:("EffectSsGSpk_Init",), + 0x80978D70:("EffectSsGSpk_Draw",), 0x80978F40:("func_80978F40",), 0x80979068:("func_80979068",), 0x809791B0:("func_809791B0",), - 0x80979228:("func_80979228",), - 0x8097930C:("func_8097930C",), - 0x809794D4:("func_809794D4",), - 0x809795C0:("func_809795C0",), - 0x80979738:("func_80979738",), - 0x8097985C:("func_8097985C",), - 0x80979B30:("func_80979B30",), + 0x80979228:("EffectSsDFire_Init",), + 0x8097930C:("EffectSsDFire_Draw",), + 0x809794D4:("EffectSsDFire_Update",), + 0x809795C0:("EffectSsBubble_Init",), + 0x80979738:("EffectSsBubble_Draw",), + 0x8097985C:("EffectSsBubble_Update",), + 0x80979B30:("EffectSsGRipple_Init",), 0x80979C38:("func_80979C38",), - 0x80979E48:("func_80979E48",), - 0x80979E80:("func_80979E80",), - 0x8097A050:("func_8097A050",), - 0x8097A208:("func_8097A208",), - 0x8097A310:("func_8097A310",), - 0x8097A470:("func_8097A470",), - 0x8097A548:("func_8097A548",), - 0x8097A5F0:("func_8097A5F0",), - 0x8097A680:("func_8097A680",), + 0x80979E48:("EffectSsGRipple_Draw",), + 0x80979E80:("EffectSsGRipple_Update",), + 0x8097A050:("EffectSsGSplash_Init",), + 0x8097A208:("EffectSsGSplash_Draw",), + 0x8097A310:("EffectSsGSplash_Update",), + 0x8097A470:("EffectSsGFire_Init",), + 0x8097A548:("EffectSsGFire_Draw",), + 0x8097A5F0:("EffectSsGFire_Update",), + 0x8097A680:("EffectSsLightning_Init",), 0x8097A794:("func_8097A794",), - 0x8097A838:("func_8097A838",), - 0x8097AA98:("func_8097AA98",), - 0x8097AD60:("func_8097AD60",), - 0x8097AF50:("func_8097AF50",), - 0x8097B160:("func_8097B160",), + 0x8097A838:("EffectSsLightning_Draw",), + 0x8097AA98:("EffectSsLightning_Update",), + 0x8097AD60:("EffectSsDtBubble_Init",), + 0x8097AF50:("EffectSsDtBubble_Draw",), + 0x8097B160:("EffectSsDtBubble_Update",), 0x8097B270:("func_8097B270",), - 0x8097B2E4:("func_8097B2E4",), + 0x8097B2E4:("EffectSsHahen_Init",), 0x8097B424:("func_8097B424",), 0x8097B504:("func_8097B504",), - 0x8097B5E4:("func_8097B5E4",), - 0x8097B708:("func_8097B708",), - 0x8097B810:("func_8097B810",), - 0x8097B924:("func_8097B924",), - 0x8097BA58:("func_8097BA58",), - 0x8097BAD0:("func_8097BAD0",), - 0x8097BC4C:("func_8097BC4C",), - 0x8097BDCC:("func_8097BDCC",), - 0x8097C130:("func_8097C130",), - 0x8097C1BC:("func_8097C1BC",), - 0x8097C394:("func_8097C394",), - 0x8097C490:("func_8097C490",), - 0x8097C560:("func_8097C560",), - 0x8097C74C:("func_8097C74C",), - 0x8097C990:("func_8097C990",), - 0x8097CAE8:("func_8097CAE8",), - 0x8097CCAC:("func_8097CCAC",), - 0x8097D410:("func_8097D410",), - 0x8097D4E8:("func_8097D4E8",), - 0x8097D750:("func_8097D750",), - 0x8097D850:("func_8097D850",), - 0x8097D8F4:("func_8097D8F4",), - 0x8097DAEC:("func_8097DAEC",), - 0x8097DCA0:("func_8097DCA0",), + 0x8097B5E4:("EffectSsHahen_Draw",), + 0x8097B708:("EffectSsHahen_Update",), + 0x8097B810:("EffectSsStick_Init",), + 0x8097B924:("EffectSsStick_Draw",), + 0x8097BA58:("EffectSsStick_Update",), + 0x8097BAD0:("EffectSsSibuki_Init",), + 0x8097BC4C:("EffectSsSibuki_Draw",), + 0x8097BDCC:("EffectSsSibuki_Update",), + 0x8097C130:("EffectSsStone1_Init",), + 0x8097C1BC:("EffectSsStone1_Draw",), + 0x8097C394:("EffectSsStone1_Update",), + 0x8097C490:("EffectSsHitmark_Init",), + 0x8097C560:("EffectSsHitmark_Draw",), + 0x8097C74C:("EffectSsHitmark_Update",), + 0x8097C990:("EffectSsFhgFlash_Init",), + 0x8097CAE8:("EffectSsFhgFlash_Draw",), + 0x8097CCAC:("EffectSsFhgFlash_Update",), + 0x8097D410:("EffectSsKFire_Init",), + 0x8097D4E8:("EffectSsKFire_Draw",), + 0x8097D750:("EffectSsKFire_Update",), + 0x8097D850:("EffectSsSolderSrchBall_Init",), + 0x8097D8F4:("EffectSsSolderSrchBall_Draw",), + 0x8097DAEC:("EffectSsSolderSrchBall_Update",), + 0x8097DCA0:("EffectSsKakera_Init",), 0x8097DE30:("func_8097DE30",), - 0x8097DE6C:("func_8097DE6C",), + 0x8097DE6C:("EffectSsKakera_Draw",), 0x8097E130:("func_8097E130",), 0x8097E19C:("func_8097E19C",), 0x8097E34C:("func_8097E34C",), @@ -8228,33 +8219,33 @@ 0x8097E660:("func_8097E660",), 0x8097E698:("func_8097E698",), 0x8097E7E0:("func_8097E7E0",), - 0x8097E9D8:("func_8097E9D8",), - 0x8097ECD0:("func_8097ECD0",), - 0x8097EE1C:("func_8097EE1C",), - 0x8097F020:("func_8097F020",), - 0x8097F0D0:("func_8097F0D0",), - 0x8097F2F0:("func_8097F2F0",), + 0x8097E9D8:("EffectSsKakera_Update",), + 0x8097ECD0:("EffectSsIcePiece_Init",), + 0x8097EE1C:("EffectSsIcePiece_Draw",), + 0x8097F020:("EffectSsIcePiece_Update",), + 0x8097F0D0:("EffectSsEnIce_Init",), + 0x8097F2F0:("EffectSsEnIce_Draw",), 0x8097F62C:("func_8097F62C",), 0x8097F7EC:("func_8097F7EC",), - 0x8097F880:("func_8097F880",), - 0x8097F99C:("func_8097F99C",), - 0x8097FE8C:("func_8097FE8C",), - 0x8097FF60:("func_8097FF60",), - 0x809800CC:("func_809800CC",), - 0x809803BC:("func_809803BC",), - 0x809805D0:("func_809805D0",), - 0x80980714:("func_80980714",), - 0x8098087C:("func_8098087C",), - 0x80980940:("func_80980940",), - 0x80980A24:("func_80980A24",), - 0x80980BD4:("func_80980BD4",), - 0x80980D50:("func_80980D50",), - 0x80981018:("func_80981018",), - 0x809811E8:("func_809811E8",), - 0x809812E0:("func_809812E0",), - 0x809813C8:("func_809813C8",), - 0x80981698:("func_80981698",), - 0x80981760:("func_80981760",), + 0x8097F880:("EffectSsFireTail_Init",), + 0x8097F99C:("EffectSsFireTail_Draw",), + 0x8097FE8C:("EffectSsFireTail_Update",), + 0x8097FF60:("EffectSsEnFire_Init",), + 0x809800CC:("EffectSsEnFire_Draw",), + 0x809803BC:("EffectSsEnFire_Update",), + 0x809805D0:("EffectSsExtra_Init",), + 0x80980714:("EffectSsExtra_Draw",), + 0x8098087C:("EffectSsExtra_Update",), + 0x80980940:("EffectSsDeadDb_Init",), + 0x80980A24:("EffectSsDeadDb_Draw",), + 0x80980BD4:("EffectSsDeadDb_Update",), + 0x80980D50:("EffectSsDeadDd_Init",), + 0x80981018:("EffectSsDeadDd_Draw",), + 0x809811E8:("EffectSsDeadDd_Update",), + 0x809812E0:("EffectSsDeadDs_Init",), + 0x809813C8:("EffectSsDeadDs_Draw",), + 0x80981698:("EffectSsDeadDs_Update",), + 0x80981760:("OceffStorm_SetupAction",), 0x8098176C:("func_8098176C",), 0x809817E4:("OceffStorm_Init",), 0x80981904:("OceffStorm_Destroy",), @@ -8643,9 +8634,9 @@ 0x8099EFF4:("func_8099EFF4",), 0x8099F15C:("func_8099F15C",), 0x8099F268:("EnZo_Draw",), - 0x8099F730:("func_8099F730",), - 0x8099F7F4:("func_8099F7F4",), - 0x8099F980:("func_8099F980",), + 0x8099F730:("EffectSsIceSmoke_Init",), + 0x8099F7F4:("EffectSsIceSmoke_Draw",), + 0x8099F980:("EffectSsIceSmoke_Update",), 0x8099FA40:("func_8099FA40",), 0x8099FAB0:("ObjMakekinsuta_Init",), 0x8099FB20:("ObjMakekinsuta_Destroy",), @@ -8695,7 +8686,7 @@ 0x809A20FC:("func_809A20FC",), 0x809A2194:("EnMm2_Update",), 0x809A21B8:("EnMm2_Draw",), - 0x809A2B60:("func_809A2B60",), + 0x809A2B60:("DoorSpiral_SetupAction",), 0x809A2B70:("func_809A2B70",), 0x809A2BF8:("func_809A2BF8",), 0x809A2C78:("DoorSpiral_Init",), @@ -9939,9 +9930,9 @@ 0x80A22880:("ObjSkateblock_Update",), 0x80A228D8:("ObjSkateblock_Draw",), 0x80A22D40:("func_80A22D40",), - 0x80A22DB8:("func_80A22DB8",), - 0x80A22E94:("func_80A22E94",), - 0x80A22FE4:("func_80A22FE4",), + 0x80A22DB8:("EffectEnIceBlock_Init",), + 0x80A22E94:("EffectEnIceBlock_Draw",), + 0x80A22FE4:("EffectEnIceBlock_Update",), 0x80A23090:("func_80A23090",), 0x80A2311C:("func_80A2311C",), 0x80A2319C:("func_80A2319C",), @@ -10096,14 +10087,14 @@ 0x80A2C78C:("EnSyatekiDekunuts_Update",), 0x80A2C8A0:("func_80A2C8A0",), 0x80A2C8E8:("EnSyatekiDekunuts_Draw",), - 0x80A2CD10:("func_80A2CD10",), + 0x80A2CD10:("ElfMsg3_SetupAction",), 0x80A2CD1C:("func_80A2CD1C",), 0x80A2CE54:("ElfMsg3_Init",), 0x80A2CF40:("ElfMsg3_Destroy",), 0x80A2CF50:("func_80A2CF50",), 0x80A2CF7C:("func_80A2CF7C",), 0x80A2D0FC:("ElfMsg3_Update",), - 0x80A2D280:("func_80A2D280",), + 0x80A2D280:("EnFg_UpdateAnimation",), 0x80A2D348:("func_80A2D348",), 0x80A2D3D4:("func_80A2D3D4",), 0x80A2D400:("func_80A2D400",), @@ -11346,7 +11337,7 @@ 0x80A8FBB4:("EnTrt_PostLimbDraw",), 0x80A8FC64:("EnTrt_UnkActorDraw",), 0x80A8FCE0:("EnTrt_Draw",), - 0x80A903B0:("func_80A903B0",), + 0x80A903B0:("EnTest5_SetupAction",), 0x80A903BC:("EnTest5_Init",), 0x80A90468:("EnTest5_Destroy",), 0x80A90478:("func_80A90478",), @@ -11358,7 +11349,7 @@ 0x80A90D20:("func_80A90D20",), 0x80A90D34:("func_80A90D34",), 0x80A90FC0:("func_80A90FC0",), - 0x80A91324:("func_80A91324",), + 0x80A91324:("EnTest6_SetupAction",), 0x80A91330:("EnTest6_Init",), 0x80A9149C:("EnTest6_Destroy",), 0x80A9156C:("func_80A9156C",), @@ -11470,7 +11461,7 @@ 0x80A9D434:("func_80A9D434",), 0x80A9D498:("BgHakuginPost_Update",), 0x80A9D61C:("func_80A9D61C",), - 0x80A9F950:("func_80A9F950",), + 0x80A9F950:("DmOpstage_SetupAction",), 0x80A9F95C:("DmOpstage_Init",), 0x80A9FA1C:("DmOpstage_Destroy",), 0x80A9FA58:("func_80A9FA58",), @@ -11630,7 +11621,7 @@ 0x80AADF54:("func_80AADF54",), 0x80AAE030:("func_80AAE030",), 0x80AAE114:("func_80AAE114",), - 0x80AAE680:("func_80AAE680",), + 0x80AAE680:("DmChar06_SetupAction",), 0x80AAE68C:("DmChar06_Init",), 0x80AAE6E0:("DmChar06_Destroy",), 0x80AAE6F0:("func_80AAE6F0",), @@ -11963,56 +11954,56 @@ 0x80AC4D2C:("func_80AC4D2C",), 0x80AC4E98:("BgIcefloe_Update",), 0x80AC4ED8:("BgIcefloe_Draw",), - 0x80AC5070:("func_80AC5070",), - 0x80AC50A8:("func_80AC50A8",), - 0x80AC5148:("func_80AC5148",), - 0x80AC5154:("func_80AC5154",), - 0x80AC5268:("func_80AC5268",), - 0x80AC5274:("func_80AC5274",), + 0x80AC5070:("TransitionTriforce_Start",), + 0x80AC50A8:("TransitionTriforce_Init",), + 0x80AC5148:("TransitionTriforce_Destroy",), + 0x80AC5154:("TransitionTriforce_Update",), + 0x80AC5268:("TransitionTriforce_SetColor",), + 0x80AC5274:("TransitionTriforce_SetType",), 0x80AC5280:("func_80AC5280",), - 0x80AC528C:("func_80AC528C",), - 0x80AC559C:("func_80AC559C",), - 0x80AC57B0:("func_80AC57B0",), - 0x80AC5868:("func_80AC5868",), - 0x80AC5894:("func_80AC5894",), - 0x80AC58A0:("func_80AC58A0",), - 0x80AC5980:("func_80AC5980",), - 0x80AC5BBC:("func_80AC5BBC",), - 0x80AC5BC8:("func_80AC5BC8",), - 0x80AC5C08:("func_80AC5C08",), - 0x80AC5C14:("func_80AC5C14",), - 0x80AC6740:("func_80AC6740",), - 0x80AC687C:("func_80AC687C",), - 0x80AC68A8:("func_80AC68A8",), + 0x80AC528C:("TransitionTriforce_Draw",), + 0x80AC559C:("TransitionTriforce_IsDone",), + 0x80AC57B0:("TransitionWipe1_Start",), + 0x80AC5868:("TransitionWipe1_Init",), + 0x80AC5894:("TransitionWipe1_Destroy",), + 0x80AC58A0:("TransitionWipe1_Update",), + 0x80AC5980:("TransitionWipe1_Draw",), + 0x80AC5BBC:("TransitionWipe1_IsDone",), + 0x80AC5BC8:("TransitionWipe1_SetType",), + 0x80AC5C08:("TransitionWipe1_SetColor",), + 0x80AC5C14:("TransitionWipe1_SetEnvColor",), + 0x80AC6740:("TransitionWipe3_Start",), + 0x80AC687C:("TransitionWipe3_Init",), + 0x80AC68A8:("TransitionWipe3_Destroy",), 0x80AC68B4:("func_80AC68B4",), - 0x80AC68E0:("func_80AC68E0",), - 0x80AC69F8:("func_80AC69F8",), - 0x80AC6BE4:("func_80AC6BE4",), - 0x80AC6BF0:("func_80AC6BF0",), - 0x80AC6C3C:("func_80AC6C3C",), - 0x80AC6C48:("func_80AC6C48",), - 0x80AC8430:("func_80AC8430",), - 0x80AC84B4:("func_80AC84B4",), - 0x80AC84E0:("func_80AC84E0",), - 0x80AC84EC:("func_80AC84EC",), - 0x80AC8544:("func_80AC8544",), - 0x80AC85E0:("func_80AC85E0",), - 0x80AC85EC:("func_80AC85EC",), - 0x80AC862C:("func_80AC862C",), - 0x80AC8638:("func_80AC8638",), - 0x80AC86F0:("func_80AC86F0",), - 0x80AC8774:("func_80AC8774",), - 0x80AC87A0:("func_80AC87A0",), - 0x80AC87AC:("func_80AC87AC",), - 0x80AC881C:("func_80AC881C",), - 0x80AC8A50:("func_80AC8A50",), - 0x80AC8A5C:("func_80AC8A5C",), - 0x80AC8A94:("func_80AC8A94",), - 0x80AC8AA0:("func_80AC8AA0",), - 0x80AC8B50:("func_80AC8B50",), + 0x80AC68E0:("TransitionWipe3_Update",), + 0x80AC69F8:("TransitionWipe3_Draw",), + 0x80AC6BE4:("TransitionWipe3_IsDone",), + 0x80AC6BF0:("TransitionWipe3_SetType",), + 0x80AC6C3C:("TransitionWipe3_SetColor",), + 0x80AC6C48:("TransitionWipe3_SetEnvColor",), + 0x80AC8430:("TransitionWipe4_Start",), + 0x80AC84B4:("TransitionWipe4_Init",), + 0x80AC84E0:("TransitionWipe4_Destroy",), + 0x80AC84EC:("TransitionWipe4_Update",), + 0x80AC8544:("TransitionWipe4_Draw",), + 0x80AC85E0:("TransitionWipe4_IsDone",), + 0x80AC85EC:("TransitionWipe4_SetType",), + 0x80AC862C:("TransitionWipe4_SetColor",), + 0x80AC8638:("TransitionWipe4_SetEnvColor",), + 0x80AC86F0:("TransitionWipe5_Start",), + 0x80AC8774:("TransitionWipe5_Init",), + 0x80AC87A0:("TransitionWipe5_Destroy",), + 0x80AC87AC:("TransitionWipe5_Update",), + 0x80AC881C:("TransitionWipe5_Draw",), + 0x80AC8A50:("TransitionWipe5_IsDone",), + 0x80AC8A5C:("TransitionWipe5_SetType",), + 0x80AC8A94:("TransitionWipe5_SetColor",), + 0x80AC8AA0:("TransitionWipe5_SetEnvColor",), + 0x80AC8B50:("EffectSsSbn_Init",), 0x80AC8ECC:("func_80AC8ECC",), 0x80AC9164:("func_80AC9164",), - 0x80AC933C:("func_80AC933C",), + 0x80AC933C:("EffectSsSbn_Update",), 0x80AC94C0:("func_80AC94C0",), 0x80AC94FC:("ObjOcarinalift_Init",), 0x80AC964C:("ObjOcarinalift_Destroy",), @@ -12631,7 +12622,7 @@ 0x80AF0530:("func_80AF0530",), 0x80AF06CC:("ObjLupygamelift_Update",), 0x80AF06F0:("ObjLupygamelift_Draw",), - 0x80AF0820:("func_80AF0820",), + 0x80AF0820:("EnTest7_SetupAction",), 0x80AF082C:("func_80AF082C",), 0x80AF0838:("func_80AF0838",), 0x80AF0984:("func_80AF0984",), @@ -14483,7 +14474,7 @@ 0x80B78C18:("func_80B78C18",), 0x80B78D08:("func_80B78D08",), 0x80B78DF0:("func_80B78DF0",), - 0x80B78E2C:("func_80B78E2C",), + 0x80B78E2C:("ObjUm_SetupAction",), 0x80B78E38:("func_80B78E38",), 0x80B78E88:("func_80B78E88",), 0x80B78EBC:("func_80B78EBC",), @@ -14846,7 +14837,7 @@ 0x80B92660:("func_80B92660",), 0x80B928E0:("BgDblueElevator_Update",), 0x80B92904:("BgDblueElevator_Draw",), - 0x80B92B10:("func_80B92B10",), + 0x80B92B10:("ObjWarpstone_SetupAction",), 0x80B92B1C:("ObjWarpstone_Init",), 0x80B92BD4:("ObjWarpstone_Destroy",), 0x80B92C00:("func_80B92C00",), @@ -15070,7 +15061,7 @@ 0x80BA215C:("func_80BA215C",), 0x80BA21C4:("func_80BA21C4",), 0x80BA22B0:("ElfMsg6_Update",), - 0x80BA2420:("func_80BA2420",), + 0x80BA2420:("ObjNozoki_SetupAction",), 0x80BA242C:("ObjNozoki_Init",), 0x80BA24DC:("ObjNozoki_Destroy",), 0x80BA2514:("func_80BA2514",), diff --git a/tools/disasm/mips_isa.py b/tools/disasm/mips_isa.py new file mode 100644 index 0000000000..44cddacd7d --- /dev/null +++ b/tools/disasm/mips_isa.py @@ -0,0 +1,765 @@ +# Register IDs +MIPS_REG_R0 = MIPS_REG_F0 = 0 +MIPS_REG_AT = MIPS_REG_F1 = 1 +MIPS_REG_V0 = MIPS_REG_F2 = 2 +MIPS_REG_V1 = MIPS_REG_F3 = 3 +MIPS_REG_A0 = MIPS_REG_F4 = 4 +MIPS_REG_A1 = MIPS_REG_F5 = 5 +MIPS_REG_A2 = MIPS_REG_F6 = 6 +MIPS_REG_A3 = MIPS_REG_F7 = 7 +MIPS_REG_T0 = MIPS_REG_F8 = 8 +MIPS_REG_T1 = MIPS_REG_F9 = 9 +MIPS_REG_T2 = MIPS_REG_F10 = 10 +MIPS_REG_T3 = MIPS_REG_F11 = 11 +MIPS_REG_T4 = MIPS_REG_F12 = 12 +MIPS_REG_T5 = MIPS_REG_F13 = 13 +MIPS_REG_T6 = MIPS_REG_F14 = 14 +MIPS_REG_T7 = MIPS_REG_F15 = 15 +MIPS_REG_S0 = MIPS_REG_F16 = 16 +MIPS_REG_S1 = MIPS_REG_F17 = 17 +MIPS_REG_S2 = MIPS_REG_F18 = 18 +MIPS_REG_S3 = MIPS_REG_F19 = 19 +MIPS_REG_S4 = MIPS_REG_F20 = 20 +MIPS_REG_S5 = MIPS_REG_F21 = 21 +MIPS_REG_S6 = MIPS_REG_F22 = 22 +MIPS_REG_S7 = MIPS_REG_F23 = 23 +MIPS_REG_T8 = MIPS_REG_F24 = 24 +MIPS_REG_T9 = MIPS_REG_F25 = 25 +MIPS_REG_K0 = MIPS_REG_F26 = 26 +MIPS_REG_K1 = MIPS_REG_F27 = 27 +MIPS_REG_GP = MIPS_REG_F28 = 28 +MIPS_REG_SP = MIPS_REG_F29 = 29 +MIPS_REG_FP = MIPS_REG_F30 = 30 +MIPS_REG_RA = MIPS_REG_F31 = 31 + +# Instruction Unique IDs +MIPS_INS_SLL = 0 +MIPS_INS_SRL = 1 +MIPS_INS_SRA = 2 +MIPS_INS_SLLV = 3 +MIPS_INS_SRLV = 4 +MIPS_INS_SRAV = 5 +MIPS_INS_JR = 6 +MIPS_INS_JALR = 7 +MIPS_INS_SYSCALL = 8 +MIPS_INS_BREAK = 9 +MIPS_INS_SYNC = 10 +MIPS_INS_MFHI = 11 +MIPS_INS_MTHI = 12 +MIPS_INS_MFLO = 13 +MIPS_INS_MTLO = 14 +MIPS_INS_DSLLV = 15 +MIPS_INS_DSRLV = 16 +MIPS_INS_DSRAV = 17 +MIPS_INS_MULT = 18 +MIPS_INS_MULTU = 19 +MIPS_INS_DIV = 20 +MIPS_INS_DIVU = 21 +MIPS_INS_DMULT = 22 +MIPS_INS_DMULTU = 23 +MIPS_INS_DDIV = 24 +MIPS_INS_DDIVU = 25 +MIPS_INS_ADD = 26 +MIPS_INS_ADDU = 27 +MIPS_INS_SUB = 28 +MIPS_INS_SUBU = 29 +MIPS_INS_AND = 30 +MIPS_INS_OR = 31 +MIPS_INS_XOR = 32 +MIPS_INS_NOR = 33 +MIPS_INS_SLT = 34 +MIPS_INS_SLTU = 35 +MIPS_INS_DADD = 36 +MIPS_INS_DADDU = 37 +MIPS_INS_DSUB = 38 +MIPS_INS_DSUBU = 39 +MIPS_INS_TGE = 40 +MIPS_INS_TGEU = 41 +MIPS_INS_TLT = 42 +MIPS_INS_TLTU = 43 +MIPS_INS_TEQ = 44 +MIPS_INS_TNE = 45 +MIPS_INS_DSLL = 46 +MIPS_INS_DSRL = 47 +MIPS_INS_DSRA = 48 +MIPS_INS_DSLL32 = 49 +MIPS_INS_DSRL32 = 50 +MIPS_INS_DSRA32 = 51 +MIPS_INS_BLTZ = 52 +MIPS_INS_BGEZ = 53 +MIPS_INS_BLTZL = 54 +MIPS_INS_BGEZL = 55 +MIPS_INS_TGEI = 56 +MIPS_INS_TGEIU = 57 +MIPS_INS_TLTI = 58 +MIPS_INS_TLTIU = 59 +MIPS_INS_TEQI = 60 +MIPS_INS_TNEI = 61 +MIPS_INS_BLTZAL = 62 +MIPS_INS_BGEZAL = 63 +MIPS_INS_BLTZALL = 64 +MIPS_INS_BGEZALL = 65 +MIPS_INS_J = 66 +MIPS_INS_JAL = 67 +MIPS_INS_BEQ = 68 +MIPS_INS_BNE = 69 +MIPS_INS_BLEZ = 70 +MIPS_INS_BGTZ = 71 +MIPS_INS_ADDI = 72 +MIPS_INS_ADDIU = 73 +MIPS_INS_SLTI = 74 +MIPS_INS_SLTIU = 75 +MIPS_INS_ANDI = 76 +MIPS_INS_ORI = 77 +MIPS_INS_XORI = 78 +MIPS_INS_LUI = 79 +MIPS_INS_MFC0 = 80 +MIPS_INS_MTC0 = 81 +MIPS_INS_TLBR = 82 +MIPS_INS_TLBWI = 83 +MIPS_INS_TLBWR = 84 +MIPS_INS_TLBP = 85 +MIPS_INS_ERET = 86 +MIPS_INS_MFC1 = 87 +MIPS_INS_DMFC1 = 88 +MIPS_INS_CFC1 = 89 +MIPS_INS_MTC1 = 90 +MIPS_INS_DMTC1 = 91 +MIPS_INS_CTC1 = 92 +MIPS_INS_BC1F = 93 +MIPS_INS_BC1T = 94 +MIPS_INS_BC1FL = 95 +MIPS_INS_BC1TL = 96 +MIPS_INS_ADD_S = 97 +MIPS_INS_SUB_S = 98 +MIPS_INS_MUL_S = 99 +MIPS_INS_DIV_S = 100 +MIPS_INS_SQRT_S = 101 +MIPS_INS_ABS_S = 102 +MIPS_INS_MOV_S = 103 +MIPS_INS_NEG_S = 104 +MIPS_INS_ROUND_L_S = 105 +MIPS_INS_TRUNC_L_S = 106 +MIPS_INS_CEIL_L_S = 107 +MIPS_INS_FLOOR_L_S = 108 +MIPS_INS_ROUND_W_S = 109 +MIPS_INS_TRUNC_W_S = 110 +MIPS_INS_CEIL_W_S = 111 +MIPS_INS_FLOOR_W_S = 112 +MIPS_INS_CVT_D_S = 113 +MIPS_INS_CVT_W_S = 114 +MIPS_INS_CVT_L_S = 115 +MIPS_INS_C_F_S = 116 +MIPS_INS_C_UN_S = 117 +MIPS_INS_C_EQ_S = 118 +MIPS_INS_C_UEQ_S = 119 +MIPS_INS_C_OLT_S = 120 +MIPS_INS_C_ULT_S = 121 +MIPS_INS_C_OLE_S = 122 +MIPS_INS_C_ULE_S = 123 +MIPS_INS_C_SF_S = 124 +MIPS_INS_C_NGLE_S = 125 +MIPS_INS_C_SEQ_S = 126 +MIPS_INS_C_NGL_S = 127 +MIPS_INS_C_LT_S = 128 +MIPS_INS_C_NGE_S = 129 +MIPS_INS_C_LE_S = 130 +MIPS_INS_C_NGT_S = 131 +MIPS_INS_ADD_D = 132 +MIPS_INS_SUB_D = 133 +MIPS_INS_MUL_D = 134 +MIPS_INS_DIV_D = 135 +MIPS_INS_SQRT_D = 136 +MIPS_INS_ABS_D = 137 +MIPS_INS_MOV_D = 138 +MIPS_INS_NEG_D = 139 +MIPS_INS_ROUND_L_D = 140 +MIPS_INS_TRUNC_L_D = 141 +MIPS_INS_CEIL_L_D = 142 +MIPS_INS_FLOOR_L_D = 143 +MIPS_INS_ROUND_W_D = 144 +MIPS_INS_TRUNC_W_D = 145 +MIPS_INS_CEIL_W_D = 146 +MIPS_INS_FLOOR_W_D = 147 +MIPS_INS_CVT_S_D = 148 +MIPS_INS_CVT_W_D = 149 +MIPS_INS_CVT_L_D = 150 +MIPS_INS_C_F_D = 151 +MIPS_INS_C_UN_D = 152 +MIPS_INS_C_EQ_D = 153 +MIPS_INS_C_UEQ_D = 154 +MIPS_INS_C_OLT_D = 155 +MIPS_INS_C_ULT_D = 156 +MIPS_INS_C_OLE_D = 157 +MIPS_INS_C_ULE_D = 158 +MIPS_INS_C_SF_D = 159 +MIPS_INS_C_NGLE_D = 160 +MIPS_INS_C_SEQ_D = 161 +MIPS_INS_C_NGL_D = 162 +MIPS_INS_C_LT_D = 163 +MIPS_INS_C_NGE_D = 164 +MIPS_INS_C_LE_D = 165 +MIPS_INS_C_NGT_D = 166 +MIPS_INS_CVT_S_W = 167 +MIPS_INS_CVT_D_W = 168 +MIPS_INS_CVT_S_L = 169 +MIPS_INS_CVT_D_L = 170 +MIPS_INS_BEQL = 171 +MIPS_INS_BNEL = 172 +MIPS_INS_BLEZL = 173 +MIPS_INS_BGTZL = 174 +MIPS_INS_DADDI = 175 +MIPS_INS_DADDIU = 176 +MIPS_INS_LDL = 177 +MIPS_INS_LDR = 178 +MIPS_INS_LB = 179 +MIPS_INS_LH = 180 +MIPS_INS_LWL = 181 +MIPS_INS_LW = 182 +MIPS_INS_LBU = 183 +MIPS_INS_LHU = 184 +MIPS_INS_LWR = 185 +MIPS_INS_LWU = 186 +MIPS_INS_SB = 187 +MIPS_INS_SH = 188 +MIPS_INS_SWL = 189 +MIPS_INS_SW = 190 +MIPS_INS_SDL = 191 +MIPS_INS_SDR = 192 +MIPS_INS_SWR = 193 +MIPS_INS_CACHE = 194 +MIPS_INS_LL = 195 +MIPS_INS_LWC1 = 196 +MIPS_INS_LLD = 197 +MIPS_INS_LDC1 = 198 +#MIPS_INS_INVALID = 199 +MIPS_INS_LD = 200 +MIPS_INS_SC = 201 +MIPS_INS_SWC1 = 202 +MIPS_INS_SCD = 203 +MIPS_INS_SDC1 = 204 +MIPS_INS_SD = 206 + +# Pseudo-Instruction Unique IDs +MIPS_INS_BEQZ = 207 +MIPS_INS_BNEZ = 208 +MIPS_INS_B = 209 +MIPS_INS_NOP = 210 +MIPS_INS_MOVE = 211 +MIPS_INS_NEGU = 212 +MIPS_INS_NOT = 213 + +# Invalid Instruction Unique ID +MIPS_INS_INVALID = -1 + +# Op IDs +# MIPS_OP_RS = 0 +# MIPS_OP_RT = 0 +# MIPS_OP_RD = 0 +# MIPS_OP_IMM = 0 + +# Register Names + +mips_gpr_names = [ + "$zero", + "$at", + "$v0", "$v1", + "$a0", "$a1", "$a2", "$a3", + "$t0", "$t1", "$t2", "$t3", "$t4", "$t5", "$t6", "$t7", + "$s0", "$s1", "$s2", "$s3", "$s4", "$s5", "$s6", "$s7", + "$t8", "$t9", + "$k0", "$k1", + "$gp", + "$sp", + "$fp", + "$ra", +] + +mips_cop0_names = [ + "Index" , "Random" , "EntryLo0" , "EntryLo1" , + "Context" , "PageMask" , "Wired" , "Reserved07", + "BadVaddr" , "Count" , "EntryHi" , "Compare" , + "Status" , "Cause" , "EPC" , "PRevID" , + "Config" , "LLAddr" , "WatchLo" , "WatchHi" , + "XContext" , "Reserved21", "Reserved22", "Reserved23", + "Reserved24", "Reserved25", "PErr" , "CacheErr" , + "TagLo" , "TagHi" , "ErrorEPC" , "Reserved31", +] + +mips_fpr_names = [ + "$f0", "$f1", "$f2", "$f3", + "$f4", "$f5", "$f6", "$f7", "$f8", "$f9", "$f10", "$f11", + "$f12", "$f13", "$f14", "$f15", + "$f16", "$f17", "$f18", "$f19", + "$f20", "$f21", "$f22", "$f23", "$f24", "$f25", "$f26", "$f27", "$f28", "$f29", "$f30", + "$31", +] + +# Instruction field fetching + +def sign_extend_16(value): + return (value & 0x7FFF) - (value & 0x8000) + +def mask_shift(v, s, w): + return (v >> s) & ((1 << w) - 1) + +mips_get_field = lambda raw,vaddr : mask_shift(raw, 26, 6) +mips_get_special = lambda raw,vaddr : mask_shift(raw, 0, 6) +mips_get_cop0 = lambda raw,vaddr : mask_shift(raw, 21, 5) +mips_get_cop1 = lambda raw,vaddr : mask_shift(raw, 21, 5) +mips_get_regimm = lambda raw,vaddr : mask_shift(raw, 16, 5) +mips_get_tlb = lambda raw,vaddr : mask_shift(raw, 0, 5) +mips_get_function = lambda raw,vaddr : mask_shift(raw, 0, 6) + +mips_get_cond = lambda raw,vaddr : mask_shift(raw, 0, 4) +mips_get_fc = lambda raw,vaddr : mask_shift(raw, 2, 2) +mips_get_fd = lambda raw,vaddr : mask_shift(raw, 6, 5) +mips_get_fs = lambda raw,vaddr : mask_shift(raw, 11, 5) +mips_get_ft = lambda raw,vaddr : mask_shift(raw, 16, 5) +mips_get_fmt = lambda raw,vaddr : mask_shift(raw, 21, 5) +mips_get_ndtf = lambda raw,vaddr : mask_shift(raw, 16, 2) + +mips_get_target = lambda raw,vaddr : (0x80000000 | (mask_shift(raw, 0, 26) << 2)) +mips_get_offset = lambda raw,vaddr : vaddr + 4 + sign_extend_16(mask_shift(raw, 0, 16)) * 4 +mips_get_imm = lambda raw,vaddr : mask_shift(raw, 0, 16) + +mips_get_base = lambda raw,vaddr : mask_shift(raw, 21, 5) + +mips_get_cd = lambda raw,vaddr : mask_shift(raw, 11, 5) + +mips_get_code = lambda raw,vaddr : (mask_shift(raw, 6, 20) << 6) >> 16 +mips_get_op = lambda raw,vaddr : mask_shift(raw, 16, 5) + +mips_get_sa = lambda raw,vaddr : mask_shift(raw, 6, 5) + +mips_get_rd = lambda raw,vaddr : mask_shift(raw, 11, 5) +mips_get_rs = lambda raw,vaddr : mask_shift(raw, 21, 5) +mips_get_rt = lambda raw,vaddr : mask_shift(raw, 16, 5) + +# Formatting + +class MipsInsn: + + def __init__(self, raw, vaddr, values): + self.raw = raw + self.vaddr = vaddr + + if values is None: + values = MIPS_INS_INVALID, f"/* Invalid Instruction: 0x{raw:08X} */", () + + self.id, self.mnemonic, self.fields = values + + self.code = self.sa = self.op = self.cd = self.rd = self.rs = self.rt = self.fd = self.fs = self.ft = self.imm = self.offset = self.base = self.target = None + + for field in self.fields: + self.value_forname(field) + + self.op_str = self.format_insn() + + if self.id == MIPS_INS_SLL and self.rd == MIPS_REG_R0 and self.rt == MIPS_REG_R0 and self.sa == 0: + self.id = MIPS_INS_NOP + self.mnemonic = "nop" + self.fields = () + elif self.id == MIPS_INS_BEQ and self.rs == MIPS_REG_R0 and self.rt == MIPS_REG_R0: + self.id = MIPS_INS_B + self.mnemonic = "b" + self.fields = ("offset",) + elif self.id == MIPS_INS_OR and self.rt == MIPS_REG_R0: + self.id = MIPS_INS_MOVE + self.mnemonic = "move" + self.fields = ("rd","rs") + elif self.id == MIPS_INS_BEQ and self.rt == MIPS_REG_R0: + self.id = MIPS_INS_BEQZ + self.mnemonic = "beqz" + self.fields = ("rs","offset") + elif self.id == MIPS_INS_BNE and self.rt == MIPS_REG_R0: + self.id = MIPS_INS_BNEZ + self.mnemonic = "bnez" + self.fields = ("rs","offset") + elif self.id == MIPS_INS_SUBU and self.rs == MIPS_REG_R0: + self.id = MIPS_INS_NEGU + self.mnemonic = "negu" + self.fields = ("rd","rt") + elif self.id == MIPS_INS_NOR and self.rt == MIPS_REG_R0: + self.id = MIPS_INS_NOT + self.mnemonic = "not" + self.fields = ("rd","rs") + + self.op_str = self.format_insn() + + def value_forname(self, name): + field_setters = { + 'code' : self.set_code, + 'sa' : self.set_sa, + 'op' : self.set_op, + 'cd' : self.set_cd, + 'rd' : self.set_rd, + 'rs' : self.set_rs, + 'rt' : self.set_rt, + 'fd' : self.set_fd, + 'fs' : self.set_fs, + 'ft' : self.set_ft, + 'imm' : self.set_imm, + 'offset' : self.set_offset, + 'base' : self.set_base, + 'offset(base)' : self.set_offset_base, + 'target' : self.set_target, + } + + return field_setters[name]() + + def format_field(self, field): + def format_hex(v, signed, zeros, no_zero): + if abs(v) < 10: + if v == 0 and no_zero: + return "" + return f"{v}" + elif not signed: + return f"0x{v:{f'0{zeros}' if zeros > 0 else ''}x}" + else: + return f"{v:#x}" + + format_handlers = { + 'code' : (lambda insn : f'{insn.code}' if insn.code != 0 else ''), + 'cd' : (lambda insn : mips_cop0_names[insn.cd]), + 'rd' : (lambda insn : mips_gpr_names[insn.rd]), + 'rs' : (lambda insn : mips_gpr_names[insn.rs]), + 'rt' : (lambda insn : mips_gpr_names[insn.rt]), + 'fd' : (lambda insn : mips_fpr_names[insn.fd]), + 'fs' : (lambda insn : mips_fpr_names[insn.fs]), + 'ft' : (lambda insn : mips_fpr_names[insn.ft]), + 'sa' : (lambda insn : format_hex(insn.sa, True, 0, False)), + 'op' : (lambda insn : format_hex(insn.op, False, 0, False)), + 'imm' : (lambda insn : format_hex(insn.imm, True, 0, False)), + 'offset(base)' : (lambda insn : f'{format_hex(insn.imm, True, 0, True)}({mips_gpr_names[insn.base]})'), + 'offset' : (lambda insn : f'{format_hex(insn.offset, True, 0, False)}'), + 'target' : (lambda insn : f'{format_hex(insn.target, False, 0, False)}') + } + + return format_handlers[field](self) + + def format_insn(self): + return ", ".join([self.format_field(field) for field in self.fields]) + + def __str__(self): + return f"{self.mnemonic:12}{self.op_str}" + + def set_code(self): + self.code = mips_get_code(self.raw, self.vaddr) + return self.code + + def set_sa(self): + self.sa = mips_get_sa(self.raw, self.vaddr) + return self.sa + + def set_op(self): + self.op = mips_get_op(self.raw, self.vaddr) + return self.op + + def set_cd(self): + self.cd = mips_get_cd(self.raw, self.vaddr) + return self.cd + + def set_rd(self): + self.rd = mips_get_rd(self.raw, self.vaddr) + return self.rd + + def set_rs(self): + self.rs = mips_get_rs(self.raw, self.vaddr) + return self.rs + + def set_rt(self): + self.rt = mips_get_rt(self.raw, self.vaddr) + return self.rt + + def set_fd(self): + self.fd = mips_get_fd(self.raw, self.vaddr) + return self.fd + + def set_fs(self): + self.fs = mips_get_fs(self.raw, self.vaddr) + return self.fs + + def set_ft(self): + self.ft = mips_get_ft(self.raw, self.vaddr) + return self.ft + + def set_imm(self): + do_sign_extend = [ MIPS_INS_ADDIU, MIPS_INS_SLTI, MIPS_INS_ADDI, MIPS_INS_DADDIU, + MIPS_INS_LB, MIPS_INS_LBU, + MIPS_INS_LH, MIPS_INS_LHU, + MIPS_INS_LW, MIPS_INS_LWL, MIPS_INS_LWR, MIPS_INS_LWU, + MIPS_INS_LWC1, + MIPS_INS_LD, MIPS_INS_LDL, MIPS_INS_LDR, + MIPS_INS_LDC1, + MIPS_INS_LL, MIPS_INS_LLD, + MIPS_INS_SB, + MIPS_INS_SH, + MIPS_INS_SW, MIPS_INS_SWL, MIPS_INS_SWR, + MIPS_INS_SWC1, + MIPS_INS_SD, MIPS_INS_SDL, MIPS_INS_SDR, + MIPS_INS_SDC1, + MIPS_INS_SC, MIPS_INS_SCD, + ] + + self.imm = mips_get_imm(self.raw, self.vaddr) + if self.id in do_sign_extend: # sign extended immediates + self.imm = sign_extend_16(self.imm) + return self.imm + + def set_offset(self): + self.offset = mips_get_offset(self.raw, self.vaddr) + return self.offset + + def set_base(self): + self.base = mips_get_base(self.raw, self.vaddr) + return self.base + + def set_offset_base(self): + self.set_imm() + self.set_base() + return self.imm, self.base + + def set_target(self): + self.target = mips_get_target(self.raw, self.vaddr) + return self.target + +def fetch_insn(raw, vaddr, insn_set, func): + insn = insn_set.get(func(raw, vaddr), None) # default none for invalid instruction encoding + + if insn is not None and type(insn[1]) == dict: # extra decoding required + insn = fetch_insn(raw, vaddr, insn[1], insn[0]) + return insn + +def decode_insn(raw, vaddr): + return MipsInsn(raw, vaddr, fetch_insn(raw, vaddr, mips_insns, mips_get_field)) + +mips_insns = { + 0b000000: (mips_get_special, { + 0b000000: (MIPS_INS_SLL, "sll", ("rd","rt","sa")), + 0b000010: (MIPS_INS_SRL, "srl", ("rd","rt","sa")), + 0b000011: (MIPS_INS_SRA, "sra", ("rd","rt","sa")), + 0b000100: (MIPS_INS_SLLV, "sllv", ("rd","rt","rs")), + 0b000110: (MIPS_INS_SRLV, "srlv", ("rd","rt","rs")), + 0b000111: (MIPS_INS_SRAV, "srav", ("rd","rt","rs")), + 0b001000: (MIPS_INS_JR, "jr", ("rs", )), + 0b001001: (MIPS_INS_JALR, "jalr", ("rs", )), # technically also rd but it's always $ra + 0b001100: (MIPS_INS_SYSCALL, "syscall", ( )), + 0b001101: (MIPS_INS_BREAK, "break", ("code", )), + 0b001111: (MIPS_INS_SYNC, "sync", ( )), + 0b010000: (MIPS_INS_MFHI, "mfhi", ("rd", )), + 0b010001: (MIPS_INS_MTHI, "mthi", ("rs", )), + 0b010010: (MIPS_INS_MFLO, "mflo", ("rd", )), + 0b010011: (MIPS_INS_MTLO, "mtlo", ("rs", )), + 0b010100: (MIPS_INS_DSLLV, "dsllv", ("rd","rt","rs")), + 0b010110: (MIPS_INS_DSRLV, "dsrlv", ("rd","rt","rs")), + 0b010111: (MIPS_INS_DSRAV, "dsrav", ("rd","rt","rs")), + 0b011000: (MIPS_INS_MULT, "mult", ("rs","rt" )), + 0b011001: (MIPS_INS_MULTU, "multu", ("rs","rt" )), + 0b011010: (MIPS_INS_DIV, "div", ("rd","rs","rt")), # for some reason gas hates div instructions + 0b011011: (MIPS_INS_DIVU, "divu", ("rd","rs","rt")), # with the correct number of operands + 0b011100: (MIPS_INS_DMULT, "dmult", ("rs","rt" )), + 0b011101: (MIPS_INS_DMULTU, "dmultu", ("rs","rt" )), + 0b011110: (MIPS_INS_DDIV, "ddiv", ("rd","rs","rt")), + 0b011111: (MIPS_INS_DDIVU, "ddivu", ("rd","rs","rt")), + 0b100000: (MIPS_INS_ADD, "add", ("rd","rs","rt")), + 0b100001: (MIPS_INS_ADDU, "addu", ("rd","rs","rt")), + 0b100010: (MIPS_INS_SUB, "sub", ("rd","rs","rt")), + 0b100011: (MIPS_INS_SUBU, "subu", ("rd","rs","rt")), + 0b100100: (MIPS_INS_AND, "and", ("rd","rs","rt")), + 0b100101: (MIPS_INS_OR, "or", ("rd","rs","rt")), + 0b100110: (MIPS_INS_XOR, "xor", ("rd","rs","rt")), + 0b100111: (MIPS_INS_NOR, "nor", ("rd","rs","rt")), + 0b101010: (MIPS_INS_SLT, "slt", ("rd","rs","rt")), + 0b101011: (MIPS_INS_SLTU, "sltu", ("rd","rs","rt")), + 0b101100: (MIPS_INS_DADD, "dadd", ("rd","rs","rt")), + 0b101101: (MIPS_INS_DADDU, "daddu", ("rd","rs","rt")), + 0b101110: (MIPS_INS_DSUB, "dsub", ("rd","rs","rt")), + 0b101111: (MIPS_INS_DSUBU, "dsubu", ("rd","rs","rt")), + 0b110000: (MIPS_INS_TGE, "tge", ("rs","rt" )), + 0b110001: (MIPS_INS_TGEU, "tgeu", ("rs","rt" )), + 0b110010: (MIPS_INS_TLT, "tlt", ("rs","rt" )), + 0b110011: (MIPS_INS_TLTU, "tltu", ("rs","rt" )), + 0b110100: (MIPS_INS_TEQ, "teq", ("rs","rt" )), + 0b110110: (MIPS_INS_TNE, "tne", ("rs","rt" )), + 0b111000: (MIPS_INS_DSLL, "dsll", ("rd","rt","sa")), + 0b111010: (MIPS_INS_DSRL, "dsrl", ("rd","rt","sa")), + 0b111011: (MIPS_INS_DSRA, "dsra", ("rd","rt","sa")), + 0b111100: (MIPS_INS_DSLL32, "dsll32", ("rd","rt","sa")), + 0b111110: (MIPS_INS_DSRL32, "dsrl32", ("rd","rt","sa")), + 0b111111: (MIPS_INS_DSRA32, "dsra32", ("rd","rt","sa")), + }), + 0b000001: (mips_get_regimm, { + 0b00000: (MIPS_INS_BLTZ, "bltz", ("rs","offset")), + 0b00001: (MIPS_INS_BGEZ, "bgez", ("rs","offset")), + 0b00010: (MIPS_INS_BLTZL, "bltzl", ("rs","offset")), + 0b00011: (MIPS_INS_BGEZL, "bgezl", ("rs","offset")), + 0b01000: (MIPS_INS_TGEI, "tgei", ("rs","imm" )), + 0b01001: (MIPS_INS_TGEIU, "tgeiu", ("rs","imm" )), + 0b01010: (MIPS_INS_TLTI, "tlti", ("rs","imm" )), + 0b01011: (MIPS_INS_TLTIU, "tltiu", ("rs","imm" )), + 0b01100: (MIPS_INS_TEQI, "teqi", ("rs","imm" )), + 0b01110: (MIPS_INS_TNEI, "tnei", ("rs","imm" )), + 0b10000: (MIPS_INS_BLTZAL, "bltzal", ("rs","offset")), + 0b10001: (MIPS_INS_BGEZAL, "bgezal", ("rs","offset")), + 0b10010: (MIPS_INS_BLTZALL, "bltzall", ("rs","offset")), + 0b10011: (MIPS_INS_BGEZALL, "bgezall", ("rs","offset")), + }), + 0b000010: (MIPS_INS_J, "j", ("target", )), + 0b000011: (MIPS_INS_JAL, "jal", ("target", )), + 0b000100: (MIPS_INS_BEQ, "beq", ("rs","rt","offset")), + 0b000101: (MIPS_INS_BNE, "bne", ("rs","rt","offset")), + 0b000110: (MIPS_INS_BLEZ, "blez", ("rs","offset" )), + 0b000111: (MIPS_INS_BGTZ, "bgtz", ("rs","offset" )), + 0b001000: (MIPS_INS_ADDI, "addi", ("rt","rs","imm" )), + 0b001001: (MIPS_INS_ADDIU, "addiu", ("rt","rs","imm" )), + 0b001010: (MIPS_INS_SLTI, "slti", ("rt","rs","imm" )), + 0b001011: (MIPS_INS_SLTIU, "sltiu", ("rt","rs","imm" )), + 0b001100: (MIPS_INS_ANDI, "andi", ("rt","rs","imm" )), + 0b001101: (MIPS_INS_ORI, "ori", ("rt","rs","imm" )), + 0b001110: (MIPS_INS_XORI, "xori", ("rt","rs","imm" )), + 0b001111: (MIPS_INS_LUI, "lui", ("rt","imm" )), + 0b010000: (mips_get_cop0, { + 0b00000: (MIPS_INS_MFC0, "mfc0", ("rt","cd")), + 0b00100: (MIPS_INS_MTC0, "mtc0", ("rt","cd")), + 0b10000: (mips_get_tlb, { + 0b000001: (MIPS_INS_TLBR, "tlbr", ()), + 0b000010: (MIPS_INS_TLBWI, "tlbwi", ()), + 0b000110: (MIPS_INS_TLBWR, "tlbwr", ()), + 0b001000: (MIPS_INS_TLBP, "tlbp", ()), + 0b011000: (MIPS_INS_ERET, "eret", ()), + }), + }), + 0b010001: (mips_get_cop1, { + 0b00000: (MIPS_INS_MFC1, "mfc1", ("rt","fs")), + 0b00001: (MIPS_INS_DMFC1, "dmfc1", ("rt","fs")), + 0b00010: (MIPS_INS_CFC1, "cfc1", ("rt","fs")), + 0b00100: (MIPS_INS_MTC1, "mtc1", ("rt","fs")), + 0b00101: (MIPS_INS_DMTC1, "dmtc1", ("rt","fs")), + 0b00110: (MIPS_INS_CTC1, "ctc1", ("rt","fs")), + 0b01000: (mips_get_ndtf, { + 0b00: (MIPS_INS_BC1F, "bc1f", ("offset",)), + 0b01: (MIPS_INS_BC1T, "bc1t", ("offset",)), + 0b10: (MIPS_INS_BC1FL, "bc1fl", ("offset",)), + 0b11: (MIPS_INS_BC1TL, "bc1tl", ("offset",)), + }), + 0b010000: (mips_get_function, { + 0b000000: (MIPS_INS_ADD_S, "add.s", ("fd","fs","ft")), + 0b000001: (MIPS_INS_SUB_S, "sub.s", ("fd","fs","ft")), + 0b000010: (MIPS_INS_MUL_S, "mul.s", ("fd","fs","ft")), + 0b000011: (MIPS_INS_DIV_S, "div.s", ("fd","fs","ft")), + 0b000100: (MIPS_INS_SQRT_S, "sqrt.s", ("fd","fs" )), + 0b000101: (MIPS_INS_ABS_S, "abs.s", ("fd","fs" )), + 0b000110: (MIPS_INS_MOV_S, "mov.s", ("fd","fs" )), + 0b000111: (MIPS_INS_NEG_S, "neg.s", ("fd","fs" )), + 0b001000: (MIPS_INS_ROUND_L_S, "round.l.s", ("fd","fs" )), + 0b001001: (MIPS_INS_TRUNC_L_S, "trunc.l.s", ("fd","fs" )), + 0b001010: (MIPS_INS_CEIL_L_S, "ceil.l.s", ("fd","fs" )), + 0b001011: (MIPS_INS_FLOOR_L_S, "floor.l.s", ("fd","fs" )), + 0b001100: (MIPS_INS_ROUND_W_S, "round.w.s", ("fd","fs" )), + 0b001101: (MIPS_INS_TRUNC_W_S, "trunc.w.s", ("fd","fs" )), + 0b001110: (MIPS_INS_CEIL_W_S, "ceil.w.s", ("fd","fs" )), + 0b001111: (MIPS_INS_FLOOR_W_S, "floor.w.s", ("fd","fs" )), + 0b100001: (MIPS_INS_CVT_D_S, "cvt.d.s", ("fd","fs" )), + 0b100100: (MIPS_INS_CVT_W_S, "cvt.w.s", ("fd","fs" )), + 0b100101: (MIPS_INS_CVT_L_S, "cvt.l.s", ("fd","fs" )), + 0b110000: (MIPS_INS_C_F_S, "c.f.s", ("fs","ft" )), + 0b110001: (MIPS_INS_C_UN_S, "c.un.s", ("fs","ft" )), + 0b110010: (MIPS_INS_C_EQ_S, "c.eq.s", ("fs","ft" )), + 0b110011: (MIPS_INS_C_UEQ_S, "c.ueq.s", ("fs","ft" )), + 0b110100: (MIPS_INS_C_OLT_S, "c.olt.s", ("fs","ft" )), + 0b110101: (MIPS_INS_C_ULT_S, "c.ult.s", ("fs","ft" )), + 0b110110: (MIPS_INS_C_OLE_S, "c.ole.s", ("fs","ft" )), + 0b110111: (MIPS_INS_C_ULE_S, "c.ule.s", ("fs","ft" )), + 0b111000: (MIPS_INS_C_SF_S, "c.sf.s", ("fs","ft" )), + 0b111001: (MIPS_INS_C_NGLE_S, "c.ngle.s", ("fs","ft" )), + 0b111010: (MIPS_INS_C_SEQ_S, "c.seq.s", ("fs","ft" )), + 0b111011: (MIPS_INS_C_NGL_S, "c.ngl.s", ("fs","ft" )), + 0b111100: (MIPS_INS_C_LT_S, "c.lt.s", ("fs","ft" )), + 0b111101: (MIPS_INS_C_NGE_S, "c.nge.s", ("fs","ft" )), + 0b111110: (MIPS_INS_C_LE_S, "c.le.s", ("fs","ft" )), + 0b111111: (MIPS_INS_C_NGT_S, "c.ngt.s", ("fs","ft" )), + }), + 0b010001: (mips_get_function, { + 0b000000: (MIPS_INS_ADD_D, "add.d", ("fd","fs","ft")), + 0b000001: (MIPS_INS_SUB_D, "sub.d", ("fd","fs","ft")), + 0b000010: (MIPS_INS_MUL_D, "mul.d", ("fd","fs","ft")), + 0b000011: (MIPS_INS_DIV_D, "div.d", ("fd","fs","ft")), + 0b000100: (MIPS_INS_SQRT_D, "sqrt.d", ("fd","fs" )), + 0b000101: (MIPS_INS_ABS_D, "abs.d", ("fd","fs" )), + 0b000110: (MIPS_INS_MOV_D, "mov.d", ("fd","fs" )), + 0b000111: (MIPS_INS_NEG_D, "neg.d", ("fd","fs" )), + 0b001000: (MIPS_INS_ROUND_L_D, "round.l.d", ("fd","fs" )), + 0b001001: (MIPS_INS_TRUNC_L_D, "trunc.l.d", ("fd","fs" )), + 0b001010: (MIPS_INS_CEIL_L_D, "ceil.l.d", ("fd","fs" )), + 0b001011: (MIPS_INS_FLOOR_L_D, "floor.l.d", ("fd","fs" )), + 0b001100: (MIPS_INS_ROUND_W_D, "round.w.d", ("fd","fs" )), + 0b001101: (MIPS_INS_TRUNC_W_D, "trunc.w.d", ("fd","fs" )), + 0b001110: (MIPS_INS_CEIL_W_D, "ceil.w.d", ("fd","fs" )), + 0b001111: (MIPS_INS_FLOOR_W_D, "floor.w.d", ("fd","fs" )), + 0b100000: (MIPS_INS_CVT_S_D, "cvt.s.d", ("fd","fs" )), + 0b100100: (MIPS_INS_CVT_W_D, "cvt.w.d", ("fd","fs" )), + 0b100101: (MIPS_INS_CVT_L_D, "cvt.l.d", ("fd","fs" )), + 0b110000: (MIPS_INS_C_F_D, "c.f.d", ("fs","ft" )), + 0b110001: (MIPS_INS_C_UN_D, "c.un.d", ("fs","ft" )), + 0b110010: (MIPS_INS_C_EQ_D, "c.eq.d", ("fs","ft" )), + 0b110011: (MIPS_INS_C_UEQ_D, "c.ueq.d", ("fs","ft" )), + 0b110100: (MIPS_INS_C_OLT_D, "c.olt.d", ("fs","ft" )), + 0b110101: (MIPS_INS_C_ULT_D, "c.ult.d", ("fs","ft" )), + 0b110110: (MIPS_INS_C_OLE_D, "c.ole.d", ("fs","ft" )), + 0b110111: (MIPS_INS_C_ULE_D, "c.ule.d", ("fs","ft" )), + 0b111000: (MIPS_INS_C_SF_D, "c.sf.d", ("fs","ft" )), + 0b111001: (MIPS_INS_C_NGLE_D, "c.ngle.d", ("fs","ft" )), + 0b111010: (MIPS_INS_C_SEQ_D, "c.seq.d", ("fs","ft" )), + 0b111011: (MIPS_INS_C_NGL_D, "c.ngl.d", ("fs","ft" )), + 0b111100: (MIPS_INS_C_LT_D, "c.lt.d", ("fs","ft" )), + 0b111101: (MIPS_INS_C_NGE_D, "c.nge.d", ("fs","ft" )), + 0b111110: (MIPS_INS_C_LE_D, "c.le.d", ("fs","ft" )), + 0b111111: (MIPS_INS_C_NGT_D, "c.ngt.d", ("fs","ft" )), + }), + 0b010100: (mips_get_function, { + 0b100000: (MIPS_INS_CVT_S_W, "cvt.s.w", ("fd","fs")), + 0b100001: (MIPS_INS_CVT_D_W, "cvt.d.w", ("fd","fs")), + }), + 0b010101: (mips_get_function, { + 0b100000: (MIPS_INS_CVT_S_L, "cvt.s.l", ("fd","fs")), + 0b100001: (MIPS_INS_CVT_D_L, "cvt.d.l", ("fd","fs")), + }), + }), + 0b010100: (MIPS_INS_BEQL, "beql", ("rs","rt","offset" )), + 0b010101: (MIPS_INS_BNEL, "bnel", ("rs","rt","offset" )), + 0b010110: (MIPS_INS_BLEZL, "blezl", ("rs","offset" )), + 0b010111: (MIPS_INS_BGTZL, "bgtzl", ("rs","offset" )), + 0b011000: (MIPS_INS_DADDI, "daddi", ("rt","rs","imm" )), + 0b011001: (MIPS_INS_DADDIU, "daddiu", ("rt","rs","imm" )), + 0b011010: (MIPS_INS_LDL, "ldl", ("rt","offset(base)")), + 0b011011: (MIPS_INS_LDR, "ldr", ("rt","offset(base)")), + 0b100000: (MIPS_INS_LB, "lb", ("rt","offset(base)")), + 0b100001: (MIPS_INS_LH, "lh", ("rt","offset(base)")), + 0b100010: (MIPS_INS_LWL, "lwl", ("rt","offset(base)")), + 0b100011: (MIPS_INS_LW, "lw", ("rt","offset(base)")), + 0b100100: (MIPS_INS_LBU, "lbu", ("rt","offset(base)")), + 0b100101: (MIPS_INS_LHU, "lhu", ("rt","offset(base)")), + 0b100110: (MIPS_INS_LWR, "lwr", ("rt","offset(base)")), + 0b100111: (MIPS_INS_LWU, "lwu", ("rt","offset(base)")), + 0b101000: (MIPS_INS_SB, "sb", ("rt","offset(base)")), + 0b101001: (MIPS_INS_SH, "sh", ("rt","offset(base)")), + 0b101010: (MIPS_INS_SWL, "swl", ("rt","offset(base)")), + 0b101011: (MIPS_INS_SW, "sw", ("rt","offset(base)")), + 0b101100: (MIPS_INS_SDL, "sdl", ("rt","offset(base)")), + 0b101101: (MIPS_INS_SDR, "sdr", ("rt","offset(base)")), + 0b101110: (MIPS_INS_SWR, "swr", ("rt","offset(base)")), + 0b101111: (MIPS_INS_CACHE, "cache", ("op","offset(base)")), + 0b110000: (MIPS_INS_LL, "ll", ("rt","offset(base)")), + 0b110001: (MIPS_INS_LWC1, "lwc1", ("ft","offset(base)")), + 0b110100: (MIPS_INS_LLD, "lld", ("rt","offset(base)")), + 0b110101: (MIPS_INS_LDC1, "ldc1", ("ft","offset(base)")), + # ldc2 + 0b110111: (MIPS_INS_LD, "ld", ("rt","offset(base)")), + 0b111000: (MIPS_INS_SC, "sc", ("rt","offset(base)")), + 0b111001: (MIPS_INS_SWC1, "swc1", ("ft","offset(base)")), + 0b111100: (MIPS_INS_SCD, "scd", ("rt","offset(base)")), + 0b111101: (MIPS_INS_SDC1, "sdc1", ("ft","offset(base)")), + # sdc2 + 0b111111: (MIPS_INS_SD, "sd", ("rt","offset(base)")), +} diff --git a/tables/variables.txt b/tools/disasm/variables.txt similarity index 83% rename from tables/variables.txt rename to tools/disasm/variables.txt index 0519d8d7c5..737cd92ac2 100644 --- a/tables/variables.txt +++ b/tools/disasm/variables.txt @@ -96,7 +96,7 @@ 0x80098210:("D_80098210","char","[]",0xe), 0x80098220:("D_80098220","char","[]",0x1c), 0x8009823C:("D_8009823C","char","[]",0x1e), - 0x80098260:("jtbl_D_80098260","UNK_PTR","",0x4), + 0x80098260:("jtbl_80098260","UNK_PTR","",0x4), 0x80098280:("D_80098280","char","[]",0xf), 0x80098290:("D_80098290","char","[]",0x13), 0x800982A4:("D_800982A4","char","[]",0xa), @@ -231,7 +231,7 @@ 0x80099078:("D_80099078","char","[]",0x2), 0x8009907C:("D_8009907C","char","[]",0x3), 0x80099080:("D_80099080","char","[]",0x7), - 0x80099090:("jtbl_D_80099090","UNK_PTR","",0x4), + 0x80099090:("jtbl_80099090","UNK_PTR","",0x4), 0x800990B0:("D_800990B0","char","[]",0x6), 0x800990C0:("D_800990C0","f32","[9]",0x24), 0x800990E4:("D_800990E4","f32","",0x4), @@ -258,13 +258,13 @@ 0x80099270:("D_80099270","UNK_TYPE1","",0x1), 0x80099290:("__osIntTable","UNK_PTR","",0x4), 0x800992C0:("D_800992C0","f64","",0x8), - 0x800992D0:("jtbl_D_800992D0","UNK_PTR","",0x4), + 0x800992D0:("jtbl_800992D0","UNK_PTR","",0x4), 0x800992F0:("D_800992F0","f64","",0x8), 0x800992F8:("D_800992F8","f64","",0x8), 0x80099300:("D_80099300","char","[]",0x4), 0x80099304:("D_80099304","char","[]",0x6), 0x8009930C:("D_8009930C","unsigned int","[6]",0x18), - 0x80099324:("jtbl_D_80099324","UNK_PTR","",0x4), + 0x80099324:("jtbl_80099324","UNK_PTR","",0x4), 0x80099400:("D_80099400","f64","[5]",0x28), 0x80099428:("D_80099428","f64","",0x8), 0x80099430:("D_80099430","f64","",0x8), @@ -275,7 +275,6 @@ 0x800994A8:("D_800994A8","char","[]",0x4), 0x800994AC:("D_800994AC","char","[]",0x4), 0x800994B0:("D_800994B0","char","[]",0x2), - 0x800994B4:("D_800994B4","UNK_TYPE4","",0x4), # padding as doubles do not currently auto-align in disasm (needs .double assembler directives) 0x800994B8:("D_800994B8","f64","",0x8), 0x800994C0:("D_800994C0","u64","",0x8), 0x800994C8:("D_800994C8","u64","",0x8), @@ -365,6 +364,7 @@ 0x8009F8B0:("dmadata","DmaEntry","[1568]",0x6200), 0x80186028:("D_80186028","UNK_TYPE1","",0x1), 0x801AAAB0:("D_801AAAB0","UNK_TYPE1","",0x1), + 0x801ABAB0:("D_801ABAB0","UNK_TYPE1","",0x1), 0x801AD370:("D_801AD370","UNK_TYPE1","",0x1), 0x801ADE60:("En_A_Obj_InitVars","ActorInit","",0x20), 0x801ADE80:("enAObjCylinderInit","ColliderCylinderInit","",0x2c), @@ -396,7 +396,7 @@ 0x801AE2DC:("D_801AE2DC","UNK_TYPE4","",0x4), 0x801AE2F0:("sEffectShieldParticleVertices","F3DVertex","[4]",0x40), 0x801AE330:("sEffInfoTable","EffInfo","[5]",0x64), - 0x801AE3A0:("EffectSS2Info","EffectTableInfo","",0xc), + 0x801AE3A0:("EffectSS2Info","EffectSsInfo","",0xc), 0x801AE3B0:("D_801AE3B0","Color_RGBA8","",0x4), 0x801AE3B4:("D_801AE3B4","Color_RGBA8","",0x4), 0x801AE3B8:("D_801AE3B8","Color_RGBA8","",0x4), @@ -421,7 +421,7 @@ 0x801AE48A:("D_801AE48A","UNK_TYPE1","",0x1), 0x801AE48C:("D_801AE48C","Color_RGBA8","",0x4), 0x801AE490:("D_801AE490","Color_RGBA8","[4]",0x10), - 0x801AE4A0:("particleOverlayTable","ParticleOverlay","[39]",0x444), + 0x801AE4A0:("particleOverlayTable","EffectSsOverlay","[39]",0x444), 0x801AE8F0:("D_801AE8F0","UNK_PTR","",0x4), 0x801AEC70:("D_801AEC70","UNK_TYPE4","",0x4), 0x801AEC74:("D_801AEC74","UNK_TYPE4","",0x4), @@ -841,6 +841,7 @@ 0x801B976C:("D_801B976C","UNK_TYPE1","",0x1), 0x801B979C:("D_801B979C","UNK_TYPE1","",0x1), 0x801B986C:("cameraStates","CameraStateParams","[91]",0x444), + 0x801B9CB0:("D_801B9CB0","UNK_TYPE1","",0x1), 0x801B9CE2:("D_801B9CE2","UNK_TYPE1","",0x1), 0x801B9CE4:("D_801B9CE4","UNK_PTR","",0x4), 0x801B9CE8:("cameraUpdateFuncs","camera_update_func","[71]",0x11c), @@ -941,13 +942,7 @@ 0x801BD8C6:("D_801BD8C6","s16","",0x2), 0x801BD8D0:("fireObjCollisionInit","ColliderCylinderInit","",0x2c), 0x801BD8FC:("D_801BD8FC","FireObjLightParams","[2]",0x10), - 0x801BD910:("initialGameStateInfo","GameStateOverlay","",0x30), - 0x801BD940:("D_801BD940","GameStateOverlay","",0x30), - 0x801BD970:("titleGameStateInfo","GameStateOverlay","",0x30), - 0x801BD9A0:("mainGameStateInfo","GameStateOverlay","",0x30), - 0x801BD9D0:("openingGameStateInfo","GameStateOverlay","",0x30), - 0x801BDA00:("fileChooseGameStateInfo","GameStateOverlay","",0x30), - 0x801BDA30:("daytelopGameStateInfo","GameStateOverlay","",0x30), + 0x801BD910:("gGameStateOverlayTable","GameStateOverlay","[7]",0x150), 0x801BDA60:("graphNumGameStates","UNK_TYPE4","",0x4), 0x801BDA70:("D_801BDA70","UNK_TYPE2","",0x2), 0x801BDA74:("D_801BDA74","UNK_TYPE2","",0x2), @@ -1399,20 +1394,20 @@ 0x801C1D10:("D_801C1D10","Vec3f","",0xc), 0x801C1D1C:("roomDrawFuncs","room_draw_func","[4]",0x10), 0x801C1D30:("gBitFlags","u32","[32]",0x80), - 0x801C1DB0:("gEquipMasks","UNK_TYPE2","",0x2), - 0x801C1DB8:("gEquipNegMasks","UNK_TYPE2","",0x2), - 0x801C1DC0:("gUpgradeMasks","UNK_TYPE4","",0x4), + 0x801C1DB0:("gEquipMasks","u16","[4]",0x8), + 0x801C1DB8:("gEquipNegMasks","u16","[4]",0x8), + 0x801C1DC0:("gUpgradeMasks","u32","[8]",0x20), 0x801C1DE0:("gUpgradeNegMasks","UNK_TYPE1","",0x1), - 0x801C1E00:("gEquipShifts","UNK_TYPE1","",0x1), - 0x801C1E04:("gUpgradeShifts","UNK_TYPE1","",0x1), - 0x801C1E14:("gUpgradeCapacities","UNK_TYPE1","",0x1), + 0x801C1E00:("gEquipShifts","u8","[4]",0x4), + 0x801C1E04:("gUpgradeShifts","u8","[16]",0x10), + 0x801C1E14:("gUpgradeCapacities","UNK_TYPE1","[]",0x38), 0x801C1E4C:("gGsFlagsMask","UNK_TYPE2","",0x2), 0x801C1E5C:("gGsFlagsShift","UNK_TYPE2","",0x2), - 0x801C1E6C:("gItemIcons","UNK_PTR","",0x4), - 0x801C2078:("gItemSlots","u8","",0x1), + 0x801C1E6C:("gItemIcons","UNK_PTR","[131]",0x20C), + 0x801C2078:("gItemSlots","u8","[80]",0x50), 0x801C20C8:("gItemPrices","UNK_TYPE1","",0x1), - 0x801C212C:("gScenesPerRegion","SceneIdList","[11]",0x252), - 0x801C2380:("D_801C2380","UNK_TYPE1","",0x1), + 0x801C212C:("gScenesPerRegion","SceneIdList","[]",0x252), + 0x801C2380:("D_801C2380","u16","[]",0x90), 0x801C2410:("D_801C2410","UNK_TYPE1","",0x1), 0x801C2650:("tatlMessageFiles","RomFile","[2]",0x10), 0x801C2660:("sceneTextureFiles","RomFile","[9]",0x48), @@ -2191,16 +2186,15 @@ 0x801D08E8:("D_801D08E8","UNK_TYPE1","",0x1), 0x801D0900:("D_801D0900","UNK_TYPE1","",0x1), 0x801D0B50:("Player_InitVars","ActorInit","",0x20), - 0x801D0B70:("D_801D0B70","UNK_TYPE1","",0x1), - 0x801D0B8C:("D_801D0B8C","UNK_TYPE1","",0x1), + 0x801D0B70:("D_801D0B70","UNK_TYPE1","",0x38), 0x801D0BA8:("D_801D0BA8","UNK_TYPE4","",0x4), 0x801D0BAC:("D_801D0BAC","UNK_TYPE4","",0x4), 0x801D0BB0:("D_801D0BB0","UNK_TYPE4","",0x4), 0x801D0C80:("D_801D0C80","UNK_TYPE1","",0x1), 0x801D0CB0:("D_801D0CB0","UNK_TYPE1","",0x1), - 0x801D0CD8:("D_801D0CD8","UNK_PTR","",0x4), + 0x801D0CD8:("TransitionFade_InitVars","UNK_PTR","",0x4), 0x801D0D00:("D_801D0D00","UNK_TYPE1","",0x1), - 0x801D0D28:("D_801D0D28","UNK_PTR","",0x4), + 0x801D0D28:("TransitionCircle_InitVars","UNK_PTR","",0x4), 0x801D0D50:("D_801D0D50","UNK_TYPE4","",0x4), 0x801D0D54:("D_801D0D54","UNK_TYPE1","",0x1), 0x801D0D58:("D_801D0D58","UNK_TYPE2","",0x2), @@ -2502,7 +2496,7 @@ 0x801DB930:("D_801DB930","UNK_PTR","",0x4), 0x801DB958:("D_801DB958","s8018CFAC","[21]",0x498), 0x801DBDF0:("D_801DBDF0","f32","",0x4), - 0x801DBDF4:("jtbl_D_801DBDF4","UNK_PTR","",0x4), + 0x801DBDF4:("jtbl_801DBDF4","UNK_PTR","",0x4), 0x801DBE68:("D_801DBE68","f32","",0x4), 0x801DBE6C:("D_801DBE6C","f32","",0x4), 0x801DBE70:("D_801DBE70","f32","",0x4), @@ -2518,22 +2512,22 @@ 0x801DBE98:("D_801DBE98","f32","",0x4), 0x801DBE9C:("D_801DBE9C","f32","",0x4), 0x801DBEA0:("D_801DBEA0","f32","",0x4), - 0x801DBEA4:("jtbl_D_801DBEA4","UNK_PTR","",0x4), + 0x801DBEA4:("jtbl_801DBEA4","UNK_PTR","",0x4), 0x801DBF10:("D_801DBF10","f32","",0x4), 0x801DBF14:("D_801DBF14","f32","",0x4), 0x801DBF18:("D_801DBF18","f32","",0x4), 0x801DBF1C:("D_801DBF1C","f32","",0x4), 0x801DBF20:("D_801DBF20","f32","",0x4), - 0x801DBF24:("jtbl_D_801DBF24","UNK_PTR","",0x4), - 0x801DBF98:("jtbl_D_801DBF98","UNK_PTR","",0x4), - 0x801DBFF4:("jtbl_D_801DBFF4","UNK_PTR","",0x4), + 0x801DBF24:("jtbl_801DBF24","UNK_PTR","",0x4), + 0x801DBF98:("jtbl_801DBF98","UNK_PTR","",0x4), + 0x801DBFF4:("jtbl_801DBFF4","UNK_PTR","",0x4), 0x801DC068:("D_801DC068","f32","",0x4), 0x801DC06C:("D_801DC06C","f32","",0x4), 0x801DC070:("D_801DC070","f32","",0x4), 0x801DC074:("D_801DC074","f32","",0x4), 0x801DC080:("D_801DC080","f32","",0x4), 0x801DC084:("D_801DC084","f32","",0x4), - 0x801DC088:("jtbl_D_801DC088","UNK_PTR","",0x4), + 0x801DC088:("jtbl_801DC088","UNK_PTR","",0x4), 0x801DC09C:("D_801DC09C","f32","",0x4), 0x801DC0A0:("D_801DC0A0","f32","",0x4), 0x801DC0B0:("D_801DC0B0","f32","",0x4), @@ -2544,7 +2538,7 @@ 0x801DC0CC:("D_801DC0CC","f32","",0x4), 0x801DC0D0:("D_801DC0D0","f32","",0x4), 0x801DC0D4:("D_801DC0D4","f32","",0x4), - 0x801DC0E0:("jtbl_D_801DC0E0","UNK_PTR","",0x4), + 0x801DC0E0:("jtbl_801DC0E0","UNK_PTR","",0x4), 0x801DC100:("D_801DC100","f32","",0x4), 0x801DC104:("D_801DC104","f32","",0x4), 0x801DC108:("D_801DC108","f32","",0x4), @@ -2665,6 +2659,7 @@ 0x801DC9AC:("D_801DC9AC","char","[]",0x1), 0x801DC9B0:("D_801DC9B0","char","[]",0x1), 0x801DC9B4:("D_801DC9B4","char","[]",0x1), + 0x801DC9B8:("D_801DC9B8","UNK_TYPE","[]",0x18), # padding 0x801DC9D0:("D_801DC9D0","char","[]",0x7), 0x801DC9D8:("D_801DC9D8","char","[]",0x1f), 0x801DC9F8:("D_801DC9F8","char","[]",0x16), @@ -2686,7 +2681,7 @@ 0x801DCA4C:("D_801DCA4C","f32","",0x4), 0x801DCA50:("D_801DCA50","f32","",0x4), 0x801DCA54:("D_801DCA54","f32","",0x4), - 0x801DCA58:("jtbl_D_801DCA58","UNK_PTR","",0x4), + 0x801DCA58:("jtbl_801DCA58","UNK_PTR","",0x4), 0x801DCA6C:("D_801DCA6C","f32","",0x4), 0x801DCA70:("D_801DCA70","f32","",0x4), 0x801DCA74:("D_801DCA74","f32","",0x4), @@ -2717,7 +2712,7 @@ 0x801DCAD8:("D_801DCAD8","f32","",0x4), 0x801DCADC:("D_801DCADC","f32","",0x4), 0x801DCAE0:("D_801DCAE0","f32","",0x4), - 0x801DCAE4:("jtbl_D_801DCAE4","UNK_PTR","",0x4), + 0x801DCAE4:("jtbl_801DCAE4","UNK_PTR","",0x4), 0x801DCB68:("D_801DCB68","f32","",0x4), 0x801DCB6C:("D_801DCB6C","f32","",0x4), 0x801DCB70:("D_801DCB70","f32","",0x4), @@ -2870,7 +2865,7 @@ 0x801DCF14:("D_801DCF14","f32","",0x4), 0x801DCF18:("D_801DCF18","f32","",0x4), 0x801DCF1C:("D_801DCF1C","f32","",0x4), - 0x801DCF20:("jtbl_D_801DCF20","UNK_PTR","",0x4), + 0x801DCF20:("jtbl_801DCF20","UNK_PTR","",0x4), 0x801DCF34:("D_801DCF34","f32","",0x4), 0x801DCF38:("D_801DCF38","f32","",0x4), 0x801DCF3C:("D_801DCF3C","f32","",0x4), @@ -2909,7 +2904,7 @@ 0x801DCFCC:("D_801DCFCC","f32","",0x4), 0x801DCFD0:("D_801DCFD0","f32","",0x4), 0x801DCFD4:("D_801DCFD4","f32","",0x4), - 0x801DCFD8:("jtbl_D_801DCFD8","UNK_PTR","",0x4), + 0x801DCFD8:("jtbl_801DCFD8","UNK_PTR","",0x4), 0x801DD00C:("D_801DD00C","f32","",0x4), 0x801DD010:("D_801DD010","f32","",0x4), 0x801DD014:("D_801DD014","f32","",0x4), @@ -3001,7 +2996,7 @@ 0x801DD170:("D_801DD170","f32","",0x4), 0x801DD174:("D_801DD174","f32","",0x4), 0x801DD178:("D_801DD178","f32","",0x4), - 0x801DD17C:("jtbl_D_801DD17C","UNK_PTR","",0x4), + 0x801DD17C:("jtbl_801DD17C","UNK_PTR","",0x4), 0x801DD1B0:("D_801DD1B0","f32","",0x4), 0x801DD1B4:("D_801DD1B4","f32","",0x4), 0x801DD1B8:("D_801DD1B8","f32","",0x4), @@ -3054,7 +3049,7 @@ 0x801DD274:("D_801DD274","f32","",0x4), 0x801DD278:("D_801DD278","f32","",0x4), 0x801DD27C:("D_801DD27C","f32","",0x4), - 0x801DD280:("jtbl_D_801DD280","UNK_PTR","",0x4), + 0x801DD280:("jtbl_801DD280","UNK_PTR","",0x4), 0x801DD2A0:("D_801DD2A0","f32","",0x4), 0x801DD2A4:("D_801DD2A4","f32","",0x4), 0x801DD2A8:("D_801DD2A8","f32","",0x4), @@ -3065,7 +3060,7 @@ 0x801DD2BC:("D_801DD2BC","f32","",0x4), 0x801DD2C0:("D_801DD2C0","f32","",0x4), 0x801DD2C4:("D_801DD2C4","f32","",0x4), - 0x801DD2C8:("jtbl_D_801DD2C8","UNK_PTR","",0x4), + 0x801DD2C8:("jtbl_801DD2C8","UNK_PTR","",0x4), 0x801DD344:("D_801DD344","f32","",0x4), 0x801DD348:("D_801DD348","f32","",0x4), 0x801DD34C:("D_801DD34C","f32","",0x4), @@ -3079,7 +3074,7 @@ 0x801DD36C:("D_801DD36C","f32","",0x4), 0x801DD370:("D_801DD370","f32","",0x4), 0x801DD374:("D_801DD374","f32","",0x4), - 0x801DD378:("jtbl_D_801DD378","UNK_PTR","",0x4), + 0x801DD378:("jtbl_801DD378","UNK_PTR","",0x4), 0x801DD38C:("D_801DD38C","f32","",0x4), 0x801DD390:("D_801DD390","f32","",0x4), 0x801DD394:("D_801DD394","f32","",0x4), @@ -3119,7 +3114,7 @@ 0x801DD41C:("D_801DD41C","f32","",0x4), 0x801DD420:("D_801DD420","f32","",0x4), 0x801DD424:("D_801DD424","f32","",0x4), - 0x801DD428:("jtbl_D_801DD428","UNK_PTR","",0x4), + 0x801DD428:("jtbl_801DD428","UNK_PTR","",0x4), 0x801DD43C:("D_801DD43C","f32","",0x4), 0x801DD440:("D_801DD440","f32","",0x4), 0x801DD444:("D_801DD444","f32","",0x4), @@ -3130,9 +3125,9 @@ 0x801DD458:("D_801DD458","f32","",0x4), 0x801DD45C:("D_801DD45C","f32","",0x4), 0x801DD460:("D_801DD460","f32","",0x4), - 0x801DD464:("jtbl_D_801DD464","UNK_PTR","",0x4), - 0x801DD4C8:("jtbl_D_801DD4C8","UNK_PTR","",0x4), - 0x801DD52C:("jtbl_D_801DD52C","UNK_PTR","",0x4), + 0x801DD464:("jtbl_801DD464","UNK_PTR","",0x4), + 0x801DD4C8:("jtbl_801DD4C8","UNK_PTR","",0x4), + 0x801DD52C:("jtbl_801DD52C","UNK_PTR","",0x4), 0x801DD5AC:("D_801DD5AC","f32","",0x4), 0x801DD5B0:("D_801DD5B0","f32","",0x4), 0x801DD5C0:("D_801DD5C0","f32","",0x4), @@ -3153,17 +3148,17 @@ 0x801DD5FC:("D_801DD5FC","f32","",0x4), 0x801DD600:("D_801DD600","char","[]",0x3), 0x801DD604:("D_801DD604","char","[]",0x3), - 0x801DD610:("jtbl_D_801DD610","UNK_PTR","",0x4), - 0x801DD6B0:("jtbl_D_801DD6B0","UNK_PTR","",0x4), - 0x801DD6D0:("jtbl_D_801DD6D0","UNK_PTR","",0x4), + 0x801DD610:("jtbl_801DD610","UNK_PTR","",0x4), + 0x801DD6B0:("jtbl_801DD6B0","UNK_PTR","",0x4), + 0x801DD6D0:("jtbl_801DD6D0","UNK_PTR","",0x4), 0x801DD6FC:("D_801DD6FC","f32","",0x4), - 0x801DD700:("jtbl_D_801DD700","UNK_PTR","",0x4), - 0x801DD734:("jtbl_D_801DD734","UNK_PTR","",0x4), - 0x801DD750:("jtbl_D_801DD750","UNK_PTR","",0x4), + 0x801DD700:("jtbl_801DD700","UNK_PTR","",0x4), + 0x801DD734:("jtbl_801DD734","UNK_PTR","",0x4), + 0x801DD750:("jtbl_801DD750","UNK_PTR","",0x4), 0x801DD770:("D_801DD770","f32","",0x4), 0x801DD774:("D_801DD774","f32","",0x4), 0x801DD780:("D_801DD780","f32","",0x4), - 0x801DD790:("jtbl_D_801DD790","UNK_PTR","",0x4), + 0x801DD790:("jtbl_801DD790","UNK_PTR","",0x4), 0x801DD7B0:("D_801DD7B0","f32","",0x4), 0x801DD7C0:("D_801DD7C0","f32","",0x4), 0x801DD7D0:("D_801DD7D0","f32","",0x4), @@ -3172,7 +3167,7 @@ 0x801DD7E4:("D_801DD7E4","f32","",0x4), 0x801DD7E8:("D_801DD7E8","f32","",0x4), 0x801DD7EC:("D_801DD7EC","f32","",0x4), - 0x801DD7F0:("jtbl_D_801DD7F0","UNK_PTR","",0x4), + 0x801DD7F0:("jtbl_801DD7F0","UNK_PTR","",0x4), 0x801DD880:("D_801DD880","UNK_TYPE2","",0x2), 0x801DD8E0:("D_801DD8E0","UNK_TYPE1","",0x1), 0x801DD900:("D_801DD900","UNK_TYPE4","",0x4), @@ -3197,14 +3192,14 @@ 0x801DD988:("D_801DD988","f32","",0x4), 0x801DD98C:("D_801DD98C","f32","",0x4), 0x801DD990:("D_801DD990","f32","",0x4), - 0x801DD994:("jtbl_D_801DD994","UNK_PTR","",0x4), - 0x801DD9B8:("jtbl_D_801DD9B8","UNK_PTR","",0x4), + 0x801DD994:("jtbl_801DD994","UNK_PTR","",0x4), + 0x801DD9B8:("jtbl_801DD9B8","UNK_PTR","",0x4), 0x801DD9EC:("D_801DD9EC","f32","",0x4), 0x801DD9F0:("D_801DD9F0","f32","",0x4), 0x801DD9F4:("D_801DD9F4","f32","",0x4), 0x801DD9F8:("D_801DD9F8","f32","",0x4), 0x801DD9FC:("D_801DD9FC","f32","",0x4), - 0x801DDA00:("jtbl_D_801DDA00","UNK_PTR","",0x4), + 0x801DDA00:("jtbl_801DDA00","UNK_PTR","",0x4), 0x801DDA7C:("D_801DDA7C","f32","",0x4), 0x801DDA80:("D_801DDA80","f32","",0x4), 0x801DDA84:("D_801DDA84","f32","",0x4), @@ -3232,9 +3227,9 @@ 0x801DDAF4:("D_801DDAF4","f32","",0x4), 0x801DDAF8:("D_801DDAF8","f32","",0x4), 0x801DDAFC:("D_801DDAFC","f32","",0x4), - 0x801DDB00:("jtbl_D_801DDB00","UNK_PTR","",0x4), - 0x801DDB58:("jtbl_D_801DDB58","UNK_PTR","",0x4), - 0x801DDB78:("jtbl_D_801DDB78","UNK_PTR","",0x4), + 0x801DDB00:("jtbl_801DDB00","UNK_PTR","",0x4), + 0x801DDB58:("jtbl_801DDB58","UNK_PTR","",0x4), + 0x801DDB78:("jtbl_801DDB78","UNK_PTR","",0x4), 0x801DDBA8:("D_801DDBA8","f32","",0x4), 0x801DDBAC:("D_801DDBAC","f32","",0x4), 0x801DDBB0:("D_801DDBB0","f32","",0x4), @@ -3245,10 +3240,10 @@ 0x801DDBC4:("D_801DDBC4","f32","",0x4), 0x801DDBC8:("D_801DDBC8","f32","",0x4), 0x801DDBCC:("D_801DDBCC","f32","",0x4), - 0x801DDBD0:("jtbl_D_801DDBD0","UNK_PTR","",0x4), - 0x801DDC00:("jtbl_D_801DDC00","UNK_PTR","",0x4), - 0x801DDC4C:("jtbl_D_801DDC4C","UNK_PTR","",0x4), - 0x801DDCA4:("jtbl_D_801DDCA4","UNK_PTR","",0x4), + 0x801DDBD0:("jtbl_801DDBD0","UNK_PTR","",0x4), + 0x801DDC00:("jtbl_801DDC00","UNK_PTR","",0x4), + 0x801DDC4C:("jtbl_801DDC4C","UNK_PTR","",0x4), + 0x801DDCA4:("jtbl_801DDCA4","UNK_PTR","",0x4), 0x801DDCF8:("D_801DDCF8","f32","",0x4), 0x801DDCFC:("D_801DDCFC","f32","",0x4), 0x801DDD00:("D_801DDD00","f32","",0x4), @@ -3315,7 +3310,7 @@ 0x801DDDFC:("D_801DDDFC","f32","",0x4), 0x801DDE00:("D_801DDE00","f32","",0x4), 0x801DDE04:("D_801DDE04","f32","",0x4), - 0x801DDE10:("jtbl_D_801DDE10","UNK_PTR","",0x4), + 0x801DDE10:("jtbl_801DDE10","UNK_PTR","",0x4), 0x801DDE90:("D_801DDE90","f32","",0x4), 0x801DDE94:("D_801DDE94","f32","",0x4), 0x801DDE98:("D_801DDE98","f32","",0x4), @@ -3394,7 +3389,7 @@ 0x801DDFDC:("D_801DDFDC","f32","",0x4), 0x801DDFE0:("D_801DDFE0","f32","",0x4), 0x801DDFE4:("D_801DDFE4","f32","",0x4), - 0x801DDFF0:("jtbl_D_801DDFF0","UNK_PTR","",0x4), + 0x801DDFF0:("jtbl_801DDFF0","UNK_PTR","",0x4), 0x801DE020:("D_801DE020","char","[]",0x10), 0x801DE030:("D_801DE030","char","[]",0xc), 0x801DE03C:("D_801DE03C","char","[]",0x10), @@ -3519,7 +3514,7 @@ 0x801DE860:("D_801DE860","f32","",0x4), 0x801DE864:("D_801DE864","f32","",0x4), 0x801DE868:("D_801DE868","f32","",0x4), - 0x801DE86C:("jtbl_D_801DE86C","UNK_PTR","",0x4), + 0x801DE86C:("jtbl_801DE86C","UNK_PTR","",0x4), 0x801DE884:("D_801DE884","f32","",0x4), 0x801DE890:("D_801DE890","UNK_TYPE1","",0x1), 0x801DF090:("D_801DF090","f32","",0x4), @@ -3529,12 +3524,12 @@ 0x801DF0C0:("D_801DF0C0","UNK_TYPE1","",0x1), 0x801DF120:("D_801DF120","f32","",0x4), 0x801DF124:("D_801DF124","f32","",0x4), - 0x801DF130:("jtbl_D_801DF130","UNK_PTR","",0x4), + 0x801DF130:("jtbl_801DF130","UNK_PTR","",0x4), 0x801DF148:("D_801DF148","f32","",0x4), - 0x801DF150:("jtbl_D_801DF150","UNK_PTR","",0x4), - 0x801DF174:("jtbl_D_801DF174","UNK_PTR","",0x4), - 0x801DF274:("jtbl_D_801DF274","UNK_PTR","",0x4), - 0x801DF34C:("jtbl_D_801DF34C","UNK_PTR","",0x4), + 0x801DF150:("jtbl_801DF150","UNK_PTR","",0x4), + 0x801DF174:("jtbl_801DF174","UNK_PTR","",0x4), + 0x801DF274:("jtbl_801DF274","UNK_PTR","",0x4), + 0x801DF34C:("jtbl_801DF34C","UNK_PTR","",0x4), 0x801DF3AC:("D_801DF3AC","f32","",0x4), 0x801DF3B0:("D_801DF3B0","f32","",0x4), 0x801DF3B4:("D_801DF3B4","f32","",0x4), @@ -3543,21 +3538,21 @@ 0x801DF3C0:("D_801DF3C0","f32","",0x4), 0x801DF3C4:("D_801DF3C4","f32","",0x4), 0x801DF3C8:("D_801DF3C8","f32","",0x4), - 0x801DF3CC:("jtbl_D_801DF3CC","UNK_PTR","",0x4), - 0x801DF508:("jtbl_D_801DF508","UNK_PTR","",0x4), - 0x801DF51C:("jtbl_D_801DF51C","UNK_PTR","",0x4), - 0x801DF5E8:("jtbl_D_801DF5E8","UNK_PTR","",0x4), - 0x801DF730:("jtbl_D_801DF730","UNK_PTR","",0x4), - 0x801DF7B8:("jtbl_D_801DF7B8","UNK_PTR","",0x4), - 0x801DF83C:("jtbl_D_801DF83C","UNK_PTR","",0x4), - 0x801DF860:("jtbl_D_801DF860","UNK_PTR","",0x4), + 0x801DF3CC:("jtbl_801DF3CC","UNK_PTR","",0x4), + 0x801DF508:("jtbl_801DF508","UNK_PTR","",0x4), + 0x801DF51C:("jtbl_801DF51C","UNK_PTR","",0x4), + 0x801DF5E8:("jtbl_801DF5E8","UNK_PTR","",0x4), + 0x801DF730:("jtbl_801DF730","UNK_PTR","",0x4), + 0x801DF7B8:("jtbl_801DF7B8","UNK_PTR","",0x4), + 0x801DF83C:("jtbl_801DF83C","UNK_PTR","",0x4), + 0x801DF860:("jtbl_801DF860","UNK_PTR","",0x4), 0x801DF8E0:("D_801DF8E0","f32","",0x4), - 0x801DF8E4:("jtbl_D_801DF8E4","UNK_PTR","",0x4), - 0x801DF900:("jtbl_D_801DF900","UNK_PTR","",0x4), - 0x801DF920:("jtbl_D_801DF920","UNK_PTR","",0x4), - 0x801DF934:("jtbl_D_801DF934","UNK_PTR","",0x4), - 0x801DF948:("jtbl_D_801DF948","UNK_PTR","",0x4), - 0x801DF95C:("jtbl_D_801DF95C","UNK_PTR","",0x4), + 0x801DF8E4:("jtbl_801DF8E4","UNK_PTR","",0x4), + 0x801DF900:("jtbl_801DF900","UNK_PTR","",0x4), + 0x801DF920:("jtbl_801DF920","UNK_PTR","",0x4), + 0x801DF934:("jtbl_801DF934","UNK_PTR","",0x4), + 0x801DF948:("jtbl_801DF948","UNK_PTR","",0x4), + 0x801DF95C:("jtbl_801DF95C","UNK_PTR","",0x4), 0x801DF970:("D_801DF970","f32","",0x4), 0x801DF974:("D_801DF974","f32","",0x4), 0x801DF978:("D_801DF978","f32","",0x4), @@ -3650,10 +3645,10 @@ 0x801DFB20:("D_801DFB20","char","[]",0x1), 0x801DFB24:("D_801DFB24","char","[]",0x1), 0x801DFB28:("D_801DFB28","char","[]",0x1), - 0x801DFB2C:("jtbl_D_801DFB2C","UNK_PTR","",0x4), - 0x801DFB88:("jtbl_D_801DFB88","UNK_PTR","",0x4), - 0x801DFBC0:("jtbl_D_801DFBC0","UNK_PTR","",0x4), - 0x801DFC04:("jtbl_D_801DFC04","UNK_PTR","",0x4), + 0x801DFB2C:("jtbl_801DFB2C","UNK_PTR","",0x4), + 0x801DFB88:("jtbl_801DFB88","UNK_PTR","",0x4), + 0x801DFBC0:("jtbl_801DFBC0","UNK_PTR","",0x4), + 0x801DFC04:("jtbl_801DFC04","UNK_PTR","",0x4), 0x801DFC3C:("D_801DFC3C","f32","",0x4), 0x801DFC40:("D_801DFC40","f32","",0x4), 0x801DFC44:("D_801DFC44","f32","",0x4), @@ -3704,7 +3699,7 @@ 0x801E00A8:("D_801E00A8","char","[]",0x12), 0x801E00BC:("D_801E00BC","char","[]",0x2c), 0x801E00E8:("D_801E00E8","char","[]",0x1d), - 0x801E0108:("jtbl_D_801E0108","UNK_PTR","",0x4), + 0x801E0108:("jtbl_801E0108","UNK_PTR","",0x4), 0x801E0120:("D_801E0120","f32","",0x4), 0x801E0124:("D_801E0124","f32","",0x4), 0x801E0128:("D_801E0128","f32","",0x4), @@ -3774,29 +3769,29 @@ 0x801E0250:("D_801E0250","char","[]",0x8), 0x801E0258:("D_801E0258","char","[]",0x12), 0x801E026C:("D_801E026C","char","[]",0xd), - 0x801E0280:("jtbl_D_801E0280","UNK_PTR","",0x4), + 0x801E0280:("jtbl_801E0280","UNK_PTR","",0x4), 0x801E02A0:("D_801E02A0","f32","",0x4), 0x801E02B0:("D_801E02B0","f32","",0x4), 0x801E02B4:("D_801E02B4","f32","",0x4), 0x801E02B8:("D_801E02B8","f32","",0x4), - 0x801E02BC:("jtbl_D_801E02BC","UNK_PTR","",0x4), + 0x801E02BC:("jtbl_801E02BC","UNK_PTR","",0x4), 0x801E02D0:("D_801E02D0","f32","",0x4), - 0x801E02D4:("jtbl_D_801E02D4","UNK_PTR","",0x4), + 0x801E02D4:("jtbl_801E02D4","UNK_PTR","",0x4), 0x801E0300:("D_801E0300","char","[]",0x9), 0x801E030C:("D_801E030C","char","[]",0x1), 0x801E0330:("D_801E0330","char","[]",0x9), 0x801E033C:("D_801E033C","char","[]",0x9), 0x801E0348:("D_801E0348","char","[]",0x9), 0x801E0354:("D_801E0354","char","[]",0x7), - 0x801E035C:("jtbl_D_801E035C","UNK_PTR","",0x4), - 0x801E0370:("jtbl_D_801E0370","UNK_PTR","",0x4), + 0x801E035C:("jtbl_801E035C","UNK_PTR","",0x4), + 0x801E0370:("jtbl_801E0370","UNK_PTR","",0x4), 0x801E0384:("D_801E0384","f32","",0x4), 0x801E0388:("D_801E0388","f32","",0x4), 0x801E038C:("D_801E038C","f32","",0x4), - 0x801E0390:("jtbl_D_801E0390","UNK_PTR","",0x4), - 0x801E040C:("jtbl_D_801E040C","UNK_PTR","",0x4), - 0x801E044C:("jtbl_D_801E044C","UNK_PTR","",0x4), - 0x801E0484:("jtbl_D_801E0484","UNK_PTR","",0x4), + 0x801E0390:("jtbl_801E0390","UNK_PTR","",0x4), + 0x801E040C:("jtbl_801E040C","UNK_PTR","",0x4), + 0x801E044C:("jtbl_801E044C","UNK_PTR","",0x4), + 0x801E0484:("jtbl_801E0484","UNK_PTR","",0x4), 0x801E04E0:("D_801E04E0","f32","",0x4), 0x801E04E4:("D_801E04E4","f32","",0x4), 0x801E04E8:("D_801E04E8","f32","",0x4), @@ -3809,47 +3804,55 @@ 0x801E0504:("D_801E0504","f32","",0x4), 0x801E0508:("D_801E0508","f32","",0x4), 0x801E050C:("D_801E050C","f32","",0x4), - 0x801E0510:("jtbl_D_801E0510","UNK_PTR","",0x4), + 0x801E0510:("jtbl_801E0510","UNK_PTR","",0x4), 0x801E0534:("D_801E0534","f32","",0x4), 0x801E0538:("D_801E0538","f32","",0x4), - 0x801E0540:("jtbl_D_801E0540","UNK_PTR","",0x4), - 0x801E0578:("jtbl_D_801E0578","UNK_PTR","",0x4), + 0x801E0540:("jtbl_801E0540","UNK_PTR","",0x4), + 0x801E0578:("jtbl_801E0578","UNK_PTR","",0x4), 0x801E05B4:("D_801E05B4","f32","",0x4), 0x801E05B8:("D_801E05B8","f32","",0x4), - 0x801E05BC:("jtbl_D_801E05BC","UNK_PTR","",0x4), + 0x801E05BC:("jtbl_801E05BC","UNK_PTR","",0x4), 0x801E05D0:("D_801E05D0","f32","",0x4), 0x801E05D4:("D_801E05D4","f32","",0x4), - 0x801E05D8:("jtbl_D_801E05D8","UNK_PTR","",0x4), - 0x801E0720:("jtbl_D_801E0720","UNK_PTR","",0x4), - 0x801E07C4:("jtbl_D_801E07C4","UNK_PTR","",0x4), - 0x801E0948:("jtbl_D_801E0948","UNK_PTR","",0x4), - 0x801E0A08:("jtbl_D_801E0A08","UNK_PTR","",0x4), + 0x801E05D8:("jtbl_801E05D8","UNK_PTR","",0x4), + 0x801E0720:("jtbl_801E0720","UNK_PTR","",0x4), + 0x801E07C4:("jtbl_801E07C4","UNK_PTR","",0x4), + 0x801E0948:("jtbl_801E0948","UNK_PTR","",0x4), + 0x801E0A08:("jtbl_801E0A08","UNK_PTR","",0x4), 0x801E0BD0:("D_801E0BD0","UNK_TYPE1","",0x1), 0x801E0BFC:("D_801E0BFC","UNK_TYPE1","",0x1), + 0x801E0C14:("D_801E0C14","char","[]",0x1), + 0x801E0C38:("D_801E0C38","char","[]",0x1), + 0x801E0C64:("D_801E0C64","char","[]",0x1), + 0x801E0C6C:("D_801E0C6C","char","[]",0x1), + 0x801E0C74:("D_801E0C74","char","[]",0x1), + 0x801E0C7C:("D_801E0C7C","char","[]",0x1), + 0x801E0CA4:("D_801E0CA4","char","[]",0x1), + 0x801E0CD0:("D_801E0CD0","char","[]",0x1), 0x801E0CEC:("D_801E0CEC","f32","",0x4), 0x801E0CF0:("D_801E0CF0","f32","",0x4), 0x801E0CF4:("D_801E0CF4","f32","",0x4), 0x801E0CF8:("D_801E0CF8","f32","",0x4), 0x801E0CFC:("D_801E0CFC","f32","",0x4), - 0x801E0D00:("jtbl_D_801E0D00","UNK_PTR","",0x4), + 0x801E0D00:("jtbl_801E0D00","UNK_PTR","",0x4), 0x801E0D20:("D_801E0D20","f32","",0x4), 0x801E0D24:("D_801E0D24","f32","",0x4), 0x801E0D28:("D_801E0D28","f32","",0x4), 0x801E0D2C:("D_801E0D2C","f32","",0x4), 0x801E0D30:("D_801E0D30","f32","",0x4), 0x801E0D34:("D_801E0D34","f32","",0x4), - 0x801E0D38:("jtbl_D_801E0D38","UNK_PTR","",0x4), + 0x801E0D38:("jtbl_801E0D38","UNK_PTR","",0x4), 0x801E0D58:("D_801E0D58","f64","",0x8), 0x801E0D60:("D_801E0D60","f32","",0x4), 0x801E0D64:("D_801E0D64","f32","",0x4), 0x801E0D68:("D_801E0D68","f32","",0x4), - 0x801E0D6C:("jtbl_D_801E0D6C","UNK_PTR","",0x4), + 0x801E0D6C:("jtbl_801E0D6C","UNK_PTR","",0x4), 0x801E0D8C:("D_801E0D8C","f32","",0x4), 0x801E0D90:("D_801E0D90","f32","",0x4), 0x801E0D94:("D_801E0D94","f32","",0x4), 0x801E0D98:("D_801E0D98","f32","",0x4), 0x801E0D9C:("D_801E0D9C","f32","",0x4), - 0x801E0DA0:("jtbl_D_801E0DA0","UNK_PTR","",0x4), + 0x801E0DA0:("jtbl_801E0DA0","UNK_PTR","",0x4), 0x801E0DBC:("D_801E0DBC","f32","",0x4), 0x801E0DC0:("D_801E0DC0","f32","",0x4), 0x801E0DC4:("D_801E0DC4","f32","",0x4), @@ -3875,7 +3878,7 @@ 0x801E0E1C:("D_801E0E1C","f32","",0x4), 0x801E0E20:("D_801E0E20","f32","",0x4), 0x801E0E24:("D_801E0E24","f32","",0x4), - 0x801E0E28:("jtbl_D_801E0E28","UNK_PTR","",0x4), + 0x801E0E28:("jtbl_801E0E28","UNK_PTR","",0x4), 0x801E0EB0:("D_801E0EB0","f64","",0x8), 0x801E0EC0:("D_801E0EC0","char","[]",0x1), 0x801E0ECC:("D_801E0ECC","char","[]",0x1), @@ -3885,19 +3888,20 @@ 0x801E0F48:("D_801E0F48","char","[]",0x1), 0x801E0F60:("D_801E0F60","char","[]",0x1), 0x801E0FA4:("D_801E0FA4","char","[]",0x1), - 0x801E0FEC:("jtbl_D_801E0FEC","UNK_PTR","",0x4), - 0x801E1028:("jtbl_D_801E1028","UNK_PTR","",0x4), - 0x801E1050:("jtbl_D_801E1050","UNK_PTR","",0x4), + 0x801E0FEC:("jtbl_801E0FEC","UNK_PTR","",0x4), + 0x801E1028:("jtbl_801E1028","UNK_PTR","",0x4), + 0x801E1050:("jtbl_801E1050","UNK_PTR","",0x4), 0x801E1068:("D_801E1068","f32","",0x4), - 0x801E1070:("jtbl_D_801E1070","UNK_PTR","",0x4), - 0x801E10B0:("jtbl_D_801E10B0","UNK_PTR","",0x4), - 0x801E10C4:("jtbl_D_801E10C4","UNK_PTR","",0x4), + 0x801E1070:("jtbl_801E1070","UNK_PTR","",0x4), + 0x801E10B0:("jtbl_801E10B0","UNK_PTR","",0x4), + 0x801E10C4:("jtbl_801E10C4","UNK_PTR","",0x4), + 0x801E1100:("D_801E1100","UNK_TYPE2","",0x2), 0x801E1102:("D_801E1102","UNK_TYPE2","",0x2), 0x801E1104:("D_801E1104","UNK_TYPE4","",0x4), 0x801E1108:("D_801E1108","UNK_TYPE4","",0x4), 0x801E110C:("D_801E110C","UNK_TYPE4","",0x4), 0x801E1110:("D_801E1110","UNK_TYPE2","",0x2), - 0x801E1120:("jtbl_D_801E1120","UNK_PTR","",0x4), + 0x801E1120:("jtbl_801E1120","UNK_PTR","",0x4), 0x801E1180:("D_801E1180","UNK_TYPE2","",0x2), 0x801E1420:("D_801E1420","UNK_TYPE1","",0x1), 0x801E1630:("D_801E1630","UNK_TYPE2","",0x2), @@ -3905,6 +3909,7 @@ 0x801E1E80:("D_801E1E80","UNK_TYPE1","",0x1), 0x801E2160:("D_801E2160","UNK_TYPE1","",0x1), 0x801E3790:("D_801E3790","UNK_TYPE1","",0x1), + 0x801E3BB0:("D_801E3BB0","UNK_TYPE1","",0x1), 0x801E3F40:("D_801E3F40","UNK_TYPE1","",0x1), 0x801E3FA0:("D_801E3FA0","UNK_TYPE1","",0x1), 0x801E3FB0:("sEffTable","EffTables","",0x98e0), @@ -3948,9 +3953,9 @@ 0x801EDAA8:("D_801EDAA8","char","[80]",0x50), 0x801EDAF8:("D_801EDAF8","char","[80]",0x50), 0x801EDB48:("D_801EDB48","Vec3f","",0xc), - 0x801EDB54:("D_01EDB54","Vec3f","",0xc), - 0x801EDB60:("D_01EDB60","Vec3f","",0xc), - 0x801EDB70:("D_01EDB70","Vec3f","",0xc), + 0x801EDB54:("D_801EDB54","Vec3f","",0xc), + 0x801EDB60:("D_801EDB60","Vec3f","",0xc), + 0x801EDB70:("D_801EDB70","Vec3f","",0xc), 0x801EDB7C:("D_801EDB7C","Vec3f","",0xc), 0x801EDB88:("D_801EDB88","Vec3f","",0xc), 0x801EDB98:("D_801EDB98","f32","",0x4), @@ -3985,9 +3990,9 @@ 0x801EDDE0:("D_801EDDE0","UNK_TYPE1","",0x1), 0x801EDDF0:("D_801EDDF0","UNK_TYPE1","",0x1), 0x801EDE00:("D_801EDE00","Vec3f","",0xc), - 0x801EDE10:("D_801EDE10","UNK_TYPE1","",0x1), + 0x801EDE10:("D_801EDE10","Vec3f","",0xc), 0x801EDE20:("D_801EDE20","Vec3f","",0xc), - 0x801EDE30:("D_801EDE30","UNK_TYPE1","",0x1), + 0x801EDE30:("D_801EDE30","Vec3f","",0xc), 0x801EDE40:("D_801EDE40","UNK_TYPE1","",0x1), 0x801EDE78:("D_801EDE78","UNK_TYPE1","",0x1), 0x801EDEB0:("D_801EDEB0","UNK_TYPE1","",0x1), @@ -4011,18 +4016,10 @@ 0x801EE11C:("D_801EE11C","UNK_TYPE1","",0x1), 0x801EE150:("D_801EE150","UNK_TYPE1","",0x1), 0x801EE188:("D_801EE188","UNK_TYPE1","",0x1), - 0x801EE1C0:("D_801EE1C0","UNK_TYPE1","",0x1), - 0x801EE1C4:("D_801EE1C4","UNK_TYPE1","",0x1), - 0x801EE1C8:("D_801EE1C8","UNK_TYPE1","",0x1), - 0x801EE1D0:("D_801EE1D0","UNK_TYPE1","",0x1), - 0x801EE1D4:("D_801EE1D4","UNK_TYPE1","",0x1), - 0x801EE1D8:("D_801EE1D8","UNK_TYPE1","",0x1), - 0x801EE1E0:("D_801EE1E0","UNK_TYPE1","",0x1), - 0x801EE1E4:("D_801EE1E4","UNK_TYPE1","",0x1), - 0x801EE1E8:("D_801EE1E8","UNK_TYPE1","",0x1), - 0x801EE1F0:("D_801EE1F0","UNK_TYPE1","",0x1), - 0x801EE1F4:("D_801EE1F4","UNK_TYPE1","",0x1), - 0x801EE1F8:("D_801EE1F8","UNK_TYPE1","",0x1), + 0x801EE1C0:("D_801EE1C0","Vec3f","",0xc), + 0x801EE1D0:("D_801EE1D0","Vec3f","",0xc), + 0x801EE1E0:("D_801EE1E0","Vec3f","",0xc), + 0x801EE1F0:("D_801EE1F0","Vec3f","",0xc), 0x801EE200:("D_801EE200","EffSparkParams","",0x4c4), 0x801EE6C8:("D_801EE6C8","ColTriParams","",0x34), 0x801EE700:("D_801EE700","ColTriParams","",0x34), @@ -4034,13 +4031,8 @@ 0x801EF600:("D_801EF600","ColTriParams","",0x34), 0x801EF638:("D_801EF638","ColTriParams","",0x34), 0x801EF66D:("D_801EF66D","UNK_TYPE1","",0x1), - 0x801EF670:("gSaveContext","SaveContext","",0x48c8), - 0x801F3F38:("D_801F3F38","UNK_TYPE2","",0x2), - 0x801F3F3A:("D_801F3F3A","UNK_TYPE1","",0x1), - 0x801F3F3B:("D_801F3F3B","UNK_TYPE1","",0x1), - 0x801F3F3C:("D_801F3F3C","UNK_TYPE1","",0x1), - 0x801F3F42:("D_801F3F42","UNK_TYPE1","",0x1), - 0x801F3F4A:("D_801F3F4A","UNK_TYPE1","",0x1), + 0x801EF670:("gSaveContext","SaveContext","",0x48e8), + 0x801F3F58:("D_801F3F58","UNK_TYPE1","",0x1), 0x801F3F5A:("D_801F3F5A","UNK_TYPE1","",0x1), 0x801F3F60:("gGameInfo","GameInfo*","",0x4), 0x801F3F70:("D_801F3F70","UNK_TYPE1","",0x1), @@ -4626,7 +4618,7 @@ 0x80209AA0:("gGfxSPTaskStack","u8","[0x400]",0x400), 0x80209EA0:("gGfxPools","GfxPool","[2]",0x40620), 0x8024A4C0:("gAudioHeap","u8","[0x138000]",0x138000), - 0x803824C0:("gSystemHeap","u32","[UNK_SIZE]",0x3fdb40), + 0x803824C0:("gSystemHeap","u8","[UNK_SIZE]",0x3fdb40), 0x80780000:("D_80780000","u8","[0x4600]",0x4600), 0x80784600:("D_80784600","u8","[0x56200]",0x56200), 0x807DA800:("gFramebuffer0","u16","[SCREEN_HEIGHT][SCREEN_WIDTH]",0x25800), @@ -4634,9 +4626,6 @@ 0x80800868:("D_80800868","UNK_TYPE1","",0x1), 0x80800870:("D_80800870","UNK_TYPE1","",0x1), 0x80800880:("titleUnknownVector3f","Vec3f","",0xc), - 0x80800890:("titleOverlayBlockInfo","OverlayRelocationSection","",0x14), - 0x808008A4:("titleOverlayRelocations","u32","[23]",0x5c), - 0x8080090C:("titleOverlayBlockInfoOffset","u32","",0x4), 0x80801C80:("D_80801C80","UNK_PTR","",0x4), 0x80802334:("D_80802334","UNK_PTR","",0x4), 0x80802364:("D_80802364","UNK_PTR","",0x4), @@ -4834,15 +4823,9 @@ 0x80803748:("D_80803748","char","[]",0x1), 0x80803758:("D_80803758","char","[]",0x1), 0x80803768:("D_80803768","char","[]",0x1), - 0x80803770:("jtbl_D_80803770","UNK_PTR","",0x4), - 0x808037A0:("selectOverlayInfo","OverlayRelocationSection","",0x14), - 0x808037B4:("selectOverlayRelocations","u32","[397]",0x634), - 0x80803DEC:("selectOverlayInfoOffset","u32","",0x4), + 0x80803770:("jtbl_80803770","UNK_PTR","",0x4), 0x80803FC0:("openingEntrances","u32","[2]",0x8), 0x80803FC8:("openingCutscenes","u32","[2]",0x8), - 0x80803FD0:("openingOverlayBlockInfo","OverlayRelocationSection","",0x14), - 0x80803FE4:("openingOverlayRelocations","u32","[10]",0x28), - 0x8080400C:("openingOverlayBlockInfoOffset","u32","",0x4), 0x80813DF0:("D_80813DF0","UNK_TYPE1","",0x1), 0x80813F30:("D_80813F30","UNK_TYPE1","",0x1), 0x80814130:("D_80814130","UNK_TYPE1","",0x1), @@ -4883,7 +4866,7 @@ 0x80814554:("D_80814554","UNK_TYPE1","",0x1), 0x8081455C:("D_8081455C","UNK_TYPE1","",0x1), 0x80814564:("D_80814564","UNK_TYPE2","",0x2), - 0x80814568:("D_80814568","filechoose_update_func","[45]",0xb4), + 0x80814568:("D_80814568","UNK_TYPE","[45]",0xb4), 0x8081461C:("D_8081461C","s16","[2]",0x4), 0x80814620:("D_80814620","UNK_TYPE2","",0x2), 0x80814628:("D_80814628","UNK_TYPE2","",0x2), @@ -4908,9 +4891,9 @@ 0x80814758:("D_80814758","UNK_TYPE4","",0x4), 0x80814764:("D_80814764","UNK_TYPE4","",0x4), 0x80814774:("D_80814774","UNK_TYPE1","",0x1), - 0x8081477C:("D_8081477C","filechoose_update_func","[8]",0x20), - 0x8081479C:("D_8081479C","filechoose_update_func","[3]",0xc), - 0x808147A8:("D_808147A8","filechoose_update_func","[3]",0xc), + 0x8081477C:("D_8081477C","UNK_TYPE","[8]",0x20), + 0x8081479C:("D_8081479C","UNK_TYPE","[3]",0xc), + 0x808147A8:("D_808147A8","UNK_TYPE","[3]",0xc), 0x808147B4:("D_808147B4","UNK_TYPE4","",0x4), 0x808147C0:("D_808147C0","UNK_TYPE2","",0x2), 0x808147C8:("D_808147C8","UNK_TYPE2","",0x2), @@ -4922,17 +4905,11 @@ 0x808147E8:("D_808147E8","f32","",0x4), 0x808147EC:("D_808147EC","f32","",0x4), 0x808147F0:("D_808147F0","f32","",0x4), - 0x80814800:("filechooseOverlayInfo","OverlayRelocationSection","",0x14), - 0x80814814:("filechooseOverlayRelocations","u32","[409]",0x664), - 0x80814E7C:("filechooseOverlayInfoOffset","u32","",0x4), 0x80814E80:("D_80814E80","UNK_TYPE1","",0x1), 0x80814E90:("D_80814E90","UNK_TYPE1","",0x1), 0x80815FF0:("D_80815FF0","u32","[4]",0x10), 0x80816000:("D_80816000","u32","[4]",0x10), 0x80816010:("D_80816010","u32","[4]",0x10), - 0x80816020:("daytelopOverlayInfo","OverlayRelocationSection","",0x14), - 0x80816034:("daytelopOverlayRelocations","u32","[24]",0x60), - 0x8081609C:("daytelopOverlayInfoOffset","u32","",0x4), 0x8082AED0:("D_8082AED0","UNK_TYPE1","",0x1), 0x8082AED8:("D_8082AED8","UNK_TYPE1","",0x1), 0x8082AEE0:("D_8082AEE0","UNK_TYPE2","",0x2), @@ -5223,12 +5200,9 @@ 0x8082C0D8:("D_8082C0D8","f32","",0x4), 0x8082C0DC:("D_8082C0DC","f32","",0x4), 0x8082C0E0:("D_8082C0E0","f32","",0x4), - 0x8082C0E4:("jtbl_D_8082C0E4","UNK_PTR","",0x4), - 0x8082C148:("jtbl_D_8082C148","UNK_PTR","",0x4), - 0x8082C18C:("jtbl_D_8082C18C","UNK_PTR","",0x4), - 0x8082C1B0:("kaleidoscopeOverlayInfo","OverlayRelocationSection","",0x14), - 0x8082C1C4:("kaleidoscopeOverlayRelocations","u32","[1568]",0x1880), - 0x8082DA4C:("kaleidoscopeOverlayInfoOffset","u32","",0x4), + 0x8082C0E4:("jtbl_8082C0E4","UNK_PTR","",0x4), + 0x8082C148:("jtbl_8082C148","UNK_PTR","",0x4), + 0x8082C18C:("jtbl_8082C18C","UNK_PTR","",0x4), 0x8082DA50:("D_8082DA50","UNK_TYPE1","",0x1), 0x8082DA52:("D_8082DA52","UNK_TYPE1","",0x1), 0x8082DA54:("D_8082DA54","UNK_TYPE1","",0x1), @@ -5752,9 +5726,6 @@ 0x8085E6EC:("D_8085E6EC","f32","",0x4), 0x8085E6F0:("D_8085E6F0","f32","",0x4), 0x8085E6F4:("D_8085E6F4","f32","",0x4), - 0x8085E700:("playerActorOverlayInfo","OverlayRelocationSection","",0x14), - 0x8085E714:("playerActorOverlayRelocations","u32","[4340]",0x43d0), - 0x80862AEC:("playerActorOverlayInfoOffset","u32","",0x4), 0x80862AF0:("D_80862AF0","UNK_TYPE1","",0x1), 0x80862AF4:("D_80862AF4","f32","",0x4), 0x80862AF8:("D_80862AF8","f32","",0x4), @@ -5789,24 +5760,15 @@ 0x808637E0:("D_808637E0","f32","",0x4), 0x808637E4:("D_808637E4","f32","",0x4), 0x808637E8:("D_808637E8","f32","",0x4), - 0x808637F0:("enTestOverlayInfo","OverlayRelocationSection","",0x14), - 0x80863804:("enTestOverlayRelocations","u32","[24]",0x60), - 0x8086386C:("enTestOverlayInfoOffset","u32","",0x4), 0x80864A30:("En_GirlA_InitVars","UNK_TYPE1","",0x1), 0x80864A50:("D_80864A50","UNK_TYPE1","",0x1), - 0x80864FB0:("jtbl_D_80864FB0","UNK_PTR","",0x4), - 0x80865040:("enGirlAOverlayInfo","OverlayRelocationSection","",0x14), - 0x80865054:("enGirlAOverlayRelocations","u32","[195]",0x30c), - 0x8086536C:("enGirlAOverlayInfoOffset","u32","",0x4), + 0x80864FB0:("jtbl_80864FB0","UNK_PTR","",0x4), 0x808658E0:("En_Part_InitVars","UNK_TYPE1","",0x1), 0x80865900:("D_80865900","UNK_TYPE4","",0x4), 0x8086590C:("D_8086590C","UNK_TYPE1","",0x1), 0x80865920:("D_80865920","f32","",0x4), 0x80865924:("D_80865924","f32","",0x4), 0x80865928:("D_80865928","f32","",0x4), - 0x80865930:("enPartOverlayInfo","OverlayRelocationSection","",0x14), - 0x80865944:("enPartOverlayRelocations","u32","[16]",0x40), - 0x8086598C:("enPartOverlayInfoOffset","u32","",0x4), 0x808666B0:("En_Light_InitVars","UNK_TYPE1","",0x1), 0x808666D0:("D_808666D0","UNK_TYPE1","",0x1), 0x808666D6:("D_808666D6","UNK_TYPE1","",0x1), @@ -5817,9 +5779,6 @@ 0x8086675C:("D_8086675C","f32","",0x4), 0x80866760:("D_80866760","f32","",0x4), 0x80866764:("D_80866764","f32","",0x4), - 0x80866770:("enLightOverlayInfo","OverlayRelocationSection","",0x14), - 0x80866784:("enLightOverlayRelocations","u32","[28]",0x70), - 0x808667FC:("enLightOverlayInfoOffset","u32","",0x4), 0x808675D0:("D_808675D0","UNK_TYPE1","",0x1), 0x808675E4:("D_808675E4","UNK_TYPE1","",0x1), 0x80867634:("D_80867634","UNK_TYPE1","",0x1), @@ -5863,9 +5822,6 @@ 0x80867998:("D_80867998","UNK_TYPE1","",0x1), 0x808679A4:("D_808679A4","UNK_TYPE1","",0x1), 0x80867A20:("D_80867A20","f32","",0x4), - 0x80867A30:("enDoorOverlayInfo","OverlayRelocationSection","",0x14), - 0x80867A44:("enDoorOverlayRelocations","u32","[91]",0x16c), - 0x80867BBC:("enDoorOverlayInfoOffset","u32","",0x4), 0x80867BC0:("D_80867BC0","UNK_TYPE1","",0x1), 0x80869B30:("En_Box_InitVars","UNK_TYPE1","",0x1), 0x80869B50:("D_80869B50","UNK_TYPE1","",0x1), @@ -5886,9 +5842,6 @@ 0x80869BC8:("D_80869BC8","f32","",0x4), 0x80869BCC:("D_80869BCC","f32","",0x4), 0x80869BD0:("D_80869BD0","f32","",0x4), - 0x80869BE0:("enBoxOverlayInfo","OverlayRelocationSection","",0x14), - 0x80869BF4:("enBoxOverlayRelocations","u32","[100]",0x190), - 0x80869D8C:("enBoxOverlayInfoOffset","u32","",0x4), 0x8086D940:("En_Pametfrog_InitVars","UNK_TYPE1","",0x1), 0x8086D960:("D_8086D960","UNK_TYPE1","",0x1), 0x8086D980:("D_8086D980","UNK_TYPE1","",0x1), @@ -5924,9 +5877,6 @@ 0x8086DA94:("D_8086DA94","f32","",0x4), 0x8086DA98:("D_8086DA98","f32","",0x4), 0x8086DA9C:("D_8086DA9C","f32","",0x4), - 0x8086DAA0:("enPametfrogOverlayInfo","OverlayRelocationSection","",0x14), - 0x8086DAB4:("enPametfrogOverlayRelocations","u32","[218]",0x368), - 0x8086DE1C:("enPametfrogOverlayInfoOffset","u32","",0x4), 0x80870870:("D_80870870","UNK_TYPE1","",0x1), 0x80870880:("En_Okuta_InitVars","UNK_TYPE1","",0x1), 0x808708A0:("D_808708A0","UNK_TYPE1","",0x1), @@ -5987,9 +5937,6 @@ 0x80870A20:("D_80870A20","f32","",0x4), 0x80870A24:("D_80870A24","f32","",0x4), 0x80870A28:("D_80870A28","f32","",0x4), - 0x80870A30:("enOkutaOverlayInfo","OverlayRelocationSection","",0x14), - 0x80870A44:("enOkutaOverlayRelocations","u32","[215]",0x35c), - 0x80870DAC:("enOkutaOverlayInfoOffset","u32","",0x4), 0x80872DA0:("En_Bom_InitVars","ActorInit","",0x20), 0x80872DC0:("enBomScales","f32","[2]",0x8), 0x80872DC8:("D_80872DC8","ColliderCylinderInit","",0x2c), @@ -6045,9 +5992,6 @@ 0x808743E8:("D_808743E8","f32","",0x4), 0x808743EC:("D_808743EC","f32","",0x4), 0x808743F0:("D_808743F0","f32","",0x4), - 0x80874400:("enBomOverlayInfo","OverlayRelocationSection","",0x14), - 0x80874414:("enBomOverlayRelocations","u32","[141]",0x234), - 0x8087464C:("enBomOverlayInfoOffset","u32","",0x4), 0x80874650:("D_80874650","s80874650","[16]",0x1c0), 0x80874668:("D_80874668","UNK_TYPE1","",0x1), 0x8087466A:("D_8087466A","UNK_TYPE1","",0x1), @@ -6074,9 +6018,6 @@ 0x80876414:("D_80876414","f32","",0x4), 0x80876418:("D_80876418","f32","",0x4), 0x8087641C:("D_8087641C","f32","",0x4), - 0x80876420:("enWallmasOverlayInfo","OverlayRelocationSection","",0x14), - 0x80876434:("enWallmasOverlayRelocations","u32","[140]",0x230), - 0x8087666C:("enWallmasOverlayInfoOffset","u32","",0x4), 0x808790B0:("En_Dodongo_InitVars","UNK_TYPE1","",0x1), 0x808790D0:("D_808790D0","UNK_TYPE1","",0x1), 0x80879238:("D_80879238","UNK_TYPE1","",0x1), @@ -6127,9 +6068,6 @@ 0x808793F0:("D_808793F0","f32","",0x4), 0x808793F4:("D_808793F4","f32","",0x4), 0x808793F8:("D_808793F8","f32","",0x4), - 0x80879400:("enDodongoOverlayInfo","OverlayRelocationSection","",0x14), - 0x80879414:("enDodongoOverlayRelocations","u32","[182]",0x2d8), - 0x808796EC:("enDodongoOverlayInfoOffset","u32","",0x4), 0x8087B450:("En_Firefly_InitVars","ActorInit","",0x20), 0x8087B470:("enFireflyCollisionInit","ColliderSphereInit","",0x2c), 0x8087B498:("D_8087B498","UNK_TYPE1","",0x1), @@ -6157,9 +6095,6 @@ 0x8087B530:("D_8087B530","f32","",0x4), 0x8087B534:("D_8087B534","f32","",0x4), 0x8087B538:("D_8087B538","f32","",0x4), - 0x8087B540:("enFireflyOverlayInfo","OverlayRelocationSection","",0x14), - 0x8087B554:("enFireflyOverlayRelocations","u32","[115]",0x1cc), - 0x8087B72C:("enFireflyOverlayInfoOffset","u32","",0x4), 0x80888EC0:("D_80888EC0","UNK_TYPE1","",0x1), 0x80888EE4:("D_80888EE4","UNK_TYPE1","",0x1), 0x80888F08:("D_80888F08","UNK_TYPE1","",0x1), @@ -6314,9 +6249,6 @@ 0x808893E4:("D_808893E4","f32","",0x4), 0x808893E8:("D_808893E8","f32","",0x4), 0x808893EC:("D_808893EC","f32","",0x4), - 0x808893F0:("enHorseOverlayInfo","OverlayRelocationSection","",0x14), - 0x80889404:("enHorseOverlayRelocations","u32","[908]",0xe30), - 0x8088A23C:("enHorseOverlayInfoOffset","u32","",0x4), 0x8088C1C0:("En_Arrow_InitVars","UNK_TYPE1","",0x1), 0x8088C1E0:("D_8088C1E0","UNK_TYPE1","",0x1), 0x8088C230:("D_8088C230","UNK_TYPE1","",0x1), @@ -6331,14 +6263,11 @@ 0x8088C2E8:("D_8088C2E8","UNK_TYPE1","",0x1), 0x8088C2EC:("D_8088C2EC","UNK_TYPE1","",0x1), 0x8088C340:("D_8088C340","UNK_TYPE1","",0x1), - 0x8088C3A0:("jtbl_D_8088C3A0","UNK_PTR","",0x4), + 0x8088C3A0:("jtbl_8088C3A0","UNK_PTR","",0x4), 0x8088C3C0:("D_8088C3C0","f32","",0x4), 0x8088C3C4:("D_8088C3C4","f32","",0x4), 0x8088C3C8:("D_8088C3C8","f32","",0x4), 0x8088C3CC:("D_8088C3CC","f32","",0x4), - 0x8088C3D0:("enArrowOverlayInfo","OverlayRelocationSection","",0x14), - 0x8088C3E4:("enArrowOverlayRelocations","u32","[74]",0x128), - 0x8088C50C:("enArrowOverlayInfoOffset","u32","",0x4), 0x808909C0:("En_Elf_InitVars","UNK_TYPE1","",0x1), 0x808909E0:("D_808909E0","UNK_TYPE1","",0x1), 0x808909E4:("D_808909E4","UNK_TYPE4","",0x4), @@ -6347,7 +6276,7 @@ 0x80890A6C:("D_80890A6C","UNK_TYPE1","",0x1), 0x80890A78:("D_80890A78","UNK_TYPE1","",0x1), 0x80890A84:("D_80890A84","UNK_TYPE1","",0x1), - 0x80890A90:("jtbl_D_80890A90","UNK_PTR","",0x4), + 0x80890A90:("jtbl_80890A90","UNK_PTR","",0x4), 0x80890ABC:("D_80890ABC","f32","",0x4), 0x80890AC0:("D_80890AC0","f32","",0x4), 0x80890AC4:("D_80890AC4","f32","",0x4), @@ -6356,7 +6285,7 @@ 0x80890AD0:("D_80890AD0","f32","",0x4), 0x80890AD4:("D_80890AD4","f32","",0x4), 0x80890AD8:("D_80890AD8","f32","",0x4), - 0x80890ADC:("jtbl_D_80890ADC","UNK_PTR","",0x4), + 0x80890ADC:("jtbl_80890ADC","UNK_PTR","",0x4), 0x80890B08:("D_80890B08","f32","",0x4), 0x80890B0C:("D_80890B0C","f32","",0x4), 0x80890B10:("D_80890B10","f32","",0x4), @@ -6388,15 +6317,12 @@ 0x80890B78:("D_80890B78","f32","",0x4), 0x80890B7C:("D_80890B7C","f32","",0x4), 0x80890B80:("D_80890B80","f32","",0x4), - 0x80890B84:("jtbl_D_80890B84","UNK_PTR","",0x4), - 0x80890B9C:("jtbl_D_80890B9C","UNK_PTR","",0x4), + 0x80890B84:("jtbl_80890B84","UNK_PTR","",0x4), + 0x80890B9C:("jtbl_80890B9C","UNK_PTR","",0x4), 0x80890BB8:("D_80890BB8","f32","",0x4), 0x80890BBC:("D_80890BBC","f32","",0x4), 0x80890BC0:("D_80890BC0","f32","",0x4), 0x80890BC4:("D_80890BC4","f32","",0x4), - 0x80890BD0:("enElfOverlayInfo","OverlayRelocationSection","",0x14), - 0x80890BE4:("enElfOverlayRelocations","u32","[283]",0x46c), - 0x8089105C:("enElfOverlayInfoOffset","u32","",0x4), 0x80893460:("D_80893460","UNK_TYPE2","",0x2), 0x80893464:("En_Niw_InitVars","UNK_TYPE1","",0x1), 0x80893484:("D_80893484","UNK_TYPE1","",0x1), @@ -6411,7 +6337,7 @@ 0x80893504:("D_80893504","f32","",0x4), 0x80893508:("D_80893508","f32","",0x4), 0x8089350C:("D_8089350C","f32","",0x4), - 0x80893510:("jtbl_D_80893510","UNK_PTR","",0x4), + 0x80893510:("jtbl_80893510","UNK_PTR","",0x4), 0x80893528:("D_80893528","f32","",0x4), 0x8089352C:("D_8089352C","f32","",0x4), 0x80893530:("D_80893530","f32","",0x4), @@ -6437,9 +6363,6 @@ 0x80893580:("D_80893580","f32","",0x4), 0x80893584:("D_80893584","f32","",0x4), 0x80893588:("D_80893588","f32","",0x4), - 0x80893590:("enNiwOverlayInfo","OverlayRelocationSection","",0x14), - 0x808935A4:("enNiwOverlayRelocations","u32","[145]",0x244), - 0x808937EC:("enNiwOverlayInfoOffset","u32","",0x4), 0x80896AB0:("En_Tite_InitVars","UNK_TYPE1","",0x1), 0x80896AD0:("D_80896AD0","UNK_TYPE1","",0x1), 0x80896AFC:("D_80896AFC","UNK_TYPE1","",0x1), @@ -6463,9 +6386,6 @@ 0x80896BC8:("D_80896BC8","f32","",0x4), 0x80896BCC:("D_80896BCC","f32","",0x4), 0x80896BD0:("D_80896BD0","f32","",0x4), - 0x80896BE0:("enTiteOverlayInfo","OverlayRelocationSection","",0x14), - 0x80896BF4:("enTiteOverlayRelocations","u32","[205]",0x334), - 0x80896F2C:("enTiteOverlayInfoOffset","u32","",0x4), 0x80899410:("En_Peehat_InitVars","UNK_TYPE1","",0x1), 0x80899430:("D_80899430","UNK_TYPE1","",0x1), 0x8089945C:("D_8089945C","UNK_TYPE1","",0x1), @@ -6521,9 +6441,6 @@ 0x8089964C:("D_8089964C","f32","",0x4), 0x80899650:("D_80899650","f32","",0x4), 0x80899654:("D_80899654","f32","",0x4), - 0x80899660:("enPeehatOverlayInfo","OverlayRelocationSection","",0x14), - 0x80899674:("enPeehatOverlayRelocations","u32","[184]",0x2e0), - 0x8089995C:("enPeehatOverlayInfoOffset","u32","",0x4), 0x8089A530:("En_Holl_InitVars","UNK_TYPE1","",0x1), 0x8089A550:("D_8089A550","UNK_TYPE1","",0x1), 0x8089A590:("D_8089A590","UNK_TYPE1","",0x1), @@ -6536,9 +6453,6 @@ 0x8089A5E8:("D_8089A5E8","f32","",0x4), 0x8089A5F0:("D_8089A5F0","f32","",0x4), 0x8089A5F4:("D_8089A5F4","f32","",0x4), - 0x8089A600:("enHollOverlayInfo","OverlayRelocationSection","",0x14), - 0x8089A614:("enHollOverlayRelocations","u32","[48]",0xc0), - 0x8089A6DC:("enHollOverlayInfoOffset","u32","",0x4), 0x8089E150:("En_Dinofos_InitVars","UNK_TYPE1","",0x1), 0x8089E170:("D_8089E170","UNK_TYPE1","",0x1), 0x8089E2B4:("D_8089E2B4","UNK_TYPE1","",0x1), @@ -6595,27 +6509,15 @@ 0x8089E450:("D_8089E450","f32","",0x4), 0x8089E454:("D_8089E454","f32","",0x4), 0x8089E458:("D_8089E458","f32","",0x4), - 0x8089E460:("enDinofosOverlayInfo","OverlayRelocationSection","",0x14), - 0x8089E474:("enDinofosOverlayRelocations","u32","[281]",0x464), - 0x8089E8DC:("enDinofosOverlayInfoOffset","u32","",0x4), 0x8089ED10:("En_Hata_InitVars","UNK_TYPE1","",0x1), 0x8089ED30:("D_8089ED30","f32","",0x4), 0x8089ED34:("D_8089ED34","f32","",0x4), 0x8089ED38:("D_8089ED38","f32","",0x4), - 0x8089ED40:("enHataOverlayInfo","OverlayRelocationSection","",0x14), - 0x8089ED54:("enHataOverlayRelocations","u32","[12]",0x30), - 0x8089ED8C:("enHataOverlayInfoOffset","u32","",0x4), 0x8089EDD0:("En_Zl1_InitVars","ActorInit","",0x20), - 0x8089EDF0:("enZl1OverlayInfo","OverlayRelocationSection","",0x14), - 0x8089EE04:("enZl1OverlayRelocations","u32","[4]",0x10), - 0x8089EE1C:("enZl1OverlayInfoOffset","u32","",0x4), 0x8089F3E0:("D_8089F3E0","UNK_TYPE1","",0x1), 0x8089F3E4:("D_8089F3E4","UNK_TYPE1","",0x1), 0x8089F3E8:("En_Viewer_InitVars","UNK_TYPE1","",0x1), 0x8089F410:("D_8089F410","f32","",0x4), - 0x8089F420:("enViewerOverlayInfo","OverlayRelocationSection","",0x14), - 0x8089F434:("enViewerOverlayRelocations","u32","[35]",0x8c), - 0x8089F4CC:("enViewerOverlayInfoOffset","u32","",0x4), 0x8089F4D0:("D_8089F4D0","UNK_TYPE1","",0x1), 0x808A06E0:("En_Bubble_InitVars","UNK_TYPE1","",0x1), 0x808A0700:("D_808A0700","UNK_TYPE1","",0x1), @@ -6637,9 +6539,6 @@ 0x808A07A8:("D_808A07A8","f32","",0x4), 0x808A07AC:("D_808A07AC","f32","",0x4), 0x808A07B0:("D_808A07B0","f32","",0x4), - 0x808A07C0:("enBubbleOverlayInfo","OverlayRelocationSection","",0x14), - 0x808A07D4:("enBubbleOverlayRelocations","u32","[70]",0x118), - 0x808A08EC:("enBubbleOverlayInfoOffset","u32","",0x4), 0x808A2160:("Door_Shutter_InitVars","UNK_TYPE1","",0x1), 0x808A2180:("D_808A2180","UNK_TYPE1","",0x1), 0x808A21B0:("D_808A21B0","UNK_PTR","",0x4), @@ -6656,9 +6555,6 @@ 0x808A22FC:("D_808A22FC","f32","",0x4), 0x808A2300:("D_808A2300","f32","",0x4), 0x808A2304:("D_808A2304","f32","",0x4), - 0x808A2310:("doorShutterOverlayInfo","OverlayRelocationSection","",0x14), - 0x808A2324:("doorShutterOverlayRelocations","u32","[105]",0x1a4), - 0x808A24CC:("doorShutterOverlayInfoOffset","u32","",0x4), 0x808A2FF0:("En_Boom_InitVars","UNK_TYPE1","",0x1), 0x808A3010:("D_808A3010","UNK_TYPE1","",0x1), 0x808A3060:("D_808A3060","UNK_TYPE1","",0x1), @@ -6683,16 +6579,10 @@ 0x808A30B4:("D_808A30B4","f32","",0x4), 0x808A30B8:("D_808A30B8","f32","",0x4), 0x808A30BC:("D_808A30BC","f32","",0x4), - 0x808A30C0:("enBoomOverlayInfo","OverlayRelocationSection","",0x14), - 0x808A30D4:("enBoomOverlayRelocations","u32","[54]",0xd8), - 0x808A31AC:("enBoomOverlayInfoOffset","u32","",0x4), 0x808A35B0:("En_Torch2_InitVars","UNK_TYPE1","",0x1), 0x808A35D0:("D_808A35D0","UNK_TYPE1","",0x1), 0x808A35FC:("D_808A35FC","UNK_TYPE1","",0x1), 0x808A3600:("D_808A3600","UNK_TYPE1","",0x1), - 0x808A3620:("enTorch2OverlayInfo","OverlayRelocationSection","",0x14), - 0x808A3634:("enTorch2OverlayRelocations","u32","[14]",0x38), - 0x808A366C:("enTorch2OverlayInfoOffset","u32","",0x4), 0x808A4D20:("En_Minifrog_InitVars","UNK_TYPE1","",0x1), 0x808A4D40:("D_808A4D40","UNK_TYPE1","",0x1), 0x808A4D6C:("D_808A4D6C","UNK_TYPE1","",0x1), @@ -6704,13 +6594,10 @@ 0x808A4D94:("D_808A4D94","UNK_TYPE1","",0x1), 0x808A4D98:("D_808A4D98","UNK_TYPE1","",0x1), 0x808A4DB0:("D_808A4DB0","f32","",0x4), - 0x808A4DB4:("jtbl_D_808A4DB4","UNK_PTR","",0x4), + 0x808A4DB4:("jtbl_808A4DB4","UNK_PTR","",0x4), 0x808A4DD0:("D_808A4DD0","f32","",0x4), 0x808A4DD4:("D_808A4DD4","f32","",0x4), - 0x808A4DD8:("jtbl_D_808A4DD8","UNK_PTR","",0x4), - 0x808A4E00:("enMinifrogOverlayInfo","OverlayRelocationSection","",0x14), - 0x808A4E14:("enMinifrogOverlayRelocations","u32","[140]",0x230), - 0x808A504C:("enMinifrogOverlayInfoOffset","u32","",0x4), + 0x808A4DD8:("jtbl_808A4DD8","UNK_PTR","",0x4), 0x808A7590:("En_St_InitVars","UNK_TYPE1","",0x1), 0x808A75B0:("D_808A75B0","UNK_TYPE1","",0x1), 0x808A75DC:("D_808A75DC","UNK_PTR","",0x4), @@ -6734,19 +6621,10 @@ 0x808A7740:("D_808A7740","f32","",0x4), 0x808A7744:("D_808A7744","f32","",0x4), 0x808A7748:("D_808A7748","f32","",0x4), - 0x808A7750:("enStOverlayInfo","OverlayRelocationSection","",0x14), - 0x808A7764:("enStOverlayRelocations","u32","[114]",0x1c8), - 0x808A792C:("enStOverlayInfoOffset","u32","",0x4), 0x808A7DA0:("Obj_Wturn_InitVars","UNK_TYPE1","",0x1), 0x808A7DC0:("D_808A7DC0","UNK_TYPE1","",0x1), - 0x808A7DD0:("objWturnOverlayInfo","OverlayRelocationSection","",0x14), - 0x808A7DE4:("objWturnOverlayRelocations","u32","[16]",0x40), - 0x808A7E2C:("objWturnOverlayInfoOffset","u32","",0x4), 0x808A8040:("En_River_Sound_InitVars","UNK_TYPE1","",0x1), 0x808A8060:("D_808A8060","UNK_TYPE1","",0x1), - 0x808A8070:("enRiverSoundOverlayInfo","OverlayRelocationSection","",0x14), - 0x808A8084:("enRiverSoundOverlayRelocations","u32","[5]",0x14), - 0x808A809C:("enRiverSoundOverlayInfoOffset","u32","",0x4), 0x808AC010:("En_Ossan_InitVars","UNK_TYPE1","",0x1), 0x808AC030:("sAnimationsCuriosityShopMan","UNK_TYPE1","",0x1), 0x808AC100:("sAnimationsPartTimeWorker","UNK_TYPE1","",0x1), @@ -6784,10 +6662,7 @@ 0x808AC35C:("D_808AC35C","f32","",0x4), 0x808AC360:("D_808AC360","f32","",0x4), 0x808AC364:("D_808AC364","f32","",0x4), - 0x808AC368:("jtbl_D_808AC368","UNK_PTR","",0x4), - 0x808AC3F0:("enOssanOverlayInfo","OverlayRelocationSection","",0x14), - 0x808AC404:("enOssanOverlayRelocations","u32","[324]",0x510), - 0x808AC91C:("enOssanOverlayInfoOffset","u32","",0x4), + 0x808AC368:("jtbl_808AC368","UNK_PTR","",0x4), 0x808AE5E0:("En_Famos_InitVars","UNK_TYPE1","",0x1), 0x808AE600:("D_808AE600","UNK_TYPE1","",0x1), 0x808AE62C:("D_808AE62C","UNK_TYPE1","",0x1), @@ -6801,9 +6676,6 @@ 0x808AE6D8:("D_808AE6D8","f32","",0x4), 0x808AE6DC:("D_808AE6DC","f32","",0x4), 0x808AE6E0:("D_808AE6E0","f32","",0x4), - 0x808AE6F0:("enFamosOverlayInfo","OverlayRelocationSection","",0x14), - 0x808AE704:("enFamosOverlayRelocations","u32","[110]",0x1b8), - 0x808AE8BC:("enFamosOverlayInfoOffset","u32","",0x4), 0x808AFB00:("En_Bombf_InitVars","UNK_TYPE1","",0x1), 0x808AFB20:("D_808AFB20","UNK_TYPE1","",0x1), 0x808AFB4C:("D_808AFB4C","UNK_TYPE1","",0x1), @@ -6820,9 +6692,6 @@ 0x808AFBD0:("D_808AFBD0","f32","",0x4), 0x808AFBD4:("D_808AFBD4","f32","",0x4), 0x808AFBD8:("D_808AFBD8","f32","",0x4), - 0x808AFBE0:("enBombfOverlayInfo","OverlayRelocationSection","",0x14), - 0x808AFBF4:("enBombfOverlayRelocations","u32","[51]",0xcc), - 0x808AFCCC:("enBombfOverlayInfoOffset","u32","",0x4), 0x808B1050:("En_Am_InitVars","UNK_TYPE1","",0x1), 0x808B1070:("D_808B1070","UNK_TYPE1","",0x1), 0x808B109C:("D_808B109C","UNK_TYPE1","",0x1), @@ -6841,9 +6710,6 @@ 0x808B11B0:("D_808B11B0","f32","",0x4), 0x808B11B4:("D_808B11B4","f32","",0x4), 0x808B11B8:("D_808B11B8","f32","",0x4), - 0x808B11C0:("enAmOverlayInfo","OverlayRelocationSection","",0x14), - 0x808B11D4:("enAmOverlayRelocations","u32","[86]",0x158), - 0x808B132C:("enAmOverlayInfoOffset","u32","",0x4), 0x808B4D40:("En_Dekubaba_InitVars","UNK_TYPE1","",0x1), 0x808B4D60:("D_808B4D60","UNK_TYPE1","",0x1), 0x808B4E5C:("D_808B4E5C","UNK_TYPE1","",0x1), @@ -6878,14 +6744,8 @@ 0x808B4F08:("D_808B4F08","f32","",0x4), 0x808B4F0C:("D_808B4F0C","f32","",0x4), 0x808B4F10:("D_808B4F10","f32","",0x4), - 0x808B4F20:("enDekubabaOverlayInfo","OverlayRelocationSection","",0x14), - 0x808B4F34:("enDekubabaOverlayRelocations","u32","[187]",0x2ec), - 0x808B522C:("enDekubabaOverlayInfoOffset","u32","",0x4), 0x808B5340:("En_M_Fire1_InitVars","UNK_TYPE1","",0x1), 0x808B5360:("D_808B5360","UNK_TYPE1","",0x1), - 0x808B5390:("enMFire1OverlayInfo","OverlayRelocationSection","",0x14), - 0x808B53A4:("enMFire1OverlayRelocations","u32","[5]",0x14), - 0x808B53BC:("enMFire1OverlayInfoOffset","u32","",0x4), 0x808B7100:("En_M_Thunder_InitVars","UNK_TYPE1","",0x1), 0x808B7120:("D_808B7120","UNK_TYPE1","",0x1), 0x808B714C:("D_808B714C","UNK_TYPE1","",0x1), @@ -6915,9 +6775,6 @@ 0x808B71D0:("D_808B71D0","f32","",0x4), 0x808B71D4:("D_808B71D4","f32","",0x4), 0x808B71D8:("D_808B71D8","f32","",0x4), - 0x808B71E0:("enMThunderOverlayInfo","OverlayRelocationSection","",0x14), - 0x808B71F4:("enMThunderOverlayRelocations","u32","[89]",0x164), - 0x808B735C:("enMThunderOverlayInfoOffset","u32","",0x4), 0x808B8120:("Bg_Breakwall_InitVars","UNK_TYPE1","",0x1), 0x808B8140:("D_808B8140","UNK_TYPE1","",0x1), 0x808B82E0:("D_808B82E0","UNK_TYPE1","",0x1), @@ -6930,9 +6787,6 @@ 0x808B8350:("D_808B8350","f32","",0x4), 0x808B8354:("D_808B8354","f32","",0x4), 0x808B8358:("D_808B8358","f32","",0x4), - 0x808B8360:("bgBreakwallOverlayInfo","OverlayRelocationSection","",0x14), - 0x808B8374:("bgBreakwallOverlayRelocations","u32","[70]",0x118), - 0x808B848C:("bgBreakwallOverlayInfoOffset","u32","",0x4), 0x808BBB20:("Door_Warp1_InitVars","UNK_TYPE1","",0x1), 0x808BBB40:("D_808BBB40","UNK_TYPE1","",0x1), 0x808BBB50:("D_808BBB50","UNK_TYPE4","",0x4), @@ -6940,8 +6794,8 @@ 0x808BBB64:("D_808BBB64","f32","",0x4), 0x808BBB68:("D_808BBB68","UNK_TYPE1","",0x1), 0x808BBB6C:("D_808BBB6C","f32","",0x4), - 0x808BBB80:("jtbl_D_808BBB80","UNK_PTR","",0x4), - 0x808BBB98:("jtbl_D_808BBB98","UNK_PTR","",0x4), + 0x808BBB80:("jtbl_808BBB80","UNK_PTR","",0x4), + 0x808BBB98:("jtbl_808BBB98","UNK_PTR","",0x4), 0x808BBBB4:("D_808BBBB4","f32","",0x4), 0x808BBBB8:("D_808BBBB8","f32","",0x4), 0x808BBBBC:("D_808BBBBC","f32","",0x4), @@ -6959,7 +6813,7 @@ 0x808BBBEC:("D_808BBBEC","f32","",0x4), 0x808BBBF0:("D_808BBBF0","f32","",0x4), 0x808BBBF4:("D_808BBBF4","f32","",0x4), - 0x808BBBF8:("jtbl_D_808BBBF8","UNK_PTR","",0x4), + 0x808BBBF8:("jtbl_808BBBF8","UNK_PTR","",0x4), 0x808BBC0C:("D_808BBC0C","f32","",0x4), 0x808BBC10:("D_808BBC10","f32","",0x4), 0x808BBC14:("D_808BBC14","f32","",0x4), @@ -6969,11 +6823,8 @@ 0x808BBC24:("D_808BBC24","f32","",0x4), 0x808BBC28:("D_808BBC28","f32","",0x4), 0x808BBC2C:("D_808BBC2C","f32","",0x4), - 0x808BBC30:("jtbl_D_808BBC30","UNK_PTR","",0x4), + 0x808BBC30:("jtbl_808BBC30","UNK_PTR","",0x4), 0x808BBC4C:("D_808BBC4C","f32","",0x4), - 0x808BBC50:("doorWarp1OverlayInfo","OverlayRelocationSection","",0x14), - 0x808BBC64:("doorWarp1OverlayRelocations","u32","[228]",0x390), - 0x808BBFFC:("doorWarp1OverlayInfoOffset","u32","",0x4), 0x808BC000:("D_808BC000","UNK_TYPE1","",0x1), 0x808BC004:("D_808BC004","UNK_TYPE1","",0x1), 0x808BCCA0:("Obj_Syokudai_InitVars","UNK_TYPE1","",0x1), @@ -6984,16 +6835,10 @@ 0x808BCD2C:("D_808BCD2C","UNK_TYPE1","",0x1), 0x808BCD40:("D_808BCD40","f32","",0x4), 0x808BCD44:("D_808BCD44","f32","",0x4), - 0x808BCD50:("objSyokudaiOverlayInfo","OverlayRelocationSection","",0x14), - 0x808BCD64:("objSyokudaiOverlayRelocations","u32","[28]",0x70), - 0x808BCDDC:("objSyokudaiOverlayInfoOffset","u32","",0x4), 0x808BCDE0:("D_808BCDE0","UNK_TYPE1","",0x1), 0x808BD160:("Item_B_Heart_InitVars","UNK_TYPE1","",0x1), 0x808BD180:("D_808BD180","UNK_TYPE1","",0x1), 0x808BD190:("D_808BD190","f32","",0x4), - 0x808BD1A0:("itemBHeartOverlayInfo","OverlayRelocationSection","",0x14), - 0x808BD1B4:("itemBHeartOverlayRelocations","u32","[9]",0x24), - 0x808BD1DC:("itemBHeartOverlayInfoOffset","u32","",0x4), 0x808BEF10:("En_Dekunuts_InitVars","UNK_TYPE1","",0x1), 0x808BEF30:("D_808BEF30","UNK_TYPE1","",0x1), 0x808BEF5C:("D_808BEF5C","UNK_TYPE1","",0x1), @@ -7019,9 +6864,6 @@ 0x808BF010:("D_808BF010","f32","",0x4), 0x808BF014:("D_808BF014","f32","",0x4), 0x808BF018:("D_808BF018","f32","",0x4), - 0x808BF020:("enDekunutsOverlayInfo","OverlayRelocationSection","",0x14), - 0x808BF034:("enDekunutsOverlayRelocations","u32","[120]",0x1e0), - 0x808BF21C:("enDekunutsOverlayInfoOffset","u32","",0x4), 0x808C0D10:("En_Bbfall_InitVars","UNK_TYPE1","",0x1), 0x808C0D30:("D_808C0D30","UNK_TYPE1","",0x1), 0x808C0D9C:("D_808C0D9C","UNK_TYPE1","",0x1), @@ -7049,9 +6891,6 @@ 0x808C0E38:("D_808C0E38","f32","",0x4), 0x808C0E3C:("D_808C0E3C","f32","",0x4), 0x808C0E40:("D_808C0E40","f32","",0x4), - 0x808C0E50:("enBbfallOverlayInfo","OverlayRelocationSection","",0x14), - 0x808C0E64:("enBbfallOverlayRelocations","u32","[114]",0x1c8), - 0x808C102C:("enBbfallOverlayInfoOffset","u32","",0x4), 0x808C1BA0:("Arms_Hook_InitVars","UNK_TYPE1","",0x1), 0x808C1BC0:("D_808C1BC0","UNK_TYPE1","",0x1), 0x808C1C10:("D_808C1C10","UNK_TYPE1","",0x1), @@ -7063,9 +6902,6 @@ 0x808C1C60:("D_808C1C60","f32","",0x4), 0x808C1C64:("D_808C1C64","f32","",0x4), 0x808C1C68:("D_808C1C68","f32","",0x4), - 0x808C1C70:("armsHookOverlayInfo","OverlayRelocationSection","",0x14), - 0x808C1C84:("armsHookOverlayRelocations","u32","[45]",0xb4), - 0x808C1D3C:("armsHookOverlayInfoOffset","u32","",0x4), 0x808C3780:("En_Bb_InitVars","UNK_TYPE1","",0x1), 0x808C37A0:("D_808C37A0","UNK_TYPE1","",0x1), 0x808C37CC:("D_808C37CC","UNK_TYPE1","",0x1), @@ -7092,14 +6928,8 @@ 0x808C3858:("D_808C3858","f32","",0x4), 0x808C385C:("D_808C385C","f32","",0x4), 0x808C3860:("D_808C3860","f32","",0x4), - 0x808C3870:("enBbOverlayInfo","OverlayRelocationSection","",0x14), - 0x808C3884:("enBbOverlayRelocations","u32","[114]",0x1c8), - 0x808C3A4C:("enBbOverlayInfoOffset","u32","",0x4), 0x808C3BA0:("Bg_Keikoku_Spr_InitVars","UNK_TYPE1","",0x1), 0x808C3BC0:("D_808C3BC0","UNK_TYPE1","",0x1), - 0x808C3BD0:("bgKeikokuSprOverlayInfo","OverlayRelocationSection","",0x14), - 0x808C3BE4:("bgKeikokuSprOverlayRelocations","u32","[6]",0x18), - 0x808C3BFC:("bgKeikokuSprOverlayInfoOffset","u32","",0x4), 0x808C4CE0:("En_Wood02_InitVars","UNK_TYPE1","",0x1), 0x808C4D00:("D_808C4D00","UNK_TYPE1","",0x1), 0x808C4D2C:("D_808C4D2C","UNK_TYPE1","",0x1), @@ -7108,14 +6938,11 @@ 0x808C4D50:("D_808C4D50","UNK_TYPE1","",0x1), 0x808C4D54:("D_808C4D54","UNK_TYPE1","",0x1), 0x808C4D70:("D_808C4D70","UNK_TYPE1","",0x1), - 0x808C4DA0:("jtbl_D_808C4DA0","UNK_PTR","",0x4), + 0x808C4DA0:("jtbl_808C4DA0","UNK_PTR","",0x4), 0x808C4E0C:("D_808C4E0C","f32","",0x4), 0x808C4E10:("D_808C4E10","f32","",0x4), 0x808C4E14:("D_808C4E14","f32","",0x4), 0x808C4E18:("D_808C4E18","UNK_TYPE1","",0x1), - 0x808C4E20:("enWood02OverlayInfo","OverlayRelocationSection","",0x14), - 0x808C4E34:("enWood02OverlayRelocations","u32","[78]",0x138), - 0x808C4F6C:("enWood02OverlayInfoOffset","u32","",0x4), 0x808C4F70:("D_808C4F70","f32","",0x4), 0x808C4F74:("D_808C4F74","UNK_TYPE1","",0x1), 0x808C98C0:("En_Death_InitVars","UNK_TYPE1","",0x1), @@ -7185,9 +7012,6 @@ 0x808C9C00:("D_808C9C00","f32","",0x4), 0x808C9C04:("D_808C9C04","f32","",0x4), 0x808C9C08:("D_808C9C08","f32","",0x4), - 0x808C9C10:("enDeathOverlayInfo","OverlayRelocationSection","",0x14), - 0x808C9C24:("enDeathOverlayRelocations","u32","[289]",0x484), - 0x808CA0AC:("enDeathOverlayInfoOffset","u32","",0x4), 0x808CBF30:("En_Minideath_InitVars","UNK_TYPE1","",0x1), 0x808CBF50:("D_808CBF50","UNK_TYPE1","",0x1), 0x808CBFBC:("D_808CBFBC","UNK_TYPE1","",0x1), @@ -7196,9 +7020,6 @@ 0x808CBFF4:("D_808CBFF4","UNK_TYPE1","",0x1), 0x808CC000:("D_808CC000","f32","",0x4), 0x808CC004:("D_808CC004","f32","",0x4), - 0x808CC010:("enMinideathOverlayInfo","OverlayRelocationSection","",0x14), - 0x808CC024:("enMinideathOverlayRelocations","u32","[135]",0x21c), - 0x808CC24C:("enMinideathOverlayInfoOffset","u32","",0x4), 0x808CC250:("D_808CC250","UNK_TYPE1","",0x1), 0x808CC254:("D_808CC254","UNK_TYPE1","",0x1), 0x808CC258:("D_808CC258","UNK_TYPE1","",0x1), @@ -7222,15 +7043,12 @@ 0x808CD5E0:("D_808CD5E0","f32","",0x4), 0x808CD5E4:("D_808CD5E4","f32","",0x4), 0x808CD5E8:("D_808CD5E8","f32","",0x4), - 0x808CD5F0:("enVmOverlayInfo","OverlayRelocationSection","",0x14), - 0x808CD604:("enVmOverlayRelocations","u32","[76]",0x130), - 0x808CD73C:("enVmOverlayInfoOffset","u32","",0x4), 0x808CE290:("Demo_Effect_InitVars","UNK_TYPE1","",0x1), 0x808CE2B0:("D_808CE2B0","UNK_TYPE4","",0x4), 0x808CE2C0:("D_808CE2C0","UNK_TYPE1","",0x1), 0x808CE2D4:("D_808CE2D4","UNK_TYPE1","",0x1), 0x808CE2D5:("D_808CE2D5","UNK_TYPE1","",0x1), - 0x808CE2F0:("jtbl_D_808CE2F0","UNK_PTR","",0x4), + 0x808CE2F0:("jtbl_808CE2F0","UNK_PTR","",0x4), 0x808CE314:("D_808CE314","f32","",0x4), 0x808CE318:("D_808CE318","f32","",0x4), 0x808CE31C:("D_808CE31C","f32","",0x4), @@ -7240,12 +7058,10 @@ 0x808CE32C:("D_808CE32C","f32","",0x4), 0x808CE330:("D_808CE330","f32","",0x4), 0x808CE334:("D_808CE334","f32","",0x4), - 0x808CE340:("demoEffectOverlayInfo","OverlayRelocationSection","",0x14), - 0x808CE354:("demoEffectOverlayRelocations","u32","[60]",0xf0), - 0x808CE44C:("demoEffectOverlayInfoOffset","u32","",0x4), 0x808D03C0:("D_808D03C0","UNK_TYPE1","",0x1), 0x808D03C4:("D_808D03C4","UNK_TYPE2","",0x2), 0x808D03C8:("Demo_Kankyo_InitVars","UNK_TYPE1","",0x1), + 0x808D03E8:("D_808D03E8","UNK_TYPE2","",0x2), 0x808D03EA:("D_808D03EA","UNK_TYPE2","",0x2), 0x808D03F0:("D_808D03F0","f32","",0x4), 0x808D03F4:("D_808D03F4","f32","",0x4), @@ -7290,9 +7106,6 @@ 0x808D0490:("D_808D0490","f32","",0x4), 0x808D0494:("D_808D0494","f32","",0x4), 0x808D0498:("D_808D0498","f32","",0x4), - 0x808D04A0:("demoKankyoOverlayInfo","OverlayRelocationSection","",0x14), - 0x808D04B4:("demoKankyoOverlayRelocations","u32","[112]",0x1c0), - 0x808D067C:("demoKankyoOverlayInfoOffset","u32","",0x4), 0x808D3880:("En_Floormas_InitVars","UNK_TYPE1","",0x1), 0x808D38A0:("D_808D38A0","UNK_TYPE1","",0x1), 0x808D38CC:("D_808D38CC","UNK_TYPE1","",0x1), @@ -7337,9 +7150,6 @@ 0x808D39D8:("D_808D39D8","f32","",0x4), 0x808D39DC:("D_808D39DC","f32","",0x4), 0x808D39E0:("D_808D39E0","f32","",0x4), - 0x808D39F0:("enFloormasOverlayInfo","OverlayRelocationSection","",0x14), - 0x808D3A04:("enFloormasOverlayRelocations","u32","[259]",0x40c), - 0x808D3E1C:("enFloormasOverlayInfoOffset","u32","",0x4), 0x808D70C0:("En_Rd_InitVars","UNK_TYPE1","",0x1), 0x808D70E0:("D_808D70E0","UNK_TYPE1","",0x1), 0x808D710C:("D_808D710C","UNK_TYPE1","",0x1), @@ -7350,17 +7160,14 @@ 0x808D7158:("D_808D7158","f32","",0x4), 0x808D715C:("D_808D715C","f32","",0x4), 0x808D7160:("D_808D7160","f32","",0x4), - 0x808D7164:("jtbl_D_808D7164","UNK_PTR","",0x4), - 0x808D7178:("jtbl_D_808D7178","UNK_PTR","",0x4), + 0x808D7164:("jtbl_808D7164","UNK_PTR","",0x4), + 0x808D7178:("jtbl_808D7178","UNK_PTR","",0x4), 0x808D718C:("D_808D718C","f32","",0x4), 0x808D7190:("D_808D7190","f32","",0x4), 0x808D7194:("D_808D7194","f32","",0x4), 0x808D7198:("D_808D7198","f32","",0x4), - 0x808D719C:("jtbl_D_808D719C","UNK_PTR","",0x4), + 0x808D719C:("jtbl_808D719C","UNK_PTR","",0x4), 0x808D71D8:("D_808D71D8","f32","",0x4), - 0x808D71E0:("enRdOverlayInfo","OverlayRelocationSection","",0x14), - 0x808D71F4:("enRdOverlayRelocations","u32","[212]",0x350), - 0x808D754C:("enRdOverlayInfoOffset","u32","",0x4), 0x808D7810:("Bg_F40_Flift_InitVars","UNK_TYPE1","",0x1), 0x808D7830:("D_808D7830","UNK_TYPE1","",0x1), 0x808D7840:("D_808D7840","f32","",0x4), @@ -7368,14 +7175,8 @@ 0x808D7848:("D_808D7848","f32","",0x4), 0x808D784C:("D_808D784C","f32","",0x4), 0x808D7850:("D_808D7850","f32","",0x4), - 0x808D7860:("bgF40FliftOverlayInfo","OverlayRelocationSection","",0x14), - 0x808D7874:("bgF40FliftOverlayRelocations","u32","[22]",0x58), - 0x808D78CC:("bgF40FliftOverlayInfoOffset","u32","",0x4), 0x808D8760:("Obj_Mure_InitVars","UNK_TYPE1","",0x1), 0x808D8780:("D_808D8780","UNK_TYPE1","",0x1), - 0x808D8800:("objMureOverlayInfo","OverlayRelocationSection","",0x14), - 0x808D8814:("objMureOverlayRelocations","u32","[71]",0x11c), - 0x808D893C:("objMureOverlayInfoOffset","u32","",0x4), 0x808DB9C0:("En_Sw_InitVars","UNK_TYPE1","",0x1), 0x808DB9E0:("D_808DB9E0","UNK_TYPE1","",0x1), 0x808DBA0C:("D_808DBA0C","UNK_PTR","",0x4), @@ -7407,13 +7208,10 @@ 0x808DBB08:("D_808DBB08","f32","",0x4), 0x808DBB0C:("D_808DBB0C","f32","",0x4), 0x808DBB10:("D_808DBB10","f32","",0x4), - 0x808DBB14:("jtbl_D_808DBB14","UNK_PTR","",0x4), - 0x808DBB80:("enSwOverlayInfo","OverlayRelocationSection","",0x14), - 0x808DBB94:("enSwOverlayRelocations","u32","[184]",0x2e0), - 0x808DBE7C:("enSwOverlayInfoOffset","u32","",0x4), + 0x808DBB14:("jtbl_808DBB14","UNK_PTR","",0x4), 0x808DE320:("Object_Kankyo_InitVars","UNK_TYPE1","",0x1), 0x808DE340:("D_808DE340","UNK_TYPE2","",0x2), - 0x808DE350:("jtbl_D_808DE350","UNK_PTR","",0x4), + 0x808DE350:("jtbl_808DE350","UNK_PTR","",0x4), 0x808DE364:("D_808DE364","f32","",0x4), 0x808DE368:("D_808DE368","f32","",0x4), 0x808DE36C:("D_808DE36C","f32","",0x4), @@ -7431,7 +7229,7 @@ 0x808DE39C:("D_808DE39C","f32","",0x4), 0x808DE3A0:("D_808DE3A0","f32","",0x4), 0x808DE3A4:("D_808DE3A4","f32","",0x4), - 0x808DE3A8:("jtbl_D_808DE3A8","UNK_PTR","",0x4), + 0x808DE3A8:("jtbl_808DE3A8","UNK_PTR","",0x4), 0x808DE3BC:("D_808DE3BC","f32","",0x4), 0x808DE3C0:("D_808DE3C0","f32","",0x4), 0x808DE3C4:("D_808DE3C4","f32","",0x4), @@ -7443,9 +7241,6 @@ 0x808DE3DC:("D_808DE3DC","f32","",0x4), 0x808DE3E0:("D_808DE3E0","f32","",0x4), 0x808DE3E4:("D_808DE3E4","f32","",0x4), - 0x808DE3F0:("objectKankyoOverlayInfo","OverlayRelocationSection","",0x14), - 0x808DE404:("objectKankyoOverlayRelocations","u32","[105]",0x1a4), - 0x808DE5AC:("objectKankyoOverlayInfoOffset","u32","",0x4), 0x808DE5B0:("D_808DE5B0","UNK_TYPE1","",0x1), 0x808DFEA0:("En_Horse_Link_Child_InitVars","UNK_TYPE1","",0x1), 0x808DFEC0:("D_808DFEC0","UNK_TYPE4","",0x4), @@ -7463,29 +7258,17 @@ 0x808DFF64:("D_808DFF64","f32","",0x4), 0x808DFF68:("D_808DFF68","f32","",0x4), 0x808DFF6C:("D_808DFF6C","f32","",0x4), - 0x808DFF70:("enHorseLinkChildOverlayInfo","OverlayRelocationSection","",0x14), - 0x808DFF84:("enHorseLinkChildOverlayRelocations","u32","[133]",0x214), - 0x808E019C:("enHorseLinkChildOverlayInfoOffset","u32","",0x4), 0x808E0740:("Door_Ana_InitVars","UNK_TYPE1","",0x1), 0x808E0760:("D_808E0760","UNK_TYPE1","",0x1), 0x808E078C:("D_808E078C","UNK_TYPE1","",0x1), 0x808E07B0:("D_808E07B0","f32","",0x4), - 0x808E07C0:("doorAnaOverlayInfo","OverlayRelocationSection","",0x14), - 0x808E07D4:("doorAnaOverlayRelocations","u32","[22]",0x58), - 0x808E082C:("doorAnaOverlayInfoOffset","u32","",0x4), 0x808E0DD0:("En_Encount1_InitVars","UNK_TYPE1","",0x1), 0x808E0DF0:("D_808E0DF0","UNK_TYPE1","",0x1), 0x808E0DF8:("D_808E0DF8","UNK_TYPE1","",0x1), - 0x808E0E00:("enEncount1OverlayInfo","OverlayRelocationSection","",0x14), - 0x808E0E14:("enEncount1OverlayRelocations","u32","[8]",0x20), - 0x808E0E3C:("enEncount1OverlayInfoOffset","u32","",0x4), 0x808E1490:("D_808E1490","UNK_TYPE1","",0x1), 0x808E14B0:("Demo_Tre_Lgt_InitVars","UNK_TYPE1","",0x1), 0x808E14D0:("D_808E14D0","UNK_TYPE4","",0x4), 0x808E14D8:("D_808E14D8","UNK_TYPE1","",0x1), - 0x808E14E0:("demoTreLgtOverlayInfo","OverlayRelocationSection","",0x14), - 0x808E14F4:("demoTreLgtOverlayRelocations","u32","[24]",0x60), - 0x808E155C:("demoTreLgtOverlayInfoOffset","u32","",0x4), 0x808E1ED0:("En_Encount2_InitVars","UNK_TYPE1","",0x1), 0x808E1EF0:("D_808E1EF0","UNK_TYPE1","",0x1), 0x808E1F14:("D_808E1F14","UNK_TYPE1","",0x1), @@ -7493,22 +7276,13 @@ 0x808E1F50:("D_808E1F50","f32","",0x4), 0x808E1F54:("D_808E1F54","f32","",0x4), 0x808E1F58:("D_808E1F58","f32","",0x4), - 0x808E1F60:("enEncount2OverlayInfo","OverlayRelocationSection","",0x14), - 0x808E1F74:("enEncount2OverlayRelocations","u32","[25]",0x64), - 0x808E1FDC:("enEncount2OverlayInfoOffset","u32","",0x4), 0x808E2020:("En_Fire_Rock_InitVars","UNK_TYPE1","",0x1), - 0x808E2040:("enFireRockOverlayInfo","OverlayRelocationSection","",0x14), - 0x808E2054:("enFireRockOverlayRelocations","u32","[4]",0x10), - 0x808E206C:("enFireRockOverlayInfoOffset","u32","",0x4), 0x808E2540:("Bg_Ctower_Rot_InitVars","UNK_TYPE1","",0x1), 0x808E2560:("D_808E2560","UNK_TYPE1","",0x1), 0x808E2564:("D_808E2564","UNK_TYPE1","",0x1), 0x808E2570:("D_808E2570","f32","",0x4), 0x808E2574:("D_808E2574","f32","",0x4), 0x808E2578:("D_808E2578","f32","",0x4), - 0x808E2580:("bgCtowerRotOverlayInfo","OverlayRelocationSection","",0x14), - 0x808E2594:("bgCtowerRotOverlayRelocations","u32","[26]",0x68), - 0x808E25FC:("bgCtowerRotOverlayInfoOffset","u32","",0x4), 0x808E3BD0:("Mir_Ray_InitVars","UNK_TYPE1","",0x1), 0x808E3BF0:("D_808E3BF0","UNK_TYPE1","",0x1), 0x808E3BF4:("D_808E3BF4","UNK_TYPE1","",0x1), @@ -7527,9 +7301,6 @@ 0x808E3DF4:("D_808E3DF4","f32","",0x4), 0x808E3DF8:("D_808E3DF8","f32","",0x4), 0x808E3DFC:("D_808E3DFC","f32","",0x4), - 0x808E3E00:("mirRayOverlayInfo","OverlayRelocationSection","",0x14), - 0x808E3E14:("mirRayOverlayRelocations","u32","[54]",0xd8), - 0x808E3EEC:("mirRayOverlayInfoOffset","u32","",0x4), 0x808E4DF0:("En_Sb_InitVars","UNK_TYPE1","",0x1), 0x808E4E10:("D_808E4E10","UNK_TYPE1","",0x1), 0x808E4E3C:("D_808E4E3C","UNK_TYPE1","",0x1), @@ -7541,9 +7312,6 @@ 0x808E4EAC:("D_808E4EAC","f32","",0x4), 0x808E4EB0:("D_808E4EB0","f32","",0x4), 0x808E4EB4:("D_808E4EB4","f32","",0x4), - 0x808E4EC0:("enSbOverlayInfo","OverlayRelocationSection","",0x14), - 0x808E4ED4:("enSbOverlayRelocations","u32","[55]",0xdc), - 0x808E4FBC:("enSbOverlayInfoOffset","u32","",0x4), 0x808ED640:("D_808ED640","UNK_TYPE2","",0x2), 0x808ED642:("D_808ED642","UNK_TYPE2","",0x2), 0x808ED644:("D_808ED644","UNK_TYPE2","",0x2), @@ -7705,9 +7473,6 @@ 0x808F0668:("D_808F0668","f32","",0x4), 0x808F066C:("D_808F066C","f32","",0x4), 0x808F0670:("D_808F0670","f32","",0x4), - 0x808F0680:("enBigslimeOverlayInfo","OverlayRelocationSection","",0x14), - 0x808F0694:("enBigslimeOverlayRelocations","u32","[727]",0xb5c), - 0x808F11FC:("enBigslimeOverlayInfoOffset","u32","",0x4), 0x808F2D80:("En_Karebaba_InitVars","UNK_TYPE1","",0x1), 0x808F2DA0:("D_808F2DA0","UNK_TYPE1","",0x1), 0x808F2DCC:("D_808F2DCC","UNK_TYPE1","",0x1), @@ -7731,9 +7496,6 @@ 0x808F2E6C:("D_808F2E6C","f32","",0x4), 0x808F2E70:("D_808F2E70","f32","",0x4), 0x808F2E74:("D_808F2E74","f32","",0x4), - 0x808F2E80:("enKarebabaOverlayInfo","OverlayRelocationSection","",0x14), - 0x808F2E94:("enKarebabaOverlayRelocations","u32","[132]",0x210), - 0x808F30AC:("enKarebabaOverlayInfoOffset","u32","",0x4), 0x808F6A40:("En_In_InitVars","UNK_TYPE1","",0x1), 0x808F6A60:("D_808F6A60","UNK_TYPE1","",0x1), 0x808F6A8C:("D_808F6A8C","UNK_TYPE1","",0x1), @@ -7749,24 +7511,21 @@ 0x808F6CB4:("D_808F6CB4","UNK_TYPE4","",0x4), 0x808F6CC0:("D_808F6CC0","UNK_TYPE4","",0x4), 0x808F6CD0:("D_808F6CD0","f32","",0x4), - 0x808F6CD4:("jtbl_D_808F6CD4","UNK_PTR","",0x4), - 0x808F6CF4:("jtbl_D_808F6CF4","UNK_PTR","",0x4), - 0x808F6D14:("jtbl_D_808F6D14","UNK_PTR","",0x4), - 0x808F6D38:("jtbl_D_808F6D38","UNK_PTR","",0x4), - 0x808F6D58:("jtbl_D_808F6D58","UNK_PTR","",0x4), - 0x808F6D84:("jtbl_D_808F6D84","UNK_PTR","",0x4), - 0x808F6DAC:("jtbl_D_808F6DAC","UNK_PTR","",0x4), - 0x808F6E04:("jtbl_D_808F6E04","UNK_PTR","",0x4), - 0x808F6E68:("jtbl_D_808F6E68","UNK_PTR","",0x4), - 0x808F6E88:("jtbl_D_808F6E88","UNK_PTR","",0x4), - 0x808F6EA4:("jtbl_D_808F6EA4","UNK_PTR","",0x4), + 0x808F6CD4:("jtbl_808F6CD4","UNK_PTR","",0x4), + 0x808F6CF4:("jtbl_808F6CF4","UNK_PTR","",0x4), + 0x808F6D14:("jtbl_808F6D14","UNK_PTR","",0x4), + 0x808F6D38:("jtbl_808F6D38","UNK_PTR","",0x4), + 0x808F6D58:("jtbl_808F6D58","UNK_PTR","",0x4), + 0x808F6D84:("jtbl_808F6D84","UNK_PTR","",0x4), + 0x808F6DAC:("jtbl_808F6DAC","UNK_PTR","",0x4), + 0x808F6E04:("jtbl_808F6E04","UNK_PTR","",0x4), + 0x808F6E68:("jtbl_808F6E68","UNK_PTR","",0x4), + 0x808F6E88:("jtbl_808F6E88","UNK_PTR","",0x4), + 0x808F6EA4:("jtbl_808F6EA4","UNK_PTR","",0x4), 0x808F6EF4:("D_808F6EF4","f32","",0x4), 0x808F6EF8:("D_808F6EF8","f32","",0x4), 0x808F6EFC:("D_808F6EFC","f32","",0x4), 0x808F6F00:("D_808F6F00","f32","",0x4), - 0x808F6F10:("enInOverlayInfo","OverlayRelocationSection","",0x14), - 0x808F6F24:("enInOverlayRelocations","u32","[353]",0x584), - 0x808F74AC:("enInOverlayInfoOffset","u32","",0x4), 0x808F88C0:("En_Bom_Chu_InitVars","UNK_TYPE1","",0x1), 0x808F88E0:("D_808F88E0","UNK_TYPE1","",0x1), 0x808F8908:("D_808F8908","UNK_TYPE2","",0x2), @@ -7779,9 +7538,6 @@ 0x808F8968:("D_808F8968","f32","",0x4), 0x808F896C:("D_808F896C","f32","",0x4), 0x808F8970:("D_808F8970","f32","",0x4), - 0x808F8980:("enBomChuOverlayInfo","OverlayRelocationSection","",0x14), - 0x808F8994:("enBomChuOverlayRelocations","u32","[64]",0x100), - 0x808F8A9C:("enBomChuOverlayInfoOffset","u32","",0x4), 0x808F9B00:("En_Horse_Game_Check_InitVars","UNK_TYPE1","",0x1), 0x808F9B20:("D_808F9B20","UNK_TYPE1","",0x1), 0x808F9B28:("D_808F9B28","UNK_TYPE1","",0x1), @@ -7802,9 +7558,6 @@ 0x808F9CAC:("D_808F9CAC","char","[]",0x1c), 0x808F9CC8:("D_808F9CC8","f32","",0x4), 0x808F9CCC:("D_808F9CCC","f32","",0x4), - 0x808F9CD0:("enHorseGameCheckOverlayInfo","OverlayRelocationSection","",0x14), - 0x808F9CE4:("enHorseGameCheckOverlayRelocations","u32","[69]",0x114), - 0x808F9DFC:("enHorseGameCheckOverlayInfoOffset","u32","",0x4), 0x808FC130:("En_Rr_InitVars","UNK_TYPE1","",0x1), 0x808FC150:("D_808FC150","UNK_TYPE1","",0x1), 0x808FC17C:("D_808FC17C","UNK_TYPE1","",0x1), @@ -7833,7 +7586,7 @@ 0x808FC254:("D_808FC254","f32","",0x4), 0x808FC258:("D_808FC258","f32","",0x4), 0x808FC25C:("D_808FC25C","f32","",0x4), - 0x808FC260:("jtbl_D_808FC260","UNK_PTR","",0x4), + 0x808FC260:("jtbl_808FC260","UNK_PTR","",0x4), 0x808FC274:("D_808FC274","f32","",0x4), 0x808FC278:("D_808FC278","f32","",0x4), 0x808FC27C:("D_808FC27C","f32","",0x4), @@ -7849,13 +7602,7 @@ 0x808FC2A4:("D_808FC2A4","f32","",0x4), 0x808FC2A8:("D_808FC2A8","f32","",0x4), 0x808FC2AC:("D_808FC2AC","f32","",0x4), - 0x808FC2B0:("enRrOverlayInfo","OverlayRelocationSection","",0x14), - 0x808FC2C4:("enRrOverlayRelocations","u32","[161]",0x284), - 0x808FC54C:("enRrOverlayInfoOffset","u32","",0x4), 0x808FC670:("En_Fr_InitVars","UNK_TYPE1","",0x1), - 0x808FC690:("enFrOverlayInfo","OverlayRelocationSection","",0x14), - 0x808FC6A4:("enFrOverlayRelocations","u32","[3]",0xc), - 0x808FC6BC:("enFrOverlayInfoOffset","u32","",0x4), 0x8090CCB0:("En_Fishing_InitVars","UNK_TYPE1","",0x1), 0x8090CCD0:("D_8090CCD0","f32","",0x4), 0x8090CCD4:("D_8090CCD4","UNK_TYPE1","",0x1), @@ -7999,7 +7746,7 @@ 0x8090D7B8:("D_8090D7B8","f32","",0x4), 0x8090D7BC:("D_8090D7BC","f32","",0x4), 0x8090D7C0:("D_8090D7C0","f32","",0x4), - 0x8090D7C4:("jtbl_D_8090D7C4","UNK_PTR","",0x4), + 0x8090D7C4:("jtbl_8090D7C4","UNK_PTR","",0x4), 0x8090D7DC:("D_8090D7DC","f32","",0x4), 0x8090D7E0:("D_8090D7E0","f32","",0x4), 0x8090D7E4:("D_8090D7E4","f32","",0x4), @@ -8061,7 +7808,7 @@ 0x8090D8C4:("D_8090D8C4","f32","",0x4), 0x8090D8C8:("D_8090D8C8","f32","",0x4), 0x8090D8CC:("D_8090D8CC","f32","",0x4), - 0x8090D8D0:("jtbl_D_8090D8D0","UNK_PTR","",0x4), + 0x8090D8D0:("jtbl_8090D8D0","UNK_PTR","",0x4), 0x8090D964:("D_8090D964","f32","",0x4), 0x8090D968:("D_8090D968","f32","",0x4), 0x8090D96C:("D_8090D96C","f32","",0x4), @@ -8163,13 +7910,13 @@ 0x8090DAEC:("D_8090DAEC","f32","",0x4), 0x8090DAF0:("D_8090DAF0","f32","",0x4), 0x8090DAF4:("D_8090DAF4","f32","",0x4), - 0x8090DAF8:("jtbl_D_8090DAF8","UNK_PTR","",0x4), + 0x8090DAF8:("jtbl_8090DAF8","UNK_PTR","",0x4), 0x8090DB5C:("D_8090DB5C","f32","",0x4), 0x8090DB60:("D_8090DB60","f32","",0x4), 0x8090DB64:("D_8090DB64","f32","",0x4), 0x8090DB68:("D_8090DB68","f32","",0x4), 0x8090DB6C:("D_8090DB6C","f32","",0x4), - 0x8090DB70:("jtbl_D_8090DB70","UNK_PTR","",0x4), + 0x8090DB70:("jtbl_8090DB70","UNK_PTR","",0x4), 0x8090DBCC:("D_8090DBCC","f32","",0x4), 0x8090DBD0:("D_8090DBD0","f32","",0x4), 0x8090DBD4:("D_8090DBD4","f32","",0x4), @@ -8303,7 +8050,7 @@ 0x80918910:("D_80918910","UNK_TYPE4","",0x4), 0x80918940:("D_80918940","UNK_TYPE1","",0x1), 0x80918950:("D_80918950","f32","",0x4), - 0x80918954:("jtbl_D_80918954","UNK_PTR","",0x4), + 0x80918954:("jtbl_80918954","UNK_PTR","",0x4), 0x8091896C:("D_8091896C","f32","",0x4), 0x80918970:("D_80918970","f32","",0x4), 0x80918974:("D_80918974","f32","",0x4), @@ -8314,12 +8061,9 @@ 0x80918988:("D_80918988","f32","",0x4), 0x8091898C:("D_8091898C","f32","",0x4), 0x80918990:("D_80918990","f32","",0x4), - 0x809189A0:("objOshihikiOverlayInfo","OverlayRelocationSection","",0x14), - 0x809189B4:("objOshihikiOverlayRelocations","u32","[96]",0x180), - 0x80918B3C:("objOshihikiOverlayInfoOffset","u32","",0x4), 0x80919D90:("Eff_Dust_InitVars","UNK_TYPE1","",0x1), 0x80919DB0:("D_80919DB0","UNK_TYPE1","",0x1), - 0x80919DC0:("jtbl_D_80919DC0","UNK_PTR","",0x4), + 0x80919DC0:("jtbl_80919DC0","UNK_PTR","",0x4), 0x80919DD8:("D_80919DD8","f32","",0x4), 0x80919DDC:("D_80919DDC","f32","",0x4), 0x80919DE0:("D_80919DE0","f32","",0x4), @@ -8333,14 +8077,8 @@ 0x80919E00:("D_80919E00","f32","",0x4), 0x80919E04:("D_80919E04","f32","",0x4), 0x80919E08:("D_80919E08","f32","",0x4), - 0x80919E10:("effDustOverlayInfo","OverlayRelocationSection","",0x14), - 0x80919E24:("effDustOverlayRelocations","u32","[63]",0xfc), - 0x80919F2C:("effDustOverlayInfoOffset","u32","",0x4), 0x8091A7F0:("Bg_Umajump_InitVars","UNK_TYPE1","",0x1), 0x8091A810:("D_8091A810","UNK_TYPE1","",0x1), - 0x8091A820:("bgUmajumpOverlayInfo","OverlayRelocationSection","",0x14), - 0x8091A834:("bgUmajumpOverlayRelocations","u32","[23]",0x5c), - 0x8091A89C:("bgUmajumpOverlayInfoOffset","u32","",0x4), 0x8091BD60:("D_8091BD60","UNK_TYPE2","",0x2), 0x8091BD64:("En_Insect_InitVars","UNK_TYPE1","",0x1), 0x8091BD84:("D_8091BD84","UNK_TYPE1","",0x1), @@ -8384,9 +8122,6 @@ 0x8091BE64:("D_8091BE64","f32","",0x4), 0x8091BE68:("D_8091BE68","f32","",0x4), 0x8091BE6C:("D_8091BE6C","f32","",0x4), - 0x8091BE70:("enInsectOverlayInfo","OverlayRelocationSection","",0x14), - 0x8091BE84:("enInsectOverlayRelocations","u32","[133]",0x214), - 0x8091C09C:("enInsectOverlayInfoOffset","u32","",0x4), 0x8091D2D0:("D_8091D2D0","UNK_TYPE1","",0x1), 0x8091D2F4:("D_8091D2F4","UNK_TYPE1","",0x1), 0x8091D304:("En_Butte_InitVars","UNK_TYPE1","",0x1), @@ -8419,9 +8154,6 @@ 0x8091D43C:("D_8091D43C","f32","",0x4), 0x8091D440:("D_8091D440","f32","",0x4), 0x8091D444:("D_8091D444","f32","",0x4), - 0x8091D450:("enButteOverlayInfo","OverlayRelocationSection","",0x14), - 0x8091D464:("enButteOverlayRelocations","u32","[111]",0x1bc), - 0x8091D62C:("enButteOverlayInfoOffset","u32","",0x4), 0x8091FA60:("D_8091FA60","UNK_TYPE1","",0x1), 0x8091FA84:("D_8091FA84","UNK_TYPE1","",0x1), 0x8091FA94:("D_8091FA94","UNK_TYPE1","",0x1), @@ -8477,17 +8209,11 @@ 0x8091FBAC:("D_8091FBAC","f32","",0x4), 0x8091FBB0:("D_8091FBB0","f32","",0x4), 0x8091FBB4:("D_8091FBB4","f32","",0x4), - 0x8091FBC0:("enFishOverlayInfo","OverlayRelocationSection","",0x14), - 0x8091FBD4:("enFishOverlayRelocations","u32","[195]",0x30c), - 0x8091FEEC:("enFishOverlayInfoOffset","u32","",0x4), 0x80920210:("Item_Etcetera_InitVars","UNK_TYPE1","",0x1), 0x80920230:("D_80920230","UNK_TYPE1","",0x1), 0x8092024C:("D_8092024C","UNK_TYPE1","",0x1), 0x80920268:("D_80920268","UNK_TYPE1","",0x1), - 0x80920290:("jtbl_D_80920290","UNK_PTR","",0x4), - 0x809202B0:("itemEtceteraOverlayInfo","OverlayRelocationSection","",0x14), - 0x809202C4:("itemEtceteraOverlayRelocations","u32","[29]",0x74), - 0x8092033C:("itemEtceteraOverlayInfoOffset","u32","",0x4), + 0x80920290:("jtbl_80920290","UNK_PTR","",0x4), 0x80920DF0:("arrowFireTexture1","u8","[2048]",0x800), 0x809215F0:("arrowFireTexture2","u8","[2048]",0x800), 0x80921DF0:("arrowFireVertices","F3DVertex","[43]",0x2b0), @@ -8513,9 +8239,6 @@ 0x80922304:("D_80922304","f32","",0x4), 0x80922308:("D_80922308","f32","",0x4), 0x8092230C:("D_8092230C","f32","",0x4), - 0x80922310:("arrowFireOverlayInfo","OverlayRelocationSection","",0x14), - 0x80922324:("arrowFireOverlayRelocations","u32","[61]",0xf4), - 0x8092241C:("arrowFireOverlayInfoOffset","u32","",0x4), 0x80922DB0:("D_80922DB0","UNK_TYPE1","",0x1), 0x809235B0:("D_809235B0","UNK_TYPE1","",0x1), 0x80923DB0:("D_80923DB0","UNK_TYPE1","",0x1), @@ -8533,9 +8256,6 @@ 0x8092421C:("D_8092421C","f32","",0x4), 0x80924220:("D_80924220","f32","",0x4), 0x80924224:("D_80924224","f32","",0x4), - 0x80924230:("arrowIceOverlayInfo","OverlayRelocationSection","",0x14), - 0x80924244:("arrowIceOverlayRelocations","u32","[40]",0xa0), - 0x809242EC:("arrowIceOverlayInfoOffset","u32","",0x4), 0x80924C60:("D_80924C60","UNK_TYPE1","",0x1), 0x80925460:("D_80925460","UNK_TYPE1","",0x1), 0x80925C60:("D_80925C60","UNK_TYPE1","",0x1), @@ -8553,9 +8273,6 @@ 0x809260CC:("D_809260CC","f32","",0x4), 0x809260D0:("D_809260D0","f32","",0x4), 0x809260D4:("D_809260D4","f32","",0x4), - 0x809260E0:("arrowLightOverlayInfo","OverlayRelocationSection","",0x14), - 0x809260F4:("arrowLightOverlayRelocations","u32","[40]",0xa0), - 0x8092619C:("arrowLightOverlayInfoOffset","u32","",0x4), 0x80927380:("D_80927380","UNK_TYPE2","",0x2), 0x80927384:("D_80927384","UNK_TYPE2","",0x2), 0x80927388:("D_80927388","UNK_TYPE2","",0x2), @@ -8578,9 +8295,6 @@ 0x80927424:("D_80927424","f32","",0x4), 0x80927428:("D_80927428","f32","",0x4), 0x8092742C:("D_8092742C","f32","",0x4), - 0x80927430:("objKibakoOverlayInfo","OverlayRelocationSection","",0x14), - 0x80927444:("objKibakoOverlayRelocations","u32","[93]",0x174), - 0x809275BC:("objKibakoOverlayInfoOffset","u32","",0x4), 0x80929500:("D_80929500","UNK_TYPE2","",0x2), 0x80929504:("D_80929504","UNK_TYPE2","",0x2), 0x80929508:("D_80929508","UNK_TYPE2","",0x2), @@ -8617,9 +8331,6 @@ 0x80929648:("D_80929648","f32","",0x4), 0x8092964C:("D_8092964C","f32","",0x4), 0x80929650:("D_80929650","UNK_TYPE1","",0x1), - 0x80929660:("objTsuboOverlayInfo","OverlayRelocationSection","",0x14), - 0x80929674:("objTsuboOverlayRelocations","u32","[163]",0x28c), - 0x8092990C:("objTsuboOverlayInfoOffset","u32","",0x4), 0x8092BFA0:("D_8092BFA0","UNK_TYPE4","",0x4), 0x8092BFA4:("D_8092BFA4","UNK_TYPE1","",0x1), 0x8092BFD8:("D_8092BFD8","UNK_TYPE4","",0x4), @@ -8657,13 +8368,7 @@ 0x8092C248:("D_8092C248","f32","",0x4), 0x8092C24C:("D_8092C24C","f32","",0x4), 0x8092C250:("D_8092C250","f32","",0x4), - 0x8092C260:("enIkOverlayInfo","OverlayRelocationSection","",0x14), - 0x8092C274:("enIkOverlayRelocations","u32","[171]",0x2ac), - 0x8092C52C:("enIkOverlayInfoOffset","u32","",0x4), 0x8092C570:("Demo_Shd_InitVars","UNK_TYPE1","",0x1), - 0x8092C590:("demoShdOverlayInfo","OverlayRelocationSection","",0x14), - 0x8092C5A4:("demoShdOverlayRelocations","u32","[4]",0x10), - 0x8092C5BC:("demoShdOverlayInfoOffset","u32","",0x4), 0x8092DCB0:("D_8092DCB0","UNK_TYPE1","",0x1), 0x8092DCC0:("D_8092DCC0","UNK_TYPE1","",0x1), 0x8092DCD0:("D_8092DCD0","UNK_TYPE1","",0x1), @@ -8680,9 +8385,6 @@ 0x8092DE30:("D_8092DE30","f32","",0x4), 0x8092DE34:("D_8092DE34","f32","",0x4), 0x8092DE38:("D_8092DE38","f32","",0x4), - 0x8092DE40:("enDnsOverlayInfo","OverlayRelocationSection","",0x14), - 0x8092DE54:("enDnsOverlayRelocations","u32","[77]",0x134), - 0x8092DF8C:("enDnsOverlayInfoOffset","u32","",0x4), 0x8092E450:("Elf_Msg_InitVars","UNK_TYPE1","",0x1), 0x8092E470:("D_8092E470","UNK_TYPE1","",0x1), 0x8092E480:("D_8092E480","char","[]",0x1), @@ -8691,9 +8393,6 @@ 0x8092E494:("D_8092E494","f32","",0x4), 0x8092E498:("D_8092E498","f32","",0x4), 0x8092E49C:("D_8092E49C","f32","",0x4), - 0x8092E4A0:("elfMsgOverlayInfo","OverlayRelocationSection","",0x14), - 0x8092E4B4:("elfMsgOverlayRelocations","u32","[20]",0x50), - 0x8092E50C:("elfMsgOverlayInfoOffset","u32","",0x4), 0x809303F0:("D_809303F0","UNK_TYPE4","",0x4), 0x80930400:("D_80930400","UNK_TYPE4","",0x4), 0x80930404:("En_Honotrap_InitVars","UNK_TYPE1","",0x1), @@ -8730,9 +8429,6 @@ 0x8093056C:("D_8093056C","f32","",0x4), 0x80930570:("D_80930570","f32","",0x4), 0x80930574:("D_80930574","f32","",0x4), - 0x80930580:("enHonotrapOverlayInfo","OverlayRelocationSection","",0x14), - 0x80930594:("enHonotrapOverlayRelocations","u32","[146]",0x248), - 0x809307DC:("enHonotrapOverlayInfoOffset","u32","",0x4), 0x80931410:("D_80931410","UNK_TYPE1","",0x1), 0x8093143C:("En_Tubo_Trap_InitVars","UNK_TYPE1","",0x1), 0x8093145C:("D_8093145C","UNK_TYPE1","",0x1), @@ -8743,9 +8439,6 @@ 0x8093148C:("D_8093148C","f32","",0x4), 0x80931490:("D_80931490","f32","",0x4), 0x80931494:("D_80931494","f32","",0x4), - 0x809314A0:("enTuboTrapOverlayInfo","OverlayRelocationSection","",0x14), - 0x809314B4:("enTuboTrapOverlayRelocations","u32","[39]",0x9c), - 0x8093155C:("enTuboTrapOverlayInfoOffset","u32","",0x4), 0x80932300:("Obj_Ice_Poly_InitVars","UNK_TYPE1","",0x1), 0x80932320:("D_80932320","UNK_TYPE1","",0x1), 0x8093234C:("D_8093234C","UNK_TYPE1","",0x1), @@ -8761,9 +8454,6 @@ 0x809323B0:("D_809323B0","f32","",0x4), 0x809323B4:("D_809323B4","f32","",0x4), 0x809323B8:("D_809323B8","f32","",0x4), - 0x809323C0:("objIcePolyOverlayInfo","OverlayRelocationSection","",0x14), - 0x809323D4:("objIcePolyOverlayRelocations","u32","[45]",0xb4), - 0x8093248C:("objIcePolyOverlayInfoOffset","u32","",0x4), 0x809346D0:("En_Fz_InitVars","UNK_TYPE1","",0x1), 0x809346F0:("D_809346F0","UNK_TYPE1","",0x1), 0x809346F8:("D_809346F8","UNK_TYPE1","",0x1), @@ -8785,9 +8475,6 @@ 0x809347F4:("D_809347F4","f32","",0x4), 0x809347F8:("D_809347F8","f32","",0x4), 0x809347FC:("D_809347FC","f32","",0x4), - 0x80934800:("enFzOverlayInfo","OverlayRelocationSection","",0x14), - 0x80934814:("enFzOverlayRelocations","u32","[111]",0x1bc), - 0x809349DC:("enFzOverlayInfoOffset","u32","",0x4), 0x809366A0:("D_809366A0","UNK_TYPE2","",0x2), 0x809366A4:("D_809366A4","UNK_TYPE2","",0x2), 0x809366A8:("D_809366A8","UNK_TYPE2","",0x2), @@ -8820,9 +8507,6 @@ 0x809367B0:("D_809367B0","f32","",0x4), 0x809367B4:("D_809367B4","f32","",0x4), 0x809367B8:("D_809367B8","f32","",0x4), - 0x809367C0:("enKusaOverlayInfo","OverlayRelocationSection","",0x14), - 0x809367D4:("enKusaOverlayRelocations","u32","[187]",0x2ec), - 0x80936ACC:("enKusaOverlayInfoOffset","u32","",0x4), 0x80936AD0:("D_80936AD0","UNK_TYPE4","",0x4), 0x80936AD8:("D_80936AD8","UNK_TYPE4","",0x4), 0x80936CD8:("D_80936CD8","UNK_TYPE2","",0x2), @@ -8864,9 +8548,6 @@ 0x809390A0:("D_809390A0","f32","",0x4), 0x809390A4:("D_809390A4","f32","",0x4), 0x809390A8:("D_809390A8","f32","",0x4), - 0x809390B0:("objBeanOverlayInfo","OverlayRelocationSection","",0x14), - 0x809390C4:("objBeanOverlayRelocations","u32","[185]",0x2e4), - 0x809393AC:("objBeanOverlayInfoOffset","u32","",0x4), 0x8093A920:("Obj_Bombiwa_InitVars","UNK_TYPE1","",0x1), 0x8093A940:("D_8093A940","UNK_TYPE1","",0x1), 0x8093A96C:("D_8093A96C","UNK_TYPE1","",0x1), @@ -8897,9 +8578,6 @@ 0x8093AA38:("D_8093AA38","f32","",0x4), 0x8093AA3C:("D_8093AA3C","f32","",0x4), 0x8093AA40:("D_8093AA40","f32","",0x4), - 0x8093AA50:("objBombiwaOverlayInfo","OverlayRelocationSection","",0x14), - 0x8093AA64:("objBombiwaOverlayRelocations","u32","[88]",0x160), - 0x8093ABCC:("objBombiwaOverlayInfoOffset","u32","",0x4), 0x8093CC60:("D_8093CC60","UNK_TYPE4","",0x4), 0x8093CC80:("D_8093CC80","UNK_TYPE4","",0x4), 0x8093CC84:("Obj_Switch_InitVars","UNK_TYPE1","",0x1), @@ -8929,9 +8607,9 @@ 0x8093CE6C:("D_8093CE6C","f32","",0x4), 0x8093CE70:("D_8093CE70","f32","",0x4), 0x8093CE74:("D_8093CE74","f32","",0x4), - 0x8093CE78:("jtbl_D_8093CE78","UNK_PTR","",0x4), + 0x8093CE78:("jtbl_8093CE78","UNK_PTR","",0x4), 0x8093CE8C:("D_8093CE8C","f32","",0x4), - 0x8093CE90:("jtbl_D_8093CE90","UNK_PTR","",0x4), + 0x8093CE90:("jtbl_8093CE90","UNK_PTR","",0x4), 0x8093CEA4:("D_8093CEA4","f32","",0x4), 0x8093CEA8:("D_8093CEA8","f32","",0x4), 0x8093CEAC:("D_8093CEAC","f32","",0x4), @@ -8940,10 +8618,7 @@ 0x8093CEB8:("D_8093CEB8","f32","",0x4), 0x8093CEBC:("D_8093CEBC","f32","",0x4), 0x8093CEC0:("D_8093CEC0","f32","",0x4), - 0x8093CEC4:("jtbl_D_8093CEC4","UNK_PTR","",0x4), - 0x8093CEE0:("objSwitchOverlayInfo","OverlayRelocationSection","",0x14), - 0x8093CEF4:("objSwitchOverlayRelocations","u32","[301]",0x4b4), - 0x8093D3AC:("objSwitchOverlayInfoOffset","u32","",0x4), + 0x8093CEC4:("jtbl_8093CEC4","UNK_PTR","",0x4), 0x8093D3B0:("D_8093D3B0","UNK_TYPE1","",0x1), 0x8093DD30:("Obj_Lift_InitVars","UNK_TYPE1","",0x1), 0x8093DD50:("D_8093DD50","UNK_TYPE1","",0x1), @@ -8954,9 +8629,6 @@ 0x8093DDB0:("D_8093DDB0","f32","",0x4), 0x8093DDB4:("D_8093DDB4","f32","",0x4), 0x8093DDB8:("D_8093DDB8","f32","",0x4), - 0x8093DDC0:("objLiftOverlayInfo","OverlayRelocationSection","",0x14), - 0x8093DDD4:("objLiftOverlayRelocations","u32","[47]",0xbc), - 0x8093DE9C:("objLiftOverlayInfoOffset","u32","",0x4), 0x8093E310:("Obj_Hsblock_InitVars","UNK_TYPE1","",0x1), 0x8093E330:("D_8093E330","UNK_TYPE1","",0x1), 0x8093E33C:("D_8093E33C","UNK_TYPE1","",0x1), @@ -8965,15 +8637,9 @@ 0x8093E364:("D_8093E364","UNK_TYPE1","",0x1), 0x8093E370:("D_8093E370","f32","",0x4), 0x8093E374:("D_8093E374","f32","",0x4), - 0x8093E380:("objHsblockOverlayInfo","OverlayRelocationSection","",0x14), - 0x8093E394:("objHsblockOverlayRelocations","u32","[31]",0x7c), - 0x8093E41C:("objHsblockOverlayInfoOffset","u32","",0x4), 0x8093E810:("En_Okarina_Tag_InitVars","UNK_TYPE1","",0x1), 0x8093E830:("D_8093E830","f32","",0x4), 0x8093E834:("D_8093E834","f32","",0x4), - 0x8093E840:("enOkarinaTagOverlayInfo","OverlayRelocationSection","",0x14), - 0x8093E854:("enOkarinaTagOverlayRelocations","u32","[15]",0x3c), - 0x8093E89C:("enOkarinaTagOverlayInfoOffset","u32","",0x4), 0x80942DA0:("En_Goroiwa_InitVars","UNK_TYPE1","",0x1), 0x80942DC0:("D_80942DC0","UNK_TYPE1","",0x1), 0x80942DE4:("D_80942DE4","UNK_TYPE1","",0x1), @@ -9055,9 +8721,6 @@ 0x80942FA8:("D_80942FA8","f32","",0x4), 0x80942FAC:("D_80942FAC","f32","",0x4), 0x80942FB0:("D_80942FB0","f32","",0x4), - 0x80942FC0:("enGoroiwaOverlayInfo","OverlayRelocationSection","",0x14), - 0x80942FD4:("enGoroiwaOverlayRelocations","u32","[309]",0x4d4), - 0x809434AC:("enGoroiwaOverlayInfoOffset","u32","",0x4), 0x80944040:("En_Daiku_InitVars","UNK_TYPE1","",0x1), 0x80944060:("D_80944060","UNK_TYPE1","",0x1), 0x80944078:("D_80944078","UNK_TYPE1","",0x1), @@ -9065,27 +8728,18 @@ 0x809440C8:("D_809440C8","UNK_TYPE1","",0x1), 0x809440D4:("D_809440D4","UNK_TYPE1","",0x1), 0x809440F0:("D_809440F0","f32","",0x4), - 0x809440F4:("jtbl_D_809440F4","UNK_PTR","",0x4), - 0x80944110:("enDaikuOverlayInfo","OverlayRelocationSection","",0x14), - 0x80944124:("enDaikuOverlayRelocations","u32","[44]",0xb0), - 0x809441DC:("enDaikuOverlayInfoOffset","u32","",0x4), + 0x809440F4:("jtbl_809440F4","UNK_PTR","",0x4), 0x80945370:("En_Nwc_InitVars","UNK_TYPE1","",0x1), 0x80945390:("D_80945390","UNK_TYPE1","",0x1), 0x80945394:("D_80945394","UNK_TYPE1","",0x1), 0x80945398:("D_80945398","UNK_TYPE4","",0x4), 0x809453A0:("D_809453A0","f32","",0x4), - 0x809453A4:("jtbl_D_809453A4","UNK_PTR","",0x4), + 0x809453A4:("jtbl_809453A4","UNK_PTR","",0x4), 0x809453B8:("D_809453B8","f32","",0x4), 0x809453BC:("D_809453BC","f32","",0x4), 0x809453C0:("D_809453C0","f32","",0x4), 0x809453C4:("D_809453C4","f32","",0x4), - 0x809453D0:("enNwcOverlayInfo","OverlayRelocationSection","",0x14), - 0x809453E4:("enNwcOverlayRelocations","u32","[63]",0xfc), - 0x809454EC:("enNwcOverlayInfoOffset","u32","",0x4), 0x80945600:("Item_Inbox_InitVars","UNK_TYPE1","",0x1), - 0x80945620:("itemInboxOverlayInfo","OverlayRelocationSection","",0x14), - 0x80945634:("itemInboxOverlayRelocations","u32","[6]",0x18), - 0x8094564C:("itemInboxOverlayInfoOffset","u32","",0x4), 0x809464B0:("En_Ge1_InitVars","UNK_TYPE1","",0x1), 0x809464D0:("D_809464D0","UNK_TYPE1","",0x1), 0x809464FC:("D_809464FC","UNK_TYPE1","",0x1), @@ -9093,14 +8747,8 @@ 0x80946530:("D_80946530","UNK_TYPE1","",0x1), 0x8094653C:("D_8094653C","UNK_TYPE1","",0x1), 0x80946548:("D_80946548","UNK_TYPE1","",0x1), - 0x80946560:("jtbl_D_80946560","UNK_PTR","",0x4), - 0x80946590:("enGe1OverlayInfo","OverlayRelocationSection","",0x14), - 0x809465A4:("enGe1OverlayRelocations","u32","[59]",0xec), - 0x8094669C:("enGe1OverlayInfoOffset","u32","",0x4), + 0x80946560:("jtbl_80946560","UNK_PTR","",0x4), 0x80946880:("Obj_Blockstop_InitVars","UNK_TYPE1","",0x1), - 0x809468A0:("objBlockstopOverlayInfo","OverlayRelocationSection","",0x14), - 0x809468B4:("objBlockstopOverlayRelocations","u32","[6]",0x18), - 0x809468CC:("objBlockstopOverlayInfoOffset","u32","",0x4), 0x80947A40:("En_Sda_InitVars","UNK_TYPE1","",0x1), 0x80947A60:("D_80947A60","UNK_TYPE1","",0x1), 0x80947A6C:("D_80947A6C","UNK_TYPE2","",0x2), @@ -9118,9 +8766,6 @@ 0x80947DC0:("D_80947DC0","f32","",0x4), 0x80947DC4:("D_80947DC4","f32","",0x4), 0x80947DC8:("D_80947DC8","f32","",0x4), - 0x80947DD0:("enSdaOverlayInfo","OverlayRelocationSection","",0x14), - 0x80947DE4:("enSdaOverlayRelocations","u32","[44]",0xb0), - 0x80947E9C:("enSdaOverlayInfoOffset","u32","",0x4), 0x80947EA0:("D_80947EA0","UNK_TYPE1","",0x1), 0x8094AD40:("En_Clear_Tag_InitVars","UNK_TYPE1","",0x1), 0x8094AD60:("D_8094AD60","UNK_TYPE4","",0x4), @@ -9174,9 +8819,6 @@ 0x8094DCA8:("D_8094DCA8","f32","",0x4), 0x8094DCAC:("D_8094DCAC","f32","",0x4), 0x8094DCB0:("D_8094DCB0","f32","",0x4), - 0x8094DCC0:("enClearTagOverlayInfo","OverlayRelocationSection","",0x14), - 0x8094DCD4:("enClearTagOverlayRelocations","u32","[127]",0x1fc), - 0x8094DEDC:("enClearTagOverlayInfoOffset","u32","",0x4), 0x80951820:("D_80951820","UNK_TYPE1","",0x1), 0x80951A0C:("D_80951A0C","UNK_TYPE1","",0x1), 0x80951A88:("D_80951A88","UNK_TYPE1","",0x1), @@ -9204,36 +8846,24 @@ 0x80951E14:("D_80951E14","UNK_TYPE4","",0x4), 0x80951E24:("D_80951E24","UNK_TYPE1","",0x1), 0x80951E30:("D_80951E30","UNK_TYPE1","",0x1), - 0x80951E50:("jtbl_D_80951E50","UNK_PTR","",0x4), - 0x80951E80:("jtbl_D_80951E80","UNK_PTR","",0x4), - 0x80951EA8:("jtbl_D_80951EA8","UNK_PTR","",0x4), - 0x80951EF0:("jtbl_D_80951EF0","UNK_PTR","",0x4), - 0x80951F68:("jtbl_D_80951F68","UNK_PTR","",0x4), - 0x80951F80:("jtbl_D_80951F80","UNK_PTR","",0x4), - 0x80951FBC:("jtbl_D_80951FBC","UNK_PTR","",0x4), + 0x80951E50:("jtbl_80951E50","UNK_PTR","",0x4), + 0x80951E80:("jtbl_80951E80","UNK_PTR","",0x4), + 0x80951EA8:("jtbl_80951EA8","UNK_PTR","",0x4), + 0x80951EF0:("jtbl_80951EF0","UNK_PTR","",0x4), + 0x80951F68:("jtbl_80951F68","UNK_PTR","",0x4), + 0x80951F80:("jtbl_80951F80","UNK_PTR","",0x4), + 0x80951FBC:("jtbl_80951FBC","UNK_PTR","",0x4), 0x80952034:("D_80952034","f32","",0x4), - 0x80952038:("jtbl_D_80952038","UNK_PTR","",0x4), - 0x809520B0:("enGmOverlayInfo","OverlayRelocationSection","",0x14), - 0x809520C4:("enGmOverlayRelocations","u32","[341]",0x554), - 0x8095261C:("enGmOverlayInfoOffset","u32","",0x4), + 0x80952038:("jtbl_80952038","UNK_PTR","",0x4), 0x80952B80:("En_Ms_InitVars","UNK_TYPE1","",0x1), 0x80952BA0:("D_80952BA0","UNK_TYPE1","",0x1), 0x80952BCC:("D_80952BCC","UNK_TYPE1","",0x1), - 0x80952BE0:("enMsOverlayInfo","OverlayRelocationSection","",0x14), - 0x80952BF4:("enMsOverlayRelocations","u32","[22]",0x58), - 0x80952C4C:("enMsOverlayInfoOffset","u32","",0x4), 0x809538F0:("En_Hs_InitVars","UNK_TYPE1","",0x1), 0x80953910:("D_80953910","UNK_TYPE1","",0x1), 0x8095393C:("D_8095393C","UNK_TYPE1","",0x1), - 0x80953950:("jtbl_D_80953950","UNK_PTR","",0x4), - 0x80953968:("jtbl_D_80953968","UNK_PTR","",0x4), - 0x80953980:("enHsOverlayInfo","OverlayRelocationSection","",0x14), - 0x80953994:("enHsOverlayRelocations","u32","[60]",0xf0), - 0x80953A8C:("enHsOverlayInfoOffset","u32","",0x4), + 0x80953950:("jtbl_80953950","UNK_PTR","",0x4), + 0x80953968:("jtbl_80953968","UNK_PTR","",0x4), 0x809548A0:("Bg_Ingate_InitVars","UNK_TYPE1","",0x1), - 0x809548C0:("bgIngateOverlayInfo","OverlayRelocationSection","",0x14), - 0x809548D4:("bgIngateOverlayRelocations","u32","[33]",0x84), - 0x8095495C:("bgIngateOverlayInfoOffset","u32","",0x4), 0x809572E0:("En_Kanban_InitVars","UNK_TYPE1","",0x1), 0x80957300:("D_80957300","UNK_TYPE1","",0x1), 0x8095732C:("D_8095732C","UNK_TYPE2","",0x2), @@ -9256,7 +8886,7 @@ 0x80957DE0:("D_80957DE0","UNK_TYPE1","",0x1), 0x80957E60:("D_80957E60","f32","",0x4), 0x80957E64:("D_80957E64","f32","",0x4), - 0x80957E68:("jtbl_D_80957E68","UNK_PTR","",0x4), + 0x80957E68:("jtbl_80957E68","UNK_PTR","",0x4), 0x80957E80:("D_80957E80","f32","",0x4), 0x80957E84:("D_80957E84","f32","",0x4), 0x80957E88:("D_80957E88","f32","",0x4), @@ -9275,14 +8905,11 @@ 0x80957EBC:("D_80957EBC","f32","",0x4), 0x80957EC0:("D_80957EC0","f32","",0x4), 0x80957EC4:("D_80957EC4","f32","",0x4), - 0x80957ED0:("enKanbanOverlayInfo","OverlayRelocationSection","",0x14), - 0x80957EE4:("enKanbanOverlayRelocations","u32","[118]",0x1d8), - 0x809580BC:("enKanbanOverlayInfoOffset","u32","",0x4), 0x80959100:("En_Attack_Niw_InitVars","UNK_TYPE1","",0x1), 0x80959120:("D_80959120","UNK_TYPE1","",0x1), 0x80959130:("D_80959130","f32","",0x4), 0x80959134:("D_80959134","f32","",0x4), - 0x80959138:("jtbl_D_80959138","UNK_PTR","",0x4), + 0x80959138:("jtbl_80959138","UNK_PTR","",0x4), 0x80959150:("D_80959150","f32","",0x4), 0x80959154:("D_80959154","f32","",0x4), 0x80959158:("D_80959158","f32","",0x4), @@ -9301,25 +8928,19 @@ 0x8095918C:("D_8095918C","f32","",0x4), 0x80959190:("D_80959190","f32","",0x4), 0x80959194:("D_80959194","f32","",0x4), - 0x809591A0:("enAttackNiwOverlayInfo","OverlayRelocationSection","",0x14), - 0x809591B4:("enAttackNiwOverlayRelocations","u32","[74]",0x128), - 0x809592DC:("enAttackNiwOverlayInfoOffset","u32","",0x4), 0x8095A240:("En_Mk_InitVars","UNK_TYPE1","",0x1), 0x8095A260:("D_8095A260","UNK_TYPE1","",0x1), 0x8095A28C:("D_8095A28C","UNK_TYPE4","",0x4), 0x8095A2A0:("D_8095A2A0","UNK_TYPE1","",0x1), - 0x8095A2B0:("jtbl_D_8095A2B0","UNK_PTR","",0x4), - 0x8095A2C4:("jtbl_D_8095A2C4","UNK_PTR","",0x4), - 0x8095A350:("enMkOverlayInfo","OverlayRelocationSection","",0x14), - 0x8095A364:("enMkOverlayRelocations","u32","[103]",0x19c), - 0x8095A50C:("enMkOverlayInfoOffset","u32","",0x4), + 0x8095A2B0:("jtbl_8095A2B0","UNK_PTR","",0x4), + 0x8095A2C4:("jtbl_8095A2C4","UNK_PTR","",0x4), 0x8095D2D0:("En_Owl_InitVars","UNK_TYPE1","",0x1), 0x8095D2F0:("D_8095D2F0","UNK_TYPE1","",0x1), 0x8095D31C:("D_8095D31C","UNK_TYPE1","",0x1), 0x8095D32C:("D_8095D32C","UNK_TYPE1","",0x1), 0x8095D340:("D_8095D340","f32","",0x4), 0x8095D344:("D_8095D344","f32","",0x4), - 0x8095D348:("jtbl_D_8095D348","UNK_PTR","",0x4), + 0x8095D348:("jtbl_8095D348","UNK_PTR","",0x4), 0x8095D378:("D_8095D378","f32","",0x4), 0x8095D37C:("D_8095D37C","f32","",0x4), 0x8095D380:("D_8095D380","f32","",0x4), @@ -9327,9 +8948,6 @@ 0x8095D388:("D_8095D388","f32","",0x4), 0x8095D38C:("D_8095D38C","f32","",0x4), 0x8095D390:("D_8095D390","f32","",0x4), - 0x8095D3A0:("enOwlOverlayInfo","OverlayRelocationSection","",0x14), - 0x8095D3B4:("enOwlOverlayRelocations","u32","[200]",0x320), - 0x8095D6DC:("enOwlOverlayInfoOffset","u32","",0x4), 0x8095F690:("D_8095F690","UNK_TYPE2","",0x2), 0x8095F694:("D_8095F694","UNK_TYPE2","",0x2), 0x8095F698:("En_Ishi_InitVars","UNK_TYPE1","",0x1), @@ -9380,14 +8998,8 @@ 0x8095F824:("D_8095F824","f32","",0x4), 0x8095F828:("D_8095F828","f32","",0x4), 0x8095F82C:("D_8095F82C","f32","",0x4), - 0x8095F830:("enIshiOverlayInfo","OverlayRelocationSection","",0x14), - 0x8095F844:("enIshiOverlayRelocations","u32","[178]",0x2c8), - 0x8095FB0C:("enIshiOverlayInfoOffset","u32","",0x4), 0x8095FB90:("Obj_Hana_InitVars","UNK_TYPE1","",0x1), 0x8095FBB0:("D_8095FBB0","UNK_TYPE1","",0x1), - 0x8095FBC0:("objHanaOverlayInfo","OverlayRelocationSection","",0x14), - 0x8095FBD4:("objHanaOverlayRelocations","u32","[6]",0x18), - 0x8095FBEC:("objHanaOverlayInfoOffset","u32","",0x4), 0x80960B70:("Obj_Lightswitch_InitVars","UNK_TYPE1","",0x1), 0x80960B90:("D_80960B90","UNK_TYPE1","",0x1), 0x80960BB4:("D_80960BB4","UNK_TYPE1","",0x1), @@ -9396,9 +9008,6 @@ 0x80960BD4:("sLightswitchEffectEnvColor","UNK_TYPE1","",0x1), 0x80960BD8:("D_80960BD8","UNK_TYPE1","",0x1), 0x80960BF0:("D_80960BF0","f32","",0x4), - 0x80960C00:("objLightswitchOverlayInfo","OverlayRelocationSection","",0x14), - 0x80960C14:("objLightswitchOverlayRelocations","u32","[54]",0xd8), - 0x80960CEC:("objLightswitchOverlayInfoOffset","u32","",0x4), 0x80961570:("Obj_Mure2_InitVars","UNK_TYPE1","",0x1), 0x80961590:("D_80961590","UNK_TYPE1","",0x1), 0x8096159C:("D_8096159C","UNK_TYPE1","",0x1), @@ -9407,9 +9016,6 @@ 0x809615B8:("D_809615B8","UNK_TYPE2","",0x2), 0x809615E8:("D_809615E8","UNK_TYPE1","",0x1), 0x809615F4:("D_809615F4","UNK_TYPE1","",0x1), - 0x80961600:("objMure2OverlayInfo","OverlayRelocationSection","",0x14), - 0x80961614:("objMure2OverlayRelocations","u32","[49]",0xc4), - 0x809616DC:("objMure2OverlayInfoOffset","u32","",0x4), 0x80964AE0:("En_Fu_InitVars","UNK_TYPE1","",0x1), 0x80964B00:("D_80964B00","UNK_TYPE1","",0x1), 0x80964B0C:("D_80964B0C","UNK_TYPE4","",0x4), @@ -9430,30 +9036,21 @@ 0x80964C70:("D_80964C70","f32","",0x4), 0x80964C74:("D_80964C74","f32","",0x4), 0x80964C78:("D_80964C78","f32","",0x4), - 0x80964C7C:("jtbl_D_80964C7C","UNK_PTR","",0x4), - 0x80964DB4:("jtbl_D_80964DB4","UNK_PTR","",0x4), - 0x80964DD0:("jtbl_D_80964DD0","UNK_PTR","",0x4), - 0x80964E00:("jtbl_D_80964E00","UNK_PTR","",0x4), - 0x80964F10:("jtbl_D_80964F10","UNK_PTR","",0x4), + 0x80964C7C:("jtbl_80964C7C","UNK_PTR","",0x4), + 0x80964DB4:("jtbl_80964DB4","UNK_PTR","",0x4), + 0x80964DD0:("jtbl_80964DD0","UNK_PTR","",0x4), + 0x80964E00:("jtbl_80964E00","UNK_PTR","",0x4), + 0x80964F10:("jtbl_80964F10","UNK_PTR","",0x4), 0x80965008:("D_80965008","f32","",0x4), - 0x80965010:("enFuOverlayInfo","OverlayRelocationSection","",0x14), - 0x80965024:("enFuOverlayRelocations","u32","[393]",0x624), - 0x8096564C:("enFuOverlayInfoOffset","u32","",0x4), 0x80965B00:("En_Stream_InitVars","UNK_TYPE1","",0x1), 0x80965B20:("D_80965B20","UNK_TYPE1","",0x1), 0x80965B30:("D_80965B30","f32","",0x4), - 0x80965B40:("enStreamOverlayInfo","OverlayRelocationSection","",0x14), - 0x80965B54:("enStreamOverlayRelocations","u32","[19]",0x4c), - 0x80965BAC:("enStreamOverlayInfoOffset","u32","",0x4), 0x80966320:("En_Mm_InitVars","UNK_TYPE1","",0x1), 0x80966340:("D_80966340","UNK_TYPE1","",0x1), 0x8096636C:("D_8096636C","UNK_TYPE1","",0x1), 0x80966380:("D_80966380","f32","",0x4), - 0x80966390:("enMmOverlayInfo","OverlayRelocationSection","",0x14), - 0x809663A4:("enMmOverlayRelocations","u32","[26]",0x68), - 0x8096640C:("enMmOverlayInfoOffset","u32","",0x4), 0x809677A0:("En_Weather_Tag_InitVars","UNK_TYPE1","",0x1), - 0x809677C0:("jtbl_D_809677C0","UNK_PTR","",0x4), + 0x809677C0:("jtbl_809677C0","UNK_PTR","",0x4), 0x809677E0:("D_809677E0","f32","",0x4), 0x809677E4:("D_809677E4","f32","",0x4), 0x809677E8:("D_809677E8","f32","",0x4), @@ -9461,18 +9058,12 @@ 0x809677F0:("D_809677F0","f32","",0x4), 0x809677F4:("D_809677F4","f32","",0x4), 0x809677F8:("D_809677F8","f32","",0x4), - 0x80967800:("enWeatherTagOverlayInfo","OverlayRelocationSection","",0x14), - 0x80967814:("enWeatherTagOverlayRelocations","u32","[110]",0x1b8), - 0x809679CC:("enWeatherTagOverlayInfoOffset","u32","",0x4), 0x80968650:("En_Ani_InitVars","UNK_TYPE1","",0x1), 0x80968670:("D_80968670","UNK_TYPE1","",0x1), 0x8096869C:("D_8096869C","UNK_TYPE1","",0x1), 0x809686A4:("D_809686A4","UNK_TYPE1","",0x1), 0x809686B0:("D_809686B0","UNK_TYPE1","",0x1), 0x809686C0:("D_809686C0","f32","",0x4), - 0x809686D0:("enAniOverlayInfo","OverlayRelocationSection","",0x14), - 0x809686E4:("enAniOverlayRelocations","u32","[47]",0xbc), - 0x809687AC:("enAniOverlayInfoOffset","u32","",0x4), 0x8096AB80:("En_Js_InitVars","UNK_TYPE1","",0x1), 0x8096ABA0:("D_8096ABA0","UNK_TYPE1","",0x1), 0x8096ABCC:("D_8096ABCC","UNK_TYPE1","",0x1), @@ -9481,21 +9072,15 @@ 0x8096AC08:("D_8096AC08","UNK_TYPE1","",0x1), 0x8096AC1C:("D_8096AC1C","UNK_TYPE1","",0x1), 0x8096AC30:("D_8096AC30","UNK_TYPE1","",0x1), - 0x8096AC40:("jtbl_D_8096AC40","UNK_PTR","",0x4), - 0x8096AC64:("jtbl_D_8096AC64","UNK_PTR","",0x4), - 0x8096AC88:("jtbl_D_8096AC88","UNK_PTR","",0x4), - 0x8096ACA8:("jtbl_D_8096ACA8","UNK_PTR","",0x4), - 0x8096ACC8:("jtbl_D_8096ACC8","UNK_PTR","",0x4), - 0x8096ACF8:("jtbl_D_8096ACF8","UNK_PTR","",0x4), - 0x8096AD3C:("jtbl_D_8096AD3C","UNK_PTR","",0x4), - 0x8096AD70:("enJsOverlayInfo","OverlayRelocationSection","",0x14), - 0x8096AD84:("enJsOverlayRelocations","u32","[195]",0x30c), - 0x8096B09C:("enJsOverlayInfoOffset","u32","",0x4), + 0x8096AC40:("jtbl_8096AC40","UNK_PTR","",0x4), + 0x8096AC64:("jtbl_8096AC64","UNK_PTR","",0x4), + 0x8096AC88:("jtbl_8096AC88","UNK_PTR","",0x4), + 0x8096ACA8:("jtbl_8096ACA8","UNK_PTR","",0x4), + 0x8096ACC8:("jtbl_8096ACC8","UNK_PTR","",0x4), + 0x8096ACF8:("jtbl_8096ACF8","UNK_PTR","",0x4), + 0x8096AD3C:("jtbl_8096AD3C","UNK_PTR","",0x4), 0x8096B290:("En_Okarina_Effect_InitVars","UNK_TYPE1","",0x1), 0x8096B2B0:("D_8096B2B0","f32","",0x4), - 0x8096B2C0:("enOkarinaEffectOverlayInfo","OverlayRelocationSection","",0x14), - 0x8096B2D4:("enOkarinaEffectOverlayRelocations","u32","[14]",0x38), - 0x8096B30C:("enOkarinaEffectOverlayInfoOffset","u32","",0x4), 0x8096E910:("D_8096E910","UNK_TYPE2","",0x2), 0x8096E914:("D_8096E914","UNK_TYPE2","",0x2), 0x8096E918:("D_8096E918","UNK_TYPE2","",0x2), @@ -9518,28 +9103,18 @@ 0x8096E9C4:("D_8096E9C4","UNK_TYPE2","",0x2), 0x8096E9D0:("D_8096E9D0","UNK_TYPE2","",0x2), 0x8096E9D4:("D_8096E9D4","UNK_TYPE1","",0x1), - 0x8096E9E0:("jtbl_D_8096E9E0","UNK_PTR","",0x4), - 0x8096EA30:("enMagOverlayInfo","OverlayRelocationSection","",0x14), - 0x8096EA44:("enMagOverlayRelocations","u32","[126]",0x1f8), - 0x8096EC3C:("enMagOverlayInfoOffset","u32","",0x4), + 0x8096E9E0:("jtbl_8096E9E0","UNK_PTR","",0x4), 0x8096F090:("Elf_Msg2_InitVars","UNK_TYPE1","",0x1), 0x8096F0B0:("D_8096F0B0","UNK_TYPE1","",0x1), 0x8096F0C0:("D_8096F0C0","char","[]",0x1), 0x8096F0C8:("D_8096F0C8","char","[]",0x1), 0x8096F0D4:("D_8096F0D4","char","[]",0x1), - 0x8096F0DC:("D_8096F0DC","UNK_TYPE4","",0x4), # dummy padding for overlay relocation section boundary - 0x8096F0E0:("elfMsg2OverlayInfo","OverlayRelocationSection","",0x14), - 0x8096F0F4:("elfMsg2OverlayRelocations","u32","[24]",0x60), - 0x8096F15C:("elfMsg2OverlayInfoOffset","u32","",0x4), 0x8096F510:("D_8096F510","UNK_TYPE1","",0x1), 0x8096F514:("D_8096F514","UNK_TYPE4","",0x4), 0x8096F520:("Bg_F40_Swlift_InitVars","UNK_TYPE1","",0x1), 0x8096F540:("D_8096F540","UNK_TYPE1","",0x1), 0x8096F550:("D_8096F550","f32","",0x4), 0x8096F554:("D_8096F554","f32","",0x4), - 0x8096F560:("bgF40SwliftOverlayInfo","OverlayRelocationSection","",0x14), - 0x8096F574:("bgF40SwliftOverlayRelocations","u32","[20]",0x50), - 0x8096F5CC:("bgF40SwliftOverlayInfoOffset","u32","",0x4), 0x8096F5D0:("D_8096F5D0","UNK_TYPE1","",0x1), 0x80971D80:("D_80971D80","UNK_TYPE1","",0x1), 0x80971DAC:("En_Kakasi_InitVars","UNK_TYPE1","",0x1), @@ -9554,16 +9129,10 @@ 0x8097206C:("D_8097206C","UNK_TYPE1","",0x1), 0x80972080:("D_80972080","f32","",0x4), 0x80972084:("D_80972084","f32","",0x4), - 0x80972088:("jtbl_D_80972088","UNK_PTR","",0x4), + 0x80972088:("jtbl_80972088","UNK_PTR","",0x4), 0x809720C4:("D_809720C4","f32","",0x4), 0x809720C8:("D_809720C8","f32","",0x4), - 0x809720D0:("enKakasiOverlayInfo","OverlayRelocationSection","",0x14), - 0x809720E4:("enKakasiOverlayRelocations","u32","[154]",0x268), - 0x8097234C:("enKakasiOverlayInfoOffset","u32","",0x4), 0x80972630:("Obj_Makeoshihiki_InitVars","UNK_TYPE1","",0x1), - 0x80972650:("objMakeoshihikiOverlayInfo","OverlayRelocationSection","",0x14), - 0x80972664:("objMakeoshihikiOverlayRelocations","u32","[4]",0x10), - 0x8097267C:("objMakeoshihikiOverlayInfoOffset","u32","",0x4), 0x80972D80:("Oceff_Spot_InitVars","UNK_TYPE1","",0x1), 0x80972DA0:("D_80972DA0","UNK_TYPE1","",0x1), 0x809731A0:("D_809731A0","UNK_TYPE1","",0x1), @@ -9578,26 +9147,14 @@ 0x80973494:("D_80973494","f32","",0x4), 0x80973498:("D_80973498","f32","",0x4), 0x8097349C:("D_8097349C","f32","",0x4), - 0x809734A0:("oceffSpotOverlayInfo","OverlayRelocationSection","",0x14), - 0x809734B4:("oceffSpotOverlayRelocations","u32","[37]",0x94), - 0x8097354C:("oceffSpotOverlayInfoOffset","u32","",0x4), 0x809735E0:("En_Torch_InitVars","UNK_TYPE1","",0x1), 0x80973600:("D_80973600","UNK_TYPE1","",0x1), - 0x80973610:("enTorchOverlayInfo","OverlayRelocationSection","",0x14), - 0x80973624:("enTorchOverlayRelocations","u32","[3]",0xc), - 0x8097363C:("enTorchOverlayInfoOffset","u32","",0x4), 0x80973B80:("Shot_Sun_InitVars","UNK_TYPE1","",0x1), 0x80973BA0:("D_80973BA0","UNK_TYPE1","",0x1), 0x80973BD0:("D_80973BD0","f32","",0x4), 0x80973BD4:("D_80973BD4","f32","",0x4), 0x80973BD8:("D_80973BD8","f32","",0x4), - 0x80973BE0:("shotSunOverlayInfo","OverlayRelocationSection","",0x14), - 0x80973BF4:("shotSunOverlayRelocations","u32","[21]",0x54), - 0x80973C4C:("shotSunOverlayInfoOffset","u32","",0x4), 0x80973E90:("Obj_Roomtimer_InitVars","UNK_TYPE1","",0x1), - 0x80973EB0:("objRoomtimerOverlayInfo","OverlayRelocationSection","",0x14), - 0x80973EC4:("objRoomtimerOverlayRelocations","u32","[9]",0x24), - 0x80973EEC:("objRoomtimerOverlayInfoOffset","u32","",0x4), 0x80976010:("En_Ssh_InitVars","UNK_TYPE1","",0x1), 0x80976030:("D_80976030","UNK_TYPE1","",0x1), 0x8097605C:("D_8097605C","UNK_PTR","",0x4), @@ -9623,10 +9180,7 @@ 0x8097619C:("D_8097619C","f32","",0x4), 0x809761A0:("D_809761A0","f32","",0x4), 0x809761A4:("D_809761A4","f32","",0x4), - 0x809761A8:("jtbl_D_809761A8","UNK_PTR","",0x4), - 0x809761F0:("enSshOverlayInfo","OverlayRelocationSection","",0x14), - 0x80976204:("enSshOverlayRelocations","u32","[169]",0x2a4), - 0x809764AC:("enSshOverlayInfoOffset","u32","",0x4), + 0x809761A8:("jtbl_809761A8","UNK_PTR","",0x4), 0x80976980:("Oceff_Wipe_InitVars","UNK_TYPE1","",0x1), 0x809769A0:("D_809769A0","UNK_TYPE1","",0x1), 0x80976DA0:("D_80976DA0","UNK_TYPE1","",0x1), @@ -9636,10 +9190,7 @@ 0x80977160:("D_80977160","UNK_TYPE1","",0x1), 0x80977174:("D_80977174","UNK_TYPE1","",0x1), 0x80977180:("D_80977180","f32","",0x4), - 0x80977190:("oceffWipeOverlayInfo","OverlayRelocationSection","",0x14), - 0x809771A4:("oceffWipeOverlayRelocations","u32","[19]",0x4c), - 0x809771FC:("oceffWipeOverlayInfoOffset","u32","",0x4), - 0x80977910:("effectDustOverlayInfo","ParticleOverlayInfo","",0x8), + 0x80977910:("Effect_Ss_Dust_InitVars","UNK_TYPE1","",0x1), 0x80977918:("effectDustUpdateFuncs","EffectSsUpdateFunc","[2]",0x8), 0x80977920:("effectDustTextureAddrs","UNK_TYPE1","",0x1), 0x80977940:("D_80977940","f32","",0x4), @@ -9651,10 +9202,7 @@ 0x80977958:("D_80977958","f32","",0x4), 0x8097795C:("D_8097795C","f32","",0x4), 0x80977960:("D_80977960","f32","",0x4), - 0x80977970:("effectSsDustOverlayInfo","OverlayRelocationSection","",0x14), - 0x80977984:("effectSsDustOverlayRelocations","u32","[27]",0x6c), - 0x809779FC:("effectSsDustOverlayInfoOffset","u32","",0x4), - 0x80977FC0:("effectSparkleOverlayInfo","ParticleOverlayInfo","",0x8), + 0x80977FC0:("Effect_Ss_Kirakira_InitVars","UNK_TYPE1","",0x1), 0x80977FD0:("D_80977FD0","f32","",0x4), 0x80977FD4:("D_80977FD4","f32","",0x4), 0x80977FD8:("D_80977FD8","f32","",0x4), @@ -9663,10 +9211,7 @@ 0x80977FE4:("D_80977FE4","f32","",0x4), 0x80977FE8:("D_80977FE8","f32","",0x4), 0x80977FEC:("D_80977FEC","f32","",0x4), - 0x80977FF0:("effectSsKirakiraOverlayInfo","OverlayRelocationSection","",0x14), - 0x80978004:("effectSsKirakiraOverlayRelocations","u32","[25]",0x64), - 0x8097806C:("effectSsKirakiraOverlayInfoOffset","u32","",0x4), - 0x809787F0:("D_809787F0","UNK_TYPE1","",0x1), + 0x809787F0:("Effect_Ss_Bomb2_InitVars","UNK_TYPE1","",0x1), 0x809787F8:("D_809787F8","UNK_TYPE1","",0x1), 0x80978800:("D_80978800","UNK_TYPE1","",0x1), 0x80978820:("D_80978820","UNK_TYPE1","",0x1), @@ -9675,81 +9220,45 @@ 0x80978848:("D_80978848","f32","",0x4), 0x8097884C:("D_8097884C","f32","",0x4), 0x80978850:("D_80978850","f32","",0x4), - 0x80978860:("effectSsBomb2OverlayInfo","OverlayRelocationSection","",0x14), - 0x80978874:("effectSsBomb2OverlayRelocations","u32","[21]",0x54), - 0x809788CC:("effectSsBomb2OverlayInfoOffset","u32","",0x4), - 0x80978BD0:("D_80978BD0","UNK_TYPE1","",0x1), + 0x80978BD0:("Effect_Ss_Blast_InitVars","UNK_TYPE1","",0x1), 0x80978BE0:("D_80978BE0","f32","",0x4), - 0x80978BF0:("effectSsBlastOverlayInfo","OverlayRelocationSection","",0x14), - 0x80978C04:("effectSsBlastOverlayRelocations","u32","[7]",0x1c), - 0x80978C2C:("effectSsBlastOverlayInfoOffset","u32","",0x4), - 0x80979130:("D_80979130","UNK_TYPE1","",0x1), + 0x80979130:("Effect_Ss_G_Spk_InitVars","UNK_TYPE1","",0x1), 0x80979138:("D_80979138","UNK_TYPE1","",0x1), 0x80979150:("D_80979150","f32","",0x4), - 0x80979160:("effectSsGSpkOverlayInfo","OverlayRelocationSection","",0x14), - 0x80979174:("effectSsGSpkOverlayRelocations","u32","[11]",0x2c), - 0x809791AC:("effectSsGSpkOverlayInfoOffset","u32","",0x4), - 0x80979560:("D_80979560","UNK_TYPE1","",0x1), + 0x80979560:("Effect_Ss_D_Fire_InitVars","UNK_TYPE1","",0x1), 0x80979568:("D_80979568","UNK_TYPE1","",0x1), - 0x80979580:("effectSsDFireOverlayInfo","OverlayRelocationSection","",0x14), - 0x80979594:("effectSsDFireOverlayRelocations","u32","[10]",0x28), - 0x809795BC:("effectSsDFireOverlayInfoOffset","u32","",0x4), - 0x80979AB0:("D_80979AB0","UNK_TYPE1","",0x1), - 0x80979AB4:("D_80979AB4","UNK_TYPE1","",0x1), + 0x80979AB0:("Effect_Ss_Bubble_InitVars","UNK_TYPE1","",0x1), + 0x80979AB8:("D_80979AB8","UNK_TYPE1","",0x1), 0x80979AD0:("D_80979AD0","f32","",0x4), 0x80979AD4:("D_80979AD4","f32","",0x4), - 0x80979AE0:("effectSsBubbleOverlayInfo","OverlayRelocationSection","",0x14), - 0x80979AF4:("effectSsBubbleOverlayRelocations","u32","[11]",0x2c), - 0x80979B2C:("effectSsBubbleOverlayInfoOffset","u32","",0x4), - 0x80979FF0:("D_80979FF0","UNK_TYPE1","",0x1), + 0x80979FF0:("Effect_Ss_G_Ripple_InitVars","UNK_TYPE1","",0x1), 0x8097A000:("D_8097A000","f32","",0x4), - 0x8097A010:("effectSsGRippleOverlayInfo","OverlayRelocationSection","",0x14), - 0x8097A024:("effectSsGRippleOverlayRelocations","u32","[8]",0x20), - 0x8097A04C:("effectSsGRippleOverlayInfoOffset","u32","",0x4), - 0x8097A3E0:("D_8097A3E0","UNK_TYPE1","",0x1), + 0x8097A3E0:("Effect_Ss_G_Splash_InitVars","UNK_TYPE1","",0x1), 0x8097A3E8:("D_8097A3E8","UNK_TYPE1","",0x1), 0x8097A410:("D_8097A410","f32","",0x4), - 0x8097A420:("effectSsGSplashOverlayInfo","OverlayRelocationSection","",0x14), - 0x8097A434:("effectSsGSplashOverlayRelocations","u32","[13]",0x34), - 0x8097A46C:("effectSsGSplashOverlayInfoOffset","u32","",0x4), - 0x8097A610:("D_8097A610","UNK_TYPE1","",0x1), + 0x8097A610:("Effect_Ss_G_Fire_InitVars","UNK_TYPE1","",0x1), 0x8097A618:("D_8097A618","UNK_TYPE4","",0x4), - 0x8097A640:("effectSsGFireOverlayInfo","OverlayRelocationSection","",0x14), - 0x8097A654:("effectSsGFireOverlayRelocations","u32","[7]",0x1c), - 0x8097A67C:("effectSsGFireOverlayInfoOffset","u32","",0x4), 0x8097AC80:("D_8097AC80","UNK_TYPE4","",0x4), - 0x8097ACA0:("D_8097ACA0","UNK_TYPE1","",0x1), + 0x8097ACA0:("Effect_Ss_Lightning_InitVars","UNK_TYPE1","",0x1), 0x8097ACA8:("D_8097ACA8","UNK_TYPE4","",0x4), 0x8097ACB0:("D_8097ACB0","f32","",0x4), 0x8097ACB4:("D_8097ACB4","f32","",0x4), 0x8097ACB8:("D_8097ACB8","f32","",0x4), 0x8097ACBC:("D_8097ACBC","f32","",0x4), 0x8097ACC0:("D_8097ACC0","f32","",0x4), - 0x8097ACD0:("effectSsLightningOverlayInfo","OverlayRelocationSection","",0x14), - 0x8097ACE4:("effectSsLightningOverlayRelocations","u32","[27]",0x6c), - 0x8097AD5C:("effectSsLightningOverlayInfoOffset","u32","",0x4), 0x8097B1E0:("D_8097B1E0","UNK_TYPE1","",0x1), 0x8097B1F0:("D_8097B1F0","UNK_TYPE1","",0x1), - 0x8097B200:("D_8097B200","UNK_TYPE1","",0x1), + 0x8097B200:("Effect_Ss_Dt_Bubble_InitVars","UNK_TYPE1","",0x1), 0x8097B210:("D_8097B210","f32","",0x4), - 0x8097B220:("effectSsDtBubbleOverlayInfo","OverlayRelocationSection","",0x14), - 0x8097B234:("effectSsDtBubbleOverlayRelocations","u32","[11]",0x2c), - 0x8097B26C:("effectSsDtBubbleOverlayInfoOffset","u32","",0x4), - 0x8097B790:("D_8097B790","UNK_TYPE1","",0x1), + 0x8097B790:("Effect_Ss_Hahen_InitVars","UNK_TYPE1","",0x1), 0x8097B7A0:("D_8097B7A0","UNK_TYPE4","",0x4), # float but gnu assembler doesn't convert it properly 0x8097B7A4:("D_8097B7A4","f32","",0x4), 0x8097B7A8:("D_8097B7A8","f32","",0x4), 0x8097B7AC:("D_8097B7AC","f32","",0x4), - 0x8097B7B0:("effectSsHahenOverlayInfo","OverlayRelocationSection","",0x14), - 0x8097B7C4:("effectSsHahenOverlayRelocations","u32","[17]",0x44), - 0x8097B80C:("effectSsHahenOverlayInfoOffset","u32","",0x4), - 0x8097BA70:("D_8097BA70","UNK_TYPE1","",0x1), + 0x8097BA70:("Effect_Ss_Stick_InitVars","UNK_TYPE1","",0x1), 0x8097BA80:("D_8097BA80","f32","",0x4), 0x8097BA84:("D_8097BA84","f32","",0x4), - 0x8097BA90:("effectSsStickOverlayInfo","OverlayRelocationSection","",0x14), - 0x8097BAA4:("effectSsStickOverlayRelocations","u32","[9]",0x24), - 0x8097BACC:("effectSsStickOverlayInfoOffset","u32","",0x4), - 0x8097C080:("D_8097C080","UNK_TYPE1","",0x1), + 0x8097C080:("Effect_Ss_Sibuki_InitVars","UNK_TYPE1","",0x1), 0x8097C090:("D_8097C090","f32","",0x4), 0x8097C094:("D_8097C094","f32","",0x4), 0x8097C098:("D_8097C098","f32","",0x4), @@ -9757,43 +9266,25 @@ 0x8097C0A8:("D_8097C0A8","f32","",0x4), 0x8097C0AC:("D_8097C0AC","f32","",0x4), 0x8097C0B0:("D_8097C0B0","f32","",0x4), - 0x8097C0C0:("effectSsSibukiOverlayInfo","OverlayRelocationSection","",0x14), - 0x8097C0D4:("effectSsSibukiOverlayRelocations","u32","[19]",0x4c), - 0x8097C12C:("effectSsSibukiOverlayInfoOffset","u32","",0x4), - 0x8097C3D0:("D_8097C3D0","UNK_TYPE1","",0x1), + 0x8097C3D0:("Effect_Ss_Stone1_InitVars","UNK_TYPE1","",0x1), 0x8097C3D8:("D_8097C3D8","UNK_TYPE4","",0x4), 0x8097C440:("D_8097C440","f32","",0x4), - 0x8097C450:("effectSsStone1OverlayInfo","OverlayRelocationSection","",0x14), - 0x8097C464:("effectSsStone1OverlayRelocations","u32","[9]",0x24), - 0x8097C48C:("effectSsStone1OverlayInfoOffset","u32","",0x4), 0x8097C880:("D_8097C880","UNK_TYPE1","",0x1), 0x8097C8B0:("D_8097C8B0","UNK_TYPE1","",0x1), - 0x8097C930:("D_8097C930","UNK_TYPE1","",0x1), - 0x8097C940:("effectSsHitmarkOverlayInfo","OverlayRelocationSection","",0x14), - 0x8097C954:("effectSsHitmarkOverlayRelocations","u32","[11]",0x2c), - 0x8097C98C:("effectSsHitmarkOverlayInfoOffset","u32","",0x4), - 0x8097CEC0:("D_8097CEC0","UNK_TYPE1","",0x1), + 0x8097C930:("Effect_Ss_Hitmark_InitVars","UNK_TYPE1","",0x1), + 0x8097CEC0:("Effect_Ss_Fhg_Flash_InitVars","UNK_TYPE1","",0x1), 0x8097CEC8:("D_8097CEC8","UNK_TYPE4","",0x4), 0x8097CEE0:("D_8097CEE0","UNK_TYPE1","",0x1), 0x8097CF20:("D_8097CF20","UNK_TYPE1","",0x1), 0x8097CF98:("D_8097CF98","UNK_TYPE1","",0x1), 0x8097D3A0:("D_8097D3A0","f32","",0x4), 0x8097D3A4:("D_8097D3A4","f32","",0x4), - 0x8097D3B0:("effectSsFhgFlashOverlayInfo","OverlayRelocationSection","",0x14), - 0x8097D3C4:("effectSsFhgFlashOverlayRelocations","u32","[17]",0x44), - 0x8097D40C:("effectSsFhgFlashOverlayInfoOffset","u32","",0x4), - 0x8097D7F0:("D_8097D7F0","UNK_TYPE1","",0x1), + 0x8097D7F0:("Effect_Ss_K_Fire_InitVars","UNK_TYPE1","",0x1), 0x8097D800:("D_8097D800","f32","",0x4), 0x8097D804:("D_8097D804","f32","",0x4), - 0x8097D810:("effectSsKFireOverlayInfo","OverlayRelocationSection","",0x14), - 0x8097D824:("effectSsKFireOverlayRelocations","u32","[9]",0x24), - 0x8097D84C:("effectSsKFireOverlayInfoOffset","u32","",0x4), - 0x8097DC40:("D_8097DC40","UNK_TYPE1","",0x1), + 0x8097DC40:("Effect_Ss_Solder_Srch_Ball_InitVars","UNK_TYPE1","",0x1), 0x8097DC50:("D_8097DC50","f32","",0x4), - 0x8097DC60:("effectSsSolderSrchBallOverlayInfo","OverlayRelocationSection","",0x14), - 0x8097DC74:("effectSsSolderSrchBallOverlayRelocations","u32","[7]",0x1c), - 0x8097DC9C:("effectSsSolderSrchBallOverlayInfoOffset","u32","",0x4), - 0x8097EAD0:("D_8097EAD0","UNK_TYPE1","",0x1), + 0x8097EAD0:("Effect_Ss_Kakera_InitVars","UNK_TYPE1","",0x1), 0x8097EAD8:("D_8097EAD8","UNK_TYPE1","",0x1), 0x8097EAE4:("D_8097EAE4","UNK_TYPE1","",0x1), 0x8097EB0C:("D_8097EB0C","UNK_TYPE1","",0x1), @@ -9808,60 +9299,33 @@ 0x8097EB90:("D_8097EB90","f32","",0x4), 0x8097EB94:("D_8097EB94","f32","",0x4), 0x8097EB98:("D_8097EB98","f32","",0x4), - 0x8097EBA0:("effectSsKakeraOverlayInfo","OverlayRelocationSection","",0x14), - 0x8097EBB4:("effectSsKakeraOverlayRelocations","u32","[67]",0x10c), - 0x8097ECCC:("effectSsKakeraOverlayInfoOffset","u32","",0x4), - 0x8097F070:("D_8097F070","UNK_TYPE1","",0x1), + 0x8097F070:("Effect_Ss_Ice_Piece_InitVars","UNK_TYPE1","",0x1), 0x8097F080:("D_8097F080","f32","",0x4), 0x8097F084:("D_8097F084","f32","",0x4), - 0x8097F090:("effectSsIcePieceOverlayInfo","OverlayRelocationSection","",0x14), - 0x8097F0A4:("effectSsIcePieceOverlayRelocations","u32","[9]",0x24), - 0x8097F0CC:("effectSsIcePieceOverlayInfoOffset","u32","",0x4), - 0x8097F810:("D_8097F810","UNK_TYPE1","",0x1), + 0x8097F810:("Effect_Ss_En_Ice_InitVars","UNK_TYPE1","",0x1), 0x8097F820:("D_8097F820","f32","",0x4), 0x8097F824:("D_8097F824","f32","",0x4), - 0x8097F830:("effectSsEnIceOverlayInfo","OverlayRelocationSection","",0x14), - 0x8097F844:("effectSsEnIceOverlayRelocations","u32","[13]",0x34), - 0x8097F87C:("effectSsEnIceOverlayInfoOffset","u32","",0x4), - 0x8097FED0:("D_8097FED0","UNK_TYPE1","",0x1), + 0x8097FED0:("Effect_Ss_Fire_Tail_InitVars","UNK_TYPE1","",0x1), 0x8097FEE0:("D_8097FEE0","f32","",0x4), 0x8097FEE4:("D_8097FEE4","f32","",0x4), 0x8097FEE8:("D_8097FEE8","f32","",0x4), 0x8097FEEC:("D_8097FEEC","f32","",0x4), 0x8097FEF0:("D_8097FEF0","f32","",0x4), 0x8097FEF4:("D_8097FEF4","f32","",0x4), - 0x8097FF00:("effectSsFireTailOverlayInfo","OverlayRelocationSection","",0x14), - 0x8097FF14:("effectSsFireTailOverlayRelocations","u32","[17]",0x44), - 0x8097FF5C:("effectSsFireTailOverlayInfoOffset","u32","",0x4), - 0x80980570:("D_80980570","UNK_TYPE1","",0x1), + 0x80980570:("Effect_Ss_En_Fire_InitVars","UNK_TYPE1","",0x1), 0x80980580:("D_80980580","f32","",0x4), 0x80980584:("D_80980584","f32","",0x4), - 0x80980590:("effectSsEnFireOverlayInfo","OverlayRelocationSection","",0x14), - 0x809805A4:("effectSsEnFireOverlayRelocations","u32","[9]",0x24), - 0x809805CC:("effectSsEnFireOverlayInfoOffset","u32","",0x4), 0x809808E0:("D_809808E0","UNK_TYPE1","",0x1), - 0x809808E8:("D_809808E8","UNK_TYPE1","",0x1), + 0x809808E8:("Effect_Ss_Extra_InitVars","UNK_TYPE1","",0x1), 0x809808F0:("D_809808F0","UNK_TYPE1","",0x1), - 0x80980900:("effectSsExtraOverlayInfo","OverlayRelocationSection","",0x14), - 0x80980914:("effectSsExtraOverlayRelocations","u32","[9]",0x24), - 0x8098093C:("effectSsExtraOverlayInfoOffset","u32","",0x4), - 0x80980CD0:("D_80980CD0","UNK_TYPE1","",0x1), + 0x80980CD0:("Effect_Ss_Dead_Db_InitVars","UNK_TYPE1","",0x1), 0x80980CD8:("D_80980CD8","UNK_TYPE1","",0x1), 0x80980D00:("D_80980D00","f32","",0x4), - 0x80980D10:("effectSsDeadDbOverlayInfo","OverlayRelocationSection","",0x14), - 0x80980D24:("effectSsDeadDbOverlayRelocations","u32","[9]",0x24), - 0x80980D4C:("effectSsDeadDbOverlayInfoOffset","u32","",0x4), - 0x80981270:("D_80981270","UNK_TYPE1","",0x1), + 0x80981270:("Effect_Ss_Dead_Dd_InitVars","UNK_TYPE1","",0x1), 0x80981280:("D_80981280","f32","",0x4), - 0x80981290:("effectSsDeadDdOverlayInfo","OverlayRelocationSection","",0x14), - 0x809812A4:("effectSsDeadDdOverlayRelocations","u32","[11]",0x2c), - 0x809812DC:("effectSsDeadDdOverlayInfoOffset","u32","",0x4), - 0x80981700:("D_80981700","UNK_TYPE1","",0x1), + 0x80981700:("Effect_Ss_Dead_Ds_InitVars","UNK_TYPE1","",0x1), 0x80981710:("D_80981710","f32","",0x4), 0x80981714:("D_80981714","f32","",0x4), - 0x80981720:("effectSsDeadDsOverlayInfo","OverlayRelocationSection","",0x14), - 0x80981734:("effectSsDeadDsOverlayRelocations","u32","[9]",0x24), - 0x8098175C:("effectSsDeadDsOverlayInfoOffset","u32","",0x4), 0x80981F70:("Oceff_Storm_InitVars","UNK_TYPE1","",0x1), 0x80981F90:("D_80981F90","UNK_TYPE1","",0x1), 0x80982F90:("D_80982F90","UNK_TYPE1","",0x1), @@ -9880,20 +9344,14 @@ 0x809831D7:("D_809831D7","UNK_TYPE1","",0x1), 0x809831E8:("D_809831E8","UNK_TYPE1","",0x1), 0x80983290:("D_80983290","UNK_TYPE1","",0x1), - 0x80983320:("jtbl_D_80983320","UNK_PTR","",0x4), + 0x80983320:("jtbl_80983320","UNK_PTR","",0x4), 0x8098339C:("D_8098339C","f32","",0x4), 0x809833A0:("D_809833A0","f32","",0x4), 0x809833A4:("D_809833A4","f32","",0x4), 0x809833A8:("D_809833A8","f32","",0x4), 0x809833AC:("D_809833AC","f32","",0x4), 0x809833B0:("D_809833B0","f32","",0x4), - 0x809833C0:("oceffStormOverlayInfo","OverlayRelocationSection","",0x14), - 0x809833D4:("oceffStormOverlayRelocations","u32","[80]",0x140), - 0x8098351C:("oceffStormOverlayInfoOffset","u32","",0x4), 0x80983890:("Obj_Demo_InitVars","UNK_TYPE1","",0x1), - 0x809838B0:("objDemoOverlayInfo","OverlayRelocationSection","",0x14), - 0x809838C4:("objDemoOverlayRelocations","u32","[9]",0x24), - 0x809838EC:("objDemoOverlayInfoOffset","u32","",0x4), 0x809857C0:("En_Minislime_InitVars","UNK_TYPE1","",0x1), 0x809857E0:("D_809857E0","UNK_TYPE1","",0x1), 0x8098580C:("D_8098580C","UNK_TYPE1","",0x1), @@ -9948,15 +9406,9 @@ 0x809858FC:("D_809858FC","f32","",0x4), 0x80985900:("D_80985900","f32","",0x4), 0x80985904:("D_80985904","f32","",0x4), - 0x80985910:("enMinislimeOverlayInfo","OverlayRelocationSection","",0x14), - 0x80985924:("enMinislimeOverlayRelocations","u32","[195]",0x30c), - 0x80985C3C:("enMinislimeOverlayInfoOffset","u32","",0x4), 0x809861D0:("En_Nutsball_InitVars","UNK_TYPE1","",0x1), 0x809861F0:("D_809861F0","UNK_TYPE1","",0x1), 0x80986220:("D_80986220","f32","",0x4), - 0x80986230:("enNutsballOverlayInfo","OverlayRelocationSection","",0x14), - 0x80986244:("enNutsballOverlayRelocations","u32","[10]",0x28), - 0x8098626C:("enNutsballOverlayInfoOffset","u32","",0x4), 0x80986670:("Oceff_Wipe2_InitVars","UNK_TYPE1","",0x1), 0x80986690:("D_80986690","UNK_TYPE1","",0x1), 0x80986E90:("D_80986E90","UNK_TYPE1","",0x1), @@ -9988,9 +9440,6 @@ 0x80987900:("D_80987900","f32","",0x4), 0x80987904:("D_80987904","f32","",0x4), 0x80987908:("D_80987908","f32","",0x4), - 0x80987910:("oceffWipe2OverlayInfo","OverlayRelocationSection","",0x14), - 0x80987924:("oceffWipe2OverlayRelocations","u32","[41]",0xa4), - 0x809879CC:("oceffWipe2OverlayInfoOffset","u32","",0x4), 0x80987DF0:("Oceff_Wipe3_InitVars","UNK_TYPE1","",0x1), 0x80987E10:("D_80987E10","UNK_TYPE1","",0x1), 0x80988E10:("D_80988E10","UNK_TYPE1","",0x1), @@ -10021,9 +9470,6 @@ 0x80989060:("D_80989060","f32","",0x4), 0x80989064:("D_80989064","f32","",0x4), 0x80989068:("D_80989068","f32","",0x4), - 0x80989070:("oceffWipe3OverlayInfo","OverlayRelocationSection","",0x14), - 0x80989084:("oceffWipe3OverlayRelocations","u32","[40]",0xa0), - 0x8098912C:("oceffWipe3OverlayInfoOffset","u32","",0x4), 0x8098C280:("En_Dg_InitVars","UNK_TYPE1","",0x1), 0x8098C2A0:("D_8098C2A0","UNK_TYPE1","",0x1), 0x8098C2A4:("D_8098C2A4","UNK_TYPE2","",0x2), @@ -10047,17 +9493,11 @@ 0x8098C490:("D_8098C490","f32","",0x4), 0x8098C494:("D_8098C494","f32","",0x4), 0x8098C498:("D_8098C498","f32","",0x4), - 0x8098C49C:("jtbl_D_8098C49C","UNK_PTR","",0x4), - 0x8098C4C0:("enDgOverlayInfo","OverlayRelocationSection","",0x14), - 0x8098C4D4:("enDgOverlayRelocations","u32","[338]",0x548), - 0x8098CA1C:("enDgOverlayInfoOffset","u32","",0x4), + 0x8098C49C:("jtbl_8098C49C","UNK_PTR","",0x4), 0x8098CD60:("En_Si_InitVars","UNK_TYPE1","",0x1), 0x8098CD80:("D_8098CD80","UNK_TYPE1","",0x1), 0x8098CDAC:("D_8098CDAC","UNK_PTR","",0x4), 0x8098CDB8:("D_8098CDB8","UNK_TYPE1","",0x1), - 0x8098CDE0:("enSiOverlayInfo","OverlayRelocationSection","",0x14), - 0x8098CDF4:("enSiOverlayRelocations","u32","[17]",0x44), - 0x8098CE3C:("enSiOverlayInfoOffset","u32","",0x4), 0x8098E420:("Obj_Comb_InitVars","UNK_TYPE1","",0x1), 0x8098E440:("D_8098E440","UNK_TYPE1","",0x1), 0x8098E464:("D_8098E464","UNK_TYPE1","",0x1), @@ -10074,9 +9514,6 @@ 0x8098E4B4:("D_8098E4B4","f32","",0x4), 0x8098E4B8:("D_8098E4B8","f32","",0x4), 0x8098E4BC:("D_8098E4BC","f32","",0x4), - 0x8098E4C0:("objCombOverlayInfo","OverlayRelocationSection","",0x14), - 0x8098E4D4:("objCombOverlayRelocations","u32","[57]",0xe4), - 0x8098E5BC:("objCombOverlayInfoOffset","u32","",0x4), 0x8098EE40:("Obj_Kibako2_InitVars","UNK_TYPE1","",0x1), 0x8098EE60:("D_8098EE60","UNK_TYPE1","",0x1), 0x8098EE8C:("D_8098EE8C","UNK_TYPE1","",0x1), @@ -10086,22 +9523,13 @@ 0x8098EEAC:("D_8098EEAC","f32","",0x4), 0x8098EEB0:("D_8098EEB0","f32","",0x4), 0x8098EEB4:("D_8098EEB4","UNK_TYPE1","",0x1), - 0x8098EEC0:("objKibako2OverlayInfo","OverlayRelocationSection","",0x14), - 0x8098EED4:("objKibako2OverlayRelocations","u32","[31]",0x7c), - 0x8098EF5C:("objKibako2OverlayInfoOffset","u32","",0x4), 0x8098EFF0:("En_Hs2_InitVars","UNK_TYPE1","",0x1), - 0x8098F010:("enHs2OverlayInfo","OverlayRelocationSection","",0x14), - 0x8098F024:("enHs2OverlayRelocations","u32","[6]",0x18), - 0x8098F03C:("enHs2OverlayInfoOffset","u32","",0x4), 0x8098F720:("Obj_Mure3_InitVars","UNK_TYPE1","",0x1), 0x8098F740:("D_8098F740","UNK_TYPE1","",0x1), 0x8098F748:("D_8098F748","UNK_TYPE1","",0x1), 0x8098F754:("D_8098F754","UNK_TYPE1","",0x1), 0x8098F760:("D_8098F760","f32","",0x4), 0x8098F764:("D_8098F764","f32","",0x4), - 0x8098F770:("objMure3OverlayInfo","OverlayRelocationSection","",0x14), - 0x8098F784:("objMure3OverlayRelocations","u32","[30]",0x78), - 0x8098F7FC:("objMure3OverlayInfoOffset","u32","",0x4), 0x809901A0:("En_Tg_InitVars","UNK_TYPE1","",0x1), 0x809901C0:("D_809901C0","UNK_TYPE1","",0x1), 0x809901EC:("D_809901EC","UNK_TYPE1","",0x1), @@ -10112,9 +9540,6 @@ 0x80990240:("D_80990240","UNK_TYPE4","",0x4), 0x8099024C:("D_8099024C","UNK_TYPE4","",0x4), 0x80990260:("D_80990260","f32","",0x4), - 0x80990270:("enTgOverlayInfo","OverlayRelocationSection","",0x14), - 0x80990284:("enTgOverlayRelocations","u32","[34]",0x88), - 0x8099030C:("enTgOverlayInfoOffset","u32","",0x4), 0x80994150:("En_Wf_InitVars","UNK_TYPE1","",0x1), 0x80994170:("D_80994170","UNK_TYPE1","",0x1), 0x80994200:("D_80994200","UNK_TYPE1","",0x1), @@ -10153,9 +9578,6 @@ 0x80994364:("D_80994364","f32","",0x4), 0x80994368:("D_80994368","f32","",0x4), 0x8099436C:("D_8099436C","f32","",0x4), - 0x80994370:("enWfOverlayInfo","OverlayRelocationSection","",0x14), - 0x80994384:("enWfOverlayRelocations","u32","[263]",0x41c), - 0x809947AC:("enWfOverlayInfoOffset","u32","",0x4), 0x80997330:("D_80997330","UNK_TYPE1","",0x1), 0x80997468:("D_80997468","UNK_TYPE4","",0x4), 0x80997498:("D_80997498","UNK_TYPE1","",0x1), @@ -10171,7 +9593,7 @@ 0x80997564:("D_80997564","UNK_TYPE1","",0x1), 0x80997570:("D_80997570","f32","",0x4), 0x80997574:("D_80997574","f32","",0x4), - 0x80997578:("jtbl_D_80997578","UNK_PTR","",0x4), + 0x80997578:("jtbl_80997578","UNK_PTR","",0x4), 0x80997594:("D_80997594","f32","",0x4), 0x80997598:("D_80997598","f32","",0x4), 0x8099759C:("D_8099759C","f32","",0x4), @@ -10180,13 +9602,10 @@ 0x809975A8:("D_809975A8","f32","",0x4), 0x809975AC:("D_809975AC","f32","",0x4), 0x809975B0:("D_809975B0","f32","",0x4), - 0x809975B4:("jtbl_D_809975B4","UNK_PTR","",0x4), - 0x809975E8:("jtbl_D_809975E8","UNK_PTR","",0x4), + 0x809975B4:("jtbl_809975B4","UNK_PTR","",0x4), + 0x809975E8:("jtbl_809975E8","UNK_PTR","",0x4), 0x80997624:("D_80997624","f32","",0x4), 0x80997628:("D_80997628","f32","",0x4), - 0x80997630:("enSkbOverlayInfo","OverlayRelocationSection","",0x14), - 0x80997644:("enSkbOverlayRelocations","u32","[272]",0x440), - 0x80997A8C:("enSkbOverlayInfoOffset","u32","",0x4), 0x8099A380:("En_Gs_InitVars","UNK_TYPE1","",0x1), 0x8099A3A0:("D_8099A3A0","UNK_TYPE1","",0x1), 0x8099A3CC:("D_8099A3CC","UNK_TYPE1","",0x1), @@ -10205,11 +9624,11 @@ 0x8099A444:("D_8099A444","UNK_TYPE1","",0x1), 0x8099A450:("D_8099A450","UNK_TYPE4","",0x4), 0x8099A458:("D_8099A458","UNK_TYPE4","",0x4), - 0x8099A470:("jtbl_D_8099A470","UNK_PTR","",0x4), - 0x8099A48C:("jtbl_D_8099A48C","UNK_PTR","",0x4), + 0x8099A470:("jtbl_8099A470","UNK_PTR","",0x4), + 0x8099A48C:("jtbl_8099A48C","UNK_PTR","",0x4), 0x8099A4B8:("D_8099A4B8","f32","",0x4), 0x8099A4BC:("D_8099A4BC","f32","",0x4), - 0x8099A4C0:("jtbl_D_8099A4C0","UNK_PTR","",0x4), + 0x8099A4C0:("jtbl_8099A4C0","UNK_PTR","",0x4), 0x8099A4D8:("D_8099A4D8","f32","",0x4), 0x8099A4DC:("D_8099A4DC","f32","",0x4), 0x8099A4E0:("D_8099A4E0","f32","",0x4), @@ -10245,17 +9664,11 @@ 0x8099A558:("D_8099A558","f32","",0x4), 0x8099A55C:("D_8099A55C","f32","",0x4), 0x8099A560:("D_8099A560","f32","",0x4), - 0x8099A564:("jtbl_D_8099A564","UNK_PTR","",0x4), + 0x8099A564:("jtbl_8099A564","UNK_PTR","",0x4), 0x8099A578:("D_8099A578","f32","",0x4), 0x8099A57C:("D_8099A57C","f32","",0x4), 0x8099A580:("D_8099A580","f32","",0x4), - 0x8099A590:("enGsOverlayInfo","OverlayRelocationSection","",0x14), - 0x8099A5A4:("enGsOverlayRelocations","u32","[219]",0x36c), - 0x8099A91C:("enGsOverlayInfoOffset","u32","",0x4), 0x8099AAE0:("Obj_Sound_InitVars","UNK_TYPE1","",0x1), - 0x8099AB00:("objSoundOverlayInfo","OverlayRelocationSection","",0x14), - 0x8099AB14:("objSoundOverlayRelocations","u32","[5]",0x14), - 0x8099AB2C:("objSoundOverlayInfoOffset","u32","",0x4), 0x8099C050:("En_Crow_InitVars","UNK_TYPE1","",0x1), 0x8099C070:("D_8099C070","UNK_TYPE1","",0x1), 0x8099C094:("D_8099C094","UNK_TYPE1","",0x1), @@ -10277,9 +9690,6 @@ 0x8099C108:("D_8099C108","f32","",0x4), 0x8099C10C:("D_8099C10C","f32","",0x4), 0x8099C110:("D_8099C110","f32","",0x4), - 0x8099C120:("enCrowOverlayInfo","OverlayRelocationSection","",0x14), - 0x8099C134:("enCrowOverlayRelocations","u32","[85]",0x154), - 0x8099C28C:("enCrowOverlayInfoOffset","u32","",0x4), 0x8099D5F0:("En_Cow_InitVars","UNK_TYPE1","",0x1), 0x8099D610:("D_8099D610","UNK_TYPE1","",0x1), 0x8099D63C:("D_8099D63C","UNK_TYPE1","",0x1), @@ -10288,9 +9698,6 @@ 0x8099D658:("D_8099D658","f32","",0x4), 0x8099D65C:("D_8099D65C","f32","",0x4), 0x8099D660:("D_8099D660","f32","",0x4), - 0x8099D670:("enCowOverlayInfo","OverlayRelocationSection","",0x14), - 0x8099D684:("enCowOverlayRelocations","u32","[62]",0xf8), - 0x8099D77C:("enCowOverlayInfoOffset","u32","",0x4), 0x8099DB90:("Oceff_Wipe4_InitVars","UNK_TYPE1","",0x1), 0x8099DBB0:("D_8099DBB0","UNK_TYPE1","",0x1), 0x8099E3B0:("D_8099E3B0","UNK_TYPE1","",0x1), @@ -10323,9 +9730,6 @@ 0x8099E6A0:("D_8099E6A0","f32","",0x4), 0x8099E6A4:("D_8099E6A4","f32","",0x4), 0x8099E6A8:("D_8099E6A8","f32","",0x4), - 0x8099E6B0:("oceffWipe4OverlayInfo","OverlayRelocationSection","",0x14), - 0x8099E6C4:("oceffWipe4OverlayRelocations","u32","[44]",0xb0), - 0x8099E77C:("oceffWipe4OverlayInfoOffset","u32","",0x4), 0x8099F490:("En_Zo_InitVars","UNK_TYPE1","",0x1), 0x8099F4B0:("D_8099F4B0","UNK_TYPE1","",0x1), 0x8099F4DC:("D_8099F4DC","UNK_TYPE1","",0x1), @@ -10347,30 +9751,18 @@ 0x8099F610:("D_8099F610","f32","",0x4), 0x8099F614:("D_8099F614","f32","",0x4), 0x8099F618:("D_8099F618","f32","",0x4), - 0x8099F620:("enZoOverlayInfo","OverlayRelocationSection","",0x14), - 0x8099F634:("enZoOverlayRelocations","u32","[59]",0xec), - 0x8099F72C:("enZoOverlayInfoOffset","u32","",0x4), - 0x8099F9E0:("D_8099F9E0","UNK_TYPE1","",0x1), + 0x8099F9E0:("Effect_Ss_Ice_Smoke_InitVars","UNK_TYPE1","",0x1), 0x8099F9F0:("D_8099F9F0","f32","",0x4), - 0x8099FA00:("effectSsIceSmokeOverlayInfo","OverlayRelocationSection","",0x14), - 0x8099FA14:("effectSsIceSmokeOverlayRelocations","u32","[7]",0x1c), - 0x8099FA3C:("effectSsIceSmokeOverlayInfoOffset","u32","",0x4), 0x8099FE10:("Obj_Makekinsuta_InitVars","UNK_TYPE1","",0x1), 0x8099FE30:("D_8099FE30","UNK_TYPE1","",0x1), 0x8099FE3C:("D_8099FE3C","UNK_TYPE1","",0x1), 0x8099FE50:("D_8099FE50","UNK_TYPE1","",0x1), - 0x8099FE60:("objMakekinsutaOverlayInfo","OverlayRelocationSection","",0x14), - 0x8099FE74:("objMakekinsutaOverlayRelocations","u32","[14]",0x38), - 0x8099FEAC:("objMakekinsutaOverlayInfoOffset","u32","",0x4), 0x809A0D80:("En_Ge3_InitVars","UNK_TYPE1","",0x1), 0x809A0DA0:("D_809A0DA0","UNK_TYPE1","",0x1), 0x809A0DCC:("D_809A0DCC","UNK_TYPE1","",0x1), 0x809A0DF0:("D_809A0DF0","UNK_TYPE4","",0x4), 0x809A0DFC:("D_809A0DFC","UNK_TYPE1","",0x1), - 0x809A0E10:("jtbl_D_809A0E10","UNK_PTR","",0x4), - 0x809A0E30:("enGe3OverlayInfo","OverlayRelocationSection","",0x14), - 0x809A0E44:("enGe3OverlayRelocations","u32","[52]",0xd0), - 0x809A0F1C:("enGe3OverlayInfoOffset","u32","",0x4), + 0x809A0E10:("jtbl_809A0E10","UNK_PTR","",0x4), 0x809A1A80:("Obj_Hamishi_InitVars","UNK_TYPE1","",0x1), 0x809A1AA0:("D_809A1AA0","UNK_TYPE1","",0x1), 0x809A1ACC:("D_809A1ACC","UNK_TYPE1","",0x1), @@ -10381,34 +9773,22 @@ 0x809A1B08:("D_809A1B08","f32","",0x4), 0x809A1B0C:("D_809A1B0C","f32","",0x4), 0x809A1B10:("D_809A1B10","f32","",0x4), - 0x809A1B20:("objHamishiOverlayInfo","OverlayRelocationSection","",0x14), - 0x809A1B34:("objHamishiOverlayRelocations","u32","[27]",0x6c), - 0x809A1BAC:("objHamishiOverlayInfoOffset","u32","",0x4), 0x809A1F60:("En_Zl4_InitVars","UNK_TYPE1","",0x1), 0x809A1F80:("D_809A1F80","UNK_TYPE1","",0x1), 0x809A1F98:("D_809A1F98","UNK_TYPE4","",0x4), 0x809A1FB0:("D_809A1FB0","f32","",0x4), - 0x809A1FC0:("enZl4OverlayInfo","OverlayRelocationSection","",0x14), - 0x809A1FD4:("enZl4OverlayRelocations","u32","[21]",0x54), - 0x809A202C:("enZl4OverlayInfoOffset","u32","",0x4), 0x809A2250:("En_Mm2_InitVars","UNK_TYPE1","",0x1), 0x809A2270:("D_809A2270","UNK_TYPE1","",0x1), 0x809A2670:("D_809A2670","UNK_TYPE1","",0x1), 0x809A2870:("D_809A2870","UNK_TYPE1","",0x1), 0x809A2910:("D_809A2910","UNK_TYPE1","",0x1), 0x809A29D8:("D_809A29D8","UNK_TYPE1","",0x1), - 0x809A2B00:("enMm2OverlayInfo","OverlayRelocationSection","",0x14), - 0x809A2B14:("enMm2OverlayRelocations","u32","[18]",0x48), - 0x809A2B5C:("enMm2OverlayInfoOffset","u32","",0x4), 0x809A3230:("Door_Spiral_InitVars","UNK_TYPE1","",0x1), 0x809A3250:("D_809A3250","UNK_TYPE1","",0x1), 0x809A32D0:("D_809A32D0","UNK_TYPE1","",0x1), 0x809A32EC:("D_809A32EC","UNK_TYPE2","",0x2), 0x809A3308:("D_809A3308","UNK_TYPE1","",0x1), 0x809A3320:("D_809A3320","f32","",0x4), - 0x809A3330:("doorSpiralOverlayInfo","OverlayRelocationSection","",0x14), - 0x809A3344:("doorSpiralOverlayRelocations","u32","[36]",0x90), - 0x809A33DC:("doorSpiralOverlayInfoOffset","u32","",0x4), 0x809A4030:("Obj_Pzlblock_InitVars","UNK_TYPE1","",0x1), 0x809A4050:("D_809A4050","UNK_TYPE1","",0x1), 0x809A4058:("D_809A4058","UNK_TYPE1","",0x1), @@ -10417,9 +9797,6 @@ 0x809A4088:("D_809A4088","UNK_TYPE1","",0x1), 0x809A40A0:("D_809A40A0","f32","",0x4), 0x809A40A4:("D_809A40A4","f32","",0x4), - 0x809A40B0:("objPzlblockOverlayInfo","OverlayRelocationSection","",0x14), - 0x809A40C4:("objPzlblockOverlayRelocations","u32","[62]",0xf8), - 0x809A41BC:("objPzlblockOverlayInfoOffset","u32","",0x4), 0x809A4C90:("Obj_Toge_InitVars","UNK_TYPE1","",0x1), 0x809A4CB0:("D_809A4CB0","UNK_TYPE1","",0x1), 0x809A4CDC:("D_809A4CDC","UNK_TYPE1","",0x1), @@ -10430,9 +9807,6 @@ 0x809A4D30:("D_809A4D30","f32","",0x4), 0x809A4D34:("D_809A4D34","f32","",0x4), 0x809A4D38:("D_809A4D38","f32","",0x4), - 0x809A4D40:("objTogeOverlayInfo","OverlayRelocationSection","",0x14), - 0x809A4D54:("objTogeOverlayRelocations","u32","[42]",0xa8), - 0x809A4DFC:("objTogeOverlayInfoOffset","u32","",0x4), 0x809A5B90:("Obj_Armos_InitVars","UNK_TYPE1","",0x1), 0x809A5BB0:("D_809A5BB0","UNK_TYPE1","",0x1), 0x809A5BB8:("D_809A5BB8","UNK_TYPE1","",0x1), @@ -10443,9 +9817,6 @@ 0x809A5BEC:("D_809A5BEC","f32","",0x4), 0x809A5BF0:("D_809A5BF0","f32","",0x4), 0x809A5BF4:("D_809A5BF4","f32","",0x4), - 0x809A5C00:("objArmosOverlayInfo","OverlayRelocationSection","",0x14), - 0x809A5C14:("objArmosOverlayRelocations","u32","[59]",0xec), - 0x809A5D0C:("objArmosOverlayInfoOffset","u32","",0x4), 0x809A6150:("Obj_Boyo_InitVars","UNK_TYPE1","",0x1), 0x809A6170:("D_809A6170","UNK_TYPE1","",0x1), 0x809A619C:("D_809A619C","UNK_TYPE1","",0x1), @@ -10458,9 +9829,6 @@ 0x809A61E0:("D_809A61E0","f32","",0x4), 0x809A61E4:("D_809A61E4","f32","",0x4), 0x809A61E8:("D_809A61E8","f32","",0x4), - 0x809A61F0:("objBoyoOverlayInfo","OverlayRelocationSection","",0x14), - 0x809A6204:("objBoyoOverlayRelocations","u32","[30]",0x78), - 0x809A627C:("objBoyoOverlayInfoOffset","u32","",0x4), 0x809A8C80:("D_809A8C80","UNK_TYPE4","",0x4), 0x809A8C94:("D_809A8C94","UNK_TYPE1","",0x1), 0x809A8CAC:("D_809A8CAC","UNK_TYPE1","",0x1), @@ -10501,9 +9869,6 @@ 0x809A8E9C:("D_809A8E9C","f32","",0x4), 0x809A8EA0:("D_809A8EA0","f32","",0x4), 0x809A8EA4:("D_809A8EA4","f32","",0x4), - 0x809A8EB0:("enGrasshopperOverlayInfo","OverlayRelocationSection","",0x14), - 0x809A8EC4:("enGrasshopperOverlayRelocations","u32","[143]",0x23c), - 0x809A910C:("enGrasshopperOverlayInfoOffset","u32","",0x4), 0x809AA9F0:("D_809AA9F0","UNK_TYPE1","",0x1), 0x809AAA68:("D_809AAA68","UNK_TYPE1","",0x1), 0x809AAAE0:("D_809AAAE0","UNK_TYPE1","",0x1), @@ -10528,9 +9893,6 @@ 0x809AABD0:("D_809AABD0","f32","",0x4), 0x809AABD4:("D_809AABD4","f32","",0x4), 0x809AABD8:("D_809AABD8","f32","",0x4), - 0x809AABE0:("objGrassOverlayInfo","OverlayRelocationSection","",0x14), - 0x809AABF4:("objGrassOverlayRelocations","u32","[104]",0x1a0), - 0x809AAD9C:("objGrassOverlayInfoOffset","UNK_TYPE4","",0x4), 0x809AADA0:("D_809AADA0","UNK_TYPE1","",0x1), 0x809AADB0:("D_809AADB0","UNK_TYPE1","",0x1), 0x809AADC0:("D_809AADC0","UNK_TYPE1","",0x1), @@ -10551,9 +9913,6 @@ 0x809ABC70:("D_809ABC70","f32","",0x4), 0x809ABC74:("D_809ABC74","f32","",0x4), 0x809ABC78:("D_809ABC78","f32","",0x4), - 0x809ABC80:("objGrassCarryOverlayInfo","OverlayRelocationSection","",0x14), - 0x809ABC94:("objGrassCarryOverlayRelocations","u32","[82]",0x148), - 0x809ABDDC:("objGrassCarryOverlayInfoOffset","u32","",0x4), 0x809AC340:("Obj_Grass_Unit_InitVars","UNK_TYPE1","",0x1), 0x809AC360:("D_809AC360","UNK_TYPE1","",0x1), 0x809AC3A8:("D_809AC3A8","UNK_TYPE1","",0x1), @@ -10562,9 +9921,6 @@ 0x809AC41C:("D_809AC41C","UNK_TYPE4","",0x4), 0x809AC420:("D_809AC420","UNK_TYPE4","",0x4), 0x809AC424:("D_809AC424","UNK_TYPE4","",0x4), - 0x809AC430:("objGrassUnitOverlayInfo","OverlayRelocationSection","",0x14), - 0x809AC444:("objGrassUnitOverlayRelocations","u32","[23]",0x5c), - 0x809AC4AC:("objGrassUnitOverlayInfoOffset","u32","",0x4), 0x809ACC40:("Bg_Fire_Wall_InitVars","UNK_TYPE1","",0x1), 0x809ACC60:("D_809ACC60","UNK_TYPE1","",0x1), 0x809ACC8C:("D_809ACC8C","UNK_TYPE1","",0x1), @@ -10574,14 +9930,8 @@ 0x809ACCC8:("D_809ACCC8","f32","",0x4), 0x809ACCCC:("D_809ACCCC","f32","",0x4), 0x809ACCD0:("D_809ACCD0","f32","",0x4), - 0x809ACCE0:("bgFireWallOverlayInfo","OverlayRelocationSection","",0x14), - 0x809ACCF4:("bgFireWallOverlayRelocations","u32","[37]",0x94), - 0x809ACD8C:("bgFireWallOverlayInfoOffset","u32","",0x4), 0x809ACED0:("En_Bu_InitVars","UNK_TYPE1","",0x1), 0x809ACEF0:("D_809ACEF0","f32","",0x4), - 0x809ACF00:("enBuOverlayInfo","OverlayRelocationSection","",0x14), - 0x809ACF14:("enBuOverlayRelocations","u32","[8]",0x20), - 0x809ACF3C:("enBuOverlayInfoOffset","u32","",0x4), 0x809AD7F0:("En_Encount3_InitVars","UNK_TYPE1","",0x1), 0x809AD810:("D_809AD810","UNK_TYPE4","",0x4), 0x809AD820:("D_809AD820","f32","",0x4), @@ -10590,9 +9940,6 @@ 0x809AD82C:("D_809AD82C","f32","",0x4), 0x809AD830:("D_809AD830","f32","",0x4), 0x809AD834:("D_809AD834","f32","",0x4), - 0x809AD840:("enEncount3OverlayInfo","OverlayRelocationSection","",0x14), - 0x809AD854:("enEncount3OverlayRelocations","u32","[34]",0x88), - 0x809AD8DC:("enEncount3OverlayInfoOffset","u32","",0x4), 0x809B0F40:("D_809B0F40","UNK_TYPE4","",0x4), 0x809B0F44:("D_809B0F44","UNK_TYPE4","",0x4), 0x809B0F48:("D_809B0F48","UNK_TYPE1","",0x1), @@ -10609,7 +9956,7 @@ 0x809B10D8:("D_809B10D8","UNK_TYPE1","",0x1), 0x809B10E4:("D_809B10E4","UNK_TYPE2","",0x2), 0x809B1110:("D_809B1110","f32","",0x4), - 0x809B1114:("jtbl_D_809B1114","UNK_PTR","",0x4), + 0x809B1114:("jtbl_809B1114","UNK_PTR","",0x4), 0x809B112C:("D_809B112C","f32","",0x4), 0x809B1130:("D_809B1130","f32","",0x4), 0x809B1134:("D_809B1134","f32","",0x4), @@ -10621,15 +9968,12 @@ 0x809B114C:("D_809B114C","f32","",0x4), 0x809B1150:("D_809B1150","f32","",0x4), 0x809B1154:("D_809B1154","f32","",0x4), - 0x809B1158:("jtbl_D_809B1158","UNK_PTR","",0x4), - 0x809B1180:("jtbl_D_809B1180","UNK_PTR","",0x4), + 0x809B1158:("jtbl_809B1158","UNK_PTR","",0x4), + 0x809B1180:("jtbl_809B1180","UNK_PTR","",0x4), 0x809B11A4:("D_809B11A4","f32","",0x4), 0x809B11A8:("D_809B11A8","f32","",0x4), 0x809B11AC:("D_809B11AC","f32","",0x4), 0x809B11B0:("D_809B11B0","f32","",0x4), - 0x809B11C0:("enJsoOverlayInfo","OverlayRelocationSection","",0x14), - 0x809B11D4:("enJsoOverlayRelocations","u32","[219]",0x36c), - 0x809B154C:("enJsoOverlayInfoOffset","u32","",0x4), 0x809B1FA0:("Obj_Chikuwa_InitVars","UNK_TYPE1","",0x1), 0x809B1FC0:("D_809B1FC0","UNK_TYPE1","",0x1), 0x809B1FD0:("D_809B1FD0","UNK_TYPE1","",0x1), @@ -10648,9 +9992,6 @@ 0x809B201C:("D_809B201C","f32","",0x4), 0x809B2020:("D_809B2020","f32","",0x4), 0x809B2024:("D_809B2024","f32","",0x4), - 0x809B2030:("objChikuwaOverlayInfo","OverlayRelocationSection","",0x14), - 0x809B2044:("objChikuwaOverlayRelocations","u32","[42]",0xa8), - 0x809B20EC:("objChikuwaOverlayInfoOffset","u32","",0x4), 0x809BDAF0:("D_809BDAF0","UNK_TYPE4","",0x4), 0x809BDAFC:("D_809BDAFC","UNK_TYPE1","",0x1), 0x809BDB00:("D_809BDB00","UNK_TYPE1","",0x1), @@ -10729,7 +10070,7 @@ 0x809BDE20:("D_809BDE20","f32","",0x4), 0x809BDE24:("D_809BDE24","f32","",0x4), 0x809BDE28:("D_809BDE28","f32","",0x4), - 0x809BDE2C:("jtbl_D_809BDE2C","UNK_PTR","",0x4), + 0x809BDE2C:("jtbl_809BDE2C","UNK_PTR","",0x4), 0x809BDE5C:("D_809BDE5C","f32","",0x4), 0x809BDE60:("D_809BDE60","f32","",0x4), 0x809BDE64:("D_809BDE64","f32","",0x4), @@ -10741,8 +10082,8 @@ 0x809BDE7C:("D_809BDE7C","f32","",0x4), 0x809BDE80:("D_809BDE80","f32","",0x4), 0x809BDE84:("D_809BDE84","f32","",0x4), - 0x809BDE88:("jtbl_D_809BDE88","UNK_PTR","",0x4), - 0x809BDE9C:("jtbl_D_809BDE9C","UNK_PTR","",0x4), + 0x809BDE88:("jtbl_809BDE88","UNK_PTR","",0x4), + 0x809BDE9C:("jtbl_809BDE9C","UNK_PTR","",0x4), 0x809BDEC0:("D_809BDEC0","f32","",0x4), 0x809BDEC4:("D_809BDEC4","f32","",0x4), 0x809BDEC8:("D_809BDEC8","f32","",0x4), @@ -10784,7 +10125,7 @@ 0x809BDF58:("D_809BDF58","f32","",0x4), 0x809BDF5C:("D_809BDF5C","f32","",0x4), 0x809BDF60:("D_809BDF60","f32","",0x4), - 0x809BDF64:("jtbl_D_809BDF64","UNK_PTR","",0x4), + 0x809BDF64:("jtbl_809BDF64","UNK_PTR","",0x4), 0x809BDF9C:("D_809BDF9C","f32","",0x4), 0x809BDFA0:("D_809BDFA0","f32","",0x4), 0x809BDFA4:("D_809BDFA4","f32","",0x4), @@ -10800,7 +10141,7 @@ 0x809BDFCC:("D_809BDFCC","f32","",0x4), 0x809BDFD0:("D_809BDFD0","f32","",0x4), 0x809BDFD4:("D_809BDFD4","f32","",0x4), - 0x809BDFD8:("jtbl_D_809BDFD8","UNK_PTR","",0x4), + 0x809BDFD8:("jtbl_809BDFD8","UNK_PTR","",0x4), 0x809BE080:("D_809BE080","f32","",0x4), 0x809BE084:("D_809BE084","f32","",0x4), 0x809BE088:("D_809BE088","f32","",0x4), @@ -10817,9 +10158,6 @@ 0x809BE0B4:("D_809BE0B4","f32","",0x4), 0x809BE0B8:("D_809BE0B8","f32","",0x4), 0x809BE0BC:("D_809BE0BC","f32","",0x4), - 0x809BE0C0:("enKnightOverlayInfo","OverlayRelocationSection","",0x14), - 0x809BE0D4:("enKnightOverlayRelocations","u32","[958]",0xef8), - 0x809BEFCC:("enKnightOverlayInfoOffset","u32","",0x4), 0x809BEFD0:("D_809BEFD0","UNK_TYPE4","",0x4), 0x809BEFD4:("D_809BEFD4","UNK_TYPE4","",0x4), 0x809BEFD8:("D_809BEFD8","UNK_TYPE4","",0x4), @@ -10833,9 +10171,6 @@ 0x809C1000:("D_809C1000","UNK_TYPE1","",0x1), 0x809C1008:("D_809C1008","UNK_TYPE1","",0x1), 0x809C1010:("D_809C1010","f32","",0x4), - 0x809C1020:("enWarptagOverlayInfo","OverlayRelocationSection","",0x14), - 0x809C1034:("enWarptagOverlayRelocations","u32","[29]",0x74), - 0x809C10AC:("enWarptagOverlayInfoOffset","u32","",0x4), 0x809C3770:("En_Aob_01_InitVars","UNK_TYPE1","",0x1), 0x809C3790:("D_809C3790","UNK_TYPE4","",0x4), 0x809C3820:("D_809C3820","UNK_TYPE1","",0x1), @@ -10847,34 +10182,19 @@ 0x809C3980:("D_809C3980","f32","",0x4), 0x809C3984:("D_809C3984","f32","",0x4), 0x809C3988:("D_809C3988","f32","",0x4), - 0x809C398C:("jtbl_D_809C398C","UNK_PTR","",0x4), - 0x809C3A38:("jtbl_D_809C3A38","UNK_PTR","",0x4), + 0x809C398C:("jtbl_809C398C","UNK_PTR","",0x4), + 0x809C3A38:("jtbl_809C3A38","UNK_PTR","",0x4), 0x809C3A4C:("D_809C3A4C","f32","",0x4), 0x809C3A50:("D_809C3A50","f32","",0x4), 0x809C3A54:("D_809C3A54","f32","",0x4), 0x809C3A58:("D_809C3A58","f32","",0x4), 0x809C3A5C:("D_809C3A5C","f32","",0x4), - 0x809C3A60:("enAob01OverlayInfo","OverlayRelocationSection","",0x14), - 0x809C3A74:("enAob01OverlayRelocations","u32","[193]",0x304), - 0x809C3D7C:("enAob01OverlayInfoOffset","u32","",0x4), 0x809C3DC0:("En_Boj_01_InitVars","UNK_TYPE1","",0x1), - 0x809C3DE0:("enBoj01OverlayInfo","OverlayRelocationSection","",0x14), - 0x809C3DF4:("enBoj01OverlayRelocations","u32","[4]",0x10), - 0x809C3E0C:("enBoj01OverlayInfoOffset","u32","",0x4), 0x809C3E50:("En_Boj_02_InitVars","UNK_TYPE1","",0x1), - 0x809C3E70:("enBoj02OverlayInfo","OverlayRelocationSection","",0x14), - 0x809C3E84:("enBoj02OverlayRelocations","u32","[4]",0x10), - 0x809C3E9C:("enBoj02OverlayInfoOffset","u32","",0x4), 0x809C3EE0:("En_Boj_03_InitVars","UNK_TYPE1","",0x1), - 0x809C3F00:("enBoj03OverlayInfo","OverlayRelocationSection","",0x14), - 0x809C3F14:("enBoj03OverlayRelocations","u32","[4]",0x10), - 0x809C3F2C:("enBoj03OverlayInfoOffset","u32","",0x4), 0x809C46B0:("En_Encount4_InitVars","UNK_TYPE1","",0x1), 0x809C46D0:("D_809C46D0","UNK_TYPE1","",0x1), 0x809C46DC:("D_809C46DC","UNK_TYPE1","",0x1), - 0x809C46F0:("D_809C46F0","OverlayRelocationSection","",0x14), - 0x809C4704:("enEncount4OverlayRelocations","u32","[31]",0x7c), - 0x809C478C:("enEncount4OverlayInfoOffset","u32","",0x4), 0x809C6100:("D_809C6100","UNK_TYPE4","",0x4), 0x809C6104:("D_809C6104","UNK_TYPE4","",0x4), 0x809C6108:("En_Bom_Bowl_Man_InitVars","UNK_TYPE1","",0x1), @@ -10890,15 +10210,12 @@ 0x809C6200:("D_809C6200","UNK_PTR","",0x4), 0x809C6214:("D_809C6214","UNK_TYPE1","",0x1), 0x809C6220:("D_809C6220","UNK_TYPE1","",0x1), - 0x809C6240:("jtbl_D_809C6240","UNK_PTR","",0x4), + 0x809C6240:("jtbl_809C6240","UNK_PTR","",0x4), 0x809C6258:("D_809C6258","f32","",0x4), 0x809C625C:("D_809C625C","f32","",0x4), 0x809C6260:("D_809C6260","f32","",0x4), 0x809C6264:("D_809C6264","f32","",0x4), 0x809C6268:("D_809C6268","f32","",0x4), - 0x809C6270:("enBomBowlManOverlayInfo","OverlayRelocationSection","",0x14), - 0x809C6284:("enBomBowlManOverlayRelocations","u32","[141]",0x234), - 0x809C64BC:("enBomBowlManOverlayInfoOffset","u32","",0x4), 0x809C9160:("En_Syateki_Man_InitVars","UNK_TYPE1","",0x1), 0x809C9180:("D_809C9180","UNK_TYPE1","",0x1), 0x809C91C8:("D_809C91C8","UNK_TYPE1","",0x1), @@ -10917,16 +10234,13 @@ 0x809C94AC:("D_809C94AC","UNK_TYPE4","",0x4), 0x809C94B8:("D_809C94B8","UNK_PTR","",0x4), 0x809C94D0:("D_809C94D0","UNK_TYPE1","",0x1), - 0x809C950C:("jtbl_D_809C950C","UNK_PTR","",0x4), - 0x809C9544:("jtbl_D_809C9544","UNK_PTR","",0x4), - 0x809C9570:("jtbl_D_809C9570","UNK_PTR","",0x4), - 0x809C95F0:("jtbl_D_809C95F0","UNK_PTR","",0x4), + 0x809C950C:("jtbl_809C950C","UNK_PTR","",0x4), + 0x809C9544:("jtbl_809C9544","UNK_PTR","",0x4), + 0x809C9570:("jtbl_809C9570","UNK_PTR","",0x4), + 0x809C95F0:("jtbl_809C95F0","UNK_PTR","",0x4), 0x809C961C:("D_809C961C","f32","",0x4), 0x809C9620:("D_809C9620","f32","",0x4), 0x809C9624:("D_809C9624","f32","",0x4), - 0x809C9630:("enSyatekiManOverlayInfo","OverlayRelocationSection","",0x14), - 0x809C9644:("enSyatekiManOverlayRelocations","u32","[261]",0x414), - 0x809C9A5C:("enSyatekiManOverlayInfoOffset","u32","",0x4), 0x809CA2B0:("D_809CA2B0","UNK_TYPE1","",0x1), 0x809CA2DC:("Bg_Icicle_InitVars","UNK_TYPE1","",0x1), 0x809CA2FC:("D_809CA2FC","UNK_TYPE1","",0x1), @@ -10935,9 +10249,6 @@ 0x809CA31C:("D_809CA31C","UNK_TYPE1","",0x1), 0x809CA320:("D_809CA320","f32","",0x4), 0x809CA324:("D_809CA324","f32","",0x4), - 0x809CA330:("bgIcicleOverlayInfo","OverlayRelocationSection","",0x14), - 0x809CA344:("bgIcicleOverlayRelocations","u32","[40]",0xa0), - 0x809CA3EC:("bgIcicleOverlayInfoOffset","u32","",0x4), 0x809CB050:("D_809CB050","UNK_TYPE1","",0x1), 0x809CB05C:("En_Syateki_Crow_InitVars","UNK_TYPE1","",0x1), 0x809CB07C:("D_809CB07C","UNK_TYPE1","",0x1), @@ -10951,13 +10262,7 @@ 0x809CB0F4:("D_809CB0F4","f32","",0x4), 0x809CB0F8:("D_809CB0F8","f32","",0x4), 0x809CB0FC:("D_809CB0FC","f32","",0x4), - 0x809CB100:("enSyatekiCrowOverlayInfo","OverlayRelocationSection","",0x14), - 0x809CB114:("enSyatekiCrowOverlayRelocations","u32","[56]",0xe0), - 0x809CB1FC:("enSyatekiCrowOverlayInfoOffset","u32","",0x4), 0x809CB240:("En_Boj_04_InitVars","UNK_TYPE1","",0x1), - 0x809CB260:("enBoj04OverlayInfo","OverlayRelocationSection","",0x14), - 0x809CB274:("enBoj04OverlayRelocations","u32","[4]",0x10), - 0x809CB28C:("enBoj04OverlayInfoOffset","u32","",0x4), 0x809CBEE0:("En_Cne_01_InitVars","UNK_TYPE1","",0x1), 0x809CBF00:("D_809CBF00","UNK_TYPE1","",0x1), 0x809CBF2C:("D_809CBF2C","UNK_TYPE1","",0x1), @@ -10967,9 +10272,6 @@ 0x809CBF84:("D_809CBF84","UNK_TYPE4","",0x4), 0x809CBF90:("D_809CBF90","f32","",0x4), 0x809CBF94:("D_809CBF94","f32","",0x4), - 0x809CBFA0:("enCne01OverlayInfo","OverlayRelocationSection","",0x14), - 0x809CBFB4:("enCne01OverlayRelocations","u32","[39]",0x9c), - 0x809CC05C:("enCne01OverlayInfoOffset","u32","",0x4), 0x809CCC60:("En_Bba_01_InitVars","UNK_TYPE1","",0x1), 0x809CCC80:("D_809CCC80","UNK_TYPE1","",0x1), 0x809CCCAC:("D_809CCCAC","UNK_TYPE1","",0x1), @@ -10979,9 +10281,6 @@ 0x809CCD04:("D_809CCD04","UNK_TYPE4","",0x4), 0x809CCD10:("D_809CCD10","f32","",0x4), 0x809CCD14:("D_809CCD14","f32","",0x4), - 0x809CCD20:("enBba01OverlayInfo","OverlayRelocationSection","",0x14), - 0x809CCD34:("enBba01OverlayRelocations","u32","[39]",0x9c), - 0x809CCDDC:("enBba01OverlayInfoOffset","u32","",0x4), 0x809CDC30:("En_Bji_01_InitVars","ActorInit","",0x20), 0x809CDC50:("D_809CDC50","UNK_TYPE1","",0x1), 0x809CDC7C:("D_809CDC7C","UNK_TYPE1","",0x1), @@ -10989,11 +10288,8 @@ 0x809CDCC8:("D_809CDCC8","UNK_TYPE1","",0x1), 0x809CDCD4:("D_809CDCD4","UNK_TYPE1","",0x1), 0x809CDCE0:("D_809CDCE0","f32","",0x4), - 0x809CDCE4:("jtbl_D_809CDCE4","UNK_PTR","",0x4), + 0x809CDCE4:("jtbl_809CDCE4","UNK_PTR","",0x4), 0x809CDD58:("D_809CDD58","f32","",0x4), - 0x809CDD60:("enBji01OverlayInfo","OverlayRelocationSection","",0x14), - 0x809CDD74:("enBji01OverlayRelocations","u32","[81]",0x144), - 0x809CDEBC:("enBji01OverlayInfoOffset","u32","",0x4), 0x809CF060:("Bg_Spdweb_InitVars","UNK_TYPE1","",0x1), 0x809CF080:("D_809CF080","UNK_TYPE1","",0x1), 0x809CF0F8:("D_809CF0F8","UNK_TYPE1","",0x1), @@ -11012,9 +10308,6 @@ 0x809CF23C:("D_809CF23C","f32","",0x4), 0x809CF240:("D_809CF240","f32","",0x4), 0x809CF244:("D_809CF244","f32","",0x4), - 0x809CF250:("bgSpdwebOverlayInfo","OverlayRelocationSection","",0x14), - 0x809CF264:("bgSpdwebOverlayRelocations","u32","[58]",0xe8), - 0x809CF34C:("bgSpdwebOverlayInfoOffset","u32","",0x4), 0x809D0190:("En_Mt_tag_InitVars","UNK_TYPE1","",0x1), 0x809D01B0:("D_809D01B0","UNK_TYPE1","",0x1), 0x809D01FC:("D_809D01FC","UNK_TYPE4","",0x4), @@ -11022,9 +10315,6 @@ 0x809D0434:("D_809D0434","f32","",0x4), 0x809D0438:("D_809D0438","f32","",0x4), 0x809D043C:("D_809D043C","f32","",0x4), - 0x809D0440:("enMttagOverlayInfo","OverlayRelocationSection","",0x14), - 0x809D0454:("enMttagOverlayRelocations","u32","[51]",0xcc), - 0x809D052C:("enMttagOverlayInfoOffset","u32","",0x4), 0x809D7980:("D_809D7980","UNK_TYPE1","",0x1), 0x809D798C:("D_809D798C","f32","",0x4), 0x809D7990:("D_809D7990","UNK_TYPE1","",0x1), @@ -11091,7 +10381,7 @@ 0x809D7FBC:("D_809D7FBC","f32","",0x4), 0x809D7FC0:("D_809D7FC0","f32","",0x4), 0x809D7FC4:("D_809D7FC4","f32","",0x4), - 0x809D7FC8:("jtbl_D_809D7FC8","UNK_TYPE1","",0x1), + 0x809D7FC8:("jtbl_809D7FC8","UNK_TYPE1","",0x1), 0x809D7FF4:("D_809D7FF4","f32","",0x4), 0x809D7FF8:("D_809D7FF8","f32","",0x4), 0x809D7FFC:("D_809D7FFC","f32","",0x4), @@ -11099,12 +10389,12 @@ 0x809D8004:("D_809D8004","f32","",0x4), 0x809D8008:("D_809D8008","f32","",0x4), 0x809D800C:("D_809D800C","f32","",0x4), - 0x809D8010:("jtbl_D_809D8010","UNK_PTR","",0x4), + 0x809D8010:("jtbl_809D8010","UNK_PTR","",0x4), 0x809D8040:("D_809D8040","f32","",0x4), 0x809D8044:("D_809D8044","f32","",0x4), 0x809D8048:("D_809D8048","f32","",0x4), 0x809D804C:("D_809D804C","f32","",0x4), - 0x809D8050:("jtbl_D_809D8050","UNK_PTR","",0x4), + 0x809D8050:("jtbl_809D8050","UNK_PTR","",0x4), 0x809D80F8:("D_809D80F8","f32","",0x4), 0x809D80FC:("D_809D80FC","f32","",0x4), 0x809D8100:("D_809D8100","f32","",0x4), @@ -11130,9 +10420,6 @@ 0x809D8150:("D_809D8150","f32","",0x4), 0x809D8154:("D_809D8154","f32","",0x4), 0x809D8158:("D_809D8158","f32","",0x4), - 0x809D8160:("boss01OverlayInfo","OverlayRelocationSection","",0x14), - 0x809D8174:("boss01OverlayRelocations","u32","[550]",0x898), - 0x809D8A0C:("boss01OverlayInfoOffset","u32","",0x4), 0x809D8A10:("D_809D8A10","UNK_TYPE2","",0x2), 0x809D8A14:("D_809D8A14","UNK_TYPE4","",0x4), 0x809D8A18:("D_809D8A18","UNK_TYPE4","",0x4), @@ -11175,7 +10462,7 @@ 0x809DFB1C:("D_809DFB1C","f32","",0x4), 0x809DFB20:("D_809DFB20","f32","",0x4), 0x809DFB28:("D_809DFB28","f32","",0x4), - 0x809DFB2C:("jtbl_D_809DFB2C","UNK_PTR","",0x4), + 0x809DFB2C:("jtbl_809DFB2C","UNK_PTR","",0x4), 0x809DFB8C:("D_809DFB8C","f32","",0x4), 0x809DFB90:("D_809DFB90","f32","",0x4), 0x809DFB94:("D_809DFB94","f32","",0x4), @@ -11198,7 +10485,7 @@ 0x809DFBD8:("D_809DFBD8","f32","",0x4), 0x809DFBDC:("D_809DFBDC","f32","",0x4), 0x809DFBE0:("D_809DFBE0","f32","",0x4), - 0x809DFBE4:("jtbl_D_809DFBE4","UNK_PTR","",0x4), + 0x809DFBE4:("jtbl_809DFBE4","UNK_PTR","",0x4), 0x809DFC14:("D_809DFC14","f32","",0x4), 0x809DFC18:("D_809DFC18","f32","",0x4), 0x809DFC1C:("D_809DFC1C","f32","",0x4), @@ -11208,7 +10495,7 @@ 0x809DFC2C:("D_809DFC2C","f32","",0x4), 0x809DFC30:("D_809DFC30","f32","",0x4), 0x809DFC34:("D_809DFC34","f32","",0x4), - 0x809DFC38:("jtbl_D_809DFC38","UNK_PTR","",0x4), + 0x809DFC38:("jtbl_809DFC38","UNK_PTR","",0x4), 0x809DFC8C:("D_809DFC8C","f32","",0x4), 0x809DFC90:("D_809DFC90","f32","",0x4), 0x809DFC94:("D_809DFC94","f32","",0x4), @@ -11237,9 +10524,6 @@ 0x809DFD34:("D_809DFD34","f32","",0x4), 0x809DFD38:("D_809DFD38","f32","",0x4), 0x809DFD3C:("D_809DFD3C","f32","",0x4), - 0x809DFD40:("boss02OverlayInfo","OverlayRelocationSection","",0x14), - 0x809DFD54:("boss02OverlayRelocations","u32","[431]",0x6bc), - 0x809E041C:("boss02OverlayInfoOffset","u32","",0x4), 0x809E0420:("D_809E0420","UNK_TYPE1","",0x1), 0x809E0421:("D_809E0421","UNK_TYPE1","",0x1), 0x809E0422:("D_809E0422","UNK_TYPE1","",0x1), @@ -11300,7 +10584,7 @@ 0x809E925C:("D_809E925C","f32","",0x4), 0x809E9260:("D_809E9260","f32","",0x4), 0x809E9264:("D_809E9264","f32","",0x4), - 0x809E9268:("jtbl_D_809E9268","UNK_PTR","",0x4), + 0x809E9268:("jtbl_809E9268","UNK_PTR","",0x4), 0x809E9284:("D_809E9284","f32","",0x4), 0x809E9288:("D_809E9288","f32","",0x4), 0x809E928C:("D_809E928C","f32","",0x4), @@ -11324,9 +10608,6 @@ 0x809E92D4:("D_809E92D4","f32","",0x4), 0x809E92D8:("D_809E92D8","f32","",0x4), 0x809E92DC:("D_809E92DC","f32","",0x4), - 0x809E92E0:("boss03OverlayInfo","OverlayRelocationSection","",0x14), - 0x809E92F4:("boss03OverlayRelocations","u32","[337]",0x544), - 0x809E983C:("boss03OverlayInfoOffset","u32","",0x4), 0x809E9840:("D_809E9840","UNK_TYPE1","",0x1), 0x809E9841:("D_809E9841","UNK_TYPE1","",0x1), 0x809E9842:("D_809E9842","UNK_TYPE1","",0x1), @@ -11352,7 +10633,7 @@ 0x809EE234:("D_809EE234","UNK_TYPE1","",0x1), 0x809EE240:("D_809EE240","f32","",0x4), 0x809EE244:("D_809EE244","f32","",0x4), - 0x809EE248:("jtbl_D_809EE248","UNK_PTR","",0x4), + 0x809EE248:("jtbl_809EE248","UNK_PTR","",0x4), 0x809EE280:("D_809EE280","f32","",0x4), 0x809EE284:("D_809EE284","f32","",0x4), 0x809EE288:("D_809EE288","f32","",0x4), @@ -11373,9 +10654,6 @@ 0x809EE2C4:("D_809EE2C4","f32","",0x4), 0x809EE2C8:("D_809EE2C8","f32","",0x4), 0x809EE2CC:("D_809EE2CC","f32","",0x4), - 0x809EE2D0:("boss04OverlayInfo","OverlayRelocationSection","",0x14), - 0x809EE2E4:("boss04OverlayRelocations","u32","[120]",0x1e0), - 0x809EE4CC:("boss04OverlayInfoOffset","u32","",0x4), 0x809EE4D0:("D_809EE4D0","UNK_TYPE1","",0x1), 0x809F1A20:("D_809F1A20","UNK_TYPE1","",0x1), 0x809F1A28:("D_809F1A28","UNK_TYPE1","",0x1), @@ -11412,13 +10690,10 @@ 0x809F1D40:("D_809F1D40","f32","",0x4), 0x809F1D44:("D_809F1D44","f32","",0x4), 0x809F1D48:("D_809F1D48","f32","",0x4), - 0x809F1D4C:("jtbl_D_809F1D4C","UNK_PTR","",0x4), + 0x809F1D4C:("jtbl_809F1D4C","UNK_PTR","",0x4), 0x809F1DA4:("D_809F1DA4","f32","",0x4), 0x809F1DA8:("D_809F1DA8","f32","",0x4), 0x809F1DAC:("D_809F1DAC","f32","",0x4), - 0x809F1DB0:("boss05OverlayInfo","OverlayRelocationSection","",0x14), - 0x809F1DC4:("boss05OverlayRelocations","u32","[209]",0x344), - 0x809F210C:("boss05OverlayInfoOffset","u32","",0x4), 0x809F2110:("D_809F2110","UNK_TYPE1","",0x1), 0x809F4080:("D_809F4080","UNK_TYPE1","",0x1), 0x809F40A0:("Boss_06_InitVars","UNK_TYPE1","",0x1), @@ -11450,9 +10725,6 @@ 0x809F416C:("D_809F416C","f32","",0x4), 0x809F4170:("D_809F4170","f32","",0x4), 0x809F4174:("D_809F4174","f32","",0x4), - 0x809F4180:("boss06OverlayInfo","OverlayRelocationSection","",0x14), - 0x809F4194:("boss06OverlayRelocations","u32","[116]",0x1d0), - 0x809F436C:("boss06OverlayInfoOffset","u32","",0x4), 0x809F4370:("D_809F4370","UNK_TYPE4","",0x4), 0x809F4970:("D_809F4970","UNK_TYPE4","",0x4), 0x809F4974:("D_809F4974","UNK_TYPE4","",0x4), @@ -11567,17 +10839,17 @@ 0x80A08378:("D_80A08378","f32","",0x4), 0x80A0837C:("D_80A0837C","f32","",0x4), 0x80A08380:("D_80A08380","f32","",0x4), - 0x80A08384:("jtbl_D_80A08384","UNK_PTR","",0x4), + 0x80A08384:("jtbl_80A08384","UNK_PTR","",0x4), 0x80A083A4:("D_80A083A4","f32","",0x4), - 0x80A083A8:("jtbl_D_80A083A8","UNK_PTR","",0x4), + 0x80A083A8:("jtbl_80A083A8","UNK_PTR","",0x4), 0x80A083C8:("D_80A083C8","f32","",0x4), 0x80A083CC:("D_80A083CC","f32","",0x4), 0x80A083D0:("D_80A083D0","f32","",0x4), 0x80A083D4:("D_80A083D4","f32","",0x4), 0x80A083D8:("D_80A083D8","f32","",0x4), 0x80A083DC:("D_80A083DC","f32","",0x4), - 0x80A083E0:("jtbl_D_80A083E0","UNK_PTR","",0x4), - 0x80A08404:("jtbl_D_80A08404","UNK_PTR","",0x4), + 0x80A083E0:("jtbl_80A083E0","UNK_PTR","",0x4), + 0x80A08404:("jtbl_80A08404","UNK_PTR","",0x4), 0x80A084AC:("D_80A084AC","f32","",0x4), 0x80A084B0:("D_80A084B0","f32","",0x4), 0x80A084B4:("D_80A084B4","f32","",0x4), @@ -11606,24 +10878,24 @@ 0x80A08518:("D_80A08518","f32","",0x4), 0x80A0851C:("D_80A0851C","f32","",0x4), 0x80A08520:("D_80A08520","f32","",0x4), - 0x80A08524:("jtbl_D_80A08524","UNK_PTR","",0x4), + 0x80A08524:("jtbl_80A08524","UNK_PTR","",0x4), 0x80A0853C:("D_80A0853C","f32","",0x4), 0x80A08540:("D_80A08540","f32","",0x4), 0x80A08544:("D_80A08544","f32","",0x4), 0x80A08548:("D_80A08548","f32","",0x4), 0x80A0854C:("D_80A0854C","f32","",0x4), - 0x80A08550:("jtbl_D_80A08550","UNK_PTR","",0x4), + 0x80A08550:("jtbl_80A08550","UNK_PTR","",0x4), 0x80A0857C:("D_80A0857C","f32","",0x4), 0x80A08580:("D_80A08580","f32","",0x4), 0x80A08584:("D_80A08584","f32","",0x4), 0x80A08588:("D_80A08588","f32","",0x4), 0x80A0858C:("D_80A0858C","f32","",0x4), - 0x80A08590:("jtbl_D_80A08590","UNK_PTR","",0x4), + 0x80A08590:("jtbl_80A08590","UNK_PTR","",0x4), 0x80A085B4:("D_80A085B4","f32","",0x4), 0x80A085B8:("D_80A085B8","f32","",0x4), 0x80A085BC:("D_80A085BC","f32","",0x4), 0x80A085C0:("D_80A085C0","f32","",0x4), - 0x80A085C4:("jtbl_D_80A085C4","UNK_PTR","",0x4), + 0x80A085C4:("jtbl_80A085C4","UNK_PTR","",0x4), 0x80A085DC:("D_80A085DC","f32","",0x4), 0x80A085E0:("D_80A085E0","f32","",0x4), 0x80A085E4:("D_80A085E4","f32","",0x4), @@ -11636,7 +10908,7 @@ 0x80A08600:("D_80A08600","f32","",0x4), 0x80A08604:("D_80A08604","f32","",0x4), 0x80A08608:("D_80A08608","f32","",0x4), - 0x80A0860C:("jtbl_D_80A0860C","UNK_PTR","",0x4), + 0x80A0860C:("jtbl_80A0860C","UNK_PTR","",0x4), 0x80A08620:("D_80A08620","f32","",0x4), 0x80A08624:("D_80A08624","f32","",0x4), 0x80A08628:("D_80A08628","f32","",0x4), @@ -11665,7 +10937,7 @@ 0x80A08688:("D_80A08688","f32","",0x4), 0x80A0868C:("D_80A0868C","f32","",0x4), 0x80A08690:("D_80A08690","f32","",0x4), - 0x80A08694:("jtbl_D_80A08694","UNK_PTR","",0x4), + 0x80A08694:("jtbl_80A08694","UNK_PTR","",0x4), 0x80A086E8:("D_80A086E8","f32","",0x4), 0x80A086EC:("D_80A086EC","f32","",0x4), 0x80A086F0:("D_80A086F0","f32","",0x4), @@ -11700,15 +10972,12 @@ 0x80A08764:("D_80A08764","f32","",0x4), 0x80A08768:("D_80A08768","f32","",0x4), 0x80A0876C:("D_80A0876C","f32","",0x4), - 0x80A08770:("jtbl_D_80A08770","UNK_PTR","",0x4), + 0x80A08770:("jtbl_80A08770","UNK_PTR","",0x4), 0x80A0878C:("D_80A0878C","f32","",0x4), 0x80A08790:("D_80A08790","f32","",0x4), 0x80A08794:("D_80A08794","f32","",0x4), 0x80A08798:("D_80A08798","f32","",0x4), - 0x80A087A0:("boss07OverlayInfo","OverlayRelocationSection","",0x14), - 0x80A087B4:("boss07OverlayRelocations","u32","[1186]",0x1288), 0x80A09740:("D_80A09740","UNK_TYPE1","",0x1), - 0x80A09A3C:("boss07OverlayInfoOffset","u32","",0x4), 0x80A09A40:("D_80A09A40","UNK_TYPE1","",0x1), 0x80A09A4C:("D_80A09A4C","UNK_TYPE1","",0x1), 0x80A09A50:("D_80A09A50","UNK_TYPE4","",0x4), @@ -11747,9 +11016,6 @@ 0x80A0C558:("D_80A0C558","f32","",0x4), 0x80A0C55C:("D_80A0C55C","f32","",0x4), 0x80A0C560:("D_80A0C560","f32","",0x4), - 0x80A0C570:("bgDyYoseizoOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A0C584:("bgDyYoseizoOverlayRelocations","u32","[123]",0x1ec), - 0x80A0C77C:("bgDyYoseizoOverlayInfoOffset","u32","",0x4), 0x80A0C7C0:("En_Boj_05_InitVars","UNK_TYPE1","",0x1), 0x80A0C7E0:("enBoj05OverlayInfo","OverlayRelocationSection","",0x14), 0x80A0C7F4:("enBoj05OverlayRelocations","u32","[4]",0x10), @@ -11779,7 +11045,7 @@ 0x80A10A70:("jtbl_D_80A10A70","UNK_PTR","",0x4), 0x80A10AD4:("D_80A10AD4","f32","",0x4), 0x80A10AD8:("D_80A10AD8","f32","",0x4), - 0x80A10ADC:("jtbl_D_80A10ADC","UNK_PTR","",0x4), + 0x80A10ADC:("jtbl_80A10ADC","UNK_PTR","",0x4), 0x80A10B04:("D_80A10B04","f32","",0x4), 0x80A10B08:("D_80A10B08","f32","",0x4), 0x80A10B0C:("D_80A10B0C","f32","",0x4), @@ -11792,9 +11058,6 @@ 0x80A10B28:("D_80A10B28","f32","",0x4), 0x80A10B2C:("D_80A10B2C","f32","",0x4), 0x80A10B30:("D_80A10B30","f32","",0x4), - 0x80A10B40:("enSob1OverlayInfo","OverlayRelocationSection","",0x14), - 0x80A10B54:("enSob1OverlayRelocations","u32","[286]",0x478), - 0x80A10FCC:("enSob1OverlayInfoOffset","u32","",0x4), 0x80A16100:("D_80A16100","UNK_TYPE1","",0x1), 0x80A16164:("D_80A16164","UNK_TYPE1","",0x1), 0x80A16208:("D_80A16208","UNK_TYPE1","",0x1), @@ -11839,28 +11102,25 @@ 0x80A1673C:("D_80A1673C","f32","",0x4), 0x80A16740:("D_80A16740","f32","",0x4), 0x80A16744:("D_80A16744","f32","",0x4), - 0x80A16748:("jtbl_D_80A16748","UNK_PTR","",0x4), + 0x80A16748:("jtbl_80A16748","UNK_PTR","",0x4), 0x80A16790:("D_80A16790","f32","",0x4), 0x80A16794:("D_80A16794","f32","",0x4), 0x80A16798:("D_80A16798","f32","",0x4), 0x80A1679C:("D_80A1679C","f32","",0x4), 0x80A167A0:("D_80A167A0","f32","",0x4), - 0x80A167A4:("jtbl_D_80A167A4","UNK_PTR","",0x4), + 0x80A167A4:("jtbl_80A167A4","UNK_PTR","",0x4), 0x80A167BC:("D_80A167BC","f32","",0x4), 0x80A167C0:("D_80A167C0","f32","",0x4), 0x80A167C4:("D_80A167C4","f32","",0x4), - 0x80A167C8:("jtbl_D_80A167C8","UNK_PTR","",0x4), + 0x80A167C8:("jtbl_80A167C8","UNK_PTR","",0x4), 0x80A167E8:("D_80A167E8","f32","",0x4), 0x80A167EC:("D_80A167EC","f32","",0x4), 0x80A167F0:("D_80A167F0","f32","",0x4), 0x80A167F4:("D_80A167F4","f32","",0x4), 0x80A167F8:("D_80A167F8","f32","",0x4), 0x80A167FC:("D_80A167FC","f32","",0x4), - 0x80A16800:("jtbl_D_80A16800","UNK_PTR","",0x4), - 0x80A16818:("jtbl_D_80A16818","UNK_PTR","",0x4), - 0x80A16830:("enGoOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A16844:("enGoOverlayRelocations","u32","[315]",0x4ec), - 0x80A16D3C:("enGoOverlayInfoOffset","u32","",0x4), + 0x80A16800:("jtbl_80A16800","UNK_PTR","",0x4), + 0x80A16818:("jtbl_80A16818","UNK_PTR","",0x4), 0x80A18EC0:("En_Raf_InitVars","UNK_TYPE1","",0x1), 0x80A18EE0:("D_80A18EE0","UNK_TYPE1","",0x1), 0x80A18F0C:("D_80A18F0C","UNK_TYPE1","",0x1), @@ -11897,14 +11157,8 @@ 0x80A1951C:("D_80A1951C","f32","",0x4), 0x80A19520:("D_80A19520","f32","",0x4), 0x80A19524:("D_80A19524","f32","",0x4), - 0x80A19530:("enRafOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A19544:("enRafOverlayRelocations","u32","[126]",0x1f8), - 0x80A1973C:("enRafOverlayInfoOffset","u32","",0x4), 0x80A198B0:("Obj_Funen_InitVars","UNK_TYPE1","",0x1), 0x80A198D0:("D_80A198D0","UNK_TYPE1","",0x1), - 0x80A198E0:("objFunenOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A198F4:("objFunenOverlayRelocations","u32","[4]",0x10), - 0x80A1990C:("objFunenOverlayInfoOffset","u32","",0x4), 0x80A1A390:("Obj_Raillift_InitVars","UNK_TYPE1","",0x1), 0x80A1A3B0:("D_80A1A3B0","UNK_TYPE1","",0x1), 0x80A1A3C0:("sColHeaders","UNK_TYPE1","",0x1), @@ -11918,9 +11172,6 @@ 0x80A1A3E8:("D_80A1A3E8","f32","",0x4), 0x80A1A3EC:("D_80A1A3EC","f32","",0x4), 0x80A1A3F0:("D_80A1A3F0","f32","",0x4), - 0x80A1A400:("objRailliftOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A1A414:("objRailliftOverlayRelocations","u32","[55]",0xdc), - 0x80A1A4FC:("objRailliftOverlayInfoOffset","u32","",0x4), 0x80A1B240:("Bg_Numa_Hana_InitVars","UNK_TYPE1","",0x1), 0x80A1B260:("D_80A1B260","UNK_TYPE1","",0x1), 0x80A1B28C:("D_80A1B28C","FireObjInitParams","",0xd), @@ -11931,9 +11182,6 @@ 0x80A1B2C8:("D_80A1B2C8","f32","",0x4), 0x80A1B2CC:("D_80A1B2CC","f32","",0x4), 0x80A1B2D0:("D_80A1B2D0","f32","",0x4), - 0x80A1B2E0:("bgNumaHanaOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A1B2F4:("bgNumaHanaOverlayRelocations","u32","[52]",0xd0), - 0x80A1B3CC:("bgNumaHanaOverlayInfoOffset","u32","",0x4), 0x80A1D380:("Obj_Flowerpot_InitVars","UNK_TYPE1","",0x1), 0x80A1D3A0:("D_80A1D3A0","UNK_TYPE1","",0x1), 0x80A1D3E8:("D_80A1D3E8","UNK_TYPE1","",0x1), @@ -11981,9 +11229,6 @@ 0x80A1D4BC:("D_80A1D4BC","f32","",0x4), 0x80A1D4C0:("D_80A1D4C0","f32","",0x4), 0x80A1D4C4:("D_80A1D4C4","f32","",0x4), - 0x80A1D4D0:("objFlowerpotOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A1D4E4:("objFlowerpotOverlayRelocations","u32","[208]",0x340), - 0x80A1D82C:("objFlowerpotOverlayInfoOffset","u32","",0x4), 0x80A1D830:("D_80A1D830","UNK_TYPE4","",0x4), 0x80A1D838:("D_80A1D838","UNK_TYPE4","",0x4), 0x80A1DA38:("D_80A1DA38","UNK_TYPE2","",0x2), @@ -12012,17 +11257,11 @@ 0x80A1F230:("D_80A1F230","f32","",0x4), 0x80A1F234:("D_80A1F234","f32","",0x4), 0x80A1F238:("D_80A1F238","f32","",0x4), - 0x80A1F240:("objSpinyrollOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A1F254:("objSpinyrollOverlayRelocations","u32","[109]",0x1b4), - 0x80A1F40C:("objSpinyrollOverlayInfoOffset","u32","",0x4), 0x80A1FDB0:("Dm_Hina_InitVars","UNK_TYPE1","",0x1), 0x80A1FDD0:("D_80A1FDD0","f32","",0x4), 0x80A1FDD4:("D_80A1FDD4","f32","",0x4), 0x80A1FDD8:("D_80A1FDD8","f32","",0x4), 0x80A1FDDC:("D_80A1FDDC","f32","",0x4), - 0x80A1FDE0:("dmHinaOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A1FDF4:("dmHinaOverlayRelocations","u32","[22]",0x58), - 0x80A1FE4C:("dmHinaOverlayInfoOffset","u32","",0x4), 0x80A20E50:("D_80A20E50","UNK_TYPE1","",0x1), 0x80A20E74:("D_80A20E74","UNK_TYPE1","",0x1), 0x80A20EA0:("D_80A20EA0","UNK_TYPE1","",0x1), @@ -12037,9 +11276,6 @@ 0x80A20FD0:("D_80A20FD0","UNK_TYPE1","",0x1), 0x80A20FDC:("D_80A20FDC","UNK_TYPE1","",0x1), 0x80A20FF0:("D_80A20FF0","f32","",0x4), - 0x80A21000:("enSyatekiWfOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A21014:("enSyatekiWfOverlayRelocations","u32","[78]",0x138), - 0x80A2114C:("enSyatekiWfOverlayInfoOffset","u32","",0x4), 0x80A229F0:("Obj_Skateblock_InitVars","UNK_TYPE1","",0x1), 0x80A22A10:("D_80A22A10","UNK_TYPE4","",0x4), 0x80A22A14:("D_80A22A14","UNK_TYPE4","",0x4), @@ -12064,16 +11300,10 @@ 0x80A22B54:("D_80A22B54","f32","",0x4), 0x80A22B58:("D_80A22B58","f32","",0x4), 0x80A22B5C:("D_80A22B5C","f32","",0x4), - 0x80A22B60:("objSkateblockOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A22B74:("objSkateblockOverlayRelocations","u32","[111]",0x1bc), - 0x80A22D3C:("objSkateblockOverlayInfoOffset","u32","",0x4), - 0x80A23020:("D_80A23020","UNK_TYPE1","",0x1), + 0x80A23020:("Effect_En_Ice_Block_InitVars","UNK_TYPE1","",0x1), 0x80A23030:("D_80A23030","f32","",0x4), 0x80A23034:("D_80A23034","f32","",0x4), 0x80A23038:("D_80A23038","f32","",0x4), - 0x80A23040:("effectEnIceBlockOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A23054:("effectEnIceBlockOverlayRelocations","u32","[14]",0x38), - 0x80A2308C:("effectEnIceBlockOverlayInfoOffset","u32","",0x4), 0x80A26E30:("Obj_Iceblock_InitVars","UNK_TYPE1","",0x1), 0x80A26E50:("D_80A26E50","UNK_TYPE1","",0x1), 0x80A26E7C:("D_80A26E7C","UNK_TYPE4","",0x4), @@ -12142,9 +11372,6 @@ 0x80A2708C:("D_80A2708C","f32","",0x4), 0x80A27090:("D_80A27090","f32","",0x4), 0x80A27094:("D_80A27094","f32","",0x4), - 0x80A270A0:("objIceblockOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A270B4:("objIceblockOverlayRelocations","u32","[280]",0x460), - 0x80A2751C:("objIceblockOverlayInfoOffset","u32","",0x4), 0x80A296E0:("En_Bigpamet_InitVars","UNK_TYPE1","",0x1), 0x80A29700:("D_80A29700","UNK_TYPE1","",0x1), 0x80A2972C:("D_80A2972C","UNK_TYPE1","",0x1), @@ -12172,9 +11399,6 @@ 0x80A297C8:("D_80A297C8","f32","",0x4), 0x80A297CC:("D_80A297CC","f32","",0x4), 0x80A297D0:("D_80A297D0","f32","",0x4), - 0x80A297E0:("enBigpametOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A297F4:("enBigpametOverlayRelocations","u32","[161]",0x284), - 0x80A29A7C:("enBigpametOverlayInfoOffset","u32","",0x4), 0x80A2B870:("D_80A2B870","UNK_TYPE1","",0x1), 0x80A2B88C:("Bg_Dblue_Movebg_InitVars","UNK_TYPE1","",0x1), 0x80A2B8AC:("D_80A2B8AC","UNK_TYPE1","",0x1), @@ -12185,7 +11409,7 @@ 0x80A2B974:("D_80A2B974","UNK_TYPE2","",0x2), 0x80A2B978:("D_80A2B978","UNK_TYPE1","",0x1), 0x80A2B988:("D_80A2B988","UNK_TYPE1","",0x1), - 0x80A2B9A0:("jtbl_D_80A2B9A0","UNK_PTR","",0x4), + 0x80A2B9A0:("jtbl_80A2B9A0","UNK_PTR","",0x4), 0x80A2B9CC:("D_80A2B9CC","f32","",0x4), 0x80A2B9D0:("D_80A2B9D0","f32","",0x4), 0x80A2B9D4:("D_80A2B9D4","f32","",0x4), @@ -12195,9 +11419,6 @@ 0x80A2B9E4:("D_80A2B9E4","f32","",0x4), 0x80A2B9E8:("D_80A2B9E8","f32","",0x4), 0x80A2B9EC:("D_80A2B9EC","f32","",0x4), - 0x80A2B9F0:("bgDblueMovebgOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A2BA04:("bgDblueMovebgOverlayRelocations","u32","[120]",0x1e0), - 0x80A2BBEC:("bgDblueMovebgOverlayInfoOffset","u32","",0x4), 0x80A2BBF0:("D_80A2BBF0","UNK_TYPE1","",0x1), 0x80A2BBF4:("D_80A2BBF4","UNK_TYPE1","",0x1), 0x80A2BBF5:("D_80A2BBF5","UNK_TYPE1","",0x1), @@ -12212,9 +11433,6 @@ 0x80A2CBB8:("D_80A2CBB8","UNK_TYPE1","",0x1), 0x80A2CBBC:("D_80A2CBBC","UNK_TYPE1","",0x1), 0x80A2CBC0:("D_80A2CBC0","f32","",0x4), - 0x80A2CBD0:("enSyatekiDekunutsOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A2CBE4:("enSyatekiDekunutsOverlayRelocations","u32","[74]",0x128), - 0x80A2CD0C:("enSyatekiDekunutsOverlayInfoOffset","u32","",0x4), 0x80A2D1C0:("Elf_Msg3_InitVars","UNK_TYPE1","",0x1), 0x80A2D1E0:("D_80A2D1E0","UNK_TYPE1","",0x1), 0x80A2D1F0:("D_80A2D1F0","char","[]",0x1), @@ -12223,9 +11441,6 @@ 0x80A2D204:("D_80A2D204","f32","",0x4), 0x80A2D208:("D_80A2D208","f32","",0x4), 0x80A2D20C:("D_80A2D20C","f32","",0x4), - 0x80A2D210:("elfMsg3OverlayInfo","OverlayRelocationSection","",0x14), - 0x80A2D224:("elfMsg3OverlayRelocations","u32","[19]",0x4c), - 0x80A2D27C:("elfMsg3OverlayInfoOffset","u32","",0x4), 0x80A2E4E0:("En_Fg_InitVars","UNK_TYPE1","",0x1), 0x80A2E500:("D_80A2E500","UNK_TYPE1","",0x1), 0x80A2E52C:("D_80A2E52C","UNK_PTR","",0x4), @@ -12249,19 +11464,10 @@ 0x80A2E628:("D_80A2E628","f32","",0x4), 0x80A2E62C:("D_80A2E62C","f32","",0x4), 0x80A2E630:("D_80A2E630","f32","",0x4), - 0x80A2E640:("enFgOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A2E654:("enFgOverlayRelocations","u32","[82]",0x148), - 0x80A2E79C:("enFgOverlayInfoOffset","u32","",0x4), 0x80A2E910:("Dm_Ravine_InitVars","UNK_TYPE1","",0x1), - 0x80A2E930:("dmRavineOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A2E944:("dmRavineOverlayRelocations","u32","[6]",0x18), - 0x80A2E95C:("dmRavineOverlayInfoOffset","u32","",0x4), 0x80A2ECE0:("Dm_Sa_InitVars","UNK_TYPE1","",0x1), 0x80A2ED00:("D_80A2ED00","UNK_TYPE1","",0x1), 0x80A2ED20:("D_80A2ED20","f32","",0x4), - 0x80A2ED30:("dmSaOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A2ED44:("dmSaOverlayRelocations","u32","[19]",0x4c), - 0x80A2ED9C:("dmSaOverlayInfoOffset","u32","",0x4), 0x80A31AD0:("En_Slime_InitVars","UNK_TYPE1","",0x1), 0x80A31AF0:("D_80A31AF0","UNK_TYPE1","",0x1), 0x80A31B1C:("D_80A31B1C","UNK_TYPE1","",0x1), @@ -12359,9 +11565,6 @@ 0x80A31D14:("D_80A31D14","f32","",0x4), 0x80A31D18:("D_80A31D18","f32","",0x4), 0x80A31D1C:("D_80A31D1C","f32","",0x4), - 0x80A31D20:("enSlimeOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A31D34:("enSlimeOverlayRelocations","u32","[305]",0x4c4), - 0x80A321FC:("enSlimeOverlayInfoOffset","u32","",0x4), 0x80A32200:("D_80A32200","UNK_TYPE1","",0x1), 0x80A338A0:("D_80A338A0","UNK_TYPE1","",0x1), 0x80A338C0:("D_80A338C0","UNK_TYPE1","",0x1), @@ -12379,9 +11582,6 @@ 0x80A33968:("D_80A33968","f32","",0x4), 0x80A3396C:("D_80A3396C","f32","",0x4), 0x80A33970:("D_80A33970","f32","",0x4), - 0x80A33980:("enPrOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A33994:("enPrOverlayRelocations","u32","[90]",0x168), - 0x80A33AFC:("enPrOverlayInfoOffset","u32","",0x4), 0x80A34570:("Obj_Toudai_InitVars","UNK_TYPE1","",0x1), 0x80A34590:("D_80A34590","UNK_TYPE1","",0x1), 0x80A3459F:("D_80A3459F","UNK_TYPE1","",0x1), @@ -12391,9 +11591,6 @@ 0x80A34674:("D_80A34674","f32","",0x4), 0x80A34678:("D_80A34678","f32","",0x4), 0x80A3467C:("D_80A3467C","f32","",0x4), - 0x80A34680:("objToudaiOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A34694:("objToudaiOverlayRelocations","u32","[25]",0x64), - 0x80A346FC:("objToudaiOverlayInfoOffset","u32","",0x4), 0x80A353F0:("Obj_Entotu_InitVars","UNK_TYPE1","",0x1), 0x80A35410:("D_80A35410","UNK_TYPE1","",0x1), 0x80A3541F:("D_80A3541F","UNK_TYPE1","",0x1), @@ -12403,9 +11600,6 @@ 0x80A35484:("D_80A35484","f32","",0x4), 0x80A35488:("D_80A35488","f32","",0x4), 0x80A3548C:("D_80A3548C","f32","",0x4), - 0x80A35490:("objEntotuOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A354A4:("objEntotuOverlayRelocations","u32","[26]",0x68), - 0x80A3550C:("objEntotuOverlayInfoOffset","u32","",0x4), 0x80A35E70:("Obj_Bell_InitVars","ActorInit","",0x20), 0x80A35E90:("D_80A35E90","UNK_TYPE1","",0x1), 0x80A35EBC:("D_80A35EBC","UNK_TYPE1","",0x1), @@ -12419,9 +11613,6 @@ 0x80A35F34:("D_80A35F34","f32","",0x4), 0x80A35F38:("D_80A35F38","f32","",0x4), 0x80A35F3C:("D_80A35F3C","f32","",0x4), - 0x80A35F40:("objBellOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A35F54:("objBellOverlayRelocations","u32","[37]",0x94), - 0x80A35FEC:("objBellOverlayInfoOffset","u32","",0x4), 0x80A37550:("En_Syateki_Okuta_InitVars","UNK_TYPE1","",0x1), 0x80A37570:("D_80A37570","UNK_TYPE1","",0x1), 0x80A3759C:("D_80A3759C","UNK_PTR","",0x4), @@ -12466,24 +11657,15 @@ 0x80A37C18:("D_80A37C18","f32","",0x4), 0x80A37C1C:("D_80A37C1C","f32","",0x4), 0x80A37C20:("D_80A37C20","f32","",0x4), - 0x80A37C30:("enSyatekiOkutaOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A37C44:("enSyatekiOkutaOverlayRelocations","u32","[159]",0x27c), - 0x80A37ECC:("enSyatekiOkutaOverlayInfoOffset","u32","",0x4), 0x80A38110:("Obj_Shutter_InitVars","UNK_TYPE1","",0x1), 0x80A38130:("D_80A38130","UNK_TYPE1","",0x1), 0x80A38140:("D_80A38140","f32","",0x4), 0x80A38144:("D_80A38144","f32","",0x4), - 0x80A38150:("objShutterOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A38164:("objShutterOverlayRelocations","u32","[10]",0x28), - 0x80A3818C:("objShutterOverlayInfoOffset","u32","",0x4), 0x80A387D0:("Dm_Zl_InitVars","UNK_TYPE1","",0x1), 0x80A387F0:("D_80A387F0","UNK_TYPE1","",0x1), 0x80A38898:("D_80A38898","UNK_TYPE1","",0x1), 0x80A388A8:("D_80A388A8","UNK_TYPE1","",0x1), - 0x80A388D0:("jtbl_D_80A388D0","UNK_PTR","",0x4), - 0x80A388F0:("dmZlOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A38904:("dmZlOverlayRelocations","u32","[36]",0x90), - 0x80A3899C:("dmZlOverlayInfoOffset","u32","",0x4), + 0x80A388D0:("jtbl_80A388D0","UNK_PTR","",0x4), 0x80A39430:("En_Ru_InitVars","UNK_TYPE1","",0x1), 0x80A39450:("D_80A39450","UNK_TYPE1","",0x1), 0x80A3947C:("D_80A3947C","UNK_TYPE1","",0x1), @@ -12503,19 +11685,10 @@ 0x80A395B0:("D_80A395B0","UNK_TYPE4","",0x4), 0x80A395C0:("D_80A395C0","f32","",0x4), 0x80A395C4:("D_80A395C4","f32","",0x4), - 0x80A395D0:("enRuOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A395E4:("enRuOverlayRelocations","u32","[49]",0xc4), - 0x80A396AC:("enRuOverlayInfoOffset","u32","",0x4), 0x80A3AAD0:("En_Elfgrp_InitVars","UNK_TYPE1","",0x1), - 0x80A3AAF0:("enElfgrpOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A3AB04:("enElfgrpOverlayRelocations","u32","[83]",0x14c), - 0x80A3AC5C:("enElfgrpOverlayInfoOffset","u32","",0x4), 0x80A3B010:("Dm_Tsg_InitVars","UNK_TYPE1","",0x1), 0x80A3B030:("D_80A3B030","f32","",0x4), 0x80A3B034:("D_80A3B034","f32","",0x4), - 0x80A3B040:("dmTsgOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A3B054:("dmTsgOverlayRelocations","u32","[8]",0x20), - 0x80A3B07C:("dmTsgOverlayInfoOffset","u32","",0x4), 0x80A3C2D0:("En_Baguo_InitVars","UNK_TYPE1","",0x1), 0x80A3C2F0:("D_80A3C2F0","UNK_TYPE1","",0x1), 0x80A3C314:("D_80A3C314","UNK_TYPE1","",0x1), @@ -12536,9 +11709,6 @@ 0x80A3C398:("D_80A3C398","f32","",0x4), 0x80A3C39C:("D_80A3C39C","f32","",0x4), 0x80A3C3A0:("D_80A3C3A0","f32","",0x4), - 0x80A3C3B0:("enBaguoOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A3C3C4:("enBaguoOverlayRelocations","u32","[67]",0x10c), - 0x80A3C4DC:("enBaguoOverlayInfoOffset","u32","",0x4), 0x80A3D430:("Obj_Vspinyroll_InitVars","UNK_TYPE1","",0x1), 0x80A3D450:("D_80A3D450","UNK_TYPE1","",0x1), 0x80A3D454:("D_80A3D454","UNK_TYPE1","",0x1), @@ -12560,9 +11730,6 @@ 0x80A3D500:("D_80A3D500","f32","",0x4), 0x80A3D504:("D_80A3D504","f32","",0x4), 0x80A3D508:("D_80A3D508","f32","",0x4), - 0x80A3D510:("objVspinyrollOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A3D524:("objVspinyrollOverlayRelocations","u32","[85]",0x154), - 0x80A3D67C:("objVspinyrollOverlayInfoOffset","u32","",0x4), 0x80A3E270:("Obj_Smork_InitVars","UNK_TYPE1","",0x1), 0x80A3E290:("D_80A3E290","UNK_TYPE1","",0x1), 0x80A3E29F:("D_80A3E29F","UNK_TYPE1","",0x1), @@ -12571,17 +11738,11 @@ 0x80A3E300:("D_80A3E300","f32","",0x4), 0x80A3E304:("D_80A3E304","f32","",0x4), 0x80A3E308:("D_80A3E308","f32","",0x4), - 0x80A3E310:("objSmorkOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A3E324:("objSmorkOverlayRelocations","u32","[23]",0x5c), - 0x80A3E38C:("objSmorkOverlayInfoOffset","u32","",0x4), 0x80A3E690:("En_Test2_InitVars","UNK_TYPE1","",0x1), 0x80A3E6B0:("D_80A3E6B0","UNK_PTR","",0x4), 0x80A3E6B4:("D_80A3E6B4","UNK_TYPE4","",0x4), 0x80A3E74C:("D_80A3E74C","UNK_TYPE1","",0x1), 0x80A3E75C:("D_80A3E75C","UNK_TYPE1","",0x1), - 0x80A3E780:("enTest2OverlayInfo","OverlayRelocationSection","",0x14), - 0x80A3E794:("enTest2OverlayRelocations","u32","[18]",0x48), - 0x80A3E7DC:("enTest2OverlayInfoOffset","u32","",0x4), 0x80A41530:("D_80A41530","UNK_TYPE1","",0x1), 0x80A4166C:("En_Test3_InitVars","UNK_TYPE1","",0x1), 0x80A4168C:("D_80A4168C","UNK_TYPE1","",0x1), @@ -12615,9 +11776,6 @@ 0x80A41930:("D_80A41930","f32","",0x4), 0x80A41934:("D_80A41934","f32","",0x4), 0x80A41938:("D_80A41938","f32","",0x4), - 0x80A41940:("enTest3OverlayInfo","OverlayRelocationSection","",0x14), - 0x80A41954:("enTest3OverlayRelocations","u32","[242]",0x3c8), - 0x80A41D1C:("enTest3OverlayInfoOffset","u32","",0x4), 0x80A41D20:("D_80A41D20","UNK_TYPE1","",0x1), 0x80A41D24:("D_80A41D24","UNK_TYPE1","",0x1), 0x80A41D28:("D_80A41D28","UNK_TYPE1","",0x1), @@ -12637,9 +11795,6 @@ 0x80A43352:("D_80A43352","UNK_TYPE1","",0x1), 0x80A4335A:("D_80A4335A","UNK_TYPE1","",0x1), 0x80A43364:("D_80A43364","UNK_TYPE1","",0x1), - 0x80A43370:("enTest4OverlayInfo","OverlayRelocationSection","",0x14), - 0x80A43384:("enTest4OverlayRelocations","u32","[81]",0x144), - 0x80A434CC:("enTest4OverlayInfoOffset","u32","",0x4), 0x80A434D0:("D_80A434D0","s16","[2]",0x4), 0x80A434D4:("D_80A434D4","UNK_TYPE1","",0x1), 0x80A449E0:("En_Bat_InitVars","UNK_TYPE1","",0x1), @@ -12664,9 +11819,6 @@ 0x80A44AC4:("D_80A44AC4","f32","",0x4), 0x80A44AC8:("D_80A44AC8","f32","",0x4), 0x80A44ACC:("D_80A44ACC","f32","",0x4), - 0x80A44AD0:("enBatOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A44AE4:("enBatOverlayRelocations","u32","[96]",0x180), - 0x80A44C6C:("enBatOverlayInfoOffset","u32","",0x4), 0x80A44C70:("D_80A44C70","UNK_TYPE1","",0x1), 0x80A44C74:("D_80A44C74","UNK_TYPE1","",0x1), 0x80A45250:("En_Sekihi_InitVars","UNK_TYPE1","",0x1), @@ -12675,9 +11827,6 @@ 0x80A45290:("D_80A45290","UNK_TYPE1","",0x1), 0x80A452A4:("D_80A452A4","UNK_TYPE1","",0x1), 0x80A452B0:("D_80A452B0","UNK_TYPE4","",0x4), - 0x80A452D0:("enSekihiOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A452E4:("enSekihiOverlayRelocations","u32","[27]",0x6c), - 0x80A4535C:("enSekihiOverlayInfoOffset","u32","",0x4), 0x80A48B30:("En_Wiz_InitVars","UNK_TYPE1","",0x1), 0x80A48B50:("D_80A48B50","UNK_TYPE1","",0x1), 0x80A48CB8:("D_80A48CB8","UNK_PTR","",0x4), @@ -12691,7 +11840,7 @@ 0x80A48D64:("D_80A48D64","UNK_TYPE1","",0x1), 0x80A48D68:("D_80A48D68","UNK_TYPE4","",0x4), 0x80A48D74:("D_80A48D74","UNK_TYPE4","",0x4), - 0x80A48D80:("jtbl_D_80A48D80","UNK_PTR","",0x4), + 0x80A48D80:("jtbl_80A48D80","UNK_PTR","",0x4), 0x80A48D98:("D_80A48D98","f32","",0x4), 0x80A48D9C:("D_80A48D9C","f32","",0x4), 0x80A48DA0:("D_80A48DA0","f32","",0x4), @@ -12707,9 +11856,6 @@ 0x80A48DC8:("D_80A48DC8","f32","",0x4), 0x80A48DCC:("D_80A48DCC","f32","",0x4), 0x80A48DD0:("D_80A48DD0","f32","",0x4), - 0x80A48DE0:("enWizOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A48DF4:("enWizOverlayRelocations","u32","[121]",0x1e4), - 0x80A48FDC:("enWizOverlayInfoOffset","u32","",0x4), 0x80A495B0:("D_80A495B0","UNK_TYPE2","",0x2), 0x80A495B4:("En_Wiz_Brock_InitVars","UNK_TYPE1","",0x1), 0x80A495E0:("D_80A495E0","f32","",0x4), @@ -12721,9 +11867,6 @@ 0x80A495F8:("D_80A495F8","f32","",0x4), 0x80A495FC:("D_80A495FC","f32","",0x4), 0x80A49600:("D_80A49600","f32","",0x4), - 0x80A49610:("enWizBrockOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A49624:("enWizBrockOverlayRelocations","u32","[28]",0x70), - 0x80A4969C:("enWizBrockOverlayInfoOffset","u32","",0x4), 0x80A4C1C0:("D_80A4C1C0","UNK_TYPE4","",0x4), 0x80A4C1C4:("En_Wiz_Fire_InitVars","UNK_TYPE1","",0x1), 0x80A4C1E4:("D_80A4C1E4","UNK_TYPE1","",0x1), @@ -12733,7 +11876,7 @@ 0x80A4C234:("D_80A4C234","UNK_TYPE1","",0x1), 0x80A4C24C:("D_80A4C24C","UNK_TYPE1","",0x1), 0x80A4C250:("D_80A4C250","UNK_TYPE1","",0x1), - 0x80A4C260:("jtbl_D_80A4C260","UNK_PTR","",0x4), + 0x80A4C260:("jtbl_80A4C260","UNK_PTR","",0x4), 0x80A4C274:("D_80A4C274","f32","",0x4), 0x80A4C278:("D_80A4C278","f32","",0x4), 0x80A4C27C:("D_80A4C27C","f32","",0x4), @@ -12756,20 +11899,11 @@ 0x80A4C2C0:("D_80A4C2C0","f32","",0x4), 0x80A4C2C4:("D_80A4C2C4","f32","",0x4), 0x80A4C2C8:("D_80A4C2C8","f32","",0x4), - 0x80A4C2D0:("enWizFireOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A4C2E4:("enWizFireOverlayRelocations","u32","[104]",0x1a0), - 0x80A4C48C:("enWizFireOverlayInfoOffset","u32","",0x4), 0x80A4C900:("Eff_Change_InitVars","UNK_TYPE1","",0x1), 0x80A4C920:("D_80A4C920","UNK_TYPE1","",0x1), 0x80A4C950:("D_80A4C950","f32","",0x4), 0x80A4C954:("D_80A4C954","f32","",0x4), - 0x80A4C960:("effChangeOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A4C974:("effChangeOverlayRelocations","u32","[14]",0x38), - 0x80A4C9AC:("effChangeOverlayInfoOffset","u32","",0x4), 0x80A4CA40:("Dm_Statue_InitVars","UNK_TYPE1","",0x1), - 0x80A4CA60:("dmStatueOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A4CA74:("dmStatueOverlayRelocations","u32","[4]",0x10), - 0x80A4CA8C:("dmStatueOverlayInfoOffset","u32","",0x4), 0x80A4D800:("Obj_Fireshield_InitVars","UNK_TYPE1","",0x1), 0x80A4D820:("D_80A4D820","UNK_TYPE1","",0x1), 0x80A4D84C:("D_80A4D84C","UNK_TYPE1","",0x1), @@ -12781,15 +11915,9 @@ 0x80A4D8B0:("D_80A4D8B0","f32","",0x4), 0x80A4D8B4:("D_80A4D8B4","f32","",0x4), 0x80A4D8B8:("D_80A4D8B8","f32","",0x4), - 0x80A4D8C0:("objFireshieldOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A4D8D4:("objFireshieldOverlayRelocations","u32","[69]",0x114), - 0x80A4D9EC:("objFireshieldOverlayInfoOffset","u32","",0x4), 0x80A4DE20:("Bg_Ladder_InitVars","UNK_TYPE1","",0x1), 0x80A4DE40:("D_80A4DE40","UNK_TYPE1","",0x1), 0x80A4DE44:("D_80A4DE44","UNK_TYPE1","",0x1), - 0x80A4DE60:("bgLadderOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A4DE74:("bgLadderOverlayRelocations","u32","[20]",0x50), - 0x80A4DECC:("bgLadderOverlayInfoOffset","u32","",0x4), 0x80A4F700:("En_Mkk_InitVars","UNK_TYPE1","",0x1), 0x80A4F720:("D_80A4F720","UNK_TYPE1","",0x1), 0x80A4F748:("D_80A4F748","UNK_TYPE2","",0x2), @@ -12827,22 +11955,13 @@ 0x80A4F834:("D_80A4F834","f32","",0x4), 0x80A4F83C:("D_80A4F83C","f32","",0x4), 0x80A4F840:("D_80A4F840","f32","",0x4), - 0x80A4F850:("enMkkOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A4F864:("enMkkOverlayRelocations","u32","[116]",0x1d0), - 0x80A4FA3C:("enMkkOverlayInfoOffset","u32","",0x4), 0x80A4FD40:("Demo_Getitem_InitVars","UNK_TYPE1","",0x1), 0x80A4FD60:("D_80A4FD60","UNK_TYPE1","",0x1), 0x80A4FD64:("D_80A4FD64","UNK_TYPE1","",0x1), 0x80A4FD68:("D_80A4FD68","UNK_TYPE1","",0x1), - 0x80A4FD70:("demoGetitemOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A4FD84:("demoGetitemOverlayRelocations","u32","[17]",0x44), - 0x80A4FDCC:("demoGetitemOverlayInfoOffset","u32","",0x4), 0x80A50C90:("En_Dnb_InitVars","UNK_TYPE1","",0x1), 0x80A50CB0:("D_80A50CB0","UNK_TYPE1","",0x1), 0x80A50CBC:("D_80A50CBC","UNK_TYPE1","",0x1), - 0x80A50CE0:("enDnbOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A50CF4:("enDnbOverlayRelocations","u32","[17]",0x44), - 0x80A50D3C:("enDnbOverlayInfoOffset","u32","",0x4), 0x80A51250:("D_80A51250","UNK_TYPE1","",0x1), 0x80A51384:("D_80A51384","UNK_TYPE1","",0x1), 0x80A5138C:("D_80A5138C","UNK_TYPE1","",0x1), @@ -12850,9 +11969,6 @@ 0x80A5142C:("D_80A5142C","UNK_PTR","",0x4), 0x80A5143C:("D_80A5143C","UNK_TYPE1","",0x1), 0x80A51450:("D_80A51450","f32","",0x4), - 0x80A51460:("enDnhOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A51474:("enDnhOverlayRelocations","u32","[29]",0x74), - 0x80A514EC:("enDnhOverlayInfoOffset","u32","",0x4), 0x80A521A0:("D_80A521A0","UNK_TYPE2","",0x2), 0x80A521A4:("En_Dnk_InitVars","UNK_TYPE1","",0x1), 0x80A521C4:("D_80A521C4","UNK_TYPE1","",0x1), @@ -12860,9 +11976,6 @@ 0x80A521FC:("D_80A521FC","UNK_TYPE1","",0x1), 0x80A5221C:("D_80A5221C","UNK_TYPE1","",0x1), 0x80A5245C:("D_80A5245C","UNK_TYPE1","",0x1), - 0x80A52470:("enDnkOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A52484:("enDnkOverlayRelocations","u32","[39]",0x9c), - 0x80A5252C:("enDnkOverlayInfoOffset","u32","",0x4), 0x80A53400:("D_80A53400","UNK_TYPE1","",0x1), 0x80A53420:("D_80A53420","UNK_TYPE1","",0x1), 0x80A53438:("D_80A53438","UNK_TYPE1","",0x1), @@ -12873,18 +11986,12 @@ 0x80A535DC:("D_80A535DC","UNK_TYPE1","",0x1), 0x80A535F0:("D_80A535F0","UNK_TYPE4","",0x4), 0x80A535FC:("D_80A535FC","UNK_TYPE1","",0x1), - 0x80A53620:("jtbl_D_80A53620","UNK_PTR","",0x4), - 0x80A53648:("jtbl_D_80A53648","UNK_PTR","",0x4), - 0x80A53670:("enDnqOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A53684:("enDnqOverlayRelocations","u32","[82]",0x148), - 0x80A537CC:("enDnqOverlayInfoOffset","u32","",0x4), + 0x80A53620:("jtbl_80A53620","UNK_PTR","",0x4), + 0x80A53648:("jtbl_80A53648","UNK_PTR","",0x4), 0x80A53B50:("Bg_Keikoku_Saku_InitVars","UNK_TYPE1","",0x1), 0x80A53B70:("D_80A53B70","f32","",0x4), 0x80A53B74:("D_80A53B74","f32","",0x4), 0x80A53B78:("D_80A53B78","f32","",0x4), - 0x80A53B80:("bgKeikokuSakuOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A53B94:("bgKeikokuSakuOverlayRelocations","u32","[18]",0x48), - 0x80A53BDC:("bgKeikokuSakuOverlayInfoOffset","u32","",0x4), 0x80A55CE0:("Obj_Hugebombiwa_InitVars","UNK_TYPE1","",0x1), 0x80A55D00:("D_80A55D00","UNK_TYPE1","",0x1), 0x80A55D2C:("D_80A55D2C","UNK_TYPE1","",0x1), @@ -12941,13 +12048,7 @@ 0x80A55E38:("D_80A55E38","f32","",0x4), 0x80A55E3C:("D_80A55E3C","f32","",0x4), 0x80A55E40:("D_80A55E40","f32","",0x4), - 0x80A55E50:("objHugebombiwaOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A55E64:("objHugebombiwaOverlayRelocations","u32","[147]",0x24c), - 0x80A560BC:("objHugebombiwaOverlayInfoOffset","u32","",0x4), 0x80A56100:("En_Firefly2_InitVars","UNK_TYPE1","",0x1), - 0x80A56120:("enFirefly2OverlayInfo","OverlayRelocationSection","",0x14), - 0x80A56134:("enFirefly2OverlayRelocations","u32","[4]",0x10), - 0x80A5614C:("enFirefly2OverlayInfoOffset","u32","",0x4), 0x80A583E0:("En_Rat_InitVars","UNK_TYPE1","",0x1), 0x80A58400:("D_80A58400","UNK_TYPE1","",0x1), 0x80A58428:("D_80A58428","UNK_TYPE2","",0x2), @@ -12982,9 +12083,6 @@ 0x80A58520:("D_80A58520","f32","",0x4), 0x80A58524:("D_80A58524","f32","",0x4), 0x80A58528:("D_80A58528","f32","",0x4), - 0x80A58530:("enRatOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A58544:("enRatOverlayRelocations","u32","[149]",0x254), - 0x80A5879C:("enRatOverlayInfoOffset","u32","",0x4), 0x80A5AF90:("En_Water_Effect_InitVars","UNK_TYPE1","",0x1), 0x80A5AFB0:("D_80A5AFB0","UNK_TYPE4","",0x4), 0x80A5AFBC:("D_80A5AFBC","UNK_TYPE4","",0x4), @@ -13010,9 +12108,6 @@ 0x80A5B01C:("D_80A5B01C","f32","",0x4), 0x80A5B020:("D_80A5B020","f32","",0x4), 0x80A5B024:("D_80A5B024","f32","",0x4), - 0x80A5B030:("enWaterEffectOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A5B044:("enWaterEffectOverlayRelocations","u32","[70]",0x118), - 0x80A5B15C:("enWaterEffectOverlayInfoOffset","u32","",0x4), 0x80A5EAA0:("En_Kusa2_InitVars","UNK_TYPE1","",0x1), 0x80A5EAC0:("D_80A5EAC0","UNK_TYPE1","",0x1), 0x80A5EAEC:("D_80A5EAEC","UNK_PTR","",0x4), @@ -13083,9 +12178,6 @@ 0x80A5EC34:("D_80A5EC34","f32","",0x4), 0x80A5EC38:("D_80A5EC38","f32","",0x4), 0x80A5EC3C:("D_80A5EC3C","f32","",0x4), - 0x80A5EC40:("enKusa2OverlayInfo","OverlayRelocationSection","",0x14), - 0x80A5EC54:("enKusa2OverlayRelocations","u32","[346]",0x568), - 0x80A5F1BC:("enKusa2OverlayInfoOffset","u32","",0x4), 0x80A5F1C0:("D_80A5F1C0","UNK_TYPE1","",0x1), 0x80A60900:("D_80A60900","UNK_TYPE4","",0x4), 0x80A60908:("D_80A60908","UNK_TYPE4","",0x4), @@ -13104,9 +12196,6 @@ 0x80A611C8:("D_80A611C8","f32","",0x4), 0x80A611CC:("D_80A611CC","f32","",0x4), 0x80A611D0:("D_80A611D0","f32","",0x4), - 0x80A611E0:("bgSpoutFireOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A611F4:("bgSpoutFireOverlayRelocations","u32","[43]",0xac), - 0x80A612AC:("bgSpoutFireOverlayInfoOffset","u32","",0x4), 0x80A61720:("En_Dy_Extra_InitVars","UNK_TYPE1","",0x1), 0x80A61740:("D_80A61740","UNK_TYPE1","",0x1), 0x80A61754:("D_80A61754","UNK_TYPE1","",0x1), @@ -13115,9 +12204,6 @@ 0x80A61794:("D_80A61794","f32","",0x4), 0x80A61798:("D_80A61798","f32","",0x4), 0x80A6179C:("D_80A6179C","f32","",0x4), - 0x80A617A0:("enDyExtraOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A617B4:("enDyExtraOverlayRelocations","u32","[22]",0x58), - 0x80A6180C:("enDyExtraOverlayInfoOffset","u32","",0x4), 0x80A63CC0:("En_Bal_InitVars","UNK_TYPE1","",0x1), 0x80A63CE0:("D_80A63CE0","UNK_TYPE1","",0x1), 0x80A63D00:("D_80A63D00","UNK_PTR","",0x4), @@ -13152,34 +12238,25 @@ 0x80A63F2C:("D_80A63F2C","f32","",0x4), 0x80A63F30:("D_80A63F30","f32","",0x4), 0x80A63F34:("D_80A63F34","f32","",0x4), - 0x80A63F38:("jtbl_D_80A63F38","UNK_PTR","",0x4), + 0x80A63F38:("jtbl_80A63F38","UNK_PTR","",0x4), 0x80A63F64:("D_80A63F64","f32","",0x4), - 0x80A63F68:("jtbl_D_80A63F68","UNK_PTR","",0x4), - 0x80A63F80:("jtbl_D_80A63F80","UNK_PTR","",0x4), - 0x80A63F98:("jtbl_D_80A63F98","UNK_PTR","",0x4), - 0x80A63FF8:("jtbl_D_80A63FF8","UNK_PTR","",0x4), - 0x80A64010:("jtbl_D_80A64010","UNK_PTR","",0x4), + 0x80A63F68:("jtbl_80A63F68","UNK_PTR","",0x4), + 0x80A63F80:("jtbl_80A63F80","UNK_PTR","",0x4), + 0x80A63F98:("jtbl_80A63F98","UNK_PTR","",0x4), + 0x80A63FF8:("jtbl_80A63FF8","UNK_PTR","",0x4), + 0x80A64010:("jtbl_80A64010","UNK_PTR","",0x4), 0x80A64028:("D_80A64028","f32","",0x4), 0x80A6402C:("D_80A6402C","f32","",0x4), - 0x80A64030:("enBalOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A64044:("enBalOverlayRelocations","u32","[277]",0x454), - 0x80A6449C:("enBalOverlayInfoOffset","u32","",0x4), 0x80A65D40:("En_Ginko_Man_InitVars","UNK_TYPE1","",0x1), 0x80A65D60:("animations","UNK_PTR","",0x4), - 0x80A65DE0:("jtbl_D_80A65DE0","UNK_PTR","",0x4), - 0x80A65EAC:("jtbl_D_80A65EAC","UNK_PTR","",0x4), + 0x80A65DE0:("jtbl_80A65DE0","UNK_PTR","",0x4), + 0x80A65EAC:("jtbl_80A65EAC","UNK_PTR","",0x4), 0x80A65EE8:("D_80A65EE8","f32","",0x4), 0x80A65EEC:("D_80A65EEC","f32","",0x4), - 0x80A65EF0:("enGinkoManOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A65F04:("enGinkoManOverlayRelocations","u32","[156]",0x270), - 0x80A6617C:("enGinkoManOverlayInfoOffset","u32","",0x4), 0x80A664A0:("En_Warp_Uzu_InitVars","UNK_TYPE1","",0x1), 0x80A664C0:("D_80A664C0","UNK_TYPE1","",0x1), 0x80A664EC:("D_80A664EC","UNK_TYPE1","",0x1), 0x80A664FC:("D_80A664FC","UNK_TYPE1","",0x1), - 0x80A66510:("enWarpUzuOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A66524:("enWarpUzuOverlayRelocations","u32","[16]",0x40), - 0x80A6656C:("enWarpUzuOverlayInfoOffset","u32","",0x4), 0x80A67600:("Obj_Driftice_InitVars","UNK_TYPE1","",0x1), 0x80A67620:("D_80A67620","UNK_TYPE4","",0x4), 0x80A67644:("D_80A67644","f32","",0x4), @@ -13207,9 +12284,6 @@ 0x80A67740:("D_80A67740","f32","",0x4), 0x80A67744:("D_80A67744","f32","",0x4), 0x80A67748:("D_80A67748","f32","",0x4), - 0x80A67750:("objDrifticeOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A67764:("objDrifticeOverlayRelocations","u32","[80]",0x140), - 0x80A678AC:("objDrifticeOverlayInfoOffset","u32","",0x4), 0x80A685E0:("En_Look_Nuts_InitVars","UNK_TYPE1","",0x1), 0x80A68600:("D_80A68600","UNK_TYPE1","",0x1), 0x80A6862C:("D_80A6862C","UNK_TYPE4","",0x4), @@ -13219,10 +12293,7 @@ 0x80A68670:("D_80A68670","f32","",0x4), 0x80A68674:("D_80A68674","f32","",0x4), 0x80A68678:("D_80A68678","f32","",0x4), - 0x80A6867C:("jtbl_D_80A6867C","UNK_PTR","",0x4), - 0x80A686B0:("enLookNutsOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A686C4:("enLookNutsOverlayRelocations","u32","[53]",0xd4), - 0x80A6879C:("enLookNutsOverlayInfoOffset","u32","",0x4), + 0x80A6867C:("jtbl_80A6867C","UNK_PTR","",0x4), 0x80A6B930:("En_Mushi2_InitVars","UNK_TYPE1","",0x1), 0x80A6B950:("D_80A6B950","UNK_TYPE1","",0x1), 0x80A6B974:("D_80A6B974","UNK_TYPE1","",0x1), @@ -13293,9 +12364,6 @@ 0x80A6BAF8:("D_80A6BAF8","f32","",0x4), 0x80A6BAFC:("D_80A6BAFC","f32","",0x4), 0x80A6BB00:("D_80A6BB00","f32","",0x4), - 0x80A6BB10:("enMushi2OverlayInfo","OverlayRelocationSection","",0x14), - 0x80A6BB24:("enMushi2OverlayRelocations","u32","[280]",0x460), - 0x80A6BF8C:("enMushi2OverlayInfoOffset","u32","",0x4), 0x80A6E490:("En_Fall_InitVars","UNK_TYPE1","",0x1), 0x80A6E4B0:("D_80A6E4B0","UNK_TYPE4","",0x4), 0x80A6E4B4:("D_80A6E4B4","UNK_TYPE1","",0x1), @@ -13315,8 +12383,8 @@ 0x80A6E5C0:("D_80A6E5C0","f32","",0x4), 0x80A6E5C4:("D_80A6E5C4","f32","",0x4), 0x80A6E5C8:("D_80A6E5C8","f32","",0x4), - 0x80A6E5CC:("jtbl_D_80A6E5CC","UNK_PTR","",0x4), - 0x80A6E5EC:("jtbl_D_80A6E5EC","UNK_PTR","",0x4), + 0x80A6E5CC:("jtbl_80A6E5CC","UNK_PTR","",0x4), + 0x80A6E5EC:("jtbl_80A6E5EC","UNK_PTR","",0x4), 0x80A6E61C:("D_80A6E61C","f32","",0x4), 0x80A6E620:("D_80A6E620","f32","",0x4), 0x80A6E624:("D_80A6E624","f32","",0x4), @@ -13332,9 +12400,6 @@ 0x80A6E64C:("D_80A6E64C","f32","",0x4), 0x80A6E650:("D_80A6E650","f32","",0x4), 0x80A6E654:("D_80A6E654","f32","",0x4), - 0x80A6E660:("enFallOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A6E674:("enFallOverlayRelocations","u32","[198]",0x318), - 0x80A6E98C:("enFallOverlayInfoOffset","u32","",0x4), 0x80A6E990:("D_80A6E990","UNK_TYPE1","",0x1), 0x80A6E9B4:("D_80A6E9B4","UNK_TYPE1","",0x1), 0x80A6E9D8:("D_80A6E9D8","UNK_TYPE1","",0x1), @@ -13346,20 +12411,14 @@ 0x80A704E8:("D_80A704E8","UNK_TYPE1","",0x1), 0x80A704F0:("D_80A704F0","UNK_TYPE1","",0x1), 0x80A704FC:("D_80A704FC","UNK_TYPE1","",0x1), - 0x80A70510:("jtbl_D_80A70510","UNK_PTR","",0x4), - 0x80A7056C:("jtbl_D_80A7056C","UNK_PTR","",0x4), - 0x80A70590:("enMm3OverlayInfo","OverlayRelocationSection","",0x14), - 0x80A705A4:("enMm3OverlayRelocations","u32","[82]",0x148), - 0x80A706EC:("enMm3OverlayInfoOffset","u32","",0x4), + 0x80A70510:("jtbl_80A70510","UNK_PTR","",0x4), + 0x80A7056C:("jtbl_80A7056C","UNK_PTR","",0x4), 0x80A71080:("Bg_Crace_Movebg_InitVars","UNK_TYPE1","",0x1), 0x80A710A0:("D_80A710A0","UNK_TYPE1","",0x1), 0x80A710A4:("D_80A710A4","UNK_TYPE1","",0x1), 0x80A710A8:("D_80A710A8","UNK_TYPE1","",0x1), 0x80A710AC:("D_80A710AC","UNK_TYPE1","",0x1), 0x80A710C0:("D_80A710C0","f32","",0x4), - 0x80A710D0:("bgCraceMovebgOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A710E4:("bgCraceMovebgOverlayRelocations","u32","[50]",0xc8), - 0x80A711AC:("bgCraceMovebgOverlayInfoOffset","u32","",0x4), 0x80A711B0:("D_80A711B0","UNK_TYPE1","",0x1), 0x80A739A0:("D_80A739A0","UNK_PTR","",0x4), 0x80A73AE0:("En_Dno_InitVars","UNK_TYPE1","",0x1), @@ -13367,22 +12426,19 @@ 0x80A73B2C:("D_80A73B2C","UNK_TYPE1","",0x1), 0x80A73B38:("D_80A73B38","UNK_TYPE1","",0x1), 0x80A73B40:("D_80A73B40","UNK_TYPE1","",0x1), - 0x80A73B50:("jtbl_D_80A73B50","UNK_PTR","",0x4), - 0x80A73B88:("jtbl_D_80A73B88","UNK_PTR","",0x4), - 0x80A73BA4:("jtbl_D_80A73BA4","UNK_PTR","",0x4), - 0x80A73BC0:("jtbl_D_80A73BC0","UNK_PTR","",0x4), + 0x80A73B50:("jtbl_80A73B50","UNK_PTR","",0x4), + 0x80A73B88:("jtbl_80A73B88","UNK_PTR","",0x4), + 0x80A73BA4:("jtbl_80A73BA4","UNK_PTR","",0x4), + 0x80A73BC0:("jtbl_80A73BC0","UNK_PTR","",0x4), 0x80A73BDC:("D_80A73BDC","f32","",0x4), - 0x80A73BE0:("jtbl_D_80A73BE0","UNK_PTR","",0x4), + 0x80A73BE0:("jtbl_80A73BE0","UNK_PTR","",0x4), 0x80A73BFC:("D_80A73BFC","f32","",0x4), 0x80A73C00:("D_80A73C00","f32","",0x4), 0x80A73C04:("D_80A73C04","f32","",0x4), 0x80A73C08:("D_80A73C08","f32","",0x4), 0x80A73C0C:("D_80A73C0C","f32","",0x4), - 0x80A73C10:("jtbl_D_80A73C10","UNK_PTR","",0x4), + 0x80A73C10:("jtbl_80A73C10","UNK_PTR","",0x4), 0x80A73C24:("D_80A73C24","f32","",0x4), - 0x80A73C30:("enDnoOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A73C44:("enDnoOverlayRelocations","u32","[212]",0x350), - 0x80A73F9C:("enDnoOverlayInfoOffset","u32","",0x4), 0x80A75BC0:("D_80A75BC0","UNK_TYPE1","",0x1), 0x80A75BE0:("D_80A75BE0","UNK_TYPE1","",0x1), 0x80A75C0C:("En_Pr2_InitVars","UNK_TYPE1","",0x1), @@ -13399,9 +12455,6 @@ 0x80A75C7C:("D_80A75C7C","f32","",0x4), 0x80A75C80:("D_80A75C80","f32","",0x4), 0x80A75C84:("D_80A75C84","f32","",0x4), - 0x80A75C90:("enPr2OverlayInfo","OverlayRelocationSection","",0x14), - 0x80A75CA4:("enPr2OverlayRelocations","u32","[68]",0x110), - 0x80A75DBC:("enPr2OverlayInfoOffset","u32","",0x4), 0x80A771C0:("D_80A771C0","UNK_TYPE1","",0x1), 0x80A771E0:("D_80A771E0","f32","",0x4), 0x80A771F4:("D_80A771F4","UNK_TYPE1","",0x1), @@ -13419,9 +12472,6 @@ 0x80A7727C:("D_80A7727C","f32","",0x4), 0x80A77280:("D_80A77280","f32","",0x4), 0x80A77284:("D_80A77284","f32","",0x4), - 0x80A77290:("enPrzOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A772A4:("enPrzOverlayRelocations","u32","[70]",0x118), - 0x80A773BC:("enPrzOverlayInfoOffset","u32","",0x4), 0x80A7B4F0:("D_80A7B4F0","UNK_TYPE1","",0x1), 0x80A7B510:("D_80A7B510","UNK_TYPE4","",0x4), 0x80A7B558:("D_80A7B558","UNK_TYPE1","",0x1), @@ -13449,7 +12499,7 @@ 0x80A7B72C:("D_80A7B72C","UNK_TYPE1","",0x1), 0x80A7B738:("D_80A7B738","UNK_TYPE2","",0x2), 0x80A7B760:("D_80A7B760","f32","",0x4), - 0x80A7B764:("jtbl_D_80A7B764","UNK_PTR","",0x4), + 0x80A7B764:("jtbl_80A7B764","UNK_PTR","",0x4), 0x80A7B794:("D_80A7B794","f32","",0x4), 0x80A7B798:("D_80A7B798","f32","",0x4), 0x80A7B79C:("D_80A7B79C","f32","",0x4), @@ -13474,14 +12524,11 @@ 0x80A7B7E8:("D_80A7B7E8","f32","",0x4), 0x80A7B7EC:("D_80A7B7EC","f32","",0x4), 0x80A7B7F0:("D_80A7B7F0","f32","",0x4), - 0x80A7B7F4:("jtbl_D_80A7B7F4","UNK_PTR","",0x4), + 0x80A7B7F4:("jtbl_80A7B7F4","UNK_PTR","",0x4), 0x80A7B80C:("D_80A7B80C","f32","",0x4), - 0x80A7B810:("jtbl_D_80A7B810","UNK_PTR","",0x4), + 0x80A7B810:("jtbl_80A7B810","UNK_PTR","",0x4), 0x80A7B834:("D_80A7B834","f32","",0x4), 0x80A7B838:("D_80A7B838","f32","",0x4), - 0x80A7B840:("enJso2OverlayInfo","OverlayRelocationSection","",0x14), - 0x80A7B854:("enJso2OverlayRelocations","u32","[261]",0x414), - 0x80A7BC6C:("enJso2OverlayInfoOffset","u32","",0x4), 0x80A7C770:("Obj_Etcetera_InitVars","UNK_TYPE1","",0x1), 0x80A7C790:("D_80A7C790","UNK_TYPE1","",0x1), 0x80A7C7BC:("D_80A7C7BC","UNK_TYPE2","",0x2), @@ -13501,9 +12548,6 @@ 0x80A7C84C:("D_80A7C84C","f32","",0x4), 0x80A7C850:("D_80A7C850","f32","",0x4), 0x80A7C854:("D_80A7C854","f32","",0x4), - 0x80A7C860:("objEtceteraOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A7C874:("objEtceteraOverlayRelocations","u32","[70]",0x118), - 0x80A7C98C:("objEtceteraOverlayInfoOffset","u32","",0x4), 0x80A80C40:("D_80A80C40","UNK_TYPE1","",0x1), 0x80A80C64:("D_80A80C64","UNK_TYPE1","",0x1), 0x80A80D3C:("D_80A80D3C","UNK_TYPE1","",0x1), @@ -13543,9 +12587,6 @@ 0x80A80EDC:("D_80A80EDC","f32","",0x4), 0x80A80EE0:("D_80A80EE0","f32","",0x4), 0x80A80EE4:("D_80A80EE4","f32","",0x4), - 0x80A80EF0:("enEgolOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A80F04:("enEgolOverlayRelocations","u32","[177]",0x2c4), - 0x80A811CC:("enEgolOverlayInfoOffset","u32","",0x4), 0x80A84550:("Obj_Mine_InitVars","UNK_TYPE1","",0x1), 0x80A84570:("D_80A84570","UNK_TYPE1","",0x1), 0x80A84594:("D_80A84594","UNK_TYPE1","",0x1), @@ -13594,16 +12635,10 @@ 0x80A84698:("D_80A84698","f32","",0x4), 0x80A8469C:("D_80A8469C","f32","",0x4), 0x80A846A0:("D_80A846A0","f32","",0x4), - 0x80A846B0:("objMineOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A846C4:("objMineOverlayRelocations","u32","[193]",0x304), - 0x80A849CC:("objMineOverlayInfoOffset","u32","",0x4), 0x80A849D0:("D_80A849D0","UNK_TYPE4","",0x4), 0x80A85460:("Obj_Purify_InitVars","UNK_TYPE1","",0x1), 0x80A85480:("D_80A85480","UNK_TYPE1","",0x1), 0x80A854A0:("D_80A854A0","UNK_TYPE1","",0x1), - 0x80A85550:("objPurifyOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A85564:("objPurifyOverlayRelocations","u32","[46]",0xb8), - 0x80A8561C:("objPurifyOverlayInfoOffset","u32","",0x4), 0x80A88910:("D_80A88910","UNK_TYPE1","",0x1), 0x80A88918:("D_80A88918","UNK_TYPE1","",0x1), 0x80A88924:("D_80A88924","UNK_TYPE1","",0x1), @@ -13659,7 +12694,7 @@ 0x80A8FF10:("filename1","char","[]",0x1), 0x80A8FF20:("filename2","char","[]",0x1), 0x80A8FF30:("D_80A8FF30","f32","",0x4), - 0x80A8FF34:("jtbl_D_80A8FF34","UNK_PTR","",0x4), + 0x80A8FF34:("jtbl_80A8FF34","UNK_PTR","",0x4), 0x80A8FF4C:("D_80A8FF4C","f32","",0x4), 0x80A8FF50:("D_80A8FF50","f32","",0x4), 0x80A8FF54:("D_80A8FF54","f32","",0x4), @@ -13669,13 +12704,7 @@ 0x80A8FF64:("D_80A8FF64","f32","",0x4), 0x80A8FF68:("D_80A8FF68","f32","",0x4), 0x80A8FF6C:("D_80A8FF6C","f32","",0x4), - 0x80A8FF70:("enTrtOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A8FF84:("enTrtOverlayRelocations","u32","[263]",0x41c), - 0x80A903AC:("enTrtOverlayInfoOffset","u32","",0x4), 0x80A906E0:("En_Test5_InitVars","UNK_TYPE1","",0x1), - 0x80A90700:("enTest5OverlayInfo","OverlayRelocationSection","",0x14), - 0x80A90714:("enTest5OverlayRelocations","u32","[6]",0x18), - 0x80A9072C:("enTest5OverlayInfoOffset","u32","",0x4), 0x80A93E60:("En_Test6_InitVars","UNK_TYPE1","",0x1), 0x80A93E80:("D_80A93E80","UNK_TYPE1","",0x1), 0x80A9402C:("D_80A9402C","UNK_TYPE1","",0x1), @@ -13702,14 +12731,14 @@ 0x80A940A4:("D_80A940A4","f32","",0x4), 0x80A940A8:("D_80A940A8","f32","",0x4), 0x80A940AC:("D_80A940AC","f32","",0x4), - 0x80A940B0:("jtbl_D_80A940B0","UNK_PTR","",0x4), - 0x80A941E0:("jtbl_D_80A941E0","UNK_PTR","",0x4), + 0x80A940B0:("jtbl_80A940B0","UNK_PTR","",0x4), + 0x80A941E0:("jtbl_80A941E0","UNK_PTR","",0x4), 0x80A942BC:("D_80A942BC","f32","",0x4), 0x80A942C0:("D_80A942C0","f32","",0x4), - 0x80A942C4:("jtbl_D_80A942C4","UNK_PTR","",0x4), + 0x80A942C4:("jtbl_80A942C4","UNK_PTR","",0x4), 0x80A942EC:("D_80A942EC","f32","",0x4), 0x80A942F0:("D_80A942F0","f32","",0x4), - 0x80A942F4:("jtbl_D_80A942F4","UNK_PTR","",0x4), + 0x80A942F4:("jtbl_80A942F4","UNK_PTR","",0x4), 0x80A9431C:("D_80A9431C","f32","",0x4), 0x80A94320:("D_80A94320","f32","",0x4), 0x80A94324:("D_80A94324","f32","",0x4), @@ -13717,12 +12746,9 @@ 0x80A9432C:("D_80A9432C","f32","",0x4), 0x80A94330:("D_80A94330","f32","",0x4), 0x80A94334:("D_80A94334","f32","",0x4), - 0x80A94338:("jtbl_D_80A94338","UNK_PTR","",0x4), + 0x80A94338:("jtbl_80A94338","UNK_PTR","",0x4), 0x80A94360:("D_80A94360","f32","",0x4), 0x80A94364:("D_80A94364","f32","",0x4), - 0x80A94370:("enTest6OverlayInfo","OverlayRelocationSection","",0x14), - 0x80A94384:("enTest6OverlayRelocations","u32","[352]",0x580), - 0x80A9490C:("enTest6OverlayInfoOffset","u32","",0x4), 0x80A94910:("D_80A94910","UNK_TYPE4","",0x4), 0x80A99010:("D_80A99010","UNK_TYPE4","",0x4), 0x80A990F0:("En_Az_InitVars","UNK_TYPE1","",0x1), @@ -13744,18 +12770,18 @@ 0x80A99410:("D_80A99410","UNK_TYPE1","",0x1), 0x80A9941C:("D_80A9941C","UNK_TYPE1","",0x1), 0x80A99428:("D_80A99428","UNK_TYPE1","",0x1), - 0x80A99440:("jtbl_D_80A99440","UNK_PTR","",0x4), + 0x80A99440:("jtbl_80A99440","UNK_PTR","",0x4), 0x80A9945C:("D_80A9945C","f32","",0x4), 0x80A99460:("D_80A99460","f32","",0x4), 0x80A99464:("D_80A99464","f32","",0x4), 0x80A99468:("D_80A99468","f32","",0x4), - 0x80A9946C:("jtbl_D_80A9946C","UNK_PTR","",0x4), - 0x80A99488:("jtbl_D_80A99488","UNK_PTR","",0x4), - 0x80A99578:("jtbl_D_80A99578","UNK_PTR","",0x4), - 0x80A99638:("jtbl_D_80A99638","UNK_PTR","",0x4), + 0x80A9946C:("jtbl_80A9946C","UNK_PTR","",0x4), + 0x80A99488:("jtbl_80A99488","UNK_PTR","",0x4), + 0x80A99578:("jtbl_80A99578","UNK_PTR","",0x4), + 0x80A99638:("jtbl_80A99638","UNK_PTR","",0x4), 0x80A99660:("D_80A99660","f32","",0x4), 0x80A99664:("D_80A99664","f32","",0x4), - 0x80A99668:("jtbl_D_80A99668","UNK_PTR","",0x4), + 0x80A99668:("jtbl_80A99668","UNK_PTR","",0x4), 0x80A99684:("D_80A99684","f32","",0x4), 0x80A99688:("D_80A99688","f32","",0x4), 0x80A9968C:("D_80A9968C","f32","",0x4), @@ -13766,9 +12792,6 @@ 0x80A996A0:("D_80A996A0","f32","",0x4), 0x80A996A4:("D_80A996A4","f32","",0x4), 0x80A996A8:("D_80A996A8","f32","",0x4), - 0x80A996B0:("enAzOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A996C4:("enAzOverlayRelocations","u32","[493]",0x7b4), - 0x80A99E7C:("enAzOverlayInfoOffset","u32","",0x4), 0x80A99E80:("D_80A99E80","UNK_TYPE1","",0x1), 0x80A99E8C:("D_80A99E8C","f32","",0x4), 0x80A99E90:("D_80A99E90","f32","",0x4), @@ -13791,9 +12814,6 @@ 0x80A9ABD8:("D_80A9ABD8","f32","",0x4), 0x80A9ABDC:("D_80A9ABDC","f32","",0x4), 0x80A9ABE0:("D_80A9ABE0","f32","",0x4), - 0x80A9ABF0:("enEstoneOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A9AC04:("enEstoneOverlayRelocations","u32","[48]",0xc0), - 0x80A9ACCC:("enEstoneOverlayInfoOffset","u32","",0x4), 0x80A9D860:("Bg_Hakugin_Post_InitVars","UNK_TYPE1","",0x1), 0x80A9D880:("D_80A9D880","f32","",0x4), 0x80A9D884:("D_80A9D884","UNK_TYPE1","",0x1), @@ -13841,9 +12861,6 @@ 0x80A9D9B4:("D_80A9D9B4","f32","",0x4), 0x80A9D9B8:("D_80A9D9B8","f32","",0x4), 0x80A9D9BC:("D_80A9D9BC","f32","",0x4), - 0x80A9D9C0:("bgHakuginPostOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A9D9D4:("bgHakuginPostOverlayRelocations","u32","[250]",0x3e8), - 0x80A9DDBC:("bgHakuginPostOverlayInfoOffset","u32","",0x4), 0x80A9DDC0:("D_80A9DDC0","UNK_TYPE1","",0x1), 0x80A9E028:("D_80A9E028","UNK_TYPE4","",0x4), 0x80A9E030:("D_80A9E030","UNK_TYPE4","",0x4), @@ -13856,9 +12873,6 @@ 0x80A9FD44:("D_80A9FD44","f32","",0x4), 0x80A9FD48:("D_80A9FD48","f32","",0x4), 0x80A9FD4C:("D_80A9FD4C","f32","",0x4), - 0x80A9FD50:("dmOpstageOverlayInfo","OverlayRelocationSection","",0x14), - 0x80A9FD64:("dmOpstageOverlayRelocations","u32","[17]",0x44), - 0x80A9FDAC:("dmOpstageOverlayInfoOffset","u32","",0x4), 0x80AA3580:("Dm_Stk_InitVars","UNK_TYPE1","",0x1), 0x80AA35A0:("D_80AA35A0","UNK_TYPE1","",0x1), 0x80AA35CC:("D_80AA35CC","UNK_PTR","",0x4), @@ -13866,38 +12880,35 @@ 0x80AA35F8:("D_80AA35F8","UNK_TYPE1","",0x1), 0x80AA3CB8:("D_80AA3CB8","UNK_TYPE4","",0x4), 0x80AA3CBC:("D_80AA3CBC","UNK_TYPE4","",0x4), - 0x80AA3CC0:("jtbl_D_80AA3CC0","UNK_PTR","",0x4), - 0x80AA4124:("jtbl_D_80AA4124","UNK_PTR","",0x4), - 0x80AA418C:("jtbl_D_80AA418C","UNK_PTR","",0x4), - 0x80AA4450:("jtbl_D_80AA4450","UNK_PTR","",0x4), - 0x80AA44A8:("jtbl_D_80AA44A8","UNK_PTR","",0x4), + 0x80AA3CC0:("jtbl_80AA3CC0","UNK_PTR","",0x4), + 0x80AA4124:("jtbl_80AA4124","UNK_PTR","",0x4), + 0x80AA418C:("jtbl_80AA418C","UNK_PTR","",0x4), + 0x80AA4450:("jtbl_80AA4450","UNK_PTR","",0x4), + 0x80AA44A8:("jtbl_80AA44A8","UNK_PTR","",0x4), 0x80AA454C:("D_80AA454C","f32","",0x4), 0x80AA4550:("D_80AA4550","f32","",0x4), 0x80AA4554:("D_80AA4554","f32","",0x4), 0x80AA4558:("D_80AA4558","f32","",0x4), 0x80AA455C:("D_80AA455C","f32","",0x4), - 0x80AA4560:("jtbl_D_80AA4560","UNK_PTR","",0x4), + 0x80AA4560:("jtbl_80AA4560","UNK_PTR","",0x4), 0x80AA4654:("D_80AA4654","f32","",0x4), 0x80AA4658:("D_80AA4658","f32","",0x4), 0x80AA465C:("D_80AA465C","f32","",0x4), - 0x80AA4660:("jtbl_D_80AA4660","UNK_PTR","",0x4), + 0x80AA4660:("jtbl_80AA4660","UNK_PTR","",0x4), 0x80AA4774:("D_80AA4774","f32","",0x4), - 0x80AA4778:("jtbl_D_80AA4778","UNK_PTR","",0x4), - 0x80AA479C:("jtbl_D_80AA479C","UNK_PTR","",0x4), - 0x80AA47D0:("dmStkOverlayInfo","OverlayRelocationSection","",0x14), - 0x80AA47E4:("dmStkOverlayRelocations","u32","[870]",0xd98), - 0x80AA557C:("dmStkOverlayInfoOffset","u32","",0x4), + 0x80AA4778:("jtbl_80AA4778","UNK_PTR","",0x4), + 0x80AA479C:("jtbl_80AA479C","UNK_PTR","",0x4), 0x80AA6F90:("Dm_Char00_InitVars","UNK_TYPE1","",0x1), 0x80AA6FB0:("D_80AA6FB0","UNK_TYPE1","",0x1), 0x80AA77A8:("D_80AA77A8","UNK_TYPE1","",0x1), 0x80AA77D8:("D_80AA77D8","UNK_TYPE1","",0x1), 0x80AA7808:("D_80AA7808","UNK_TYPE1","",0x1), - 0x80AA7820:("jtbl_D_80AA7820","UNK_PTR","",0x4), - 0x80AA78EC:("jtbl_D_80AA78EC","UNK_PTR","",0x4), - 0x80AA79A8:("jtbl_D_80AA79A8","UNK_PTR","",0x4), + 0x80AA7820:("jtbl_80AA7820","UNK_PTR","",0x4), + 0x80AA78EC:("jtbl_80AA78EC","UNK_PTR","",0x4), + 0x80AA79A8:("jtbl_80AA79A8","UNK_PTR","",0x4), 0x80AA79FC:("D_80AA79FC","f32","",0x4), - 0x80AA7A00:("jtbl_D_80AA7A00","UNK_PTR","",0x4), - 0x80AA7AE0:("jtbl_D_80AA7AE0","UNK_PTR","",0x4), + 0x80AA7A00:("jtbl_80AA7A00","UNK_PTR","",0x4), + 0x80AA7AE0:("jtbl_80AA7AE0","UNK_PTR","",0x4), 0x80AA7C20:("D_80AA7C20","f32","",0x4), 0x80AA7C24:("D_80AA7C24","f32","",0x4), 0x80AA7C28:("D_80AA7C28","f32","",0x4), @@ -13908,9 +12919,6 @@ 0x80AA7C3C:("D_80AA7C3C","f32","",0x4), 0x80AA7C40:("D_80AA7C40","f32","",0x4), 0x80AA7C44:("D_80AA7C44","f32","",0x4), - 0x80AA7C50:("dmChar00OverlayInfo","OverlayRelocationSection","",0x14), - 0x80AA7C64:("dmChar00OverlayRelocations","u32","[348]",0x570), - 0x80AA81DC:("dmChar00OverlayInfoOffset","u32","",0x4), 0x80AA9DC0:("D_80AA9DC0","UNK_TYPE2","",0x2), 0x80AA9DC2:("D_80AA9DC2","UNK_TYPE2","",0x2), 0x80AA9DD0:("D_80AA9DD0","UNK_TYPE2","",0x2), @@ -13934,9 +12942,6 @@ 0x80AAAAF0:("D_80AAAAF0","f32","",0x4), 0x80AAAAF4:("D_80AAAAF4","f32","",0x4), 0x80AAAAF8:("D_80AAAAF8","f32","",0x4), - 0x80AAAB00:("dmChar01OverlayInfo","OverlayRelocationSection","",0x14), - 0x80AAAB14:("dmChar01OverlayRelocations","u32","[191]",0x2fc), - 0x80AAAE1C:("dmChar01OverlayInfoOffset","u32","",0x4), 0x80AAAE20:("D_80AAAE20","UNK_TYPE1","",0x1), 0x80AAAE22:("D_80AAAE22","UNK_TYPE1","",0x1), 0x80AAAE24:("D_80AAAE24","UNK_TYPE1","",0x1), @@ -13944,16 +12949,10 @@ 0x80AAB390:("Dm_Char02_InitVars","UNK_TYPE1","",0x1), 0x80AAB3B0:("D_80AAB3B0","UNK_TYPE1","",0x1), 0x80AAB410:("D_80AAB410","f32","",0x4), - 0x80AAB420:("dmChar02OverlayInfo","OverlayRelocationSection","",0x14), - 0x80AAB434:("dmChar02OverlayRelocations","u32","[25]",0x64), - 0x80AAB49C:("dmChar02OverlayInfoOffset","u32","",0x4), 0x80AABB60:("Dm_Char03_InitVars","UNK_TYPE1","",0x1), 0x80AABB80:("D_80AABB80","UNK_TYPE1","",0x1), 0x80AABBA0:("D_80AABBA0","f32","",0x4), 0x80AABBA4:("D_80AABBA4","f32","",0x4), - 0x80AABBB0:("dmChar03OverlayInfo","OverlayRelocationSection","",0x14), - 0x80AABBC4:("dmChar03OverlayRelocations","u32","[29]",0x74), - 0x80AABC3C:("dmChar03OverlayInfoOffset","u32","",0x4), 0x80AAC440:("Dm_Char04_InitVars","UNK_TYPE1","",0x1), 0x80AAC460:("D_80AAC460","UNK_TYPE1","",0x1), 0x80AAC490:("D_80AAC490","UNK_TYPE1","",0x1), @@ -13963,9 +12962,6 @@ 0x80AAC504:("D_80AAC504","f32","",0x4), 0x80AAC508:("D_80AAC508","f32","",0x4), 0x80AAC50C:("D_80AAC50C","f32","",0x4), - 0x80AAC510:("dmChar04OverlayInfo","OverlayRelocationSection","",0x14), - 0x80AAC524:("dmChar04OverlayRelocations","u32","[28]",0x70), - 0x80AAC59C:("dmChar04OverlayInfoOffset","u32","",0x4), 0x80AAE240:("Dm_Char05_InitVars","UNK_TYPE1","",0x1), 0x80AAE260:("D_80AAE260","UNK_TYPE1","",0x1), 0x80AAE278:("D_80AAE278","UNK_TYPE1","",0x1), @@ -13973,27 +12969,18 @@ 0x80AAE2C0:("D_80AAE2C0","UNK_TYPE1","",0x1), 0x80AAE2F0:("D_80AAE2F0","UNK_TYPE1","",0x1), 0x80AAE300:("D_80AAE300","UNK_TYPE4","",0x4), - 0x80AAE310:("jtbl_D_80AAE310","UNK_PTR","",0x4), - 0x80AAE344:("jtbl_D_80AAE344","UNK_PTR","",0x4), - 0x80AAE358:("jtbl_D_80AAE358","UNK_PTR","",0x4), - 0x80AAE36C:("jtbl_D_80AAE36C","UNK_PTR","",0x4), - 0x80AAE380:("jtbl_D_80AAE380","UNK_PTR","",0x4), + 0x80AAE310:("jtbl_80AAE310","UNK_PTR","",0x4), + 0x80AAE344:("jtbl_80AAE344","UNK_PTR","",0x4), + 0x80AAE358:("jtbl_80AAE358","UNK_PTR","",0x4), + 0x80AAE36C:("jtbl_80AAE36C","UNK_PTR","",0x4), + 0x80AAE380:("jtbl_80AAE380","UNK_PTR","",0x4), 0x80AAE3B4:("D_80AAE3B4","f32","",0x4), 0x80AAE3B8:("D_80AAE3B8","f32","",0x4), 0x80AAE3BC:("D_80AAE3BC","f32","",0x4), 0x80AAE3C0:("D_80AAE3C0","f32","",0x4), 0x80AAE3C4:("D_80AAE3C4","f32","",0x4), - 0x80AAE3D0:("dmChar05OverlayInfo","OverlayRelocationSection","",0x14), - 0x80AAE3E4:("dmChar05OverlayRelocations","u32","[163]",0x28c), - 0x80AAE67C:("dmChar05OverlayInfoOffset","u32","",0x4), 0x80AAE960:("Dm_Char06_InitVars","UNK_TYPE1","",0x1), - 0x80AAE980:("dmChar06OverlayInfo","OverlayRelocationSection","",0x14), - 0x80AAE994:("dmChar06OverlayRelocations","u32","[7]",0x1c), - 0x80AAE9BC:("dmChar06OverlayInfoOffset","u32","",0x4), 0x80AAEFF0:("Dm_Char07_InitVars","UNK_TYPE1","",0x1), - 0x80AAF010:("dmChar07OverlayInfo","OverlayRelocationSection","",0x14), - 0x80AAF024:("dmChar07OverlayRelocations","u32","[7]",0x1c), - 0x80AAF04C:("dmChar07OverlayInfoOffset","u32","",0x4), 0x80AB1370:("Dm_Char08_InitVars","UNK_TYPE1","",0x1), 0x80AB1390:("D_80AB1390","UNK_TYPE1","",0x1), 0x80AB1398:("D_80AB1398","UNK_TYPE1","",0x1), @@ -14010,7 +12997,7 @@ 0x80AB1778:("D_80AB1778","UNK_TYPE1","",0x1), 0x80AB177C:("D_80AB177C","UNK_TYPE4","",0x4), 0x80AB1788:("D_80AB1788","UNK_TYPE1","",0x1), - 0x80AB17B0:("jtbl_D_80AB17B0","UNK_PTR","",0x4), + 0x80AB17B0:("jtbl_80AB17B0","UNK_PTR","",0x4), 0x80AB17C8:("D_80AB17C8","f32","",0x4), 0x80AB17CC:("D_80AB17CC","f32","",0x4), 0x80AB17D0:("D_80AB17D0","f32","",0x4), @@ -14024,13 +13011,13 @@ 0x80AB17F0:("D_80AB17F0","f32","",0x4), 0x80AB17F4:("D_80AB17F4","f32","",0x4), 0x80AB17F8:("D_80AB17F8","f32","",0x4), - 0x80AB17FC:("jtbl_D_80AB17FC","UNK_PTR","",0x4), + 0x80AB17FC:("jtbl_80AB17FC","UNK_PTR","",0x4), 0x80AB1834:("D_80AB1834","f32","",0x4), - 0x80AB1838:("jtbl_D_80AB1838","UNK_PTR","",0x4), - 0x80AB1894:("jtbl_D_80AB1894","UNK_PTR","",0x4), - 0x80AB18BC:("jtbl_D_80AB18BC","UNK_PTR","",0x4), - 0x80AB18D8:("jtbl_D_80AB18D8","UNK_PTR","",0x4), - 0x80AB18F0:("jtbl_D_80AB18F0","UNK_PTR","",0x4), + 0x80AB1838:("jtbl_80AB1838","UNK_PTR","",0x4), + 0x80AB1894:("jtbl_80AB1894","UNK_PTR","",0x4), + 0x80AB18BC:("jtbl_80AB18BC","UNK_PTR","",0x4), + 0x80AB18D8:("jtbl_80AB18D8","UNK_PTR","",0x4), + 0x80AB18F0:("jtbl_80AB18F0","UNK_PTR","",0x4), 0x80AB1904:("D_80AB1904","f32","",0x4), 0x80AB1908:("D_80AB1908","f32","",0x4), 0x80AB190C:("D_80AB190C","f32","",0x4), @@ -14038,7 +13025,7 @@ 0x80AB1914:("D_80AB1914","f32","",0x4), 0x80AB1918:("D_80AB1918","f32","",0x4), 0x80AB191C:("D_80AB191C","f32","",0x4), - 0x80AB1920:("jtbl_D_80AB1920","UNK_PTR","",0x4), + 0x80AB1920:("jtbl_80AB1920","UNK_PTR","",0x4), 0x80AB1978:("D_80AB1978","f32","",0x4), 0x80AB197C:("D_80AB197C","f32","",0x4), 0x80AB1980:("D_80AB1980","f32","",0x4), @@ -14050,9 +13037,6 @@ 0x80AB1998:("D_80AB1998","f32","",0x4), 0x80AB199C:("D_80AB199C","f32","",0x4), 0x80AB19A0:("D_80AB19A0","f32","",0x4), - 0x80AB19B0:("dmChar08OverlayInfo","OverlayRelocationSection","",0x14), - 0x80AB19C4:("dmChar08OverlayRelocations","u32","[272]",0x440), - 0x80AB1E0C:("dmChar08OverlayInfoOffset","u32","",0x4), 0x80AB2690:("Dm_Char09_InitVars","UNK_TYPE1","",0x1), 0x80AB26B0:("D_80AB26B0","UNK_PTR","",0x4), 0x80AB26D0:("D_80AB26D0","f32","",0x4), @@ -14062,9 +13046,6 @@ 0x80AB26E0:("D_80AB26E0","f32","",0x4), 0x80AB26E4:("D_80AB26E4","f32","",0x4), 0x80AB26E8:("D_80AB26E8","f32","",0x4), - 0x80AB26F0:("dmChar09OverlayInfo","OverlayRelocationSection","",0x14), - 0x80AB2704:("dmChar09OverlayRelocations","u32","[34]",0x88), - 0x80AB278C:("dmChar09OverlayInfoOffset","u32","",0x4), 0x80AB49C0:("Obj_Tokeidai_InitVars","UNK_TYPE1","",0x1), 0x80AB49E0:("D_80AB49E0","UNK_TYPE1","",0x1), 0x80AB49F0:("D_80AB49F0","f32","",0x4), @@ -14077,7 +13058,7 @@ 0x80AB4A0C:("D_80AB4A0C","f32","",0x4), 0x80AB4A10:("D_80AB4A10","f32","",0x4), 0x80AB4A14:("D_80AB4A14","f32","",0x4), - 0x80AB4A18:("jtbl_D_80AB4A18","UNK_PTR","",0x4), + 0x80AB4A18:("jtbl_80AB4A18","UNK_PTR","",0x4), 0x80AB4A48:("D_80AB4A48","f32","",0x4), 0x80AB4A4C:("D_80AB4A4C","f32","",0x4), 0x80AB4A50:("D_80AB4A50","f32","",0x4), @@ -14086,9 +13067,6 @@ 0x80AB4A5C:("D_80AB4A5C","f32","",0x4), 0x80AB4A60:("D_80AB4A60","f32","",0x4), 0x80AB4A64:("D_80AB4A64","f32","",0x4), - 0x80AB4A70:("objTokeidaiOverlayInfo","OverlayRelocationSection","",0x14), - 0x80AB4A84:("objTokeidaiOverlayRelocations","u32","[160]",0x280), - 0x80AB4D0C:("objTokeidaiOverlayInfoOffset","u32","",0x4), 0x80AB9CF0:("En_Mnk_InitVars","UNK_TYPE1","",0x1), 0x80AB9D10:("D_80AB9D10","UNK_TYPE1","",0x1), 0x80AB9D3C:("D_80AB9D3C","UNK_TYPE1","",0x1), @@ -14103,32 +13081,26 @@ 0x80AB9E08:("D_80AB9E08","UNK_TYPE1","",0x1), 0x80AB9E30:("D_80AB9E30","f32","",0x4), 0x80AB9E34:("D_80AB9E34","f32","",0x4), - 0x80AB9E38:("jtbl_D_80AB9E38","UNK_PTR","",0x4), - 0x80AB9E60:("jtbl_D_80AB9E60","UNK_PTR","",0x4), + 0x80AB9E38:("jtbl_80AB9E38","UNK_PTR","",0x4), + 0x80AB9E60:("jtbl_80AB9E60","UNK_PTR","",0x4), 0x80AB9E8C:("D_80AB9E8C","f32","",0x4), 0x80AB9E90:("D_80AB9E90","f32","",0x4), - 0x80AB9E94:("jtbl_D_80AB9E94","UNK_PTR","",0x4), - 0x80AB9EB4:("jtbl_D_80AB9EB4","UNK_PTR","",0x4), - 0x80AB9EDC:("jtbl_D_80AB9EDC","UNK_PTR","",0x4), - 0x80AB9EFC:("jtbl_D_80AB9EFC","UNK_PTR","",0x4), - 0x80AB9F88:("jtbl_D_80AB9F88","UNK_PTR","",0x4), + 0x80AB9E94:("jtbl_80AB9E94","UNK_PTR","",0x4), + 0x80AB9EB4:("jtbl_80AB9EB4","UNK_PTR","",0x4), + 0x80AB9EDC:("jtbl_80AB9EDC","UNK_PTR","",0x4), + 0x80AB9EFC:("jtbl_80AB9EFC","UNK_PTR","",0x4), + 0x80AB9F88:("jtbl_80AB9F88","UNK_PTR","",0x4), 0x80AB9F9C:("D_80AB9F9C","f32","",0x4), 0x80AB9FA0:("D_80AB9FA0","f32","",0x4), 0x80AB9FA4:("D_80AB9FA4","f32","",0x4), 0x80AB9FA8:("D_80AB9FA8","f32","",0x4), - 0x80AB9FAC:("jtbl_D_80AB9FAC","UNK_PTR","",0x4), - 0x80AB9FC0:("jtbl_D_80AB9FC0","UNK_PTR","",0x4), - 0x80AB9FE0:("enMnkOverlayInfo","OverlayRelocationSection","",0x14), - 0x80AB9FF4:("enMnkOverlayRelocations","u32","[489]",0x7a4), - 0x80ABA79C:("enMnkOverlayInfoOffset","u32","",0x4), + 0x80AB9FAC:("jtbl_80AB9FAC","UNK_PTR","",0x4), + 0x80AB9FC0:("jtbl_80AB9FC0","UNK_PTR","",0x4), 0x80ABB040:("En_Egblock_InitVars","UNK_TYPE1","",0x1), 0x80ABB060:("D_80ABB060","f32","",0x4), 0x80ABB064:("D_80ABB064","f32","",0x4), 0x80ABB068:("D_80ABB068","f32","",0x4), 0x80ABB06C:("D_80ABB06C","f32","",0x4), - 0x80ABB070:("enEgblockOverlayInfo","OverlayRelocationSection","",0x14), - 0x80ABB084:("enEgblockOverlayRelocations","u32","[21]",0x54), - 0x80ABB0DC:("enEgblockOverlayInfoOffset","u32","",0x4), 0x80ABBDD0:("En_Guard_Nuts_InitVars","UNK_TYPE1","",0x1), 0x80ABBDF0:("D_80ABBDF0","UNK_TYPE1","",0x1), 0x80ABBE1C:("D_80ABBE1C","UNK_TYPE4","",0x4), @@ -14140,9 +13112,6 @@ 0x80ABBE60:("D_80ABBE60","UNK_TYPE1","",0x1), 0x80ABBE70:("D_80ABBE70","f32","",0x4), 0x80ABBE74:("D_80ABBE74","f32","",0x4), - 0x80ABBE80:("enGuardNutsOverlayInfo","OverlayRelocationSection","",0x14), - 0x80ABBE94:("enGuardNutsOverlayRelocations","u32","[71]",0x11c), - 0x80ABBFBC:("enGuardNutsOverlayInfoOffset","u32","",0x4), 0x80ABCF60:("Bg_Hakugin_Bombwall_InitVars","UNK_TYPE1","",0x1), 0x80ABCF80:("D_80ABCF80","UNK_TYPE1","",0x1), 0x80ABCFAC:("D_80ABCFAC","UNK_TYPE1","",0x1), @@ -14163,9 +13132,6 @@ 0x80ABD068:("D_80ABD068","f32","",0x4), 0x80ABD06C:("D_80ABD06C","f32","",0x4), 0x80ABD070:("D_80ABD070","f32","",0x4), - 0x80ABD080:("bgHakuginBombwallOverlayInfo","OverlayRelocationSection","",0x14), - 0x80ABD094:("bgHakuginBombwallOverlayRelocations","u32","[78]",0x138), - 0x80ABD1CC:("bgHakuginBombwallOverlayInfoOffset","u32","",0x4), 0x80ABD730:("Obj_Tokei_Tobira_InitVars","UNK_TYPE1","",0x1), 0x80ABD750:("D_80ABD750","UNK_TYPE1","",0x1), 0x80ABD760:("D_80ABD760","UNK_TYPE1","",0x1), @@ -14177,14 +13143,26 @@ 0x80ABD794:("D_80ABD794","f32","",0x4), 0x80ABD798:("D_80ABD798","f32","",0x4), 0x80ABD79C:("D_80ABD79C","f32","",0x4), - 0x80ABD7A0:("objTokeiTobiraOverlayInfo","OverlayRelocationSection","",0x14), - 0x80ABD7B4:("objTokeiTobiraOverlayRelocations","u32","[30]",0x78), - 0x80ABD82C:("objTokeiTobiraOverlayInfoOffset","u32","",0x4), 0x80ABDC50:("Bg_Hakugin_Elvpole_InitVars","UNK_TYPE1","",0x1), - 0x80ABDC70:("bgHakuginElvpoleOverlayInfo","OverlayRelocationSection","",0x14), - 0x80ABDC84:("bgHakuginElvpoleOverlayRelocations","u32","[6]",0x18), - 0x80ABDC9C:("bgHakuginElvpoleOverlayInfoOffset","u32","",0x4), 0x80AC0090:("En_Ma4_InitVars","UNK_TYPE1","",0x1), + 0x80AC00B0:("D_80AC00B0","UNK_TYPE1","",0x1), + 0x80AC00DC:("D_80AC00DC","UNK_TYPE1","",0x1), + 0x80AC00E8:("D_80AC00E8","UNK_TYPE1","",0x1), + 0x80AC00FC:("D_80AC00FC","UNK_TYPE1","",0x1), + 0x80AC010C:("D_80AC010C","UNK_TYPE1","",0x1), + 0x80AC024C:("D_80AC024C","UNK_TYPE4","",0x4), + 0x80AC0250:("D_80AC0250","UNK_TYPE4","",0x4), + 0x80AC0254:("D_80AC0254","UNK_TYPE2","",0x2), + 0x80AC0258:("D_80AC0258","UNK_TYPE2","",0x2), + 0x80AC025C:("D_80AC025C","UNK_TYPE4","",0x4), + 0x80AC0260:("D_80AC0260","UNK_TYPE2","",0x2), + 0x80AC0264:("D_80AC0264","UNK_TYPE4","",0x4), + 0x80AC0270:("D_80AC0270","f32","",0x4), + 0x80AC0274:("D_80AC0274","f32","",0x4), + 0x80AC0278:("D_80AC0278","f32","",0x4), + 0x80AC027C:("jtbl_80AC027C","UNK_PTR","",0x4), + 0x80AC0300:("jtbl_80AC0300","UNK_PTR","",0x4), + 0x80AC03E4:("jtbl_80AC03E4","UNK_PTR","",0x4), 0x80AC0400:("enMa4OverlayInfo","OverlayRelocationSection","",0x14), 0x80AC0414:("enMa4OverlayRelocations","u32","[262]",0x418), 0x80AC082C:("enMa4OverlayInfoOffset","u32","",0x4), @@ -14204,9 +13182,6 @@ 0x80AC1110:("D_80AC1110","f32","",0x4), 0x80AC1114:("D_80AC1114","f32","",0x4), 0x80AC1118:("D_80AC1118","f32","",0x4), - 0x80AC1120:("enTwigOverlayInfo","OverlayRelocationSection","",0x14), - 0x80AC1134:("enTwigOverlayRelocations","u32","[61]",0xf4), - 0x80AC122C:("enTwigOverlayInfoOffset","u32","",0x4), 0x80AC1230:("D_80AC1230","UNK_TYPE1","",0x1), 0x80AC1234:("D_80AC1234","UNK_TYPE1","",0x1), 0x80AC1238:("D_80AC1238","UNK_TYPE1","",0x1), @@ -14219,17 +13194,11 @@ 0x80AC1DFC:("D_80AC1DFC","f32","",0x4), 0x80AC1E00:("D_80AC1E00","f32","",0x4), 0x80AC1E04:("D_80AC1E04","f32","",0x4), - 0x80AC1E10:("enPoFusenOverlayInfo","OverlayRelocationSection","",0x14), - 0x80AC1E24:("enPoFusenOverlayRelocations","u32","[41]",0xa4), - 0x80AC1ECC:("enPoFusenOverlayInfoOffset","u32","",0x4), 0x80AC2580:("En_Door_Etc_InitVars","UNK_TYPE1","",0x1), 0x80AC25A0:("D_80AC25A0","UNK_TYPE1","",0x1), 0x80AC25CC:("D_80AC25CC","UNK_TYPE2","",0x2), 0x80AC2634:("D_80AC2634","UNK_TYPE1","",0x1), 0x80AC2650:("D_80AC2650","f32","",0x4), - 0x80AC2660:("enDoorEtcOverlayInfo","OverlayRelocationSection","",0x14), - 0x80AC2674:("enDoorEtcOverlayRelocations","u32","[27]",0x6c), - 0x80AC26EC:("enDoorEtcOverlayInfoOffset","u32","",0x4), 0x80AC4510:("En_Bigokuta_InitVars","UNK_TYPE1","",0x1), 0x80AC4530:("D_80AC4530","UNK_TYPE1","",0x1), 0x80AC455C:("D_80AC455C","UNK_TYPE1","",0x1), @@ -14271,9 +13240,6 @@ 0x80AC4678:("D_80AC4678","f32","",0x4), 0x80AC467C:("D_80AC467C","f32","",0x4), 0x80AC4680:("D_80AC4680","f32","",0x4), - 0x80AC4690:("enBigokutaOverlayInfo","OverlayRelocationSection","",0x14), - 0x80AC46A4:("enBigokutaOverlayRelocations","u32","[143]",0x23c), - 0x80AC48EC:("enBigokutaOverlayInfoOffset","u32","",0x4), 0x80AC4F10:("Bg_Icefloe_InitVars","UNK_TYPE1","",0x1), 0x80AC4F30:("D_80AC4F30","UNK_TYPE4","",0x4), 0x80AC4F38:("D_80AC4F38","UNK_TYPE4","",0x4), @@ -14285,13 +13251,10 @@ 0x80AC4F5C:("D_80AC4F5C","f32","",0x4), 0x80AC4F60:("D_80AC4F60","f32","",0x4), 0x80AC4F64:("D_80AC4F64","f32","",0x4), - 0x80AC4F70:("bgIcefloeOverlayInfo","OverlayRelocationSection","",0x14), - 0x80AC4F84:("bgIcefloeOverlayRelocations","u32","[54]",0xd8), - 0x80AC505C:("bgIcefloeOverlayInfoOffset","u32","",0x4), 0x80AC5060:("D_80AC5060","UNK_TYPE1","",0x1), 0x80AC5630:("D_80AC5630","UNK_TYPE1","",0x1), 0x80AC5660:("D_80AC5660","UNK_TYPE1","",0x1), - 0x80AC5700:("D_80AC5700","UNK_PTR","",0x4), + 0x80AC5700:("TransitionTriforce_InitVars","UNK_PTR","",0x4), 0x80AC5730:("D_80AC5730","f32","",0x4), 0x80AC5734:("D_80AC5734","f32","",0x4), 0x80AC5738:("D_80AC5738","f32","",0x4), @@ -14299,7 +13262,7 @@ 0x80AC5C20:("D_80AC5C20","UNK_TYPE1","",0x1), 0x80AC5DB0:("D_80AC5DB0","UNK_TYPE1","",0x1), 0x80AC65B0:("D_80AC65B0","UNK_TYPE1","",0x1), - 0x80AC66A8:("D_80AC66A8","UNK_PTR","",0x4), + 0x80AC66A8:("TransitionWipe1_InitVars","UNK_PTR","",0x4), 0x80AC66D0:("D_80AC66D0","f32","",0x4), 0x80AC6C60:("D_80AC6C60","UNK_TYPE1","",0x1), 0x80AC7060:("D_80AC7060","UNK_TYPE1","",0x1), @@ -14310,17 +13273,17 @@ 0x80AC8250:("D_80AC8250","UNK_TYPE1","",0x1), 0x80AC8280:("D_80AC8280","UNK_TYPE1","",0x1), 0x80AC8350:("D_80AC8350","UNK_PTR","",0x4), - 0x80AC8370:("D_80AC8370","UNK_PTR","",0x4), + 0x80AC8370:("TransitionWipe3_InitVars","UNK_PTR","",0x4), 0x80AC83A0:("D_80AC83A0","f32","",0x4), - 0x80AC8650:("D_80AC8650","UNK_PTR","",0x4), + 0x80AC8650:("TransitionWipe4_InitVars","UNK_PTR","",0x4), 0x80AC8680:("D_80AC8680","f32","",0x4), 0x80AC8684:("D_80AC8684","f32","",0x4), 0x80AC8688:("D_80AC8688","f32","",0x4), - 0x80AC8AB0:("D_80AC8AB0","UNK_PTR","",0x4), + 0x80AC8AB0:("TransitionWipe5_InitVars","UNK_PTR","",0x4), 0x80AC8AE0:("D_80AC8AE0","f32","",0x4), 0x80AC8AE4:("D_80AC8AE4","f32","",0x4), 0x80AC8AE8:("D_80AC8AE8","f32","",0x4), - 0x80AC93B0:("D_80AC93B0","UNK_TYPE1","",0x1), + 0x80AC93B0:("Effect_Ss_Sbn_InitVars","UNK_TYPE1","",0x1), 0x80AC93B8:("D_80AC93B8","UNK_TYPE1","",0x1), 0x80AC93E8:("D_80AC93E8","UNK_TYPE1","",0x1), 0x80AC9400:("D_80AC9400","f32","",0x4), @@ -14332,9 +13295,6 @@ 0x80AC9418:("D_80AC9418","f32","",0x4), 0x80AC941C:("D_80AC941C","f32","",0x4), 0x80AC9420:("D_80AC9420","f32","",0x4), - 0x80AC9430:("effectSsSbnOverlayInfo","OverlayRelocationSection","",0x14), - 0x80AC9444:("effectSsSbnOverlayRelocations","u32","[29]",0x74), - 0x80AC94BC:("effectSsSbnOverlayInfoOffset","u32","",0x4), 0x80AC9D50:("Obj_Ocarinalift_InitVars","UNK_TYPE1","",0x1), 0x80AC9D70:("D_80AC9D70","UNK_TYPE1","",0x1), 0x80AC9D90:("D_80AC9D90","f32","",0x4), @@ -14344,30 +13304,15 @@ 0x80AC9DA0:("D_80AC9DA0","f32","",0x4), 0x80AC9DA4:("D_80AC9DA4","f32","",0x4), 0x80AC9DA8:("D_80AC9DA8","f32","",0x4), - 0x80AC9DB0:("objOcarinaliftOverlayInfo","OverlayRelocationSection","",0x14), - 0x80AC9DC4:("objOcarinaliftOverlayRelocations","u32","[51]",0xcc), - 0x80AC9E9C:("objOcarinaliftOverlayInfoOffset","u32","",0x4), 0x80ACA9D0:("En_Time_Tag_InitVars","UNK_TYPE1","",0x1), - 0x80ACA9F0:("jtbl_D_80ACA9F0","UNK_PTR","",0x4), - 0x80ACAA10:("enTimeTagOverlayInfo","OverlayRelocationSection","",0x14), - 0x80ACAA24:("enTimeTagOverlayRelocations","u32","[56]",0xe0), - 0x80ACAB0C:("enTimeTagOverlayInfoOffset","u32","",0x4), + 0x80ACA9F0:("jtbl_80ACA9F0","UNK_PTR","",0x4), 0x80ACB120:("Bg_Open_Shutter_InitVars","UNK_TYPE1","",0x1), 0x80ACB140:("D_80ACB140","UNK_TYPE1","",0x1), 0x80ACB150:("D_80ACB150","f32","",0x4), - 0x80ACB160:("bgOpenShutterOverlayInfo","OverlayRelocationSection","",0x14), - 0x80ACB174:("bgOpenShutterOverlayRelocations","u32","[26]",0x68), - 0x80ACB1DC:("bgOpenShutterOverlayInfoOffset","u32","",0x4), 0x80ACB390:("Bg_Open_Spot_InitVars","UNK_TYPE1","",0x1), 0x80ACB3B0:("D_80ACB3B0","UNK_TYPE1","",0x1), - 0x80ACB3C0:("bgOpenSpotOverlayInfo","OverlayRelocationSection","",0x14), - 0x80ACB3D4:("bgOpenSpotOverlayRelocations","u32","[7]",0x1c), - 0x80ACB3FC:("bgOpenSpotOverlayInfoOffset","u32","",0x4), 0x80ACB630:("Bg_Fu_Kaiten_InitVars","ActorInit","",0x20), 0x80ACB650:("D_80ACB650","f32","",0x4), - 0x80ACB660:("bgFuKaitenOverlayInfo","OverlayRelocationSection","",0x14), - 0x80ACB674:("bgFuKaitenOverlayRelocations","u32","[8]",0x20), - 0x80ACB69C:("bgFuKaitenOverlayInfoOffset","u32","",0x4), 0x80ACC2A0:("Obj_Aqua_InitVars","UNK_TYPE1","",0x1), 0x80ACC2C0:("D_80ACC2C0","UNK_TYPE1","",0x1), 0x80ACC2EC:("D_80ACC2EC","UNK_TYPE1","",0x1), @@ -14386,26 +13331,20 @@ 0x80ACC354:("D_80ACC354","f32","",0x4), 0x80ACC358:("D_80ACC358","f32","",0x4), 0x80ACC35C:("D_80ACC35C","f32","",0x4), - 0x80ACC360:("objAquaOverlayInfo","OverlayRelocationSection","",0x14), - 0x80ACC374:("objAquaOverlayRelocations","u32","[60]",0xf0), - 0x80ACC46C:("objAquaOverlayInfoOffset","u32","",0x4), 0x80ACDA10:("En_Elforg_InitVars","UNK_TYPE1","",0x1), 0x80ACDA30:("D_80ACDA30","UNK_TYPE1","",0x1), 0x80ACDA5C:("D_80ACDA5C","UNK_TYPE1","",0x1), 0x80ACDA68:("D_80ACDA68","UNK_TYPE1","",0x1), 0x80ACDA74:("D_80ACDA74","UNK_TYPE1","",0x1), 0x80ACDA88:("D_80ACDA88","UNK_TYPE1","",0x1), - 0x80ACDAA0:("jtbl_D_80ACDAA0","UNK_PTR","",0x4), - 0x80ACDAC0:("jtbl_D_80ACDAC0","UNK_PTR","",0x4), + 0x80ACDAA0:("jtbl_80ACDAA0","UNK_PTR","",0x4), + 0x80ACDAC0:("jtbl_80ACDAC0","UNK_PTR","",0x4), 0x80ACDAE0:("D_80ACDAE0","f32","",0x4), 0x80ACDAE4:("D_80ACDAE4","f32","",0x4), 0x80ACDAE8:("D_80ACDAE8","f32","",0x4), 0x80ACDAEC:("D_80ACDAEC","f32","",0x4), 0x80ACDAF0:("D_80ACDAF0","f32","",0x4), 0x80ACDAF4:("D_80ACDAF4","f32","",0x4), - 0x80ACDB00:("enElforgOverlayInfo","OverlayRelocationSection","",0x14), - 0x80ACDB14:("enElforgOverlayRelocations","u32","[109]",0x1b4), - 0x80ACDCCC:("enElforgOverlayInfoOffset","u32","",0x4), 0x80ACE250:("En_Elfbub_InitVars","UNK_TYPE1","",0x1), 0x80ACE270:("D_80ACE270","UNK_TYPE1","",0x1), 0x80ACE29C:("D_80ACE29C","UNK_TYPE1","",0x1), @@ -14413,9 +13352,6 @@ 0x80ACE2A4:("D_80ACE2A4","UNK_TYPE1","",0x1), 0x80ACE2B0:("D_80ACE2B0","f32","",0x4), 0x80ACE2B4:("D_80ACE2B4","f32","",0x4), - 0x80ACE2C0:("enElfbubOverlayInfo","OverlayRelocationSection","",0x14), - 0x80ACE2D4:("enElfbubOverlayRelocations","u32","[20]",0x50), - 0x80ACE32C:("enElfbubOverlayInfoOffset","u32","",0x4), 0x80ACF5F0:("En_Fu_Mato_InitVars","UNK_TYPE1","",0x1), 0x80ACF610:("D_80ACF610","UNK_TYPE1","",0x1), 0x80ACF63C:("D_80ACF63C","UNK_TYPE4","",0x4), @@ -14424,9 +13360,6 @@ 0x80ACF690:("D_80ACF690","UNK_TYPE4","",0x4), 0x80ACF6A0:("D_80ACF6A0","f32","",0x4), 0x80ACF6A4:("D_80ACF6A4","f32","",0x4), - 0x80ACF6B0:("enFuMatoOverlayInfo","OverlayRelocationSection","",0x14), - 0x80ACF6C4:("enFuMatoOverlayRelocations","u32","[45]",0xb4), - 0x80ACF77C:("enFuMatoOverlayInfoOffset","u32","",0x4), 0x80AD05D0:("En_Fu_Kago_InitVars","UNK_TYPE1","",0x1), 0x80AD05F0:("D_80AD05F0","UNK_TYPE1","",0x1), 0x80AD061C:("D_80AD061C","UNK_PTR","",0x4), @@ -14442,9 +13375,6 @@ 0x80AD0730:("D_80AD0730","f32","",0x4), 0x80AD0734:("D_80AD0734","f32","",0x4), 0x80AD0738:("D_80AD0738","f32","",0x4), - 0x80AD0740:("enFuKagoOverlayInfo","OverlayRelocationSection","",0x14), - 0x80AD0754:("enFuKagoOverlayRelocations","u32","[54]",0xd8), - 0x80AD082C:("enFuKagoOverlayInfoOffset","u32","",0x4), 0x80AD22A0:("En_Osn_InitVars","UNK_TYPE1","",0x1), 0x80AD22C0:("D_80AD22C0","UNK_PTR","",0x4), 0x80AD2518:("D_80AD2518","UNK_TYPE1","",0x1), @@ -14458,14 +13388,11 @@ 0x80AD2590:("D_80AD2590","UNK_TYPE4","",0x4), 0x80AD2594:("D_80AD2594","UNK_TYPE4","",0x4), 0x80AD2598:("D_80AD2598","UNK_TYPE4","",0x4), - 0x80AD25A0:("jtbl_D_80AD25A0","UNK_PTR","",0x4), - 0x80AD25F0:("jtbl_D_80AD25F0","UNK_PTR","",0x4), - 0x80AD2640:("jtbl_D_80AD2640","UNK_PTR","",0x4), - 0x80AD2740:("jtbl_D_80AD2740","UNK_PTR","",0x4), + 0x80AD25A0:("jtbl_80AD25A0","UNK_PTR","",0x4), + 0x80AD25F0:("jtbl_80AD25F0","UNK_PTR","",0x4), + 0x80AD2640:("jtbl_80AD2640","UNK_PTR","",0x4), + 0x80AD2740:("jtbl_80AD2740","UNK_PTR","",0x4), 0x80AD27A0:("D_80AD27A0","f32","",0x4), - 0x80AD27B0:("enOsnOverlayInfo","OverlayRelocationSection","",0x14), - 0x80AD27C4:("enOsnOverlayRelocations","u32","[232]",0x3a0), - 0x80AD2B6C:("enOsnOverlayInfoOffset","u32","",0x4), 0x80AD3250:("Bg_Ctower_Gear_InitVars","UNK_TYPE1","",0x1), 0x80AD3270:("D_80AD3270","UNK_TYPE4","",0x4), 0x80AD32A0:("D_80AD32A0","UNK_TYPE4","",0x4), @@ -14473,9 +13400,6 @@ 0x80AD32D0:("D_80AD32D0","UNK_TYPE1","",0x1), 0x80AD32DC:("D_80AD32DC","UNK_TYPE1","",0x1), 0x80AD32E8:("D_80AD32E8","UNK_TYPE1","",0x1), - 0x80AD3300:("bgCtowerGearOverlayInfo","OverlayRelocationSection","",0x14), - 0x80AD3314:("bgCtowerGearOverlayRelocations","u32","[23]",0x5c), - 0x80AD337C:("bgCtowerGearOverlayInfoOffset","u32","",0x4), 0x80AD57E0:("D_80AD57E0","UNK_TYPE1","",0x1), 0x80AD5880:("En_Trt2_InitVars","UNK_TYPE1","",0x1), 0x80AD58A0:("D_80AD58A0","UNK_TYPE1","",0x1), @@ -14494,9 +13418,6 @@ 0x80AD5998:("D_80AD5998","f32","",0x4), 0x80AD599C:("D_80AD599C","f32","",0x4), 0x80AD59A0:("D_80AD59A0","f32","",0x4), - 0x80AD59B0:("enTrt2OverlayInfo","OverlayRelocationSection","",0x14), - 0x80AD59C4:("enTrt2OverlayRelocations","u32","[119]",0x1dc), - 0x80AD5BAC:("enTrt2OverlayInfoOffset","u32","",0x4), 0x80AD6600:("Obj_Tokei_Step_InitVars","UNK_TYPE1","",0x1), 0x80AD6620:("D_80AD6620","UNK_TYPE4","",0x4), 0x80AD663C:("D_80AD663C","UNK_TYPE4","",0x4), @@ -14504,9 +13425,6 @@ 0x80AD6664:("D_80AD6664","UNK_TYPE1","",0x1), 0x80AD6680:("D_80AD6680","f32","",0x4), 0x80AD6684:("D_80AD6684","f32","",0x4), - 0x80AD6690:("objTokeiStepOverlayInfo","OverlayRelocationSection","",0x14), - 0x80AD66A4:("objTokeiStepOverlayRelocations","u32","[45]",0xb4), - 0x80AD675C:("objTokeiStepOverlayInfoOffset","u32","",0x4), 0x80AD6CF0:("Bg_Lotus_InitVars","UNK_TYPE1","",0x1), 0x80AD6D10:("D_80AD6D10","UNK_TYPE1","",0x1), 0x80AD6D20:("D_80AD6D20","f32","",0x4), @@ -14514,9 +13432,6 @@ 0x80AD6D28:("D_80AD6D28","f32","",0x4), 0x80AD6D2C:("D_80AD6D2C","f32","",0x4), 0x80AD6D30:("D_80AD6D30","f32","",0x4), - 0x80AD6D40:("bgLotusOverlayInfo","OverlayRelocationSection","",0x14), - 0x80AD6D54:("bgLotusOverlayRelocations","u32","[28]",0x70), - 0x80AD6DCC:("bgLotusOverlayInfoOffset","u32","",0x4), 0x80AD8DC0:("En_Kame_InitVars","UNK_TYPE1","",0x1), 0x80AD8DE0:("D_80AD8DE0","UNK_TYPE1","",0x1), 0x80AD8E0C:("D_80AD8E0C","UNK_TYPE1","",0x1), @@ -14557,16 +13472,10 @@ 0x80AD8F20:("D_80AD8F20","f32","",0x4), 0x80AD8F24:("D_80AD8F24","f32","",0x4), 0x80AD8F28:("D_80AD8F28","f32","",0x4), - 0x80AD8F30:("enKameOverlayInfo","OverlayRelocationSection","",0x14), - 0x80AD8F44:("enKameOverlayRelocations","u32","[189]",0x2f4), - 0x80AD923C:("enKameOverlayInfoOffset","u32","",0x4), 0x80ADA280:("Obj_Takaraya_Wall_InitVars","UNK_TYPE1","",0x1), 0x80ADA2A0:("D_80ADA2A0","UNK_TYPE1","",0x1), 0x80ADA2CC:("D_80ADA2CC","UNK_TYPE1","",0x1), 0x80ADA2D0:("D_80ADA2D0","f32","",0x4), - 0x80ADA2E0:("objTakarayaWallOverlayInfo","OverlayRelocationSection","",0x14), - 0x80ADA2F4:("objTakarayaWallOverlayRelocations","u32","[83]",0x14c), - 0x80ADA44C:("objTakarayaWallOverlayInfoOffset","u32","",0x4), 0x80ADA450:("D_80ADA450","UNK_TYPE4","",0x4), 0x80ADA458:("D_80ADA458","UNK_TYPE1","",0x1), 0x80ADA508:("D_80ADA508","UNK_TYPE4","",0x4), @@ -14581,9 +13490,6 @@ 0x80ADAAE0:("D_80ADAAE0","f32","",0x4), 0x80ADAAE8:("D_80ADAAE8","UNK_TYPE1","",0x1), 0x80ADAD80:("Bg_Fu_Mizu_InitVars","UNK_TYPE1","",0x1), - 0x80ADADA0:("bgFuMizuOverlayInfo","OverlayRelocationSection","",0x14), - 0x80ADADB4:("bgFuMizuOverlayRelocations","u32","[5]",0x14), - 0x80ADADCC:("bgFuMizuOverlayInfoOffset","u32","",0x4), 0x80ADD910:("D_80ADD910","UNK_TYPE1","",0x1), 0x80ADD918:("D_80ADD918","UNK_TYPE1","",0x1), 0x80ADD920:("D_80ADD920","UNK_TYPE1","",0x1), @@ -14595,7 +13501,7 @@ 0x80ADD964:("D_80ADD964","UNK_TYPE1","",0x1), 0x80ADD990:("D_80ADD990","UNK_TYPE1","",0x1), 0x80ADDB00:("D_80ADDB00","UNK_TYPE1","",0x1), - 0x80ADDB10:("jtbl_D_80ADDB10","UNK_PTR","",0x4), + 0x80ADDB10:("jtbl_80ADDB10","UNK_PTR","",0x4), 0x80ADDB4C:("D_80ADDB4C","f32","",0x4), 0x80ADDB50:("D_80ADDB50","f32","",0x4), 0x80ADDB54:("D_80ADDB54","f32","",0x4), @@ -14605,10 +13511,10 @@ 0x80ADDB64:("D_80ADDB64","f32","",0x4), 0x80ADDB68:("D_80ADDB68","f32","",0x4), 0x80ADDB6C:("D_80ADDB6C","f32","",0x4), - 0x80ADDB70:("jtbl_D_80ADDB70","UNK_PTR","",0x4), + 0x80ADDB70:("jtbl_80ADDB70","UNK_PTR","",0x4), 0x80ADDB9C:("D_80ADDB9C","f32","",0x4), - 0x80ADDBA0:("jtbl_D_80ADDBA0","UNK_PTR","",0x4), - 0x80ADDC14:("jtbl_D_80ADDC14","UNK_PTR","",0x4), + 0x80ADDBA0:("jtbl_80ADDBA0","UNK_PTR","",0x4), + 0x80ADDC14:("jtbl_80ADDC14","UNK_PTR","",0x4), 0x80ADDC84:("D_80ADDC84","f32","",0x4), 0x80ADDC88:("D_80ADDC88","f32","",0x4), 0x80ADDC8C:("D_80ADDC8C","f32","",0x4), @@ -14617,9 +13523,6 @@ 0x80ADDC98:("D_80ADDC98","f32","",0x4), 0x80ADDC9C:("D_80ADDC9C","f32","",0x4), 0x80ADDCA0:("D_80ADDCA0","f32","",0x4), - 0x80ADDCB0:("enSellnutsOverlayInfo","OverlayRelocationSection","",0x14), - 0x80ADDCC4:("enSellnutsOverlayRelocations","u32","[343]",0x55c), - 0x80ADE22C:("enSellnutsOverlayInfoOffset","u32","",0x4), 0x80ADE930:("Bg_Dkjail_Ivy_InitVars","UNK_TYPE1","",0x1), 0x80ADE950:("D_80ADE950","UNK_TYPE1","",0x1), 0x80ADE97C:("D_80ADE97C","UNK_TYPE1","",0x1), @@ -14633,14 +13536,8 @@ 0x80ADE9B4:("D_80ADE9B4","f32","",0x4), 0x80ADE9B8:("D_80ADE9B8","f32","",0x4), 0x80ADE9BC:("D_80ADE9BC","f32","",0x4), - 0x80ADE9C0:("bgDkjailIvyOverlayInfo","OverlayRelocationSection","",0x14), - 0x80ADE9D4:("bgDkjailIvyOverlayRelocations","u32","[38]",0x98), - 0x80ADEA6C:("bgDkjailIvyOverlayInfoOffset","u32","",0x4), 0x80ADEB30:("Obj_Visiblock_InitVars","UNK_TYPE1","",0x1), 0x80ADEB50:("D_80ADEB50","UNK_TYPE1","",0x1), - 0x80ADEB60:("objVisiblockOverlayInfo","OverlayRelocationSection","",0x14), - 0x80ADEB74:("objVisiblockOverlayRelocations","u32","[5]",0x14), - 0x80ADEB8C:("objVisiblockOverlayInfoOffset","u32","",0x4), 0x80ADFAE0:("En_Takaraya_InitVars","UNK_TYPE1","",0x1), 0x80ADFB00:("D_80ADFB00","UNK_TYPE4","",0x4), 0x80ADFB10:("D_80ADFB10","UNK_TYPE4","",0x4), @@ -14653,34 +13550,25 @@ 0x80ADFB50:("D_80ADFB50","UNK_TYPE1","",0x1), 0x80ADFB60:("D_80ADFB60","f32","",0x4), 0x80ADFB64:("D_80ADFB64","f32","",0x4), - 0x80ADFB70:("enTakarayaOverlayInfo","OverlayRelocationSection","",0x14), - 0x80ADFB84:("enTakarayaOverlayRelocations","u32","[67]",0x10c), - 0x80ADFC9C:("enTakarayaOverlayInfoOffset","u32","",0x4), 0x80AE1170:("En_Tsn_InitVars","UNK_TYPE1","",0x1), 0x80AE1190:("D_80AE1190","UNK_TYPE1","",0x1), 0x80AE11BC:("D_80AE11BC","UNK_TYPE4","",0x4), 0x80AE11C8:("D_80AE11C8","UNK_TYPE1","",0x1), - 0x80AE11D0:("jtbl_D_80AE11D0","UNK_PTR","",0x4), - 0x80AE1224:("jtbl_D_80AE1224","UNK_PTR","",0x4), - 0x80AE127C:("jtbl_D_80AE127C","UNK_PTR","",0x4), - 0x80AE1370:("enTsnOverlayInfo","OverlayRelocationSection","",0x14), - 0x80AE1384:("enTsnOverlayRelocations","u32","[178]",0x2c8), - 0x80AE164C:("enTsnOverlayInfoOffset","u32","",0x4), + 0x80AE11D0:("jtbl_80AE11D0","UNK_PTR","",0x4), + 0x80AE1224:("jtbl_80AE1224","UNK_PTR","",0x4), + 0x80AE127C:("jtbl_80AE127C","UNK_PTR","",0x4), 0x80AE1AB0:("En_Ds2n_InitVars","UNK_TYPE1","",0x1), 0x80AE1AD0:("D_80AE1AD0","UNK_PTR","",0x4), 0x80AE1AE8:("D_80AE1AE8","UNK_TYPE4","",0x4), 0x80AE1AF4:("D_80AE1AF4","UNK_TYPE1","",0x1), - 0x80AE1B00:("enDs2nOverlayInfo","OverlayRelocationSection","",0x14), - 0x80AE1B14:("enDs2nOverlayRelocations","u32","[20]",0x50), - 0x80AE1B6C:("enDs2nOverlayInfoOffset","u32","",0x4), 0x80AE5B00:("En_Fsn_InitVars","UNK_TYPE1","",0x1), 0x80AE5B20:("sAnimations","UNK_TYPE1","",0x1), 0x80AE5BF0:("D_80AE5BF0","UNK_TYPE1","",0x1), 0x80AE5C1C:("sShopItemPositions","UNK_TYPE4","",0x4), 0x80AE5C40:("D_80AE5C40","UNK_TYPE4","",0x4), 0x80AE5C4C:("sEyeTextures","UNK_TYPE1","",0x1), - 0x80AE5C60:("jtbl_D_80AE5C60","UNK_PTR","",0x4), - 0x80AE5CC4:("jtbl_D_80AE5CC4","UNK_PTR","",0x4), + 0x80AE5C60:("jtbl_80AE5C60","UNK_PTR","",0x4), + 0x80AE5CC4:("jtbl_80AE5CC4","UNK_PTR","",0x4), 0x80AE5D0C:("D_80AE5D0C","f32","",0x4), 0x80AE5D10:("D_80AE5D10","f32","",0x4), 0x80AE5D14:("D_80AE5D14","f32","",0x4), @@ -14691,9 +13579,6 @@ 0x80AE5D28:("D_80AE5D28","f32","",0x4), 0x80AE5D2C:("D_80AE5D2C","f32","",0x4), 0x80AE5D30:("D_80AE5D30","f32","",0x4), - 0x80AE5D40:("enFsnOverlayInfo","OverlayRelocationSection","",0x14), - 0x80AE5D54:("enFsnOverlayRelocations","u32","[245]",0x3d4), - 0x80AE612C:("enFsnOverlayInfoOffset","u32","",0x4), 0x80AE6F00:("D_80AE6F00","UNK_TYPE1","",0x1), 0x80AE70B0:("D_80AE70B0","UNK_TYPE1","",0x1), 0x80AE70B8:("D_80AE70B8","UNK_TYPE1","",0x1), @@ -14701,10 +13586,7 @@ 0x80AE71F8:("En_Shn_InitVars","UNK_TYPE1","",0x1), 0x80AE7218:("D_80AE7218","UNK_TYPE1","",0x1), 0x80AE7270:("D_80AE7270","UNK_TYPE1","",0x1), - 0x80AE7280:("jtbl_D_80AE7280","UNK_PTR","",0x4), - 0x80AE72A0:("enShnOverlayInfo","OverlayRelocationSection","",0x14), - 0x80AE72B4:("enShnOverlayRelocations","u32","[57]",0xe4), - 0x80AE739C:("enShnOverlayInfoOffset","u32","",0x4), + 0x80AE7280:("jtbl_80AE7280","UNK_PTR","",0x4), 0x80AE8890:("En_Stop_heishi_InitVars","UNK_TYPE1","",0x1), 0x80AE88B0:("D_80AE88B0","UNK_TYPE1","",0x1), 0x80AE88DC:("D_80AE88DC","UNK_TYPE1","",0x1), @@ -14714,10 +13596,7 @@ 0x80AE8A2C:("D_80AE8A2C","UNK_TYPE1","",0x1), 0x80AE8A30:("D_80AE8A30","UNK_TYPE1","",0x1), 0x80AE8A40:("D_80AE8A40","f32","",0x4), - 0x80AE8A44:("jtbl_D_80AE8A44","UNK_PTR","",0x4), - 0x80AE8A60:("enStopheishiOverlayInfo","OverlayRelocationSection","",0x14), - 0x80AE8A74:("enStopheishiOverlayRelocations","u32","[61]",0xf4), - 0x80AE8B6C:("enStopheishiOverlayInfoOffset","u32","",0x4), + 0x80AE8A44:("jtbl_80AE8A44","UNK_PTR","",0x4), 0x80AE9800:("Obj_Bigicicle_InitVars","UNK_TYPE1","",0x1), 0x80AE9820:("D_80AE9820","UNK_TYPE1","",0x1), 0x80AE984C:("D_80AE984C","UNK_TYPE1","",0x1), @@ -14738,9 +13617,6 @@ 0x80AE98D8:("D_80AE98D8","f32","",0x4), 0x80AE98DC:("D_80AE98DC","f32","",0x4), 0x80AE98E0:("D_80AE98E0","f32","",0x4), - 0x80AE98F0:("objBigicicleOverlayInfo","OverlayRelocationSection","",0x14), - 0x80AE9904:("objBigicicleOverlayRelocations","u32","[68]",0x110), - 0x80AE9A1C:("objBigicicleOverlayInfoOffset","u32","",0x4), 0x80AEBD30:("En_Lift_Nuts_InitVars","UNK_TYPE1","",0x1), 0x80AEBD50:("D_80AEBD50","UNK_TYPE1","",0x1), 0x80AEBF18:("D_80AEBF18","UNK_TYPE1","",0x1), @@ -14754,12 +13630,9 @@ 0x80AEBF74:("D_80AEBF74","UNK_TYPE4","",0x4), 0x80AEBF78:("D_80AEBF78","UNK_TYPE4","",0x4), 0x80AEBF7C:("D_80AEBF7C","UNK_TYPE1","",0x1), - 0x80AEBF90:("jtbl_D_80AEBF90","UNK_PTR","",0x4), - 0x80AEC018:("jtbl_D_80AEC018","UNK_PTR","",0x4), + 0x80AEBF90:("jtbl_80AEBF90","UNK_PTR","",0x4), + 0x80AEC018:("jtbl_80AEC018","UNK_PTR","",0x4), 0x80AEC034:("D_80AEC034","f32","",0x4), - 0x80AEC040:("enLiftNutsOverlayInfo","OverlayRelocationSection","",0x14), - 0x80AEC054:("enLiftNutsOverlayRelocations","u32","[256]",0x400), - 0x80AEC45C:("enLiftNutsOverlayInfoOffset","u32","",0x4), 0x80AEF800:("D_80AEF800","UNK_TYPE1","",0x1), 0x80AEF810:("En_Tk_InitVars","UNK_TYPE1","",0x1), 0x80AEF830:("D_80AEF830","UNK_TYPE1","",0x1), @@ -14770,25 +13643,19 @@ 0x80AEFA78:("D_80AEFA78","UNK_TYPE1","",0x1), 0x80AEFA84:("D_80AEFA84","UNK_TYPE1","",0x1), 0x80AEFA90:("D_80AEFA90","UNK_TYPE1","",0x1), - 0x80AEFAA0:("jtbl_D_80AEFAA0","UNK_PTR","",0x4), - 0x80AEFABC:("jtbl_D_80AEFABC","UNK_PTR","",0x4), - 0x80AEFB18:("jtbl_D_80AEFB18","UNK_PTR","",0x4), - 0x80AEFB34:("jtbl_D_80AEFB34","UNK_PTR","",0x4), - 0x80AEFB78:("jtbl_D_80AEFB78","UNK_PTR","",0x4), + 0x80AEFAA0:("jtbl_80AEFAA0","UNK_PTR","",0x4), + 0x80AEFABC:("jtbl_80AEFABC","UNK_PTR","",0x4), + 0x80AEFB18:("jtbl_80AEFB18","UNK_PTR","",0x4), + 0x80AEFB34:("jtbl_80AEFB34","UNK_PTR","",0x4), + 0x80AEFB78:("jtbl_80AEFB78","UNK_PTR","",0x4), 0x80AEFBBC:("D_80AEFBBC","f32","",0x4), 0x80AEFBC0:("D_80AEFBC0","f32","",0x4), - 0x80AEFBC4:("jtbl_D_80AEFBC4","UNK_PTR","",0x4), - 0x80AEFBE0:("enTkOverlayInfo","OverlayRelocationSection","",0x14), - 0x80AEFBF4:("enTkOverlayRelocations","u32","[277]",0x454), - 0x80AF004C:("enTkOverlayInfoOffset","u32","",0x4), + 0x80AEFBC4:("jtbl_80AEFBC4","UNK_PTR","",0x4), 0x80AF0050:("D_80AF0050","UNK_TYPE1","",0x1), 0x80AF00F0:("Bg_Market_Step_InitVars","UNK_TYPE1","",0x1), 0x80AF0110:("D_80AF0110","UNK_TYPE1","",0x1), 0x80AF0120:("D_80AF0120","UNK_TYPE1","",0x1), 0x80AF0128:("D_80AF0128","UNK_TYPE1","",0x1), - 0x80AF0130:("bgMarketStepOverlayInfo","OverlayRelocationSection","",0x14), - 0x80AF0144:("bgMarketStepOverlayRelocations","u32","[8]",0x20), - 0x80AF016C:("bgMarketStepOverlayInfoOffset","u32","",0x4), 0x80AF0720:("Obj_Lupygamelift_InitVars","UNK_TYPE1","",0x1), 0x80AF0740:("D_80AF0740","UNK_TYPE1","",0x1), 0x80AF0750:("D_80AF0750","f32","",0x4), @@ -14800,9 +13667,6 @@ 0x80AF0770:("D_80AF0770","f32","",0x4), 0x80AF0774:("D_80AF0774","f32","",0x4), 0x80AF0778:("D_80AF0778","f32","",0x4), - 0x80AF0780:("objLupygameliftOverlayInfo","OverlayRelocationSection","",0x14), - 0x80AF0794:("objLupygameliftOverlayRelocations","u32","[31]",0x7c), - 0x80AF081C:("objLupygameliftOverlayInfoOffset","u32","",0x4), 0x80AF33F0:("En_Test7_InitVars","UNK_TYPE1","",0x1), 0x80AF3404:("D_80AF3404","UNK_TYPE1","",0x1), 0x80AF3410:("D_80AF3410","UNK_TYPE4","",0x4), @@ -14854,9 +13718,6 @@ 0x80AF34F0:("D_80AF34F0","f32","",0x4), 0x80AF34F4:("D_80AF34F4","f32","",0x4), 0x80AF34F8:("D_80AF34F8","f32","",0x4), - 0x80AF3500:("enTest7OverlayInfo","OverlayRelocationSection","",0x14), - 0x80AF3514:("enTest7OverlayRelocations","u32","[228]",0x390), - 0x80AF38AC:("enTest7OverlayInfoOffset","u32","",0x4), 0x80AF38B0:("D_80AF38B0","UNK_TYPE1","",0x1), 0x80AF38F0:("D_80AF38F0","f32","",0x4), 0x80AF38F4:("D_80AF38F4","f32","",0x4), @@ -14866,16 +13727,10 @@ 0x80AF3EA0:("D_80AF3EA0","UNK_TYPE1","",0x1), 0x80AF3ECC:("D_80AF3ECC","UNK_TYPE1","",0x1), 0x80AF3EEC:("D_80AF3EEC","UNK_TYPE1","",0x1), - 0x80AF3F00:("objLightblockOverlayInfo","OverlayRelocationSection","",0x14), - 0x80AF3F14:("objLightblockOverlayRelocations","u32","[22]",0x58), - 0x80AF3F6C:("objLightblockOverlayInfoOffset","u32","",0x4), 0x80AF4330:("Mir_Ray2_InitVars","UNK_TYPE1","",0x1), 0x80AF4350:("D_80AF4350","UNK_TYPE1","",0x1), 0x80AF4374:("D_80AF4374","UNK_TYPE1","",0x1), 0x80AF4390:("D_80AF4390","f32","",0x4), - 0x80AF43A0:("mirRay2OverlayInfo","OverlayRelocationSection","",0x14), - 0x80AF43B4:("mirRay2OverlayRelocations","u32","[13]",0x34), - 0x80AF43EC:("mirRay2OverlayInfoOffset","u32","",0x4), 0x80AF63C0:("En_Wdhand_InitVars","UNK_TYPE1","",0x1), 0x80AF63E0:("D_80AF63E0","UNK_TYPE1","",0x1), 0x80AF64DC:("D_80AF64DC","UNK_TYPE1","",0x1), @@ -14905,9 +13760,6 @@ 0x80AF6578:("D_80AF6578","f32","",0x4), 0x80AF657C:("D_80AF657C","f32","",0x4), 0x80AF6580:("D_80AF6580","f32","",0x4), - 0x80AF6590:("enWdhandOverlayInfo","OverlayRelocationSection","",0x14), - 0x80AF65A4:("enWdhandOverlayRelocations","u32","[109]",0x1b4), - 0x80AF675C:("enWdhandOverlayInfoOffset","u32","",0x4), 0x80AF6CD0:("En_Gamelupy_InitVars","UNK_TYPE1","",0x1), 0x80AF6CF0:("D_80AF6CF0","UNK_TYPE1","",0x1), 0x80AF6D1C:("D_80AF6D1C","UNK_TYPE1","",0x1), @@ -14916,9 +13768,6 @@ 0x80AF6D40:("D_80AF6D40","f32","",0x4), 0x80AF6D44:("D_80AF6D44","f32","",0x4), 0x80AF6D48:("D_80AF6D48","f32","",0x4), - 0x80AF6D50:("enGamelupyOverlayInfo","OverlayRelocationSection","",0x14), - 0x80AF6D64:("enGamelupyOverlayRelocations","u32","[29]",0x74), - 0x80AF6DDC:("enGamelupyOverlayInfoOffset","u32","",0x4), 0x80AF7510:("Bg_Danpei_Movebg_InitVars","UNK_TYPE1","",0x1), 0x80AF7530:("D_80AF7530","UNK_TYPE1","",0x1), 0x80AF7534:("D_80AF7534","UNK_TYPE1","",0x1), @@ -14926,18 +13775,12 @@ 0x80AF753C:("D_80AF753C","UNK_TYPE1","",0x1), 0x80AF7550:("D_80AF7550","f32","",0x4), 0x80AF7554:("D_80AF7554","f32","",0x4), - 0x80AF7560:("bgDanpeiMovebgOverlayInfo","OverlayRelocationSection","",0x14), - 0x80AF7574:("bgDanpeiMovebgOverlayRelocations","u32","[50]",0xc8), - 0x80AF763C:("bgDanpeiMovebgOverlayInfoOffset","u32","",0x4), 0x80AF7A70:("En_Snowwd_InitVars","UNK_TYPE1","",0x1), 0x80AF7A90:("D_80AF7A90","UNK_TYPE1","",0x1), 0x80AF7ABC:("D_80AF7ABC","UNK_TYPE1","",0x1), 0x80AF7AC8:("D_80AF7AC8","UNK_TYPE1","",0x1), 0x80AF7AD4:("D_80AF7AD4","UNK_TYPE1","",0x1), 0x80AF7AD8:("D_80AF7AD8","UNK_TYPE1","",0x1), - 0x80AF7AE0:("enSnowwdOverlayInfo","OverlayRelocationSection","",0x14), - 0x80AF7AF4:("enSnowwdOverlayRelocations","u32","[16]",0x40), - 0x80AF7B3C:("enSnowwdOverlayInfoOffset","u32","",0x4), 0x80AFAD80:("D_80AFAD80","UNK_TYPE1","",0x1), 0x80AFB30C:("D_80AFB30C","UNK_TYPE1","",0x1), 0x80AFB3C0:("D_80AFB3C0","UNK_TYPE1","",0x1), @@ -14971,25 +13814,22 @@ 0x80AFB8F8:("D_80AFB8F8","UNK_TYPE1","",0x1), 0x80AFB900:("D_80AFB900","UNK_PTR","",0x4), 0x80AFB914:("D_80AFB914","UNK_TYPE4","",0x4), - 0x80AFB920:("jtbl_D_80AFB920","UNK_PTR","",0x4), - 0x80AFB9B4:("jtbl_D_80AFB9B4","UNK_PTR","",0x4), - 0x80AFB9F4:("jtbl_D_80AFB9F4","UNK_PTR","",0x4), - 0x80AFBA5C:("jtbl_D_80AFBA5C","UNK_PTR","",0x4), - 0x80AFBA7C:("jtbl_D_80AFBA7C","UNK_PTR","",0x4), - 0x80AFBAA4:("jtbl_D_80AFBAA4","UNK_PTR","",0x4), - 0x80AFBADC:("jtbl_D_80AFBADC","UNK_PTR","",0x4), - 0x80AFBAF4:("jtbl_D_80AFBAF4","UNK_PTR","",0x4), - 0x80AFBB2C:("jtbl_D_80AFBB2C","UNK_PTR","",0x4), - 0x80AFBB54:("jtbl_D_80AFBB54","UNK_PTR","",0x4), - 0x80AFBB98:("jtbl_D_80AFBB98","UNK_PTR","",0x4), - 0x80AFBBFC:("jtbl_D_80AFBBFC","UNK_PTR","",0x4), + 0x80AFB920:("jtbl_80AFB920","UNK_PTR","",0x4), + 0x80AFB9B4:("jtbl_80AFB9B4","UNK_PTR","",0x4), + 0x80AFB9F4:("jtbl_80AFB9F4","UNK_PTR","",0x4), + 0x80AFBA5C:("jtbl_80AFBA5C","UNK_PTR","",0x4), + 0x80AFBA7C:("jtbl_80AFBA7C","UNK_PTR","",0x4), + 0x80AFBAA4:("jtbl_80AFBAA4","UNK_PTR","",0x4), + 0x80AFBADC:("jtbl_80AFBADC","UNK_PTR","",0x4), + 0x80AFBAF4:("jtbl_80AFBAF4","UNK_PTR","",0x4), + 0x80AFBB2C:("jtbl_80AFBB2C","UNK_PTR","",0x4), + 0x80AFBB54:("jtbl_80AFBB54","UNK_PTR","",0x4), + 0x80AFBB98:("jtbl_80AFBB98","UNK_PTR","",0x4), + 0x80AFBBFC:("jtbl_80AFBBFC","UNK_PTR","",0x4), 0x80AFBD68:("D_80AFBD68","f32","",0x4), - 0x80AFBD6C:("jtbl_D_80AFBD6C","UNK_PTR","",0x4), - 0x80AFBDD4:("jtbl_D_80AFBDD4","UNK_PTR","",0x4), - 0x80AFBE28:("jtbl_D_80AFBE28","UNK_PTR","",0x4), - 0x80AFBFA0:("enPmOverlayInfo","OverlayRelocationSection","",0x14), - 0x80AFBFB4:("enPmOverlayRelocations","u32","[617]",0x9a4), - 0x80AFC95C:("enPmOverlayInfoOffset","u32","",0x4), + 0x80AFBD6C:("jtbl_80AFBD6C","UNK_PTR","",0x4), + 0x80AFBDD4:("jtbl_80AFBDD4","UNK_PTR","",0x4), + 0x80AFBE28:("jtbl_80AFBE28","UNK_PTR","",0x4), 0x80AFD1B0:("En_Gakufu_InitVars","UNK_TYPE1","",0x1), 0x80AFD1D0:("D_80AFD1D0","UNK_TYPE1","",0x1), 0x80AFD1DC:("D_80AFD1DC","UNK_TYPE1","",0x1), @@ -14999,9 +13839,6 @@ 0x80AFD230:("D_80AFD230","UNK_TYPE1","",0x1), 0x80AFD270:("D_80AFD270","UNK_TYPE1","",0x1), 0x80AFD2B0:("D_80AFD2B0","f32","",0x4), - 0x80AFD2C0:("enGakufuOverlayInfo","OverlayRelocationSection","",0x14), - 0x80AFD2D4:("enGakufuOverlayRelocations","u32","[41]",0xa4), - 0x80AFD37C:("enGakufuOverlayInfoOffset","u32","",0x4), 0x80AFD8D0:("Elf_Msg4_InitVars","UNK_TYPE1","",0x1), 0x80AFD8F0:("D_80AFD8F0","UNK_TYPE1","",0x1), 0x80AFD900:("D_80AFD900","char","[]",0x1), @@ -15010,33 +13847,23 @@ 0x80AFD914:("D_80AFD914","f32","",0x4), 0x80AFD918:("D_80AFD918","f32","",0x4), 0x80AFD91C:("D_80AFD91C","f32","",0x4), - 0x80AFD920:("elfMsg4OverlayInfo","OverlayRelocationSection","",0x14), - 0x80AFD934:("elfMsg4OverlayRelocations","u32","[21]",0x54), - 0x80AFD98C:("elfMsg4OverlayInfoOffset","u32","",0x4), 0x80AFDBB0:("Elf_Msg5_InitVars","UNK_TYPE1","",0x1), 0x80AFDBD0:("D_80AFDBD0","UNK_TYPE1","",0x1), 0x80AFDBE0:("D_80AFDBE0","char","[]",0x1), 0x80AFDBE8:("D_80AFDBE8","char","[]",0x1), 0x80AFDBF4:("D_80AFDBF4","char","[]",0x1), - 0x80AFDBFC:("D_80AFDBFC","UNK_TYPE4","",0x4), # dummy padding for overlay relocation section boundary - 0x80AFDC00:("elfMsg5OverlayInfo","OverlayRelocationSection","",0x14), - 0x80AFDC14:("elfMsg5OverlayRelocations","u32","[8]",0x20), - 0x80AFDC3C:("elfMsg5OverlayInfoOffset","u32","",0x4), 0x80AFE730:("D_80AFE730","UNK_TYPE1","",0x1), 0x80AFE75C:("En_Col_Man_InitVars","UNK_TYPE1","",0x1), 0x80AFE77C:("D_80AFE77C","UNK_TYPE1","",0x1), 0x80AFE780:("D_80AFE780","UNK_TYPE1","",0x1), 0x80AFE790:("D_80AFE790","f32","",0x4), - 0x80AFE794:("jtbl_D_80AFE794","UNK_PTR","",0x4), + 0x80AFE794:("jtbl_80AFE794","UNK_PTR","",0x4), 0x80AFE7A8:("D_80AFE7A8","f32","",0x4), 0x80AFE7AC:("D_80AFE7AC","f32","",0x4), 0x80AFE7B0:("D_80AFE7B0","f32","",0x4), 0x80AFE7B4:("D_80AFE7B4","f32","",0x4), 0x80AFE7B8:("D_80AFE7B8","f32","",0x4), 0x80AFE7BC:("D_80AFE7BC","f32","",0x4), - 0x80AFE7C0:("enColManOverlayInfo","OverlayRelocationSection","",0x14), - 0x80AFE7D4:("enColManOverlayRelocations","u32","[49]",0xc4), - 0x80AFE89C:("enColManOverlayInfoOffset","u32","",0x4), 0x80B011E0:("En_Talk_Gibud_InitVars","UNK_TYPE1","",0x1), 0x80B01200:("D_80B01200","UNK_PTR","",0x4), 0x80B01350:("D_80B01350","UNK_TYPE1","",0x1), @@ -15052,25 +13879,19 @@ 0x80B0147C:("D_80B0147C","f32","",0x4), 0x80B01480:("D_80B01480","f32","",0x4), 0x80B01484:("D_80B01484","f32","",0x4), - 0x80B01488:("jtbl_D_80B01488","UNK_PTR","",0x4), - 0x80B014B0:("jtbl_D_80B014B0","UNK_PTR","",0x4), - 0x80B014E8:("jtbl_D_80B014E8","UNK_PTR","",0x4), - 0x80B0152C:("jtbl_D_80B0152C","UNK_PTR","",0x4), + 0x80B01488:("jtbl_80B01488","UNK_PTR","",0x4), + 0x80B014B0:("jtbl_80B014B0","UNK_PTR","",0x4), + 0x80B014E8:("jtbl_80B014E8","UNK_PTR","",0x4), + 0x80B0152C:("jtbl_80B0152C","UNK_PTR","",0x4), 0x80B01568:("D_80B01568","f32","",0x4), - 0x80B01570:("enTalkGibudOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B01584:("enTalkGibudOverlayRelocations","u32","[256]",0x400), - 0x80B0198C:("enTalkGibudOverlayInfoOffset","u32","",0x4), 0x80B02930:("En_Giant_InitVars","UNK_TYPE1","",0x1), 0x80B02950:("D_80B02950","UNK_TYPE1","",0x1), 0x80B0298C:("D_80B0298C","UNK_TYPE1","",0x1), - 0x80B029A0:("jtbl_D_80B029A0","UNK_PTR","",0x4), - 0x80B029E0:("jtbl_D_80B029E0","UNK_PTR","",0x4), - 0x80B02A0C:("jtbl_D_80B02A0C","UNK_PTR","",0x4), - 0x80B02A38:("jtbl_D_80B02A38","UNK_PTR","",0x4), - 0x80B02A74:("jtbl_D_80B02A74","UNK_PTR","",0x4), - 0x80B02AA0:("enGiantOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B02AB4:("enGiantOverlayRelocations","u32","[134]",0x218), - 0x80B02CCC:("enGiantOverlayInfoOffset","u32","",0x4), + 0x80B029A0:("jtbl_80B029A0","UNK_PTR","",0x4), + 0x80B029E0:("jtbl_80B029E0","UNK_PTR","",0x4), + 0x80B02A0C:("jtbl_80B02A0C","UNK_PTR","",0x4), + 0x80B02A38:("jtbl_80B02A38","UNK_PTR","",0x4), + 0x80B02A74:("jtbl_80B02A74","UNK_PTR","",0x4), 0x80B04F30:("Obj_Snowball_InitVars","UNK_TYPE1","",0x1), 0x80B04F50:("D_80B04F50","UNK_TYPE1","",0x1), 0x80B04F74:("D_80B04F74","UNK_TYPE1","",0x1), @@ -15109,9 +13930,6 @@ 0x80B0504C:("D_80B0504C","f32","",0x4), 0x80B05050:("D_80B05050","f32","",0x4), 0x80B05054:("D_80B05054","f32","",0x4), - 0x80B05060:("objSnowballOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B05074:("objSnowballOverlayRelocations","u32","[134]",0x218), - 0x80B0528C:("objSnowballOverlayInfoOffset","u32","",0x4), 0x80B0E6E0:("Boss_Hakugin_InitVars","UNK_TYPE1","",0x1), 0x80B0E700:("D_80B0E700","UNK_TYPE1","",0x1), 0x80B0E9AC:("D_80B0E9AC","UNK_TYPE1","",0x1), @@ -15267,9 +14085,6 @@ 0x80B0EE10:("D_80B0EE10","f32","",0x4), 0x80B0EE14:("D_80B0EE14","f32","",0x4), 0x80B0EE18:("D_80B0EE18","f32","",0x4), - 0x80B0EE20:("bossHakuginOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B0EE34:("bossHakuginOverlayRelocations","u32","[487]",0x79c), - 0x80B0F5DC:("bossHakuginOverlayInfoOffset","u32","",0x4), 0x80B11990:("En_Gb2_InitVars","UNK_TYPE1","",0x1), 0x80B119B0:("D_80B119B0","UNK_TYPE1","",0x1), 0x80B11A00:("D_80B11A00","UNK_TYPE4","",0x4), @@ -15279,27 +14094,15 @@ 0x80B11AB4:("D_80B11AB4","UNK_TYPE4","",0x4), 0x80B11AC4:("D_80B11AC4","UNK_TYPE1","",0x1), 0x80B11ACC:("D_80B11ACC","UNK_TYPE4","",0x4), - 0x80B11AE0:("jtbl_D_80B11AE0","UNK_PTR","",0x4), - 0x80B11B38:("jtbl_D_80B11B38","UNK_PTR","",0x4), - 0x80B11B50:("jtbl_D_80B11B50","UNK_PTR","",0x4), + 0x80B11AE0:("jtbl_80B11AE0","UNK_PTR","",0x4), + 0x80B11B38:("jtbl_80B11B38","UNK_PTR","",0x4), + 0x80B11B50:("jtbl_80B11B50","UNK_PTR","",0x4), 0x80B11B84:("D_80B11B84","f32","",0x4), - 0x80B11B90:("enGb2OverlayInfo","OverlayRelocationSection","",0x14), - 0x80B11BA4:("enGb2OverlayRelocations","u32","[171]",0x2ac), - 0x80B11E5C:("enGb2OverlayInfoOffset","u32","",0x4), 0x80B12370:("En_Onpuman_InitVars","UNK_TYPE1","",0x1), 0x80B12390:("D_80B12390","UNK_TYPE1","",0x1), - 0x80B123C0:("enOnpumanOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B123D4:("enOnpumanOverlayRelocations","u32","[20]",0x50), - 0x80B1242C:("enOnpumanOverlayInfoOffset","u32","",0x4), 0x80B12800:("Bg_Tobira01_InitVars","UNK_TYPE1","",0x1), 0x80B12820:("D_80B12820","f32","",0x4), - 0x80B12830:("bgTobira01OverlayInfo","OverlayRelocationSection","",0x14), - 0x80B12844:("bgTobira01OverlayRelocations","u32","[8]",0x20), - 0x80B1286C:("bgTobira01OverlayInfoOffset","u32","",0x4), 0x80B1292C:("En_Tag_Obj_InitVars","UNK_TYPE1","",0x1), - 0x80B12950:("enTagObjOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B12964:("enTagObjOverlayRelocations","u32","[3]",0xc), - 0x80B1297C:("enTagObjOverlayInfoOffset","u32","",0x4), 0x80B13E70:("Obj_Dhouse_InitVars","UNK_TYPE1","",0x1), 0x80B13E90:("D_80B13E90","UNK_TYPE4","",0x4), 0x80B13FA8:("D_80B13FA8","UNK_TYPE1","",0x1), @@ -15322,9 +14125,6 @@ 0x80B14008:("D_80B14008","f32","",0x4), 0x80B1400C:("D_80B1400C","f32","",0x4), 0x80B14010:("D_80B14010","f32","",0x4), - 0x80B14020:("objDhouseOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B14034:("objDhouseOverlayRelocations","u32","[82]",0x148), - 0x80B1417C:("objDhouseOverlayInfoOffset","u32","",0x4), 0x80B15590:("Obj_Hakaisi_InitVars","UNK_TYPE1","",0x1), 0x80B155B0:("D_80B155B0","UNK_TYPE1","",0x1), 0x80B155BC:("D_80B155BC","UNK_TYPE1","",0x1), @@ -15333,13 +14133,10 @@ 0x80B155F8:("D_80B155F8","UNK_TYPE1","",0x1), 0x80B155FC:("D_80B155FC","UNK_TYPE1","",0x1), 0x80B15600:("D_80B15600","UNK_TYPE1","",0x1), - 0x80B15610:("jtbl_D_80B15610","UNK_PTR","",0x4), + 0x80B15610:("jtbl_80B15610","UNK_PTR","",0x4), 0x80B15628:("D_80B15628","f32","",0x4), 0x80B1562C:("D_80B1562C","f32","",0x4), 0x80B15630:("D_80B15630","f32","",0x4), - 0x80B15640:("objHakaisiOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B15654:("objHakaisiOverlayRelocations","u32","[76]",0x130), - 0x80B1578C:("objHakaisiOverlayInfoOffset","u32","",0x4), 0x80B16840:("Bg_Hakugin_Switch_InitVars","UNK_TYPE1","",0x1), 0x80B16860:("D_80B16860","UNK_TYPE1","",0x1), 0x80B1688C:("D_80B1688C","UNK_TYPE4","",0x4), @@ -15350,9 +14147,6 @@ 0x80B16928:("D_80B16928","f32","",0x4), 0x80B1692C:("D_80B1692C","f32","",0x4), 0x80B16930:("D_80B16930","f32","",0x4), - 0x80B16940:("bgHakuginSwitchOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B16954:("bgHakuginSwitchOverlayRelocations","u32","[100]",0x190), - 0x80B16AEC:("bgHakuginSwitchOverlayInfoOffset","u32","",0x4), 0x80B16AF0:("D_80B16AF0","UNK_TYPE1","",0x1), 0x80B199E0:("En_Snowman_InitVars","UNK_TYPE1","",0x1), 0x80B19A00:("D_80B19A00","UNK_TYPE1","",0x1), @@ -15401,17 +14195,11 @@ 0x80B19B8C:("D_80B19B8C","f32","",0x4), 0x80B19B90:("D_80B19B90","f32","",0x4), 0x80B19B94:("D_80B19B94","f32","",0x4), - 0x80B19BA0:("enSnowmanOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B19BB4:("enSnowmanOverlayRelocations","u32","[233]",0x3a4), - 0x80B19F5C:("enSnowmanOverlayInfoOffset","u32","",0x4), 0x80B1A320:("TG_Sw_InitVars","UNK_TYPE1","",0x1), 0x80B1A340:("D_80B1A340","f32","",0x4), 0x80B1A344:("D_80B1A344","f32","",0x4), 0x80B1A348:("D_80B1A348","f32","",0x4), 0x80B1A34C:("D_80B1A34C","f32","",0x4), - 0x80B1A350:("tGSwOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B1A364:("tGSwOverlayRelocations","u32","[16]",0x40), - 0x80B1A3AC:("tGSwOverlayInfoOffset","u32","",0x4), 0x80B1DA30:("D_80B1DA30","UNK_TYPE1","",0x1), 0x80B1DA40:("D_80B1DA40","UNK_TYPE1","",0x1), 0x80B1DA50:("En_Po_Sisters_InitVars","UNK_TYPE1","",0x1), @@ -15444,9 +14232,6 @@ 0x80B1DB54:("D_80B1DB54","f32","",0x4), 0x80B1DB58:("D_80B1DB58","f32","",0x4), 0x80B1DB5C:("D_80B1DB5C","f32","",0x4), - 0x80B1DB60:("enPoSistersOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B1DB74:("enPoSistersOverlayRelocations","u32","[204]",0x330), - 0x80B1DEAC:("enPoSistersOverlayInfoOffset","u32","",0x4), 0x80B21620:("D_80B21620","UNK_TYPE4","",0x4), 0x80B21624:("D_80B21624","UNK_TYPE1","",0x1), 0x80B21644:("En_Pp_InitVars","UNK_TYPE1","",0x1), @@ -15469,7 +14254,7 @@ 0x80B217DC:("D_80B217DC","f32","",0x4), 0x80B217E0:("D_80B217E0","f32","",0x4), 0x80B217F0:("D_80B217F0","f32","",0x4), - 0x80B217F4:("jtbl_D_80B217F4","UNK_PTR","",0x4), + 0x80B217F4:("jtbl_80B217F4","UNK_PTR","",0x4), 0x80B21810:("D_80B21810","f32","",0x4), 0x80B21814:("D_80B21814","f32","",0x4), 0x80B21818:("D_80B21818","f32","",0x4), @@ -15482,9 +14267,6 @@ 0x80B21834:("D_80B21834","f32","",0x4), 0x80B21838:("D_80B21838","f32","",0x4), 0x80B2183C:("D_80B2183C","f32","",0x4), - 0x80B21840:("enPpOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B21854:("enPpOverlayRelocations","u32","[170]",0x2a8), - 0x80B21AFC:("enPpOverlayInfoOffset","u32","",0x4), 0x80B22A60:("En_Hakurock_InitVars","UNK_TYPE1","",0x1), 0x80B22A80:("D_80B22A80","UNK_TYPE1","",0x1), 0x80B22AAC:("D_80B22AAC","UNK_TYPE1","",0x1), @@ -15498,9 +14280,6 @@ 0x80B22ADC:("D_80B22ADC","f32","",0x4), 0x80B22AE0:("D_80B22AE0","f32","",0x4), 0x80B22AE4:("D_80B22AE4","f32","",0x4), - 0x80B22AF0:("enHakurockOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B22B04:("enHakurockOverlayRelocations","u32","[62]",0xf8), - 0x80B22BFC:("enHakurockOverlayInfoOffset","u32","",0x4), 0x80B23A80:("En_Hanabi_InitVars","UNK_TYPE1","",0x1), 0x80B23AA0:("D_80B23AA0","UNK_TYPE2","",0x2), 0x80B23C2C:("D_80B23C2C","UNK_TYPE1","",0x1), @@ -15510,21 +14289,12 @@ 0x80B23C68:("D_80B23C68","f32","",0x4), 0x80B23C6C:("D_80B23C6C","f32","",0x4), 0x80B23C70:("D_80B23C70","f32","",0x4), - 0x80B23C80:("enHanabiOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B23C94:("enHanabiOverlayRelocations","u32","[45]",0xb4), - 0x80B23D4C:("enHanabiOverlayInfoOffset","u32","",0x4), 0x80B23E80:("Obj_Dowsing_InitVars","UNK_TYPE1","",0x1), - 0x80B23EA0:("objDowsingOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B23EB4:("objDowsingOverlayRelocations","u32","[6]",0x18), - 0x80B23ECC:("objDowsingOverlayInfoOffset","u32","",0x4), 0x80B24460:("Obj_Wind_InitVars","UNK_TYPE1","",0x1), 0x80B24480:("D_80B24480","UNK_TYPE1","",0x1), 0x80B2448C:("D_80B2448C","UNK_TYPE1","",0x1), 0x80B245CC:("D_80B245CC","UNK_TYPE4","",0x4), 0x80B245D0:("D_80B245D0","f32","",0x4), - 0x80B245E0:("objWindOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B245F4:("objWindOverlayRelocations","u32","[12]",0x30), - 0x80B2462C:("objWindOverlayInfoOffset","u32","",0x4), 0x80B25D20:("En_Racedog_InitVars","UNK_TYPE1","",0x1), 0x80B25D40:("D_80B25D40","UNK_TYPE2","",0x2), 0x80B25D44:("D_80B25D44","UNK_TYPE2","",0x2), @@ -15556,10 +14326,7 @@ 0x80B26024:("D_80B26024","f32","",0x4), 0x80B26028:("D_80B26028","f32","",0x4), 0x80B2602C:("D_80B2602C","f32","",0x4), - 0x80B26030:("jtbl_D_80B26030","UNK_PTR","",0x4), - 0x80B26050:("enRacedogOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B26064:("enRacedogOverlayRelocations","u32","[142]",0x238), - 0x80B2629C:("enRacedogOverlayInfoOffset","u32","",0x4), + 0x80B26030:("jtbl_80B26030","UNK_PTR","",0x4), 0x80B27C10:("En_Kendo_Js_InitVars","UNK_TYPE1","",0x1), 0x80B27C30:("D_80B27C30","UNK_TYPE1","",0x1), 0x80B27C5C:("D_80B27C5C","UNK_TYPE1","",0x1), @@ -15568,18 +14335,12 @@ 0x80B27CF4:("D_80B27CF4","UNK_TYPE1","",0x1), 0x80B27D00:("D_80B27D00","UNK_TYPE1","",0x1), 0x80B27D10:("D_80B27D10","UNK_TYPE1","",0x1), - 0x80B27D20:("jtbl_D_80B27D20","UNK_PTR","",0x4), - 0x80B27DD0:("jtbl_D_80B27DD0","UNK_PTR","",0x4), - 0x80B27DEC:("jtbl_D_80B27DEC","UNK_PTR","",0x4), - 0x80B27E10:("enKendoJsOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B27E24:("enKendoJsOverlayRelocations","u32","[147]",0x24c), - 0x80B2807C:("enKendoJsOverlayInfoOffset","u32","",0x4), + 0x80B27D20:("jtbl_80B27D20","UNK_PTR","",0x4), + 0x80B27DD0:("jtbl_80B27DD0","UNK_PTR","",0x4), + 0x80B27DEC:("jtbl_80B27DEC","UNK_PTR","",0x4), 0x80B282D0:("Bg_Botihasira_InitVars","UNK_TYPE1","",0x1), 0x80B282F0:("D_80B282F0","UNK_TYPE1","",0x1), 0x80B28320:("D_80B28320","f32","",0x4), - 0x80B28330:("bgBotihasiraOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B28344:("bgBotihasiraOverlayRelocations","u32","[10]",0x28), - 0x80B2836C:("bgBotihasiraOverlayInfoOffset","u32","",0x4), 0x80B2B2E0:("D_80B2B2E0","UNK_TYPE4","",0x4), 0x80B2B2E4:("D_80B2B2E4","UNK_TYPE4","",0x4), 0x80B2B2E8:("D_80B2B2E8","UNK_TYPE4","",0x4), @@ -15606,7 +14367,7 @@ 0x80B2B3E4:("D_80B2B3E4","f32","",0x4), 0x80B2B3E8:("D_80B2B3E8","f32","",0x4), 0x80B2B3EC:("D_80B2B3EC","f32","",0x4), - 0x80B2B3F0:("jtbl_D_80B2B3F0","UNK_PTR","",0x4), + 0x80B2B3F0:("jtbl_80B2B3F0","UNK_PTR","",0x4), 0x80B2B418:("D_80B2B418","f32","",0x4), 0x80B2B41C:("D_80B2B41C","f32","",0x4), 0x80B2B420:("D_80B2B420","f32","",0x4), @@ -15621,9 +14382,6 @@ 0x80B2B444:("D_80B2B444","f32","",0x4), 0x80B2B448:("D_80B2B448","f32","",0x4), 0x80B2B44C:("D_80B2B44C","f32","",0x4), - 0x80B2B450:("enFish2OverlayInfo","OverlayRelocationSection","",0x14), - 0x80B2B464:("enFish2OverlayRelocations","u32","[242]",0x3c8), - 0x80B2B82C:("enFish2OverlayInfoOffset","u32","",0x4), 0x80B2C200:("D_80B2C200","UNK_TYPE1","",0x1), 0x80B2C20C:("D_80B2C20C","UNK_TYPE1","",0x1), 0x80B2C218:("D_80B2C218","UNK_TYPE1","",0x1), @@ -15647,13 +14405,10 @@ 0x80B2C4E4:("D_80B2C4E4","UNK_PTR","",0x4), 0x80B2C4F0:("D_80B2C4F0","UNK_TYPE1","",0x1), 0x80B2C500:("D_80B2C500","UNK_PTR","",0x4), - 0x80B2C520:("jtbl_D_80B2C520","UNK_PTR","",0x4), - 0x80B2C534:("jtbl_D_80B2C534","UNK_PTR","",0x4), - 0x80B2C548:("jtbl_D_80B2C548","UNK_PTR","",0x4), - 0x80B2C55C:("jtbl_D_80B2C55C","UNK_PTR","",0x4), - 0x80B2C570:("enPstOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B2C584:("enPstOverlayRelocations","u32","[90]",0x168), - 0x80B2C6EC:("enPstOverlayInfoOffset","u32","",0x4), + 0x80B2C520:("jtbl_80B2C520","UNK_PTR","",0x4), + 0x80B2C534:("jtbl_80B2C534","UNK_PTR","",0x4), + 0x80B2C548:("jtbl_80B2C548","UNK_PTR","",0x4), + 0x80B2C55C:("jtbl_80B2C55C","UNK_PTR","",0x4), 0x80B2F660:("En_Poh_InitVars","UNK_TYPE1","",0x1), 0x80B2F680:("D_80B2F680","UNK_TYPE1","",0x1), 0x80B2F6AC:("D_80B2F6AC","UNK_TYPE1","",0x1), @@ -15685,9 +14440,6 @@ 0x80B2F7A8:("D_80B2F7A8","f32","",0x4), 0x80B2F7AC:("D_80B2F7AC","f32","",0x4), 0x80B2F7B0:("D_80B2F7B0","f32","",0x4), - 0x80B2F7C0:("enPohOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B2F7D4:("enPohOverlayRelocations","u32","[203]",0x32c), - 0x80B2FB0C:("enPohOverlayInfoOffset","u32","",0x4), 0x80B31040:("Obj_Spidertent_InitVars","UNK_TYPE1","",0x1), 0x80B31060:("D_80B31060","UNK_TYPE1","",0x1), 0x80B311C8:("D_80B311C8","UNK_TYPE1","",0x1), @@ -15706,9 +14458,6 @@ 0x80B31438:("D_80B31438","f32","",0x4), 0x80B3143C:("D_80B3143C","f32","",0x4), 0x80B31440:("D_80B31440","f32","",0x4), - 0x80B31450:("objSpidertentOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B31464:("objSpidertentOverlayRelocations","u32","[71]",0x11c), - 0x80B3158C:("objSpidertentOverlayInfoOffset","u32","",0x4), 0x80B33910:("En_Zoraegg_InitVars","UNK_TYPE1","",0x1), 0x80B33930:("D_80B33930","UNK_TYPE4","",0x4), 0x80B33940:("D_80B33940","UNK_TYPE4","",0x4), @@ -15717,8 +14466,8 @@ 0x80B33964:("D_80B33964","f32","",0x4), 0x80B33968:("D_80B33968","f32","",0x4), 0x80B3396C:("D_80B3396C","f32","",0x4), - 0x80B33970:("jtbl_D_80B33970","UNK_PTR","",0x4), - 0x80B339B8:("jtbl_D_80B339B8","UNK_PTR","",0x4), + 0x80B33970:("jtbl_80B33970","UNK_PTR","",0x4), + 0x80B339B8:("jtbl_80B339B8","UNK_PTR","",0x4), 0x80B33A00:("D_80B33A00","f32","",0x4), 0x80B33A04:("D_80B33A04","f32","",0x4), 0x80B33A08:("D_80B33A08","f32","",0x4), @@ -15738,21 +14487,15 @@ 0x80B33A40:("D_80B33A40","f32","",0x4), 0x80B33A44:("D_80B33A44","f32","",0x4), 0x80B33A48:("D_80B33A48","f32","",0x4), - 0x80B33A50:("enZoraeggOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B33A64:("enZoraeggOverlayRelocations","u32","[176]",0x2c0), - 0x80B33D2C:("enZoraeggOverlayInfoOffset","u32","",0x4), 0x80B34B20:("En_Kbt_InitVars","UNK_TYPE1","",0x1), 0x80B34B40:("D_80B34B40","UNK_TYPE4","",0x4), 0x80B34B50:("D_80B34B50","UNK_TYPE1","",0x1), 0x80B34B84:("D_80B34B84","UNK_TYPE1","",0x1), 0x80B34B90:("D_80B34B90","UNK_TYPE1","",0x1), 0x80B34B98:("D_80B34B98","UNK_TYPE1","",0x1), - 0x80B34BB0:("jtbl_D_80B34BB0","UNK_PTR","",0x4), - 0x80B34BE4:("jtbl_D_80B34BE4","UNK_PTR","",0x4), - 0x80B34CD0:("jtbl_D_80B34CD0","UNK_PTR","",0x4), - 0x80B34CF0:("enKbtOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B34D04:("enKbtOverlayRelocations","u32","[153]",0x264), - 0x80B34F6C:("enKbtOverlayInfoOffset","u32","",0x4), + 0x80B34BB0:("jtbl_80B34BB0","UNK_PTR","",0x4), + 0x80B34BE4:("jtbl_80B34BE4","UNK_PTR","",0x4), + 0x80B34CD0:("jtbl_80B34CD0","UNK_PTR","",0x4), 0x80B36BE0:("En_Gg_InitVars","UNK_TYPE1","",0x1), 0x80B36C00:("D_80B36C00","UNK_TYPE1","",0x1), 0x80B36C2C:("D_80B36C2C","UNK_TYPE1","",0x1), @@ -15762,18 +14505,15 @@ 0x80B36DE4:("D_80B36DE4","UNK_TYPE4","",0x4), 0x80B36DF0:("D_80B36DF0","UNK_TYPE1","",0x1), 0x80B36DFC:("D_80B36DFC","UNK_TYPE1","",0x1), - 0x80B36E10:("jtbl_D_80B36E10","UNK_PTR","",0x4), - 0x80B36E38:("jtbl_D_80B36E38","UNK_PTR","",0x4), - 0x80B36E58:("jtbl_D_80B36E58","UNK_PTR","",0x4), + 0x80B36E10:("jtbl_80B36E10","UNK_PTR","",0x4), + 0x80B36E38:("jtbl_80B36E38","UNK_PTR","",0x4), + 0x80B36E58:("jtbl_80B36E58","UNK_PTR","",0x4), 0x80B36E78:("D_80B36E78","f32","",0x4), 0x80B36E7C:("D_80B36E7C","f32","",0x4), 0x80B36E80:("D_80B36E80","f32","",0x4), 0x80B36E84:("D_80B36E84","f32","",0x4), 0x80B36E88:("D_80B36E88","f32","",0x4), 0x80B36E8C:("D_80B36E8C","f32","",0x4), - 0x80B36E90:("enGgOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B36EA4:("enGgOverlayRelocations","u32","[117]",0x1d4), - 0x80B3707C:("enGgOverlayInfoOffset","u32","",0x4), 0x80B38680:("En_Maruta_InitVars","UNK_TYPE1","",0x1), 0x80B386A0:("D_80B386A0","UNK_TYPE4","",0x4), 0x80B386C0:("D_80B386C0","UNK_TYPE1","",0x1), @@ -15805,7 +14545,7 @@ 0x80B38B70:("D_80B38B70","f32","",0x4), 0x80B38B74:("D_80B38B74","f32","",0x4), 0x80B38B78:("D_80B38B78","f32","",0x4), - 0x80B38B7C:("jtbl_D_80B38B7C","UNK_PTR","",0x4), + 0x80B38B7C:("jtbl_80B38B7C","UNK_PTR","",0x4), 0x80B38B98:("D_80B38B98","f32","",0x4), 0x80B38B9C:("D_80B38B9C","f32","",0x4), 0x80B38BA0:("D_80B38BA0","f32","",0x4), @@ -15816,9 +14556,6 @@ 0x80B38BB4:("D_80B38BB4","f32","",0x4), 0x80B38BB8:("D_80B38BB8","f32","",0x4), 0x80B38BBC:("D_80B38BBC","f32","",0x4), - 0x80B38BC0:("enMarutaOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B38BD4:("enMarutaOverlayRelocations","u32","[145]",0x244), - 0x80B38E1C:("enMarutaOverlayInfoOffset","u32","",0x4), 0x80B3A8C0:("Obj_Snowball2_InitVars","UNK_TYPE1","",0x1), 0x80B3A8E0:("D_80B3A8E0","UNK_TYPE1","",0x1), 0x80B3A904:("D_80B3A904","UNK_TYPE1","",0x1), @@ -15863,9 +14600,6 @@ 0x80B3A9E0:("D_80B3A9E0","f32","",0x4), 0x80B3A9E4:("D_80B3A9E4","f32","",0x4), 0x80B3A9E8:("D_80B3A9E8","f32","",0x4), - 0x80B3A9F0:("objSnowball2OverlayInfo","OverlayRelocationSection","",0x14), - 0x80B3AA04:("objSnowball2OverlayRelocations","u32","[143]",0x23c), - 0x80B3AC4C:("objSnowball2OverlayInfoOffset","u32","",0x4), 0x80B3BEE0:("En_Gg2_InitVars","UNK_TYPE1","",0x1), 0x80B3BF00:("D_80B3BF00","UNK_TYPE4","",0x4), 0x80B3C080:("D_80B3C080","UNK_TYPE4","",0x4), @@ -15874,21 +14608,15 @@ 0x80B3C094:("D_80B3C094","UNK_TYPE1","",0x1), 0x80B3C0A0:("D_80B3C0A0","UNK_TYPE1","",0x1), 0x80B3C0AC:("D_80B3C0AC","UNK_TYPE1","",0x1), - 0x80B3C0C0:("jtbl_D_80B3C0C0","UNK_PTR","",0x4), + 0x80B3C0C0:("jtbl_80B3C0C0","UNK_PTR","",0x4), 0x80B3C0E4:("D_80B3C0E4","f32","",0x4), 0x80B3C0E8:("D_80B3C0E8","f32","",0x4), 0x80B3C0EC:("D_80B3C0EC","f32","",0x4), - 0x80B3C0F0:("enGg2OverlayInfo","OverlayRelocationSection","",0x14), - 0x80B3C104:("enGg2OverlayRelocations","u32","[84]",0x150), - 0x80B3C25C:("enGg2OverlayInfoOffset","u32","",0x4), 0x80B3C940:("Obj_Ghaka_InitVars","UNK_TYPE1","",0x1), 0x80B3C960:("D_80B3C960","UNK_TYPE1","",0x1), 0x80B3C96C:("D_80B3C96C","UNK_TYPE1","",0x1), 0x80B3C980:("D_80B3C980","f32","",0x4), 0x80B3C984:("D_80B3C984","f32","",0x4), - 0x80B3C990:("objGhakaOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B3C9A4:("objGhakaOverlayRelocations","u32","[28]",0x70), - 0x80B3CA1C:("objGhakaOverlayInfoOffset","u32","",0x4), 0x80B3DC60:("En_Dnp_InitVars","UNK_TYPE1","",0x1), 0x80B3DC80:("D_80B3DC80","UNK_TYPE1","",0x1), 0x80B3DCAC:("D_80B3DCAC","UNK_TYPE1","",0x1), @@ -15901,9 +14629,6 @@ 0x80B3DEC8:("D_80B3DEC8","f32","",0x4), 0x80B3DECC:("D_80B3DECC","f32","",0x4), 0x80B3DED0:("D_80B3DED0","f32","",0x4), - 0x80B3DEE0:("enDnpOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B3DEF4:("enDnpOverlayRelocations","u32","[61]",0xf4), - 0x80B3DFEC:("enDnpOverlayInfoOffset","u32","",0x4), 0x80B3FBD0:("En_Dai_InitVars","UNK_TYPE1","",0x1), 0x80B3FBF0:("D_80B3FBF0","UNK_TYPE4","",0x4), 0x80B3FBFC:("D_80B3FBFC","UNK_TYPE1","",0x1), @@ -15927,14 +14652,8 @@ 0x80B3FE70:("D_80B3FE70","UNK_TYPE1","",0x1), 0x80B3FE90:("D_80B3FE90","f32","",0x4), 0x80B3FE94:("D_80B3FE94","f32","",0x4), - 0x80B3FEA0:("enDaiOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B3FEB4:("enDaiOverlayRelocations","u32","[113]",0x1c4), - 0x80B4007C:("enDaiOverlayInfoOffset","u32","",0x4), 0x80B40760:("Bg_Goron_Oyu_InitVars","UNK_TYPE1","",0x1), 0x80B40780:("D_80B40780","UNK_TYPE1","",0x1), - 0x80B40790:("bgGoronOyuOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B407A4:("bgGoronOyuOverlayRelocations","u32","[20]",0x50), - 0x80B407FC:("bgGoronOyuOverlayInfoOffset","u32","",0x4), 0x80B43250:("En_Kgy_InitVars","UNK_TYPE1","",0x1), 0x80B43270:("D_80B43270","UNK_TYPE1","",0x1), 0x80B43298:("D_80B43298","EffShieldParticleInit","",0x40), @@ -15945,15 +14664,12 @@ 0x80B432E4:("D_80B432E4","UNK_TYPE1","",0x1), 0x80B432F0:("D_80B432F0","f32","",0x4), 0x80B432F4:("D_80B432F4","f32","",0x4), - 0x80B432F8:("jtbl_D_80B432F8","UNK_PTR","",0x4), - 0x80B4330C:("jtbl_D_80B4330C","UNK_PTR","",0x4), - 0x80B43370:("jtbl_D_80B43370","UNK_PTR","",0x4), - 0x80B43400:("jtbl_D_80B43400","UNK_PTR","",0x4), - 0x80B43414:("jtbl_D_80B43414","UNK_PTR","",0x4), + 0x80B432F8:("jtbl_80B432F8","UNK_PTR","",0x4), + 0x80B4330C:("jtbl_80B4330C","UNK_PTR","",0x4), + 0x80B43370:("jtbl_80B43370","UNK_PTR","",0x4), + 0x80B43400:("jtbl_80B43400","UNK_PTR","",0x4), + 0x80B43414:("jtbl_80B43414","UNK_PTR","",0x4), 0x80B43460:("D_80B43460","f32","",0x4), - 0x80B43470:("enKgyOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B43484:("enKgyOverlayRelocations","u32","[329]",0x524), - 0x80B439AC:("enKgyOverlayInfoOffset","u32","",0x4), 0x80B4E890:("En_Invadepoh_InitVars","UNK_TYPE1","",0x1), 0x80B4E8B0:("D_80B4E8B0","UNK_TYPE1","",0x1), 0x80B4E8DC:("D_80B4E8DC","UNK_TYPE1","",0x1), @@ -16179,9 +14895,6 @@ 0x80B4F070:("D_80B4F070","f32","",0x4), 0x80B4F074:("D_80B4F074","f32","",0x4), 0x80B4F078:("D_80B4F078","f32","",0x4), - 0x80B4F080:("enInvadepohOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B4F094:("enInvadepohOverlayRelocations","u32","[1153]",0x1204), - 0x80B5029C:("enInvadepohOverlayInfoOffset","u32","",0x4), 0x80B502A0:("D_80B502A0","UNK_TYPE1","",0x1), 0x80B502E0:("D_80B502E0","UNK_TYPE1","",0x1), 0x80B50320:("D_80B50320","UNK_TYPE4","",0x4), @@ -16214,12 +14927,12 @@ 0x80B533CC:("D_80B533CC","UNK_TYPE4","",0x4), 0x80B533D8:("D_80B533D8","UNK_TYPE4","",0x4), 0x80B533E4:("D_80B533E4","UNK_TYPE1","",0x1), - 0x80B53400:("jtbl_D_80B53400","UNK_PTR","",0x4), - 0x80B53418:("jtbl_D_80B53418","UNK_PTR","",0x4), + 0x80B53400:("jtbl_80B53400","UNK_PTR","",0x4), + 0x80B53418:("jtbl_80B53418","UNK_PTR","",0x4), 0x80B53434:("D_80B53434","f32","",0x4), - 0x80B53438:("jtbl_D_80B53438","UNK_PTR","",0x4), + 0x80B53438:("jtbl_80B53438","UNK_PTR","",0x4), 0x80B5346C:("D_80B5346C","f32","",0x4), - 0x80B53470:("jtbl_D_80B53470","UNK_PTR","",0x4), + 0x80B53470:("jtbl_80B53470","UNK_PTR","",0x4), 0x80B5348C:("D_80B5348C","f32","",0x4), 0x80B53490:("D_80B53490","f32","",0x4), 0x80B53494:("D_80B53494","f32","",0x4), @@ -16229,9 +14942,6 @@ 0x80B534A4:("D_80B534A4","f32","",0x4), 0x80B534A8:("D_80B534A8","f32","",0x4), 0x80B534AC:("D_80B534AC","f32","",0x4), - 0x80B534B0:("enGkOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B534C4:("enGkOverlayRelocations","u32","[222]",0x378), - 0x80B5383C:("enGkOverlayInfoOffset","u32","",0x4), 0x80B581D0:("D_80B581D0","UNK_TYPE1","",0x1), 0x80B58618:("D_80B58618","UNK_TYPE1","",0x1), 0x80B58718:("D_80B58718","UNK_TYPE1","",0x1), @@ -16279,40 +14989,34 @@ 0x80B58ED4:("D_80B58ED4","UNK_TYPE1","",0x1), 0x80B58EE0:("D_80B58EE0","UNK_TYPE1","",0x1), 0x80B58EEC:("D_80B58EEC","UNK_TYPE1","",0x1), - 0x80B58F10:("jtbl_D_80B58F10","UNK_PTR","",0x4), - 0x80B58F48:("jtbl_D_80B58F48","UNK_PTR","",0x4), - 0x80B58F70:("jtbl_D_80B58F70","UNK_PTR","",0x4), - 0x80B58F8C:("jtbl_D_80B58F8C","UNK_PTR","",0x4), - 0x80B58FA4:("jtbl_D_80B58FA4","UNK_PTR","",0x4), - 0x80B58FC4:("jtbl_D_80B58FC4","UNK_PTR","",0x4), - 0x80B58FDC:("jtbl_D_80B58FDC","UNK_PTR","",0x4), - 0x80B59004:("jtbl_D_80B59004","UNK_PTR","",0x4), - 0x80B5903C:("jtbl_D_80B5903C","UNK_PTR","",0x4), - 0x80B59064:("jtbl_D_80B59064","UNK_PTR","",0x4), - 0x80B59138:("jtbl_D_80B59138","UNK_PTR","",0x4), - 0x80B591D8:("jtbl_D_80B591D8","UNK_PTR","",0x4), - 0x80B5933C:("jtbl_D_80B5933C","UNK_PTR","",0x4), - 0x80B594A4:("jtbl_D_80B594A4","UNK_PTR","",0x4), - 0x80B594D4:("jtbl_D_80B594D4","UNK_PTR","",0x4), - 0x80B5950C:("jtbl_D_80B5950C","UNK_PTR","",0x4), - 0x80B5955C:("jtbl_D_80B5955C","UNK_PTR","",0x4), - 0x80B595BC:("jtbl_D_80B595BC","UNK_PTR","",0x4), - 0x80B59610:("jtbl_D_80B59610","UNK_PTR","",0x4), + 0x80B58F10:("jtbl_80B58F10","UNK_PTR","",0x4), + 0x80B58F48:("jtbl_80B58F48","UNK_PTR","",0x4), + 0x80B58F70:("jtbl_80B58F70","UNK_PTR","",0x4), + 0x80B58F8C:("jtbl_80B58F8C","UNK_PTR","",0x4), + 0x80B58FA4:("jtbl_80B58FA4","UNK_PTR","",0x4), + 0x80B58FC4:("jtbl_80B58FC4","UNK_PTR","",0x4), + 0x80B58FDC:("jtbl_80B58FDC","UNK_PTR","",0x4), + 0x80B59004:("jtbl_80B59004","UNK_PTR","",0x4), + 0x80B5903C:("jtbl_80B5903C","UNK_PTR","",0x4), + 0x80B59064:("jtbl_80B59064","UNK_PTR","",0x4), + 0x80B59138:("jtbl_80B59138","UNK_PTR","",0x4), + 0x80B591D8:("jtbl_80B591D8","UNK_PTR","",0x4), + 0x80B5933C:("jtbl_80B5933C","UNK_PTR","",0x4), + 0x80B594A4:("jtbl_80B594A4","UNK_PTR","",0x4), + 0x80B594D4:("jtbl_80B594D4","UNK_PTR","",0x4), + 0x80B5950C:("jtbl_80B5950C","UNK_PTR","",0x4), + 0x80B5955C:("jtbl_80B5955C","UNK_PTR","",0x4), + 0x80B595BC:("jtbl_80B595BC","UNK_PTR","",0x4), + 0x80B59610:("jtbl_80B59610","UNK_PTR","",0x4), 0x80B5970C:("D_80B5970C","f32","",0x4), - 0x80B59710:("jtbl_D_80B59710","UNK_PTR","",0x4), - 0x80B5976C:("jtbl_D_80B5976C","UNK_PTR","",0x4), - 0x80B59780:("jtbl_D_80B59780","UNK_PTR","",0x4), - 0x80B59880:("enAnOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B59894:("enAnOverlayRelocations","u32","[928]",0xe80), - 0x80B5A71C:("enAnOverlayInfoOffset","u32","",0x4), + 0x80B59710:("jtbl_80B59710","UNK_PTR","",0x4), + 0x80B5976C:("jtbl_80B5976C","UNK_PTR","",0x4), + 0x80B59780:("jtbl_80B59780","UNK_PTR","",0x4), 0x80B5B1F0:("D_80B5B1F0","UNK_TYPE4","",0x4), 0x80B5B1F4:("En_Bee_InitVars","UNK_TYPE1","",0x1), 0x80B5B214:("D_80B5B214","UNK_TYPE1","",0x1), 0x80B5B234:("D_80B5B234","UNK_TYPE1","",0x1), 0x80B5B260:("D_80B5B260","f32","",0x4), - 0x80B5B270:("enBeeOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B5B284:("enBeeOverlayRelocations","u32","[19]",0x4c), - 0x80B5B2DC:("enBeeOverlayInfoOffset","u32","",0x4), 0x80B5E380:("En_Ot_InitVars","UNK_TYPE1","",0x1), 0x80B5E3A0:("D_80B5E3A0","UNK_TYPE1","",0x1), 0x80B5E3CC:("D_80B5E3CC","UNK_TYPE4","",0x4), @@ -16336,18 +15040,15 @@ 0x80B5E454:("D_80B5E454","f32","",0x4), 0x80B5E458:("D_80B5E458","f32","",0x4), 0x80B5E45C:("D_80B5E45C","f32","",0x4), - 0x80B5E460:("jtbl_D_80B5E460","UNK_PTR","",0x4), - 0x80B5E47C:("jtbl_D_80B5E47C","UNK_PTR","",0x4), - 0x80B5E498:("jtbl_D_80B5E498","UNK_PTR","",0x4), + 0x80B5E460:("jtbl_80B5E460","UNK_PTR","",0x4), + 0x80B5E47C:("jtbl_80B5E47C","UNK_PTR","",0x4), + 0x80B5E498:("jtbl_80B5E498","UNK_PTR","",0x4), 0x80B5E4B0:("D_80B5E4B0","f32","",0x4), 0x80B5E4B4:("D_80B5E4B4","f32","",0x4), 0x80B5E4B8:("D_80B5E4B8","f32","",0x4), 0x80B5E4BC:("D_80B5E4BC","f32","",0x4), 0x80B5E4C0:("D_80B5E4C0","f32","",0x4), 0x80B5E4C4:("D_80B5E4C4","f32","",0x4), - 0x80B5E4D0:("enOtOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B5E4E4:("enOtOverlayRelocations","u32","[229]",0x394), - 0x80B5E87C:("enOtOverlayInfoOffset","u32","",0x4), 0x80B5E880:("D_80B5E880","UNK_TYPE1","",0x1), 0x80B5E884:("D_80B5E884","UNK_TYPE1","",0x1), 0x80B5E888:("D_80B5E888","UNK_TYPE1","",0x1), @@ -16382,10 +15083,7 @@ 0x80B608AC:("D_80B608AC","f32","",0x4), 0x80B608B0:("D_80B608B0","f32","",0x4), 0x80B608B4:("D_80B608B4","f32","",0x4), - 0x80B608B8:("jtbl_D_80B608B8","UNK_PTR","",0x4), - 0x80B608E0:("enDragonOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B608F4:("enDragonOverlayRelocations","u32","[116]",0x1d0), - 0x80B60ACC:("enDragonOverlayInfoOffset","u32","",0x4), + 0x80B608B8:("jtbl_80B608B8","UNK_PTR","",0x4), 0x80B612F0:("Obj_Dora_InitVars","UNK_TYPE1","",0x1), 0x80B61310:("D_80B61310","UNK_TYPE1","",0x1), 0x80B61478:("D_80B61478","UNK_TYPE1","",0x1), @@ -16404,9 +15102,6 @@ 0x80B614DC:("D_80B614DC","f32","",0x4), 0x80B614E0:("D_80B614E0","f32","",0x4), 0x80B614E4:("D_80B614E4","f32","",0x4), - 0x80B614F0:("objDoraOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B61504:("objDoraOverlayRelocations","u32","[52]",0xd0), - 0x80B615DC:("objDoraOverlayInfoOffset","u32","",0x4), 0x80B64FF0:("En_Bigpo_InitVars","UNK_TYPE1","",0x1), 0x80B65010:("D_80B65010","UNK_TYPE1","",0x1), 0x80B6503C:("D_80B6503C","UNK_TYPE1","",0x1), @@ -16443,9 +15138,6 @@ 0x80B65114:("D_80B65114","f32","",0x4), 0x80B65118:("D_80B65118","f32","",0x4), 0x80B6511C:("D_80B6511C","f32","",0x4), - 0x80B65120:("enBigpoOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B65134:("enBigpoOverlayRelocations","u32","[226]",0x388), - 0x80B654BC:("enBigpoOverlayInfoOffset","u32","",0x4), 0x80B66640:("Obj_Kendo_Kanban_InitVars","UNK_TYPE1","",0x1), 0x80B66660:("D_80B66660","UNK_TYPE4","",0x4), 0x80B6666C:("D_80B6666C","UNK_TYPE4","",0x4), @@ -16480,14 +15172,8 @@ 0x80B6684C:("D_80B6684C","f32","",0x4), 0x80B66850:("D_80B66850","f32","",0x4), 0x80B66854:("D_80B66854","f32","",0x4), - 0x80B66860:("objKendoKanbanOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B66874:("objKendoKanbanOverlayRelocations","u32","[106]",0x1a8), - 0x80B66A1C:("objKendoKanbanOverlayInfoOffset","u32","",0x4), 0x80B66CB0:("Obj_Hariko_InitVars","UNK_TYPE1","",0x1), 0x80B66CD0:("D_80B66CD0","f32","",0x4), - 0x80B66CE0:("objHarikoOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B66CF4:("objHarikoOverlayRelocations","u32","[14]",0x38), - 0x80B66D2C:("objHarikoOverlayInfoOffset","u32","",0x4), 0x80B685A0:("En_Sth_InitVars","UNK_TYPE1","",0x1), 0x80B685C0:("D_80B685C0","UNK_TYPE1","",0x1), 0x80B68640:("D_80B68640","UNK_TYPE1","",0x1), @@ -16539,25 +15225,16 @@ 0x80B6D1F8:("D_80B6D1F8","UNK_TYPE2","",0x2), 0x80B6D200:("D_80B6D200","UNK_TYPE1","",0x1), 0x80B6D20C:("D_80B6D20C","UNK_TYPE1","",0x1), - 0x80B6D220:("jtbl_D_80B6D220","UNK_PTR","",0x4), - 0x80B6D234:("jtbl_D_80B6D234","UNK_PTR","",0x4), - 0x80B6D274:("jtbl_D_80B6D274","UNK_PTR","",0x4), - 0x80B6D300:("enSthOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B6D314:("enSthOverlayRelocations","u32","[210]",0x348), - 0x80B6D65C:("enSthOverlayInfoOffset","u32","",0x4), + 0x80B6D220:("jtbl_80B6D220","UNK_PTR","",0x4), + 0x80B6D234:("jtbl_80B6D234","UNK_PTR","",0x4), + 0x80B6D274:("jtbl_80B6D274","UNK_PTR","",0x4), 0x80B6DB50:("Bg_Sinkai_Kabe_InitVars","UNK_TYPE1","",0x1), 0x80B6DB70:("D_80B6DB70","UNK_TYPE4","",0x4), 0x80B6DB80:("D_80B6DB80","f32","",0x4), 0x80B6DB84:("D_80B6DB84","f32","",0x4), 0x80B6DB88:("D_80B6DB88","f32","",0x4), - 0x80B6DB90:("bgSinkaiKabeOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B6DBA4:("bgSinkaiKabeOverlayRelocations","u32","[13]",0x34), - 0x80B6DBDC:("bgSinkaiKabeOverlayInfoOffset","u32","",0x4), 0x80B6DF80:("Bg_Haka_Curtain_InitVars","UNK_TYPE1","",0x1), 0x80B6DFA0:("D_80B6DFA0","UNK_TYPE1","",0x1), - 0x80B6DFB0:("bgHakaCurtainOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B6DFC4:("bgHakaCurtainOverlayRelocations","u32","[22]",0x58), - 0x80B6E01C:("bgHakaCurtainOverlayInfoOffset","u32","",0x4), 0x80B6E6D0:("Bg_Kin2_Bombwall_InitVars","UNK_TYPE1","",0x1), 0x80B6E6F0:("D_80B6E6F0","UNK_TYPE1","",0x1), 0x80B6E71C:("D_80B6E71C","UNK_TYPE1","",0x1), @@ -16570,9 +15247,6 @@ 0x80B6E748:("D_80B6E748","UNK_TYPE1","",0x1), 0x80B6E760:("D_80B6E760","f32","",0x4), 0x80B6E764:("D_80B6E764","f32","",0x4), - 0x80B6E770:("bgKin2BombwallOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B6E784:("bgKin2BombwallOverlayRelocations","u32","[35]",0x8c), - 0x80B6E81C:("bgKin2BombwallOverlayInfoOffset","u32","",0x4), 0x80B6EDC0:("Bg_Kin2_Fence_InitVars","UNK_TYPE1","",0x1), 0x80B6EDE0:("D_80B6EDE0","UNK_TYPE1","",0x1), 0x80B6EE70:("D_80B6EE70","UNK_TYPE1","",0x1), @@ -16580,9 +15254,6 @@ 0x80B6EEE0:("D_80B6EEE0","UNK_TYPE1","",0x1), 0x80B6EEE4:("D_80B6EEE4","UNK_TYPE1","",0x1), 0x80B6EEE8:("D_80B6EEE8","UNK_TYPE1","",0x1), - 0x80B6EF00:("bgKin2FenceOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B6EF14:("bgKin2FenceOverlayRelocations","u32","[33]",0x84), - 0x80B6EF9C:("bgKin2FenceOverlayInfoOffset","u32","",0x4), 0x80B6F970:("Bg_Kin2_Picture_InitVars","UNK_TYPE1","",0x1), 0x80B6F990:("D_80B6F990","UNK_TYPE1","",0x1), 0x80B6FA08:("D_80B6FA08","UNK_TYPE1","",0x1), @@ -16596,9 +15267,6 @@ 0x80B6FA54:("D_80B6FA54","f32","",0x4), 0x80B6FA58:("D_80B6FA58","f32","",0x4), 0x80B6FA5C:("D_80B6FA5C","f32","",0x4), - 0x80B6FA60:("bgKin2PictureOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B6FA74:("bgKin2PictureOverlayRelocations","u32","[46]",0xb8), - 0x80B6FB2C:("bgKin2PictureOverlayInfoOffset","u32","",0x4), 0x80B70730:("Bg_Kin2_Shelf_InitVars","UNK_TYPE1","",0x1), 0x80B70750:("D_80B70750","f32","",0x4), 0x80B70758:("D_80B70758","f32","",0x4), @@ -16615,9 +15283,6 @@ 0x80B7079C:("D_80B7079C","f32","",0x4), 0x80B707A0:("D_80B707A0","f32","",0x4), 0x80B707A4:("D_80B707A4","f32","",0x4), - 0x80B707B0:("bgKin2ShelfOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B707C4:("bgKin2ShelfOverlayRelocations","u32","[61]",0xf4), - 0x80B708BC:("bgKin2ShelfOverlayInfoOffset","u32","",0x4), 0x80B732B0:("En_Rail_Skb_InitVars","UNK_TYPE1","",0x1), 0x80B732D0:("D_80B732D0","UNK_TYPE1","",0x1), 0x80B73408:("D_80B73408","UNK_TYPE1","",0x1), @@ -16635,18 +15300,15 @@ 0x80B734D0:("D_80B734D0","UNK_TYPE1","",0x1), 0x80B734E0:("D_80B734E0","f32","",0x4), 0x80B734E4:("D_80B734E4","f32","",0x4), - 0x80B734E8:("jtbl_D_80B734E8","UNK_PTR","",0x4), + 0x80B734E8:("jtbl_80B734E8","UNK_PTR","",0x4), 0x80B73504:("D_80B73504","f32","",0x4), 0x80B73508:("D_80B73508","f32","",0x4), 0x80B7350C:("D_80B7350C","f32","",0x4), - 0x80B73510:("jtbl_D_80B73510","UNK_PTR","",0x4), + 0x80B73510:("jtbl_80B73510","UNK_PTR","",0x4), 0x80B73538:("D_80B73538","f32","",0x4), 0x80B7353C:("D_80B7353C","f32","",0x4), - 0x80B73540:("jtbl_D_80B73540","UNK_PTR","",0x4), - 0x80B73574:("jtbl_D_80B73574","UNK_PTR","",0x4), - 0x80B735B0:("enRailSkbOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B735C4:("enRailSkbOverlayRelocations","u32","[303]",0x4bc), - 0x80B73A8C:("enRailSkbOverlayInfoOffset","u32","",0x4), + 0x80B73540:("jtbl_80B73540","UNK_PTR","",0x4), + 0x80B73574:("jtbl_80B73574","UNK_PTR","",0x4), 0x80B75800:("En_Jg_InitVars","UNK_TYPE1","",0x1), 0x80B75820:("D_80B75820","UNK_TYPE1","",0x1), 0x80B7584C:("D_80B7584C","UNK_TYPE1","",0x1), @@ -16659,14 +15321,11 @@ 0x80B759D8:("D_80B759D8","UNK_TYPE1","",0x1), 0x80B759F0:("D_80B759F0","f32","",0x4), 0x80B759F4:("D_80B759F4","f32","",0x4), - 0x80B759F8:("jtbl_D_80B759F8","UNK_PTR","",0x4), - 0x80B75A14:("jtbl_D_80B75A14","UNK_PTR","",0x4), - 0x80B75A80:("jtbl_D_80B75A80","UNK_PTR","",0x4), - 0x80B75A9C:("jtbl_D_80B75A9C","UNK_PTR","",0x4), - 0x80B75AC0:("jtbl_D_80B75AC0","UNK_PTR","",0x4), - 0x80B75B90:("enJgOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B75BA4:("enJgOverlayRelocations","u32","[288]",0x480), - 0x80B7602C:("enJgOverlayInfoOffset","u32","",0x4), + 0x80B759F8:("jtbl_80B759F8","UNK_PTR","",0x4), + 0x80B75A14:("jtbl_80B75A14","UNK_PTR","",0x4), + 0x80B75A80:("jtbl_80B75A80","UNK_PTR","",0x4), + 0x80B75A9C:("jtbl_80B75A9C","UNK_PTR","",0x4), + 0x80B75AC0:("jtbl_80B75AC0","UNK_PTR","",0x4), 0x80B774F0:("En_Tru_Mt_InitVars","UNK_TYPE1","",0x1), 0x80B77510:("D_80B77510","UNK_TYPE1","",0x1), 0x80B7753C:("D_80B7753C","UNK_TYPE1","",0x1), @@ -16677,9 +15336,6 @@ 0x80B77680:("D_80B77680","f32","",0x4), 0x80B77684:("D_80B77684","f32","",0x4), 0x80B77688:("D_80B77688","f32","",0x4), - 0x80B77690:("enTruMtOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B776A4:("enTruMtOverlayRelocations","u32","[50]",0xc8), - 0x80B7776C:("enTruMtOverlayInfoOffset","u32","",0x4), 0x80B7C0F0:("Obj_Um_InitVars","UNK_TYPE1","",0x1), 0x80B7C110:("D_80B7C110","UNK_TYPE1","",0x1), 0x80B7C128:("D_80B7C128","UNK_TYPE1","",0x1), @@ -16701,17 +15357,17 @@ 0x80B7C314:("D_80B7C314","UNK_TYPE4","",0x4), 0x80B7C320:("D_80B7C320","f32","",0x4), 0x80B7C324:("D_80B7C324","f32","",0x4), - 0x80B7C328:("jtbl_D_80B7C328","UNK_PTR","",0x4), + 0x80B7C328:("jtbl_80B7C328","UNK_PTR","",0x4), 0x80B7C398:("D_80B7C398","f32","",0x4), 0x80B7C39C:("D_80B7C39C","f32","",0x4), 0x80B7C3A0:("D_80B7C3A0","f32","",0x4), - 0x80B7C3A4:("jtbl_D_80B7C3A4","UNK_PTR","",0x4), + 0x80B7C3A4:("jtbl_80B7C3A4","UNK_PTR","",0x4), 0x80B7C3BC:("D_80B7C3BC","f32","",0x4), 0x80B7C3C0:("D_80B7C3C0","f32","",0x4), 0x80B7C3C4:("D_80B7C3C4","f32","",0x4), 0x80B7C3C8:("D_80B7C3C8","f32","",0x4), 0x80B7C3CC:("D_80B7C3CC","f32","",0x4), - 0x80B7C3D0:("jtbl_D_80B7C3D0","UNK_PTR","",0x4), + 0x80B7C3D0:("jtbl_80B7C3D0","UNK_PTR","",0x4), 0x80B7C3E8:("D_80B7C3E8","f32","",0x4), 0x80B7C3EC:("D_80B7C3EC","f32","",0x4), 0x80B7C3F0:("D_80B7C3F0","f32","",0x4), @@ -16719,9 +15375,6 @@ 0x80B7C3F8:("D_80B7C3F8","f32","",0x4), 0x80B7C3FC:("D_80B7C3FC","f32","",0x4), 0x80B7C400:("D_80B7C400","f32","",0x4), - 0x80B7C410:("objUmOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B7C424:("objUmOverlayRelocations","u32","[281]",0x464), - 0x80B7C88C:("objUmOverlayInfoOffset","u32","",0x4), 0x80B7E4E0:("En_Neo_Reeba_InitVars","UNK_TYPE1","",0x1), 0x80B7E500:("D_80B7E500","UNK_TYPE1","",0x1), 0x80B7E520:("D_80B7E520","UNK_TYPE1","",0x1), @@ -16739,27 +15392,18 @@ 0x80B7E5E0:("D_80B7E5E0","f32","",0x4), 0x80B7E5E4:("D_80B7E5E4","f32","",0x4), 0x80B7E5E8:("D_80B7E5E8","f32","",0x4), - 0x80B7E5EC:("jtbl_D_80B7E5EC","UNK_PTR","",0x4), - 0x80B7E624:("jtbl_D_80B7E624","UNK_PTR","",0x4), + 0x80B7E5EC:("jtbl_80B7E5EC","UNK_PTR","",0x4), + 0x80B7E624:("jtbl_80B7E624","UNK_PTR","",0x4), 0x80B7E660:("D_80B7E660","f32","",0x4), 0x80B7E664:("D_80B7E664","f32","",0x4), - 0x80B7E670:("enNeoReebaOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B7E684:("enNeoReebaOverlayRelocations","u32","[170]",0x2a8), - 0x80B7E92C:("enNeoReebaOverlayInfoOffset","u32","",0x4), 0x80B7EA00:("Bg_Mbar_Chair_InitVars","ActorInit","",0x20), 0x80B7EA20:("bgMbarChairInitVars","ActorInitVar","[4]",0x10), - 0x80B7EA30:("bgMbarChairOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B7EA44:("bgMbarChairOverlayRelocations","u32","[6]",0x18), - 0x80B7EA5C:("bgMbarChairOverlayInfoOffset","u32","",0x4), 0x80B7F620:("Bg_Ikana_Block_InitVars","UNK_TYPE1","",0x1), 0x80B7F640:("D_80B7F640","UNK_TYPE1","",0x1), 0x80B7F650:("D_80B7F650","f32","",0x4), 0x80B7F654:("D_80B7F654","f32","",0x4), 0x80B7F658:("D_80B7F658","f32","",0x4), 0x80B7F65C:("D_80B7F65C","f32","",0x4), - 0x80B7F660:("bgIkanaBlockOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B7F674:("bgIkanaBlockOverlayRelocations","u32","[44]",0xb0), - 0x80B7F72C:("bgIkanaBlockOverlayInfoOffset","u32","",0x4), 0x80B7FF30:("Bg_Ikana_Mirror_InitVars","UNK_TYPE1","",0x1), 0x80B7FF50:("D_80B7FF50","UNK_TYPE1","",0x1), 0x80B8016C:("D_80B8016C","UNK_TYPE1","",0x1), @@ -16770,10 +15414,7 @@ 0x80B801C0:("D_80B801C0","UNK_TYPE1","",0x1), 0x80B8021C:("D_80B8021C","UNK_TYPE1","",0x1), 0x80B80230:("D_80B80230","f32","",0x4), - 0x80B80240:("bgIkanaMirrorOverlayInfo","OverlayRelocationSection","",0x14), 0x80B80248:("D_80B80248","UNK_TYPE1","",0x1), - 0x80B80254:("bgIkanaMirrorOverlayRelocations","u32","[33]",0x84), - 0x80B802DC:("bgIkanaMirrorOverlayInfoOffset","u32","",0x4), 0x80B820C0:("Bg_Ikana_Rotaryroom_InitVars","UNK_TYPE1","",0x1), 0x80B820E0:("D_80B820E0","UNK_TYPE1","",0x1), 0x80B82128:("D_80B82128","UNK_TYPE1","",0x1), @@ -16791,9 +15432,6 @@ 0x80B82224:("D_80B82224","f32","",0x4), 0x80B82228:("D_80B82228","f32","",0x4), 0x80B8222C:("D_80B8222C","f32","",0x4), - 0x80B82230:("bgIkanaRotaryroomOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B82244:("bgIkanaRotaryroomOverlayRelocations","u32","[89]",0x164), - 0x80B823AC:("bgIkanaRotaryroomOverlayInfoOffset","u32","",0x4), 0x80B83A00:("Bg_Dblue_Balance_InitVars","UNK_TYPE1","",0x1), 0x80B83A20:("D_80B83A20","UNK_TYPE4","",0x4), 0x80B83A74:("D_80B83A74","UNK_TYPE1","",0x1), @@ -16815,9 +15453,6 @@ 0x80B83ACC:("D_80B83ACC","f32","",0x4), 0x80B83AD0:("D_80B83AD0","f32","",0x4), 0x80B83AD4:("D_80B83AD4","f32","",0x4), - 0x80B83AE0:("bgDblueBalanceOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B83AF4:("bgDblueBalanceOverlayRelocations","u32","[93]",0x174), - 0x80B83C6C:("bgDblueBalanceOverlayInfoOffset","u32","",0x4), 0x80B83C70:("D_80B83C70","UNK_TYPE1","",0x1), 0x80B83C74:("D_80B83C74","UNK_TYPE1","",0x1), 0x80B85350:("Bg_Dblue_Waterfall_InitVars","UNK_TYPE1","",0x1), @@ -16843,9 +15478,6 @@ 0x80B853F8:("D_80B853F8","f32","",0x4), 0x80B853FC:("D_80B853FC","f32","",0x4), 0x80B85400:("D_80B85400","f32","",0x4), - 0x80B85410:("bgDblueWaterfallOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B85424:("bgDblueWaterfallOverlayRelocations","u32","[88]",0x160), - 0x80B8558C:("bgDblueWaterfallOverlayInfoOffset","u32","",0x4), 0x80B8A8D0:("D_80B8A8D0","UNK_TYPE1","",0x1), 0x80B8A8E4:("D_80B8A8E4","UNK_TYPE4","",0x4), 0x80B8AA04:("D_80B8AA04","UNK_TYPE4","",0x4), @@ -16870,7 +15502,7 @@ 0x80B8ACC0:("D_80B8ACC0","UNK_TYPE1","",0x1), 0x80B8ACCC:("D_80B8ACCC","UNK_TYPE1","",0x1), 0x80B8ACE0:("D_80B8ACE0","f32","",0x4), - 0x80B8ACE4:("jtbl_D_80B8ACE4","UNK_PTR","",0x4), + 0x80B8ACE4:("jtbl_80B8ACE4","UNK_PTR","",0x4), 0x80B8AD04:("D_80B8AD04","f32","",0x4), 0x80B8AD08:("D_80B8AD08","f32","",0x4), 0x80B8AD0C:("D_80B8AD0C","f32","",0x4), @@ -16898,13 +15530,10 @@ 0x80B8AD64:("D_80B8AD64","f32","",0x4), 0x80B8AD68:("D_80B8AD68","f32","",0x4), 0x80B8AD6C:("D_80B8AD6C","f32","",0x4), - 0x80B8AD70:("jtbl_D_80B8AD70","UNK_PTR","",0x4), + 0x80B8AD70:("jtbl_80B8AD70","UNK_PTR","",0x4), 0x80B8ADAC:("D_80B8ADAC","f32","",0x4), 0x80B8ADB0:("D_80B8ADB0","f32","",0x4), 0x80B8ADB4:("D_80B8ADB4","f32","",0x4), - 0x80B8ADC0:("enKaizokuOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B8ADD4:("enKaizokuOverlayRelocations","u32","[318]",0x4f8), - 0x80B8B2CC:("enKaizokuOverlayInfoOffset","u32","",0x4), 0x80B8CE20:("En_Ge2_InitVars","UNK_TYPE1","",0x1), 0x80B8CE40:("D_80B8CE40","UNK_TYPE1","",0x1), 0x80B8CE6C:("D_80B8CE6C","UNK_TYPE1","",0x1), @@ -16913,45 +15542,33 @@ 0x80B8CE88:("D_80B8CE88","UNK_TYPE1","",0x1), 0x80B8CE8C:("D_80B8CE8C","UNK_TYPE1","",0x1), 0x80B8CE98:("D_80B8CE98","UNK_TYPE1","",0x1), - 0x80B8CEB0:("jtbl_D_80B8CEB0","UNK_PTR","",0x4), - 0x80B8CED0:("enGe2OverlayInfo","OverlayRelocationSection","",0x14), - 0x80B8CEE4:("enGe2OverlayRelocations","u32","[82]",0x148), - 0x80B8D02C:("enGe2OverlayInfoOffset","u32","",0x4), + 0x80B8CEB0:("jtbl_80B8CEB0","UNK_PTR","",0x4), 0x80B8E150:("En_Ma_Yts_InitVars","UNK_TYPE1","",0x1), 0x80B8E170:("D_80B8E170","ColliderCylinderInit","",0x2C), 0x80B8E19C:("D_80B8E19C","CollisionCheckInfoInit2","",0xC), 0x80B8E308:("D_80B8E308","void*","",0x4), 0x80B8E318:("D_80B8E318","UNK_TYPE1","",0x1), 0x80B8E32C:("D_80B8E32C","UNK_TYPE2","",0x2), - 0x80B8E330:("jtbl_D_80B8E330","UNK_PTR","",0x4), - 0x80B8E34C:("jtbl_D_80B8E34C","UNK_PTR","",0x4), - 0x80B8E380:("enMaYtsOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B8E394:("enMaYtsOverlayRelocations","u32","[96]",0x180), - 0x80B8E51C:("enMaYtsOverlayInfoOffset","u32","",0x4), + 0x80B8E330:("jtbl_80B8E330","UNK_PTR","",0x4), + 0x80B8E34C:("jtbl_80B8E34C","UNK_PTR","",0x4), 0x80B913F0:("En_Ma_Yto_InitVars","UNK_TYPE1","",0x1), 0x80B91410:("D_80B91410","UNK_TYPE1","",0x1), 0x80B9143C:("D_80B9143C","UNK_TYPE1","",0x1), 0x80B91448:("D_80B91448","UNK_TYPE1","",0x1), 0x80B915F0:("D_80B915F0","UNK_TYPE2","",0x2), - 0x80B91600:("jtbl_D_80B91600","UNK_PTR","",0x4), - 0x80B91614:("jtbl_D_80B91614","UNK_PTR","",0x4), - 0x80B91628:("jtbl_D_80B91628","UNK_PTR","",0x4), - 0x80B9163C:("jtbl_D_80B9163C","UNK_PTR","",0x4), - 0x80B91650:("jtbl_D_80B91650","UNK_PTR","",0x4), - 0x80B9166C:("jtbl_D_80B9166C","UNK_PTR","",0x4), - 0x80B91688:("jtbl_D_80B91688","UNK_PTR","",0x4), - 0x80B916C8:("jtbl_D_80B916C8","UNK_PTR","",0x4), - 0x80B916E4:("jtbl_D_80B916E4","UNK_PTR","",0x4), - 0x80B91770:("jtbl_D_80B91770","UNK_PTR","",0x4), - 0x80B91790:("enMaYtoOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B917A4:("enMaYtoOverlayRelocations","u32","[323]",0x50c), - 0x80B91CBC:("enMaYtoOverlayInfoOffset","u32","",0x4), + 0x80B91600:("jtbl_80B91600","UNK_PTR","",0x4), + 0x80B91614:("jtbl_80B91614","UNK_PTR","",0x4), + 0x80B91628:("jtbl_80B91628","UNK_PTR","",0x4), + 0x80B9163C:("jtbl_80B9163C","UNK_PTR","",0x4), + 0x80B91650:("jtbl_80B91650","UNK_PTR","",0x4), + 0x80B9166C:("jtbl_80B9166C","UNK_PTR","",0x4), + 0x80B91688:("jtbl_80B91688","UNK_PTR","",0x4), + 0x80B916C8:("jtbl_80B916C8","UNK_PTR","",0x4), + 0x80B916E4:("jtbl_80B916E4","UNK_PTR","",0x4), + 0x80B91770:("jtbl_80B91770","UNK_PTR","",0x4), 0x80B91EA0:("Obj_Tokei_Turret_InitVars","UNK_TYPE1","",0x1), 0x80B91EC0:("D_80B91EC0","UNK_TYPE1","",0x1), 0x80B91ED0:("D_80B91ED0","f32","",0x4), - 0x80B91EE0:("objTokeiTurretOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B91EF4:("objTokeiTurretOverlayRelocations","u32","[8]",0x20), - 0x80B91F1C:("objTokeiTurretOverlayInfoOffset","u32","",0x4), 0x80B92940:("Bg_Dblue_Elevator_InitVars","UNK_TYPE1","",0x1), 0x80B92960:("D_80B92960","UNK_TYPE4","",0x4), 0x80B92964:("D_80B92964","UNK_PTR","",0x4), @@ -16968,9 +15585,6 @@ 0x80B92A00:("D_80B92A00","f32","",0x4), 0x80B92A04:("D_80B92A04","f32","",0x4), 0x80B92A08:("D_80B92A08","f32","",0x4), - 0x80B92A10:("bgDblueElevatorOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B92A24:("bgDblueElevatorOverlayRelocations","u32","[55]",0xdc), - 0x80B92B0C:("bgDblueElevatorOverlayInfoOffset","u32","",0x4), 0x80B93200:("Obj_Warpstone_InitVars","UNK_TYPE1","",0x1), 0x80B93220:("D_80B93220","UNK_TYPE1","",0x1), 0x80B9324C:("D_80B9324C","UNK_TYPE1","",0x1), @@ -16978,9 +15592,6 @@ 0x80B93260:("D_80B93260","f32","",0x4), 0x80B93264:("D_80B93264","f32","",0x4), 0x80B93268:("D_80B93268","f32","",0x4), - 0x80B93270:("objWarpstoneOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B93284:("objWarpstoneOverlayRelocations","u32","[31]",0x7c), - 0x80B9330C:("objWarpstoneOverlayInfoOffset","u32","",0x4), 0x80B95860:("En_Zog_InitVars","UNK_TYPE1","",0x1), 0x80B95880:("D_80B95880","UNK_TYPE1","",0x1), 0x80B958AC:("D_80B958AC","UNK_TYPE4","",0x4), @@ -17018,64 +15629,43 @@ 0x80B959D0:("D_80B959D0","f32","",0x4), 0x80B959D4:("D_80B959D4","f32","",0x4), 0x80B959D8:("D_80B959D8","f32","",0x4), - 0x80B959DC:("jtbl_D_80B959DC","UNK_PTR","",0x4), - 0x80B95A14:("jtbl_D_80B95A14","UNK_PTR","",0x4), + 0x80B959DC:("jtbl_80B959DC","UNK_PTR","",0x4), + 0x80B95A14:("jtbl_80B95A14","UNK_PTR","",0x4), 0x80B95A50:("D_80B95A50","f32","",0x4), 0x80B95A54:("D_80B95A54","f32","",0x4), - 0x80B95A60:("enZogOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B95A74:("enZogOverlayRelocations","u32","[228]",0x390), - 0x80B95E0C:("enZogOverlayInfoOffset","u32","",0x4), 0x80B95E10:("D_80B95E10","UNK_TYPE1","",0x1), 0x80B96140:("Obj_Rotlift_InitVars","UNK_TYPE1","",0x1), 0x80B96160:("D_80B96160","UNK_PTR","",0x4), 0x80B96178:("D_80B96178","UNK_TYPE1","",0x1), - 0x80B96190:("objRotliftOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B961A4:("objRotliftOverlayRelocations","u32","[12]",0x30), - 0x80B961DC:("objRotliftOverlayInfoOffset","u32","",0x4), 0x80B963C0:("Obj_Jg_Gakki_InitVars","UNK_TYPE1","",0x1), - 0x80B963E0:("objJgGakkiOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B963F4:("objJgGakkiOverlayRelocations","u32","[4]",0x10), - 0x80B9640C:("objJgGakkiOverlayInfoOffset","u32","",0x4), 0x80B96540:("Bg_Inibs_Movebg_InitVars","UNK_TYPE1","",0x1), 0x80B96560:("D_80B96560","UNK_TYPE1","",0x1), 0x80B96568:("D_80B96568","UNK_TYPE1","",0x1), 0x80B96570:("D_80B96570","UNK_TYPE1","",0x1), 0x80B96578:("D_80B96578","UNK_TYPE1","",0x1), - 0x80B96580:("bgInibsMovebgOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B96594:("bgInibsMovebgOverlayRelocations","u32","[11]",0x2c), - 0x80B965CC:("bgInibsMovebgOverlayInfoOffset","u32","",0x4), 0x80B998C0:("En_Zot_InitVars","UNK_TYPE1","",0x1), 0x80B998E0:("D_80B998E0","UNK_TYPE1","",0x1), 0x80B9990C:("D_80B9990C","UNK_TYPE1","",0x1), 0x80B99934:("D_80B99934","UNK_TYPE1","",0x1), 0x80B99940:("D_80B99940","UNK_TYPE4","",0x4), - 0x80B99950:("jtbl_D_80B99950","UNK_PTR","",0x4), - 0x80B999AC:("jtbl_D_80B999AC","UNK_PTR","",0x4), - 0x80B999C4:("jtbl_D_80B999C4","UNK_PTR","",0x4), - 0x80B999F4:("jtbl_D_80B999F4","UNK_PTR","",0x4), - 0x80B99A3C:("jtbl_D_80B99A3C","UNK_PTR","",0x4), - 0x80B99A54:("jtbl_D_80B99A54","UNK_PTR","",0x4), - 0x80B99A84:("jtbl_D_80B99A84","UNK_PTR","",0x4), - 0x80B99B00:("jtbl_D_80B99B00","UNK_PTR","",0x4), - 0x80B99B28:("jtbl_D_80B99B28","UNK_PTR","",0x4), + 0x80B99950:("jtbl_80B99950","UNK_PTR","",0x4), + 0x80B999AC:("jtbl_80B999AC","UNK_PTR","",0x4), + 0x80B999C4:("jtbl_80B999C4","UNK_PTR","",0x4), + 0x80B999F4:("jtbl_80B999F4","UNK_PTR","",0x4), + 0x80B99A3C:("jtbl_80B99A3C","UNK_PTR","",0x4), + 0x80B99A54:("jtbl_80B99A54","UNK_PTR","",0x4), + 0x80B99A84:("jtbl_80B99A84","UNK_PTR","",0x4), + 0x80B99B00:("jtbl_80B99B00","UNK_PTR","",0x4), + 0x80B99B28:("jtbl_80B99B28","UNK_PTR","",0x4), 0x80B99B4C:("D_80B99B4C","f32","",0x4), 0x80B99B50:("D_80B99B50","f32","",0x4), - 0x80B99B60:("enZotOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B99B74:("enZotOverlayRelocations","u32","[332]",0x530), - 0x80B9A0AC:("enZotOverlayInfoOffset","u32","",0x4), 0x80B9A550:("Obj_Tree_InitVars","UNK_TYPE1","",0x1), 0x80B9A570:("D_80B9A570","UNK_TYPE1","",0x1), 0x80B9A59C:("D_80B9A59C","UNK_TYPE1","",0x1), 0x80B9A5BC:("D_80B9A5BC","UNK_PTR","",0x4), 0x80B9A5D0:("D_80B9A5D0","f32","",0x4), - 0x80B9A5E0:("objTreeOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B9A5F4:("objTreeOverlayRelocations","u32","[20]",0x50), - 0x80B9A64C:("objTreeOverlayInfoOffset","u32","",0x4), 0x80B9A920:("Obj_Y2lift_InitVars","UNK_TYPE1","",0x1), 0x80B9A940:("D_80B9A940","UNK_TYPE1","",0x1), - 0x80B9A950:("objY2liftOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B9A964:("objY2liftOverlayRelocations","u32","[6]",0x18), - 0x80B9A97C:("objY2liftOverlayInfoOffset","u32","",0x4), 0x80B9AE50:("Obj_Y2shutter_InitVars","UNK_TYPE1","",0x1), 0x80B9AE70:("D_80B9AE70","UNK_TYPE1","",0x1), 0x80B9AE8C:("D_80B9AE8C","UNK_TYPE1","",0x1), @@ -17083,14 +15673,8 @@ 0x80B9AE8E:("D_80B9AE8E","UNK_TYPE1","",0x1), 0x80B9AEAE:("D_80B9AEAE","UNK_TYPE1","",0x1), 0x80B9AEB0:("D_80B9AEB0","UNK_TYPE1","",0x1), - 0x80B9AEC0:("objY2shutterOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B9AED4:("objY2shutterOverlayRelocations","u32","[28]",0x70), - 0x80B9AF4C:("objY2shutterOverlayInfoOffset","u32","",0x4), 0x80B9B660:("Obj_Boat_InitVars","UNK_TYPE1","",0x1), 0x80B9B680:("D_80B9B680","UNK_TYPE1","",0x1), - 0x80B9B690:("objBoatOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B9B6A4:("objBoatOverlayRelocations","u32","[12]",0x30), - 0x80B9B6DC:("objBoatOverlayInfoOffset","u32","",0x4), 0x80B9C320:("Obj_Taru_InitVars","UNK_TYPE1","",0x1), 0x80B9C340:("D_80B9C340","UNK_TYPE1","",0x1), 0x80B9C36C:("D_80B9C36C","UNK_TYPE1","",0x1), @@ -17102,16 +15686,13 @@ 0x80B9C394:("D_80B9C394","f32","",0x4), 0x80B9C398:("D_80B9C398","f32","",0x4), 0x80B9C39C:("D_80B9C39C","f32","",0x4), - 0x80B9C3A0:("objTaruOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B9C3B4:("objTaruOverlayRelocations","u32","[38]",0x98), - 0x80B9C44C:("objTaruOverlayInfoOffset","u32","",0x4), 0x80B9DC70:("D_80B9DC70","UNK_TYPE1","",0x1), 0x80B9DC8C:("Obj_Hunsui_InitVars","UNK_TYPE1","",0x1), 0x80B9DCAC:("D_80B9DCAC","UNK_TYPE1","",0x1), 0x80B9DCC0:("D_80B9DCC0","f32","",0x4), 0x80B9DCC4:("D_80B9DCC4","f32","",0x4), - 0x80B9DCC8:("jtbl_D_80B9DCC8","UNK_PTR","",0x4), - 0x80B9DCE0:("jtbl_D_80B9DCE0","UNK_PTR","",0x4), + 0x80B9DCC8:("jtbl_80B9DCC8","UNK_PTR","",0x4), + 0x80B9DCE0:("jtbl_80B9DCE0","UNK_PTR","",0x4), 0x80B9DCFC:("D_80B9DCFC","f32","",0x4), 0x80B9DD00:("D_80B9DD00","f32","",0x4), 0x80B9DD04:("D_80B9DD04","f32","",0x4), @@ -17119,9 +15700,6 @@ 0x80B9DD0C:("D_80B9DD0C","f32","",0x4), 0x80B9DD10:("D_80B9DD10","f32","",0x4), 0x80B9DD14:("D_80B9DD14","f32","",0x4), - 0x80B9DD20:("objHunsuiOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B9DD34:("objHunsuiOverlayRelocations","u32","[99]",0x18c), - 0x80B9DECC:("objHunsuiOverlayInfoOffset","u32","",0x4), 0x80B9DED0:("D_80B9DED0","UNK_TYPE1","",0x1), 0x80B9DED4:("D_80B9DED4","UNK_TYPE1","",0x1), 0x80B9DED8:("D_80B9DED8","UNK_TYPE1","",0x1), @@ -17131,9 +15709,6 @@ 0x80B9E210:("D_80B9E210","UNK_TYPE1","",0x1), 0x80B9E23C:("D_80B9E23C","UNK_TYPE1","",0x1), 0x80B9E25C:("D_80B9E25C","UNK_TYPE1","",0x1), - 0x80B9E270:("enJcMatoOverlayInfo","OverlayRelocationSection","",0x14), - 0x80B9E284:("enJcMatoOverlayRelocations","u32","[14]",0x38), - 0x80B9E2BC:("enJcMatoOverlayInfoOffset","u32","",0x4), 0x80B9F400:("Mir_Ray3_InitVars","UNK_TYPE1","",0x1), 0x80B9F420:("D_80B9F420","UNK_TYPE1","",0x1), 0x80B9F470:("D_80B9F470","UNK_TYPE1","",0x1), @@ -17147,31 +15722,22 @@ 0x80B9F4BC:("D_80B9F4BC","f32","",0x4), 0x80B9F4C0:("D_80B9F4C0","f32","",0x4), 0x80B9F4C4:("D_80B9F4C4","f32","",0x4), - 0x80B9F4D0:("mirRay3OverlayInfo","OverlayRelocationSection","",0x14), - 0x80B9F4E4:("mirRay3OverlayRelocations","u32","[32]",0x80), - 0x80B9F56C:("mirRay3OverlayInfoOffset","u32","",0x4), 0x80BA10B0:("En_Zob_InitVars","UNK_TYPE1","",0x1), 0x80BA10D0:("D_80BA10D0","UNK_TYPE1","",0x1), 0x80BA10FC:("D_80BA10FC","UNK_TYPE1","",0x1), 0x80BA1120:("D_80BA1120","UNK_TYPE1","",0x1), - 0x80BA1130:("jtbl_D_80BA1130","UNK_PTR","",0x4), + 0x80BA1130:("jtbl_80BA1130","UNK_PTR","",0x4), 0x80BA1148:("D_80BA1148","f32","",0x4), 0x80BA114C:("D_80BA114C","f32","",0x4), - 0x80BA1150:("jtbl_D_80BA1150","UNK_PTR","",0x4), - 0x80BA1194:("jtbl_D_80BA1194","UNK_PTR","",0x4), - 0x80BA1210:("enZobOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BA1224:("enZobOverlayRelocations","u32","[219]",0x36c), - 0x80BA159C:("enZobOverlayInfoOffset","u32","",0x4), + 0x80BA1150:("jtbl_80BA1150","UNK_PTR","",0x4), + 0x80BA1194:("jtbl_80BA1194","UNK_PTR","",0x4), 0x80BA22E0:("Elf_Msg6_InitVars","UNK_TYPE1","",0x1), 0x80BA2300:("D_80BA2300","UNK_TYPE1","",0x1), 0x80BA2310:("D_80BA2310","f32","",0x4), 0x80BA2314:("D_80BA2314","f32","",0x4), 0x80BA2318:("D_80BA2318","f32","",0x4), 0x80BA231C:("D_80BA231C","f32","",0x4), - 0x80BA2320:("jtbl_D_80BA2320","UNK_PTR","",0x4), - 0x80BA2340:("elfMsg6OverlayInfo","OverlayRelocationSection","",0x14), - 0x80BA2354:("elfMsg6OverlayRelocations","u32","[50]",0xc8), - 0x80BA241C:("elfMsg6OverlayInfoOffset","u32","",0x4), + 0x80BA2320:("jtbl_80BA2320","UNK_PTR","",0x4), 0x80BA3490:("Obj_Nozoki_InitVars","UNK_TYPE1","",0x1), 0x80BA34B0:("D_80BA34B0","UNK_TYPE1","",0x1), 0x80BA34B8:("D_80BA34B8","UNK_TYPE1","",0x1), @@ -17183,9 +15749,6 @@ 0x80BA34FC:("D_80BA34FC","UNK_TYPE1","",0x1), 0x80BA3510:("D_80BA3510","f32","",0x4), 0x80BA3514:("D_80BA3514","f32","",0x4), - 0x80BA3520:("objNozokiOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BA3534:("objNozokiOverlayRelocations","u32","[94]",0x178), - 0x80BA36AC:("objNozokiOverlayInfoOffset","u32","",0x4), 0x80BA36B0:("D_80BA36B0","UNK_TYPE1","",0x1), 0x80BA36B4:("D_80BA36B4","UNK_TYPE1","",0x1), 0x80BA36B8:("D_80BA36B8","f32","",0x4), @@ -17213,9 +15776,6 @@ 0x80BA51C4:("D_80BA51C4","UNK_TYPE4","",0x4), 0x80BA51D0:("D_80BA51D0","f32","",0x4), 0x80BA51D4:("D_80BA51D4","f32","",0x4), - 0x80BA51E0:("enTotoOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BA51F4:("enTotoOverlayRelocations","u32","[128]",0x200), - 0x80BA53FC:("enTotoOverlayInfoOffset","u32","",0x4), 0x80BA80A0:("En_Railgibud_InitVars","UNK_TYPE1","",0x1), 0x80BA80C0:("D_80BA80C0","UNK_PTR","",0x4), 0x80BA82A0:("D_80BA82A0","UNK_TYPE1","",0x1), @@ -17234,15 +15794,12 @@ 0x80BA8344:("D_80BA8344","f32","",0x4), 0x80BA8348:("D_80BA8348","f32","",0x4), 0x80BA834C:("D_80BA834C","f32","",0x4), - 0x80BA8350:("jtbl_D_80BA8350","UNK_PTR","",0x4), + 0x80BA8350:("jtbl_80BA8350","UNK_PTR","",0x4), 0x80BA838C:("D_80BA838C","f32","",0x4), - 0x80BA8390:("jtbl_D_80BA8390","UNK_PTR","",0x4), + 0x80BA8390:("jtbl_80BA8390","UNK_PTR","",0x4), 0x80BA83AC:("D_80BA83AC","f32","",0x4), - 0x80BA83B0:("jtbl_D_80BA83B0","UNK_PTR","",0x4), - 0x80BA83C4:("jtbl_D_80BA83C4","UNK_PTR","",0x4), - 0x80BA83E0:("enRailgibudOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BA83F4:("enRailgibudOverlayRelocations","u32","[265]",0x424), - 0x80BA881C:("enRailgibudOverlayInfoOffset","u32","",0x4), + 0x80BA83B0:("jtbl_80BA83B0","UNK_PTR","",0x4), + 0x80BA83C4:("jtbl_80BA83C4","UNK_PTR","",0x4), 0x80BAA380:("En_Baba_InitVars","UNK_TYPE1","",0x1), 0x80BAA3A0:("D_80BAA3A0","UNK_TYPE4","",0x4), 0x80BAA430:("D_80BAA430","UNK_TYPE1","",0x1), @@ -17252,13 +15809,10 @@ 0x80BAA4A8:("D_80BAA4A8","UNK_TYPE1","",0x1), 0x80BAA4B4:("D_80BAA4B4","UNK_TYPE1","",0x1), 0x80BAA4D4:("D_80BAA4D4","UNK_TYPE4","",0x4), - 0x80BAA4E0:("jtbl_D_80BAA4E0","UNK_PTR","",0x4), + 0x80BAA4E0:("jtbl_80BAA4E0","UNK_PTR","",0x4), 0x80BAA504:("D_80BAA504","f32","",0x4), 0x80BAA508:("D_80BAA508","f32","",0x4), 0x80BAA50C:("D_80BAA50C","f32","",0x4), - 0x80BAA510:("enBabaOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BAA524:("enBabaOverlayRelocations","u32","[106]",0x1a8), - 0x80BAA6CC:("enBabaOverlayInfoOffset","u32","",0x4), 0x80BAE6B0:("En_Suttari_InitVars","UNK_TYPE1","",0x1), 0x80BAE6D0:("sAnimations","UNK_TYPE4","",0x4), 0x80BAE7A8:("sCylinderInit","UNK_TYPE1","",0x1), @@ -17271,22 +15825,19 @@ 0x80BAE944:("D_80BAE944","UNK_TYPE4","",0x4), 0x80BAE950:("D_80BAE950","UNK_TYPE1","",0x1), 0x80BAE95C:("D_80BAE95C","UNK_TYPE1","",0x1), - 0x80BAE970:("jtbl_D_80BAE970","UNK_PTR","",0x4), - 0x80BAE990:("jtbl_D_80BAE990","UNK_PTR","",0x4), - 0x80BAE9B4:("jtbl_D_80BAE9B4","UNK_PTR","",0x4), - 0x80BAE9D8:("jtbl_D_80BAE9D8","UNK_PTR","",0x4), + 0x80BAE970:("jtbl_80BAE970","UNK_PTR","",0x4), + 0x80BAE990:("jtbl_80BAE990","UNK_PTR","",0x4), + 0x80BAE9B4:("jtbl_80BAE9B4","UNK_PTR","",0x4), + 0x80BAE9D8:("jtbl_80BAE9D8","UNK_PTR","",0x4), 0x80BAEA04:("D_80BAEA04","f32","",0x4), 0x80BAEA08:("D_80BAEA08","f32","",0x4), 0x80BAEA0C:("D_80BAEA0C","f32","",0x4), 0x80BAEA10:("D_80BAEA10","f32","",0x4), - 0x80BAEA14:("jtbl_D_80BAEA14","UNK_PTR","",0x4), - 0x80BAEA50:("jtbl_D_80BAEA50","UNK_PTR","",0x4), + 0x80BAEA14:("jtbl_80BAEA14","UNK_PTR","",0x4), + 0x80BAEA50:("jtbl_80BAEA50","UNK_PTR","",0x4), 0x80BAEA8C:("D_80BAEA8C","f32","",0x4), 0x80BAEA90:("D_80BAEA90","f32","",0x4), 0x80BAEA94:("D_80BAEA94","f32","",0x4), - 0x80BAEAA0:("enSuttariOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BAEAB4:("enSuttariOverlayRelocations","u32","[300]",0x4b0), - 0x80BAEF6C:("enSuttariOverlayInfoOffset","u32","",0x4), 0x80BB0520:("En_Zod_InitVars","UNK_TYPE1","",0x1), 0x80BB0540:("D_80BB0540","UNK_TYPE1","",0x1), 0x80BB056C:("D_80BB056C","UNK_TYPE1","",0x1), @@ -17305,17 +15856,11 @@ 0x80BB0658:("D_80BB0658","f32","",0x4), 0x80BB065C:("D_80BB065C","f32","",0x4), 0x80BB0660:("D_80BB0660","f32","",0x4), - 0x80BB0664:("jtbl_D_80BB0664","UNK_PTR","",0x4), - 0x80BB06A0:("jtbl_D_80BB06A0","UNK_PTR","",0x4), - 0x80BB06D0:("enZodOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BB06E4:("enZodOverlayRelocations","u32","[126]",0x1f8), - 0x80BB08DC:("enZodOverlayInfoOffset","u32","",0x4), + 0x80BB0664:("jtbl_80BB0664","UNK_PTR","",0x4), + 0x80BB06A0:("jtbl_80BB06A0","UNK_PTR","",0x4), 0x80BB1500:("En_Kujiya_InitVars","UNK_TYPE1","",0x1), - 0x80BB1520:("jtbl_D_80BB1520","UNK_PTR","",0x4), - 0x80BB154C:("jtbl_D_80BB154C","UNK_PTR","",0x4), - 0x80BB15A0:("enKujiyaOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BB15B4:("enKujiyaOverlayRelocations","u32","[68]",0x110), - 0x80BB16CC:("enKujiyaOverlayInfoOffset","u32","",0x4), + 0x80BB1520:("jtbl_80BB1520","UNK_PTR","",0x4), + 0x80BB154C:("jtbl_80BB154C","UNK_PTR","",0x4), 0x80BB3E50:("En_Geg_InitVars","UNK_TYPE1","",0x1), 0x80BB3E70:("D_80BB3E70","UNK_TYPE1","",0x1), 0x80BB3E9C:("D_80BB3E9C","UNK_TYPE1","",0x1), @@ -17328,31 +15873,22 @@ 0x80BB4070:("D_80BB4070","UNK_TYPE4","",0x4), 0x80BB407C:("D_80BB407C","UNK_TYPE1","",0x1), 0x80BB4088:("D_80BB4088","UNK_TYPE1","",0x1), - 0x80BB40A0:("jtbl_D_80BB40A0","UNK_PTR","",0x4), - 0x80BB4150:("jtbl_D_80BB4150","UNK_PTR","",0x4), - 0x80BB4208:("jtbl_D_80BB4208","UNK_PTR","",0x4), + 0x80BB40A0:("jtbl_80BB40A0","UNK_PTR","",0x4), + 0x80BB4150:("jtbl_80BB4150","UNK_PTR","",0x4), + 0x80BB4208:("jtbl_80BB4208","UNK_PTR","",0x4), 0x80BB42AC:("D_80BB42AC","f32","",0x4), 0x80BB42B0:("D_80BB42B0","f32","",0x4), 0x80BB42B4:("D_80BB42B4","f32","",0x4), - 0x80BB42C0:("enGegOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BB42D4:("enGegOverlayRelocations","u32","[263]",0x41c), - 0x80BB46FC:("enGegOverlayInfoOffset","u32","",0x4), 0x80BB4A70:("Obj_Kinoko_InitVars","UNK_TYPE1","",0x1), 0x80BB4A90:("D_80BB4A90","f32","",0x4), 0x80BB4A94:("D_80BB4A94","f32","",0x4), 0x80BB4A98:("D_80BB4A98","f32","",0x4), - 0x80BB4AA0:("objKinokoOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BB4AB4:("objKinokoOverlayRelocations","u32","[12]",0x30), - 0x80BB4AEC:("objKinokoOverlayInfoOffset","u32","",0x4), 0x80BB4D70:("Obj_Yasi_InitVars","UNK_TYPE1","",0x1), 0x80BB4D90:("D_80BB4D90","UNK_TYPE1","",0x1), 0x80BB4DA0:("D_80BB4DA0","f32","",0x4), 0x80BB4DA4:("D_80BB4DA4","f32","",0x4), 0x80BB4DA8:("D_80BB4DA8","f32","",0x4), 0x80BB4DAC:("D_80BB4DAC","f32","",0x4), - 0x80BB4DB0:("objYasiOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BB4DC4:("objYasiOverlayRelocations","u32","[14]",0x38), - 0x80BB4DFC:("objYasiOverlayInfoOffset","u32","",0x4), 0x80BB5E00:("En_Tanron1_InitVars","UNK_TYPE1","",0x1), 0x80BB5E28:("D_80BB5E28","UNK_TYPE1","",0x1), 0x80BB6228:("D_80BB6228","UNK_TYPE1","",0x1), @@ -17364,9 +15900,6 @@ 0x80BB6728:("D_80BB6728","f32","",0x4), 0x80BB672C:("D_80BB672C","f32","",0x4), 0x80BB6730:("D_80BB6730","f32","",0x4), - 0x80BB6740:("enTanron1OverlayInfo","OverlayRelocationSection","",0x14), - 0x80BB6754:("enTanron1OverlayRelocations","u32","[30]",0x78), - 0x80BB67CC:("enTanron1OverlayInfoOffset","u32","",0x4), 0x80BB8150:("En_Tanron2_InitVars","UNK_TYPE1","",0x1), 0x80BB8170:("D_80BB8170","UNK_TYPE1","",0x1), 0x80BB8190:("D_80BB8190","UNK_TYPE1","",0x1), @@ -17385,9 +15918,6 @@ 0x80BB8214:("D_80BB8214","f32","",0x4), 0x80BB8218:("D_80BB8218","f32","",0x4), 0x80BB821C:("D_80BB821C","f32","",0x4), - 0x80BB8220:("enTanron2OverlayInfo","OverlayRelocationSection","",0x14), - 0x80BB8234:("enTanron2OverlayRelocations","u32","[132]",0x210), - 0x80BB844C:("enTanron2OverlayInfoOffset","u32","",0x4), 0x80BB8450:("D_80BB8450","UNK_TYPE4","",0x4), 0x80BB8454:("D_80BB8454","f32","",0x4), 0x80BB8458:("D_80BB8458","UNK_TYPE4","",0x4), @@ -17409,9 +15939,6 @@ 0x80BB97CC:("D_80BB97CC","f32","",0x4), 0x80BB97D0:("D_80BB97D0","f32","",0x4), 0x80BB97D4:("D_80BB97D4","f32","",0x4), - 0x80BB97E0:("enTanron3OverlayInfo","OverlayRelocationSection","",0x14), - 0x80BB97F4:("enTanron3OverlayRelocations","u32","[58]",0xe8), - 0x80BB98DC:("enTanron3OverlayInfoOffset","u32","",0x4), 0x80BBAB10:("Obj_Chan_InitVars","UNK_TYPE1","",0x1), 0x80BBAB30:("D_80BBAB30","UNK_TYPE1","",0x1), 0x80BBAB5C:("D_80BBAB5C","UNK_TYPE1","",0x1), @@ -17427,9 +15954,6 @@ 0x80BBAB9C:("D_80BBAB9C","f32","",0x4), 0x80BBABA0:("D_80BBABA0","f32","",0x4), 0x80BBABA4:("D_80BBABA4","f32","",0x4), - 0x80BBABB0:("objChanOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BBABC4:("objChanOverlayRelocations","u32","[48]",0xc0), - 0x80BBAC8C:("objChanOverlayInfoOffset","u32","",0x4), 0x80BBAC90:("D_80BBAC90","UNK_TYPE1","",0x1), 0x80BBC6D0:("En_Zos_InitVars","UNK_TYPE1","",0x1), 0x80BBC6F0:("D_80BBC6F0","UNK_TYPE1","",0x1), @@ -17437,27 +15961,21 @@ 0x80BBC750:("D_80BBC750","UNK_TYPE1","",0x1), 0x80BBC75C:("D_80BBC75C","UNK_TYPE1","",0x1), 0x80BBC770:("D_80BBC770","f32","",0x4), - 0x80BBC774:("jtbl_D_80BBC774","UNK_PTR","",0x4), - 0x80BBC7E0:("enZosOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BBC7F4:("enZosOverlayRelocations","u32","[162]",0x288), - 0x80BBCA7C:("enZosOverlayInfoOffset","u32","",0x4), + 0x80BBC774:("jtbl_80BBC774","UNK_PTR","",0x4), 0x80BBF800:("En_S_Goro_InitVars","UNK_TYPE1","",0x1), 0x80BBF820:("D_80BBF820","UNK_TYPE1","",0x1), 0x80BBF84C:("D_80BBF84C","UNK_TYPE1","",0x1), 0x80BBF858:("D_80BBF858","UNK_TYPE1","",0x1), 0x80BBF878:("D_80BBF878","UNK_TYPE1","",0x1), 0x80BBF978:("D_80BBF978","UNK_TYPE1","",0x1), - 0x80BBF990:("jtbl_D_80BBF990","UNK_PTR","",0x4), - 0x80BBF9B4:("jtbl_D_80BBF9B4","UNK_PTR","",0x4), + 0x80BBF990:("jtbl_80BBF990","UNK_PTR","",0x4), + 0x80BBF9B4:("jtbl_80BBF9B4","UNK_PTR","",0x4), 0x80BBFA34:("D_80BBFA34","f32","",0x4), 0x80BBFA38:("D_80BBFA38","f32","",0x4), 0x80BBFA3C:("D_80BBFA3C","f32","",0x4), 0x80BBFA40:("D_80BBFA40","f32","",0x4), 0x80BBFA44:("D_80BBFA44","f32","",0x4), - 0x80BBFA48:("jtbl_D_80BBFA48","UNK_PTR","",0x4), - 0x80BBFA70:("enSGoroOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BBFA84:("enSGoroOverlayRelocations","u32","[202]",0x328), - 0x80BBFDAC:("enSGoroOverlayInfoOffset","u32","",0x4), + 0x80BBFA48:("jtbl_80BBFA48","UNK_PTR","",0x4), 0x80BC13F0:("D_80BC13F0","UNK_TYPE1","",0x1), 0x80BC1464:("D_80BC1464","UNK_TYPE1","",0x1), 0x80BC1574:("D_80BC1574","UNK_TYPE1","",0x1), @@ -17466,12 +15984,9 @@ 0x80BC15F0:("D_80BC15F0","UNK_TYPE1","",0x1), 0x80BC161C:("D_80BC161C","UNK_TYPE1","",0x1), 0x80BC1628:("D_80BC1628","UNK_TYPE1","",0x1), - 0x80BC1690:("jtbl_D_80BC1690","UNK_PTR","",0x4), - 0x80BC16B8:("jtbl_D_80BC16B8","UNK_PTR","",0x4), - 0x80BC16D0:("jtbl_D_80BC16D0","UNK_PTR","",0x4), - 0x80BC1720:("enNbOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BC1734:("enNbOverlayRelocations","u32","[112]",0x1c0), - 0x80BC18FC:("enNbOverlayInfoOffset","u32","",0x4), + 0x80BC1690:("jtbl_80BC1690","UNK_PTR","",0x4), + 0x80BC16B8:("jtbl_80BC16B8","UNK_PTR","",0x4), + 0x80BC16D0:("jtbl_80BC16D0","UNK_PTR","",0x4), 0x80BC35F0:("D_80BC35F0","UNK_TYPE1","",0x1), 0x80BC360C:("D_80BC360C","UNK_TYPE1","",0x1), 0x80BC362C:("D_80BC362C","UNK_TYPE1","",0x1), @@ -17500,16 +16015,10 @@ 0x80BC37D0:("D_80BC37D0","f32","",0x4), 0x80BC37D4:("D_80BC37D4","f32","",0x4), 0x80BC37D8:("D_80BC37D8","f32","",0x4), - 0x80BC37E0:("enJaOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BC37F4:("enJaOverlayRelocations","u32","[96]",0x180), - 0x80BC397C:("enJaOverlayInfoOffset","u32","",0x4), 0x80BC4600:("Bg_F40_Block_InitVars","UNK_TYPE1","",0x1), 0x80BC4620:("D_80BC4620","UNK_TYPE1","",0x1), 0x80BC4668:("D_80BC4668","UNK_TYPE1","",0x1), - 0x80BC4680:("jtbl_D_80BC4680","UNK_PTR","",0x4), - 0x80BC46A0:("bgF40BlockOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BC46B4:("bgF40BlockOverlayRelocations","u32","[60]",0xf0), - 0x80BC47AC:("bgF40BlockOverlayInfoOffset","u32","",0x4), + 0x80BC4680:("jtbl_80BC4680","UNK_PTR","",0x4), 0x80BC4DD0:("Bg_F40_Switch_InitVars","UNK_TYPE1","",0x1), 0x80BC4DF0:("D_80BC4DF0","UNK_TYPE4","",0x4), 0x80BC4DF4:("D_80BC4DF4","UNK_TYPE4","",0x4), @@ -17521,9 +16030,6 @@ 0x80BC4E30:("D_80BC4E30","f32","",0x4), 0x80BC4E34:("D_80BC4E34","f32","",0x4), 0x80BC4E38:("D_80BC4E38","f32","",0x4), - 0x80BC4E40:("bgF40SwitchOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BC4E54:("bgF40SwitchOverlayRelocations","u32","[49]",0xc4), - 0x80BC4F1C:("bgF40SwitchOverlayInfoOffset","u32","",0x4), 0x80BC4F20:("D_80BC4F20","UNK_TYPE1","",0x1), 0x80BC6760:("En_Po_Composer_InitVars","UNK_TYPE1","",0x1), 0x80BC6780:("D_80BC6780","UNK_TYPE1","",0x1), @@ -17540,13 +16046,10 @@ 0x80BC6954:("D_80BC6954","UNK_TYPE1","",0x1), 0x80BC6958:("D_80BC6958","UNK_TYPE1","",0x1), 0x80BC695C:("D_80BC695C","UNK_TYPE4","",0x4), - 0x80BC6960:("jtbl_D_80BC6960","UNK_PTR","",0x4), + 0x80BC6960:("jtbl_80BC6960","UNK_PTR","",0x4), 0x80BC6988:("D_80BC6988","f32","",0x4), 0x80BC698C:("D_80BC698C","f32","",0x4), 0x80BC6990:("D_80BC6990","f32","",0x4), - 0x80BC69A0:("enPoComposerOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BC69B4:("enPoComposerOverlayRelocations","u32","[142]",0x238), - 0x80BC6BEC:("enPoComposerOverlayInfoOffset","u32","",0x4), 0x80BC7960:("En_Guruguru_InitVars","UNK_TYPE1","",0x1), 0x80BC7980:("D_80BC7980","UNK_TYPE1","",0x1), 0x80BC79A0:("D_80BC79A0","UNK_TYPE1","",0x1), @@ -17555,9 +16058,6 @@ 0x80BC79D8:("D_80BC79D8","UNK_TYPE1","",0x1), 0x80BC79E0:("D_80BC79E0","UNK_TYPE1","",0x1), 0x80BC79E8:("D_80BC79E8","UNK_TYPE1","",0x1), - 0x80BC79F0:("enGuruguruOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BC7A04:("enGuruguruOverlayRelocations","u32","[47]",0xbc), - 0x80BC7ACC:("enGuruguruOverlayInfoOffset","u32","",0x4), 0x80BC7EF0:("Oceff_Wipe5_InitVars","UNK_TYPE1","",0x1), 0x80BC7F10:("D_80BC7F10","UNK_TYPE1","",0x1), 0x80BC7F18:("D_80BC7F18","UNK_TYPE1","",0x1), @@ -17578,9 +16078,6 @@ 0x80BC91B0:("D_80BC91B0","f32","",0x4), 0x80BC91B4:("D_80BC91B4","f32","",0x4), 0x80BC91B8:("D_80BC91B8","f32","",0x4), - 0x80BC91C0:("oceffWipe5OverlayInfo","OverlayRelocationSection","",0x14), - 0x80BC91D4:("oceffWipe5OverlayRelocations","u32","[32]",0x80), - 0x80BC925C:("oceffWipe5OverlayInfoOffset","u32","",0x4), 0x80BCA380:("En_Stone_heishi_InitVars","UNK_TYPE1","",0x1), 0x80BCA3A0:("D_80BCA3A0","UNK_TYPE1","",0x1), 0x80BCA3CC:("D_80BCA3CC","UNK_TYPE1","",0x1), @@ -17590,10 +16087,7 @@ 0x80BCA404:("D_80BCA404","f32","",0x4), 0x80BCA408:("D_80BCA408","f32","",0x4), 0x80BCA40C:("D_80BCA40C","f32","",0x4), - 0x80BCA410:("jtbl_D_80BCA410","UNK_PTR","",0x4), - 0x80BCA430:("enStoneheishiOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BCA444:("enStoneheishiOverlayRelocations","u32","[85]",0x154), - 0x80BCA59C:("enStoneheishiOverlayInfoOffset","u32","",0x4), + 0x80BCA410:("jtbl_80BCA410","UNK_PTR","",0x4), 0x80BCA8B0:("Oceff_Wipe6_InitVars","UNK_TYPE1","",0x1), 0x80BCA8D0:("D_80BCA8D0","UNK_TYPE1","",0x1), 0x80BCA8D8:("D_80BCA8D8","UNK_TYPE1","",0x1), @@ -17610,9 +16104,6 @@ 0x80BCAB60:("D_80BCAB60","f32","",0x4), 0x80BCAB64:("D_80BCAB64","f32","",0x4), 0x80BCAB68:("D_80BCAB68","f32","",0x4), - 0x80BCAB70:("oceffWipe6OverlayInfo","OverlayRelocationSection","",0x14), - 0x80BCAB84:("oceffWipe6OverlayRelocations","u32","[26]",0x68), - 0x80BCABEC:("oceffWipe6OverlayInfoOffset","u32","",0x4), 0x80BCCB20:("En_Scopenuts_InitVars","UNK_TYPE1","",0x1), 0x80BCCB40:("D_80BCCB40","UNK_TYPE1","",0x1), 0x80BCCB6C:("D_80BCCB6C","UNK_TYPE1","",0x1), @@ -17620,7 +16111,7 @@ 0x80BCCCE4:("D_80BCCCE4","UNK_TYPE1","",0x1), 0x80BCCCF0:("D_80BCCCF0","UNK_TYPE1","",0x1), 0x80BCCD00:("D_80BCCD00","f32","",0x4), - 0x80BCCD04:("jtbl_D_80BCCD04","UNK_PTR","",0x4), + 0x80BCCD04:("jtbl_80BCCD04","UNK_PTR","",0x4), 0x80BCCD40:("D_80BCCD40","f32","",0x4), 0x80BCCD44:("D_80BCCD44","f32","",0x4), 0x80BCCD48:("D_80BCCD48","f32","",0x4), @@ -17635,19 +16126,13 @@ 0x80BCCD6C:("D_80BCCD6C","f32","",0x4), 0x80BCCD70:("D_80BCCD70","f32","",0x4), 0x80BCCD74:("D_80BCCD74","f32","",0x4), - 0x80BCCD80:("enScopenutsOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BCCD94:("enScopenutsOverlayRelocations","u32","[151]",0x25c), - 0x80BCCFFC:("enScopenutsOverlayInfoOffset","u32","",0x4), 0x80BCDB50:("En_Scopecrow_InitVars","UNK_TYPE1","",0x1), 0x80BCDB70:("D_80BCDB70","UNK_TYPE1","",0x1), 0x80BCDB94:("D_80BCDB94","UNK_TYPE1","",0x1), 0x80BCDBA0:("D_80BCDBA0","UNK_PTR","",0x4), - 0x80BCDBB0:("jtbl_D_80BCDBB0","UNK_PTR","",0x4), - 0x80BCDBC8:("jtbl_D_80BCDBC8","UNK_PTR","",0x4), + 0x80BCDBB0:("jtbl_80BCDBB0","UNK_PTR","",0x4), + 0x80BCDBC8:("jtbl_80BCDBC8","UNK_PTR","",0x4), 0x80BCDBE0:("D_80BCDBE0","f32","",0x4), - 0x80BCDBF0:("enScopecrowOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BCDC04:("enScopecrowOverlayRelocations","u32","[42]",0xa8), - 0x80BCDCAC:("enScopecrowOverlayInfoOffset","u32","",0x4), 0x80BCDFC0:("Oceff_Wipe7_InitVars","UNK_TYPE1","",0x1), 0x80BCDFE0:("D_80BCDFE0","UNK_TYPE1","",0x1), 0x80BCE7E0:("D_80BCE7E0","UNK_TYPE1","",0x1), @@ -17665,9 +16150,6 @@ 0x80BCEA70:("D_80BCEA70","f32","",0x4), 0x80BCEA74:("D_80BCEA74","f32","",0x4), 0x80BCEA78:("D_80BCEA78","f32","",0x4), - 0x80BCEA80:("oceffWipe7OverlayInfo","OverlayRelocationSection","",0x14), - 0x80BCEA94:("oceffWipe7OverlayRelocations","u32","[27]",0x6c), - 0x80BCEB0C:("oceffWipe7OverlayInfoOffset","u32","",0x4), 0x80BCF070:("Eff_Kamejima_Wave_InitVars","UNK_TYPE1","",0x1), 0x80BCF090:("D_80BCF090","UNK_TYPE1","",0x1), 0x80BCF0A0:("D_80BCF0A0","UNK_TYPE1","",0x1), @@ -17678,9 +16160,6 @@ 0x80BCF0C0:("D_80BCF0C0","f32","",0x4), 0x80BCF0C4:("D_80BCF0C4","f32","",0x4), 0x80BCF0C8:("D_80BCF0C8","f32","",0x4), - 0x80BCF0D0:("effKamejimaWaveOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BCF0E4:("effKamejimaWaveOverlayRelocations","u32","[52]",0xd0), - 0x80BCF1BC:("effKamejimaWaveOverlayInfoOffset","u32","",0x4), 0x80BCF1C0:("D_80BCF1C0","UNK_TYPE1","",0x1), 0x80BCF1C1:("D_80BCF1C1","UNK_TYPE1","",0x1), 0x80BCF1C4:("D_80BCF1C4","UNK_TYPE1","",0x1), @@ -17691,22 +16170,16 @@ 0x80BD0008:("D_80BD0008","UNK_TYPE1","",0x1), 0x80BD00C8:("D_80BD00C8","UNK_TYPE4","",0x4), 0x80BD00D0:("D_80BD00D0","f32","",0x4), - 0x80BD00D4:("jtbl_D_80BD00D4","UNK_PTR","",0x4), - 0x80BD00EC:("jtbl_D_80BD00EC","UNK_PTR","",0x4), - 0x80BD0100:("enHgOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BD0114:("enHgOverlayRelocations","u32","[101]",0x194), - 0x80BD02AC:("enHgOverlayInfoOffset","u32","",0x4), + 0x80BD00D4:("jtbl_80BD00D4","UNK_PTR","",0x4), + 0x80BD00EC:("jtbl_80BD00EC","UNK_PTR","",0x4), 0x80BD0E80:("En_Hgo_InitVars","UNK_TYPE1","",0x1), 0x80BD0EA0:("D_80BD0EA0","UNK_TYPE1","",0x1), 0x80BD0F48:("D_80BD0F48","UNK_TYPE1","",0x1), 0x80BD0F74:("D_80BD0F74","UNK_TYPE1","",0x1), 0x80BD0F80:("D_80BD0F80","UNK_TYPE1","",0x1), - 0x80BD0F90:("jtbl_D_80BD0F90","UNK_PTR","",0x4), - 0x80BD0FAC:("jtbl_D_80BD0FAC","UNK_PTR","",0x4), - 0x80BD1010:("jtbl_D_80BD1010","UNK_PTR","",0x4), - 0x80BD1030:("enHgoOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BD1044:("enHgoOverlayRelocations","u32","[101]",0x194), - 0x80BD11DC:("enHgoOverlayInfoOffset","u32","",0x4), + 0x80BD0F90:("jtbl_80BD0F90","UNK_PTR","",0x4), + 0x80BD0FAC:("jtbl_80BD0FAC","UNK_PTR","",0x4), + 0x80BD1010:("jtbl_80BD1010","UNK_PTR","",0x4), 0x80BD26C0:("En_Zov_InitVars","UNK_TYPE1","",0x1), 0x80BD26E0:("D_80BD26E0","UNK_TYPE1","",0x1), 0x80BD270C:("D_80BD270C","UNK_TYPE1","",0x1), @@ -17716,12 +16189,9 @@ 0x80BD2768:("D_80BD2768","UNK_TYPE1","",0x1), 0x80BD2770:("D_80BD2770","UNK_TYPE1","",0x1), 0x80BD2774:("D_80BD2774","UNK_TYPE1","",0x1), - 0x80BD2780:("jtbl_D_80BD2780","UNK_PTR","",0x4), - 0x80BD27B0:("jtbl_D_80BD27B0","UNK_PTR","",0x4), - 0x80BD27CC:("jtbl_D_80BD27CC","UNK_PTR","",0x4), - 0x80BD2800:("enZovOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BD2814:("enZovOverlayRelocations","u32","[134]",0x218), - 0x80BD2A2C:("enZovOverlayInfoOffset","u32","",0x4), + 0x80BD2780:("jtbl_80BD2780","UNK_PTR","",0x4), + 0x80BD27B0:("jtbl_80BD27B0","UNK_PTR","",0x4), + 0x80BD27CC:("jtbl_80BD27CC","UNK_PTR","",0x4), 0x80BD3DB0:("D_80BD3DB0","UNK_TYPE1","",0x1), 0x80BD3DE8:("D_80BD3DE8","UNK_TYPE1","",0x1), 0x80BD3DF0:("D_80BD3DF0","UNK_TYPE1","",0x1), @@ -17741,14 +16211,8 @@ 0x80BD3F00:("D_80BD3F00","UNK_TYPE1","",0x1), 0x80BD3F0C:("D_80BD3F0C","UNK_TYPE1","",0x1), 0x80BD3F14:("D_80BD3F14","UNK_TYPE1","",0x1), - 0x80BD3F30:("enAhOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BD3F44:("enAhOverlayRelocations","u32","[79]",0x13c), - 0x80BD408C:("enAhOverlayInfoOffset","u32","",0x4), 0x80BD4670:("Obj_Hgdoor_InitVars","UNK_TYPE1","",0x1), 0x80BD4690:("D_80BD4690","UNK_TYPE2","",0x2), - 0x80BD46A0:("objHgdoorOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BD46B4:("objHgdoorOverlayRelocations","u32","[25]",0x64), - 0x80BD471C:("objHgdoorOverlayInfoOffset","u32","",0x4), 0x80BD5250:("Bg_Ikana_Bombwall_InitVars","UNK_TYPE1","",0x1), 0x80BD5270:("D_80BD5270","UNK_TYPE1","",0x1), 0x80BD529C:("D_80BD529C","UNK_TYPE1","",0x1), @@ -17759,58 +16223,34 @@ 0x80BD52F4:("D_80BD52F4","f32","",0x4), 0x80BD52F8:("D_80BD52F8","f32","",0x4), 0x80BD52FC:("D_80BD52FC","f32","",0x4), - 0x80BD5300:("bgIkanaBombwallOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BD5314:("bgIkanaBombwallOverlayRelocations","u32","[39]",0x9c), - 0x80BD53BC:("bgIkanaBombwallOverlayInfoOffset","u32","",0x4), 0x80BD55D0:("Bg_Ikana_Ray_InitVars","ActorInit","",0x20), 0x80BD55F0:("bgIkanaRayCylinderInit","ColliderCylinderInit","",0x2c), 0x80BD561C:("bgIkanaRayCompInit","ActorInitVar","[4]",0x10), - 0x80BD5630:("bgIkanaRayOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BD5644:("bgIkanaRayOverlayRelocations","u32","[17]",0x44), - 0x80BD568C:("bgIkanaRayOverlayInfoOffset","u32","",0x4), 0x80BD5CF0:("Bg_Ikana_Shutter_InitVars","UNK_TYPE1","",0x1), 0x80BD5D10:("D_80BD5D10","UNK_TYPE1","",0x1), 0x80BD5D20:("D_80BD5D20","f32","",0x4), 0x80BD5D24:("D_80BD5D24","f32","",0x4), - 0x80BD5D30:("bgIkanaShutterOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BD5D44:("bgIkanaShutterOverlayRelocations","u32","[43]",0xac), - 0x80BD5DFC:("bgIkanaShutterOverlayInfoOffset","u32","",0x4), 0x80BD6480:("Bg_Haka_Bombwall_InitVars","UNK_TYPE1","",0x1), 0x80BD64A0:("D_80BD64A0","UNK_TYPE1","",0x1), 0x80BD64CC:("D_80BD64CC","UNK_TYPE2","",0x2), 0x80BD64D4:("D_80BD64D4","UNK_TYPE1","",0x1), 0x80BD64F0:("D_80BD64F0","f32","",0x4), - 0x80BD6500:("bgHakaBombwallOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BD6514:("bgHakaBombwallOverlayRelocations","u32","[23]",0x5c), - 0x80BD657C:("bgHakaBombwallOverlayInfoOffset","u32","",0x4), 0x80BD6880:("Bg_Haka_Tomb_InitVars","UNK_TYPE1","",0x1), 0x80BD68A0:("D_80BD68A0","UNK_TYPE1","",0x1), 0x80BD68A4:("D_80BD68A4","UNK_TYPE1","",0x1), - 0x80BD68B0:("bgHakaTombOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BD68C4:("bgHakaTombOverlayRelocations","u32","[18]",0x48), - 0x80BD690C:("bgHakaTombOverlayInfoOffset","u32","",0x4), 0x80BD6DF0:("En_Sc_Ruppe_InitVars","UNK_TYPE1","",0x1), 0x80BD6E10:("D_80BD6E10","UNK_TYPE1","",0x1), 0x80BD6E14:("D_80BD6E14","UNK_TYPE1","",0x1), 0x80BD6E40:("D_80BD6E40","UNK_TYPE1","",0x1), - 0x80BD6E70:("jtbl_D_80BD6E70","UNK_PTR","",0x4), + 0x80BD6E70:("jtbl_80BD6E70","UNK_PTR","",0x4), 0x80BD6E88:("D_80BD6E88","f32","",0x4), - 0x80BD6E90:("enScRuppeOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BD6EA4:("enScRuppeOverlayRelocations","u32","[26]",0x68), - 0x80BD6F0C:("enScRuppeOverlayInfoOffset","u32","",0x4), 0x80BD79C0:("Bg_Iknv_Doukutu_InitVars","UNK_TYPE1","",0x1), 0x80BD79E0:("D_80BD79E0","f32","",0x4), 0x80BD79E4:("D_80BD79E4","f32","",0x4), 0x80BD79E8:("D_80BD79E8","f32","",0x4), 0x80BD79EC:("D_80BD79EC","f32","",0x4), - 0x80BD79F0:("bgIknvDoukutuOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BD7A04:("bgIknvDoukutuOverlayRelocations","u32","[39]",0x9c), - 0x80BD7AAC:("bgIknvDoukutuOverlayInfoOffset","u32","",0x4), 0x80BD81D0:("Bg_Iknv_Obj_InitVars","ActorInit","",0x20), 0x80BD81F0:("BgIknvObjCollisionInit","ColliderCylinderInit","",0x2c), - 0x80BD8220:("bgIknvObjOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BD8234:("bgIknvObjOverlayRelocations","u32","[27]",0x6c), - 0x80BD82AC:("bgIknvObjOverlayInfoOffset","u32","",0x4), 0x80BDA460:("En_Pamera_InitVars","UNK_TYPE1","",0x1), 0x80BDA480:("D_80BDA480","UNK_TYPE1","",0x1), 0x80BDA4AC:("D_80BDA4AC","UNK_TYPE1","",0x1), @@ -17819,12 +16259,9 @@ 0x80BDA5FC:("D_80BDA5FC","UNK_TYPE1","",0x1), 0x80BDA604:("D_80BDA604","UNK_TYPE1","",0x1), 0x80BDA610:("D_80BDA610","UNK_TYPE1","",0x1), - 0x80BDA620:("jtbl_D_80BDA620","UNK_PTR","",0x4), - 0x80BDA63C:("jtbl_D_80BDA63C","UNK_PTR","",0x4), - 0x80BDA65C:("jtbl_D_80BDA65C","UNK_PTR","",0x4), - 0x80BDA680:("enPameraOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BDA694:("enPameraOverlayRelocations","u32","[228]",0x390), - 0x80BDAA2C:("enPameraOverlayInfoOffset","u32","",0x4), + 0x80BDA620:("jtbl_80BDA620","UNK_PTR","",0x4), + 0x80BDA63C:("jtbl_80BDA63C","UNK_PTR","",0x4), + 0x80BDA65C:("jtbl_80BDA65C","UNK_PTR","",0x4), 0x80BDAF60:("Obj_HsStump_InitVars","UNK_TYPE1","",0x1), 0x80BDAF80:("D_80BDAF80","UNK_TYPE1","",0x1), 0x80BDAF84:("iceSmokeAccel","Vec3f","",0xc), @@ -17833,9 +16270,6 @@ 0x80BDAF98:("D_80BDAF98","f32","",0x4), 0x80BDAF9C:("D_80BDAF9C","f32","",0x4), 0x80BDAFA0:("D_80BDAFA0","f32","",0x4), - 0x80BDAFB0:("objHsStumpOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BDAFC4:("objHsStumpOverlayRelocations","u32","[27]",0x6c), - 0x80BDB03C:("objHsStumpOverlayInfoOffset","u32","",0x4), 0x80BDC0B0:("En_Hidden_Nuts_InitVars","UNK_TYPE1","",0x1), 0x80BDC0D0:("D_80BDC0D0","UNK_TYPE1","",0x1), 0x80BDC0FC:("D_80BDC0FC","UNK_TYPE1","",0x1), @@ -17848,9 +16282,6 @@ 0x80BDC158:("D_80BDC158","UNK_TYPE1","",0x1), 0x80BDC164:("D_80BDC164","UNK_TYPE1","",0x1), 0x80BDC168:("D_80BDC168","UNK_TYPE1","",0x1), - 0x80BDC170:("enHiddenNutsOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BDC184:("enHiddenNutsOverlayRelocations","u32","[56]",0xe0), - 0x80BDC26C:("enHiddenNutsOverlayInfoOffset","u32","",0x4), 0x80BDDCD0:("En_Zow_InitVars","UNK_TYPE1","",0x1), 0x80BDDCF0:("D_80BDDCF0","UNK_TYPE1","",0x1), 0x80BDDD1C:("D_80BDDD1C","UNK_TYPE4","",0x4), @@ -17871,14 +16302,8 @@ 0x80BDDD8C:("D_80BDDD8C","f32","",0x4), 0x80BDDD90:("D_80BDDD90","f32","",0x4), 0x80BDDD94:("D_80BDDD94","f32","",0x4), - 0x80BDDD98:("jtbl_D_80BDDD98","UNK_PTR","",0x4), - 0x80BDDE00:("enZowOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BDDE14:("enZowOverlayRelocations","u32","[113]",0x1c4), - 0x80BDDFDC:("enZowOverlayInfoOffset","u32","",0x4), + 0x80BDDD98:("jtbl_80BDDD98","UNK_PTR","",0x4), 0x80BDE140:("En_Talk_InitVars","UNK_TYPE1","",0x1), - 0x80BDE160:("enTalkOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BDE174:("enTalkOverlayRelocations","u32","[9]",0x24), - 0x80BDE19C:("enTalkOverlayInfoOffset","u32","",0x4), 0x80BDFC70:("D_80BDFC70","UNK_TYPE1","",0x1), 0x80BDFCBC:("D_80BDFCBC","UNK_TYPE1","",0x1), 0x80BDFD14:("D_80BDFD14","UNK_TYPE1","",0x1), @@ -17897,15 +16322,12 @@ 0x80BE0070:("D_80BE0070","UNK_TYPE1","",0x1), 0x80BE007C:("D_80BE007C","UNK_TYPE4","",0x4), 0x80BE0094:("D_80BE0094","UNK_TYPE1","",0x1), - 0x80BE00A0:("jtbl_D_80BE00A0","UNK_PTR","",0x4), - 0x80BE00C8:("jtbl_D_80BE00C8","UNK_PTR","",0x4), - 0x80BE0110:("jtbl_D_80BE0110","UNK_PTR","",0x4), - 0x80BE014C:("jtbl_D_80BE014C","UNK_PTR","",0x4), - 0x80BE0160:("jtbl_D_80BE0160","UNK_PTR","",0x4), - 0x80BE0198:("jtbl_D_80BE0198","UNK_PTR","",0x4), - 0x80BE01D0:("enAlOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BE01E4:("enAlOverlayRelocations","u32","[188]",0x2f0), - 0x80BE04DC:("enAlOverlayInfoOffset","u32","",0x4), + 0x80BE00A0:("jtbl_80BE00A0","UNK_PTR","",0x4), + 0x80BE00C8:("jtbl_80BE00C8","UNK_PTR","",0x4), + 0x80BE0110:("jtbl_80BE0110","UNK_PTR","",0x4), + 0x80BE014C:("jtbl_80BE014C","UNK_PTR","",0x4), + 0x80BE0160:("jtbl_80BE0160","UNK_PTR","",0x4), + 0x80BE0198:("jtbl_80BE0198","UNK_PTR","",0x4), 0x80BE18D0:("D_80BE18D0","UNK_TYPE1","",0x1), 0x80BE1914:("D_80BE1914","UNK_TYPE1","",0x1), 0x80BE1940:("D_80BE1940","UNK_TYPE1","",0x1), @@ -17924,20 +16346,11 @@ 0x80BE1B10:("D_80BE1B10","UNK_TYPE1","",0x1), 0x80BE1B18:("D_80BE1B18","UNK_TYPE1","",0x1), 0x80BE1B24:("D_80BE1B24","UNK_TYPE1","",0x1), - 0x80BE1B40:("enTabOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BE1B54:("enTabOverlayRelocations","u32","[74]",0x128), - 0x80BE1C7C:("enTabOverlayInfoOffset","u32","",0x4), 0x80BE1F90:("En_Nimotsu_InitVars","UNK_TYPE1","",0x1), 0x80BE1FB0:("D_80BE1FB0","UNK_TYPE1","",0x1), 0x80BE1FE0:("D_80BE1FE0","f32","",0x4), - 0x80BE1FF0:("enNimotsuOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BE2004:("enNimotsuOverlayRelocations","u32","[9]",0x24), - 0x80BE202C:("enNimotsuOverlayInfoOffset","u32","",0x4), 0x80BE21D0:("En_Hit_Tag_InitVars","UNK_TYPE1","",0x1), 0x80BE21F0:("D_80BE21F0","UNK_TYPE1","",0x1), - 0x80BE2220:("enHitTagOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BE2234:("enHitTagOverlayRelocations","u32","[7]",0x1c), - 0x80BE225C:("enHitTagOverlayInfoOffset","u32","",0x4), 0x80BE3990:("En_Ruppecrow_InitVars","UNK_TYPE1","",0x1), 0x80BE39B0:("D_80BE39B0","UNK_TYPE1","",0x1), 0x80BE39D4:("D_80BE39D4","UNK_TYPE1","",0x1), @@ -17954,9 +16367,6 @@ 0x80BE3A38:("D_80BE3A38","f32","",0x4), 0x80BE3A3C:("D_80BE3A3C","f32","",0x4), 0x80BE3A40:("D_80BE3A40","f32","",0x4), - 0x80BE3A50:("enRuppecrowOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BE3A64:("enRuppecrowOverlayRelocations","u32","[68]",0x110), - 0x80BE3B7C:("enRuppecrowOverlayInfoOffset","u32","",0x4), 0x80BE4880:("En_Tanron4_InitVars","UNK_TYPE1","",0x1), 0x80BE48A0:("D_80BE48A0","f32","",0x4), 0x80BE48A4:("D_80BE48A4","f32","",0x4), @@ -17964,9 +16374,6 @@ 0x80BE48AC:("D_80BE48AC","f32","",0x4), 0x80BE48B0:("D_80BE48B0","f32","",0x4), 0x80BE48B4:("D_80BE48B4","f32","",0x4), - 0x80BE48C0:("enTanron4OverlayInfo","OverlayRelocationSection","",0x14), - 0x80BE48D4:("enTanron4OverlayRelocations","u32","[22]",0x58), - 0x80BE492C:("enTanron4OverlayInfoOffset","u32","",0x4), 0x80BE5D80:("D_80BE5D80","UNK_TYPE4","",0x4), 0x80BE5D84:("En_Tanron5_InitVars","UNK_TYPE1","",0x1), 0x80BE5DA4:("D_80BE5DA4","UNK_TYPE1","",0x1), @@ -17988,14 +16395,8 @@ 0x80BE5EFC:("D_80BE5EFC","f32","",0x4), 0x80BE5F00:("D_80BE5F00","f32","",0x4), 0x80BE5F04:("D_80BE5F04","f32","",0x4), - 0x80BE5F10:("enTanron5OverlayInfo","OverlayRelocationSection","",0x14), - 0x80BE5F24:("enTanron5OverlayRelocations","u32","[67]",0x10c), - 0x80BE603C:("enTanron5OverlayInfoOffset","u32","",0x4), 0x80BE6150:("En_Tanron6_InitVars","UNK_TYPE1","",0x1), 0x80BE6170:("D_80BE6170","UNK_TYPE1","",0x1), - 0x80BE6190:("enTanron6OverlayInfo","OverlayRelocationSection","",0x14), - 0x80BE61A4:("enTanron6OverlayRelocations","u32","[9]",0x24), - 0x80BE61CC:("enTanron6OverlayInfoOffset","u32","",0x4), 0x80BE78D0:("En_Daiku2_InitVars","UNK_TYPE1","",0x1), 0x80BE78F0:("D_80BE78F0","UNK_TYPE1","",0x1), 0x80BE7900:("D_80BE7900","UNK_TYPE1","",0x1), @@ -18006,40 +16407,25 @@ 0x80BE7978:("D_80BE7978","f32","",0x4), 0x80BE797C:("D_80BE797C","f32","",0x4), 0x80BE7980:("D_80BE7980","f32","",0x4), - 0x80BE7990:("enDaiku2OverlayInfo","OverlayRelocationSection","",0x14), - 0x80BE79A4:("enDaiku2OverlayRelocations","u32","[86]",0x158), - 0x80BE7AFC:("enDaiku2OverlayInfoOffset","u32","",0x4), 0x80BE83F0:("En_Muto_InitVars","UNK_TYPE1","",0x1), 0x80BE8410:("D_80BE8410","UNK_TYPE1","",0x1), 0x80BE841C:("D_80BE841C","UNK_TYPE1","",0x1), 0x80BE8448:("D_80BE8448","UNK_TYPE1","",0x1), 0x80BE8450:("D_80BE8450","UNK_TYPE1","",0x1), - 0x80BE8460:("enMutoOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BE8474:("enMutoOverlayRelocations","u32","[27]",0x6c), - 0x80BE84EC:("enMutoOverlayInfoOffset","u32","",0x4), 0x80BE8DF0:("En_Baisen_InitVars","UNK_TYPE1","",0x1), 0x80BE8E10:("D_80BE8E10","UNK_TYPE1","",0x1), 0x80BE8E3C:("D_80BE8E3C","UNK_TYPE1","",0x1), 0x80BE8E4C:("D_80BE8E4C","UNK_TYPE1","",0x1), 0x80BE8E58:("D_80BE8E58","UNK_TYPE1","",0x1), - 0x80BE8E60:("enBaisenOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BE8E74:("enBaisenOverlayRelocations","u32","[41]",0xa4), - 0x80BE8F1C:("enBaisenOverlayInfoOffset","u32","",0x4), 0x80BE9430:("En_Heishi_InitVars","UNK_TYPE1","",0x1), 0x80BE9450:("D_80BE9450","UNK_TYPE1","",0x1), 0x80BE947C:("D_80BE947C","UNK_TYPE1","",0x1), 0x80BE9490:("D_80BE9490","UNK_TYPE1","",0x1), - 0x80BE94A0:("enHeishiOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BE94B4:("enHeishiOverlayRelocations","u32","[19]",0x4c), - 0x80BE950C:("enHeishiOverlayInfoOffset","u32","",0x4), 0x80BE9A30:("En_Demo_heishi_InitVars","UNK_TYPE1","",0x1), 0x80BE9A50:("D_80BE9A50","UNK_TYPE1","",0x1), 0x80BE9A7C:("D_80BE9A7C","UNK_TYPE1","",0x1), 0x80BE9A80:("D_80BE9A80","UNK_TYPE1","",0x1), 0x80BE9A94:("D_80BE9A94","UNK_TYPE1","",0x1), - 0x80BE9AA0:("enDemoheishiOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BE9AB4:("enDemoheishiOverlayRelocations","u32","[25]",0x64), - 0x80BE9B1C:("enDemoheishiOverlayInfoOffset","u32","",0x4), 0x80BEB1B0:("En_Dt_InitVars","UNK_TYPE1","",0x1), 0x80BEB1D0:("D_80BEB1D0","UNK_TYPE1","",0x1), 0x80BEB208:("D_80BEB208","UNK_TYPE1","",0x1), @@ -18051,26 +16437,14 @@ 0x80BEB2E8:("D_80BEB2E8","UNK_TYPE1","",0x1), 0x80BEB348:("D_80BEB348","UNK_TYPE1","",0x1), 0x80BEB35C:("D_80BEB35C","UNK_TYPE1","",0x1), - 0x80BEB370:("enDtOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BEB384:("enDtOverlayRelocations","u32","[101]",0x194), - 0x80BEB51C:("enDtOverlayInfoOffset","u32","",0x4), 0x80BEB860:("En_Cha_InitVars","UNK_TYPE1","",0x1), 0x80BEB880:("D_80BEB880","UNK_TYPE1","",0x1), 0x80BEB8B0:("D_80BEB8B0","f32","",0x4), 0x80BEB8B4:("D_80BEB8B4","f32","",0x4), 0x80BEB8B8:("D_80BEB8B8","f32","",0x4), 0x80BEB8BC:("D_80BEB8BC","f32","",0x4), - 0x80BEB8C0:("enChaOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BEB8D4:("enChaOverlayRelocations","u32","[23]",0x5c), - 0x80BEB93C:("enChaOverlayInfoOffset","u32","",0x4), 0x80BEBA70:("Obj_Dinner_InitVars","UNK_TYPE1","",0x1), - 0x80BEBA90:("objDinnerOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BEBAA4:("objDinnerOverlayRelocations","u32","[4]",0x10), - 0x80BEBABC:("objDinnerOverlayInfoOffset","u32","",0x4), 0x80BEC190:("Eff_Lastday_InitVars","UNK_TYPE1","",0x1), - 0x80BEC1B0:("effLastdayOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BEC1C4:("effLastdayOverlayRelocations","u32","[29]",0x74), - 0x80BEC23C:("effLastdayOverlayInfoOffset","u32","",0x4), 0x80BECAB0:("Bg_Ikana_Dharma_InitVars","UNK_TYPE1","",0x1), 0x80BECAD0:("D_80BECAD0","UNK_TYPE1","",0x1), 0x80BECAFC:("D_80BECAFC","UNK_TYPE1","",0x1), @@ -18078,9 +16452,6 @@ 0x80BECB14:("D_80BECB14","f32","",0x4), 0x80BECB18:("D_80BECB18","f32","",0x4), 0x80BECB1C:("D_80BECB1C","f32","",0x4), - 0x80BECB20:("bgIkanaDharmaOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BECB34:("bgIkanaDharmaOverlayRelocations","u32","[38]",0x98), - 0x80BECBCC:("bgIkanaDharmaOverlayInfoOffset","u32","",0x4), 0x80BECBD0:("D_80BECBD0","UNK_TYPE1","",0x1), 0x80BF02D0:("En_Akindonuts_InitVars","UNK_TYPE1","",0x1), 0x80BF02F0:("D_80BF02F0","UNK_TYPE1","",0x1), @@ -18092,14 +16463,14 @@ 0x80BF04AC:("D_80BF04AC","UNK_TYPE1","",0x1), 0x80BF04B4:("D_80BF04B4","UNK_TYPE1","",0x1), 0x80BF04C0:("D_80BF04C0","f32","",0x4), - 0x80BF04C4:("jtbl_D_80BF04C4","UNK_PTR","",0x4), - 0x80BF0504:("jtbl_D_80BF0504","UNK_PTR","",0x4), - 0x80BF052C:("jtbl_D_80BF052C","UNK_PTR","",0x4), - 0x80BF0588:("jtbl_D_80BF0588","UNK_PTR","",0x4), - 0x80BF05FC:("jtbl_D_80BF05FC","UNK_PTR","",0x4), - 0x80BF06C0:("jtbl_D_80BF06C0","UNK_PTR","",0x4), - 0x80BF06DC:("jtbl_D_80BF06DC","UNK_PTR","",0x4), - 0x80BF0718:("jtbl_D_80BF0718","UNK_PTR","",0x4), + 0x80BF04C4:("jtbl_80BF04C4","UNK_PTR","",0x4), + 0x80BF0504:("jtbl_80BF0504","UNK_PTR","",0x4), + 0x80BF052C:("jtbl_80BF052C","UNK_PTR","",0x4), + 0x80BF0588:("jtbl_80BF0588","UNK_PTR","",0x4), + 0x80BF05FC:("jtbl_80BF05FC","UNK_PTR","",0x4), + 0x80BF06C0:("jtbl_80BF06C0","UNK_PTR","",0x4), + 0x80BF06DC:("jtbl_80BF06DC","UNK_PTR","",0x4), + 0x80BF0718:("jtbl_80BF0718","UNK_PTR","",0x4), 0x80BF0754:("D_80BF0754","f32","",0x4), 0x80BF0758:("D_80BF0758","f32","",0x4), 0x80BF075C:("D_80BF075C","f32","",0x4), @@ -18112,16 +16483,10 @@ 0x80BF0778:("D_80BF0778","f32","",0x4), 0x80BF077C:("D_80BF077C","f32","",0x4), 0x80BF0780:("D_80BF0780","f32","",0x4), - 0x80BF0790:("enAkindonutsOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BF07A4:("enAkindonutsOverlayRelocations","u32","[377]",0x5e4), - 0x80BF0D8C:("enAkindonutsOverlayInfoOffset","u32","",0x4), 0x80BF10C0:("Eff_Stk_InitVars","UNK_TYPE1","",0x1), 0x80BF10E0:("D_80BF10E0","f32","",0x4), 0x80BF10E4:("D_80BF10E4","f32","",0x4), 0x80BF10E8:("D_80BF10E8","f32","",0x4), - 0x80BF10F0:("effStkOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BF1104:("effStkOverlayRelocations","u32","[16]",0x40), - 0x80BF114C:("effStkOverlayInfoOffset","u32","",0x4), 0x80BF3260:("D_80BF3260","UNK_TYPE1","",0x1), 0x80BF3318:("D_80BF3318","UNK_TYPE1","",0x1), 0x80BF3354:("D_80BF3354","UNK_TYPE1","",0x1), @@ -18137,16 +16502,13 @@ 0x80BF351C:("D_80BF351C","UNK_TYPE1","",0x1), 0x80BF3528:("D_80BF3528","UNK_TYPE1","",0x1), 0x80BF3534:("D_80BF3534","UNK_TYPE1","",0x1), - 0x80BF3550:("jtbl_D_80BF3550","UNK_PTR","",0x4), - 0x80BF3564:("jtbl_D_80BF3564","UNK_PTR","",0x4), - 0x80BF357C:("jtbl_D_80BF357C","UNK_PTR","",0x4), - 0x80BF35B0:("jtbl_D_80BF35B0","UNK_PTR","",0x4), - 0x80BF35E0:("jtbl_D_80BF35E0","UNK_PTR","",0x4), + 0x80BF3550:("jtbl_80BF3550","UNK_PTR","",0x4), + 0x80BF3564:("jtbl_80BF3564","UNK_PTR","",0x4), + 0x80BF357C:("jtbl_80BF357C","UNK_PTR","",0x4), + 0x80BF35B0:("jtbl_80BF35B0","UNK_PTR","",0x4), + 0x80BF35E0:("jtbl_80BF35E0","UNK_PTR","",0x4), 0x80BF3614:("D_80BF3614","f32","",0x4), - 0x80BF3618:("jtbl_D_80BF3618","UNK_PTR","",0x4), - 0x80BF3650:("enIgOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BF3664:("enIgOverlayRelocations","u32","[171]",0x2ac), - 0x80BF391C:("enIgOverlayInfoOffset","u32","",0x4), + 0x80BF3618:("jtbl_80BF3618","UNK_PTR","",0x4), 0x80BF5740:("En_Rg_InitVars","UNK_TYPE1","",0x1), 0x80BF5760:("D_80BF5760","UNK_TYPE1","",0x1), 0x80BF578C:("D_80BF578C","UNK_TYPE1","",0x1), @@ -18174,9 +16536,6 @@ 0x80BF5A3C:("D_80BF5A3C","f32","",0x4), 0x80BF5A40:("D_80BF5A40","f32","",0x4), 0x80BF5A44:("D_80BF5A44","f32","",0x4), - 0x80BF5A50:("enRgOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BF5A64:("enRgOverlayRelocations","u32","[103]",0x19c), - 0x80BF5C0C:("enRgOverlayInfoOffset","u32","",0x4), 0x80BF5C10:("D_80BF5C10","UNK_TYPE1","",0x1), 0x80BF6F80:("En_Osk_InitVars","UNK_TYPE1","",0x1), 0x80BF6FA0:("D_80BF6FA0","UNK_PTR","",0x4), @@ -18184,23 +16543,20 @@ 0x80BF6FE4:("D_80BF6FE4","UNK_PTR","",0x4), 0x80BF7018:("D_80BF7018","UNK_TYPE1","",0x1), 0x80BF7024:("D_80BF7024","UNK_TYPE1","",0x1), - 0x80BF7030:("jtbl_D_80BF7030","UNK_PTR","",0x4), + 0x80BF7030:("jtbl_80BF7030","UNK_PTR","",0x4), 0x80BF704C:("D_80BF704C","f32","",0x4), - 0x80BF7050:("jtbl_D_80BF7050","UNK_PTR","",0x4), - 0x80BF7074:("jtbl_D_80BF7074","UNK_PTR","",0x4), - 0x80BF70A0:("jtbl_D_80BF70A0","UNK_PTR","",0x4), + 0x80BF7050:("jtbl_80BF7050","UNK_PTR","",0x4), + 0x80BF7074:("jtbl_80BF7074","UNK_PTR","",0x4), + 0x80BF70A0:("jtbl_80BF70A0","UNK_PTR","",0x4), 0x80BF70C8:("D_80BF70C8","f32","",0x4), 0x80BF70CC:("D_80BF70CC","f32","",0x4), 0x80BF70D0:("D_80BF70D0","f32","",0x4), 0x80BF70D4:("D_80BF70D4","f32","",0x4), - 0x80BF70D8:("jtbl_D_80BF70D8","UNK_PTR","",0x4), - 0x80BF70FC:("jtbl_D_80BF70FC","UNK_PTR","",0x4), - 0x80BF711C:("jtbl_D_80BF711C","UNK_PTR","",0x4), + 0x80BF70D8:("jtbl_80BF70D8","UNK_PTR","",0x4), + 0x80BF70FC:("jtbl_80BF70FC","UNK_PTR","",0x4), + 0x80BF711C:("jtbl_80BF711C","UNK_PTR","",0x4), 0x80BF7148:("D_80BF7148","f32","",0x4), 0x80BF714C:("D_80BF714C","f32","",0x4), - 0x80BF7150:("enOskOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BF7164:("enOskOverlayRelocations","u32","[222]",0x378), - 0x80BF74DC:("enOskOverlayInfoOffset","u32","",0x4), 0x80BF7920:("En_Sth2_InitVars","UNK_TYPE1","",0x1), 0x80BF7940:("D_80BF7940","UNK_TYPE1","",0x1), 0x80BF79C0:("D_80BF79C0","UNK_TYPE1","",0x1), @@ -18226,9 +16582,6 @@ 0x80BFA000:("D_80BFA000","UNK_TYPE1","",0x1), 0x80BFA010:("D_80BFA010","UNK_TYPE1","",0x1), 0x80BFA01C:("D_80BFA01C","UNK_TYPE1","",0x1), - 0x80BFA030:("enSth2OverlayInfo","OverlayRelocationSection","",0x14), - 0x80BFA044:("enSth2OverlayRelocations","u32","[44]",0xb0), - 0x80BFA0FC:("enSth2OverlayInfoOffset","u32","",0x4), 0x80BFB290:("En_Yb_InitVars","UNK_TYPE1","",0x1), 0x80BFB2B0:("D_80BFB2B0","UNK_TYPE1","",0x1), 0x80BFB2DC:("D_80BFB2DC","UNK_TYPE1","",0x1), @@ -18239,9 +16592,6 @@ 0x80BFB310:("D_80BFB310","f32","",0x4), 0x80BFB314:("D_80BFB314","f32","",0x4), 0x80BFB318:("D_80BFB318","f32","",0x4), - 0x80BFB320:("enYbOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BFB334:("enYbOverlayRelocations","u32","[80]",0x140), - 0x80BFB47C:("enYbOverlayInfoOffset","u32","",0x4), 0x80BFCCC0:("En_Rz_InitVars","UNK_TYPE1","",0x1), 0x80BFCCE0:("D_80BFCCE0","UNK_TYPE1","",0x1), 0x80BFCCEC:("D_80BFCCEC","UNK_TYPE4","",0x4), @@ -18255,14 +16605,8 @@ 0x80BFCD74:("D_80BFCD74","f32","",0x4), 0x80BFCD78:("D_80BFCD78","f32","",0x4), 0x80BFCD7C:("D_80BFCD7C","f32","",0x4), - 0x80BFCD80:("enRzOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BFCD94:("enRzOverlayRelocations","u32","[129]",0x204), - 0x80BFCF9C:("enRzOverlayInfoOffset","u32","",0x4), 0x80BFD260:("En_Scopecoin_InitVars","UNK_TYPE1","",0x1), 0x80BFD280:("D_80BFD280","UNK_TYPE1","",0x1), - 0x80BFD2A0:("enScopecoinOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BFD2B4:("enScopecoinOverlayRelocations","u32","[10]",0x28), - 0x80BFD2DC:("enScopecoinOverlayInfoOffset","u32","",0x4), 0x80BFDEA0:("D_80BFDEA0","UNK_TYPE1","",0x1), 0x80BFDEB4:("D_80BFDEB4","UNK_TYPE1","",0x1), 0x80BFDF28:("En_Bjt_InitVars","UNK_TYPE1","",0x1), @@ -18270,16 +16614,13 @@ 0x80BFDF74:("D_80BFDF74","UNK_TYPE1","",0x1), 0x80BFDF80:("D_80BFDF80","UNK_TYPE1","",0x1), 0x80BFDFE0:("D_80BFDFE0","UNK_TYPE1","",0x1), - 0x80BFDFF0:("jtbl_D_80BFDFF0","UNK_PTR","",0x4), + 0x80BFDFF0:("jtbl_80BFDFF0","UNK_PTR","",0x4), 0x80BFE014:("D_80BFE014","f32","",0x4), 0x80BFE018:("D_80BFE018","f32","",0x4), 0x80BFE01C:("D_80BFE01C","f32","",0x4), 0x80BFE020:("D_80BFE020","f32","",0x4), 0x80BFE024:("D_80BFE024","f32","",0x4), - 0x80BFE028:("jtbl_D_80BFE028","UNK_PTR","",0x4), - 0x80BFE040:("enBjtOverlayInfo","OverlayRelocationSection","",0x14), - 0x80BFE054:("enBjtOverlayRelocations","u32","[68]",0x110), - 0x80BFE16C:("enBjtOverlayInfoOffset","u32","",0x4), + 0x80BFE028:("jtbl_80BFE028","UNK_PTR","",0x4), 0x80C009F0:("D_80C009F0","UNK_TYPE4","",0x4), 0x80C009F4:("D_80C009F4","UNK_TYPE4","",0x4), 0x80C009F8:("En_Bomjima_InitVars","UNK_TYPE1","",0x1), @@ -18298,9 +16639,6 @@ 0x80C00B3C:("D_80C00B3C","UNK_TYPE1","",0x1), 0x80C00B48:("D_80C00B48","UNK_TYPE1","",0x1), 0x80C00B60:("D_80C00B60","f32","",0x4), - 0x80C00B70:("enBomjimaOverlayInfo","OverlayRelocationSection","",0x14), - 0x80C00B84:("enBomjimaOverlayRelocations","u32","[197]",0x314), - 0x80C00E9C:("enBomjimaOverlayInfoOffset","u32","",0x4), 0x80C03170:("D_80C03170","UNK_TYPE4","",0x4), 0x80C03174:("En_Bomjimb_InitVars","UNK_TYPE1","",0x1), 0x80C03194:("D_80C03194","UNK_TYPE1","",0x1), @@ -18312,16 +16650,13 @@ 0x80C03260:("D_80C03260","UNK_PTR","",0x4), 0x80C03274:("D_80C03274","UNK_TYPE1","",0x1), 0x80C03280:("D_80C03280","UNK_TYPE1","",0x1), - 0x80C032A0:("jtbl_D_80C032A0","UNK_PTR","",0x4), + 0x80C032A0:("jtbl_80C032A0","UNK_PTR","",0x4), 0x80C032B4:("D_80C032B4","f32","",0x4), 0x80C032B8:("D_80C032B8","f32","",0x4), 0x80C032BC:("D_80C032BC","f32","",0x4), 0x80C032C0:("D_80C032C0","f32","",0x4), 0x80C032C4:("D_80C032C4","f32","",0x4), - 0x80C032C8:("jtbl_D_80C032C8","UNK_PTR","",0x4), - 0x80C032E0:("enBomjimbOverlayInfo","OverlayRelocationSection","",0x14), - 0x80C032F4:("enBomjimbOverlayRelocations","u32","[142]",0x238), - 0x80C0352C:("enBomjimbOverlayInfoOffset","u32","",0x4), + 0x80C032C8:("jtbl_80C032C8","UNK_PTR","",0x4), 0x80C04750:("En_Bombers_InitVars","UNK_TYPE1","",0x1), 0x80C04770:("D_80C04770","UNK_TYPE1","",0x1), 0x80C0479C:("D_80C0479C","UNK_TYPE1","",0x1), @@ -18331,9 +16666,6 @@ 0x80C04818:("D_80C04818","UNK_PTR","",0x4), 0x80C0482C:("D_80C0482C","UNK_TYPE1","",0x1), 0x80C04838:("D_80C04838","UNK_TYPE1","",0x1), - 0x80C04850:("enBombersOverlayInfo","OverlayRelocationSection","",0x14), - 0x80C04864:("enBombersOverlayRelocations","u32","[48]",0xc0), - 0x80C0492C:("enBombersOverlayInfoOffset","u32","",0x4), 0x80C05880:("En_Bombers2_InitVars","UNK_TYPE1","",0x1), 0x80C058A0:("D_80C058A0","UNK_TYPE1","",0x1), 0x80C058B0:("D_80C058B0","UNK_TYPE1","",0x1), @@ -18343,68 +16675,35 @@ 0x80C05910:("D_80C05910","UNK_PTR","",0x4), 0x80C05914:("D_80C05914","UNK_TYPE1","",0x1), 0x80C05920:("D_80C05920","UNK_TYPE4","",0x4), - 0x80C05930:("jtbl_D_80C05930","UNK_PTR","",0x4), - 0x80C05950:("enBombers2OverlayInfo","OverlayRelocationSection","",0x14), - 0x80C05964:("enBombers2OverlayRelocations","u32","[65]",0x104), - 0x80C05A6C:("enBombers2OverlayInfoOffset","u32","",0x4), + 0x80C05930:("jtbl_80C05930","UNK_PTR","",0x4), 0x80C06440:("En_Bombal_InitVars","UNK_TYPE1","",0x1), 0x80C06460:("D_80C06460","UNK_TYPE1","",0x1), 0x80C06490:("D_80C06490","f32","",0x4), 0x80C06494:("D_80C06494","f32","",0x4), 0x80C06498:("D_80C06498","f32","",0x4), - 0x80C064A0:("enBombalOverlayInfo","OverlayRelocationSection","",0x14), - 0x80C064B4:("enBombalOverlayRelocations","u32","[22]",0x58), - 0x80C0650C:("enBombalOverlayInfoOffset","u32","",0x4), 0x80C06A10:("Obj_Moon_Stone_InitVars","UNK_TYPE1","",0x1), - 0x80C06A30:("objMoonStoneOverlayInfo","OverlayRelocationSection","",0x14), - 0x80C06A44:("objMoonStoneOverlayRelocations","u32","[19]",0x4c), - 0x80C06A9C:("objMoonStoneOverlayInfoOffset","u32","",0x4), 0x80C06FE0:("Obj_Mu_Pict_InitVars","UNK_TYPE1","",0x1), - 0x80C07000:("jtbl_D_80C07000","UNK_PTR","",0x4), - 0x80C0701C:("jtbl_D_80C0701C","UNK_PTR","",0x4), - 0x80C07050:("objMuPictOverlayInfo","OverlayRelocationSection","",0x14), - 0x80C07064:("objMuPictOverlayRelocations","u32","[40]",0xa0), - 0x80C0710C:("objMuPictOverlayInfoOffset","u32","",0x4), + 0x80C07000:("jtbl_80C07000","UNK_PTR","",0x4), + 0x80C0701C:("jtbl_80C0701C","UNK_PTR","",0x4), 0x80C07680:("Bg_Ikninside_InitVars","UNK_TYPE1","",0x1), 0x80C076A0:("D_80C076A0","UNK_TYPE4","",0x4), 0x80C076A8:("D_80C076A8","UNK_TYPE1","",0x1), 0x80C076D4:("D_80C076D4","UNK_TYPE1","",0x1), - 0x80C076E0:("bgIkninsideOverlayInfo","OverlayRelocationSection","",0x14), - 0x80C076F4:("bgIkninsideOverlayRelocations","u32","[18]",0x48), - 0x80C0773C:("bgIkninsideOverlayInfoOffset","u32","",0x4), 0x80C07AC0:("Eff_Zoraband_InitVars","UNK_TYPE1","",0x1), - 0x80C07AE0:("effZorabandOverlayInfo","OverlayRelocationSection","",0x14), - 0x80C07AF4:("effZorabandOverlayRelocations","u32","[8]",0x20), - 0x80C07B1C:("effZorabandOverlayInfoOffset","u32","",0x4), 0x80C07C20:("Obj_Kepn_Koya_InitVars","UNK_TYPE1","",0x1), 0x80C07C40:("D_80C07C40","UNK_TYPE1","",0x1), - 0x80C07C50:("objKepnKoyaOverlayInfo","OverlayRelocationSection","",0x14), - 0x80C07C64:("objKepnKoyaOverlayRelocations","u32","[6]",0x18), - 0x80C07C7C:("objKepnKoyaOverlayInfoOffset","u32","",0x4), 0x80C08640:("Obj_Usiyane_InitVars","UNK_TYPE1","",0x1), 0x80C08660:("D_80C08660","UNK_TYPE1","",0x1), 0x80C0866C:("D_80C0866C","UNK_TYPE1","",0x1), 0x80C086B0:("D_80C086B0","UNK_TYPE1","",0x1), 0x80C086C0:("D_80C086C0","f32","",0x4), 0x80C086C4:("D_80C086C4","f32","",0x4), - 0x80C086D0:("objUsiyaneOverlayInfo","OverlayRelocationSection","",0x14), - 0x80C086E4:("objUsiyaneOverlayRelocations","u32","[30]",0x78), - 0x80C0875C:("objUsiyaneOverlayInfoOffset","u32","",0x4), 0x80C089E0:("En_Nnh_InitVars","UNK_TYPE1","",0x1), 0x80C08A00:("D_80C08A00","UNK_TYPE1","",0x1), - 0x80C08A30:("enNnhOverlayInfo","OverlayRelocationSection","",0x14), - 0x80C08A44:("enNnhOverlayRelocations","u32","[13]",0x34), - 0x80C08A7C:("enNnhOverlayInfoOffset","u32","",0x4), 0x80C08DD0:("Obj_Kzsaku_InitVars","UNK_TYPE1","",0x1), - 0x80C08DF0:("objKzsakuOverlayInfo","OverlayRelocationSection","",0x14), - 0x80C08E04:("objKzsakuOverlayRelocations","u32","[14]",0x38), - 0x80C08E3C:("objKzsakuOverlayInfoOffset","u32","",0x4), 0x80C09030:("Obj_Milk_Bin_InitVars","UNK_TYPE1","",0x1), 0x80C09050:("D_80C09050","UNK_TYPE1","",0x1), 0x80C09080:("D_80C09080","f32","",0x4), - 0x80C09090:("objMilkBinOverlayInfo","OverlayRelocationSection","",0x14), - 0x80C090A4:("objMilkBinOverlayRelocations","u32","[8]",0x20), - 0x80C090CC:("objMilkBinOverlayInfoOffset","u32","",0x4), 0x80C09D30:("En_Kitan_InitVars","UNK_TYPE1","",0x1), 0x80C09D50:("D_80C09D50","UNK_TYPE1","",0x1), 0x80C09D7C:("D_80C09D7C","UNK_TYPE1","",0x1), @@ -18413,21 +16712,15 @@ 0x80C09D90:("D_80C09D90","f32","",0x4), 0x80C09D94:("D_80C09D94","f32","",0x4), 0x80C09D98:("D_80C09D98","f32","",0x4), - 0x80C09D9C:("jtbl_D_80C09D9C","UNK_PTR","",0x4), + 0x80C09D9C:("jtbl_80C09D9C","UNK_PTR","",0x4), 0x80C09DB4:("D_80C09DB4","f32","",0x4), 0x80C09DB8:("D_80C09DB8","f32","",0x4), - 0x80C09DC0:("enKitanOverlayInfo","OverlayRelocationSection","",0x14), - 0x80C09DD4:("enKitanOverlayRelocations","u32","[62]",0xf8), - 0x80C09ECC:("enKitanOverlayInfoOffset","u32","",0x4), 0x80C0A600:("Bg_Astr_Bombwall_InitVars","UNK_TYPE1","",0x1), 0x80C0A620:("D_80C0A620","UNK_TYPE1","",0x1), 0x80C0A698:("D_80C0A698","UNK_TYPE1","",0x1), 0x80C0A6A8:("D_80C0A6A8","UNK_TYPE1","",0x1), 0x80C0A6B0:("D_80C0A6B0","f32","",0x4), 0x80C0A6B4:("D_80C0A6B4","f32","",0x4), - 0x80C0A6C0:("bgAstrBombwallOverlayInfo","OverlayRelocationSection","",0x14), - 0x80C0A6D4:("bgAstrBombwallOverlayRelocations","u32","[26]",0x68), - 0x80C0A73C:("bgAstrBombwallOverlayInfoOffset","u32","",0x4), 0x80C0B0C0:("Bg_Iknin_Susceil_InitVars","UNK_TYPE1","",0x1), 0x80C0B0E4:("D_80C0B0E4","f32","",0x4), 0x80C0B0E8:("D_80C0B0E8","UNK_TYPE4","",0x4), @@ -18449,9 +16742,6 @@ 0x80C0B138:("D_80C0B138","f32","",0x4), 0x80C0B13C:("D_80C0B13C","f32","",0x4), 0x80C0B140:("D_80C0B140","f32","",0x4), - 0x80C0B150:("bgIkninSusceilOverlayInfo","OverlayRelocationSection","",0x14), - 0x80C0B164:("bgIkninSusceilOverlayRelocations","u32","[71]",0x11c), - 0x80C0B28C:("bgIkninSusceilOverlayInfoOffset","u32","",0x4), 0x80C0F8D0:("D_80C0F8D0","f32","",0x4), 0x80C0F8D4:("D_80C0F8D4","UNK_TYPE1","",0x1), 0x80C0F9D0:("D_80C0F9D0","UNK_TYPE1","",0x1), @@ -18483,12 +16773,12 @@ 0x80C0FB20:("D_80C0FB20","f32","",0x4), 0x80C0FB24:("D_80C0FB24","f32","",0x4), 0x80C0FB28:("D_80C0FB28","f32","",0x4), - 0x80C0FB2C:("jtbl_D_80C0FB2C","UNK_PTR","",0x4), + 0x80C0FB2C:("jtbl_80C0FB2C","UNK_PTR","",0x4), 0x80C0FB48:("D_80C0FB48","f32","",0x4), 0x80C0FB4C:("D_80C0FB4C","f32","",0x4), 0x80C0FB50:("D_80C0FB50","f32","",0x4), - 0x80C0FB54:("jtbl_D_80C0FB54","UNK_PTR","",0x4), - 0x80C0FB90:("jtbl_D_80C0FB90","UNK_PTR","",0x4), + 0x80C0FB54:("jtbl_80C0FB54","UNK_PTR","",0x4), + 0x80C0FB90:("jtbl_80C0FB90","UNK_PTR","",0x4), 0x80C0FBA8:("D_80C0FBA8","f32","",0x4), 0x80C0FBAC:("D_80C0FBAC","f32","",0x4), 0x80C0FBB0:("D_80C0FBB0","f32","",0x4), @@ -18496,17 +16786,11 @@ 0x80C0FBB8:("D_80C0FBB8","f32","",0x4), 0x80C0FBBC:("D_80C0FBBC","f32","",0x4), 0x80C0FBC0:("D_80C0FBC0","f32","",0x4), - 0x80C0FBD0:("enBsbOverlayInfo","OverlayRelocationSection","",0x14), - 0x80C0FBE4:("enBsbOverlayRelocations","u32","[250]",0x3e8), - 0x80C0FFCC:("enBsbOverlayInfoOffset","u32","",0x4), 0x80C10690:("En_Recepgirl_InitVars","UNK_TYPE1","",0x1), 0x80C106B0:("D_80C106B0","UNK_TYPE4","",0x4), 0x80C106C0:("D_80C106C0","UNK_TYPE1","",0x1), 0x80C106C8:("D_80C106C8","UNK_TYPE4","",0x4), 0x80C106D0:("D_80C106D0","f32","",0x4), - 0x80C106E0:("enRecepgirlOverlayInfo","OverlayRelocationSection","",0x14), - 0x80C106F4:("enRecepgirlOverlayRelocations","u32","[30]",0x78), - 0x80C1076C:("enRecepgirlOverlayInfoOffset","u32","",0x4), 0x80C135A0:("En_Thiefbird_InitVars","UNK_TYPE1","",0x1), 0x80C135C0:("D_80C135C0","UNK_TYPE1","",0x1), 0x80C1362C:("D_80C1362C","UNK_TYPE1","",0x1), @@ -18530,20 +16814,14 @@ 0x80C136D8:("D_80C136D8","f32","",0x4), 0x80C136DC:("D_80C136DC","f32","",0x4), 0x80C136E0:("D_80C136E0","f32","",0x4), - 0x80C136F0:("enThiefbirdOverlayInfo","OverlayRelocationSection","",0x14), - 0x80C13704:("enThiefbirdOverlayRelocations","u32","[131]",0x20c), - 0x80C1391C:("enThiefbirdOverlayInfoOffset","u32","",0x4), 0x80C13920:("D_80C13920","UNK_TYPE1","",0x1), 0x80C1392C:("D_80C1392C","UNK_TYPE1","",0x1), 0x80C15010:("En_Jgame_Tsn_InitVars","UNK_TYPE1","",0x1), 0x80C15030:("D_80C15030","UNK_PTR","",0x4), 0x80C15078:("D_80C15078","UNK_TYPE1","",0x1), 0x80C150A4:("D_80C150A4","UNK_TYPE1","",0x1), - 0x80C150B0:("jtbl_D_80C150B0","UNK_PTR","",0x4), - 0x80C150CC:("jtbl_D_80C150CC","UNK_PTR","",0x4), - 0x80C15110:("enJgameTsnOverlayInfo","OverlayRelocationSection","",0x14), - 0x80C15124:("enJgameTsnOverlayRelocations","u32","[114]",0x1c8), - 0x80C152EC:("enJgameTsnOverlayInfoOffset","u32","",0x4), + 0x80C150B0:("jtbl_80C150B0","UNK_PTR","",0x4), + 0x80C150CC:("jtbl_80C150CC","UNK_PTR","",0x4), 0x80C15BA0:("Obj_Jgame_Light_InitVars","UNK_TYPE1","",0x1), 0x80C15BC0:("D_80C15BC0","UNK_TYPE1","",0x1), 0x80C15BEC:("D_80C15BEC","UNK_TYPE1","",0x1), @@ -18557,14 +16835,8 @@ 0x80C1613C:("D_80C1613C","f32","",0x4), 0x80C16140:("D_80C16140","f32","",0x4), 0x80C16144:("D_80C16144","f32","",0x4), - 0x80C16150:("objJgameLightOverlayInfo","OverlayRelocationSection","",0x14), - 0x80C16164:("objJgameLightOverlayRelocations","u32","[29]",0x74), - 0x80C161DC:("objJgameLightOverlayInfoOffset","u32","",0x4), 0x80C16400:("Obj_Yado_InitVars","UNK_TYPE1","",0x1), 0x80C16420:("D_80C16420","UNK_TYPE1","",0x1), - 0x80C16430:("objYadoOverlayInfo","OverlayRelocationSection","",0x14), - 0x80C16444:("objYadoOverlayRelocations","u32","[10]",0x28), - 0x80C1646C:("objYadoOverlayInfoOffset","u32","",0x4), 0x80C16470:("D_80C16470","UNK_TYPE1","",0x1), 0x80C177B0:("Demo_Syoten_InitVars","UNK_TYPE1","",0x1), 0x80C177D0:("D_80C177D0","UNK_TYPE1","",0x1), @@ -18573,26 +16845,17 @@ 0x80C17821:("D_80C17821","UNK_TYPE1","",0x1), 0x80C17824:("D_80C17824","UNK_TYPE1","",0x1), 0x80C17834:("D_80C17834","UNK_TYPE1","",0x1), - 0x80C17850:("jtbl_D_80C17850","UNK_PTR","",0x4), + 0x80C17850:("jtbl_80C17850","UNK_PTR","",0x4), 0x80C17864:("D_80C17864","f32","",0x4), 0x80C17868:("D_80C17868","f32","",0x4), 0x80C1786C:("D_80C1786C","f32","",0x4), 0x80C17870:("D_80C17870","f32","",0x4), - 0x80C17874:("jtbl_D_80C17874","UNK_PTR","",0x4), - 0x80C178B0:("demoSyotenOverlayInfo","OverlayRelocationSection","",0x14), - 0x80C178C4:("demoSyotenOverlayRelocations","u32","[80]",0x140), - 0x80C17A0C:("demoSyotenOverlayInfoOffset","u32","",0x4), + 0x80C17874:("jtbl_80C17874","UNK_PTR","",0x4), 0x80C18070:("Demo_Moonend_InitVars","UNK_TYPE1","",0x1), 0x80C18090:("D_80C18090","f32","",0x4), 0x80C18094:("D_80C18094","f32","",0x4), - 0x80C180A0:("demoMoonendOverlayInfo","OverlayRelocationSection","",0x14), - 0x80C180B4:("demoMoonendOverlayRelocations","u32","[24]",0x60), - 0x80C1811C:("demoMoonendOverlayInfoOffset","u32","",0x4), 0x80C181E0:("Bg_Lbfshot_InitVars","UNK_TYPE1","",0x1), 0x80C18200:("D_80C18200","UNK_TYPE1","",0x1), - 0x80C18210:("bgLbfshotOverlayInfo","OverlayRelocationSection","",0x14), - 0x80C18224:("bgLbfshotOverlayRelocations","u32","[5]",0x14), - 0x80C1823C:("bgLbfshotOverlayInfoOffset","u32","",0x4), 0x80C189A0:("Bg_Last_Bwall_InitVars","UNK_TYPE1","",0x1), 0x80C189C0:("D_80C189C0","UNK_TYPE1","",0x1), 0x80C18A38:("D_80C18A38","UNK_TYPE1","",0x1), @@ -18608,18 +16871,13 @@ 0x80C18AC8:("D_80C18AC8","UNK_TYPE1","",0x1), 0x80C18AD0:("D_80C18AD0","f32","",0x4), 0x80C18AD4:("D_80C18AD4","f32","",0x4), - 0x80C18AE0:("bgLastBwallOverlayInfo","OverlayRelocationSection","",0x14), - 0x80C18AF4:("bgLastBwallOverlayRelocations","u32","[38]",0x98), - 0x80C18B8C:("bgLastBwallOverlayInfoOffset","u32","",0x4), 0x80C19160:("En_And_InitVars","UNK_TYPE1","",0x1), 0x80C19180:("D_80C19180","UNK_PTR","",0x4), 0x80C19200:("D_80C19200","UNK_TYPE4","",0x4), 0x80C19218:("D_80C19218","UNK_TYPE4","",0x4), 0x80C19220:("D_80C19220","UNK_TYPE1","",0x1), - 0x80C19230:("enAndOverlayInfo","OverlayRelocationSection","",0x14), - 0x80C19244:("enAndOverlayRelocations","u32","[21]",0x54), - 0x80C1929C:("enAndOverlayInfoOffset","u32","",0x4), 0x80C1AA40:("En_Invadepoh_Demo_InitVars","UNK_TYPE1","",0x1), + 0x80C1AA60:("D_80C1AA60","UNK_TYPE1","",0x1), 0x80C1AA62:("D_80C1AA62","UNK_TYPE1","",0x1), 0x80C1AA74:("D_80C1AA74","UNK_TYPE1","",0x1), 0x80C1AA88:("D_80C1AA88","UNK_TYPE1","",0x1), @@ -18637,9 +16895,6 @@ 0x80C1AB64:("D_80C1AB64","f32","",0x4), 0x80C1AB68:("D_80C1AB68","f32","",0x4), 0x80C1AB6C:("D_80C1AB6C","f32","",0x4), - 0x80C1AB70:("enInvadepohDemoOverlayInfo","OverlayRelocationSection","",0x14), - 0x80C1AB84:("enInvadepohDemoOverlayRelocations","u32","[108]",0x1b0), - 0x80C1AD3C:("enInvadepohDemoOverlayInfoOffset","u32","",0x4), 0x80C1AD40:("D_80C1AD40","UNK_TYPE1","",0x1), 0x80C1AD80:("D_80C1AD80","UNK_TYPE1","",0x1), 0x80C1B520:("Obj_Danpeilift_InitVars","UNK_TYPE1","",0x1), @@ -18653,9 +16908,6 @@ 0x80C1B568:("D_80C1B568","f32","",0x4), 0x80C1B56C:("D_80C1B56C","f32","",0x4), 0x80C1B570:("D_80C1B570","f32","",0x4), - 0x80C1B580:("objDanpeiliftOverlayInfo","OverlayRelocationSection","",0x14), - 0x80C1B594:("objDanpeiliftOverlayRelocations","u32","[39]",0x9c), - 0x80C1B63C:("objDanpeiliftOverlayInfoOffset","u32","",0x4), 0x80C1BBE0:("En_Fall2_InitVars","UNK_TYPE1","",0x1), 0x80C1BC00:("D_80C1BC00","UNK_TYPE1","",0x1), 0x80C1BC01:("D_80C1BC01","UNK_TYPE1","",0x1), @@ -18666,19 +16918,13 @@ 0x80C1BCF0:("D_80C1BCF0","f32","",0x4), 0x80C1BCF4:("D_80C1BCF4","f32","",0x4), 0x80C1BCF8:("D_80C1BCF8","f32","",0x4), - 0x80C1BD00:("enFall2OverlayInfo","OverlayRelocationSection","",0x14), - 0x80C1BD14:("enFall2OverlayRelocations","u32","[29]",0x74), - 0x80C1BD8C:("enFall2OverlayInfoOffset","u32","",0x4), 0x80C1C250:("Dm_Al_InitVars","UNK_TYPE1","",0x1), 0x80C1C270:("D_80C1C270","UNK_TYPE1","",0x1), 0x80C1C280:("D_80C1C280","UNK_TYPE4","",0x4), 0x80C1C294:("D_80C1C294","UNK_TYPE4","",0x4), 0x80C1C2AC:("D_80C1C2AC","UNK_TYPE1","",0x1), - 0x80C1C2B0:("jtbl_D_80C1C2B0","UNK_PTR","",0x4), - 0x80C1C2E4:("jtbl_D_80C1C2E4","UNK_PTR","",0x4), - 0x80C1C320:("dmAlOverlayInfo","OverlayRelocationSection","",0x14), - 0x80C1C334:("dmAlOverlayRelocations","u32","[53]",0xd4), - 0x80C1C40C:("dmAlOverlayInfoOffset","u32","",0x4), + 0x80C1C2B0:("jtbl_80C1C2B0","UNK_PTR","",0x4), + 0x80C1C2E4:("jtbl_80C1C2E4","UNK_PTR","",0x4), 0x80C1D1A0:("Dm_An_InitVars","UNK_TYPE1","",0x1), 0x80C1D1C0:("D_80C1D1C0","UNK_TYPE1","",0x1), 0x80C1D2A0:("D_80C1D2A0","UNK_TYPE4","",0x4), @@ -18687,38 +16933,23 @@ 0x80C1D2DC:("D_80C1D2DC","UNK_TYPE1","",0x1), 0x80C1D2E8:("D_80C1D2E8","UNK_TYPE4","",0x4), 0x80C1D2F4:("D_80C1D2F4","UNK_TYPE1","",0x1), - 0x80C1D310:("jtbl_D_80C1D310","UNK_PTR","",0x4), - 0x80C1D330:("dmAnOverlayInfo","OverlayRelocationSection","",0x14), - 0x80C1D344:("dmAnOverlayRelocations","u32","[48]",0xc0), - 0x80C1D40C:("dmAnOverlayInfoOffset","u32","",0x4), + 0x80C1D310:("jtbl_80C1D310","UNK_PTR","",0x4), 0x80C1DDC0:("Dm_Ah_InitVars","UNK_TYPE1","",0x1), 0x80C1DDE0:("D_80C1DDE0","UNK_PTR","",0x4), 0x80C1DE00:("D_80C1DE00","UNK_TYPE4","",0x4), 0x80C1DE14:("D_80C1DE14","UNK_TYPE1","",0x1), 0x80C1DE20:("D_80C1DE20","UNK_TYPE4","",0x4), 0x80C1DE28:("D_80C1DE28","UNK_TYPE1","",0x1), - 0x80C1DE40:("dmAhOverlayInfo","OverlayRelocationSection","",0x14), - 0x80C1DE54:("dmAhOverlayRelocations","u32","[30]",0x78), - 0x80C1DECC:("dmAhOverlayInfoOffset","u32","",0x4), 0x80C1E1E0:("Dm_Nb_InitVars","UNK_TYPE1","",0x1), 0x80C1E200:("D_80C1E200","UNK_TYPE1","",0x1), 0x80C1E210:("D_80C1E210","UNK_TYPE4","",0x4), - 0x80C1E230:("dmNbOverlayInfo","OverlayRelocationSection","",0x14), - 0x80C1E244:("dmNbOverlayRelocations","u32","[15]",0x3c), - 0x80C1E28C:("dmNbOverlayInfoOffset","u32","",0x4), 0x80C1E5C0:("En_Drs_InitVars","UNK_TYPE1","",0x1), 0x80C1E5E0:("D_80C1E5E0","UNK_TYPE1","",0x1), 0x80C1E60C:("D_80C1E60C","UNK_TYPE1","",0x1), 0x80C1E618:("D_80C1E618","UNK_TYPE1","",0x1), - 0x80C1E630:("enDrsOverlayInfo","OverlayRelocationSection","",0x14), - 0x80C1E644:("enDrsOverlayRelocations","u32","[18]",0x48), - 0x80C1E68C:("enDrsOverlayInfoOffset","u32","",0x4), 0x80C1E950:("En_Ending_Hero_InitVars","UNK_TYPE1","",0x1), 0x80C1E970:("D_80C1E970","UNK_TYPE1","",0x1), 0x80C1E984:("D_80C1E984","UNK_TYPE1","",0x1), - 0x80C1E990:("enEndingHeroOverlayInfo","OverlayRelocationSection","",0x14), - 0x80C1E9A4:("enEndingHeroOverlayRelocations","u32","[11]",0x2c), - 0x80C1E9DC:("enEndingHeroOverlayInfoOffset","u32","",0x4), 0x80C1F150:("Dm_Bal_InitVars","UNK_TYPE1","",0x1), 0x80C1F170:("D_80C1F170","UNK_PTR","",0x4), 0x80C1F2C0:("D_80C1F2C0","UNK_TYPE2","",0x2), @@ -18730,15 +16961,9 @@ 0x80C1F2EC:("D_80C1F2EC","f32","",0x4), 0x80C1F2F0:("D_80C1F2F0","f32","",0x4), 0x80C1F2F4:("D_80C1F2F4","f32","",0x4), - 0x80C1F300:("dmBalOverlayInfo","OverlayRelocationSection","",0x14), - 0x80C1F314:("dmBalOverlayRelocations","u32","[44]",0xb0), - 0x80C1F3CC:("dmBalOverlayInfoOffset","u32","",0x4), 0x80C1FC40:("En_Paper_InitVars","UNK_TYPE1","",0x1), 0x80C1FC60:("D_80C1FC60","UNK_TYPE4","",0x4), 0x80C1FC70:("D_80C1FC70","f32","",0x4), - 0x80C1FC80:("enPaperOverlayInfo","OverlayRelocationSection","",0x14), - 0x80C1FC94:("enPaperOverlayRelocations","u32","[21]",0x54), - 0x80C1FCEC:("enPaperOverlayInfoOffset","u32","",0x4), 0x80C21C60:("En_Hint_Skb_InitVars","UNK_TYPE1","",0x1), 0x80C21C80:("D_80C21C80","UNK_TYPE1","",0x1), 0x80C21CC8:("D_80C21CC8","UNK_TYPE1","",0x1), @@ -18757,49 +16982,28 @@ 0x80C21E88:("D_80C21E88","f32","",0x4), 0x80C21E8C:("D_80C21E8C","f32","",0x4), 0x80C21E90:("D_80C21E90","f32","",0x4), - 0x80C21E94:("jtbl_D_80C21E94","UNK_PTR","",0x4), - 0x80C21EB0:("jtbl_D_80C21EB0","UNK_PTR","",0x4), - 0x80C21EC8:("jtbl_D_80C21EC8","UNK_PTR","",0x4), - 0x80C21EF8:("jtbl_D_80C21EF8","UNK_PTR","",0x4), - 0x80C21F2C:("jtbl_D_80C21F2C","UNK_PTR","",0x4), + 0x80C21E94:("jtbl_80C21E94","UNK_PTR","",0x4), + 0x80C21EB0:("jtbl_80C21EB0","UNK_PTR","",0x4), + 0x80C21EC8:("jtbl_80C21EC8","UNK_PTR","",0x4), + 0x80C21EF8:("jtbl_80C21EF8","UNK_PTR","",0x4), + 0x80C21F2C:("jtbl_80C21F2C","UNK_PTR","",0x4), 0x80C21F68:("D_80C21F68","f32","",0x4), 0x80C21F6C:("D_80C21F6C","f32","",0x4), 0x80C21F70:("D_80C21F70","f32","",0x4), 0x80C21F74:("D_80C21F74","f32","",0x4), - 0x80C21F80:("enHintSkbOverlayInfo","OverlayRelocationSection","",0x14), - 0x80C21F94:("enHintSkbOverlayRelocations","u32","[235]",0x3ac), - 0x80C2234C:("enHintSkbOverlayInfoOffset","u32","",0x4), 0x80C22BD0:("Dm_Tag_InitVars","UNK_TYPE1","",0x1), 0x80C22BF0:("D_80C22BF0","UNK_TYPE1","",0x1), 0x80C22BFC:("D_80C22BFC","UNK_TYPE1","",0x1), 0x80C22C30:("D_80C22C30","UNK_TYPE1","",0x1), - 0x80C22C40:("jtbl_D_80C22C40","UNK_PTR","",0x4), - 0x80C22C60:("dmTagOverlayInfo","OverlayRelocationSection","",0x14), - 0x80C22C74:("dmTagOverlayRelocations","u32","[48]",0xc0), - 0x80C22D3C:("dmTagOverlayInfoOffset","u32","",0x4), + 0x80C22C40:("jtbl_80C22C40","UNK_PTR","",0x4), 0x80C231C0:("En_Bh_InitVars","UNK_TYPE1","",0x1), 0x80C231E0:("D_80C231E0","f32","",0x4), - 0x80C231F0:("enBhOverlayInfo","OverlayRelocationSection","",0x14), - 0x80C23204:("enBhOverlayRelocations","u32","[8]",0x20), - 0x80C2322C:("enBhOverlayInfoOffset","u32","",0x4), 0x80C23400:("En_Ending_Hero2_InitVars","UNK_TYPE1","",0x1), - 0x80C23420:("enEndingHero2OverlayInfo","OverlayRelocationSection","",0x14), - 0x80C23434:("enEndingHero2OverlayRelocations","u32","[7]",0x1c), - 0x80C2345C:("enEndingHero2OverlayInfoOffset","u32","",0x4), 0x80C23630:("En_Ending_Hero3_InitVars","UNK_TYPE1","",0x1), - 0x80C23650:("enEndingHero3OverlayInfo","OverlayRelocationSection","",0x14), - 0x80C23664:("enEndingHero3OverlayRelocations","u32","[7]",0x1c), - 0x80C2368C:("enEndingHero3OverlayInfoOffset","u32","",0x4), 0x80C23860:("En_Ending_Hero4_InitVars","UNK_TYPE1","",0x1), - 0x80C23880:("enEndingHero4OverlayInfo","OverlayRelocationSection","",0x14), - 0x80C23894:("enEndingHero4OverlayRelocations","u32","[7]",0x1c), - 0x80C238BC:("enEndingHero4OverlayInfoOffset","u32","",0x4), 0x80C23BD0:("En_Ending_Hero5_InitVars","UNK_TYPE1","",0x1), 0x80C23BF0:("D_80C23BF0","UNK_TYPE1","",0x1), - 0x80C23C10:("jtbl_D_80C23C10","UNK_PTR","",0x4), - 0x80C23C30:("enEndingHero5OverlayInfo","OverlayRelocationSection","",0x14), - 0x80C23C44:("enEndingHero5OverlayRelocations","u32","[18]",0x48), - 0x80C23C8C:("enEndingHero5OverlayInfoOffset","u32","",0x4), + 0x80C23C10:("jtbl_80C23C10","UNK_PTR","",0x4), 0x80C241E0:("En_Ending_Hero6_InitVars","UNK_TYPE1","",0x1), 0x80C24200:("D_80C24200","UNK_TYPE1","",0x1), 0x80C24224:("D_80C24224","UNK_TYPE1","",0x1), @@ -18807,10 +17011,7 @@ 0x80C2426C:("D_80C2426C","UNK_TYPE1","",0x1), 0x80C24280:("D_80C24280","UNK_TYPE1","",0x1), 0x80C24294:("D_80C24294","UNK_TYPE1","",0x1), - 0x80C242A0:("jtbl_D_80C242A0","UNK_PTR","",0x4), - 0x80C242C0:("enEndingHero6OverlayInfo","OverlayRelocationSection","",0x14), - 0x80C242D4:("enEndingHero6OverlayRelocations","u32","[33]",0x84), - 0x80C2435C:("enEndingHero6OverlayInfoOffset","u32","",0x4), + 0x80C242A0:("jtbl_80C242A0","UNK_PTR","",0x4), 0x80C250F0:("Dm_Gm_InitVars","UNK_TYPE1","",0x1), 0x80C25110:("D_80C25110","UNK_TYPE1","",0x1), 0x80C251F0:("D_80C251F0","UNK_TYPE4","",0x4), @@ -18819,33 +17020,19 @@ 0x80C2522C:("D_80C2522C","UNK_TYPE1","",0x1), 0x80C25238:("D_80C25238","UNK_TYPE4","",0x4), 0x80C25244:("D_80C25244","UNK_TYPE1","",0x1), - 0x80C25260:("jtbl_D_80C25260","UNK_PTR","",0x4), - 0x80C25280:("dmGmOverlayInfo","OverlayRelocationSection","",0x14), - 0x80C25294:("dmGmOverlayRelocations","u32","[48]",0xc0), - 0x80C2535C:("dmGmOverlayInfoOffset","u32","",0x4), + 0x80C25260:("jtbl_80C25260","UNK_PTR","",0x4), 0x80C257D0:("Obj_Swprize_InitVars","UNK_TYPE1","",0x1), 0x80C257F0:("D_80C257F0","UNK_TYPE1","",0x1), 0x80C257F4:("D_80C257F4","UNK_TYPE1","",0x1), 0x80C257F8:("D_80C257F8","UNK_TYPE2","",0x2), 0x80C25800:("D_80C25800","f32","",0x4), 0x80C25804:("D_80C25804","f32","",0x4), - 0x80C25810:("objSwprizeOverlayInfo","OverlayRelocationSection","",0x14), - 0x80C25824:("objSwprizeOverlayRelocations","u32","[28]",0x70), - 0x80C2589C:("objSwprizeOverlayInfoOffset","u32","",0x4), 0x80C25B30:("En_Invisible_Ruppe_InitVars","UNK_TYPE1","",0x1), 0x80C25B50:("D_80C25B50","UNK_TYPE1","",0x1), - 0x80C25B80:("enInvisibleRuppeOverlayInfo","OverlayRelocationSection","",0x14), - 0x80C25B94:("enInvisibleRuppeOverlayRelocations","u32","[10]",0x28), - 0x80C25BBC:("enInvisibleRuppeOverlayInfoOffset","u32","",0x4), 0x80C25CC0:("Obj_Ending_InitVars","UNK_TYPE1","",0x1), 0x80C25CE0:("sModelInfo","UNK_TYPE1","",0x1), 0x80C25CF8:("D_80C25CF8","UNK_TYPE1","",0x1), - 0x80C25D00:("objEndingOverlayInfo","OverlayRelocationSection","",0x14), - 0x80C25D14:("objEndingOverlayRelocations","u32","[7]",0x1c), - 0x80C25D3C:("objEndingOverlayInfoOffset","u32","",0x4), 0x80C25FF0:("En_Rsn_InitVars","UNK_TYPE1","",0x1), 0x80C26010:("D_80C26010","UNK_TYPE1","",0x1), 0x80C26028:("D_80C26028","UNK_TYPE4","",0x4), - 0x80C26040:("enRsnOverlayInfo","OverlayRelocationSection","",0x14), - 0x80C26054:("enRsnOverlayRelocations","u32","[15]",0x3c), } diff --git a/tools/dmadata.py b/tools/dmadata.py deleted file mode 100755 index 36edcbd9da..0000000000 --- a/tools/dmadata.py +++ /dev/null @@ -1,94 +0,0 @@ -#!/usr/bin/env python3 -import os, struct, sys, ast, argparse - -from elftools.elf.elffile import ELFFile - -def align_up(base, align_to): - return ((base + align_to - 1) // align_to) * align_to - -if __name__ == "__main__": - parser = argparse.ArgumentParser() - parser.add_argument('files', help='file list') - parser.add_argument('out', help='output file') - parser.add_argument('-l', '--linkscript', help='output linker script for file VROM addresses', metavar='filename') - parser.add_argument('-u', '--uncompressed', help='build dmadata from only uncompressed files', action='store_true', default=False) - parser.add_argument('-e', '--elf', help='Override files with sections of an ELF, if it contains them') - args = parser.parse_args() - - raw_elffile = None - elffile = None - if args.elf is not None: - raw_elffile = open(args.elf, 'rb') - elffile = ELFFile(raw_elffile) - - with open(args.out, 'wb') as dmadata, open(args.files, 'r') as files: - curr_vrom = 0 - curr_phys = 0 - dmadata_table = ast.literal_eval(files.read()) - linker_info = list() - for base_file, comp_file, alignment, size_if_missing in dmadata_table: - try: - file_name = base_file.split('/')[-1] - uncompressed = comp_file == '' or args.uncompressed - missing = base_file == '' and comp_file == '' - blank = missing and size_if_missing == 0 - is_dmadata = base_file.endswith('dmadata') - is_in_elf = file_name != '' and (elffile is not None) and (elffile.get_section_by_name(file_name) is not None) - - alignment = max(alignment, 0x10) - - if missing: - vrom_size = size_if_missing - phys_size = 0 - elif is_dmadata: - vrom_size = len(dmadata_table) * 0x10 - phys_size = vrom_size - elif is_in_elf: - vrom_size = elffile.get_section_by_name(file_name)['sh_size'] - phys_size = vrom_size - else: - vrom_size = os.path.getsize(base_file) - if uncompressed: - phys_size = vrom_size - else: - phys_size = os.path.getsize(comp_file) - - if blank: - vrom_start = 0 - vrom_end = 0 - else: - vrom_start = align_up(curr_vrom, alignment) - vrom_end = vrom_start + vrom_size - - if blank: - phys_start = 0 - phys_end = 0 - elif missing: - phys_start = 0xFFFFFFFF - phys_end = 0xFFFFFFFF - else: - phys_start = align_up(curr_phys, 0x10) - phys_end = 0 if uncompressed or is_dmadata else phys_start + phys_size - - curr_vrom = align_up(curr_vrom, alignment) + vrom_size - curr_phys = align_up(curr_phys, 0x10) + phys_size - - dmadata.write(vrom_start.to_bytes(4, 'big')) - dmadata.write(vrom_end.to_bytes(4, 'big')) - dmadata.write(phys_start.to_bytes(4, 'big')) - dmadata.write(phys_end.to_bytes(4, 'big')) - - if base_file != '': - file_name = 'dmadata' if is_dmadata else base_file - linker_info.append((os.path.basename(file_name), vrom_start, vrom_end)) - except: - print('Error when processing entry ' + base_file) - sys.exit(1) - - if args.linkscript: - with open(args.linkscript, 'w') as file: - for name, vrom_start, vrom_end in linker_info: - formatted_name = '_' + name if name[0].isdigit() else name - file.write('_{}SegmentRomStart = 0x{:08X};\n'.format(formatted_name, vrom_start)) - file.write('_{}SegmentRomEnd = 0x{:08X};\n'.format(formatted_name, vrom_end)) - file.write('\n') diff --git a/tools/dmadata_dependencies.py b/tools/dmadata_dependencies.py deleted file mode 100755 index f6a946771d..0000000000 --- a/tools/dmadata_dependencies.py +++ /dev/null @@ -1,56 +0,0 @@ -#!/usr/bin/env python3 -# Generate a .d file with Makefile variables from the dmadata_table.txt file - -import os, struct, sys, ast, argparse - - -def main(): - parser = argparse.ArgumentParser() - parser.add_argument("--yaz0-path", required=False, help="path to `yaz0` tool") - parser.add_argument( - "--dmadata-table", - type=argparse.FileType("r"), - help="dmadata_table.txt input file", - ) - parser.add_argument( - "--output-deps", type=argparse.FileType("w"), help="romfiles.d output file" - ) - args = parser.parse_args() - - dmadata_table = ast.literal_eval(args.dmadata_table.read()) - rom_files = [] - for base_file, comp_file, _, _ in dmadata_table: - if base_file == "": - assert comp_file == "" - continue - - # TODO: Unsure if it's better to emit these rules here, or use a set of - # prefix rules in the Makefile. - if args.yaz0_path is not None and comp_file.endswith(".yaz0"): - # Add a rule for generating the compressed `.yaz0` file - # from the uncompressed file - args.output_deps.write(f"{comp_file}: {base_file}\n") - args.output_deps.write(f"\t{args.yaz0_path} $< $@\n") - args.output_deps.write("\n") - - if comp_file == "": - comp_file = base_file - - rom_files.append((base_file, comp_file)) - args.dmadata_table.close() - - # Define lists of files for using in other rules - uncompressed_files, compressed_files = zip(*rom_files) - for var_name, filenames in ( - ("UNCOMPRESSED_ROM_FILES", uncompressed_files), - ("ROM_FILES", compressed_files), - ): - args.output_deps.write(f"{var_name} := \\\n") - for filename in filenames: - args.output_deps.write(f" {filename} \\\n") - args.output_deps.write("\n\n") - args.output_deps.close() - - -if __name__ == "__main__": - main() diff --git a/tools/extract_baserom.py b/tools/extract_baserom.py new file mode 100755 index 0000000000..a2734d9003 --- /dev/null +++ b/tools/extract_baserom.py @@ -0,0 +1,1618 @@ +#!/usr/bin/env python3 + +import os, struct, sys + +ROM_FILE_NAME = 'baserom_uncompressed.z64' +FILE_TABLE_OFFSET = 0x1A500 # 0x1C110 for JP1.0, 0x1C050 for JP1.1, 0x24F60 for debug + +FILE_NAMES = [ + 'makerom', + 'boot', + 'dmadata', + 'Audiobank', + 'Audioseq', + 'Audiotable', + 'kanji', + 'link_animetion', + 'icon_item_static_old', + 'icon_item_24_static_old', + 'icon_item_field_static', + 'icon_item_dungeon_static', + 'icon_item_gameover_static', + 'icon_item_jpn_static', + 'icon_item_vtx_static', + 'map_i_static', + 'map_grand_static', + 'item_name_static', + 'map_name_static', + 'icon_item_static_test', + 'icon_item_24_static_test', + 'schedule_dma_static_old', + 'schedule_dma_static_test', + 'schedule_static', + 'story_static', + 'do_action_static', + 'message_static', + 'message_texture_static', + 'nes_font_static', + 'message_data_static', + 'staff_message_data_static', + 'code', + 'ovl_title', + 'ovl_select', + 'ovl_opening', + 'ovl_file_choose', + 'ovl_daytelop', + 'ovl_kaleido_scope', + 'ovl_Player_Actor', + 'ovl_En_Test', + 'ovl_En_GirlA', + 'ovl_En_Part', + 'ovl_En_Light', + 'ovl_En_Door', + 'ovl_En_Box', + 'ovl_En_Pametfrog', + 'ovl_En_Okuta', + 'ovl_En_Bom', + 'ovl_En_Wallmas', + 'ovl_En_Dodongo', + 'ovl_En_Firefly', + 'ovl_En_Horse', + 'ovl_En_Arrow', + 'ovl_En_Elf', + 'ovl_En_Niw', + 'ovl_En_Tite', + 'ovl_En_Peehat', + 'ovl_En_Holl', + 'ovl_En_Dinofos', + 'ovl_En_Hata', + 'ovl_En_Zl1', + 'ovl_En_Viewer', + 'ovl_En_Bubble', + 'ovl_Door_Shutter', + 'ovl_En_Boom', + 'ovl_En_Torch2', + 'ovl_En_Minifrog', + 'ovl_En_St', + 'ovl_Obj_Wturn', + 'ovl_En_River_Sound', + 'ovl_En_Ossan', + 'ovl_En_Famos', + 'ovl_En_Bombf', + 'ovl_En_Am', + 'ovl_En_Dekubaba', + 'ovl_En_M_Fire1', + 'ovl_En_M_Thunder', + 'ovl_Bg_Breakwall', + 'ovl_Door_Warp1', + 'ovl_Obj_Syokudai', + 'ovl_Item_B_Heart', + 'ovl_En_Dekunuts', + 'ovl_En_Bbfall', + 'ovl_Arms_Hook', + 'ovl_En_Bb', + 'ovl_Bg_Keikoku_Spr', + 'ovl_En_Wood02', + 'ovl_En_Death', + 'ovl_En_Minideath', + 'ovl_En_Vm', + 'ovl_Demo_Effect', + 'ovl_Demo_Kankyo', + 'ovl_En_Floormas', + 'ovl_En_Rd', + 'ovl_Bg_F40_Flift', + 'ovl_Obj_Mure', + 'ovl_En_Sw', + 'ovl_Object_Kankyo', + 'ovl_En_Horse_Link_Child', + 'ovl_Door_Ana', + 'ovl_En_Encount1', + 'ovl_Demo_Tre_Lgt', + 'ovl_En_Encount2', + 'ovl_En_Fire_Rock', + 'ovl_Bg_Ctower_Rot', + 'ovl_Mir_Ray', + 'ovl_En_Sb', + 'ovl_En_Bigslime', + 'ovl_En_Karebaba', + 'ovl_En_In', + 'ovl_En_Bom_Chu', + 'ovl_En_Horse_Game_Check', + 'ovl_En_Rr', + 'ovl_En_Fr', + 'ovl_En_Fishing', + 'ovl_Obj_Oshihiki', + 'ovl_Eff_Dust', + 'ovl_Bg_Umajump', + 'ovl_En_Insect', + 'ovl_En_Butte', + 'ovl_En_Fish', + 'ovl_Item_Etcetera', + 'ovl_Arrow_Fire', + 'ovl_Arrow_Ice', + 'ovl_Arrow_Light', + 'ovl_Obj_Kibako', + 'ovl_Obj_Tsubo', + 'ovl_En_Ik', + 'ovl_Demo_Shd', + 'ovl_En_Dns', + 'ovl_Elf_Msg', + 'ovl_En_Honotrap', + 'ovl_En_Tubo_Trap', + 'ovl_Obj_Ice_Poly', + 'ovl_En_Fz', + 'ovl_En_Kusa', + 'ovl_Obj_Bean', + 'ovl_Obj_Bombiwa', + 'ovl_Obj_Switch', + 'ovl_Obj_Lift', + 'ovl_Obj_Hsblock', + 'ovl_En_Okarina_Tag', + 'ovl_En_Goroiwa', + 'ovl_En_Daiku', + 'ovl_En_Nwc', + 'ovl_Item_Inbox', + 'ovl_En_Ge1', + 'ovl_Obj_Blockstop', + 'ovl_En_Sda', + 'ovl_En_Clear_Tag', + 'ovl_En_Gm', + 'ovl_En_Ms', + 'ovl_En_Hs', + 'ovl_Bg_Ingate', + 'ovl_En_Kanban', + 'ovl_En_Attack_Niw', + 'ovl_En_Mk', + 'ovl_En_Owl', + 'ovl_En_Ishi', + 'ovl_Obj_Hana', + 'ovl_Obj_Lightswitch', + 'ovl_Obj_Mure2', + 'ovl_En_Fu', + 'ovl_En_Stream', + 'ovl_En_Mm', + 'ovl_En_Weather_Tag', + 'ovl_En_Ani', + 'ovl_En_Js', + 'ovl_En_Okarina_Effect', + 'ovl_En_Mag', + 'ovl_Elf_Msg2', + 'ovl_Bg_F40_Swlift', + 'ovl_En_Kakasi', + 'ovl_Obj_Makeoshihiki', + 'ovl_Oceff_Spot', + 'ovl_En_Torch', + 'ovl_Shot_Sun', + 'ovl_Obj_Roomtimer', + 'ovl_En_Ssh', + 'ovl_Oceff_Wipe', + 'ovl_Effect_Ss_Dust', + 'ovl_Effect_Ss_Kirakira', + 'ovl_Effect_Ss_Bomb2', + 'ovl_Effect_Ss_Blast', + 'ovl_Effect_Ss_G_Spk', + 'ovl_Effect_Ss_D_Fire', + 'ovl_Effect_Ss_Bubble', + 'ovl_Effect_Ss_G_Ripple', + 'ovl_Effect_Ss_G_Splash', + 'ovl_Effect_Ss_G_Fire', + 'ovl_Effect_Ss_Lightning', + 'ovl_Effect_Ss_Dt_Bubble', + 'ovl_Effect_Ss_Hahen', + 'ovl_Effect_Ss_Stick', + 'ovl_Effect_Ss_Sibuki', + 'ovl_Effect_Ss_Stone1', + 'ovl_Effect_Ss_Hitmark', + 'ovl_Effect_Ss_Fhg_Flash', + 'ovl_Effect_Ss_K_Fire', + 'ovl_Effect_Ss_Solder_Srch_Ball', + 'ovl_Effect_Ss_Kakera', + 'ovl_Effect_Ss_Ice_Piece', + 'ovl_Effect_Ss_En_Ice', + 'ovl_Effect_Ss_Fire_Tail', + 'ovl_Effect_Ss_En_Fire', + 'ovl_Effect_Ss_Extra', + 'ovl_Effect_Ss_Dead_Db', + 'ovl_Effect_Ss_Dead_Dd', + 'ovl_Effect_Ss_Dead_Ds', + 'ovl_Oceff_Storm', + 'ovl_Obj_Demo', + 'ovl_En_Minislime', + 'ovl_En_Nutsball', + 'ovl_Oceff_Wipe2', + 'ovl_Oceff_Wipe3', + 'ovl_En_Dg', + 'ovl_En_Si', + 'ovl_Obj_Comb', + 'ovl_Obj_Kibako2', + 'ovl_En_Hs2', + 'ovl_Obj_Mure3', + 'ovl_En_Tg', + 'ovl_En_Wf', + 'ovl_En_Skb', + 'ovl_En_Gs', + 'ovl_Obj_Sound', + 'ovl_En_Crow', + 'ovl_En_Cow', + 'ovl_Oceff_Wipe4', + 'ovl_En_Zo', + 'ovl_Effect_Ss_Ice_Smoke', + 'ovl_Obj_Makekinsuta', + 'ovl_En_Ge3', + 'ovl_Obj_Hamishi', + 'ovl_En_Zl4', + 'ovl_En_Mm2', + 'ovl_Door_Spiral', + 'ovl_Obj_Pzlblock', + 'ovl_Obj_Toge', + 'ovl_Obj_Armos', + 'ovl_Obj_Boyo', + 'ovl_En_Grasshopper', + 'ovl_Obj_Grass', + 'ovl_Obj_Grass_Carry', + 'ovl_Obj_Grass_Unit', + 'ovl_Bg_Fire_Wall', + 'ovl_En_Bu', + 'ovl_En_Encount3', + 'ovl_En_Jso', + 'ovl_Obj_Chikuwa', + 'ovl_En_Knight', + 'ovl_En_Warp_tag', + 'ovl_En_Aob_01', + 'ovl_En_Boj_01', + 'ovl_En_Boj_02', + 'ovl_En_Boj_03', + 'ovl_En_Encount4', + 'ovl_En_Bom_Bowl_Man', + 'ovl_En_Syateki_Man', + 'ovl_Bg_Icicle', + 'ovl_En_Syateki_Crow', + 'ovl_En_Boj_04', + 'ovl_En_Cne_01', + 'ovl_En_Bba_01', + 'ovl_En_Bji_01', + 'ovl_Bg_Spdweb', + 'ovl_En_Mt_tag', + 'ovl_Boss_01', + 'ovl_Boss_02', + 'ovl_Boss_03', + 'ovl_Boss_04', + 'ovl_Boss_05', + 'ovl_Boss_06', + 'ovl_Boss_07', + 'ovl_Bg_Dy_Yoseizo', + 'ovl_En_Boj_05', + 'ovl_En_Sob1', + 'ovl_En_Go', + 'ovl_En_Raf', + 'ovl_Obj_Funen', + 'ovl_Obj_Raillift', + 'ovl_Bg_Numa_Hana', + 'ovl_Obj_Flowerpot', + 'ovl_Obj_Spinyroll', + 'ovl_Dm_Hina', + 'ovl_En_Syateki_Wf', + 'ovl_Obj_Skateblock', + 'ovl_Effect_En_Ice_Block', + 'ovl_Obj_Iceblock', + 'ovl_En_Bigpamet', + 'ovl_Bg_Dblue_Movebg', + 'ovl_En_Syateki_Dekunuts', + 'ovl_Elf_Msg3', + 'ovl_En_Fg', + 'ovl_Dm_Ravine', + 'ovl_Dm_Sa', + 'ovl_En_Slime', + 'ovl_En_Pr', + 'ovl_Obj_Toudai', + 'ovl_Obj_Entotu', + 'ovl_Obj_Bell', + 'ovl_En_Syateki_Okuta', + 'ovl_Obj_Shutter', + 'ovl_Dm_Zl', + 'ovl_En_Ru', + 'ovl_En_Elfgrp', + 'ovl_Dm_Tsg', + 'ovl_En_Baguo', + 'ovl_Obj_Vspinyroll', + 'ovl_Obj_Smork', + 'ovl_En_Test2', + 'ovl_En_Test3', + 'ovl_En_Test4', + 'ovl_En_Bat', + 'ovl_En_Sekihi', + 'ovl_En_Wiz', + 'ovl_En_Wiz_Brock', + 'ovl_En_Wiz_Fire', + 'ovl_Eff_Change', + 'ovl_Dm_Statue', + 'ovl_Obj_Fireshield', + 'ovl_Bg_Ladder', + 'ovl_En_Mkk', + 'ovl_Demo_Getitem', + 'ovl_En_Dnb', + 'ovl_En_Dnh', + 'ovl_En_Dnk', + 'ovl_En_Dnq', + 'ovl_Bg_Keikoku_Saku', + 'ovl_Obj_Hugebombiwa', + 'ovl_En_Firefly2', + 'ovl_En_Rat', + 'ovl_En_Water_Effect', + 'ovl_En_Kusa2', + 'ovl_Bg_Spout_Fire', + 'ovl_En_Dy_Extra', + 'ovl_En_Bal', + 'ovl_En_Ginko_Man', + 'ovl_En_Warp_Uzu', + 'ovl_Obj_Driftice', + 'ovl_En_Look_Nuts', + 'ovl_En_Mushi2', + 'ovl_En_Fall', + 'ovl_En_Mm3', + 'ovl_Bg_Crace_Movebg', + 'ovl_En_Dno', + 'ovl_En_Pr2', + 'ovl_En_Prz', + 'ovl_En_Jso2', + 'ovl_Obj_Etcetera', + 'ovl_En_Egol', + 'ovl_Obj_Mine', + 'ovl_Obj_Purify', + 'ovl_En_Tru', + 'ovl_En_Trt', + 'ovl_En_Test5', + 'ovl_En_Test6', + 'ovl_En_Az', + 'ovl_En_Estone', + 'ovl_Bg_Hakugin_Post', + 'ovl_Dm_Opstage', + 'ovl_Dm_Stk', + 'ovl_Dm_Char00', + 'ovl_Dm_Char01', + 'ovl_Dm_Char02', + 'ovl_Dm_Char03', + 'ovl_Dm_Char04', + 'ovl_Dm_Char05', + 'ovl_Dm_Char06', + 'ovl_Dm_Char07', + 'ovl_Dm_Char08', + 'ovl_Dm_Char09', + 'ovl_Obj_Tokeidai', + 'ovl_En_Mnk', + 'ovl_En_Egblock', + 'ovl_En_Guard_Nuts', + 'ovl_Bg_Hakugin_Bombwall', + 'ovl_Obj_Tokei_Tobira', + 'ovl_Bg_Hakugin_Elvpole', + 'ovl_En_Ma4', + 'ovl_En_Twig', + 'ovl_En_Po_Fusen', + 'ovl_En_Door_Etc', + 'ovl_En_Bigokuta', + 'ovl_Bg_Icefloe', + 'ovl_fbdemo_triforce', + 'ovl_fbdemo_wipe1', + 'ovl_fbdemo_wipe3', + 'ovl_fbdemo_wipe4', + 'ovl_fbdemo_wipe5', + 'ovl_Effect_Ss_Sbn', + 'ovl_Obj_Ocarinalift', + 'ovl_En_Time_Tag', + 'ovl_Bg_Open_Shutter', + 'ovl_Bg_Open_Spot', + 'ovl_Bg_Fu_Kaiten', + 'ovl_Obj_Aqua', + 'ovl_En_Elforg', + 'ovl_En_Elfbub', + 'ovl_En_Fu_Mato', + 'ovl_En_Fu_Kago', + 'ovl_En_Osn', + 'ovl_Bg_Ctower_Gear', + 'ovl_En_Trt2', + 'ovl_Obj_Tokei_Step', + 'ovl_Bg_Lotus', + 'ovl_En_Kame', + 'ovl_Obj_Takaraya_Wall', + 'ovl_Bg_Fu_Mizu', + 'ovl_En_Sellnuts', + 'ovl_Bg_Dkjail_Ivy', + 'ovl_Obj_Visiblock', + 'ovl_En_Takaraya', + 'ovl_En_Tsn', + 'ovl_En_Ds2n', + 'ovl_En_Fsn', + 'ovl_En_Shn', + 'ovl_En_Stop_heishi', + 'ovl_Obj_Bigicicle', + 'ovl_En_Lift_Nuts', + 'ovl_En_Tk', + 'ovl_Bg_Market_Step', + 'ovl_Obj_Lupygamelift', + 'ovl_En_Test7', + 'ovl_Obj_Lightblock', + 'ovl_Mir_Ray2', + 'ovl_En_Wdhand', + 'ovl_En_Gamelupy', + 'ovl_Bg_Danpei_Movebg', + 'ovl_En_Snowwd', + 'ovl_En_Pm', + 'ovl_En_Gakufu', + 'ovl_Elf_Msg4', + 'ovl_Elf_Msg5', + 'ovl_En_Col_Man', + 'ovl_En_Talk_Gibud', + 'ovl_En_Giant', + 'ovl_Obj_Snowball', + 'ovl_Boss_Hakugin', + 'ovl_En_Gb2', + 'ovl_En_Onpuman', + 'ovl_Bg_Tobira01', + 'ovl_En_Tag_Obj', + 'ovl_Obj_Dhouse', + 'ovl_Obj_Hakaisi', + 'ovl_Bg_Hakugin_Switch', + 'ovl_En_Snowman', + 'ovl_TG_Sw', + 'ovl_En_Po_Sisters', + 'ovl_En_Pp', + 'ovl_En_Hakurock', + 'ovl_En_Hanabi', + 'ovl_Obj_Dowsing', + 'ovl_Obj_Wind', + 'ovl_En_Racedog', + 'ovl_En_Kendo_Js', + 'ovl_Bg_Botihasira', + 'ovl_En_Fish2', + 'ovl_En_Pst', + 'ovl_En_Poh', + 'ovl_Obj_Spidertent', + 'ovl_En_Zoraegg', + 'ovl_En_Kbt', + 'ovl_En_Gg', + 'ovl_En_Maruta', + 'ovl_Obj_Snowball2', + 'ovl_En_Gg2', + 'ovl_Obj_Ghaka', + 'ovl_En_Dnp', + 'ovl_En_Dai', + 'ovl_Bg_Goron_Oyu', + 'ovl_En_Kgy', + 'ovl_En_Invadepoh', + 'ovl_En_Gk', + 'ovl_En_An', + 'ovl_En_Bee', + 'ovl_En_Ot', + 'ovl_En_Dragon', + 'ovl_Obj_Dora', + 'ovl_En_Bigpo', + 'ovl_Obj_Kendo_Kanban', + 'ovl_Obj_Hariko', + 'ovl_En_Sth', + 'ovl_Bg_Sinkai_Kabe', + 'ovl_Bg_Haka_Curtain', + 'ovl_Bg_Kin2_Bombwall', + 'ovl_Bg_Kin2_Fence', + 'ovl_Bg_Kin2_Picture', + 'ovl_Bg_Kin2_Shelf', + 'ovl_En_Rail_Skb', + 'ovl_En_Jg', + 'ovl_En_Tru_Mt', + 'ovl_Obj_Um', + 'ovl_En_Neo_Reeba', + 'ovl_Bg_Mbar_Chair', + 'ovl_Bg_Ikana_Block', + 'ovl_Bg_Ikana_Mirror', + 'ovl_Bg_Ikana_Rotaryroom', + 'ovl_Bg_Dblue_Balance', + 'ovl_Bg_Dblue_Waterfall', + 'ovl_En_Kaizoku', + 'ovl_En_Ge2', + 'ovl_En_Ma_Yts', + 'ovl_En_Ma_Yto', + 'ovl_Obj_Tokei_Turret', + 'ovl_Bg_Dblue_Elevator', + 'ovl_Obj_Warpstone', + 'ovl_En_Zog', + 'ovl_Obj_Rotlift', + 'ovl_Obj_Jg_Gakki', + 'ovl_Bg_Inibs_Movebg', + 'ovl_En_Zot', + 'ovl_Obj_Tree', + 'ovl_Obj_Y2lift', + 'ovl_Obj_Y2shutter', + 'ovl_Obj_Boat', + 'ovl_Obj_Taru', + 'ovl_Obj_Hunsui', + 'ovl_En_Jc_Mato', + 'ovl_Mir_Ray3', + 'ovl_En_Zob', + 'ovl_Elf_Msg6', + 'ovl_Obj_Nozoki', + 'ovl_En_Toto', + 'ovl_En_Railgibud', + 'ovl_En_Baba', + 'ovl_En_Suttari', + 'ovl_En_Zod', + 'ovl_En_Kujiya', + 'ovl_En_Geg', + 'ovl_Obj_Kinoko', + 'ovl_Obj_Yasi', + 'ovl_En_Tanron1', + 'ovl_En_Tanron2', + 'ovl_En_Tanron3', + 'ovl_Obj_Chan', + 'ovl_En_Zos', + 'ovl_En_S_Goro', + 'ovl_En_Nb', + 'ovl_En_Ja', + 'ovl_Bg_F40_Block', + 'ovl_Bg_F40_Switch', + 'ovl_En_Po_Composer', + 'ovl_En_Guruguru', + 'ovl_Oceff_Wipe5', + 'ovl_En_Stone_heishi', + 'ovl_Oceff_Wipe6', + 'ovl_En_Scopenuts', + 'ovl_En_Scopecrow', + 'ovl_Oceff_Wipe7', + 'ovl_Eff_Kamejima_Wave', + 'ovl_En_Hg', + 'ovl_En_Hgo', + 'ovl_En_Zov', + 'ovl_En_Ah', + 'ovl_Obj_Hgdoor', + 'ovl_Bg_Ikana_Bombwall', + 'ovl_Bg_Ikana_Ray', + 'ovl_Bg_Ikana_Shutter', + 'ovl_Bg_Haka_Bombwall', + 'ovl_Bg_Haka_Tomb', + 'ovl_En_Sc_Ruppe', + 'ovl_Bg_Iknv_Doukutu', + 'ovl_Bg_Iknv_Obj', + 'ovl_En_Pamera', + 'ovl_Obj_HsStump', + 'ovl_En_Hidden_Nuts', + 'ovl_En_Zow', + 'ovl_En_Talk', + 'ovl_En_Al', + 'ovl_En_Tab', + 'ovl_En_Nimotsu', + 'ovl_En_Hit_Tag', + 'ovl_En_Ruppecrow', + 'ovl_En_Tanron4', + 'ovl_En_Tanron5', + 'ovl_En_Tanron6', + 'ovl_En_Daiku2', + 'ovl_En_Muto', + 'ovl_En_Baisen', + 'ovl_En_Heishi', + 'ovl_En_Demo_heishi', + 'ovl_En_Dt', + 'ovl_En_Cha', + 'ovl_Obj_Dinner', + 'ovl_Eff_Lastday', + 'ovl_Bg_Ikana_Dharma', + 'ovl_En_Akindonuts', + 'ovl_Eff_Stk', + 'ovl_En_Ig', + 'ovl_En_Rg', + 'ovl_En_Osk', + 'ovl_En_Sth2', + 'ovl_En_Yb', + 'ovl_En_Rz', + 'ovl_En_Scopecoin', + 'ovl_En_Bjt', + 'ovl_En_Bomjima', + 'ovl_En_Bomjimb', + 'ovl_En_Bombers', + 'ovl_En_Bombers2', + 'ovl_En_Bombal', + 'ovl_Obj_Moon_Stone', + 'ovl_Obj_Mu_Pict', + 'ovl_Bg_Ikninside', + 'ovl_Eff_Zoraband', + 'ovl_Obj_Kepn_Koya', + 'ovl_Obj_Usiyane', + 'ovl_En_Nnh', + 'ovl_Obj_Kzsaku', + 'ovl_Obj_Milk_Bin', + 'ovl_En_Kitan', + 'ovl_Bg_Astr_Bombwall', + 'ovl_Bg_Iknin_Susceil', + 'ovl_En_Bsb', + 'ovl_En_Recepgirl', + 'ovl_En_Thiefbird', + 'ovl_En_Jgame_Tsn', + 'ovl_Obj_Jgame_Light', + 'ovl_Obj_Yado', + 'ovl_Demo_Syoten', + 'ovl_Demo_Moonend', + 'ovl_Bg_Lbfshot', + 'ovl_Bg_Last_Bwall', + 'ovl_En_And', + 'ovl_En_Invadepoh_Demo', + 'ovl_Obj_Danpeilift', + 'ovl_En_Fall2', + 'ovl_Dm_Al', + 'ovl_Dm_An', + 'ovl_Dm_Ah', + 'ovl_Dm_Nb', + 'ovl_En_Drs', + 'ovl_En_Ending_Hero', + 'ovl_Dm_Bal', + 'ovl_En_Paper', + 'ovl_En_Hint_Skb', + 'ovl_Dm_Tag', + 'ovl_En_Bh', + 'ovl_En_Ending_Hero2', + 'ovl_En_Ending_Hero3', + 'ovl_En_Ending_Hero4', + 'ovl_En_Ending_Hero5', + 'ovl_En_Ending_Hero6', + 'ovl_Dm_Gm', + 'ovl_Obj_Swprize', + 'ovl_En_Invisible_Ruppe', + 'ovl_Obj_Ending', + 'ovl_En_Rsn', + 'gameplay_keep', + 'gameplay_field_keep', + 'gameplay_dangeon_keep', + 'gameplay_object_exchange_static', + 'object_link_boy', + 'object_link_child', + 'object_link_goron', + 'object_link_zora', + 'object_link_nuts', + 'object_mask_ki_tan', + 'object_mask_rabit', + 'object_mask_skj', + 'object_mask_truth', + 'object_mask_gibudo', + 'object_mask_json', + 'object_mask_kerfay', + 'object_mask_bigelf', + 'object_mask_kyojin', + 'object_mask_romerny', + 'object_mask_posthat', + 'object_mask_zacho', + 'object_mask_stone', + 'object_mask_bree', + 'object_mask_gero', + 'object_mask_yofukasi', + 'object_mask_meoto', + 'object_mask_dancer', + 'object_mask_bakuretu', + 'object_mask_bu_san', + 'object_mask_goron', + 'object_mask_zora', + 'object_mask_nuts', + 'object_mask_boy', + 'object_box', + 'object_okuta', + 'object_wallmaster', + 'object_dy_obj', + 'object_firefly', + 'object_dodongo', + 'object_niw', + 'object_tite', + 'object_ph', + 'object_dinofos', + 'object_zl1', + 'object_bubble', + 'object_test3', + 'object_famos', + 'object_st', + 'object_thiefbird', + 'object_bombf', + 'object_am', + 'object_dekubaba', + 'object_warp1', + 'object_b_heart', + 'object_dekunuts', + 'object_bb', + 'object_death', + 'object_hata', + 'object_wood02', + 'object_trap', + 'object_vm', + 'object_efc_star_field', + 'object_rd', + 'object_yukimura_obj', + # skip object_heavy_object (in JP) + 'object_horse_link_child', + 'object_syokudai', + 'object_efc_tw', + 'object_gi_key', + 'object_mir_ray', + 'object_ctower_rot', + 'object_bdoor', + 'object_sb', + 'object_gi_melody', + 'object_gi_heart', + 'object_gi_compass', + 'object_gi_bosskey', + 'object_gi_nuts', + 'object_gi_hearts', + 'object_gi_arrowcase', + 'object_gi_bombpouch', + 'object_in', + 'object_os_anime', + 'object_gi_bottle', + 'object_gi_stick', + 'object_gi_map', + 'object_oF1d_map', + 'object_ru2', + 'object_gi_magicpot', + 'object_gi_bomb_1', + 'object_ma2', + 'object_gi_purse', + 'object_rr', + 'object_gi_arrow', + 'object_gi_bomb_2', + 'object_gi_shield_2', + 'object_gi_hookshot', + 'object_gi_ocarina', + 'object_gi_milk', + 'object_ma1', + 'object_ny', + 'object_fr', + 'object_gi_bow', + 'object_gi_glasses', + 'object_gi_liquid', + 'object_ani', + 'object_gi_shield_3', + 'object_gi_bean', + 'object_gi_fish', + 'object_gi_longsword', + 'object_zo', + 'object_umajump', + 'object_mastergolon', + 'object_masterzoora', + 'object_aob', + 'object_ik', + 'object_ahg', + 'object_cne', + 'object_bji', + 'object_bba', + 'object_an1', + 'object_boj', + 'object_fz', + 'object_bob', + 'object_ge1', + 'object_yabusame_point', + 'object_d_hsblock', + 'object_d_lift', + 'object_mamenoki', + 'object_goroiwa', + 'object_toryo', + 'object_daiku', + 'object_nwc', + 'object_gm', + 'object_ms', + 'object_hs', + 'object_lightswitch', + 'object_kusa', + 'object_tsubo', + 'object_kanban', + 'object_owl', + 'object_mk', + 'object_fu', + 'object_gi_ki_tan_mask', + 'object_gi_mask18', + 'object_gi_rabit_mask', + 'object_gi_truth_mask', + 'object_stream', + 'object_mm', + 'object_js', + 'object_cs', + 'object_gi_soldout', + 'object_mag', + 'object_gi_golonmask', + 'object_gi_zoramask', + 'object_ka', + 'object_zg', + 'object_gi_m_arrow', + 'object_ds2', + 'object_fish', + 'object_gi_sutaru', + 'object_ssh', + 'object_bigslime', + 'object_bg', + 'object_bombiwa', + 'object_hintnuts', + 'object_rs', + 'object_gla', + 'object_geldb', + 'object_dog', + 'object_kibako2', + 'object_dns', + 'object_dnk', + 'object_gi_insect', + 'object_gi_ghost', + 'object_gi_soul', + 'object_f40_obj', + 'object_gi_rupy', + 'object_po_composer', + 'object_mu', + 'object_wf', + 'object_skb', + 'object_gs', + 'object_ps', + 'object_omoya_obj', + 'object_crow', + 'object_cow', + 'object_gi_sword_1', + 'object_zl4', + 'object_grasshopper', + 'object_boyo', + 'object_fwall', + 'object_jso', + 'object_knight', + 'object_icicle', + 'object_spdweb', + 'object_boss01', + 'object_boss02', + 'object_boss03', + 'object_boss04', + 'object_boss05', + 'object_boss07', + 'object_raf', + 'object_funen', + 'object_raillift', + 'object_numa_obj', + 'object_flowerpot', + 'object_spinyroll', + 'object_ice_block', + 'object_keikoku_demo', + 'object_slime', + 'object_pr', + 'object_f52_obj', + 'object_f53_obj', + 'object_kibako', + 'object_sek', + 'object_gmo', + 'object_bat', + 'object_sekihil', + 'object_sekihig', + 'object_sekihin', + 'object_sekihiz', + 'object_wiz', + 'object_ladder', + 'object_mkk', + 'object_keikoku_obj', + 'object_sichitai_obj', + 'object_dekucity_ana_obj', + 'object_rat', + 'object_water_effect', + 'object_dblue_object', + 'object_bal', + 'object_warp_uzu', + 'object_driftice', + 'object_fall', + 'object_hanareyama_obj', + 'object_crace_object', + 'object_dnq', + 'object_obj_tokeidai', + 'object_eg', + 'object_tru', + 'object_trt', + 'object_hakugin_obj', + 'object_horse_game_check', + 'object_stk', + 'object_mnk', + 'object_gi_bottle_red', + 'object_tokei_tobira', + 'object_az', + 'object_twig', + 'object_dekucity_obj', + 'object_po_fusen', + 'object_racetsubo', + 'object_ha', + 'object_bigokuta', + 'object_open_obj', + 'object_fu_kaiten', + 'object_fu_mato', + 'object_mtoride', + 'object_osn', + 'object_tokei_step', + 'object_lotus', + 'object_tl', + 'object_dkjail_obj', + 'object_visiblock', + 'object_tsn', + 'object_ds2n', + 'object_fsn', + 'object_shn', + 'object_bigicicle', + 'object_gi_bottle_15', + 'object_tk', + 'object_market_obj', + 'object_gi_reserve00', + 'object_gi_reserve01', + 'object_lightblock', + 'object_takaraya_objects', + 'object_wdhand', + 'object_sdn', + 'object_snowwd', + 'object_giant', + 'object_comb', + 'object_hana', + 'object_boss_hakugin', + 'object_meganeana_obj', + 'object_gi_nutsmask', + 'object_stk2', + 'object_spot11_obj', + 'object_danpei_object', + 'object_dhouse', + 'object_hakaisi', + 'object_po', + 'object_snowman', + 'object_po_sisters', + 'object_pp', + 'object_goronswitch', + 'object_delf', + 'object_botihasira', + 'object_gi_bigbomb', + 'object_pst', + 'object_bsmask', + 'object_spidertent', + 'object_zoraegg', + 'object_kbt', + 'object_gg', + 'object_maruta', + 'object_ghaka', + 'object_oyu', + 'object_dnp', + 'object_dai', + 'object_kgy', + 'object_fb', + 'object_taisou', + 'object_gk', + 'object_haka_obj', + 'object_dnt', + 'object_yukiyama', + 'object_icefloe', + 'object_gi_gold_dust', + 'object_gi_bottle_16', + 'object_gi_bottle_22', + 'object_bee', + 'object_ot', + 'object_utubo', + 'object_dora', + 'object_gi_loach', + 'object_gi_seahorse', + 'object_bigpo', + 'object_hariko', + 'object_dno', + 'object_sinkai_kabe', + 'object_kin2_obj', + 'object_ishi', + 'object_hakugin_demo', + 'object_jg', + 'object_gi_sword_2', + 'object_gi_sword_3', + 'object_gi_sword_4', + 'object_um', + 'object_rb', + 'object_mbar_obj', + 'object_ikana_obj', + 'object_kz', + 'object_tokei_turret', + 'object_zog', + 'object_rotlift', + 'object_posthouse_obj', + 'object_gi_mask09', + 'object_gi_mask14', + 'object_gi_mask15', + 'object_inibs_object', + 'object_tree', + 'object_kaizoku_obj', + 'object_gi_reserve_b_00', + 'object_gi_reserve_c_00', + 'object_zob', + 'object_milkbar', + 'object_dmask', + 'object_gi_reserve_c_01', + 'object_zod', + 'object_kumo30', + 'object_obj_yasi', + 'object_tanron1', + 'object_tanron2', + 'object_tanron3', + 'object_gi_magicmushroom', + 'object_obj_chan', + 'object_gi_mask10', + 'object_zos', + 'object_an2', + 'object_an3', + 'object_f40_switch', + 'object_lodmoon', + 'object_tro', + 'object_gi_mask12', + 'object_gi_mask23', + 'object_gi_bottle_21', + 'object_gi_camera', + 'object_kamejima', + 'object_nb', + 'object_harfgibud', + 'object_zov', + 'object_ah', + 'object_hgdoor', + 'object_dor01', + 'object_dor02', + 'object_dor03', + 'object_dor04', + 'object_last_obj', + 'object_redead_obj', + 'object_ikninside_obj', + 'object_iknv_obj', + 'object_pamera', + 'object_hsstump', + 'object_zm', + 'object_al', + 'object_tab', + 'object_secom_obj', + 'object_dt', + 'object_gi_mask03', + 'object_cha', + 'object_obj_dinner', + 'object_gi_reserve_b_01', + 'object_lastday', + 'object_bai', + 'object_ikn_demo', + 'object_gi_fieldmap', + 'object_big_fwall', + 'object_hunsui', + 'object_uch', + 'object_tanron4', + 'object_tanron5', + 'object_in2', + 'object_yb', + 'object_rz', + 'object_bjt', + 'object_taru', + 'object_moonston', + 'object_gi_schedule', + 'object_gi_stonemask', + 'object_zoraband', + 'object_kepn_koya', + 'object_obj_usiyane', + 'object_gi_mask05', + 'object_gi_mask11', + 'object_gi_mask20', + 'object_nnh', + 'object_kzsaku', + 'object_obj_milk_bin', + 'object_random_obj', + 'object_kujiya', + 'object_kitan', + 'object_gi_mask06', + 'object_gi_mask16', + 'object_astr_obj', + 'object_bsb', + 'object_fall2', + 'object_sth', + 'object_gi_mssa', + 'object_smtower', + 'object_gi_mask21', + 'object_yado_obj', + 'object_syoten', + 'object_moonend', + 'object_ob', + 'object_gi_bottle_04', + 'object_and', + 'object_obj_danpeilift', + 'object_drs', + 'object_msmo', + 'object_an4', + 'object_wdor01', + 'object_wdor02', + 'object_wdor03', + 'object_wdor04', + 'object_wdor05', + 'object_stk3', + 'object_kinsta1_obj', + 'object_kinsta2_obj', + 'object_bh', + 'object_gi_mask17', + 'object_gi_mask22', + 'object_lbfshot', + 'object_fusen', + 'object_ending_obj', + 'object_gi_mask13', + 'scene_texture_01', # Map Textures - Building Interiors I + 'scene_texture_02', # Map Textures - Building Interiors II + 'scene_texture_03', # Map Textures - Lost Woods + 'scene_texture_04', # Map Textures - Mountains + 'scene_texture_05', # Map Textures - Ocean + 'scene_texture_06', # Map Textures - Swamp + 'scene_texture_07', + 'scene_texture_08', # Map Textures - Field + 'nintendo_rogo_static', + 'title_static', + 'memerrmsg', + 'locerrmsg', + 'parameter_static', + 'week_static', + 'daytelop_static', + 'ger_daytelop_static', + 'fra_daytelop_static', + 'esp_daytelop_static', + 'd2_fine_static', + 'd2_cloud_static', + 'd2_fine_pal_static', + 'elf_message_field', + 'elf_message_ydan', + 'Z2_20SICHITAI2', + 'Z2_20SICHITAI2_room_00', + 'Z2_20SICHITAI2_room_01', + 'Z2_20SICHITAI2_room_02', + 'Z2_WITCH_SHOP', + 'Z2_WITCH_SHOP_room_00', + 'Z2_LAST_BS', + 'Z2_LAST_BS_room_00', + 'Z2_HAKASHITA', + 'Z2_HAKASHITA_room_00', + 'Z2_HAKASHITA_room_01', + 'Z2_HAKASHITA_room_02', + 'Z2_HAKASHITA_room_03', + 'Z2_HAKASHITA_room_04', + 'Z2_AYASHIISHOP', + 'Z2_AYASHIISHOP_room_00', + 'Z2_AYASHIISHOP_room_01', + 'Z2_OMOYA', + 'Z2_OMOYA_room_00', + 'Z2_OMOYA_room_01', + 'Z2_OMOYA_room_02', + 'Z2_BOWLING', + 'Z2_BOWLING_room_00', + 'Z2_SONCHONOIE', + 'Z2_SONCHONOIE_room_00', + 'Z2_SONCHONOIE_room_01', + 'Z2_SONCHONOIE_room_02', + 'Z2_SONCHONOIE_room_03', + 'Z2_IKANA', + 'Z2_IKANA_room_00', + 'Z2_IKANA_room_01', + 'Z2_IKANA_room_02', + 'Z2_IKANA_room_03', + 'Z2_IKANA_room_04', + 'Z2_KAIZOKU', + 'Z2_KAIZOKU_room_00', + 'Z2_MILK_BAR', + 'Z2_MILK_BAR_room_00', + 'Z2_INISIE_N', + 'Z2_INISIE_N_room_00', + 'Z2_INISIE_N_room_01', + 'Z2_INISIE_N_room_02', + 'Z2_INISIE_N_room_03', + 'Z2_INISIE_N_room_04', + 'Z2_INISIE_N_room_05', + 'Z2_INISIE_N_room_06', + 'Z2_INISIE_N_room_07', + 'Z2_INISIE_N_room_08', + 'Z2_INISIE_N_room_09', + 'Z2_INISIE_N_room_10', + 'Z2_INISIE_N_room_11', + 'Z2_TAKARAYA', + 'Z2_TAKARAYA_room_00', + 'Z2_INISIE_R', + 'Z2_INISIE_R_room_00', + 'Z2_INISIE_R_room_01', + 'Z2_INISIE_R_room_02', + 'Z2_INISIE_R_room_03', + 'Z2_INISIE_R_room_04', + 'Z2_INISIE_R_room_05', + 'Z2_INISIE_R_room_06', + 'Z2_INISIE_R_room_07', + 'Z2_INISIE_R_room_08', + 'Z2_INISIE_R_room_09', + 'Z2_INISIE_R_room_10', + 'Z2_INISIE_R_room_11', + 'Z2_OKUJOU', + 'Z2_OKUJOU_room_00', + 'Z2_OPENINGDAN', + 'Z2_OPENINGDAN_room_00', + 'Z2_OPENINGDAN_room_01', + 'Z2_MITURIN', + 'Z2_MITURIN_room_00', + 'Z2_MITURIN_room_01', + 'Z2_MITURIN_room_02', + 'Z2_MITURIN_room_03', + 'Z2_MITURIN_room_04', + 'Z2_MITURIN_room_05', + 'Z2_MITURIN_room_06', + 'Z2_MITURIN_room_07', + 'Z2_MITURIN_room_08', + 'Z2_MITURIN_room_09', + 'Z2_MITURIN_room_10', + 'Z2_MITURIN_room_11', + 'Z2_MITURIN_room_12', + 'Z2_13HUBUKINOMITI', + 'Z2_13HUBUKINOMITI_room_00', + 'Z2_CASTLE', + 'Z2_CASTLE_room_00', + 'Z2_CASTLE_room_01', + 'Z2_CASTLE_room_02', + 'Z2_CASTLE_room_03', + 'Z2_CASTLE_room_04', + 'Z2_CASTLE_room_05', + 'Z2_CASTLE_room_06', + 'Z2_CASTLE_room_07', + 'Z2_CASTLE_room_08', + 'Z2_CASTLE_room_09', + 'Z2_DEKUTES', + 'Z2_DEKUTES_room_00', + 'Z2_MITURIN_BS', + 'Z2_MITURIN_BS_room_00', + 'Z2_SYATEKI_MIZU', + 'Z2_SYATEKI_MIZU_room_00', + 'Z2_HAKUGIN', + 'Z2_HAKUGIN_room_00', + 'Z2_HAKUGIN_room_01', + 'Z2_HAKUGIN_room_02', + 'Z2_HAKUGIN_room_03', + 'Z2_HAKUGIN_room_04', + 'Z2_HAKUGIN_room_05', + 'Z2_HAKUGIN_room_06', + 'Z2_HAKUGIN_room_07', + 'Z2_HAKUGIN_room_08', + 'Z2_HAKUGIN_room_09', + 'Z2_HAKUGIN_room_10', + 'Z2_HAKUGIN_room_11', + 'Z2_HAKUGIN_room_12', + 'Z2_HAKUGIN_room_13', + 'Z2_ROMANYMAE', + 'Z2_ROMANYMAE_room_00', + 'Z2_PIRATE', + 'Z2_PIRATE_room_00', + 'Z2_PIRATE_room_01', + 'Z2_PIRATE_room_02', + 'Z2_PIRATE_room_03', + 'Z2_PIRATE_room_04', + 'Z2_PIRATE_room_05', + 'Z2_PIRATE_room_06', + 'Z2_PIRATE_room_07', + 'Z2_PIRATE_room_08', + 'Z2_PIRATE_room_09', + 'Z2_PIRATE_room_10', + 'Z2_PIRATE_room_11', + 'Z2_PIRATE_room_12', + 'Z2_PIRATE_room_13', + 'Z2_PIRATE_room_14', + 'Z2_SYATEKI_MORI', + 'Z2_SYATEKI_MORI_room_00', + 'Z2_SINKAI', + 'Z2_SINKAI_room_00', + 'Z2_YOUSEI_IZUMI', + 'Z2_YOUSEI_IZUMI_room_00', + 'Z2_YOUSEI_IZUMI_room_01', + 'Z2_YOUSEI_IZUMI_room_02', + 'Z2_YOUSEI_IZUMI_room_03', + 'Z2_YOUSEI_IZUMI_room_04', + 'Z2_KINSTA1', + 'Z2_KINSTA1_room_00', + 'Z2_KINSTA1_room_01', + 'Z2_KINSTA1_room_02', + 'Z2_KINSTA1_room_03', + 'Z2_KINSTA1_room_04', + 'Z2_KINSTA1_room_05', + 'Z2_KINDAN2', + 'Z2_KINDAN2_room_00', + 'Z2_KINDAN2_room_01', + 'Z2_KINDAN2_room_02', + 'Z2_KINDAN2_room_03', + 'Z2_KINDAN2_room_04', + 'Z2_KINDAN2_room_05', + 'Z2_TENMON_DAI', + 'Z2_TENMON_DAI_room_00', + 'Z2_TENMON_DAI_room_01', + 'Z2_LAST_DEKU', + 'Z2_LAST_DEKU_room_00', + 'Z2_LAST_DEKU_room_01', + 'Z2_22DEKUCITY', + 'Z2_22DEKUCITY_room_00', + 'Z2_22DEKUCITY_room_01', + 'Z2_22DEKUCITY_room_02', + 'Z2_KAJIYA', + 'Z2_KAJIYA_room_00', + 'Z2_00KEIKOKU', + 'Z2_00KEIKOKU_room_00', + 'Z2_POSTHOUSE', + 'Z2_POSTHOUSE_room_00', + 'Z2_LABO', + 'Z2_LABO_room_00', + 'Z2_DANPEI2TEST', + 'Z2_DANPEI2TEST_room_00', + 'Z2_DANPEI2TEST_room_01', + 'Z2_16GORON_HOUSE', + 'Z2_16GORON_HOUSE_room_00', + 'Z2_16GORON_HOUSE_room_01', + 'Z2_33ZORACITY', + 'Z2_33ZORACITY_room_00', + 'Z2_8ITEMSHOP', + 'Z2_8ITEMSHOP_room_00', + 'Z2_F01', + 'Z2_F01_room_00', + 'Z2_INISIE_BS', + 'Z2_INISIE_BS_room_00', + 'Z2_30GYOSON', + 'Z2_30GYOSON_room_00', + 'Z2_31MISAKI', + 'Z2_31MISAKI_room_00', + 'Z2_TAKARAKUJI', + 'Z2_TAKARAKUJI_room_00', + 'Z2_TORIDE', + 'Z2_TORIDE_room_00', + 'Z2_FISHERMAN', + 'Z2_FISHERMAN_room_00', + 'Z2_GORONSHOP', + 'Z2_GORONSHOP_room_00', + 'Z2_DEKU_KING', + 'Z2_DEKU_KING_room_00', + 'Z2_LAST_GORON', + 'Z2_LAST_GORON_room_00', + 'Z2_LAST_GORON_room_01', + 'Z2_24KEMONOMITI', + 'Z2_24KEMONOMITI_room_00', + 'Z2_F01_B', + 'Z2_F01_B_room_00', + 'Z2_F01C', + 'Z2_F01C_room_00', + 'Z2_BOTI', + 'Z2_BOTI_room_00', + 'Z2_BOTI_room_01', + 'Z2_HAKUGIN_BS', + 'Z2_HAKUGIN_BS_room_00', + 'Z2_20SICHITAI', + 'Z2_20SICHITAI_room_00', + 'Z2_20SICHITAI_room_01', + 'Z2_20SICHITAI_room_02', + 'Z2_21MITURINMAE', + 'Z2_21MITURINMAE_room_00', + 'Z2_LAST_ZORA', + 'Z2_LAST_ZORA_room_00', + 'Z2_11GORONNOSATO2', + 'Z2_11GORONNOSATO2_room_00', + 'Z2_11GORONNOSATO2_room_01', + 'Z2_SEA', + 'Z2_SEA_room_00', + 'Z2_SEA_room_01', + 'Z2_SEA_room_02', + 'Z2_SEA_room_03', + 'Z2_SEA_room_04', + 'Z2_SEA_room_05', + 'Z2_SEA_room_06', + 'Z2_SEA_room_07', + 'Z2_SEA_room_08', + 'Z2_SEA_room_09', + 'Z2_SEA_room_10', + 'Z2_SEA_room_11', + 'Z2_SEA_room_12', + 'Z2_SEA_room_13', + 'Z2_SEA_room_14', + 'Z2_SEA_room_15', + 'Z2_35TAKI', + 'Z2_35TAKI_room_00', + 'Z2_REDEAD', + 'Z2_REDEAD_room_00', + 'Z2_REDEAD_room_01', + 'Z2_REDEAD_room_02', + 'Z2_REDEAD_room_03', + 'Z2_REDEAD_room_04', + 'Z2_REDEAD_room_05', + 'Z2_REDEAD_room_06', + 'Z2_REDEAD_room_07', + 'Z2_REDEAD_room_08', + 'Z2_REDEAD_room_09', + 'Z2_REDEAD_room_10', + 'Z2_REDEAD_room_11', + 'Z2_REDEAD_room_12', + 'Z2_REDEAD_room_13', + 'Z2_BANDROOM', + 'Z2_BANDROOM_room_00', + 'Z2_BANDROOM_room_01', + 'Z2_BANDROOM_room_02', + 'Z2_BANDROOM_room_03', + 'Z2_BANDROOM_room_04', + 'Z2_11GORONNOSATO', + 'Z2_11GORONNOSATO_room_00', + 'Z2_11GORONNOSATO_room_01', + 'Z2_GORON_HAKA', + 'Z2_GORON_HAKA_room_00', + 'Z2_SECOM', + 'Z2_SECOM_room_00', + 'Z2_SECOM_room_01', + 'Z2_10YUKIYAMANOMURA', + 'Z2_10YUKIYAMANOMURA_room_00', + 'Z2_TOUGITES', + 'Z2_TOUGITES_room_00', + 'Z2_DANPEI', + 'Z2_DANPEI_room_00', + 'Z2_DANPEI_room_01', + 'Z2_DANPEI_room_02', + 'Z2_DANPEI_room_03', + 'Z2_DANPEI_room_04', + 'Z2_DANPEI_room_05', + 'Z2_DANPEI_room_06', + 'Z2_DANPEI_room_07', + 'Z2_DANPEI_room_08', + 'Z2_IKANAMAE', + 'Z2_IKANAMAE_room_00', + 'Z2_DOUJOU', + 'Z2_DOUJOU_room_00', + 'Z2_MUSICHOUSE', + 'Z2_MUSICHOUSE_room_00', + 'Z2_IKNINSIDE', + 'Z2_IKNINSIDE_room_00', + 'Z2_IKNINSIDE_room_01', + 'Z2_MAP_SHOP', + 'Z2_MAP_SHOP_room_00', + 'Z2_F40', + 'Z2_F40_room_00', + 'Z2_F41', + 'Z2_F41_room_00', + 'Z2_10YUKIYAMANOMURA2', + 'Z2_10YUKIYAMANOMURA2_room_00', + 'Z2_10YUKIYAMANOMURA2_room_01', + 'Z2_14YUKIDAMANOMITI', + 'Z2_14YUKIDAMANOMITI_room_00', + 'Z2_12HAKUGINMAE', + 'Z2_12HAKUGINMAE_room_00', + 'Z2_17SETUGEN', + 'Z2_17SETUGEN_room_00', + 'Z2_17SETUGEN2', + 'Z2_17SETUGEN2_room_00', + 'Z2_SEA_BS', + 'Z2_SEA_BS_room_00', + 'Z2_RANDOM', + 'Z2_RANDOM_room_00', + 'Z2_RANDOM_room_01', + 'Z2_RANDOM_room_02', + 'Z2_RANDOM_room_03', + 'Z2_RANDOM_room_04', + 'Z2_RANDOM_room_05', + 'Z2_YADOYA', + 'Z2_YADOYA_room_00', + 'Z2_YADOYA_room_01', + 'Z2_YADOYA_room_02', + 'Z2_YADOYA_room_03', + 'Z2_YADOYA_room_04', + 'Z2_KONPEKI_ENT', + 'Z2_KONPEKI_ENT_room_00', + 'Z2_INSIDETOWER', + 'Z2_INSIDETOWER_room_00', + 'Z2_INSIDETOWER_room_01', + 'Z2_26SARUNOMORI', + 'Z2_26SARUNOMORI_room_00', + 'Z2_26SARUNOMORI_room_01', + 'Z2_26SARUNOMORI_room_02', + 'Z2_26SARUNOMORI_room_03', + 'Z2_26SARUNOMORI_room_04', + 'Z2_26SARUNOMORI_room_05', + 'Z2_26SARUNOMORI_room_06', + 'Z2_26SARUNOMORI_room_07', + 'Z2_26SARUNOMORI_room_08', + 'Z2_LOST_WOODS', + 'Z2_LOST_WOODS_room_00', + 'Z2_LOST_WOODS_room_01', + 'Z2_LOST_WOODS_room_02', + 'Z2_LAST_LINK', + 'Z2_LAST_LINK_room_00', + 'Z2_LAST_LINK_room_01', + 'Z2_LAST_LINK_room_02', + 'Z2_LAST_LINK_room_03', + 'Z2_LAST_LINK_room_04', + 'Z2_LAST_LINK_room_05', + 'Z2_LAST_LINK_room_06', + 'Z2_LAST_LINK_room_07', + 'Z2_SOUGEN', + 'Z2_SOUGEN_room_00', + 'Z2_BOMYA', + 'Z2_BOMYA_room_00', + 'Z2_KYOJINNOMA', + 'Z2_KYOJINNOMA_room_00', + 'Z2_KOEPONARACE', + 'Z2_KOEPONARACE_room_00', + 'Z2_GORONRACE', + 'Z2_GORONRACE_room_00', + 'Z2_TOWN', + 'Z2_TOWN_room_00', + 'Z2_ICHIBA', + 'Z2_ICHIBA_room_00', + 'Z2_BACKTOWN', + 'Z2_BACKTOWN_room_00', + 'Z2_CLOCKTOWER', + 'Z2_CLOCKTOWER_room_00', + 'Z2_ALLEY', + 'Z2_ALLEY_room_00', + 'SPOT00', + 'SPOT00_room_00', + 'KAKUSIANA', + 'KAKUSIANA_room_00', + 'KAKUSIANA_room_01', + 'KAKUSIANA_room_02', + 'KAKUSIANA_room_03', + 'KAKUSIANA_room_04', + 'KAKUSIANA_room_05', + 'KAKUSIANA_room_06', + 'KAKUSIANA_room_07', + 'KAKUSIANA_room_08', + 'KAKUSIANA_room_09', + 'KAKUSIANA_room_10', + 'KAKUSIANA_room_11', + 'KAKUSIANA_room_12', + 'KAKUSIANA_room_13', + 'KAKUSIANA_room_14', + 'bump_texture_static', + 'anime_model_1_static', + 'anime_model_2_static', + 'anime_model_3_static', + 'anime_model_4_static', + 'anime_model_5_static', + 'anime_model_6_static', + 'anime_texture_1_static', + 'anime_texture_2_static', + 'anime_texture_3_static', + 'anime_texture_4_static', + 'anime_texture_5_static', + 'anime_texture_6_static', + 'softsprite_matrix_static', +] + +def read_uint32_be(offset): + return struct.unpack('>I', romData[offset:offset+4])[0] + +def write_output_file(name, offset, size): + try: + with open(name, 'wb') as f: + f.write(romData[offset:offset+size]) + except IOError: + print('failed to write file ' + name) + +try: + os.mkdir('baserom') +except: + pass + +# read baserom data +try: + with open(ROM_FILE_NAME, 'rb') as f: + romData = f.read() +except IOError: + print('failed to read file' + ROM_FILE_NAME) + sys.exit(1) + +# extract files +for i in range(0, len(FILE_NAMES)): + filename = 'baserom/' + FILE_NAMES[i] + entryOffset = FILE_TABLE_OFFSET + 16 * i + + virtStart = read_uint32_be(entryOffset + 0) + virtEnd = read_uint32_be(entryOffset + 4) + physStart = read_uint32_be(entryOffset + 8) + physEnd = read_uint32_be(entryOffset + 12) + + if physStart == 0xFFFFFFFF and physEnd == 0xFFFFFFFF: # file deleted + if (virtEnd - virtStart) == 0: + continue + physStart = virtStart + physEnd = 0 + compressed = False + size = virtEnd - virtStart + if physEnd == 0: # uncompressed + compressed = False + size = virtEnd - virtStart + else: # compressed + compressed = True + size = physEnd - physStart + + # print(f" 0x{virtStart:08X}:(\"_{filename.split('/')[-1]}SegmentRomStart\",\"UNK_TYPE\",\"\",0x4),") + # print(f" 0x{virtEnd:08X}:(\"_{filename.split('/')[-1]}SegmentRomEnd\",\"UNK_TYPE\",\"\",0x4),") + + #print(f"_{FILE_NAMES[i]}SegmentRomStart = {hex(virtStart)}\n_{FILE_NAMES[i]}SegmentRomEnd = {hex(virtEnd)}") + # print('extracting ' + filename + " (0x%08X, 0x%08X)" % (virtStart, virtEnd)) + write_output_file(filename, physStart, size) + if compressed: + os.system('tools/buildtools/yaz0 -d ' + filename + ' ' + filename) diff --git a/tools/extract_rom.py b/tools/extract_rom.py deleted file mode 100755 index 15161582bb..0000000000 --- a/tools/extract_rom.py +++ /dev/null @@ -1,1656 +0,0 @@ -#!/usr/bin/env python3 -import struct, os, sys, argparse - -from libyaz0 import decompress - -# TODO automatically find dmadata -FILE_TABLE_OFFSET = 0x1A500 # 0x1C110 for JP1.0, 0x1C050 for JP1.1, 0x24F60 for debug - -SCENE_NAMES = { - 1137:'Z2_20SICHITAI2', - 1138:'Z2_20SICHITAI2_room_00', - 1139:'Z2_20SICHITAI2_room_01', - 1140:'Z2_20SICHITAI2_room_02', - 1141:'Z2_WITCH_SHOP', - 1142:'Z2_WITCH_SHOP_room_00', - 1143:'Z2_LAST_BS', - 1144:'Z2_LAST_BS_room_00', - 1145:'Z2_HAKASHITA', - 1146:'Z2_HAKASHITA_room_00', - 1147:'Z2_HAKASHITA_room_01', - 1148:'Z2_HAKASHITA_room_02', - 1149:'Z2_HAKASHITA_room_03', - 1150:'Z2_HAKASHITA_room_04', - 1151:'Z2_AYASHIISHOP', - 1152:'Z2_AYASHIISHOP_room_00', - 1153:'Z2_AYASHIISHOP_room_01', - 1154:'Z2_OMOYA', - 1155:'Z2_OMOYA_room_00', - 1156:'Z2_OMOYA_room_01', - 1157:'Z2_OMOYA_room_02', - 1158:'Z2_BOWLING', - 1159:'Z2_BOWLING_room_00', - 1160:'Z2_SONCHONOIE', - 1161:'Z2_SONCHONOIE_room_00', - 1162:'Z2_SONCHONOIE_room_01', - 1163:'Z2_SONCHONOIE_room_02', - 1164:'Z2_SONCHONOIE_room_03', - 1165:'Z2_IKANA', - 1166:'Z2_IKANA_room_00', - 1167:'Z2_IKANA_room_01', - 1168:'Z2_IKANA_room_02', - 1169:'Z2_IKANA_room_03', - 1170:'Z2_IKANA_room_04', - 1171:'Z2_KAIZOKU', - 1172:'Z2_KAIZOKU_room_00', - 1173:'Z2_MILK_BAR', - 1174:'Z2_MILK_BAR_room_00', - 1175:'Z2_INISIE_N', - 1176:'Z2_INISIE_N_room_00', - 1177:'Z2_INISIE_N_room_01', - 1178:'Z2_INISIE_N_room_02', - 1179:'Z2_INISIE_N_room_03', - 1180:'Z2_INISIE_N_room_04', - 1181:'Z2_INISIE_N_room_05', - 1182:'Z2_INISIE_N_room_06', - 1183:'Z2_INISIE_N_room_07', - 1184:'Z2_INISIE_N_room_08', - 1185:'Z2_INISIE_N_room_09', - 1186:'Z2_INISIE_N_room_10', - 1187:'Z2_INISIE_N_room_11', - 1188:'Z2_TAKARAYA', - 1189:'Z2_TAKARAYA_room_00', - 1190:'Z2_INISIE_R', - 1191:'Z2_INISIE_R_room_00', - 1192:'Z2_INISIE_R_room_01', - 1193:'Z2_INISIE_R_room_02', - 1194:'Z2_INISIE_R_room_03', - 1195:'Z2_INISIE_R_room_04', - 1196:'Z2_INISIE_R_room_05', - 1197:'Z2_INISIE_R_room_06', - 1198:'Z2_INISIE_R_room_07', - 1199:'Z2_INISIE_R_room_08', - 1200:'Z2_INISIE_R_room_09', - 1201:'Z2_INISIE_R_room_10', - 1202:'Z2_INISIE_R_room_11', - 1203:'Z2_OKUJOU', - 1204:'Z2_OKUJOU_room_00', - 1205:'Z2_OPENINGDAN', - 1206:'Z2_OPENINGDAN_room_00', - 1207:'Z2_OPENINGDAN_room_01', - 1208:'Z2_MITURIN', - 1209:'Z2_MITURIN_room_00', - 1210:'Z2_MITURIN_room_01', - 1211:'Z2_MITURIN_room_02', - 1212:'Z2_MITURIN_room_03', - 1213:'Z2_MITURIN_room_04', - 1214:'Z2_MITURIN_room_05', - 1215:'Z2_MITURIN_room_06', - 1216:'Z2_MITURIN_room_07', - 1217:'Z2_MITURIN_room_08', - 1218:'Z2_MITURIN_room_09', - 1219:'Z2_MITURIN_room_10', - 1220:'Z2_MITURIN_room_11', - 1221:'Z2_MITURIN_room_12', - 1222:'Z2_13HUBUKINOMITI', - 1223:'Z2_13HUBUKINOMITI_room_00', - 1224:'Z2_CASTLE', - 1225:'Z2_CASTLE_room_00', - 1226:'Z2_CASTLE_room_01', - 1227:'Z2_CASTLE_room_02', - 1228:'Z2_CASTLE_room_03', - 1229:'Z2_CASTLE_room_04', - 1230:'Z2_CASTLE_room_05', - 1231:'Z2_CASTLE_room_06', - 1232:'Z2_CASTLE_room_07', - 1233:'Z2_CASTLE_room_08', - 1234:'Z2_CASTLE_room_09', - 1235:'Z2_DEKUTES', - 1236:'Z2_DEKUTES_room_00', - 1237:'Z2_MITURIN_BS', - 1238:'Z2_MITURIN_BS_room_00', - 1239:'Z2_SYATEKI_MIZU', - 1240:'Z2_SYATEKI_MIZU_room_00', - 1241:'Z2_HAKUGIN', - 1242:'Z2_HAKUGIN_room_00', - 1243:'Z2_HAKUGIN_room_01', - 1244:'Z2_HAKUGIN_room_02', - 1245:'Z2_HAKUGIN_room_03', - 1246:'Z2_HAKUGIN_room_04', - 1247:'Z2_HAKUGIN_room_05', - 1248:'Z2_HAKUGIN_room_06', - 1249:'Z2_HAKUGIN_room_07', - 1250:'Z2_HAKUGIN_room_08', - 1251:'Z2_HAKUGIN_room_09', - 1252:'Z2_HAKUGIN_room_10', - 1253:'Z2_HAKUGIN_room_11', - 1254:'Z2_HAKUGIN_room_12', - 1255:'Z2_HAKUGIN_room_13', - 1256:'Z2_ROMANYMAE', - 1257:'Z2_ROMANYMAE_room_00', - 1258:'Z2_PIRATE', - 1259:'Z2_PIRATE_room_00', - 1260:'Z2_PIRATE_room_01', - 1261:'Z2_PIRATE_room_02', - 1262:'Z2_PIRATE_room_03', - 1263:'Z2_PIRATE_room_04', - 1264:'Z2_PIRATE_room_05', - 1265:'Z2_PIRATE_room_06', - 1266:'Z2_PIRATE_room_07', - 1267:'Z2_PIRATE_room_08', - 1268:'Z2_PIRATE_room_09', - 1269:'Z2_PIRATE_room_10', - 1270:'Z2_PIRATE_room_11', - 1271:'Z2_PIRATE_room_12', - 1272:'Z2_PIRATE_room_13', - 1273:'Z2_PIRATE_room_14', - 1274:'Z2_SYATEKI_MORI', - 1275:'Z2_SYATEKI_MORI_room_00', - 1276:'Z2_SINKAI', - 1277:'Z2_SINKAI_room_00', - 1278:'Z2_YOUSEI_IZUMI', - 1279:'Z2_YOUSEI_IZUMI_room_00', - 1280:'Z2_YOUSEI_IZUMI_room_01', - 1281:'Z2_YOUSEI_IZUMI_room_02', - 1282:'Z2_YOUSEI_IZUMI_room_03', - 1283:'Z2_YOUSEI_IZUMI_room_04', - 1284:'Z2_KINSTA1', - 1285:'Z2_KINSTA1_room_00', - 1286:'Z2_KINSTA1_room_01', - 1287:'Z2_KINSTA1_room_02', - 1288:'Z2_KINSTA1_room_03', - 1289:'Z2_KINSTA1_room_04', - 1290:'Z2_KINSTA1_room_05', - 1291:'Z2_KINDAN2', - 1292:'Z2_KINDAN2_room_00', - 1293:'Z2_KINDAN2_room_01', - 1294:'Z2_KINDAN2_room_02', - 1295:'Z2_KINDAN2_room_03', - 1296:'Z2_KINDAN2_room_04', - 1297:'Z2_KINDAN2_room_05', - 1298:'Z2_TENMON_DAI', - 1299:'Z2_TENMON_DAI_room_00', - 1300:'Z2_TENMON_DAI_room_01', - 1301:'Z2_LAST_DEKU', - 1302:'Z2_LAST_DEKU_room_00', - 1303:'Z2_LAST_DEKU_room_01', - 1304:'Z2_22DEKUCITY', - 1305:'Z2_22DEKUCITY_room_00', - 1306:'Z2_22DEKUCITY_room_01', - 1307:'Z2_22DEKUCITY_room_02', - 1308:'Z2_KAJIYA', - 1309:'Z2_KAJIYA_room_00', - 1310:'Z2_00KEIKOKU', - 1311:'Z2_00KEIKOKU_room_00', - 1312:'Z2_POSTHOUSE', - 1313:'Z2_POSTHOUSE_room_00', - 1314:'Z2_LABO', - 1315:'Z2_LABO_room_00', - 1316:'Z2_DANPEI2TEST', - 1317:'Z2_DANPEI2TEST_room_00', - 1318:'Z2_DANPEI2TEST_room_01', - 1319:'Z2_16GORON_HOUSE', - 1320:'Z2_16GORON_HOUSE_room_00', - 1321:'Z2_16GORON_HOUSE_room_01', - 1322:'Z2_33ZORACITY', - 1323:'Z2_33ZORACITY_room_00', - 1324:'Z2_8ITEMSHOP', - 1325:'Z2_8ITEMSHOP_room_00', - 1326:'Z2_F01', - 1327:'Z2_F01_room_00', - 1328:'Z2_INISIE_BS', - 1329:'Z2_INISIE_BS_room_00', - 1330:'Z2_30GYOSON', - 1331:'Z2_30GYOSON_room_00', - 1332:'Z2_31MISAKI', - 1333:'Z2_31MISAKI_room_00', - 1334:'Z2_TAKARAKUJI', - 1335:'Z2_TAKARAKUJI_room_00', - 1336:'Z2_TORIDE', - 1337:'Z2_TORIDE_room_00', - 1338:'Z2_FISHERMAN', - 1339:'Z2_FISHERMAN_room_00', - 1340:'Z2_GORONSHOP', - 1341:'Z2_GORONSHOP_room_00', - 1342:'Z2_DEKU_KING', - 1343:'Z2_DEKU_KING_room_00', - 1344:'Z2_LAST_GORON', - 1345:'Z2_LAST_GORON_room_00', - 1346:'Z2_LAST_GORON_room_01', - 1347:'Z2_24KEMONOMITI', - 1348:'Z2_24KEMONOMITI_room_00', - 1349:'Z2_F01_B', - 1350:'Z2_F01_B_room_00', - 1351:'Z2_F01C', - 1352:'Z2_F01C_room_00', - 1353:'Z2_BOTI', - 1354:'Z2_BOTI_room_00', - 1355:'Z2_BOTI_room_01', - 1356:'Z2_HAKUGIN_BS', - 1357:'Z2_HAKUGIN_BS_room_00', - 1358:'Z2_20SICHITAI', - 1359:'Z2_20SICHITAI_room_00', - 1360:'Z2_20SICHITAI_room_01', - 1361:'Z2_20SICHITAI_room_02', - 1362:'Z2_21MITURINMAE', - 1363:'Z2_21MITURINMAE_room_00', - 1364:'Z2_LAST_ZORA', - 1365:'Z2_LAST_ZORA_room_00', - 1366:'Z2_11GORONNOSATO2', - 1367:'Z2_11GORONNOSATO2_room_00', - 1368:'Z2_11GORONNOSATO2_room_01', - 1369:'Z2_SEA', - 1370:'Z2_SEA_room_00', - 1371:'Z2_SEA_room_01', - 1372:'Z2_SEA_room_02', - 1373:'Z2_SEA_room_03', - 1374:'Z2_SEA_room_04', - 1375:'Z2_SEA_room_05', - 1376:'Z2_SEA_room_06', - 1377:'Z2_SEA_room_07', - 1378:'Z2_SEA_room_08', - 1379:'Z2_SEA_room_09', - 1380:'Z2_SEA_room_10', - 1381:'Z2_SEA_room_11', - 1382:'Z2_SEA_room_12', - 1383:'Z2_SEA_room_13', - 1384:'Z2_SEA_room_14', - 1385:'Z2_SEA_room_15', - 1386:'Z2_35TAKI', - 1387:'Z2_35TAKI_room_00', - 1388:'Z2_REDEAD', - 1389:'Z2_REDEAD_room_00', - 1390:'Z2_REDEAD_room_01', - 1391:'Z2_REDEAD_room_02', - 1392:'Z2_REDEAD_room_03', - 1393:'Z2_REDEAD_room_04', - 1394:'Z2_REDEAD_room_05', - 1395:'Z2_REDEAD_room_06', - 1396:'Z2_REDEAD_room_07', - 1397:'Z2_REDEAD_room_08', - 1398:'Z2_REDEAD_room_09', - 1399:'Z2_REDEAD_room_10', - 1400:'Z2_REDEAD_room_11', - 1401:'Z2_REDEAD_room_12', - 1402:'Z2_REDEAD_room_13', - 1403:'Z2_BANDROOM', - 1404:'Z2_BANDROOM_room_00', - 1405:'Z2_BANDROOM_room_01', - 1406:'Z2_BANDROOM_room_02', - 1407:'Z2_BANDROOM_room_03', - 1408:'Z2_BANDROOM_room_04', - 1409:'Z2_11GORONNOSATO', - 1410:'Z2_11GORONNOSATO_room_00', - 1411:'Z2_11GORONNOSATO_room_01', - 1412:'Z2_GORON_HAKA', - 1413:'Z2_GORON_HAKA_room_00', - 1414:'Z2_SECOM', - 1415:'Z2_SECOM_room_00', - 1416:'Z2_SECOM_room_01', - 1417:'Z2_10YUKIYAMANOMURA', - 1418:'Z2_10YUKIYAMANOMURA_room_00', - 1419:'Z2_TOUGITES', - 1420:'Z2_TOUGITES_room_00', - 1421:'Z2_DANPEI', - 1422:'Z2_DANPEI_room_00', - 1423:'Z2_DANPEI_room_01', - 1424:'Z2_DANPEI_room_02', - 1425:'Z2_DANPEI_room_03', - 1426:'Z2_DANPEI_room_04', - 1427:'Z2_DANPEI_room_05', - 1428:'Z2_DANPEI_room_06', - 1429:'Z2_DANPEI_room_07', - 1430:'Z2_DANPEI_room_08', - 1431:'Z2_IKANAMAE', - 1432:'Z2_IKANAMAE_room_00', - 1433:'Z2_DOUJOU', - 1434:'Z2_DOUJOU_room_00', - 1435:'Z2_MUSICHOUSE', - 1436:'Z2_MUSICHOUSE_room_00', - 1437:'Z2_IKNINSIDE', - 1438:'Z2_IKNINSIDE_room_00', - 1439:'Z2_IKNINSIDE_room_01', - 1440:'Z2_MAP_SHOP', - 1441:'Z2_MAP_SHOP_room_00', - 1442:'Z2_F40', - 1443:'Z2_F40_room_00', - 1444:'Z2_F41', - 1445:'Z2_F41_room_00', - 1446:'Z2_10YUKIYAMANOMURA2', - 1447:'Z2_10YUKIYAMANOMURA2_room_00', - 1448:'Z2_10YUKIYAMANOMURA2_room_01', - 1449:'Z2_14YUKIDAMANOMITI', - 1450:'Z2_14YUKIDAMANOMITI_room_00', - 1451:'Z2_12HAKUGINMAE', - 1452:'Z2_12HAKUGINMAE_room_00', - 1453:'Z2_17SETUGEN', - 1454:'Z2_17SETUGEN_room_00', - 1455:'Z2_17SETUGEN2', - 1456:'Z2_17SETUGEN2_room_00', - 1457:'Z2_SEA_BS', - 1458:'Z2_SEA_BS_room_00', - 1459:'Z2_RANDOM', - 1460:'Z2_RANDOM_room_00', - 1461:'Z2_RANDOM_room_01', - 1462:'Z2_RANDOM_room_02', - 1463:'Z2_RANDOM_room_03', - 1464:'Z2_RANDOM_room_04', - 1465:'Z2_RANDOM_room_05', - 1466:'Z2_YADOYA', - 1467:'Z2_YADOYA_room_00', - 1468:'Z2_YADOYA_room_01', - 1469:'Z2_YADOYA_room_02', - 1470:'Z2_YADOYA_room_03', - 1471:'Z2_YADOYA_room_04', - 1472:'Z2_KONPEKI_ENT', - 1473:'Z2_KONPEKI_ENT_room_00', - 1474:'Z2_INSIDETOWER', - 1475:'Z2_INSIDETOWER_room_00', - 1476:'Z2_INSIDETOWER_room_01', - 1477:'Z2_26SARUNOMORI', - 1478:'Z2_26SARUNOMORI_room_00', - 1479:'Z2_26SARUNOMORI_room_01', - 1480:'Z2_26SARUNOMORI_room_02', - 1481:'Z2_26SARUNOMORI_room_03', - 1482:'Z2_26SARUNOMORI_room_04', - 1483:'Z2_26SARUNOMORI_room_05', - 1484:'Z2_26SARUNOMORI_room_06', - 1485:'Z2_26SARUNOMORI_room_07', - 1486:'Z2_26SARUNOMORI_room_08', - 1487:'Z2_LOST_WOODS', - 1488:'Z2_LOST_WOODS_room_00', - 1489:'Z2_LOST_WOODS_room_01', - 1490:'Z2_LOST_WOODS_room_02', - 1491:'Z2_LAST_LINK', - 1492:'Z2_LAST_LINK_room_00', - 1493:'Z2_LAST_LINK_room_01', - 1494:'Z2_LAST_LINK_room_02', - 1495:'Z2_LAST_LINK_room_03', - 1496:'Z2_LAST_LINK_room_04', - 1497:'Z2_LAST_LINK_room_05', - 1498:'Z2_LAST_LINK_room_06', - 1499:'Z2_LAST_LINK_room_07', - 1500:'Z2_SOUGEN', - 1501:'Z2_SOUGEN_room_00', - 1502:'Z2_BOMYA', - 1503:'Z2_BOMYA_room_00', - 1504:'Z2_KYOJINNOMA', - 1505:'Z2_KYOJINNOMA_room_00', - 1506:'Z2_KOEPONARACE', - 1507:'Z2_KOEPONARACE_room_00', - 1508:'Z2_GORONRACE', - 1509:'Z2_GORONRACE_room_00', - 1510:'Z2_TOWN', - 1511:'Z2_TOWN_room_00', - 1512:'Z2_ICHIBA', - 1513:'Z2_ICHIBA_room_00', - 1514:'Z2_BACKTOWN', - 1515:'Z2_BACKTOWN_room_00', - 1516:'Z2_CLOCKTOWER', - 1517:'Z2_CLOCKTOWER_room_00', - 1518:'Z2_ALLEY', - 1519:'Z2_ALLEY_room_00', - 1520:'SPOT00', - 1521:'SPOT00_room_00', - 1522:'KAKUSIANA', - 1523:'KAKUSIANA_room_00', - 1524:'KAKUSIANA_room_01', - 1525:'KAKUSIANA_room_02', - 1526:'KAKUSIANA_room_03', - 1527:'KAKUSIANA_room_04', - 1528:'KAKUSIANA_room_05', - 1529:'KAKUSIANA_room_06', - 1530:'KAKUSIANA_room_07', - 1531:'KAKUSIANA_room_08', - 1532:'KAKUSIANA_room_09', - 1533:'KAKUSIANA_room_10', - 1534:'KAKUSIANA_room_11', - 1535:'KAKUSIANA_room_12', - 1536:'KAKUSIANA_room_13', - 1537:'KAKUSIANA_room_14', -} - -OBJECT_NAMES = { - 649:'gameplay_keep', - 650:'gameplay_field_keep', - 651:'gameplay_dangeon_keep', - 652:'gameplay_object_exchange_static', - # 652 not set, gameplay_object_exchange_static? - 653:'object_link_boy', - 654:'object_link_child', - 655:'object_link_goron', - 656:'object_link_zora', - 657:'object_link_nuts', - 658:'object_mask_ki_tan', - 659:'object_mask_rabit', - 660:'object_mask_skj', - 661:'object_mask_truth', - 662:'object_mask_gibudo', - 663:'object_mask_json', - 664:'object_mask_kerfay', - 665:'object_mask_bigelf', - 666:'object_mask_kyojin', - 667:'object_mask_romerny', - 668:'object_mask_posthat', - 669:'object_mask_zacho', - 670:'object_mask_stone', - 671:'object_mask_bree', - 672:'object_mask_gero', - 673:'object_mask_yofukasi', - 674:'object_mask_meoto', - 675:'object_mask_dancer', - 676:'object_mask_bakuretu', - 677:'object_mask_bu_san', - 678:'object_mask_goron', - 679:'object_mask_zora', - 680:'object_mask_nuts', - 681:'object_mask_boy', - 682:'object_box', - 683:'object_okuta', - 684:'object_wallmaster', - 685:'object_dy_obj', - 686:'object_firefly', - 687:'object_dodongo', - 688:'object_niw', - 689:'object_tite', - 690:'object_ph', - 691:'object_dinofos', - 692:'object_zl1', - 693:'object_bubble', - 694:'object_test3', - 695:'object_famos', - 696:'object_st', - 697:'object_thiefbird', - 698:'object_bombf', - 699:'object_am', - 700:'object_dekubaba', - 701:'object_warp1', - 702:'object_b_heart', - 703:'object_dekunuts', - 704:'object_bb', - 705:'object_death', - 706:'object_hata', - 707:'object_wood02', - 708:'object_trap', - 709:'object_vm', - 710:'object_efc_star_field', - 711:'object_rd', - 712:'object_yukimura_obj', - # skip object_heavy_object (in JP) - 713:'object_horse_link_child', - 714:'object_syokudai', - 715:'object_efc_tw', - 716:'object_gi_key', - 717:'object_mir_ray', - 718:'object_ctower_rot', - 719:'object_bdoor', - 720:'object_sb', - 721:'object_gi_melody', - 722:'object_gi_heart', - 723:'object_gi_compass', - 724:'object_gi_bosskey', - 725:'object_gi_nuts', - 726:'object_gi_hearts', - 727:'object_gi_arrowcase', - 728:'object_gi_bombpouch', - 729:'object_in', - 730:'object_os_anime', - 731:'object_gi_bottle', - 732:'object_gi_stick', - 733:'object_gi_map', - 734:'object_oF1d_map', - 735:'object_ru2', - 736:'object_gi_magicpot', - 737:'object_gi_bomb_1', - 738:'object_ma2', - 739:'object_gi_purse', - 740:'object_rr', - 741:'object_gi_arrow', - 742:'object_gi_bomb_2', - 743:'object_gi_shield_2', - 744:'object_gi_hookshot', - 745:'object_gi_ocarina', - 746:'object_gi_milk', - 747:'object_ma1', - 748:'object_ny', - 749:'object_fr', - 750:'object_gi_bow', - 751:'object_gi_glasses', - 752:'object_gi_liquid', - 753:'object_ani', - 754:'object_gi_shield_3', - 755:'object_gi_bean', - 756:'object_gi_fish', - 757:'object_gi_longsword', - 758:'object_zo', - 759:'object_umajump', - 760:'object_mastergolon', - 761:'object_masterzoora', - 762:'object_aob', - 763:'object_ik', - 764:'object_ahg', - 765:'object_cne', - 766:'object_bji', - 767:'object_bba', - 768:'object_an1', - 769:'object_boj', - 770:'object_fz', - 771:'object_bob', - 772:'object_ge1', - 773:'object_yabusame_point', - 774:'object_d_hsblock', - 775:'object_d_lift', - 776:'object_mamenoki', - 777:'object_goroiwa', - 778:'object_toryo', - 779:'object_daiku', - 780:'object_nwc', - 781:'object_gm', - 782:'object_ms', - 783:'object_hs', - 784:'object_lightswitch', - 785:'object_kusa', - 786:'object_tsubo', - 787:'object_kanban', - 788:'object_owl', - 789:'object_mk', - 790:'object_fu', - 791:'object_gi_ki_tan_mask', - 792:'object_gi_mask18', - 793:'object_gi_rabit_mask', - 794:'object_gi_truth_mask', - 795:'object_stream', - 796:'object_mm', - 797:'object_js', - 798:'object_cs', - 799:'object_gi_soldout', - 800:'object_mag', - 801:'object_gi_golonmask', - 802:'object_gi_zoramask', - 803:'object_ka', - 804:'object_zg', - 805:'object_gi_m_arrow', - 806:'object_ds2', - 807:'object_fish', - 808:'object_gi_sutaru', - 809:'object_ssh', - 810:'object_bigslime', - 811:'object_bg', - 812:'object_bombiwa', - 813:'object_hintnuts', - 814:'object_rs', - 815:'object_gla', - 816:'object_geldb', - 817:'object_dog', - 818:'object_kibako2', - 819:'object_dns', - 820:'object_dnk', - 821:'object_gi_insect', - 822:'object_gi_ghost', - 823:'object_gi_soul', - 824:'object_f40_obj', - 825:'object_gi_rupy', - 826:'object_po_composer', - 827:'object_mu', - 828:'object_wf', - 829:'object_skb', - 830:'object_gs', - 831:'object_ps', - 832:'object_omoya_obj', - 833:'object_crow', - 834:'object_cow', - 835:'object_gi_sword_1', - 836:'object_zl4', - 837:'object_grasshopper', - 838:'object_boyo', - 839:'object_fwall', - 840:'object_jso', - 841:'object_knight', - 842:'object_icicle', - 843:'object_spdweb', - 844:'object_boss01', - 845:'object_boss02', - 846:'object_boss03', - 847:'object_boss04', - 848:'object_boss05', - 849:'object_boss07', - 850:'object_raf', - 851:'object_funen', - 852:'object_raillift', - 853:'object_numa_obj', - 854:'object_flowerpot', - 855:'object_spinyroll', - 856:'object_ice_block', - 857:'object_keikoku_demo', - 858:'object_slime', - 859:'object_pr', - 860:'object_f52_obj', - 861:'object_f53_obj', - 862:'object_kibako', - 863:'object_sek', - 864:'object_gmo', - 865:'object_bat', - 866:'object_sekihil', - 867:'object_sekihig', - 868:'object_sekihin', - 869:'object_sekihiz', - 870:'object_wiz', - 871:'object_ladder', - 872:'object_mkk', - 873:'object_keikoku_obj', - 874:'object_sichitai_obj', - 875:'object_dekucity_ana_obj', - 876:'object_rat', - 877:'object_water_effect', - 878:'object_dblue_object', - 879:'object_bal', - 880:'object_warp_uzu', - 881:'object_driftice', - 882:'object_fall', - 883:'object_hanareyama_obj', - 884:'object_crace_object', - 885:'object_dnq', - 886:'object_obj_tokeidai', - 887:'object_eg', - 888:'object_tru', - 889:'object_trt', - 890:'object_hakugin_obj', - 891:'object_horse_game_check', - 892:'object_stk', - 893:'object_mnk', - 894:'object_gi_bottle_red', - 895:'object_tokei_tobira', - 896:'object_az', - 897:'object_twig', - 898:'object_dekucity_obj', - 899:'object_po_fusen', - 900:'object_racetsubo', - 901:'object_ha', - 902:'object_bigokuta', - 903:'object_open_obj', - 904:'object_fu_kaiten', - 905:'object_fu_mato', - 906:'object_mtoride', - 907:'object_osn', - 908:'object_tokei_step', - 909:'object_lotus', - 910:'object_tl', - 911:'object_dkjail_obj', - 912:'object_visiblock', - 913:'object_tsn', - 914:'object_ds2n', - 915:'object_fsn', - 916:'object_shn', - 917:'object_bigicicle', - 918:'object_gi_bottle_15', - 919:'object_tk', - 920:'object_market_obj', - 921:'object_gi_reserve00', - 922:'object_gi_reserve01', - 923:'object_lightblock', - 924:'object_takaraya_objects', - 925:'object_wdhand', - 926:'object_sdn', - 927:'object_snowwd', - 928:'object_giant', - 929:'object_comb', - 930:'object_hana', - 931:'object_boss_hakugin', - 932:'object_meganeana_obj', - 933:'object_gi_nutsmask', - 934:'object_stk2', - 935:'object_spot11_obj', - 936:'object_danpei_object', - 937:'object_dhouse', - 938:'object_hakaisi', - 939:'object_po', - 940:'object_snowman', - 941:'object_po_sisters', - 942:'object_pp', - 943:'object_goronswitch', - 944:'object_delf', - 945:'object_botihasira', - 946:'object_gi_bigbomb', - 947:'object_pst', - 948:'object_bsmask', - 949:'object_spidertent', - 950:'object_zoraegg', - 951:'object_kbt', - 952:'object_gg', - 953:'object_maruta', - 954:'object_ghaka', - 955:'object_oyu', - 956:'object_dnp', - 957:'object_dai', - 958:'object_kgy', - 959:'object_fb', - 960:'object_taisou', - 961:'object_gk', - 962:'object_haka_obj', - 963:'object_dnt', - 964:'object_yukiyama', - 965:'object_icefloe', - 966:'object_gi_gold_dust', - 967:'object_gi_bottle_16', - 968:'object_gi_bottle_22', - 969:'object_bee', - 970:'object_ot', - 971:'object_utubo', - 972:'object_dora', - 973:'object_gi_loach', - 974:'object_gi_seahorse', - 975:'object_bigpo', - 976:'object_hariko', - 977:'object_dno', - 978:'object_sinkai_kabe', - 979:'object_kin2_obj', - 980:'object_ishi', - 981:'object_hakugin_demo', - 982:'object_jg', - 983:'object_gi_sword_2', - 984:'object_gi_sword_3', - 985:'object_gi_sword_4', - 986:'object_um', - 987:'object_rb', - 988:'object_mbar_obj', - 989:'object_ikana_obj', - 990:'object_kz', - 991:'object_tokei_turret', - 992:'object_zog', - 993:'object_rotlift', - 994:'object_posthouse_obj', - 995:'object_gi_mask09', - 996:'object_gi_mask14', - 997:'object_gi_mask15', - 998:'object_inibs_object', - 999:'object_tree', - 1000:'object_kaizoku_obj', - 1001:'object_gi_reserve_b_00', - 1002:'object_gi_reserve_c_00', - 1003:'object_zob', - 1004:'object_milkbar', - 1005:'object_dmask', - 1006:'object_gi_reserve_c_01', - 1007:'object_zod', - 1008:'object_kumo30', - 1009:'object_obj_yasi', - 1010:'object_tanron1', - 1011:'object_tanron2', - 1012:'object_tanron3', - 1013:'object_gi_magicmushroom', - 1014:'object_obj_chan', - 1015:'object_gi_mask10', - 1016:'object_zos', - 1017:'object_an2', - 1018:'object_an3', - 1019:'object_f40_switch', - 1020:'object_lodmoon', - 1021:'object_tro', - 1022:'object_gi_mask12', - 1023:'object_gi_mask23', - 1024:'object_gi_bottle_21', - 1025:'object_gi_camera', - 1026:'object_kamejima', - 1027:'object_nb', - 1028:'object_harfgibud', - 1029:'object_zov', - 1030:'object_ah', - 1031:'object_hgdoor', - 1032:'object_dor01', - 1033:'object_dor02', - 1034:'object_dor03', - 1035:'object_dor04', - 1036:'object_last_obj', - 1037:'object_redead_obj', - 1038:'object_ikninside_obj', - 1039:'object_iknv_obj', - 1040:'object_pamera', - 1041:'object_hsstump', - 1042:'object_zm', - 1043:'object_al', - 1044:'object_tab', - 1045:'object_secom_obj', - 1046:'object_dt', - 1047:'object_gi_mask03', - 1048:'object_cha', - 1049:'object_obj_dinner', - 1050:'object_gi_reserve_b_01', - 1051:'object_lastday', - 1052:'object_bai', - 1053:'object_ikn_demo', - 1054:'object_gi_fieldmap', - 1055:'object_big_fwall', - 1056:'object_hunsui', - 1057:'object_uch', - 1058:'object_tanron4', - 1059:'object_tanron5', - 1060:'object_in2', - 1061:'object_yb', - 1062:'object_rz', - 1063:'object_bjt', - 1064:'object_taru', - 1065:'object_moonston', - 1066:'object_gi_schedule', - 1067:'object_gi_stonemask', - 1068:'object_zoraband', - 1069:'object_kepn_koya', - 1070:'object_obj_usiyane', - 1071:'object_gi_mask05', - 1072:'object_gi_mask11', - 1073:'object_gi_mask20', - 1074:'object_nnh', - 1075:'object_kzsaku', - 1076:'object_obj_milk_bin', - 1077:'object_random_obj', - 1078:'object_kujiya', - 1079:'object_kitan', - 1080:'object_gi_mask06', - 1081:'object_gi_mask16', - 1082:'object_astr_obj', - 1083:'object_bsb', - 1084:'object_fall2', - 1085:'object_sth', - 1086:'object_gi_mssa', - 1087:'object_smtower', - 1088:'object_gi_mask21', - 1089:'object_yado_obj', - 1090:'object_syoten', - 1091:'object_moonend', - 1092:'object_ob', - 1093:'object_gi_bottle_04', - 1094:'object_and', - 1095:'object_obj_danpeilift', - 1096:'object_drs', - 1097:'object_msmo', - 1098:'object_an4', - 1099:'object_wdor01', - 1100:'object_wdor02', - 1101:'object_wdor03', - 1102:'object_wdor04', - 1103:'object_wdor05', - 1104:'object_stk3', - 1105:'object_kinsta1_obj', - 1106:'object_kinsta2_obj', - 1107:'object_bh', - 1108:'object_gi_mask17', - 1109:'object_gi_mask22', - 1110:'object_lbfshot', - 1111:'object_fusen', - 1112:'object_ending_obj', - 1113:'object_gi_mask13', -} - -TEXTURE_NAMES = { - 6:'kanji', - 8:'icon_item_static', - 9:'icon_item_24_static', - 10:'icon_item_field_static', - 11:'icon_item_dungeon_static', - 12:'icon_item_gameover_static', - 13:'icon_item_jpn_static', - 14:'icon_item_vtx_static', - 15:'map_i_static', - 16:'map_grand_static', - 17:'item_name_static', - 18:'map_name_static', - 19:'icon_item_static_test', - 20:'icon_item_24_static_test', - 21:'schedule_dma_static', - 22:'schedule_dma_static_test', - 23:'schedule_static', - 24:'story_static', - 25:'do_action_static', - 26:'message_static', - 27:'message_texture_static', - 28:'nes_font_static', - 29:'message_data_static', - 30:'staff_message_data_static', - 1114:'scene_texture_01', # Map Textures - Building Interiors I - 1115:'scene_texture_02', # Map Textures - Building Interiors II - 1116:'scene_texture_03', # Map Textures - Lost Woods - 1117:'scene_texture_04', # Map Textures - Mountains - 1118:'scene_texture_05', # Map Textures - Ocean - 1119:'scene_texture_06', # Map Textures - Swamp - 1120:'scene_texture_07', - 1121:'scene_texture_08', # Map Textures - Field - 1123:'title_static', - 1126:'parameter_static', - 1127:'week_static', - 1128:'daytelop_static', - 1129:'ger_daytelop_static', - 1130:'fra_daytelop_static', - 1131:'spa_daytelop_static', - 1132:'d2_fine_static', - 1133:'d2_cloud_static', - 1134:'d2_fine_pal_static', - 1538:'bump_texture_static', -} - -OVERLAY_NAMES = { - 32:'ovl_title', - 33:'ovl_select', - 34:'ovl_opening', - 35:'ovl_file_choose', - 36:'ovl_daytelop', - 37:'ovl_kaleido_scope', - 38:'ovl_Player_Actor', - 39:'ovl_En_Test', - 40:'ovl_En_GirlA', - 41:'ovl_En_Part', - 42:'ovl_En_Light', - 43:'ovl_En_Door', - 44:'ovl_En_Box', - 45:'ovl_En_Pametfrog', - 46:'ovl_En_Okuta', - 47:'ovl_En_Bom', - 48:'ovl_En_Wallmas', - 49:'ovl_En_Dodongo', - 50:'ovl_En_Firefly', - 51:'ovl_En_Horse', - 52:'ovl_En_Arrow', - 53:'ovl_En_Elf', - 54:'ovl_En_Niw', - 55:'ovl_En_Tite', - 56:'ovl_En_Peehat', - 57:'ovl_En_Holl', - 58:'ovl_En_Dinofos', - 59:'ovl_En_Hata', - 60:'ovl_En_Zl1', - 61:'ovl_En_Viewer', - 62:'ovl_En_Bubble', - 63:'ovl_Door_Shutter', - 64:'ovl_En_Boom', - 65:'ovl_En_Torch2', - 66:'ovl_En_Minifrog', - 67:'ovl_En_St', - 68:'ovl_Obj_Wturn', - 69:'ovl_En_River_Sound', - 70:'ovl_En_Ossan', - 71:'ovl_En_Famos', - 72:'ovl_En_Bombf', - 73:'ovl_En_Am', - 74:'ovl_En_Dekubaba', - 75:'ovl_En_M_Fire1', - 76:'ovl_En_M_Thunder', - 77:'ovl_Bg_Breakwall', - 78:'ovl_Door_Warp1', - 79:'ovl_Obj_Syokudai', - 80:'ovl_Item_B_Heart', - 81:'ovl_En_Dekunuts', - 82:'ovl_En_Bbfall', - 83:'ovl_Arms_Hook', - 84:'ovl_En_Bb', - 85:'ovl_Bg_Keikoku_Spr', - 86:'ovl_En_Wood02', - 87:'ovl_En_Death', - 88:'ovl_En_Minideath', - 89:'ovl_En_Vm', - 90:'ovl_Demo_Effect', - 91:'ovl_Demo_Kankyo', - 92:'ovl_En_Floormas', - 93:'ovl_En_Rd', - 94:'ovl_Bg_F40_Flift', - 95:'ovl_Obj_Mure', - 96:'ovl_En_Sw', - 97:'ovl_Object_Kankyo', - 98:'ovl_En_Horse_Link_Child', - 99:'ovl_Door_Ana', - 100:'ovl_En_Encount1', - 101:'ovl_Demo_Tre_Lgt', - 102:'ovl_En_Encount2', - 103:'ovl_En_Fire_Rock', - 104:'ovl_Bg_Ctower_Rot', - 105:'ovl_Mir_Ray', - 106:'ovl_En_Sb', - 107:'ovl_En_Bigslime', - 108:'ovl_En_Karebaba', - 109:'ovl_En_In', - 110:'ovl_En_Bom_Chu', - 111:'ovl_En_Horse_Game_Check', - 112:'ovl_En_Rr', - 113:'ovl_En_Fr', - 114:'ovl_En_Fishing', - 115:'ovl_Obj_Oshihiki', - 116:'ovl_Eff_Dust', - 117:'ovl_Bg_Umajump', - 118:'ovl_En_Insect', - 119:'ovl_En_Butte', - 120:'ovl_En_Fish', - 121:'ovl_Item_Etcetera', - 122:'ovl_Arrow_Fire', - 123:'ovl_Arrow_Ice', - 124:'ovl_Arrow_Light', - 125:'ovl_Obj_Kibako', - 126:'ovl_Obj_Tsubo', - 127:'ovl_En_Ik', - 128:'ovl_Demo_Shd', - 129:'ovl_En_Dns', - 130:'ovl_Elf_Msg', - 131:'ovl_En_Honotrap', - 132:'ovl_En_Tubo_Trap', - 133:'ovl_Obj_Ice_Poly', - 134:'ovl_En_Fz', - 135:'ovl_En_Kusa', - 136:'ovl_Obj_Bean', - 137:'ovl_Obj_Bombiwa', - 138:'ovl_Obj_Switch', - 139:'ovl_Obj_Lift', - 140:'ovl_Obj_Hsblock', - 141:'ovl_En_Okarina_Tag', - 142:'ovl_En_Goroiwa', - 143:'ovl_En_Daiku', - 144:'ovl_En_Nwc', - 145:'ovl_Item_Inbox', - 146:'ovl_En_Ge1', - 147:'ovl_Obj_Blockstop', - 148:'ovl_En_Sda', - 149:'ovl_En_Clear_Tag', - 150:'ovl_En_Gm', - 151:'ovl_En_Ms', - 152:'ovl_En_Hs', - 153:'ovl_Bg_Ingate', - 154:'ovl_En_Kanban', - 155:'ovl_En_Attack_Niw', - 156:'ovl_En_Mk', - 157:'ovl_En_Owl', - 158:'ovl_En_Ishi', - 159:'ovl_Obj_Hana', - 160:'ovl_Obj_Lightswitch', - 161:'ovl_Obj_Mure2', - 162:'ovl_En_Fu', - 163:'ovl_En_Stream', - 164:'ovl_En_Mm', - 165:'ovl_En_Weather_Tag', - 166:'ovl_En_Ani', - 167:'ovl_En_Js', - 168:'ovl_En_Okarina_Effect', - 169:'ovl_En_Mag', - 170:'ovl_Elf_Msg2', - 171:'ovl_Bg_F40_Swlift', - 172:'ovl_En_Kakasi', - 173:'ovl_Obj_Makeoshihiki', - 174:'ovl_Oceff_Spot', - 175:'ovl_En_Torch', - 176:'ovl_Shot_Sun', - 177:'ovl_Obj_Roomtimer', - 178:'ovl_En_Ssh', - 179:'ovl_Oceff_Wipe', - 180:'ovl_Effect_Ss_Dust', - 181:'ovl_Effect_Ss_Kirakira', - 182:'ovl_Effect_Ss_Bomb2', - 183:'ovl_Effect_Ss_Blast', - 184:'ovl_Effect_Ss_G_Spk', - 185:'ovl_Effect_Ss_D_Fire', - 186:'ovl_Effect_Ss_Bubble', - 187:'ovl_Effect_Ss_G_Ripple', - 188:'ovl_Effect_Ss_G_Splash', - 189:'ovl_Effect_Ss_G_Fire', - 190:'ovl_Effect_Ss_Lightning', - 191:'ovl_Effect_Ss_Dt_Bubble', - 192:'ovl_Effect_Ss_Hahen', - 193:'ovl_Effect_Ss_Stick', - 194:'ovl_Effect_Ss_Sibuki', - 195:'ovl_Effect_Ss_Stone1', - 196:'ovl_Effect_Ss_Hitmark', - 197:'ovl_Effect_Ss_Fhg_Flash', - 198:'ovl_Effect_Ss_K_Fire', - 199:'ovl_Effect_Ss_Solder_Srch_Ball', - 200:'ovl_Effect_Ss_Kakera', - 201:'ovl_Effect_Ss_Ice_Piece', - 202:'ovl_Effect_Ss_En_Ice', - 203:'ovl_Effect_Ss_Fire_Tail', - 204:'ovl_Effect_Ss_En_Fire', - 205:'ovl_Effect_Ss_Extra', - 206:'ovl_Effect_Ss_Dead_Db', - 207:'ovl_Effect_Ss_Dead_Dd', - 208:'ovl_Effect_Ss_Dead_Ds', - 209:'ovl_Oceff_Storm', - 210:'ovl_Obj_Demo', - 211:'ovl_En_Minislime', - 212:'ovl_En_Nutsball', - 213:'ovl_Oceff_Wipe2', - 214:'ovl_Oceff_Wipe3', - 215:'ovl_En_Dg', - 216:'ovl_En_Si', - 217:'ovl_Obj_Comb', - 218:'ovl_Obj_Kibako2', - 219:'ovl_En_Hs2', - 220:'ovl_Obj_Mure3', - 221:'ovl_En_Tg', - 222:'ovl_En_Wf', - 223:'ovl_En_Skb', - 224:'ovl_En_Gs', - 225:'ovl_Obj_Sound', - 226:'ovl_En_Crow', - 227:'ovl_En_Cow', - 228:'ovl_Oceff_Wipe4', - 229:'ovl_En_Zo', - 230:'ovl_Effect_Ss_Ice_Smoke', - 231:'ovl_Obj_Makekinsuta', - 232:'ovl_En_Ge3', - 233:'ovl_Obj_Hamishi', - 234:'ovl_En_Zl4', - 235:'ovl_En_Mm2', - 236:'ovl_Door_Spiral', - 237:'ovl_Obj_Pzlblock', - 238:'ovl_Obj_Toge', - 239:'ovl_Obj_Armos', - 240:'ovl_Obj_Boyo', - 241:'ovl_En_Grasshopper', - 242:'ovl_Obj_Grass', - 243:'ovl_Obj_Grass_Carry', - 244:'ovl_Obj_Grass_Unit', - 245:'ovl_Bg_Fire_Wall', - 246:'ovl_En_Bu', - 247:'ovl_En_Encount3', - 248:'ovl_En_Jso', - 249:'ovl_Obj_Chikuwa', - 250:'ovl_En_Knight', - 251:'ovl_En_Warp_tag', - 252:'ovl_En_Aob_01', - 253:'ovl_En_Boj_01', - 254:'ovl_En_Boj_02', - 255:'ovl_En_Boj_03', - 256:'ovl_En_Encount4', - 257:'ovl_En_Bom_Bowl_Man', - 258:'ovl_En_Syateki_Man', - 259:'ovl_Bg_Icicle', - 260:'ovl_En_Syateki_Crow', - 261:'ovl_En_Boj_04', - 262:'ovl_En_Cne_01', - 263:'ovl_En_Bba_01', - 264:'ovl_En_Bji_01', - 265:'ovl_Bg_Spdweb', - 266:'ovl_En_Mt_tag', - 267:'ovl_Boss_01', - 268:'ovl_Boss_02', - 269:'ovl_Boss_03', - 270:'ovl_Boss_04', - 271:'ovl_Boss_05', - 272:'ovl_Boss_06', - 273:'ovl_Boss_07', - 274:'ovl_Bg_Dy_Yoseizo', - 275:'ovl_En_Boj_05', - 276:'ovl_En_Sob1', - 277:'ovl_En_Go', - 278:'ovl_En_Raf', - 279:'ovl_Obj_Funen', - 280:'ovl_Obj_Raillift', - 281:'ovl_Bg_Numa_Hana', - 282:'ovl_Obj_Flowerpot', - 283:'ovl_Obj_Spinyroll', - 284:'ovl_Dm_Hina', - 285:'ovl_En_Syateki_Wf', - 286:'ovl_Obj_Skateblock', - 287:'ovl_Effect_En_Ice_Block', - 288:'ovl_Obj_Iceblock', - 289:'ovl_En_Bigpamet', - 290:'ovl_Bg_Dblue_Movebg', - 291:'ovl_En_Syateki_Dekunuts', - 292:'ovl_Elf_Msg3', - 293:'ovl_En_Fg', - 294:'ovl_Dm_Ravine', - 295:'ovl_Dm_Sa', - 296:'ovl_En_Slime', - 297:'ovl_En_Pr', - 298:'ovl_Obj_Toudai', - 299:'ovl_Obj_Entotu', - 300:'ovl_Obj_Bell', - 301:'ovl_En_Syateki_Okuta', - 302:'ovl_Obj_Shutter', - 303:'ovl_Dm_Zl', - 304:'ovl_En_Ru', - 305:'ovl_En_Elfgrp', - 306:'ovl_Dm_Tsg', - 307:'ovl_En_Baguo', - 308:'ovl_Obj_Vspinyroll', - 309:'ovl_Obj_Smork', - 310:'ovl_En_Test2', - 311:'ovl_En_Test3', - 312:'ovl_En_Test4', - 313:'ovl_En_Bat', - 314:'ovl_En_Sekihi', - 315:'ovl_En_Wiz', - 316:'ovl_En_Wiz_Brock', - 317:'ovl_En_Wiz_Fire', - 318:'ovl_Eff_Change', - 319:'ovl_Dm_Statue', - 320:'ovl_Obj_Fireshield', - 321:'ovl_Bg_Ladder', - 322:'ovl_En_Mkk', - 323:'ovl_Demo_Getitem', - 324:'ovl_En_Dnb', - 325:'ovl_En_Dnh', - 326:'ovl_En_Dnk', - 327:'ovl_En_Dnq', - 328:'ovl_Bg_Keikoku_Saku', - 329:'ovl_Obj_Hugebombiwa', - 330:'ovl_En_Firefly2', - 331:'ovl_En_Rat', - 332:'ovl_En_Water_Effect', - 333:'ovl_En_Kusa2', - 334:'ovl_Bg_Spout_Fire', - 335:'ovl_En_Dy_Extra', - 336:'ovl_En_Bal', - 337:'ovl_En_Ginko_Man', - 338:'ovl_En_Warp_Uzu', - 339:'ovl_Obj_Driftice', - 340:'ovl_En_Look_Nuts', - 341:'ovl_En_Mushi2', - 342:'ovl_En_Fall', - 343:'ovl_En_Mm3', - 344:'ovl_Bg_Crace_Movebg', - 345:'ovl_En_Dno', - 346:'ovl_En_Pr2', - 347:'ovl_En_Prz', - 348:'ovl_En_Jso2', - 349:'ovl_Obj_Etcetera', - 350:'ovl_En_Egol', - 351:'ovl_Obj_Mine', - 352:'ovl_Obj_Purify', - 353:'ovl_En_Tru', - 354:'ovl_En_Trt', - 355:'ovl_En_Test5', - 356:'ovl_En_Test6', - 357:'ovl_En_Az', - 358:'ovl_En_Estone', - 359:'ovl_Bg_Hakugin_Post', - 360:'ovl_Dm_Opstage', - 361:'ovl_Dm_Stk', - 362:'ovl_Dm_Char00', - 363:'ovl_Dm_Char01', - 364:'ovl_Dm_Char02', - 365:'ovl_Dm_Char03', - 366:'ovl_Dm_Char04', - 367:'ovl_Dm_Char05', - 368:'ovl_Dm_Char06', - 369:'ovl_Dm_Char07', - 370:'ovl_Dm_Char08', - 371:'ovl_Dm_Char09', - 372:'ovl_Obj_Tokeidai', - 373:'ovl_En_Mnk', - 374:'ovl_En_Egblock', - 375:'ovl_En_Guard_Nuts', - 376:'ovl_Bg_Hakugin_Bombwall', - 377:'ovl_Obj_Tokei_Tobira', - 378:'ovl_Bg_Hakugin_Elvpole', - 379:'ovl_En_Ma4', - 380:'ovl_En_Twig', - 381:'ovl_En_Po_Fusen', - 382:'ovl_En_Door_Etc', - 383:'ovl_En_Bigokuta', - 384:'ovl_Bg_Icefloe', - 385:'ovl_fbdemo_triforce', - 386:'ovl_fbdemo_wipe1', - 387:'ovl_fbdemo_wipe3', - 388:'ovl_fbdemo_wipe4', - 389:'ovl_fbdemo_wipe5', - 390:'ovl_Effect_Ss_Sbn', - 391:'ovl_Obj_Ocarinalift', - 392:'ovl_En_Time_Tag', - 393:'ovl_Bg_Open_Shutter', - 394:'ovl_Bg_Open_Spot', - 395:'ovl_Bg_Fu_Kaiten', - 396:'ovl_Obj_Aqua', - 397:'ovl_En_Elforg', - 398:'ovl_En_Elfbub', - 399:'ovl_En_Fu_Mato', - 400:'ovl_En_Fu_Kago', - 401:'ovl_En_Osn', - 402:'ovl_Bg_Ctower_Gear', - 403:'ovl_En_Trt2', - 404:'ovl_Obj_Tokei_Step', - 405:'ovl_Bg_Lotus', - 406:'ovl_En_Kame', - 407:'ovl_Obj_Takaraya_Wall', - 408:'ovl_Bg_Fu_Mizu', - 409:'ovl_En_Sellnuts', - 410:'ovl_Bg_Dkjail_Ivy', - 411:'ovl_Obj_Visiblock', - 412:'ovl_En_Takaraya', - 413:'ovl_En_Tsn', - 414:'ovl_En_Ds2n', - 415:'ovl_En_Fsn', - 416:'ovl_En_Shn', - 417:'ovl_En_Stop_heishi', - 418:'ovl_Obj_Bigicicle', - 419:'ovl_En_Lift_Nuts', - 420:'ovl_En_Tk', - 421:'ovl_Bg_Market_Step', - 422:'ovl_Obj_Lupygamelift', - 423:'ovl_En_Test7', - 424:'ovl_Obj_Lightblock', - 425:'ovl_Mir_Ray2', - 426:'ovl_En_Wdhand', - 427:'ovl_En_Gamelupy', - 428:'ovl_Bg_Danpei_Movebg', - 429:'ovl_En_Snowwd', - 430:'ovl_En_Pm', - 431:'ovl_En_Gakufu', - 432:'ovl_Elf_Msg4', - 433:'ovl_Elf_Msg5', - 434:'ovl_En_Col_Man', - 435:'ovl_En_Talk_Gibud', - 436:'ovl_En_Giant', - 437:'ovl_Obj_Snowball', - 438:'ovl_Boss_Hakugin', - 439:'ovl_En_Gb2', - 440:'ovl_En_Onpuman', - 441:'ovl_Bg_Tobira01', - 442:'ovl_En_Tag_Obj', - 443:'ovl_Obj_Dhouse', - 444:'ovl_Obj_Hakaisi', - 445:'ovl_Bg_Hakugin_Switch', - 446:'ovl_En_Snowman', - 447:'ovl_TG_Sw', - 448:'ovl_En_Po_Sisters', - 449:'ovl_En_Pp', - 450:'ovl_En_Hakurock', - 451:'ovl_En_Hanabi', - 452:'ovl_Obj_Dowsing', - 453:'ovl_Obj_Wind', - 454:'ovl_En_Racedog', - 455:'ovl_En_Kendo_Js', - 456:'ovl_Bg_Botihasira', - 457:'ovl_En_Fish2', - 458:'ovl_En_Pst', - 459:'ovl_En_Poh', - 460:'ovl_Obj_Spidertent', - 461:'ovl_En_Zoraegg', - 462:'ovl_En_Kbt', - 463:'ovl_En_Gg', - 464:'ovl_En_Maruta', - 465:'ovl_Obj_Snowball2', - 466:'ovl_En_Gg2', - 467:'ovl_Obj_Ghaka', - 468:'ovl_En_Dnp', - 469:'ovl_En_Dai', - 470:'ovl_Bg_Goron_Oyu', - 471:'ovl_En_Kgy', - 472:'ovl_En_Invadepoh', - 473:'ovl_En_Gk', - 474:'ovl_En_An', - 475:'ovl_En_Bee', - 476:'ovl_En_Ot', - 477:'ovl_En_Dragon', - 478:'ovl_Obj_Dora', - 479:'ovl_En_Bigpo', - 480:'ovl_Obj_Kendo_Kanban', - 481:'ovl_Obj_Hariko', - 482:'ovl_En_Sth', - 483:'ovl_Bg_Sinkai_Kabe', - 484:'ovl_Bg_Haka_Curtain', - 485:'ovl_Bg_Kin2_Bombwall', - 486:'ovl_Bg_Kin2_Fence', - 487:'ovl_Bg_Kin2_Picture', - 488:'ovl_Bg_Kin2_Shelf', - 489:'ovl_En_Rail_Skb', - 490:'ovl_En_Jg', - 491:'ovl_En_Tru_Mt', - 492:'ovl_Obj_Um', - 493:'ovl_En_Neo_Reeba', - 494:'ovl_Bg_Mbar_Chair', - 495:'ovl_Bg_Ikana_Block', - 496:'ovl_Bg_Ikana_Mirror', - 497:'ovl_Bg_Ikana_Rotaryroom', - 498:'ovl_Bg_Dblue_Balance', - 499:'ovl_Bg_Dblue_Waterfall', - 500:'ovl_En_Kaizoku', - 501:'ovl_En_Ge2', - 502:'ovl_En_Ma_Yts', - 503:'ovl_En_Ma_Yto', - 504:'ovl_Obj_Tokei_Turret', - 505:'ovl_Bg_Dblue_Elevator', - 506:'ovl_Obj_Warpstone', - 507:'ovl_En_Zog', - 508:'ovl_Obj_Rotlift', - 509:'ovl_Obj_Jg_Gakki', - 510:'ovl_Bg_Inibs_Movebg', - 511:'ovl_En_Zot', - 512:'ovl_Obj_Tree', - 513:'ovl_Obj_Y2lift', - 514:'ovl_Obj_Y2shutter', - 515:'ovl_Obj_Boat', - 516:'ovl_Obj_Taru', - 517:'ovl_Obj_Hunsui', - 518:'ovl_En_Jc_Mato', - 519:'ovl_Mir_Ray3', - 520:'ovl_En_Zob', - 521:'ovl_Elf_Msg6', - 522:'ovl_Obj_Nozoki', - 523:'ovl_En_Toto', - 524:'ovl_En_Railgibud', - 525:'ovl_En_Baba', - 526:'ovl_En_Suttari', - 527:'ovl_En_Zod', - 528:'ovl_En_Kujiya', - 529:'ovl_En_Geg', - 530:'ovl_Obj_Kinoko', - 531:'ovl_Obj_Yasi', - 532:'ovl_En_Tanron1', - 533:'ovl_En_Tanron2', - 534:'ovl_En_Tanron3', - 535:'ovl_Obj_Chan', - 536:'ovl_En_Zos', - 537:'ovl_En_S_Goro', - 538:'ovl_En_Nb', - 539:'ovl_En_Ja', - 540:'ovl_Bg_F40_Block', - 541:'ovl_Bg_F40_Switch', - 542:'ovl_En_Po_Composer', - 543:'ovl_En_Guruguru', - 544:'ovl_Oceff_Wipe5', - 545:'ovl_En_Stone_heishi', - 546:'ovl_Oceff_Wipe6', - 547:'ovl_En_Scopenuts', - 548:'ovl_En_Scopecrow', - 549:'ovl_Oceff_Wipe7', - 550:'ovl_Eff_Kamejima_Wave', - 551:'ovl_En_Hg', - 552:'ovl_En_Hgo', - 553:'ovl_En_Zov', - 554:'ovl_En_Ah', - 555:'ovl_Obj_Hgdoor', - 556:'ovl_Bg_Ikana_Bombwall', - 557:'ovl_Bg_Ikana_Ray', - 558:'ovl_Bg_Ikana_Shutter', - 559:'ovl_Bg_Haka_Bombwall', - 560:'ovl_Bg_Haka_Tomb', - 561:'ovl_En_Sc_Ruppe', - 562:'ovl_Bg_Iknv_Doukutu', - 563:'ovl_Bg_Iknv_Obj', - 564:'ovl_En_Pamera', - 565:'ovl_Obj_HsStump', - 566:'ovl_En_Hidden_Nuts', - 567:'ovl_En_Zow', - 568:'ovl_En_Talk', - 569:'ovl_En_Al', - 570:'ovl_En_Tab', - 571:'ovl_En_Nimotsu', - 572:'ovl_En_Hit_Tag', - 573:'ovl_En_Ruppecrow', - 574:'ovl_En_Tanron4', - 575:'ovl_En_Tanron5', - 576:'ovl_En_Tanron6', - 577:'ovl_En_Daiku2', - 578:'ovl_En_Muto', - 579:'ovl_En_Baisen', - 580:'ovl_En_Heishi', - 581:'ovl_En_Demo_heishi', - 582:'ovl_En_Dt', - 583:'ovl_En_Cha', - 584:'ovl_Obj_Dinner', - 585:'ovl_Eff_Lastday', - 586:'ovl_Bg_Ikana_Dharma', - 587:'ovl_En_Akindonuts', - 588:'ovl_Eff_Stk', - 589:'ovl_En_Ig', - 590:'ovl_En_Rg', - 591:'ovl_En_Osk', - 592:'ovl_En_Sth2', - 593:'ovl_En_Yb', - 594:'ovl_En_Rz', - 595:'ovl_En_Scopecoin', - 596:'ovl_En_Bjt', - 597:'ovl_En_Bomjima', - 598:'ovl_En_Bomjimb', - 599:'ovl_En_Bombers', - 600:'ovl_En_Bombers2', - 601:'ovl_En_Bombal', - 602:'ovl_Obj_Moon_Stone', - 603:'ovl_Obj_Mu_Pict', - 604:'ovl_Bg_Ikninside', - 605:'ovl_Eff_Zoraband', - 606:'ovl_Obj_Kepn_Koya', - 607:'ovl_Obj_Usiyane', - 608:'ovl_En_Nnh', - 609:'ovl_Obj_Kzsaku', - 610:'ovl_Obj_Milk_Bin', - 611:'ovl_En_Kitan', - 612:'ovl_Bg_Astr_Bombwall', - 613:'ovl_Bg_Iknin_Susceil', - 614:'ovl_En_Bsb', - 615:'ovl_En_Recepgirl', - 616:'ovl_En_Thiefbird', - 617:'ovl_En_Jgame_Tsn', - 618:'ovl_Obj_Jgame_Light', - 619:'ovl_Obj_Yado', - 620:'ovl_Demo_Syoten', - 621:'ovl_Demo_Moonend', - 622:'ovl_Bg_Lbfshot', - 623:'ovl_Bg_Last_Bwall', - 624:'ovl_En_And', - 625:'ovl_En_Invadepoh_Demo', - 626:'ovl_Obj_Danpeilift', - 627:'ovl_En_Fall2', - 628:'ovl_Dm_Al', - 629:'ovl_Dm_An', - 630:'ovl_Dm_Ah', - 631:'ovl_Dm_Nb', - 632:'ovl_En_Drs', - 633:'ovl_En_Ending_Hero', - 634:'ovl_Dm_Bal', - 635:'ovl_En_Paper', - 636:'ovl_En_Hint_Skb', - 637:'ovl_Dm_Tag', - 638:'ovl_En_Bh', - 639:'ovl_En_Ending_Hero2', - 640:'ovl_En_Ending_Hero3', - 641:'ovl_En_Ending_Hero4', - 642:'ovl_En_Ending_Hero5', - 643:'ovl_En_Ending_Hero6', - 644:'ovl_Dm_Gm', - 645:'ovl_Obj_Swprize', - 646:'ovl_En_Invisible_Ruppe', - 647:'ovl_Obj_Ending', - 648:'ovl_En_Rsn', -} - -AUDIO_NAMES = { - 3:'Audiobank', - 4:'Audioseq', - 5:'Audiotable', -} - -MISC_NAMES = { - 7:'link_animetion', - 1122:'nintendo_rogo_static', - 1124:'memerrmsg', - 1125:'locerrmsg', - 1135:'elf_message_field', - 1136:'elf_message_ydan', -} - -ASM_NAMES = { - 0:'makerom', - 1:'boot', - 2:'dmadata', - 31:'code', -} - - -def GetFileName(index): - tbls = [ SCENE_NAMES, OBJECT_NAMES, TEXTURE_NAMES, AUDIO_NAMES, MISC_NAMES, OVERLAY_NAMES, ASM_NAMES ] - paths = [ "baserom/assets/scenes", "baserom/assets/objects", "baserom/assets/textures", "baserom/assets/audio", "baserom/assets/misc", "baserom/overlays", "baserom" ] - - for i in range(0, len(tbls)): - tbl = tbls[i] - if index in tbl: - return [ tbl[index], paths[i] ] - - return [ "ERROR", "baserom" ] - - -def read_uint32_be(offset): - return struct.unpack('>I', romData[offset:offset+4])[0] - -def write_output_file(name, offset, size): - try: - with open(name, 'wb') as f: - f.write(romData[offset:offset+size]) - except IOError: - print('failed to write file ' + name) - -if __name__ == '__main__': - parser = argparse.ArgumentParser() - - parser.add_argument('input', help='input file') - args = parser.parse_args() - - # read baserom data - try: - with open(args.input, 'rb') as f: - romData = f.read() - except IOError: - print('failed to read file ' + args.input) - sys.exit(1) - - - paths = [ "baserom", "baserom/assets", "baserom/assets/scenes", "baserom/assets/objects", "baserom/assets/textures", "baserom/assets/audio", "baserom/assets/misc", "baserom/overlays" ] - for path in paths: - try: - os.mkdir(path) - except: - pass - - dmadata_size = read_uint32_be(FILE_TABLE_OFFSET + 16 * 2 + 4) - read_uint32_be(FILE_TABLE_OFFSET + 16 * 2 + 0) - file_count = dmadata_size // 0x10 - - # extract files - for i in range(0, file_count): - entryOffset = FILE_TABLE_OFFSET + 16 * i - - virtStart = read_uint32_be(entryOffset + 0) - virtEnd = read_uint32_be(entryOffset + 4) - physStart = read_uint32_be(entryOffset + 8) - physEnd = read_uint32_be(entryOffset + 12) - - filenameResult = GetFileName(i) - filename = filenameResult[0] - outPath = filenameResult[1] - - if physEnd == 0: # uncompressed - compressed = False - size = virtEnd - virtStart - else: # compressed - compressed = True - size = physEnd - physStart - - if physStart == 0xFFFFFFFF: # file is in table but not on cart? - continue - - if virtStart == 0 and virtEnd == 0: # there are several entries at the end like this... - continue - - print('extracting ' + filename + ' (0x%08X, 0x%08X, 0x%08X)' % (virtStart, virtEnd, size)) - - if compressed: - print('decompressing (' + str(i) + ') ' + filename + ", to " + outPath) - - decompressed_data = decompress(romData[physStart:physStart+size]) - - writefile = open(outPath + "/" + filename, 'wb') - writefile.write(decompressed_data) - writefile.close() - else: - write_output_file(outPath + '/' + filename, physStart, size) diff --git a/tools/filelists/mm.us.rev1/all.csv b/tools/filelists/mm.us.rev1/all.csv new file mode 100644 index 0000000000..b722e4938d --- /dev/null +++ b/tools/filelists/mm.us.rev1/all.csv @@ -0,0 +1,1539 @@ +0,makerom +1,boot +2,dmadata +3,Audiobank +4,Audioseq +5,Audiotable +6,kanji +7,link_animetion +8,icon_item_static_old +9,icon_item_24_static_old +10,icon_item_field_static +11,icon_item_dungeon_static +12,icon_item_gameover_static +13,icon_item_jpn_static +14,icon_item_vtx_static +15,map_i_static +16,map_grand_static +17,item_name_static +18,map_name_static +19,icon_item_static_test +20,icon_item_24_static_test +21,schedule_dma_static_old +22,schedule_dma_static_test +23,schedule_static +24,story_static +25,do_action_static +26,message_static +27,message_texture_static +28,nes_font_static +29,message_data_static +30,staff_message_data_static +31,code +32,ovl_title +33,ovl_select +34,ovl_opening +35,ovl_file_choose +36,ovl_daytelop +37,ovl_kaleido_scope +38,ovl_Player_Actor +39,ovl_En_Test +40,ovl_En_GirlA +41,ovl_En_Part +42,ovl_En_Light +43,ovl_En_Door +44,ovl_En_Box +45,ovl_En_Pametfrog +46,ovl_En_Okuta +47,ovl_En_Bom +48,ovl_En_Wallmas +49,ovl_En_Dodongo +50,ovl_En_Firefly +51,ovl_En_Horse +52,ovl_En_Arrow +53,ovl_En_Elf +54,ovl_En_Niw +55,ovl_En_Tite +56,ovl_En_Peehat +57,ovl_En_Holl +58,ovl_En_Dinofos +59,ovl_En_Hata +60,ovl_En_Zl1 +61,ovl_En_Viewer +62,ovl_En_Bubble +63,ovl_Door_Shutter +64,ovl_En_Boom +65,ovl_En_Torch2 +66,ovl_En_Minifrog +67,ovl_En_St +68,ovl_Obj_Wturn +69,ovl_En_River_Sound +70,ovl_En_Ossan +71,ovl_En_Famos +72,ovl_En_Bombf +73,ovl_En_Am +74,ovl_En_Dekubaba +75,ovl_En_M_Fire1 +76,ovl_En_M_Thunder +77,ovl_Bg_Breakwall +78,ovl_Door_Warp1 +79,ovl_Obj_Syokudai +80,ovl_Item_B_Heart +81,ovl_En_Dekunuts +82,ovl_En_Bbfall +83,ovl_Arms_Hook +84,ovl_En_Bb +85,ovl_Bg_Keikoku_Spr +86,ovl_En_Wood02 +87,ovl_En_Death +88,ovl_En_Minideath +89,ovl_En_Vm +90,ovl_Demo_Effect +91,ovl_Demo_Kankyo +92,ovl_En_Floormas +93,ovl_En_Rd +94,ovl_Bg_F40_Flift +95,ovl_Obj_Mure +96,ovl_En_Sw +97,ovl_Object_Kankyo +98,ovl_En_Horse_Link_Child +99,ovl_Door_Ana +100,ovl_En_Encount1 +101,ovl_Demo_Tre_Lgt +102,ovl_En_Encount2 +103,ovl_En_Fire_Rock +104,ovl_Bg_Ctower_Rot +105,ovl_Mir_Ray +106,ovl_En_Sb +107,ovl_En_Bigslime +108,ovl_En_Karebaba +109,ovl_En_In +110,ovl_En_Bom_Chu +111,ovl_En_Horse_Game_Check +112,ovl_En_Rr +113,ovl_En_Fr +114,ovl_En_Fishing +115,ovl_Obj_Oshihiki +116,ovl_Eff_Dust +117,ovl_Bg_Umajump +118,ovl_En_Insect +119,ovl_En_Butte +120,ovl_En_Fish +121,ovl_Item_Etcetera +122,ovl_Arrow_Fire +123,ovl_Arrow_Ice +124,ovl_Arrow_Light +125,ovl_Obj_Kibako +126,ovl_Obj_Tsubo +127,ovl_En_Ik +128,ovl_Demo_Shd +129,ovl_En_Dns +130,ovl_Elf_Msg +131,ovl_En_Honotrap +132,ovl_En_Tubo_Trap +133,ovl_Obj_Ice_Poly +134,ovl_En_Fz +135,ovl_En_Kusa +136,ovl_Obj_Bean +137,ovl_Obj_Bombiwa +138,ovl_Obj_Switch +139,ovl_Obj_Lift +140,ovl_Obj_Hsblock +141,ovl_En_Okarina_Tag +142,ovl_En_Goroiwa +143,ovl_En_Daiku +144,ovl_En_Nwc +145,ovl_Item_Inbox +146,ovl_En_Ge1 +147,ovl_Obj_Blockstop +148,ovl_En_Sda +149,ovl_En_Clear_Tag +150,ovl_En_Gm +151,ovl_En_Ms +152,ovl_En_Hs +153,ovl_Bg_Ingate +154,ovl_En_Kanban +155,ovl_En_Attack_Niw +156,ovl_En_Mk +157,ovl_En_Owl +158,ovl_En_Ishi +159,ovl_Obj_Hana +160,ovl_Obj_Lightswitch +161,ovl_Obj_Mure2 +162,ovl_En_Fu +163,ovl_En_Stream +164,ovl_En_Mm +165,ovl_En_Weather_Tag +166,ovl_En_Ani +167,ovl_En_Js +168,ovl_En_Okarina_Effect +169,ovl_En_Mag +170,ovl_Elf_Msg2 +171,ovl_Bg_F40_Swlift +172,ovl_En_Kakasi +173,ovl_Obj_Makeoshihiki +174,ovl_Oceff_Spot +175,ovl_En_Torch +176,ovl_Shot_Sun +177,ovl_Obj_Roomtimer +178,ovl_En_Ssh +179,ovl_Oceff_Wipe +180,ovl_Effect_Ss_Dust +181,ovl_Effect_Ss_Kirakira +182,ovl_Effect_Ss_Bomb2 +183,ovl_Effect_Ss_Blast +184,ovl_Effect_Ss_G_Spk +185,ovl_Effect_Ss_D_Fire +186,ovl_Effect_Ss_Bubble +187,ovl_Effect_Ss_G_Ripple +188,ovl_Effect_Ss_G_Splash +189,ovl_Effect_Ss_G_Fire +190,ovl_Effect_Ss_Lightning +191,ovl_Effect_Ss_Dt_Bubble +192,ovl_Effect_Ss_Hahen +193,ovl_Effect_Ss_Stick +194,ovl_Effect_Ss_Sibuki +195,ovl_Effect_Ss_Stone1 +196,ovl_Effect_Ss_Hitmark +197,ovl_Effect_Ss_Fhg_Flash +198,ovl_Effect_Ss_K_Fire +199,ovl_Effect_Ss_Solder_Srch_Ball +200,ovl_Effect_Ss_Kakera +201,ovl_Effect_Ss_Ice_Piece +202,ovl_Effect_Ss_En_Ice +203,ovl_Effect_Ss_Fire_Tail +204,ovl_Effect_Ss_En_Fire +205,ovl_Effect_Ss_Extra +206,ovl_Effect_Ss_Dead_Db +207,ovl_Effect_Ss_Dead_Dd +208,ovl_Effect_Ss_Dead_Ds +209,ovl_Oceff_Storm +210,ovl_Obj_Demo +211,ovl_En_Minislime +212,ovl_En_Nutsball +213,ovl_Oceff_Wipe2 +214,ovl_Oceff_Wipe3 +215,ovl_En_Dg +216,ovl_En_Si +217,ovl_Obj_Comb +218,ovl_Obj_Kibako2 +219,ovl_En_Hs2 +220,ovl_Obj_Mure3 +221,ovl_En_Tg +222,ovl_En_Wf +223,ovl_En_Skb +224,ovl_En_Gs +225,ovl_Obj_Sound +226,ovl_En_Crow +227,ovl_En_Cow +228,ovl_Oceff_Wipe4 +229,ovl_En_Zo +230,ovl_Effect_Ss_Ice_Smoke +231,ovl_Obj_Makekinsuta +232,ovl_En_Ge3 +233,ovl_Obj_Hamishi +234,ovl_En_Zl4 +235,ovl_En_Mm2 +236,ovl_Door_Spiral +237,ovl_Obj_Pzlblock +238,ovl_Obj_Toge +239,ovl_Obj_Armos +240,ovl_Obj_Boyo +241,ovl_En_Grasshopper +242,ovl_Obj_Grass +243,ovl_Obj_Grass_Carry +244,ovl_Obj_Grass_Unit +245,ovl_Bg_Fire_Wall +246,ovl_En_Bu +247,ovl_En_Encount3 +248,ovl_En_Jso +249,ovl_Obj_Chikuwa +250,ovl_En_Knight +251,ovl_En_Warp_tag +252,ovl_En_Aob_01 +253,ovl_En_Boj_01 +254,ovl_En_Boj_02 +255,ovl_En_Boj_03 +256,ovl_En_Encount4 +257,ovl_En_Bom_Bowl_Man +258,ovl_En_Syateki_Man +259,ovl_Bg_Icicle +260,ovl_En_Syateki_Crow +261,ovl_En_Boj_04 +262,ovl_En_Cne_01 +263,ovl_En_Bba_01 +264,ovl_En_Bji_01 +265,ovl_Bg_Spdweb +266,ovl_En_Mt_tag +267,ovl_Boss_01 +268,ovl_Boss_02 +269,ovl_Boss_03 +270,ovl_Boss_04 +271,ovl_Boss_05 +272,ovl_Boss_06 +273,ovl_Boss_07 +274,ovl_Bg_Dy_Yoseizo +275,ovl_En_Boj_05 +276,ovl_En_Sob1 +277,ovl_En_Go +278,ovl_En_Raf +279,ovl_Obj_Funen +280,ovl_Obj_Raillift +281,ovl_Bg_Numa_Hana +282,ovl_Obj_Flowerpot +283,ovl_Obj_Spinyroll +284,ovl_Dm_Hina +285,ovl_En_Syateki_Wf +286,ovl_Obj_Skateblock +287,ovl_Effect_En_Ice_Block +288,ovl_Obj_Iceblock +289,ovl_En_Bigpamet +290,ovl_Bg_Dblue_Movebg +291,ovl_En_Syateki_Dekunuts +292,ovl_Elf_Msg3 +293,ovl_En_Fg +294,ovl_Dm_Ravine +295,ovl_Dm_Sa +296,ovl_En_Slime +297,ovl_En_Pr +298,ovl_Obj_Toudai +299,ovl_Obj_Entotu +300,ovl_Obj_Bell +301,ovl_En_Syateki_Okuta +302,ovl_Obj_Shutter +303,ovl_Dm_Zl +304,ovl_En_Ru +305,ovl_En_Elfgrp +306,ovl_Dm_Tsg +307,ovl_En_Baguo +308,ovl_Obj_Vspinyroll +309,ovl_Obj_Smork +310,ovl_En_Test2 +311,ovl_En_Test3 +312,ovl_En_Test4 +313,ovl_En_Bat +314,ovl_En_Sekihi +315,ovl_En_Wiz +316,ovl_En_Wiz_Brock +317,ovl_En_Wiz_Fire +318,ovl_Eff_Change +319,ovl_Dm_Statue +320,ovl_Obj_Fireshield +321,ovl_Bg_Ladder +322,ovl_En_Mkk +323,ovl_Demo_Getitem +324,ovl_En_Dnb +325,ovl_En_Dnh +326,ovl_En_Dnk +327,ovl_En_Dnq +328,ovl_Bg_Keikoku_Saku +329,ovl_Obj_Hugebombiwa +330,ovl_En_Firefly2 +331,ovl_En_Rat +332,ovl_En_Water_Effect +333,ovl_En_Kusa2 +334,ovl_Bg_Spout_Fire +335,ovl_En_Dy_Extra +336,ovl_En_Bal +337,ovl_En_Ginko_Man +338,ovl_En_Warp_Uzu +339,ovl_Obj_Driftice +340,ovl_En_Look_Nuts +341,ovl_En_Mushi2 +342,ovl_En_Fall +343,ovl_En_Mm3 +344,ovl_Bg_Crace_Movebg +345,ovl_En_Dno +346,ovl_En_Pr2 +347,ovl_En_Prz +348,ovl_En_Jso2 +349,ovl_Obj_Etcetera +350,ovl_En_Egol +351,ovl_Obj_Mine +352,ovl_Obj_Purify +353,ovl_En_Tru +354,ovl_En_Trt +355,ovl_En_Test5 +356,ovl_En_Test6 +357,ovl_En_Az +358,ovl_En_Estone +359,ovl_Bg_Hakugin_Post +360,ovl_Dm_Opstage +361,ovl_Dm_Stk +362,ovl_Dm_Char00 +363,ovl_Dm_Char01 +364,ovl_Dm_Char02 +365,ovl_Dm_Char03 +366,ovl_Dm_Char04 +367,ovl_Dm_Char05 +368,ovl_Dm_Char06 +369,ovl_Dm_Char07 +370,ovl_Dm_Char08 +371,ovl_Dm_Char09 +372,ovl_Obj_Tokeidai +373,ovl_En_Mnk +374,ovl_En_Egblock +375,ovl_En_Guard_Nuts +376,ovl_Bg_Hakugin_Bombwall +377,ovl_Obj_Tokei_Tobira +378,ovl_Bg_Hakugin_Elvpole +379,ovl_En_Ma4 +380,ovl_En_Twig +381,ovl_En_Po_Fusen +382,ovl_En_Door_Etc +383,ovl_En_Bigokuta +384,ovl_Bg_Icefloe +385,ovl_fbdemo_triforce +386,ovl_fbdemo_wipe1 +387,ovl_fbdemo_wipe3 +388,ovl_fbdemo_wipe4 +389,ovl_fbdemo_wipe5 +390,ovl_Effect_Ss_Sbn +391,ovl_Obj_Ocarinalift +392,ovl_En_Time_Tag +393,ovl_Bg_Open_Shutter +394,ovl_Bg_Open_Spot +395,ovl_Bg_Fu_Kaiten +396,ovl_Obj_Aqua +397,ovl_En_Elforg +398,ovl_En_Elfbub +399,ovl_En_Fu_Mato +400,ovl_En_Fu_Kago +401,ovl_En_Osn +402,ovl_Bg_Ctower_Gear +403,ovl_En_Trt2 +404,ovl_Obj_Tokei_Step +405,ovl_Bg_Lotus +406,ovl_En_Kame +407,ovl_Obj_Takaraya_Wall +408,ovl_Bg_Fu_Mizu +409,ovl_En_Sellnuts +410,ovl_Bg_Dkjail_Ivy +411,ovl_Obj_Visiblock +412,ovl_En_Takaraya +413,ovl_En_Tsn +414,ovl_En_Ds2n +415,ovl_En_Fsn +416,ovl_En_Shn +417,ovl_En_Stop_heishi +418,ovl_Obj_Bigicicle +419,ovl_En_Lift_Nuts +420,ovl_En_Tk +421,ovl_Bg_Market_Step +422,ovl_Obj_Lupygamelift +423,ovl_En_Test7 +424,ovl_Obj_Lightblock +425,ovl_Mir_Ray2 +426,ovl_En_Wdhand +427,ovl_En_Gamelupy +428,ovl_Bg_Danpei_Movebg +429,ovl_En_Snowwd +430,ovl_En_Pm +431,ovl_En_Gakufu +432,ovl_Elf_Msg4 +433,ovl_Elf_Msg5 +434,ovl_En_Col_Man +435,ovl_En_Talk_Gibud +436,ovl_En_Giant +437,ovl_Obj_Snowball +438,ovl_Boss_Hakugin +439,ovl_En_Gb2 +440,ovl_En_Onpuman +441,ovl_Bg_Tobira01 +442,ovl_En_Tag_Obj +443,ovl_Obj_Dhouse +444,ovl_Obj_Hakaisi +445,ovl_Bg_Hakugin_Switch +446,ovl_En_Snowman +447,ovl_TG_Sw +448,ovl_En_Po_Sisters +449,ovl_En_Pp +450,ovl_En_Hakurock +451,ovl_En_Hanabi +452,ovl_Obj_Dowsing +453,ovl_Obj_Wind +454,ovl_En_Racedog +455,ovl_En_Kendo_Js +456,ovl_Bg_Botihasira +457,ovl_En_Fish2 +458,ovl_En_Pst +459,ovl_En_Poh +460,ovl_Obj_Spidertent +461,ovl_En_Zoraegg +462,ovl_En_Kbt +463,ovl_En_Gg +464,ovl_En_Maruta +465,ovl_Obj_Snowball2 +466,ovl_En_Gg2 +467,ovl_Obj_Ghaka +468,ovl_En_Dnp +469,ovl_En_Dai +470,ovl_Bg_Goron_Oyu +471,ovl_En_Kgy +472,ovl_En_Invadepoh +473,ovl_En_Gk +474,ovl_En_An +475,ovl_En_Bee +476,ovl_En_Ot +477,ovl_En_Dragon +478,ovl_Obj_Dora +479,ovl_En_Bigpo +480,ovl_Obj_Kendo_Kanban +481,ovl_Obj_Hariko +482,ovl_En_Sth +483,ovl_Bg_Sinkai_Kabe +484,ovl_Bg_Haka_Curtain +485,ovl_Bg_Kin2_Bombwall +486,ovl_Bg_Kin2_Fence +487,ovl_Bg_Kin2_Picture +488,ovl_Bg_Kin2_Shelf +489,ovl_En_Rail_Skb +490,ovl_En_Jg +491,ovl_En_Tru_Mt +492,ovl_Obj_Um +493,ovl_En_Neo_Reeba +494,ovl_Bg_Mbar_Chair +495,ovl_Bg_Ikana_Block +496,ovl_Bg_Ikana_Mirror +497,ovl_Bg_Ikana_Rotaryroom +498,ovl_Bg_Dblue_Balance +499,ovl_Bg_Dblue_Waterfall +500,ovl_En_Kaizoku +501,ovl_En_Ge2 +502,ovl_En_Ma_Yts +503,ovl_En_Ma_Yto +504,ovl_Obj_Tokei_Turret +505,ovl_Bg_Dblue_Elevator +506,ovl_Obj_Warpstone +507,ovl_En_Zog +508,ovl_Obj_Rotlift +509,ovl_Obj_Jg_Gakki +510,ovl_Bg_Inibs_Movebg +511,ovl_En_Zot +512,ovl_Obj_Tree +513,ovl_Obj_Y2lift +514,ovl_Obj_Y2shutter +515,ovl_Obj_Boat +516,ovl_Obj_Taru +517,ovl_Obj_Hunsui +518,ovl_En_Jc_Mato +519,ovl_Mir_Ray3 +520,ovl_En_Zob +521,ovl_Elf_Msg6 +522,ovl_Obj_Nozoki +523,ovl_En_Toto +524,ovl_En_Railgibud +525,ovl_En_Baba +526,ovl_En_Suttari +527,ovl_En_Zod +528,ovl_En_Kujiya +529,ovl_En_Geg +530,ovl_Obj_Kinoko +531,ovl_Obj_Yasi +532,ovl_En_Tanron1 +533,ovl_En_Tanron2 +534,ovl_En_Tanron3 +535,ovl_Obj_Chan +536,ovl_En_Zos +537,ovl_En_S_Goro +538,ovl_En_Nb +539,ovl_En_Ja +540,ovl_Bg_F40_Block +541,ovl_Bg_F40_Switch +542,ovl_En_Po_Composer +543,ovl_En_Guruguru +544,ovl_Oceff_Wipe5 +545,ovl_En_Stone_heishi +546,ovl_Oceff_Wipe6 +547,ovl_En_Scopenuts +548,ovl_En_Scopecrow +549,ovl_Oceff_Wipe7 +550,ovl_Eff_Kamejima_Wave +551,ovl_En_Hg +552,ovl_En_Hgo +553,ovl_En_Zov +554,ovl_En_Ah +555,ovl_Obj_Hgdoor +556,ovl_Bg_Ikana_Bombwall +557,ovl_Bg_Ikana_Ray +558,ovl_Bg_Ikana_Shutter +559,ovl_Bg_Haka_Bombwall +560,ovl_Bg_Haka_Tomb +561,ovl_En_Sc_Ruppe +562,ovl_Bg_Iknv_Doukutu +563,ovl_Bg_Iknv_Obj +564,ovl_En_Pamera +565,ovl_Obj_HsStump +566,ovl_En_Hidden_Nuts +567,ovl_En_Zow +568,ovl_En_Talk +569,ovl_En_Al +570,ovl_En_Tab +571,ovl_En_Nimotsu +572,ovl_En_Hit_Tag +573,ovl_En_Ruppecrow +574,ovl_En_Tanron4 +575,ovl_En_Tanron5 +576,ovl_En_Tanron6 +577,ovl_En_Daiku2 +578,ovl_En_Muto +579,ovl_En_Baisen +580,ovl_En_Heishi +581,ovl_En_Demo_heishi +582,ovl_En_Dt +583,ovl_En_Cha +584,ovl_Obj_Dinner +585,ovl_Eff_Lastday +586,ovl_Bg_Ikana_Dharma +587,ovl_En_Akindonuts +588,ovl_Eff_Stk +589,ovl_En_Ig +590,ovl_En_Rg +591,ovl_En_Osk +592,ovl_En_Sth2 +593,ovl_En_Yb +594,ovl_En_Rz +595,ovl_En_Scopecoin +596,ovl_En_Bjt +597,ovl_En_Bomjima +598,ovl_En_Bomjimb +599,ovl_En_Bombers +600,ovl_En_Bombers2 +601,ovl_En_Bombal +602,ovl_Obj_Moon_Stone +603,ovl_Obj_Mu_Pict +604,ovl_Bg_Ikninside +605,ovl_Eff_Zoraband +606,ovl_Obj_Kepn_Koya +607,ovl_Obj_Usiyane +608,ovl_En_Nnh +609,ovl_Obj_Kzsaku +610,ovl_Obj_Milk_Bin +611,ovl_En_Kitan +612,ovl_Bg_Astr_Bombwall +613,ovl_Bg_Iknin_Susceil +614,ovl_En_Bsb +615,ovl_En_Recepgirl +616,ovl_En_Thiefbird +617,ovl_En_Jgame_Tsn +618,ovl_Obj_Jgame_Light +619,ovl_Obj_Yado +620,ovl_Demo_Syoten +621,ovl_Demo_Moonend +622,ovl_Bg_Lbfshot +623,ovl_Bg_Last_Bwall +624,ovl_En_And +625,ovl_En_Invadepoh_Demo +626,ovl_Obj_Danpeilift +627,ovl_En_Fall2 +628,ovl_Dm_Al +629,ovl_Dm_An +630,ovl_Dm_Ah +631,ovl_Dm_Nb +632,ovl_En_Drs +633,ovl_En_Ending_Hero +634,ovl_Dm_Bal +635,ovl_En_Paper +636,ovl_En_Hint_Skb +637,ovl_Dm_Tag +638,ovl_En_Bh +639,ovl_En_Ending_Hero2 +640,ovl_En_Ending_Hero3 +641,ovl_En_Ending_Hero4 +642,ovl_En_Ending_Hero5 +643,ovl_En_Ending_Hero6 +644,ovl_Dm_Gm +645,ovl_Obj_Swprize +646,ovl_En_Invisible_Ruppe +647,ovl_Obj_Ending +648,ovl_En_Rsn +649,gameplay_keep +650,gameplay_field_keep +651,gameplay_dangeon_keep +652,gameplay_object_exchange_static +653,object_link_boy +654,object_link_child +655,object_link_goron +656,object_link_zora +657,object_link_nuts +658,object_mask_ki_tan +659,object_mask_rabit +660,object_mask_skj +661,object_mask_truth +662,object_mask_gibudo +663,object_mask_json +664,object_mask_kerfay +665,object_mask_bigelf +666,object_mask_kyojin +667,object_mask_romerny +668,object_mask_posthat +669,object_mask_zacho +670,object_mask_stone +671,object_mask_bree +672,object_mask_gero +673,object_mask_yofukasi +674,object_mask_meoto +675,object_mask_dancer +676,object_mask_bakuretu +677,object_mask_bu_san +678,object_mask_goron +679,object_mask_zora +680,object_mask_nuts +681,object_mask_boy +682,object_box +683,object_okuta +684,object_wallmaster +685,object_dy_obj +686,object_firefly +687,object_dodongo +688,object_niw +689,object_tite +690,object_ph +691,object_dinofos +692,object_zl1 +693,object_bubble +694,object_test3 +695,object_famos +696,object_st +697,object_thiefbird +698,object_bombf +699,object_am +700,object_dekubaba +701,object_warp1 +702,object_b_heart +703,object_dekunuts +704,object_bb +705,object_death +706,object_hata +707,object_wood02 +708,object_trap +709,object_vm +710,object_efc_star_field +711,object_rd +712,object_yukimura_obj +713,object_horse_link_child +714,object_syokudai +715,object_efc_tw +716,object_gi_key +717,object_mir_ray +718,object_ctower_rot +719,object_bdoor +720,object_sb +721,object_gi_melody +722,object_gi_heart +723,object_gi_compass +724,object_gi_bosskey +725,object_gi_nuts +726,object_gi_hearts +727,object_gi_arrowcase +728,object_gi_bombpouch +729,object_in +730,object_os_anime +731,object_gi_bottle +732,object_gi_stick +733,object_gi_map +734,object_oF1d_map +735,object_ru2 +736,object_gi_magicpot +737,object_gi_bomb_1 +738,object_ma2 +739,object_gi_purse +740,object_rr +741,object_gi_arrow +742,object_gi_bomb_2 +743,object_gi_shield_2 +744,object_gi_hookshot +745,object_gi_ocarina +746,object_gi_milk +747,object_ma1 +748,object_ny +749,object_fr +750,object_gi_bow +751,object_gi_glasses +752,object_gi_liquid +753,object_ani +754,object_gi_shield_3 +755,object_gi_bean +756,object_gi_fish +757,object_gi_longsword +758,object_zo +759,object_umajump +760,object_mastergolon +761,object_masterzoora +762,object_aob +763,object_ik +764,object_ahg +765,object_cne +766,object_bji +767,object_bba +768,object_an1 +769,object_boj +770,object_fz +771,object_bob +772,object_ge1 +773,object_yabusame_point +774,object_d_hsblock +775,object_d_lift +776,object_mamenoki +777,object_goroiwa +778,object_toryo +779,object_daiku +780,object_nwc +781,object_gm +782,object_ms +783,object_hs +784,object_lightswitch +785,object_kusa +786,object_tsubo +787,object_kanban +788,object_owl +789,object_mk +790,object_fu +791,object_gi_ki_tan_mask +792,object_gi_mask18 +793,object_gi_rabit_mask +794,object_gi_truth_mask +795,object_stream +796,object_mm +797,object_js +798,object_cs +799,object_gi_soldout +800,object_mag +801,object_gi_golonmask +802,object_gi_zoramask +803,object_ka +804,object_zg +805,object_gi_m_arrow +806,object_ds2 +807,object_fish +808,object_gi_sutaru +809,object_ssh +810,object_bigslime +811,object_bg +812,object_bombiwa +813,object_hintnuts +814,object_rs +815,object_gla +816,object_geldb +817,object_dog +818,object_kibako2 +819,object_dns +820,object_dnk +821,object_gi_insect +822,object_gi_ghost +823,object_gi_soul +824,object_f40_obj +825,object_gi_rupy +826,object_po_composer +827,object_mu +828,object_wf +829,object_skb +830,object_gs +831,object_ps +832,object_omoya_obj +833,object_crow +834,object_cow +835,object_gi_sword_1 +836,object_zl4 +837,object_grasshopper +838,object_boyo +839,object_fwall +840,object_jso +841,object_knight +842,object_icicle +843,object_spdweb +844,object_boss01 +845,object_boss02 +846,object_boss03 +847,object_boss04 +848,object_boss05 +849,object_boss07 +850,object_raf +851,object_funen +852,object_raillift +853,object_numa_obj +854,object_flowerpot +855,object_spinyroll +856,object_ice_block +857,object_keikoku_demo +858,object_slime +859,object_pr +860,object_f52_obj +861,object_f53_obj +862,object_kibako +863,object_sek +864,object_gmo +865,object_bat +866,object_sekihil +867,object_sekihig +868,object_sekihin +869,object_sekihiz +870,object_wiz +871,object_ladder +872,object_mkk +873,object_keikoku_obj +874,object_sichitai_obj +875,object_dekucity_ana_obj +876,object_rat +877,object_water_effect +878,object_dblue_object +879,object_bal +880,object_warp_uzu +881,object_driftice +882,object_fall +883,object_hanareyama_obj +884,object_crace_object +885,object_dnq +886,object_obj_tokeidai +887,object_eg +888,object_tru +889,object_trt +890,object_hakugin_obj +891,object_horse_game_check +892,object_stk +893,object_mnk +894,object_gi_bottle_red +895,object_tokei_tobira +896,object_az +897,object_twig +898,object_dekucity_obj +899,object_po_fusen +900,object_racetsubo +901,object_ha +902,object_bigokuta +903,object_open_obj +904,object_fu_kaiten +905,object_fu_mato +906,object_mtoride +907,object_osn +908,object_tokei_step +909,object_lotus +910,object_tl +911,object_dkjail_obj +912,object_visiblock +913,object_tsn +914,object_ds2n +915,object_fsn +916,object_shn +917,object_bigicicle +918,object_gi_bottle_15 +919,object_tk +920,object_market_obj +921,object_gi_reserve00 +922,object_gi_reserve01 +923,object_lightblock +924,object_takaraya_objects +925,object_wdhand +926,object_sdn +927,object_snowwd +928,object_giant +929,object_comb +930,object_hana +931,object_boss_hakugin +932,object_meganeana_obj +933,object_gi_nutsmask +934,object_stk2 +935,object_spot11_obj +936,object_danpei_object +937,object_dhouse +938,object_hakaisi +939,object_po +940,object_snowman +941,object_po_sisters +942,object_pp +943,object_goronswitch +944,object_delf +945,object_botihasira +946,object_gi_bigbomb +947,object_pst +948,object_bsmask +949,object_spidertent +950,object_zoraegg +951,object_kbt +952,object_gg +953,object_maruta +954,object_ghaka +955,object_oyu +956,object_dnp +957,object_dai +958,object_kgy +959,object_fb +960,object_taisou +961,object_gk +962,object_haka_obj +963,object_dnt +964,object_yukiyama +965,object_icefloe +966,object_gi_gold_dust +967,object_gi_bottle_16 +968,object_gi_bottle_22 +969,object_bee +970,object_ot +971,object_utubo +972,object_dora +973,object_gi_loach +974,object_gi_seahorse +975,object_bigpo +976,object_hariko +977,object_dno +978,object_sinkai_kabe +979,object_kin2_obj +980,object_ishi +981,object_hakugin_demo +982,object_jg +983,object_gi_sword_2 +984,object_gi_sword_3 +985,object_gi_sword_4 +986,object_um +987,object_rb +988,object_mbar_obj +989,object_ikana_obj +990,object_kz +991,object_tokei_turret +992,object_zog +993,object_rotlift +994,object_posthouse_obj +995,object_gi_mask09 +996,object_gi_mask14 +997,object_gi_mask15 +998,object_inibs_object +999,object_tree +1000,object_kaizoku_obj +1001,object_gi_reserve_b_00 +1002,object_gi_reserve_c_00 +1003,object_zob +1004,object_milkbar +1005,object_dmask +1006,object_gi_reserve_c_01 +1007,object_zod +1008,object_kumo30 +1009,object_obj_yasi +1010,object_tanron1 +1011,object_tanron2 +1012,object_tanron3 +1013,object_gi_magicmushroom +1014,object_obj_chan +1015,object_gi_mask10 +1016,object_zos +1017,object_an2 +1018,object_an3 +1019,object_f40_switch +1020,object_lodmoon +1021,object_tro +1022,object_gi_mask12 +1023,object_gi_mask23 +1024,object_gi_bottle_21 +1025,object_gi_camera +1026,object_kamejima +1027,object_nb +1028,object_harfgibud +1029,object_zov +1030,object_ah +1031,object_hgdoor +1032,object_dor01 +1033,object_dor02 +1034,object_dor03 +1035,object_dor04 +1036,object_last_obj +1037,object_redead_obj +1038,object_ikninside_obj +1039,object_iknv_obj +1040,object_pamera +1041,object_hsstump +1042,object_zm +1043,object_al +1044,object_tab +1045,object_secom_obj +1046,object_dt +1047,object_gi_mask03 +1048,object_cha +1049,object_obj_dinner +1050,object_gi_reserve_b_01 +1051,object_lastday +1052,object_bai +1053,object_ikn_demo +1054,object_gi_fieldmap +1055,object_big_fwall +1056,object_hunsui +1057,object_uch +1058,object_tanron4 +1059,object_tanron5 +1060,object_in2 +1061,object_yb +1062,object_rz +1063,object_bjt +1064,object_taru +1065,object_moonston +1066,object_gi_schedule +1067,object_gi_stonemask +1068,object_zoraband +1069,object_kepn_koya +1070,object_obj_usiyane +1071,object_gi_mask05 +1072,object_gi_mask11 +1073,object_gi_mask20 +1074,object_nnh +1075,object_kzsaku +1076,object_obj_milk_bin +1077,object_random_obj +1078,object_kujiya +1079,object_kitan +1080,object_gi_mask06 +1081,object_gi_mask16 +1082,object_astr_obj +1083,object_bsb +1084,object_fall2 +1085,object_sth +1086,object_gi_mssa +1087,object_smtower +1088,object_gi_mask21 +1089,object_yado_obj +1090,object_syoten +1091,object_moonend +1092,object_ob +1093,object_gi_bottle_04 +1094,object_and +1095,object_obj_danpeilift +1096,object_drs +1097,object_msmo +1098,object_an4 +1099,object_wdor01 +1100,object_wdor02 +1101,object_wdor03 +1102,object_wdor04 +1103,object_wdor05 +1104,object_stk3 +1105,object_kinsta1_obj +1106,object_kinsta2_obj +1107,object_bh +1108,object_gi_mask17 +1109,object_gi_mask22 +1110,object_lbfshot +1111,object_fusen +1112,object_ending_obj +1113,object_gi_mask13 +1114,scene_texture_01 +1115,scene_texture_02 +1116,scene_texture_03 +1117,scene_texture_04 +1118,scene_texture_05 +1119,scene_texture_06 +1120,scene_texture_07 +1121,scene_texture_08 +1122,nintendo_rogo_static +1123,title_static +1124,memerrmsg +1125,locerrmsg +1126,parameter_static +1127,week_static +1128,daytelop_static +1129,ger_daytelop_static +1130,fra_daytelop_static +1131,esp_daytelop_static +1132,d2_fine_static +1133,d2_cloud_static +1134,d2_fine_pal_static +1135,elf_message_field +1136,elf_message_ydan +1137,Z2_20SICHITAI2 +1138,Z2_20SICHITAI2_room_00 +1139,Z2_20SICHITAI2_room_01 +1140,Z2_20SICHITAI2_room_02 +1141,Z2_WITCH_SHOP +1142,Z2_WITCH_SHOP_room_00 +1143,Z2_LAST_BS +1144,Z2_LAST_BS_room_00 +1145,Z2_HAKASHITA +1146,Z2_HAKASHITA_room_00 +1147,Z2_HAKASHITA_room_01 +1148,Z2_HAKASHITA_room_02 +1149,Z2_HAKASHITA_room_03 +1150,Z2_HAKASHITA_room_04 +1151,Z2_AYASHIISHOP +1152,Z2_AYASHIISHOP_room_00 +1153,Z2_AYASHIISHOP_room_01 +1154,Z2_OMOYA +1155,Z2_OMOYA_room_00 +1156,Z2_OMOYA_room_01 +1157,Z2_OMOYA_room_02 +1158,Z2_BOWLING +1159,Z2_BOWLING_room_00 +1160,Z2_SONCHONOIE +1161,Z2_SONCHONOIE_room_00 +1162,Z2_SONCHONOIE_room_01 +1163,Z2_SONCHONOIE_room_02 +1164,Z2_SONCHONOIE_room_03 +1165,Z2_IKANA +1166,Z2_IKANA_room_00 +1167,Z2_IKANA_room_01 +1168,Z2_IKANA_room_02 +1169,Z2_IKANA_room_03 +1170,Z2_IKANA_room_04 +1171,Z2_KAIZOKU +1172,Z2_KAIZOKU_room_00 +1173,Z2_MILK_BAR +1174,Z2_MILK_BAR_room_00 +1175,Z2_INISIE_N +1176,Z2_INISIE_N_room_00 +1177,Z2_INISIE_N_room_01 +1178,Z2_INISIE_N_room_02 +1179,Z2_INISIE_N_room_03 +1180,Z2_INISIE_N_room_04 +1181,Z2_INISIE_N_room_05 +1182,Z2_INISIE_N_room_06 +1183,Z2_INISIE_N_room_07 +1184,Z2_INISIE_N_room_08 +1185,Z2_INISIE_N_room_09 +1186,Z2_INISIE_N_room_10 +1187,Z2_INISIE_N_room_11 +1188,Z2_TAKARAYA +1189,Z2_TAKARAYA_room_00 +1190,Z2_INISIE_R +1191,Z2_INISIE_R_room_00 +1192,Z2_INISIE_R_room_01 +1193,Z2_INISIE_R_room_02 +1194,Z2_INISIE_R_room_03 +1195,Z2_INISIE_R_room_04 +1196,Z2_INISIE_R_room_05 +1197,Z2_INISIE_R_room_06 +1198,Z2_INISIE_R_room_07 +1199,Z2_INISIE_R_room_08 +1200,Z2_INISIE_R_room_09 +1201,Z2_INISIE_R_room_10 +1202,Z2_INISIE_R_room_11 +1203,Z2_OKUJOU +1204,Z2_OKUJOU_room_00 +1205,Z2_OPENINGDAN +1206,Z2_OPENINGDAN_room_00 +1207,Z2_OPENINGDAN_room_01 +1208,Z2_MITURIN +1209,Z2_MITURIN_room_00 +1210,Z2_MITURIN_room_01 +1211,Z2_MITURIN_room_02 +1212,Z2_MITURIN_room_03 +1213,Z2_MITURIN_room_04 +1214,Z2_MITURIN_room_05 +1215,Z2_MITURIN_room_06 +1216,Z2_MITURIN_room_07 +1217,Z2_MITURIN_room_08 +1218,Z2_MITURIN_room_09 +1219,Z2_MITURIN_room_10 +1220,Z2_MITURIN_room_11 +1221,Z2_MITURIN_room_12 +1222,Z2_13HUBUKINOMITI +1223,Z2_13HUBUKINOMITI_room_00 +1224,Z2_CASTLE +1225,Z2_CASTLE_room_00 +1226,Z2_CASTLE_room_01 +1227,Z2_CASTLE_room_02 +1228,Z2_CASTLE_room_03 +1229,Z2_CASTLE_room_04 +1230,Z2_CASTLE_room_05 +1231,Z2_CASTLE_room_06 +1232,Z2_CASTLE_room_07 +1233,Z2_CASTLE_room_08 +1234,Z2_CASTLE_room_09 +1235,Z2_DEKUTES +1236,Z2_DEKUTES_room_00 +1237,Z2_MITURIN_BS +1238,Z2_MITURIN_BS_room_00 +1239,Z2_SYATEKI_MIZU +1240,Z2_SYATEKI_MIZU_room_00 +1241,Z2_HAKUGIN +1242,Z2_HAKUGIN_room_00 +1243,Z2_HAKUGIN_room_01 +1244,Z2_HAKUGIN_room_02 +1245,Z2_HAKUGIN_room_03 +1246,Z2_HAKUGIN_room_04 +1247,Z2_HAKUGIN_room_05 +1248,Z2_HAKUGIN_room_06 +1249,Z2_HAKUGIN_room_07 +1250,Z2_HAKUGIN_room_08 +1251,Z2_HAKUGIN_room_09 +1252,Z2_HAKUGIN_room_10 +1253,Z2_HAKUGIN_room_11 +1254,Z2_HAKUGIN_room_12 +1255,Z2_HAKUGIN_room_13 +1256,Z2_ROMANYMAE +1257,Z2_ROMANYMAE_room_00 +1258,Z2_PIRATE +1259,Z2_PIRATE_room_00 +1260,Z2_PIRATE_room_01 +1261,Z2_PIRATE_room_02 +1262,Z2_PIRATE_room_03 +1263,Z2_PIRATE_room_04 +1264,Z2_PIRATE_room_05 +1265,Z2_PIRATE_room_06 +1266,Z2_PIRATE_room_07 +1267,Z2_PIRATE_room_08 +1268,Z2_PIRATE_room_09 +1269,Z2_PIRATE_room_10 +1270,Z2_PIRATE_room_11 +1271,Z2_PIRATE_room_12 +1272,Z2_PIRATE_room_13 +1273,Z2_PIRATE_room_14 +1274,Z2_SYATEKI_MORI +1275,Z2_SYATEKI_MORI_room_00 +1276,Z2_SINKAI +1277,Z2_SINKAI_room_00 +1278,Z2_YOUSEI_IZUMI +1279,Z2_YOUSEI_IZUMI_room_00 +1280,Z2_YOUSEI_IZUMI_room_01 +1281,Z2_YOUSEI_IZUMI_room_02 +1282,Z2_YOUSEI_IZUMI_room_03 +1283,Z2_YOUSEI_IZUMI_room_04 +1284,Z2_KINSTA1 +1285,Z2_KINSTA1_room_00 +1286,Z2_KINSTA1_room_01 +1287,Z2_KINSTA1_room_02 +1288,Z2_KINSTA1_room_03 +1289,Z2_KINSTA1_room_04 +1290,Z2_KINSTA1_room_05 +1291,Z2_KINDAN2 +1292,Z2_KINDAN2_room_00 +1293,Z2_KINDAN2_room_01 +1294,Z2_KINDAN2_room_02 +1295,Z2_KINDAN2_room_03 +1296,Z2_KINDAN2_room_04 +1297,Z2_KINDAN2_room_05 +1298,Z2_TENMON_DAI +1299,Z2_TENMON_DAI_room_00 +1300,Z2_TENMON_DAI_room_01 +1301,Z2_LAST_DEKU +1302,Z2_LAST_DEKU_room_00 +1303,Z2_LAST_DEKU_room_01 +1304,Z2_22DEKUCITY +1305,Z2_22DEKUCITY_room_00 +1306,Z2_22DEKUCITY_room_01 +1307,Z2_22DEKUCITY_room_02 +1308,Z2_KAJIYA +1309,Z2_KAJIYA_room_00 +1310,Z2_00KEIKOKU +1311,Z2_00KEIKOKU_room_00 +1312,Z2_POSTHOUSE +1313,Z2_POSTHOUSE_room_00 +1314,Z2_LABO +1315,Z2_LABO_room_00 +1316,Z2_DANPEI2TEST +1317,Z2_DANPEI2TEST_room_00 +1318,Z2_DANPEI2TEST_room_01 +1319,Z2_16GORON_HOUSE +1320,Z2_16GORON_HOUSE_room_00 +1321,Z2_16GORON_HOUSE_room_01 +1322,Z2_33ZORACITY +1323,Z2_33ZORACITY_room_00 +1324,Z2_8ITEMSHOP +1325,Z2_8ITEMSHOP_room_00 +1326,Z2_F01 +1327,Z2_F01_room_00 +1328,Z2_INISIE_BS +1329,Z2_INISIE_BS_room_00 +1330,Z2_30GYOSON +1331,Z2_30GYOSON_room_00 +1332,Z2_31MISAKI +1333,Z2_31MISAKI_room_00 +1334,Z2_TAKARAKUJI +1335,Z2_TAKARAKUJI_room_00 +1336,Z2_TORIDE +1337,Z2_TORIDE_room_00 +1338,Z2_FISHERMAN +1339,Z2_FISHERMAN_room_00 +1340,Z2_GORONSHOP +1341,Z2_GORONSHOP_room_00 +1342,Z2_DEKU_KING +1343,Z2_DEKU_KING_room_00 +1344,Z2_LAST_GORON +1345,Z2_LAST_GORON_room_00 +1346,Z2_LAST_GORON_room_01 +1347,Z2_24KEMONOMITI +1348,Z2_24KEMONOMITI_room_00 +1349,Z2_F01_B +1350,Z2_F01_B_room_00 +1351,Z2_F01C +1352,Z2_F01C_room_00 +1353,Z2_BOTI +1354,Z2_BOTI_room_00 +1355,Z2_BOTI_room_01 +1356,Z2_HAKUGIN_BS +1357,Z2_HAKUGIN_BS_room_00 +1358,Z2_20SICHITAI +1359,Z2_20SICHITAI_room_00 +1360,Z2_20SICHITAI_room_01 +1361,Z2_20SICHITAI_room_02 +1362,Z2_21MITURINMAE +1363,Z2_21MITURINMAE_room_00 +1364,Z2_LAST_ZORA +1365,Z2_LAST_ZORA_room_00 +1366,Z2_11GORONNOSATO2 +1367,Z2_11GORONNOSATO2_room_00 +1368,Z2_11GORONNOSATO2_room_01 +1369,Z2_SEA +1370,Z2_SEA_room_00 +1371,Z2_SEA_room_01 +1372,Z2_SEA_room_02 +1373,Z2_SEA_room_03 +1374,Z2_SEA_room_04 +1375,Z2_SEA_room_05 +1376,Z2_SEA_room_06 +1377,Z2_SEA_room_07 +1378,Z2_SEA_room_08 +1379,Z2_SEA_room_09 +1380,Z2_SEA_room_10 +1381,Z2_SEA_room_11 +1382,Z2_SEA_room_12 +1383,Z2_SEA_room_13 +1384,Z2_SEA_room_14 +1385,Z2_SEA_room_15 +1386,Z2_35TAKI +1387,Z2_35TAKI_room_00 +1388,Z2_REDEAD +1389,Z2_REDEAD_room_00 +1390,Z2_REDEAD_room_01 +1391,Z2_REDEAD_room_02 +1392,Z2_REDEAD_room_03 +1393,Z2_REDEAD_room_04 +1394,Z2_REDEAD_room_05 +1395,Z2_REDEAD_room_06 +1396,Z2_REDEAD_room_07 +1397,Z2_REDEAD_room_08 +1398,Z2_REDEAD_room_09 +1399,Z2_REDEAD_room_10 +1400,Z2_REDEAD_room_11 +1401,Z2_REDEAD_room_12 +1402,Z2_REDEAD_room_13 +1403,Z2_BANDROOM +1404,Z2_BANDROOM_room_00 +1405,Z2_BANDROOM_room_01 +1406,Z2_BANDROOM_room_02 +1407,Z2_BANDROOM_room_03 +1408,Z2_BANDROOM_room_04 +1409,Z2_11GORONNOSATO +1410,Z2_11GORONNOSATO_room_00 +1411,Z2_11GORONNOSATO_room_01 +1412,Z2_GORON_HAKA +1413,Z2_GORON_HAKA_room_00 +1414,Z2_SECOM +1415,Z2_SECOM_room_00 +1416,Z2_SECOM_room_01 +1417,Z2_10YUKIYAMANOMURA +1418,Z2_10YUKIYAMANOMURA_room_00 +1419,Z2_TOUGITES +1420,Z2_TOUGITES_room_00 +1421,Z2_DANPEI +1422,Z2_DANPEI_room_00 +1423,Z2_DANPEI_room_01 +1424,Z2_DANPEI_room_02 +1425,Z2_DANPEI_room_03 +1426,Z2_DANPEI_room_04 +1427,Z2_DANPEI_room_05 +1428,Z2_DANPEI_room_06 +1429,Z2_DANPEI_room_07 +1430,Z2_DANPEI_room_08 +1431,Z2_IKANAMAE +1432,Z2_IKANAMAE_room_00 +1433,Z2_DOUJOU +1434,Z2_DOUJOU_room_00 +1435,Z2_MUSICHOUSE +1436,Z2_MUSICHOUSE_room_00 +1437,Z2_IKNINSIDE +1438,Z2_IKNINSIDE_room_00 +1439,Z2_IKNINSIDE_room_01 +1440,Z2_MAP_SHOP +1441,Z2_MAP_SHOP_room_00 +1442,Z2_F40 +1443,Z2_F40_room_00 +1444,Z2_F41 +1445,Z2_F41_room_00 +1446,Z2_10YUKIYAMANOMURA2 +1447,Z2_10YUKIYAMANOMURA2_room_00 +1448,Z2_10YUKIYAMANOMURA2_room_01 +1449,Z2_14YUKIDAMANOMITI +1450,Z2_14YUKIDAMANOMITI_room_00 +1451,Z2_12HAKUGINMAE +1452,Z2_12HAKUGINMAE_room_00 +1453,Z2_17SETUGEN +1454,Z2_17SETUGEN_room_00 +1455,Z2_17SETUGEN2 +1456,Z2_17SETUGEN2_room_00 +1457,Z2_SEA_BS +1458,Z2_SEA_BS_room_00 +1459,Z2_RANDOM +1460,Z2_RANDOM_room_00 +1461,Z2_RANDOM_room_01 +1462,Z2_RANDOM_room_02 +1463,Z2_RANDOM_room_03 +1464,Z2_RANDOM_room_04 +1465,Z2_RANDOM_room_05 +1466,Z2_YADOYA +1467,Z2_YADOYA_room_00 +1468,Z2_YADOYA_room_01 +1469,Z2_YADOYA_room_02 +1470,Z2_YADOYA_room_03 +1471,Z2_YADOYA_room_04 +1472,Z2_KONPEKI_ENT +1473,Z2_KONPEKI_ENT_room_00 +1474,Z2_INSIDETOWER +1475,Z2_INSIDETOWER_room_00 +1476,Z2_INSIDETOWER_room_01 +1477,Z2_26SARUNOMORI +1478,Z2_26SARUNOMORI_room_00 +1479,Z2_26SARUNOMORI_room_01 +1480,Z2_26SARUNOMORI_room_02 +1481,Z2_26SARUNOMORI_room_03 +1482,Z2_26SARUNOMORI_room_04 +1483,Z2_26SARUNOMORI_room_05 +1484,Z2_26SARUNOMORI_room_06 +1485,Z2_26SARUNOMORI_room_07 +1486,Z2_26SARUNOMORI_room_08 +1487,Z2_LOST_WOODS +1488,Z2_LOST_WOODS_room_00 +1489,Z2_LOST_WOODS_room_01 +1490,Z2_LOST_WOODS_room_02 +1491,Z2_LAST_LINK +1492,Z2_LAST_LINK_room_00 +1493,Z2_LAST_LINK_room_01 +1494,Z2_LAST_LINK_room_02 +1495,Z2_LAST_LINK_room_03 +1496,Z2_LAST_LINK_room_04 +1497,Z2_LAST_LINK_room_05 +1498,Z2_LAST_LINK_room_06 +1499,Z2_LAST_LINK_room_07 +1500,Z2_SOUGEN +1501,Z2_SOUGEN_room_00 +1502,Z2_BOMYA +1503,Z2_BOMYA_room_00 +1504,Z2_KYOJINNOMA +1505,Z2_KYOJINNOMA_room_00 +1506,Z2_KOEPONARACE +1507,Z2_KOEPONARACE_room_00 +1508,Z2_GORONRACE +1509,Z2_GORONRACE_room_00 +1510,Z2_TOWN +1511,Z2_TOWN_room_00 +1512,Z2_ICHIBA +1513,Z2_ICHIBA_room_00 +1514,Z2_BACKTOWN +1515,Z2_BACKTOWN_room_00 +1516,Z2_CLOCKTOWER +1517,Z2_CLOCKTOWER_room_00 +1518,Z2_ALLEY +1519,Z2_ALLEY_room_00 +1520,SPOT00 +1521,SPOT00_room_00 +1522,KAKUSIANA +1523,KAKUSIANA_room_00 +1524,KAKUSIANA_room_01 +1525,KAKUSIANA_room_02 +1526,KAKUSIANA_room_03 +1527,KAKUSIANA_room_04 +1528,KAKUSIANA_room_05 +1529,KAKUSIANA_room_06 +1530,KAKUSIANA_room_07 +1531,KAKUSIANA_room_08 +1532,KAKUSIANA_room_09 +1533,KAKUSIANA_room_10 +1534,KAKUSIANA_room_11 +1535,KAKUSIANA_room_12 +1536,KAKUSIANA_room_13 +1537,KAKUSIANA_room_14 +1538,bump_texture_static diff --git a/tools/filelists/mm.us.rev1/asm.csv b/tools/filelists/mm.us.rev1/asm.csv new file mode 100644 index 0000000000..f3364252f0 --- /dev/null +++ b/tools/filelists/mm.us.rev1/asm.csv @@ -0,0 +1,4 @@ +0,makerom +1,boot +2,dmadata +31,code diff --git a/tools/filelists/mm.us.rev1/audio.csv b/tools/filelists/mm.us.rev1/audio.csv new file mode 100644 index 0000000000..5e366d06a2 --- /dev/null +++ b/tools/filelists/mm.us.rev1/audio.csv @@ -0,0 +1,3 @@ +3,Audiobank +4,Audioseq +5,Audiotable diff --git a/tools/filelists/mm.us.rev1/misc.csv b/tools/filelists/mm.us.rev1/misc.csv new file mode 100644 index 0000000000..60a33ac1b2 --- /dev/null +++ b/tools/filelists/mm.us.rev1/misc.csv @@ -0,0 +1,6 @@ +7,link_animetion +1122,nintendo_rogo_static +1124,memerrmsg +1125,locerrmsg +1135,elf_message_field +1136,elf_message_ydan diff --git a/tools/filelists/mm.us.rev1/object.csv b/tools/filelists/mm.us.rev1/object.csv new file mode 100644 index 0000000000..15d1f4ac26 --- /dev/null +++ b/tools/filelists/mm.us.rev1/object.csv @@ -0,0 +1,465 @@ +649,gameplay_keep +650,gameplay_field_keep +651,gameplay_dangeon_keep +652,gameplay_object_exchange_static +653,object_link_boy +654,object_link_child +655,object_link_goron +656,object_link_zora +657,object_link_nuts +658,object_mask_ki_tan +659,object_mask_rabit +660,object_mask_skj +661,object_mask_truth +662,object_mask_gibudo +663,object_mask_json +664,object_mask_kerfay +665,object_mask_bigelf +666,object_mask_kyojin +667,object_mask_romerny +668,object_mask_posthat +669,object_mask_zacho +670,object_mask_stone +671,object_mask_bree +672,object_mask_gero +673,object_mask_yofukasi +674,object_mask_meoto +675,object_mask_dancer +676,object_mask_bakuretu +677,object_mask_bu_san +678,object_mask_goron +679,object_mask_zora +680,object_mask_nuts +681,object_mask_boy +682,object_box +683,object_okuta +684,object_wallmaster +685,object_dy_obj +686,object_firefly +687,object_dodongo +688,object_niw +689,object_tite +690,object_ph +691,object_dinofos +692,object_zl1 +693,object_bubble +694,object_test3 +695,object_famos +696,object_st +697,object_thiefbird +698,object_bombf +699,object_am +700,object_dekubaba +701,object_warp1 +702,object_b_heart +703,object_dekunuts +704,object_bb +705,object_death +706,object_hata +707,object_wood02 +708,object_trap +709,object_vm +710,object_efc_star_field +711,object_rd +712,object_yukimura_obj +713,object_horse_link_child +714,object_syokudai +715,object_efc_tw +716,object_gi_key +717,object_mir_ray +718,object_ctower_rot +719,object_bdoor +720,object_sb +721,object_gi_melody +722,object_gi_heart +723,object_gi_compass +724,object_gi_bosskey +725,object_gi_nuts +726,object_gi_hearts +727,object_gi_arrowcase +728,object_gi_bombpouch +729,object_in +730,object_os_anime +731,object_gi_bottle +732,object_gi_stick +733,object_gi_map +734,object_oF1d_map +735,object_ru2 +736,object_gi_magicpot +737,object_gi_bomb_1 +738,object_ma2 +739,object_gi_purse +740,object_rr +741,object_gi_arrow +742,object_gi_bomb_2 +743,object_gi_shield_2 +744,object_gi_hookshot +745,object_gi_ocarina +746,object_gi_milk +747,object_ma1 +748,object_ny +749,object_fr +750,object_gi_bow +751,object_gi_glasses +752,object_gi_liquid +753,object_ani +754,object_gi_shield_3 +755,object_gi_bean +756,object_gi_fish +757,object_gi_longsword +758,object_zo +759,object_umajump +760,object_mastergolon +761,object_masterzoora +762,object_aob +763,object_ik +764,object_ahg +765,object_cne +766,object_bji +767,object_bba +768,object_an1 +769,object_boj +770,object_fz +771,object_bob +772,object_ge1 +773,object_yabusame_point +774,object_d_hsblock +775,object_d_lift +776,object_mamenoki +777,object_goroiwa +778,object_toryo +779,object_daiku +780,object_nwc +781,object_gm +782,object_ms +783,object_hs +784,object_lightswitch +785,object_kusa +786,object_tsubo +787,object_kanban +788,object_owl +789,object_mk +790,object_fu +791,object_gi_ki_tan_mask +792,object_gi_mask18 +793,object_gi_rabit_mask +794,object_gi_truth_mask +795,object_stream +796,object_mm +797,object_js +798,object_cs +799,object_gi_soldout +800,object_mag +801,object_gi_golonmask +802,object_gi_zoramask +803,object_ka +804,object_zg +805,object_gi_m_arrow +806,object_ds2 +807,object_fish +808,object_gi_sutaru +809,object_ssh +810,object_bigslime +811,object_bg +812,object_bombiwa +813,object_hintnuts +814,object_rs +815,object_gla +816,object_geldb +817,object_dog +818,object_kibako2 +819,object_dns +820,object_dnk +821,object_gi_insect +822,object_gi_ghost +823,object_gi_soul +824,object_f40_obj +825,object_gi_rupy +826,object_po_composer +827,object_mu +828,object_wf +829,object_skb +830,object_gs +831,object_ps +832,object_omoya_obj +833,object_crow +834,object_cow +835,object_gi_sword_1 +836,object_zl4 +837,object_grasshopper +838,object_boyo +839,object_fwall +840,object_jso +841,object_knight +842,object_icicle +843,object_spdweb +844,object_boss01 +845,object_boss02 +846,object_boss03 +847,object_boss04 +848,object_boss05 +849,object_boss07 +850,object_raf +851,object_funen +852,object_raillift +853,object_numa_obj +854,object_flowerpot +855,object_spinyroll +856,object_ice_block +857,object_keikoku_demo +858,object_slime +859,object_pr +860,object_f52_obj +861,object_f53_obj +862,object_kibako +863,object_sek +864,object_gmo +865,object_bat +866,object_sekihil +867,object_sekihig +868,object_sekihin +869,object_sekihiz +870,object_wiz +871,object_ladder +872,object_mkk +873,object_keikoku_obj +874,object_sichitai_obj +875,object_dekucity_ana_obj +876,object_rat +877,object_water_effect +878,object_dblue_object +879,object_bal +880,object_warp_uzu +881,object_driftice +882,object_fall +883,object_hanareyama_obj +884,object_crace_object +885,object_dnq +886,object_obj_tokeidai +887,object_eg +888,object_tru +889,object_trt +890,object_hakugin_obj +891,object_horse_game_check +892,object_stk +893,object_mnk +894,object_gi_bottle_red +895,object_tokei_tobira +896,object_az +897,object_twig +898,object_dekucity_obj +899,object_po_fusen +900,object_racetsubo +901,object_ha +902,object_bigokuta +903,object_open_obj +904,object_fu_kaiten +905,object_fu_mato +906,object_mtoride +907,object_osn +908,object_tokei_step +909,object_lotus +910,object_tl +911,object_dkjail_obj +912,object_visiblock +913,object_tsn +914,object_ds2n +915,object_fsn +916,object_shn +917,object_bigicicle +918,object_gi_bottle_15 +919,object_tk +920,object_market_obj +921,object_gi_reserve00 +922,object_gi_reserve01 +923,object_lightblock +924,object_takaraya_objects +925,object_wdhand +926,object_sdn +927,object_snowwd +928,object_giant +929,object_comb +930,object_hana +931,object_boss_hakugin +932,object_meganeana_obj +933,object_gi_nutsmask +934,object_stk2 +935,object_spot11_obj +936,object_danpei_object +937,object_dhouse +938,object_hakaisi +939,object_po +940,object_snowman +941,object_po_sisters +942,object_pp +943,object_goronswitch +944,object_delf +945,object_botihasira +946,object_gi_bigbomb +947,object_pst +948,object_bsmask +949,object_spidertent +950,object_zoraegg +951,object_kbt +952,object_gg +953,object_maruta +954,object_ghaka +955,object_oyu +956,object_dnp +957,object_dai +958,object_kgy +959,object_fb +960,object_taisou +961,object_gk +962,object_haka_obj +963,object_dnt +964,object_yukiyama +965,object_icefloe +966,object_gi_gold_dust +967,object_gi_bottle_16 +968,object_gi_bottle_22 +969,object_bee +970,object_ot +971,object_utubo +972,object_dora +973,object_gi_loach +974,object_gi_seahorse +975,object_bigpo +976,object_hariko +977,object_dno +978,object_sinkai_kabe +979,object_kin2_obj +980,object_ishi +981,object_hakugin_demo +982,object_jg +983,object_gi_sword_2 +984,object_gi_sword_3 +985,object_gi_sword_4 +986,object_um +987,object_rb +988,object_mbar_obj +989,object_ikana_obj +990,object_kz +991,object_tokei_turret +992,object_zog +993,object_rotlift +994,object_posthouse_obj +995,object_gi_mask09 +996,object_gi_mask14 +997,object_gi_mask15 +998,object_inibs_object +999,object_tree +1000,object_kaizoku_obj +1001,object_gi_reserve_b_00 +1002,object_gi_reserve_c_00 +1003,object_zob +1004,object_milkbar +1005,object_dmask +1006,object_gi_reserve_c_01 +1007,object_zod +1008,object_kumo30 +1009,object_obj_yasi +1010,object_tanron1 +1011,object_tanron2 +1012,object_tanron3 +1013,object_gi_magicmushroom +1014,object_obj_chan +1015,object_gi_mask10 +1016,object_zos +1017,object_an2 +1018,object_an3 +1019,object_f40_switch +1020,object_lodmoon +1021,object_tro +1022,object_gi_mask12 +1023,object_gi_mask23 +1024,object_gi_bottle_21 +1025,object_gi_camera +1026,object_kamejima +1027,object_nb +1028,object_harfgibud +1029,object_zov +1030,object_ah +1031,object_hgdoor +1032,object_dor01 +1033,object_dor02 +1034,object_dor03 +1035,object_dor04 +1036,object_last_obj +1037,object_redead_obj +1038,object_ikninside_obj +1039,object_iknv_obj +1040,object_pamera +1041,object_hsstump +1042,object_zm +1043,object_al +1044,object_tab +1045,object_secom_obj +1046,object_dt +1047,object_gi_mask03 +1048,object_cha +1049,object_obj_dinner +1050,object_gi_reserve_b_01 +1051,object_lastday +1052,object_bai +1053,object_ikn_demo +1054,object_gi_fieldmap +1055,object_big_fwall +1056,object_hunsui +1057,object_uch +1058,object_tanron4 +1059,object_tanron5 +1060,object_in2 +1061,object_yb +1062,object_rz +1063,object_bjt +1064,object_taru +1065,object_moonston +1066,object_gi_schedule +1067,object_gi_stonemask +1068,object_zoraband +1069,object_kepn_koya +1070,object_obj_usiyane +1071,object_gi_mask05 +1072,object_gi_mask11 +1073,object_gi_mask20 +1074,object_nnh +1075,object_kzsaku +1076,object_obj_milk_bin +1077,object_random_obj +1078,object_kujiya +1079,object_kitan +1080,object_gi_mask06 +1081,object_gi_mask16 +1082,object_astr_obj +1083,object_bsb +1084,object_fall2 +1085,object_sth +1086,object_gi_mssa +1087,object_smtower +1088,object_gi_mask21 +1089,object_yado_obj +1090,object_syoten +1091,object_moonend +1092,object_ob +1093,object_gi_bottle_04 +1094,object_and +1095,object_obj_danpeilift +1096,object_drs +1097,object_msmo +1098,object_an4 +1099,object_wdor01 +1100,object_wdor02 +1101,object_wdor03 +1102,object_wdor04 +1103,object_wdor05 +1104,object_stk3 +1105,object_kinsta1_obj +1106,object_kinsta2_obj +1107,object_bh +1108,object_gi_mask17 +1109,object_gi_mask22 +1110,object_lbfshot +1111,object_fusen +1112,object_ending_obj +1113,object_gi_mask13 diff --git a/tools/filelists/mm.us.rev1/overlay.csv b/tools/filelists/mm.us.rev1/overlay.csv new file mode 100644 index 0000000000..84943c7942 --- /dev/null +++ b/tools/filelists/mm.us.rev1/overlay.csv @@ -0,0 +1,617 @@ +32,ovl_title +33,ovl_select +34,ovl_opening +35,ovl_file_choose +36,ovl_daytelop +37,ovl_kaleido_scope +38,ovl_Player_Actor +39,ovl_En_Test +40,ovl_En_GirlA +41,ovl_En_Part +42,ovl_En_Light +43,ovl_En_Door +44,ovl_En_Box +45,ovl_En_Pametfrog +46,ovl_En_Okuta +47,ovl_En_Bom +48,ovl_En_Wallmas +49,ovl_En_Dodongo +50,ovl_En_Firefly +51,ovl_En_Horse +52,ovl_En_Arrow +53,ovl_En_Elf +54,ovl_En_Niw +55,ovl_En_Tite +56,ovl_En_Peehat +57,ovl_En_Holl +58,ovl_En_Dinofos +59,ovl_En_Hata +60,ovl_En_Zl1 +61,ovl_En_Viewer +62,ovl_En_Bubble +63,ovl_Door_Shutter +64,ovl_En_Boom +65,ovl_En_Torch2 +66,ovl_En_Minifrog +67,ovl_En_St +68,ovl_Obj_Wturn +69,ovl_En_River_Sound +70,ovl_En_Ossan +71,ovl_En_Famos +72,ovl_En_Bombf +73,ovl_En_Am +74,ovl_En_Dekubaba +75,ovl_En_M_Fire1 +76,ovl_En_M_Thunder +77,ovl_Bg_Breakwall +78,ovl_Door_Warp1 +79,ovl_Obj_Syokudai +80,ovl_Item_B_Heart +81,ovl_En_Dekunuts +82,ovl_En_Bbfall +83,ovl_Arms_Hook +84,ovl_En_Bb +85,ovl_Bg_Keikoku_Spr +86,ovl_En_Wood02 +87,ovl_En_Death +88,ovl_En_Minideath +89,ovl_En_Vm +90,ovl_Demo_Effect +91,ovl_Demo_Kankyo +92,ovl_En_Floormas +93,ovl_En_Rd +94,ovl_Bg_F40_Flift +95,ovl_Obj_Mure +96,ovl_En_Sw +97,ovl_Object_Kankyo +98,ovl_En_Horse_Link_Child +99,ovl_Door_Ana +100,ovl_En_Encount1 +101,ovl_Demo_Tre_Lgt +102,ovl_En_Encount2 +103,ovl_En_Fire_Rock +104,ovl_Bg_Ctower_Rot +105,ovl_Mir_Ray +106,ovl_En_Sb +107,ovl_En_Bigslime +108,ovl_En_Karebaba +109,ovl_En_In +110,ovl_En_Bom_Chu +111,ovl_En_Horse_Game_Check +112,ovl_En_Rr +113,ovl_En_Fr +114,ovl_En_Fishing +115,ovl_Obj_Oshihiki +116,ovl_Eff_Dust +117,ovl_Bg_Umajump +118,ovl_En_Insect +119,ovl_En_Butte +120,ovl_En_Fish +121,ovl_Item_Etcetera +122,ovl_Arrow_Fire +123,ovl_Arrow_Ice +124,ovl_Arrow_Light +125,ovl_Obj_Kibako +126,ovl_Obj_Tsubo +127,ovl_En_Ik +128,ovl_Demo_Shd +129,ovl_En_Dns +130,ovl_Elf_Msg +131,ovl_En_Honotrap +132,ovl_En_Tubo_Trap +133,ovl_Obj_Ice_Poly +134,ovl_En_Fz +135,ovl_En_Kusa +136,ovl_Obj_Bean +137,ovl_Obj_Bombiwa +138,ovl_Obj_Switch +139,ovl_Obj_Lift +140,ovl_Obj_Hsblock +141,ovl_En_Okarina_Tag +142,ovl_En_Goroiwa +143,ovl_En_Daiku +144,ovl_En_Nwc +145,ovl_Item_Inbox +146,ovl_En_Ge1 +147,ovl_Obj_Blockstop +148,ovl_En_Sda +149,ovl_En_Clear_Tag +150,ovl_En_Gm +151,ovl_En_Ms +152,ovl_En_Hs +153,ovl_Bg_Ingate +154,ovl_En_Kanban +155,ovl_En_Attack_Niw +156,ovl_En_Mk +157,ovl_En_Owl +158,ovl_En_Ishi +159,ovl_Obj_Hana +160,ovl_Obj_Lightswitch +161,ovl_Obj_Mure2 +162,ovl_En_Fu +163,ovl_En_Stream +164,ovl_En_Mm +165,ovl_En_Weather_Tag +166,ovl_En_Ani +167,ovl_En_Js +168,ovl_En_Okarina_Effect +169,ovl_En_Mag +170,ovl_Elf_Msg2 +171,ovl_Bg_F40_Swlift +172,ovl_En_Kakasi +173,ovl_Obj_Makeoshihiki +174,ovl_Oceff_Spot +175,ovl_En_Torch +176,ovl_Shot_Sun +177,ovl_Obj_Roomtimer +178,ovl_En_Ssh +179,ovl_Oceff_Wipe +180,ovl_Effect_Ss_Dust +181,ovl_Effect_Ss_Kirakira +182,ovl_Effect_Ss_Bomb2 +183,ovl_Effect_Ss_Blast +184,ovl_Effect_Ss_G_Spk +185,ovl_Effect_Ss_D_Fire +186,ovl_Effect_Ss_Bubble +187,ovl_Effect_Ss_G_Ripple +188,ovl_Effect_Ss_G_Splash +189,ovl_Effect_Ss_G_Fire +190,ovl_Effect_Ss_Lightning +191,ovl_Effect_Ss_Dt_Bubble +192,ovl_Effect_Ss_Hahen +193,ovl_Effect_Ss_Stick +194,ovl_Effect_Ss_Sibuki +195,ovl_Effect_Ss_Stone1 +196,ovl_Effect_Ss_Hitmark +197,ovl_Effect_Ss_Fhg_Flash +198,ovl_Effect_Ss_K_Fire +199,ovl_Effect_Ss_Solder_Srch_Ball +200,ovl_Effect_Ss_Kakera +201,ovl_Effect_Ss_Ice_Piece +202,ovl_Effect_Ss_En_Ice +203,ovl_Effect_Ss_Fire_Tail +204,ovl_Effect_Ss_En_Fire +205,ovl_Effect_Ss_Extra +206,ovl_Effect_Ss_Dead_Db +207,ovl_Effect_Ss_Dead_Dd +208,ovl_Effect_Ss_Dead_Ds +209,ovl_Oceff_Storm +210,ovl_Obj_Demo +211,ovl_En_Minislime +212,ovl_En_Nutsball +213,ovl_Oceff_Wipe2 +214,ovl_Oceff_Wipe3 +215,ovl_En_Dg +216,ovl_En_Si +217,ovl_Obj_Comb +218,ovl_Obj_Kibako2 +219,ovl_En_Hs2 +220,ovl_Obj_Mure3 +221,ovl_En_Tg +222,ovl_En_Wf +223,ovl_En_Skb +224,ovl_En_Gs +225,ovl_Obj_Sound +226,ovl_En_Crow +227,ovl_En_Cow +228,ovl_Oceff_Wipe4 +229,ovl_En_Zo +230,ovl_Effect_Ss_Ice_Smoke +231,ovl_Obj_Makekinsuta +232,ovl_En_Ge3 +233,ovl_Obj_Hamishi +234,ovl_En_Zl4 +235,ovl_En_Mm2 +236,ovl_Door_Spiral +237,ovl_Obj_Pzlblock +238,ovl_Obj_Toge +239,ovl_Obj_Armos +240,ovl_Obj_Boyo +241,ovl_En_Grasshopper +242,ovl_Obj_Grass +243,ovl_Obj_Grass_Carry +244,ovl_Obj_Grass_Unit +245,ovl_Bg_Fire_Wall +246,ovl_En_Bu +247,ovl_En_Encount3 +248,ovl_En_Jso +249,ovl_Obj_Chikuwa +250,ovl_En_Knight +251,ovl_En_Warp_tag +252,ovl_En_Aob_01 +253,ovl_En_Boj_01 +254,ovl_En_Boj_02 +255,ovl_En_Boj_03 +256,ovl_En_Encount4 +257,ovl_En_Bom_Bowl_Man +258,ovl_En_Syateki_Man +259,ovl_Bg_Icicle +260,ovl_En_Syateki_Crow +261,ovl_En_Boj_04 +262,ovl_En_Cne_01 +263,ovl_En_Bba_01 +264,ovl_En_Bji_01 +265,ovl_Bg_Spdweb +266,ovl_En_Mt_tag +267,ovl_Boss_01 +268,ovl_Boss_02 +269,ovl_Boss_03 +270,ovl_Boss_04 +271,ovl_Boss_05 +272,ovl_Boss_06 +273,ovl_Boss_07 +274,ovl_Bg_Dy_Yoseizo +275,ovl_En_Boj_05 +276,ovl_En_Sob1 +277,ovl_En_Go +278,ovl_En_Raf +279,ovl_Obj_Funen +280,ovl_Obj_Raillift +281,ovl_Bg_Numa_Hana +282,ovl_Obj_Flowerpot +283,ovl_Obj_Spinyroll +284,ovl_Dm_Hina +285,ovl_En_Syateki_Wf +286,ovl_Obj_Skateblock +287,ovl_Effect_En_Ice_Block +288,ovl_Obj_Iceblock +289,ovl_En_Bigpamet +290,ovl_Bg_Dblue_Movebg +291,ovl_En_Syateki_Dekunuts +292,ovl_Elf_Msg3 +293,ovl_En_Fg +294,ovl_Dm_Ravine +295,ovl_Dm_Sa +296,ovl_En_Slime +297,ovl_En_Pr +298,ovl_Obj_Toudai +299,ovl_Obj_Entotu +300,ovl_Obj_Bell +301,ovl_En_Syateki_Okuta +302,ovl_Obj_Shutter +303,ovl_Dm_Zl +304,ovl_En_Ru +305,ovl_En_Elfgrp +306,ovl_Dm_Tsg +307,ovl_En_Baguo +308,ovl_Obj_Vspinyroll +309,ovl_Obj_Smork +310,ovl_En_Test2 +311,ovl_En_Test3 +312,ovl_En_Test4 +313,ovl_En_Bat +314,ovl_En_Sekihi +315,ovl_En_Wiz +316,ovl_En_Wiz_Brock +317,ovl_En_Wiz_Fire +318,ovl_Eff_Change +319,ovl_Dm_Statue +320,ovl_Obj_Fireshield +321,ovl_Bg_Ladder +322,ovl_En_Mkk +323,ovl_Demo_Getitem +324,ovl_En_Dnb +325,ovl_En_Dnh +326,ovl_En_Dnk +327,ovl_En_Dnq +328,ovl_Bg_Keikoku_Saku +329,ovl_Obj_Hugebombiwa +330,ovl_En_Firefly2 +331,ovl_En_Rat +332,ovl_En_Water_Effect +333,ovl_En_Kusa2 +334,ovl_Bg_Spout_Fire +335,ovl_En_Dy_Extra +336,ovl_En_Bal +337,ovl_En_Ginko_Man +338,ovl_En_Warp_Uzu +339,ovl_Obj_Driftice +340,ovl_En_Look_Nuts +341,ovl_En_Mushi2 +342,ovl_En_Fall +343,ovl_En_Mm3 +344,ovl_Bg_Crace_Movebg +345,ovl_En_Dno +346,ovl_En_Pr2 +347,ovl_En_Prz +348,ovl_En_Jso2 +349,ovl_Obj_Etcetera +350,ovl_En_Egol +351,ovl_Obj_Mine +352,ovl_Obj_Purify +353,ovl_En_Tru +354,ovl_En_Trt +355,ovl_En_Test5 +356,ovl_En_Test6 +357,ovl_En_Az +358,ovl_En_Estone +359,ovl_Bg_Hakugin_Post +360,ovl_Dm_Opstage +361,ovl_Dm_Stk +362,ovl_Dm_Char00 +363,ovl_Dm_Char01 +364,ovl_Dm_Char02 +365,ovl_Dm_Char03 +366,ovl_Dm_Char04 +367,ovl_Dm_Char05 +368,ovl_Dm_Char06 +369,ovl_Dm_Char07 +370,ovl_Dm_Char08 +371,ovl_Dm_Char09 +372,ovl_Obj_Tokeidai +373,ovl_En_Mnk +374,ovl_En_Egblock +375,ovl_En_Guard_Nuts +376,ovl_Bg_Hakugin_Bombwall +377,ovl_Obj_Tokei_Tobira +378,ovl_Bg_Hakugin_Elvpole +379,ovl_En_Ma4 +380,ovl_En_Twig +381,ovl_En_Po_Fusen +382,ovl_En_Door_Etc +383,ovl_En_Bigokuta +384,ovl_Bg_Icefloe +385,ovl_fbdemo_triforce +386,ovl_fbdemo_wipe1 +387,ovl_fbdemo_wipe3 +388,ovl_fbdemo_wipe4 +389,ovl_fbdemo_wipe5 +390,ovl_Effect_Ss_Sbn +391,ovl_Obj_Ocarinalift +392,ovl_En_Time_Tag +393,ovl_Bg_Open_Shutter +394,ovl_Bg_Open_Spot +395,ovl_Bg_Fu_Kaiten +396,ovl_Obj_Aqua +397,ovl_En_Elforg +398,ovl_En_Elfbub +399,ovl_En_Fu_Mato +400,ovl_En_Fu_Kago +401,ovl_En_Osn +402,ovl_Bg_Ctower_Gear +403,ovl_En_Trt2 +404,ovl_Obj_Tokei_Step +405,ovl_Bg_Lotus +406,ovl_En_Kame +407,ovl_Obj_Takaraya_Wall +408,ovl_Bg_Fu_Mizu +409,ovl_En_Sellnuts +410,ovl_Bg_Dkjail_Ivy +411,ovl_Obj_Visiblock +412,ovl_En_Takaraya +413,ovl_En_Tsn +414,ovl_En_Ds2n +415,ovl_En_Fsn +416,ovl_En_Shn +417,ovl_En_Stop_heishi +418,ovl_Obj_Bigicicle +419,ovl_En_Lift_Nuts +420,ovl_En_Tk +421,ovl_Bg_Market_Step +422,ovl_Obj_Lupygamelift +423,ovl_En_Test7 +424,ovl_Obj_Lightblock +425,ovl_Mir_Ray2 +426,ovl_En_Wdhand +427,ovl_En_Gamelupy +428,ovl_Bg_Danpei_Movebg +429,ovl_En_Snowwd +430,ovl_En_Pm +431,ovl_En_Gakufu +432,ovl_Elf_Msg4 +433,ovl_Elf_Msg5 +434,ovl_En_Col_Man +435,ovl_En_Talk_Gibud +436,ovl_En_Giant +437,ovl_Obj_Snowball +438,ovl_Boss_Hakugin +439,ovl_En_Gb2 +440,ovl_En_Onpuman +441,ovl_Bg_Tobira01 +442,ovl_En_Tag_Obj +443,ovl_Obj_Dhouse +444,ovl_Obj_Hakaisi +445,ovl_Bg_Hakugin_Switch +446,ovl_En_Snowman +447,ovl_TG_Sw +448,ovl_En_Po_Sisters +449,ovl_En_Pp +450,ovl_En_Hakurock +451,ovl_En_Hanabi +452,ovl_Obj_Dowsing +453,ovl_Obj_Wind +454,ovl_En_Racedog +455,ovl_En_Kendo_Js +456,ovl_Bg_Botihasira +457,ovl_En_Fish2 +458,ovl_En_Pst +459,ovl_En_Poh +460,ovl_Obj_Spidertent +461,ovl_En_Zoraegg +462,ovl_En_Kbt +463,ovl_En_Gg +464,ovl_En_Maruta +465,ovl_Obj_Snowball2 +466,ovl_En_Gg2 +467,ovl_Obj_Ghaka +468,ovl_En_Dnp +469,ovl_En_Dai +470,ovl_Bg_Goron_Oyu +471,ovl_En_Kgy +472,ovl_En_Invadepoh +473,ovl_En_Gk +474,ovl_En_An +475,ovl_En_Bee +476,ovl_En_Ot +477,ovl_En_Dragon +478,ovl_Obj_Dora +479,ovl_En_Bigpo +480,ovl_Obj_Kendo_Kanban +481,ovl_Obj_Hariko +482,ovl_En_Sth +483,ovl_Bg_Sinkai_Kabe +484,ovl_Bg_Haka_Curtain +485,ovl_Bg_Kin2_Bombwall +486,ovl_Bg_Kin2_Fence +487,ovl_Bg_Kin2_Picture +488,ovl_Bg_Kin2_Shelf +489,ovl_En_Rail_Skb +490,ovl_En_Jg +491,ovl_En_Tru_Mt +492,ovl_Obj_Um +493,ovl_En_Neo_Reeba +494,ovl_Bg_Mbar_Chair +495,ovl_Bg_Ikana_Block +496,ovl_Bg_Ikana_Mirror +497,ovl_Bg_Ikana_Rotaryroom +498,ovl_Bg_Dblue_Balance +499,ovl_Bg_Dblue_Waterfall +500,ovl_En_Kaizoku +501,ovl_En_Ge2 +502,ovl_En_Ma_Yts +503,ovl_En_Ma_Yto +504,ovl_Obj_Tokei_Turret +505,ovl_Bg_Dblue_Elevator +506,ovl_Obj_Warpstone +507,ovl_En_Zog +508,ovl_Obj_Rotlift +509,ovl_Obj_Jg_Gakki +510,ovl_Bg_Inibs_Movebg +511,ovl_En_Zot +512,ovl_Obj_Tree +513,ovl_Obj_Y2lift +514,ovl_Obj_Y2shutter +515,ovl_Obj_Boat +516,ovl_Obj_Taru +517,ovl_Obj_Hunsui +518,ovl_En_Jc_Mato +519,ovl_Mir_Ray3 +520,ovl_En_Zob +521,ovl_Elf_Msg6 +522,ovl_Obj_Nozoki +523,ovl_En_Toto +524,ovl_En_Railgibud +525,ovl_En_Baba +526,ovl_En_Suttari +527,ovl_En_Zod +528,ovl_En_Kujiya +529,ovl_En_Geg +530,ovl_Obj_Kinoko +531,ovl_Obj_Yasi +532,ovl_En_Tanron1 +533,ovl_En_Tanron2 +534,ovl_En_Tanron3 +535,ovl_Obj_Chan +536,ovl_En_Zos +537,ovl_En_S_Goro +538,ovl_En_Nb +539,ovl_En_Ja +540,ovl_Bg_F40_Block +541,ovl_Bg_F40_Switch +542,ovl_En_Po_Composer +543,ovl_En_Guruguru +544,ovl_Oceff_Wipe5 +545,ovl_En_Stone_heishi +546,ovl_Oceff_Wipe6 +547,ovl_En_Scopenuts +548,ovl_En_Scopecrow +549,ovl_Oceff_Wipe7 +550,ovl_Eff_Kamejima_Wave +551,ovl_En_Hg +552,ovl_En_Hgo +553,ovl_En_Zov +554,ovl_En_Ah +555,ovl_Obj_Hgdoor +556,ovl_Bg_Ikana_Bombwall +557,ovl_Bg_Ikana_Ray +558,ovl_Bg_Ikana_Shutter +559,ovl_Bg_Haka_Bombwall +560,ovl_Bg_Haka_Tomb +561,ovl_En_Sc_Ruppe +562,ovl_Bg_Iknv_Doukutu +563,ovl_Bg_Iknv_Obj +564,ovl_En_Pamera +565,ovl_Obj_HsStump +566,ovl_En_Hidden_Nuts +567,ovl_En_Zow +568,ovl_En_Talk +569,ovl_En_Al +570,ovl_En_Tab +571,ovl_En_Nimotsu +572,ovl_En_Hit_Tag +573,ovl_En_Ruppecrow +574,ovl_En_Tanron4 +575,ovl_En_Tanron5 +576,ovl_En_Tanron6 +577,ovl_En_Daiku2 +578,ovl_En_Muto +579,ovl_En_Baisen +580,ovl_En_Heishi +581,ovl_En_Demo_heishi +582,ovl_En_Dt +583,ovl_En_Cha +584,ovl_Obj_Dinner +585,ovl_Eff_Lastday +586,ovl_Bg_Ikana_Dharma +587,ovl_En_Akindonuts +588,ovl_Eff_Stk +589,ovl_En_Ig +590,ovl_En_Rg +591,ovl_En_Osk +592,ovl_En_Sth2 +593,ovl_En_Yb +594,ovl_En_Rz +595,ovl_En_Scopecoin +596,ovl_En_Bjt +597,ovl_En_Bomjima +598,ovl_En_Bomjimb +599,ovl_En_Bombers +600,ovl_En_Bombers2 +601,ovl_En_Bombal +602,ovl_Obj_Moon_Stone +603,ovl_Obj_Mu_Pict +604,ovl_Bg_Ikninside +605,ovl_Eff_Zoraband +606,ovl_Obj_Kepn_Koya +607,ovl_Obj_Usiyane +608,ovl_En_Nnh +609,ovl_Obj_Kzsaku +610,ovl_Obj_Milk_Bin +611,ovl_En_Kitan +612,ovl_Bg_Astr_Bombwall +613,ovl_Bg_Iknin_Susceil +614,ovl_En_Bsb +615,ovl_En_Recepgirl +616,ovl_En_Thiefbird +617,ovl_En_Jgame_Tsn +618,ovl_Obj_Jgame_Light +619,ovl_Obj_Yado +620,ovl_Demo_Syoten +621,ovl_Demo_Moonend +622,ovl_Bg_Lbfshot +623,ovl_Bg_Last_Bwall +624,ovl_En_And +625,ovl_En_Invadepoh_Demo +626,ovl_Obj_Danpeilift +627,ovl_En_Fall2 +628,ovl_Dm_Al +629,ovl_Dm_An +630,ovl_Dm_Ah +631,ovl_Dm_Nb +632,ovl_En_Drs +633,ovl_En_Ending_Hero +634,ovl_Dm_Bal +635,ovl_En_Paper +636,ovl_En_Hint_Skb +637,ovl_Dm_Tag +638,ovl_En_Bh +639,ovl_En_Ending_Hero2 +640,ovl_En_Ending_Hero3 +641,ovl_En_Ending_Hero4 +642,ovl_En_Ending_Hero5 +643,ovl_En_Ending_Hero6 +644,ovl_Dm_Gm +645,ovl_Obj_Swprize +646,ovl_En_Invisible_Ruppe +647,ovl_Obj_Ending +648,ovl_En_Rsn diff --git a/tools/filelists/mm.us.rev1/scene.csv b/tools/filelists/mm.us.rev1/scene.csv new file mode 100644 index 0000000000..4f31690570 --- /dev/null +++ b/tools/filelists/mm.us.rev1/scene.csv @@ -0,0 +1,401 @@ +1137,Z2_20SICHITAI2 +1138,Z2_20SICHITAI2_room_00 +1139,Z2_20SICHITAI2_room_01 +1140,Z2_20SICHITAI2_room_02 +1141,Z2_WITCH_SHOP +1142,Z2_WITCH_SHOP_room_00 +1143,Z2_LAST_BS +1144,Z2_LAST_BS_room_00 +1145,Z2_HAKASHITA +1146,Z2_HAKASHITA_room_00 +1147,Z2_HAKASHITA_room_01 +1148,Z2_HAKASHITA_room_02 +1149,Z2_HAKASHITA_room_03 +1150,Z2_HAKASHITA_room_04 +1151,Z2_AYASHIISHOP +1152,Z2_AYASHIISHOP_room_00 +1153,Z2_AYASHIISHOP_room_01 +1154,Z2_OMOYA +1155,Z2_OMOYA_room_00 +1156,Z2_OMOYA_room_01 +1157,Z2_OMOYA_room_02 +1158,Z2_BOWLING +1159,Z2_BOWLING_room_00 +1160,Z2_SONCHONOIE +1161,Z2_SONCHONOIE_room_00 +1162,Z2_SONCHONOIE_room_01 +1163,Z2_SONCHONOIE_room_02 +1164,Z2_SONCHONOIE_room_03 +1165,Z2_IKANA +1166,Z2_IKANA_room_00 +1167,Z2_IKANA_room_01 +1168,Z2_IKANA_room_02 +1169,Z2_IKANA_room_03 +1170,Z2_IKANA_room_04 +1171,Z2_KAIZOKU +1172,Z2_KAIZOKU_room_00 +1173,Z2_MILK_BAR +1174,Z2_MILK_BAR_room_00 +1175,Z2_INISIE_N +1176,Z2_INISIE_N_room_00 +1177,Z2_INISIE_N_room_01 +1178,Z2_INISIE_N_room_02 +1179,Z2_INISIE_N_room_03 +1180,Z2_INISIE_N_room_04 +1181,Z2_INISIE_N_room_05 +1182,Z2_INISIE_N_room_06 +1183,Z2_INISIE_N_room_07 +1184,Z2_INISIE_N_room_08 +1185,Z2_INISIE_N_room_09 +1186,Z2_INISIE_N_room_10 +1187,Z2_INISIE_N_room_11 +1188,Z2_TAKARAYA +1189,Z2_TAKARAYA_room_00 +1190,Z2_INISIE_R +1191,Z2_INISIE_R_room_00 +1192,Z2_INISIE_R_room_01 +1193,Z2_INISIE_R_room_02 +1194,Z2_INISIE_R_room_03 +1195,Z2_INISIE_R_room_04 +1196,Z2_INISIE_R_room_05 +1197,Z2_INISIE_R_room_06 +1198,Z2_INISIE_R_room_07 +1199,Z2_INISIE_R_room_08 +1200,Z2_INISIE_R_room_09 +1201,Z2_INISIE_R_room_10 +1202,Z2_INISIE_R_room_11 +1203,Z2_OKUJOU +1204,Z2_OKUJOU_room_00 +1205,Z2_OPENINGDAN +1206,Z2_OPENINGDAN_room_00 +1207,Z2_OPENINGDAN_room_01 +1208,Z2_MITURIN +1209,Z2_MITURIN_room_00 +1210,Z2_MITURIN_room_01 +1211,Z2_MITURIN_room_02 +1212,Z2_MITURIN_room_03 +1213,Z2_MITURIN_room_04 +1214,Z2_MITURIN_room_05 +1215,Z2_MITURIN_room_06 +1216,Z2_MITURIN_room_07 +1217,Z2_MITURIN_room_08 +1218,Z2_MITURIN_room_09 +1219,Z2_MITURIN_room_10 +1220,Z2_MITURIN_room_11 +1221,Z2_MITURIN_room_12 +1222,Z2_13HUBUKINOMITI +1223,Z2_13HUBUKINOMITI_room_00 +1224,Z2_CASTLE +1225,Z2_CASTLE_room_00 +1226,Z2_CASTLE_room_01 +1227,Z2_CASTLE_room_02 +1228,Z2_CASTLE_room_03 +1229,Z2_CASTLE_room_04 +1230,Z2_CASTLE_room_05 +1231,Z2_CASTLE_room_06 +1232,Z2_CASTLE_room_07 +1233,Z2_CASTLE_room_08 +1234,Z2_CASTLE_room_09 +1235,Z2_DEKUTES +1236,Z2_DEKUTES_room_00 +1237,Z2_MITURIN_BS +1238,Z2_MITURIN_BS_room_00 +1239,Z2_SYATEKI_MIZU +1240,Z2_SYATEKI_MIZU_room_00 +1241,Z2_HAKUGIN +1242,Z2_HAKUGIN_room_00 +1243,Z2_HAKUGIN_room_01 +1244,Z2_HAKUGIN_room_02 +1245,Z2_HAKUGIN_room_03 +1246,Z2_HAKUGIN_room_04 +1247,Z2_HAKUGIN_room_05 +1248,Z2_HAKUGIN_room_06 +1249,Z2_HAKUGIN_room_07 +1250,Z2_HAKUGIN_room_08 +1251,Z2_HAKUGIN_room_09 +1252,Z2_HAKUGIN_room_10 +1253,Z2_HAKUGIN_room_11 +1254,Z2_HAKUGIN_room_12 +1255,Z2_HAKUGIN_room_13 +1256,Z2_ROMANYMAE +1257,Z2_ROMANYMAE_room_00 +1258,Z2_PIRATE +1259,Z2_PIRATE_room_00 +1260,Z2_PIRATE_room_01 +1261,Z2_PIRATE_room_02 +1262,Z2_PIRATE_room_03 +1263,Z2_PIRATE_room_04 +1264,Z2_PIRATE_room_05 +1265,Z2_PIRATE_room_06 +1266,Z2_PIRATE_room_07 +1267,Z2_PIRATE_room_08 +1268,Z2_PIRATE_room_09 +1269,Z2_PIRATE_room_10 +1270,Z2_PIRATE_room_11 +1271,Z2_PIRATE_room_12 +1272,Z2_PIRATE_room_13 +1273,Z2_PIRATE_room_14 +1274,Z2_SYATEKI_MORI +1275,Z2_SYATEKI_MORI_room_00 +1276,Z2_SINKAI +1277,Z2_SINKAI_room_00 +1278,Z2_YOUSEI_IZUMI +1279,Z2_YOUSEI_IZUMI_room_00 +1280,Z2_YOUSEI_IZUMI_room_01 +1281,Z2_YOUSEI_IZUMI_room_02 +1282,Z2_YOUSEI_IZUMI_room_03 +1283,Z2_YOUSEI_IZUMI_room_04 +1284,Z2_KINSTA1 +1285,Z2_KINSTA1_room_00 +1286,Z2_KINSTA1_room_01 +1287,Z2_KINSTA1_room_02 +1288,Z2_KINSTA1_room_03 +1289,Z2_KINSTA1_room_04 +1290,Z2_KINSTA1_room_05 +1291,Z2_KINDAN2 +1292,Z2_KINDAN2_room_00 +1293,Z2_KINDAN2_room_01 +1294,Z2_KINDAN2_room_02 +1295,Z2_KINDAN2_room_03 +1296,Z2_KINDAN2_room_04 +1297,Z2_KINDAN2_room_05 +1298,Z2_TENMON_DAI +1299,Z2_TENMON_DAI_room_00 +1300,Z2_TENMON_DAI_room_01 +1301,Z2_LAST_DEKU +1302,Z2_LAST_DEKU_room_00 +1303,Z2_LAST_DEKU_room_01 +1304,Z2_22DEKUCITY +1305,Z2_22DEKUCITY_room_00 +1306,Z2_22DEKUCITY_room_01 +1307,Z2_22DEKUCITY_room_02 +1308,Z2_KAJIYA +1309,Z2_KAJIYA_room_00 +1310,Z2_00KEIKOKU +1311,Z2_00KEIKOKU_room_00 +1312,Z2_POSTHOUSE +1313,Z2_POSTHOUSE_room_00 +1314,Z2_LABO +1315,Z2_LABO_room_00 +1316,Z2_DANPEI2TEST +1317,Z2_DANPEI2TEST_room_00 +1318,Z2_DANPEI2TEST_room_01 +1319,Z2_16GORON_HOUSE +1320,Z2_16GORON_HOUSE_room_00 +1321,Z2_16GORON_HOUSE_room_01 +1322,Z2_33ZORACITY +1323,Z2_33ZORACITY_room_00 +1324,Z2_8ITEMSHOP +1325,Z2_8ITEMSHOP_room_00 +1326,Z2_F01 +1327,Z2_F01_room_00 +1328,Z2_INISIE_BS +1329,Z2_INISIE_BS_room_00 +1330,Z2_30GYOSON +1331,Z2_30GYOSON_room_00 +1332,Z2_31MISAKI +1333,Z2_31MISAKI_room_00 +1334,Z2_TAKARAKUJI +1335,Z2_TAKARAKUJI_room_00 +1336,Z2_TORIDE +1337,Z2_TORIDE_room_00 +1338,Z2_FISHERMAN +1339,Z2_FISHERMAN_room_00 +1340,Z2_GORONSHOP +1341,Z2_GORONSHOP_room_00 +1342,Z2_DEKU_KING +1343,Z2_DEKU_KING_room_00 +1344,Z2_LAST_GORON +1345,Z2_LAST_GORON_room_00 +1346,Z2_LAST_GORON_room_01 +1347,Z2_24KEMONOMITI +1348,Z2_24KEMONOMITI_room_00 +1349,Z2_F01_B +1350,Z2_F01_B_room_00 +1351,Z2_F01C +1352,Z2_F01C_room_00 +1353,Z2_BOTI +1354,Z2_BOTI_room_00 +1355,Z2_BOTI_room_01 +1356,Z2_HAKUGIN_BS +1357,Z2_HAKUGIN_BS_room_00 +1358,Z2_20SICHITAI +1359,Z2_20SICHITAI_room_00 +1360,Z2_20SICHITAI_room_01 +1361,Z2_20SICHITAI_room_02 +1362,Z2_21MITURINMAE +1363,Z2_21MITURINMAE_room_00 +1364,Z2_LAST_ZORA +1365,Z2_LAST_ZORA_room_00 +1366,Z2_11GORONNOSATO2 +1367,Z2_11GORONNOSATO2_room_00 +1368,Z2_11GORONNOSATO2_room_01 +1369,Z2_SEA +1370,Z2_SEA_room_00 +1371,Z2_SEA_room_01 +1372,Z2_SEA_room_02 +1373,Z2_SEA_room_03 +1374,Z2_SEA_room_04 +1375,Z2_SEA_room_05 +1376,Z2_SEA_room_06 +1377,Z2_SEA_room_07 +1378,Z2_SEA_room_08 +1379,Z2_SEA_room_09 +1380,Z2_SEA_room_10 +1381,Z2_SEA_room_11 +1382,Z2_SEA_room_12 +1383,Z2_SEA_room_13 +1384,Z2_SEA_room_14 +1385,Z2_SEA_room_15 +1386,Z2_35TAKI +1387,Z2_35TAKI_room_00 +1388,Z2_REDEAD +1389,Z2_REDEAD_room_00 +1390,Z2_REDEAD_room_01 +1391,Z2_REDEAD_room_02 +1392,Z2_REDEAD_room_03 +1393,Z2_REDEAD_room_04 +1394,Z2_REDEAD_room_05 +1395,Z2_REDEAD_room_06 +1396,Z2_REDEAD_room_07 +1397,Z2_REDEAD_room_08 +1398,Z2_REDEAD_room_09 +1399,Z2_REDEAD_room_10 +1400,Z2_REDEAD_room_11 +1401,Z2_REDEAD_room_12 +1402,Z2_REDEAD_room_13 +1403,Z2_BANDROOM +1404,Z2_BANDROOM_room_00 +1405,Z2_BANDROOM_room_01 +1406,Z2_BANDROOM_room_02 +1407,Z2_BANDROOM_room_03 +1408,Z2_BANDROOM_room_04 +1409,Z2_11GORONNOSATO +1410,Z2_11GORONNOSATO_room_00 +1411,Z2_11GORONNOSATO_room_01 +1412,Z2_GORON_HAKA +1413,Z2_GORON_HAKA_room_00 +1414,Z2_SECOM +1415,Z2_SECOM_room_00 +1416,Z2_SECOM_room_01 +1417,Z2_10YUKIYAMANOMURA +1418,Z2_10YUKIYAMANOMURA_room_00 +1419,Z2_TOUGITES +1420,Z2_TOUGITES_room_00 +1421,Z2_DANPEI +1422,Z2_DANPEI_room_00 +1423,Z2_DANPEI_room_01 +1424,Z2_DANPEI_room_02 +1425,Z2_DANPEI_room_03 +1426,Z2_DANPEI_room_04 +1427,Z2_DANPEI_room_05 +1428,Z2_DANPEI_room_06 +1429,Z2_DANPEI_room_07 +1430,Z2_DANPEI_room_08 +1431,Z2_IKANAMAE +1432,Z2_IKANAMAE_room_00 +1433,Z2_DOUJOU +1434,Z2_DOUJOU_room_00 +1435,Z2_MUSICHOUSE +1436,Z2_MUSICHOUSE_room_00 +1437,Z2_IKNINSIDE +1438,Z2_IKNINSIDE_room_00 +1439,Z2_IKNINSIDE_room_01 +1440,Z2_MAP_SHOP +1441,Z2_MAP_SHOP_room_00 +1442,Z2_F40 +1443,Z2_F40_room_00 +1444,Z2_F41 +1445,Z2_F41_room_00 +1446,Z2_10YUKIYAMANOMURA2 +1447,Z2_10YUKIYAMANOMURA2_room_00 +1448,Z2_10YUKIYAMANOMURA2_room_01 +1449,Z2_14YUKIDAMANOMITI +1450,Z2_14YUKIDAMANOMITI_room_00 +1451,Z2_12HAKUGINMAE +1452,Z2_12HAKUGINMAE_room_00 +1453,Z2_17SETUGEN +1454,Z2_17SETUGEN_room_00 +1455,Z2_17SETUGEN2 +1456,Z2_17SETUGEN2_room_00 +1457,Z2_SEA_BS +1458,Z2_SEA_BS_room_00 +1459,Z2_RANDOM +1460,Z2_RANDOM_room_00 +1461,Z2_RANDOM_room_01 +1462,Z2_RANDOM_room_02 +1463,Z2_RANDOM_room_03 +1464,Z2_RANDOM_room_04 +1465,Z2_RANDOM_room_05 +1466,Z2_YADOYA +1467,Z2_YADOYA_room_00 +1468,Z2_YADOYA_room_01 +1469,Z2_YADOYA_room_02 +1470,Z2_YADOYA_room_03 +1471,Z2_YADOYA_room_04 +1472,Z2_KONPEKI_ENT +1473,Z2_KONPEKI_ENT_room_00 +1474,Z2_INSIDETOWER +1475,Z2_INSIDETOWER_room_00 +1476,Z2_INSIDETOWER_room_01 +1477,Z2_26SARUNOMORI +1478,Z2_26SARUNOMORI_room_00 +1479,Z2_26SARUNOMORI_room_01 +1480,Z2_26SARUNOMORI_room_02 +1481,Z2_26SARUNOMORI_room_03 +1482,Z2_26SARUNOMORI_room_04 +1483,Z2_26SARUNOMORI_room_05 +1484,Z2_26SARUNOMORI_room_06 +1485,Z2_26SARUNOMORI_room_07 +1486,Z2_26SARUNOMORI_room_08 +1487,Z2_LOST_WOODS +1488,Z2_LOST_WOODS_room_00 +1489,Z2_LOST_WOODS_room_01 +1490,Z2_LOST_WOODS_room_02 +1491,Z2_LAST_LINK +1492,Z2_LAST_LINK_room_00 +1493,Z2_LAST_LINK_room_01 +1494,Z2_LAST_LINK_room_02 +1495,Z2_LAST_LINK_room_03 +1496,Z2_LAST_LINK_room_04 +1497,Z2_LAST_LINK_room_05 +1498,Z2_LAST_LINK_room_06 +1499,Z2_LAST_LINK_room_07 +1500,Z2_SOUGEN +1501,Z2_SOUGEN_room_00 +1502,Z2_BOMYA +1503,Z2_BOMYA_room_00 +1504,Z2_KYOJINNOMA +1505,Z2_KYOJINNOMA_room_00 +1506,Z2_KOEPONARACE +1507,Z2_KOEPONARACE_room_00 +1508,Z2_GORONRACE +1509,Z2_GORONRACE_room_00 +1510,Z2_TOWN +1511,Z2_TOWN_room_00 +1512,Z2_ICHIBA +1513,Z2_ICHIBA_room_00 +1514,Z2_BACKTOWN +1515,Z2_BACKTOWN_room_00 +1516,Z2_CLOCKTOWER +1517,Z2_CLOCKTOWER_room_00 +1518,Z2_ALLEY +1519,Z2_ALLEY_room_00 +1520,SPOT00 +1521,SPOT00_room_00 +1522,KAKUSIANA +1523,KAKUSIANA_room_00 +1524,KAKUSIANA_room_01 +1525,KAKUSIANA_room_02 +1526,KAKUSIANA_room_03 +1527,KAKUSIANA_room_04 +1528,KAKUSIANA_room_05 +1529,KAKUSIANA_room_06 +1530,KAKUSIANA_room_07 +1531,KAKUSIANA_room_08 +1532,KAKUSIANA_room_09 +1533,KAKUSIANA_room_10 +1534,KAKUSIANA_room_11 +1535,KAKUSIANA_room_12 +1536,KAKUSIANA_room_13 +1537,KAKUSIANA_room_14 diff --git a/tools/filelists/mm.us.rev1/texture.csv b/tools/filelists/mm.us.rev1/texture.csv new file mode 100644 index 0000000000..17e4a9cf79 --- /dev/null +++ b/tools/filelists/mm.us.rev1/texture.csv @@ -0,0 +1,43 @@ +6,kanji +8,icon_item_static_old +9,icon_item_24_static_old +10,icon_item_field_static +11,icon_item_dungeon_static +12,icon_item_gameover_static +13,icon_item_jpn_static +14,icon_item_vtx_static +15,map_i_static +16,map_grand_static +17,item_name_static +18,map_name_static +19,icon_item_static_test +20,icon_item_24_static_test +21,schedule_dma_static_old +22,schedule_dma_static_test +23,schedule_static +24,story_static +25,do_action_static +26,message_static +27,message_texture_static +28,nes_font_static +29,message_data_static +30,staff_message_data_static +1114,scene_texture_01 +1115,scene_texture_02 +1116,scene_texture_03 +1117,scene_texture_04 +1118,scene_texture_05 +1119,scene_texture_06 +1120,scene_texture_07 +1121,scene_texture_08 +1123,title_static +1126,parameter_static +1127,week_static +1128,daytelop_static +1129,ger_daytelop_static +1130,fra_daytelop_static +1131,esp_daytelop_static +1132,d2_fine_static +1133,d2_cloud_static +1134,d2_fine_pal_static +1538,bump_texture_static diff --git a/tools/fixbaserom.py b/tools/fixbaserom.py new file mode 100755 index 0000000000..2c39421608 --- /dev/null +++ b/tools/fixbaserom.py @@ -0,0 +1,204 @@ +#!/usr/bin/env python3 + +import hashlib, io, struct, sys +from os import path + +from libyaz0 import decompress + +UNCOMPRESSED_SIZE = 0x2F00000 + +def as_word(b, off=0): + return struct.unpack(">I", b[off:off+4])[0] + +def as_word_list(b): + return [i[0] for i in struct.iter_unpack(">I", b)] + +def calc_crc(rom_data, cic_type): + start = 0x1000 + end = 0x101000 + + unsigned_long = lambda i: i & 0xFFFFFFFF + rol = lambda i, b: unsigned_long(i << b) | (i >> (-b & 0x1F)) + + if cic_type == 6101 or cic_type == 6102: + seed = 0xF8CA4DDC + elif cic_type == 6103: + seed = 0xA3886759 + elif cic_type == 6105: + seed = 0xDF26F436 + elif cic_type == 6106: + seed = 0x1FEA617A + else: + assert False , f"Unknown cic type: {cic_type}" + + t1 = t2 = t3 = t4 = t5 = t6 = seed + + for pos in range(start, end, 4): + d = as_word(rom_data, pos) + r = rol(d, d & 0x1F) + + t6d = unsigned_long(t6 + d) + if t6d < t6: + t4 = unsigned_long(t4 + 1) + t6 = t6d + t3 ^= d + t5 = unsigned_long(t5 + r) + + if t2 > d: + t2 ^= r + else: + t2 ^= t6 ^ d + + if cic_type == 6105: + t1 = unsigned_long(t1 + (as_word(rom_data, 0x0750 + (pos & 0xFF)) ^ d)) + else: + t1 = unsigned_long(t1 + (t5 ^ d)) + + chksum = [0,0] + + if cic_type == 6103: + chksum[0] = unsigned_long((t6 ^ t4) + t3) + chksum[1] = unsigned_long((t5 ^ t2) + t1) + elif cic_type == 6106: + chksum[0] = unsigned_long((t6 * t4) + t3) + chksum[1] = unsigned_long((t5 * t2) + t1) + else: + chksum[0] = t6 ^ t4 ^ t3 + chksum[1] = t5 ^ t2 ^ t1 + + return struct.pack(">II", chksum[0], chksum[1]) + +def read_dmadata_entry(addr): + return as_word_list(fileContent[addr:addr+0x10]) + +def read_dmadata(start): + dmadata = [] + addr = start + entry = read_dmadata_entry(addr) + i = 0 + while any([e != 0 for e in entry]): + # print(f"0x{addr:08X} " + str([f"{e:08X}" for e in entry])) + dmadata.append(entry) + addr += 0x10 + i += 1 + entry = read_dmadata_entry(addr) + # print(f"0x{addr:08X} " + str([f"{e:08X}" for e in entry])) + return dmadata + +def update_crc(decompressed): + print("Recalculating crc...") + new_crc = calc_crc(decompressed.getbuffer(), 6105) + + decompressed.seek(0x10) + decompressed.write(new_crc) + return decompressed + +def decompress_rom(dmadata_addr, dmadata): + rom_segments = {} # vrom start : data s.t. len(data) == vrom_end - vrom_start + new_dmadata = bytearray() # new dmadata: {vrom start , vrom end , vrom start , 0} + + decompressed = io.BytesIO(b"") + + for v_start, v_end, p_start, p_end in dmadata: + if p_start == 0xFFFFFFFF and p_end == 0xFFFFFFFF: + new_dmadata.extend(struct.pack(">IIII", v_start, v_end, p_start, p_end)) + continue + if p_end == 0: # uncompressed + rom_segments.update({v_start : fileContent[p_start:p_start + v_end - v_start]}) + else: # compressed + rom_segments.update({v_start : decompress(fileContent[p_start:p_end])}) + new_dmadata.extend(struct.pack(">IIII", v_start, v_end, v_start, 0)) + + # write rom segments to vaddrs + for vrom_st,data in rom_segments.items(): + decompressed.seek(vrom_st) + decompressed.write(data) + # write new dmadata + decompressed.seek(dmadata_addr) + decompressed.write(new_dmadata) + # pad to size + decompressed.seek(UNCOMPRESSED_SIZE-1) + decompressed.write(bytearray([0])) + # re-calculate crc + return update_crc(decompressed) + +correct_str_hash = "f46493eaa0628827dbd6ad3ecd8d65d6" + +def get_str_hash(byte_array): + return str(hashlib.md5(byte_array).hexdigest()) + +# If the baserom exists and is correct, we don't need to change anything +if path.exists("baserom_uncompressed.z64"): + with open("baserom_uncompressed.z64", mode="rb") as file: + fileContent = bytearray(file.read()) + if get_str_hash(fileContent) == correct_str_hash: + print("Found valid baserom - exiting early") + sys.exit(0) + +# Determine if we have a ROM file +romFileName = "" +if path.exists("baserom.mm.us.rev1.z64"): + romFileName = "baserom.mm.us.rev1.z64" +elif path.exists("baserom.mm.us.rev1.n64"): + romFileName = "baserom.mm.us.rev1.n64" +elif path.exists("baserom.mm.us.rev1.v64"): + romFileName = "baserom.mm.us.rev1.v64" +else: + print("Error: Could not find baserom.mm.us.rev1.z64/baserom.mm.us.rev1.n64/baserom.mm.us.rev1.v64.") + sys.exit(1) + +# Read in the original ROM +print("File '" + romFileName + "' found.") +with open(romFileName, mode="rb") as file: + fileContent = bytearray(file.read()) + +fileContentLen = len(fileContent) + +# Check if ROM needs to be byte/word swapped +# Little-endian +if fileContent[0] == 0x40: + # Word Swap ROM + print("ROM needs to be word swapped...") + words = str(int(fileContentLen/4)) + little_byte_format = "<" + words + "I" + big_byte_format = ">" + words + "I" + tmp = struct.unpack_from(little_byte_format, fileContent, 0) + struct.pack_into(big_byte_format, fileContent, 0, *tmp) + + print("Word swapping done.") + +# Byte-swapped +elif fileContent[0] == 0x37: + # Byte Swap ROM + print("ROM needs to be byte swapped...") + halfwords = str(int(fileContentLen/2)) + little_byte_format = "<" + halfwords + "H" + big_byte_format = ">" + halfwords + "H" + tmp = struct.unpack_from(little_byte_format, fileContent, 0) + struct.pack_into(big_byte_format, fileContent, 0, *tmp) + + print("Byte swapping done.") + +# Decompress +FILE_TABLE_OFFSET = 0x1A500 # 0x1C110 for JP1.0, 0x1C050 for JP1.1, 0x24F60 for debug +if any([b != 0 for b in fileContent[FILE_TABLE_OFFSET + 0x9C:FILE_TABLE_OFFSET + 0x9C + 0x4]]): + print("Decompressing rom...") + fileContent = decompress_rom(FILE_TABLE_OFFSET, read_dmadata(FILE_TABLE_OFFSET)).getbuffer() + +# FF Padding (TODO is there an automatic way we can find where to start padding from? Largest dmadata file end maybe?) +for i in range(0x2EE8000,UNCOMPRESSED_SIZE): + fileContent[i] = 0xFF + +# Check to see if the ROM is a "vanilla" ROM +str_hash = get_str_hash(bytearray(fileContent)) +if str_hash != correct_str_hash: + print("Error: Expected a hash of " + correct_str_hash + " but got " + str_hash + ". " + + "The baserom has probably been tampered, find a new one") + sys.exit(1) + +# Write out our new ROM +print("Writing new ROM 'baserom_uncompressed.z64'.") +with open("baserom_uncompressed.z64", "wb") as file: + file.write(bytes(fileContent)) + +print("Done!") diff --git a/tools/gen_mips_to_c_context.py b/tools/gen_mips_to_c_context.py deleted file mode 100755 index de72d591f5..0000000000 --- a/tools/gen_mips_to_c_context.py +++ /dev/null @@ -1,140 +0,0 @@ -#!/usr/bin/env python3 - -import os -import sys -import subprocess -import argparse -import shlex -from pathlib import Path - -script_dir = os.path.dirname(os.path.realpath(__file__)) -root_dir = script_dir + "/../" -src_dir = root_dir + "src/" - - -def get_c_dir(dirname): - for root, dirs, files in os.walk(src_dir): - for directory in dirs: - if directory == dirname: - return os.path.join(root, directory) - - -def get_c_file(directory): - for root, dirs, files in os.walk(directory): - for file in files: - if file.endswith(".c") and "data" not in file: - return file - - -def find_build_command_line(c_file): - rel_c_file = os.path.relpath(c_file, root_dir) - make_cmd = ["make", "mm.us.rev1.rom_uncompressed.z64", "--always-make", "--dry-run", "--debug=j", "PERMUTER=1"] - debug_output = ( - subprocess.check_output(make_cmd, cwd=root_dir).decode("utf-8").split("\n") - ) - output = [] - - for line in debug_output: - while "//" in line: - line = line.replace("//", "/") - while "/./" in line: - line = line.replace("/./", "/") - if rel_c_file not in line: - continue - parts = shlex.split(line) - if rel_c_file not in parts: - continue - if "-o" not in parts: - continue - if "-fsyntax-only" in parts: - continue - output.append(line) - - if len(output) > 1: - output_lines = "\n".join(output) - print( - f"Error: found multiple compile commands for {rel_c_file}:\n{output_lines}\n" - "Please modify the makefile such that if PERMUTER = 1, " - "only a single compile command is included.", - file=sys.stderr, - ) - sys.exit(1) - elif len(output) == 0: - print(f"Error: Can't find the file?", file=sys.stderr) - sys.exit(1) - return output[0] - -def import_c_file(in_file): - compiler = find_build_command_line(in_file) - in_file = os.path.relpath(in_file, root_dir) - - include_next = 0 - cpp_command = ["cpp", "-P"] - compiler_split = compiler.split(" ") - for arg in compiler_split: - if include_next > 0: - include_next -= 1 - cpp_command.append(arg) - continue - if arg in ["-D", "-U", "-I"]: - cpp_command.append(arg) - include_next = 1 - continue - if ( - arg.startswith("-D") - or arg.startswith("-U") - or arg.startswith("-I") - or arg in ["-nostdinc"] - ): - cpp_command.append(arg) - - cpp_command.extend( - [ - "-undef", - "-D__sgi", - "-D_LANGUAGE_C", - "-DNON_MATCHING", - "-D_Static_assert(x, y)=", - "-D__attribute__(x)=", - ] - ) - cpp_command.append(in_file) - - try: - return subprocess.check_output(cpp_command, cwd=root_dir, encoding="utf-8") - except subprocess.CalledProcessError: - print( - "Failed to preprocess input file, when running command:\n" - + cpp_command, - file=sys.stderr, - ) - sys.exit(1) - -def main(): - parser = argparse.ArgumentParser(usage="./gen_mips_to_c_context.py --file path/to/file.c or ./gen_mips_to_c_context.py (from an actor or gamestate's asm dir)", - description="Creates a ctx.c file for mips2c. " - "Output will be saved as oot/ctx.c") - parser.add_argument('--file', help="path of c file to be processed", required=False) - args = parser.parse_args() - - if args.file: - c_file_path = args.file - print("Using file: {}".format(c_file_path)) - else: - this_dir = Path.cwd() - c_dir_path = get_c_dir(this_dir.name) - if c_dir_path is None: - sys.exit( - "Cannot find appropriate c file dir. In argumentless mode, run this script from the c file's corresponding asm dir.") - c_file = get_c_file(c_dir_path) - c_file_path = os.path.join(c_dir_path, c_file) - print("Using file: {}".format(c_file_path)) - - output = import_c_file(c_file_path) - - with open(os.path.join(root_dir, "ctx.c"), "w", encoding="UTF-8") as f: - f.write(output) - - -if __name__ == "__main__": - main() diff --git a/tools/get_actor_sizes.py b/tools/get_actor_sizes.py new file mode 100755 index 0000000000..387cccc6a5 --- /dev/null +++ b/tools/get_actor_sizes.py @@ -0,0 +1,199 @@ +#!/usr/bin/env python3 + +import argparse, math, os, re + +script_dir = os.path.dirname(os.path.realpath(__file__)) +root_dir = script_dir + "/../" +asm_dir = root_dir + "asm/non_matchings/overlays/actors" +build_dir = root_dir + "build/src/overlays/actors" + + +def get_num_instructions(f_path): + with open(f_path) as f: + f_lines = f.readlines() + sum = 0 + for line in f_lines: + if line.startswith("/* "): + sum += 1 + return sum + + +def count_non_matching(): + overlays = {} + + for root, dirs, _ in os.walk(asm_dir): + for actor_dir in dirs: + total_size = 0 + max_size = -1 + ovl_path = os.path.join(root, actor_dir) + num_files = 0 + + actor_funcs = {} + + for f_name in os.listdir(ovl_path): + file_path = os.path.join(ovl_path, f_name) + file_size = get_num_instructions(file_path) + + num_files += 1 + total_size += file_size + if file_size > max_size: + max_size = file_size + actor_funcs[f_name] = file_size + + overlays[actor_dir] = { + "summary": (num_files, max_size, total_size, + total_size / num_files), + "funcs": actor_funcs + } + + return overlays + + +pattern_function = re.compile("^[0-9a-fA-F]+ <(.+)>:") +pattern_switchcase = re.compile("L[0-9a-fA-F]{8}") + +def count_builded_funcs_and_instructions(f_path): + f_lines = "" + with open(f_path) as f: + f_lines = f.readlines() + + current = "" + funcs = {} + for line in f_lines: + if line.strip() == "": + continue + match_function = pattern_function.match(line) + if match_function: + func_name = match_function.group(1) + if pattern_switchcase.match(func_name): + # this is not a real function tag. + # probably a case from a switch + # for example: + continue + current = func_name + funcs[current] = 0 + elif current != "": + funcs[current] += 1 + return funcs + + +def count_build(): + overlays = {} + + for root, dirs, _ in os.walk(build_dir): + for actor_dir in dirs: + total_size = 0 + max_size = -1 + ovl_path = os.path.join(root, actor_dir) + num_files = 0 + + actor_funcs = {} + + for f_name in os.listdir(ovl_path): + if not f_name.endswith(".s"): + continue + if f_name.endswith("_reloc.s"): + continue + + file_path = os.path.join(ovl_path, f_name) + funcs = count_builded_funcs_and_instructions(file_path) + + if len(funcs) > 0: + num_files += len(funcs) + # round up the file size to a multiple of four. + total_size += math.ceil(sum(funcs.values())/4)*4 + max_size = max(max_size, max(funcs.values())) + # merges both dictionaries + actor_funcs = {**actor_funcs, **funcs} + + overlays[actor_dir] = { + "summary": (num_files, max_size, total_size, + total_size / num_files), + "funcs": actor_funcs + } + + return overlays + + +def get_list_from_file(filename): + actor_list = [] + if filename is not None: + with open(filename) as f: + actor_list = list(map(lambda x: x.strip().split(",")[0], f.readlines())) + return actor_list + + +def print_csv(overlays, ignored, include_only): + sorted_actors = [(k, v["summary"]) for k, v in overlays.items()] + sorted_actors.sort() + + row = "{},{},{},{},{}" + print(row.format("Overlay", "Num files", "Max size", "Total size", "Average size")) + + for actor_data in sorted_actors: + name = actor_data[0] + other = actor_data[1] + if name in ignored: + continue + if include_only and name not in include_only: + continue + print(row.format(name, *other)) + + +def print_function_lines(overlays, ignored, include_only): + sorted_actors = [] + for k, v in overlays.items(): + func_data = [] + for func_name, lines in v["funcs"].items(): + func_data.append((func_name, lines)) + #func_data.sort(key=lambda x: x[1], reverse=True) + sorted_actors.append((k, func_data)) + sorted_actors.sort() + + row = "{},{},{}" + print(row.format("actor_name", "function_name", "lines")) + + for actor_data in sorted_actors: + name = actor_data[0] + func_data = actor_data[1] + if name in ignored: + continue + if include_only and name not in include_only: + continue + for func_name, lines in func_data: + print(row.format(name, func_name, lines)) + + +def main(): + description = "Collects actor's functions sizes, and print them in csv format." + + epilog = """\ +To make a .csv with the data, simply redirect the output. For example: + ./tools/get_actor_sizes.py > results.csv + +Flags can be mixed to produce a customized result: + ./tools/get_actor_sizes.py --function-lines --non-matching > status.csv + ./tools/get_actor_sizes.py --non-matching --ignore pull_request.csv > non_matching.csv + ./tools/get_actor_sizes.py --non-matching --function-lines --include-only my_reserved.csv > my_status.csv + """ + parser = argparse.ArgumentParser(description=description, epilog=epilog, formatter_class=argparse.RawTextHelpFormatter) + parser.add_argument("--non-matching", help="Collect data of the non-matching actors instead.", action="store_true") + parser.add_argument("--function-lines", help="Prints the size of every function instead of a summary.", action="store_true") + parser.add_argument("--ignore", help="Path to a file containing actor's names. The data of actors in this list will be ignored.") + parser.add_argument("--include-only", help="Path to a file containing actor's names. Only data of actors in this list will be printed.") + args = parser.parse_args() + + if args.non_matching: + overlays = count_non_matching() + else: + overlays = count_build() + + ignored = get_list_from_file(args.ignore) + include_only = get_list_from_file(args.include_only) + + if args.function_lines: + print_function_lines(overlays, ignored, include_only) + else: + print_csv(overlays, ignored, include_only) + +main() diff --git a/tools/m2ctx.py b/tools/m2ctx.py index c3f06cc7c2..a095c2811c 100755 --- a/tools/m2ctx.py +++ b/tools/m2ctx.py @@ -1,9 +1,6 @@ #!/usr/bin/env python3 -import os -import sys -import subprocess -import argparse +import argparse, os, subprocess, sys from pathlib import Path script_dir = os.path.dirname(os.path.realpath(__file__)) diff --git a/tools/makerom.py b/tools/makerom.py deleted file mode 100755 index 3c5993c89a..0000000000 --- a/tools/makerom.py +++ /dev/null @@ -1,85 +0,0 @@ -#!/usr/bin/env python3 -import os, struct, sys, ast, argparse - -def read_uint32_be(data, offset): - return struct.unpack('>I', data[offset:offset+4])[0] - -def generate_checksum(data): - seed = 0xDF26F436 - - t1 = t2 = t3 = t4 = t5 = t6 = seed - - for i in range(0x1000, 0x1000 + 0x100000, 4): - d = read_uint32_be(data, i) - - shift = d & 0x1F - r = ((d << shift) & 0xFFFFFFFF) | ((d >> (32 - shift)) & 0xFFFFFFFF) - - if t6 + d > 0xFFFFFFFF: - t4 += 1 - - t6 = (t6 + d) & 0xFFFFFFFF - t3 ^= d - t5 = (t5 + r) & 0xFFFFFFFF - - if t2 > d: - t2 ^= r - else: - t2 ^= t6 ^ d - - t1 = (t1 + (read_uint32_be(data, 0x0750 + (i & 0xFF)) ^ d)) & 0xFFFFFFFF - - chksum0 = t6 ^ t4 ^ t3 - chksum1 = t5 ^ t2 ^ t1 - - return chksum0, chksum1 - -if __name__ == "__main__": - parser = argparse.ArgumentParser() - parser.add_argument('files', help='file list') - parser.add_argument('out', help='output file') - parser.add_argument('-c', '--compress', help='decompress file, otherwise compress it', action='store_true', default=False) - args = parser.parse_args() - - outputBuffer = bytearray() - - with open(args.out, 'wb') as w, open(args.files, 'rt') as f: - total_size = 0 - - dmadata_table = ast.literal_eval(f.read()) - for base_file, comp_file, _, _ in dmadata_table: - if args.compress: - if comp_file.endswith('dmadata'): - dma_file_name = comp_file - break - else: - if base_file.endswith('dmadata'): - dma_file_name = base_file - break - else: - print('Could not find dmadata') - sys.exit(1) - - for base_file, comp_file, _, _ in dmadata_table: - file_name = comp_file if args.compress and comp_file != '' else base_file - if file_name != '': - try: - with open(file_name, 'rb') as current_file: - file_data = current_file.read() - outputBuffer += file_data - total_size += len(file_data) - except: - print('Could not open file ' + file_name) - sys.exit(1) - - required_rom_size = 1 << (len(outputBuffer) - 1).bit_length() - - while total_size < required_rom_size: - outputBuffer.append(total_size % 256) - total_size += 1 - - chksum0, chksum1 = generate_checksum(outputBuffer) - outputBuffer[0x10:0x18] = chksum0.to_bytes(4, byteorder='big') + chksum1.to_bytes(4, byteorder='big') - - w.write(outputBuffer) - diff --git a/tools/overlay.py b/tools/overlay.py deleted file mode 100755 index 8fdc6239f8..0000000000 --- a/tools/overlay.py +++ /dev/null @@ -1,66 +0,0 @@ -#!/usr/bin/env python3 -import sys, argparse - -from elftools.elf.elffile import ELFFile -from elftools.elf.relocation import RelocationSection - -def get_section_type_from_name(name): - if name == '.text': - return 1 - elif name == '.data': - return 2 - elif name == '.rodata': - return 3 - elif name == '.bss': # TODO is this actually a thing? It doesn't fit in 2 bits and why would there be a relocation in .bss? - return 4 - else: - assert False, 'Unrecognized section for relocation: ' + name - -if __name__ == '__main__': - parser = argparse.ArgumentParser() - parser.add_argument('input', help='Input object file to create overlay info', metavar='input') - parser.add_argument('output', help='Overlay info output', metavar='output') - args = parser.parse_args() - - with open(args.input, 'rb') as f, open(args.output, 'w') as out: - elffile = ELFFile(f) - - out.write('.section .ovl\n'); - - relocs = [] - for section_name in ['.rel.text', '.rel.data', '.rel.rodata']: - section = elffile.get_section_by_name(section_name) - if section is not None: - symtab = elffile.get_section(section['sh_link']) - for reloc in section.iter_relocations(): - symbol = symtab.get_symbol(reloc['r_info_sym']) - if symbol.entry['st_shndx'] != 'SHN_UNDEF': - section_id = get_section_type_from_name(section.name[4:]) - relocation_type = reloc['r_info_type'] - offset = reloc['r_offset'] - assert offset <= 0xFFFFFF, 'Object too big to convert into overlay' - word = (section_id << 30) | (relocation_type << 24) | (offset) - relocs.append(word) - - text_section = elffile.get_section_by_name('.text') - data_section = elffile.get_section_by_name('.data') - rodata_section = elffile.get_section_by_name('.rodata') - bss_section = elffile.get_section_by_name('.bss') - - text_size = text_section.data_size if text_section is not None else 0 - data_size = data_section.data_size if data_section is not None else 0 - rodata_size = rodata_section.data_size if rodata_section is not None else 0 - bss_size = bss_section.data_size if bss_section is not None else 0 - - out.write('.word 0x{:08X}\n'.format(text_size)); - out.write('.word 0x{:08X}\n'.format(data_size)); - out.write('.word 0x{:08X}\n'.format(rodata_size)); - out.write('.word 0x{:08X}\n'.format(bss_size)); - out.write('.word 0x{:08X}\n'.format(len(relocs))); - for reloc in relocs: - out.write('.word 0x{:08X}\n'.format(reloc)); - offset = len(relocs) + 5 - while (offset % 4) != 3: - out.write('.word 0\n'); - offset += 1 - out.write('.word 0x{:08X}\n'.format(offset*4 + 4)); diff --git a/tools/prelude.inc b/tools/prelude.inc deleted file mode 100644 index cffd543193..0000000000 --- a/tools/prelude.inc +++ /dev/null @@ -1,7 +0,0 @@ -.set noat -.set noreorder -.set gp=64 -.macro glabel label - .global \label - \label: -.endm \ No newline at end of file diff --git a/tools/preprocess.py b/tools/preprocess.py deleted file mode 100755 index c01fd2870d..0000000000 --- a/tools/preprocess.py +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/env python3 -import sys -import os -import shlex -import subprocess -import tempfile - -dir_path = os.path.dirname(os.path.realpath(__file__)) -asm_processor = ['python3', os.path.join(dir_path, "asm-processor/asm_processor.py")] -prelude = os.path.join(dir_path, "prelude.inc") - -all_args = sys.argv[1:] -sep1 = all_args.index('--') -sep2 = all_args.index('--', sep1+1) - -compiler = all_args[:sep1] - -assembler = all_args[sep1+1:sep2] -assembler_sh = ' '.join(shlex.quote(x) for x in assembler) - -compile_args = all_args[sep2+1:] -in_file = compile_args[-1] -out_ind = compile_args.index('-o') -out_file = compile_args[out_ind + 1] -del compile_args[-1] -del compile_args[out_ind + 1] -del compile_args[out_ind] - -in_dir = os.path.split(os.path.realpath(in_file))[0] -opt_flags = [x for x in compile_args if x in ['-g', '-O2', '-framepointer', '-g3', '-O1']] - -preprocessed_file = tempfile.NamedTemporaryFile(prefix='preprocessed', suffix='.c') - -if opt_flags != []: - asmproc_flags = opt_flags + [in_file, '--input-enc', 'utf-8', '--output-enc', 'euc-jp'] - subprocess.check_call(asm_processor + asmproc_flags, stdout=preprocessed_file) - subprocess.check_call(compiler + compile_args + ['-I', in_dir, '-o', out_file, preprocessed_file.name]) - subprocess.check_call(asm_processor + asmproc_flags + ['--post-process', out_file, '--assembler', assembler_sh, '--asm-prelude', prelude]) -else: - subprocess.check_call(compiler + compile_args + ['-I', in_dir, '-o', out_file, in_file]) \ No newline at end of file diff --git a/tools/progress.py b/tools/progress.py index 886b2ba437..a5068f792b 100755 --- a/tools/progress.py +++ b/tools/progress.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -import os, argparse, json, re, csv, git +import argparse, csv, git, json, os, re parser = argparse.ArgumentParser() @@ -9,8 +9,11 @@ parser.add_argument("-m", "--matching", dest='matching', action='store_true', help="Output matching progress instead of decompilation progress") args = parser.parse_args() -NON_MATCHING_PATTERN = r"#ifdef\s+NON_MATCHING.*?#pragma\s+GLOBAL_ASM\s*\(\s*\"(.*?)\"\s*\).*?#endif" -NOT_ATTEMPTED_PATTERN = r"#pragma\s+GLOBAL_ASM\s*\(\s*\"(.*?)\"\s*\)" +NON_MATCHING_PATTERN = r'#ifdef\s+NON_MATCHING.*?#pragma\s+GLOBAL_ASM\s*\(\s*"(.*?)"\s*\).*?#endif' +NOT_ATTEMPTED_PATTERN = r'#pragma\s+GLOBAL_ASM\s*\(\s*"(.*?)"\s*\)' + +# TODO: consider making this a parameter of this script +GAME_VERSION = "mm.us.rev1" def GetFunctionsByPattern(pattern, files): functions = [] @@ -38,18 +41,30 @@ def GetFiles(path, ext): return files -def GetRemovableSize(functions_to_count, path): +def GetCsvFilelist(version, filelist): + path = os.path.join("tools", "filelists", version, filelist) + with open(path, newline='') as f: + return list(csv.reader(f, delimiter=',')) + +def GetRemovableSize(functions_to_count): size = 0 - asm_files = GetFiles(path, ".asm") - - for asm_file_path in asm_files: + for asm_file_path in functions_to_count: + if "//" in asm_file_path: + raise RuntimeError(f"Invalid file path: {asm_file_path}") file_size = 0 - if asm_file_path in functions_to_count: - asm_lines = ReadAllLines(asm_file_path) + asm_lines = ReadAllLines(asm_file_path) + shouldCount = True - for asm_line in asm_lines: - if (asm_line[0:2] == "/*" and asm_line[30:32] == "*/"): + for asm_line in asm_lines: + if asm_line[0] == ".": + if asm_line.startswith(".text") or asm_line.startswith(".section .text"): + shouldCount = True + elif ".rdata" in asm_line or ".late_rodata" in asm_line: + shouldCount = False + + if shouldCount: + if (asm_line[0:2] == "/*" and asm_line[28:30] == "*/"): file_size += 4 size += file_size @@ -72,11 +87,11 @@ if not args.matching: non_matching_functions = [] # Get asset files -audio_files = GetFiles("baserom/assets/audio", "") -misc_files = GetFiles("baserom/assets/misc", "") -object_files = GetFiles("baserom/assets/objects", "") -scene_files = GetFiles("baserom/assets/scenes", "") -texture_files = GetFiles("baserom/assets/textures", "") +audio_files = GetCsvFilelist(GAME_VERSION, "audio.csv") +misc_files = GetCsvFilelist(GAME_VERSION, "misc.csv") +object_files = GetCsvFilelist(GAME_VERSION, "object.csv") +scene_files = GetCsvFilelist(GAME_VERSION, "scene.csv") +texture_files = GetCsvFilelist(GAME_VERSION, "texture.csv") # Initialize all the code values src = 0 @@ -140,14 +155,22 @@ src_boot += src_libultra asm_boot += asm_libultra # Calculate Non-Matching -non_matching_asm_ovl = GetRemovableSize(non_matching_functions, "./asm/non_matchings/overlays") -non_matching_asm_code = GetRemovableSize(non_matching_functions, "./asm/non_matchings/code") -non_matching_asm_boot = GetRemovableSize(non_matching_functions, "./asm/non_matchings/boot") +non_matching_functions_ovl = list(filter(lambda x: "/overlays/" in x, non_matching_functions)) +non_matching_functions_code = list(filter(lambda x: "/code/" in x, non_matching_functions)) +non_matching_functions_boot = list(filter(lambda x: "/boot/" in x, non_matching_functions)) + +non_matching_asm_ovl = GetRemovableSize(non_matching_functions_ovl) +non_matching_asm_code = GetRemovableSize(non_matching_functions_code) +non_matching_asm_boot = GetRemovableSize(non_matching_functions_boot) # Calculate Not Attempted -not_attempted_asm_ovl = GetRemovableSize(not_attempted_functions, "./asm/non_matchings/overlays") -not_attempted_asm_code = GetRemovableSize(not_attempted_functions, "./asm/non_matchings/code") -not_attempted_asm_boot = GetRemovableSize(not_attempted_functions, "./asm/non_matchings/boot") +not_attempted_functions_ovl = list(filter(lambda x: "/overlays/" in x, not_attempted_functions)) +not_attempted_functions_code = list(filter(lambda x: "/code/" in x, not_attempted_functions)) +not_attempted_functions_boot = list(filter(lambda x: "/boot/" in x, not_attempted_functions)) + +not_attempted_asm_ovl = GetRemovableSize(not_attempted_functions_ovl) +not_attempted_asm_code = GetRemovableSize(not_attempted_functions_code) +not_attempted_asm_boot = GetRemovableSize(not_attempted_functions_boot) # All the non matching asm is the sum of non-matching code non_matching_asm = non_matching_asm_ovl + non_matching_asm_code + non_matching_asm_boot @@ -172,16 +195,16 @@ misc_size = 0 object_size = 0 scene_size = 0 texture_size = 0 -for f in audio_files: - audio_size += os.stat(f).st_size -for f in misc_files: - misc_size += os.stat(f).st_size -for f in object_files: - object_size += os.stat(f).st_size -for f in scene_files: - scene_size += os.stat(f).st_size -for f in texture_files: - texture_size += os.stat(f).st_size +for index, f in audio_files: + audio_size += os.stat(os.path.join("baserom", f)).st_size +for index, f in misc_files: + misc_size += os.stat(os.path.join("baserom", f)).st_size +for index, f in object_files: + object_size += os.stat(os.path.join("baserom", f)).st_size +for index, f in scene_files: + scene_size += os.stat(os.path.join("baserom", f)).st_size +for index, f in texture_files: + texture_size += os.stat(os.path.join("baserom", f)).st_size # Calculate asm and src totals src = src_code + src_boot + src_ovl @@ -194,12 +217,17 @@ asm += non_matching_asm + not_attempted_asm # Calculate the total amount of decompilable code total = src + asm +# Calculate assets totals +assets = audio + misc + object_ + scene + texture +assets_total = audio_size + misc_size + object_size + scene_size + texture_size + # Convert vaules to percentages src_percent = 100 * src / total asm_percent = 100 * asm / total code_percent = 100 * code / code_size boot_percent = 100 * boot / boot_size ovl_percent = 100 * ovl / ovl_size +assets_percent = 100 * assets / assets_total audio_percent = 100 * audio / audio_size misc_percent = 100 * misc / misc_size object_percent = 100 * object_ / object_size @@ -266,16 +294,18 @@ elif args.format == 'shield-json': elif args.format == 'text': adjective = "decompiled" if not args.matching else "matched" - print(str(total) + " total bytes of decompilable code\n") - print(str(src) + " bytes " + adjective + " in src " + str(src_percent) + "%\n") - print(str(boot) + "/" + str(boot_size) + " bytes " + adjective + " in boot " + str(boot_percent) + "%\n") - print(str(code) + "/" + str(code_size) + " bytes " + adjective + " in code " + str(code_percent) + "%\n") - print(str(ovl) + "/" + str(ovl_size) + " bytes " + adjective + " in overlays " + str(ovl_percent) + "%\n") - print(str(audio) + "/" + str(audio_size) + " bytes reconstructed in audio " + str(audio_percent) + "%\n") - print(str(misc) + "/" + str(misc_size) + " bytes reconstructed in misc " + str(misc_percent) + "%\n") - print(str(object_) + "/" + str(object_size) + " bytes reconstructed in objects " + str(object_percent) + "%\n") - print(str(scene) + "/" + str(scene_size) + " bytes reconstructed in scenes " + str(scene_percent) + "%\n") - print(str(texture) + "/" + str(texture_size) + " bytes reconstructed in textures " + str(texture_percent) + "%\n") + print("src: {:>9} / {:>8} total bytes {:<13} {:>9.4f}%".format(src, total, adjective, round(src_percent, 4))) + print(" boot: {:>9} / {:>8} bytes {:<13} {:>9.4f}%".format(boot, boot_size, adjective, round(boot_percent, 4))) + print(" code: {:>9} / {:>8} bytes {:<13} {:>9.4f}%".format(code, code_size, adjective, round(code_percent, 4))) + print(" overlays: {:>9} / {:>8} bytes {:<13} {:>9.4f}%".format(ovl, ovl_size, adjective, round(ovl_percent, 4))) + print() + print("assets: {:>9} / {:>8} bytes reconstructed {:>9.4f}%".format(assets, assets_total, round(assets_percent, 4))) + print(" audio: {:>9} / {:>8} bytes reconstructed {:>9.4f}%".format(audio, audio_size, round(audio_percent, 4))) + print(" misc: {:>9} / {:>8} bytes reconstructed {:>9.4f}%".format(misc, misc_size, round(misc_percent, 4))) + print(" objects: {:>9} / {:>8} bytes reconstructed {:>9.4f}%".format(object_, object_size, round(object_percent, 4))) + print(" scenes: {:>9} / {:>8} bytes reconstructed {:>9.4f}%".format(scene, scene_size, round(scene_percent, 4))) + print(" textures: {:>9} / {:>8} bytes reconstructed {:>9.4f}%".format(texture, texture_size, round(texture_percent, 4))) + print() print("------------------------------------\n") if (rupees > 0): @@ -283,4 +313,4 @@ elif args.format == 'text': else: print('You have {}/{} masks.\n'.format(masks, num_masks)) else: - print("Unknown format argument: " + args.format) \ No newline at end of file + print("Unknown format argument: " + args.format) diff --git a/tools/regconvert.py b/tools/regconvert.py index fdc1090b67..f4b9b0db13 100755 --- a/tools/regconvert.py +++ b/tools/regconvert.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 -import argparse +import argparse, re GROUP_SIZE = 0x60 DATA_OFFSET = 0x14 @@ -11,13 +11,96 @@ def get_reg_macro(offset): reg = (offset - DATA_OFFSET) // 2 group = reg // GROUP_SIZE reg_in_group = reg % GROUP_SIZE - return "%cREG(%d)\n" % (REGISTER_NAMES[group], reg_in_group) + return "%cREG(%d)" % (REGISTER_NAMES[group], reg_in_group) + +def parse_number(string, force_hex): + if string.lower().startswith("0x") or force_hex: + return int(string, 16) + return int(string, 0) + +def index_to_offset(index): + return index * 2 + DATA_OFFSET + +def read_file(filename): + parsed_contents = "" + + src_file = open(filename) + file_contents = src_file.read() + src_file.close() + + pattern = re.compile("gGameInfo->data\[((0[xX])?[0-9a-fA-F]+)\]") + + match = pattern.search(file_contents) + while match: + index = parse_number(match.group(1), False) + offset = index_to_offset(index) + + start, end = match.span() + parsed_contents += file_contents[:start] + parsed_contents += get_reg_macro(offset) + + file_contents = file_contents[end:] + match = pattern.search(file_contents) + + parsed_contents += file_contents + return parsed_contents + +def write_file(filename, contents): + with open(filename, "w") as f: + f.write(contents) + +def check_valid_index(index): + return 0x0 <= index <= 0xADF + +def check_valid_offset(offset): + return 0x14 <= offset <= 0x15D2 def main(): - parser = argparse.ArgumentParser(description="Converts a GameInfo offset to a REG macro.") - parser.add_argument("offset", help="offset to GameInfo in hexadecimal") + parser = argparse.ArgumentParser(description="Converts a gGameInfo->data index to a REG macro.") + + # TODO: Add a description and a better title + # index_group = parser.add_argument_group(title="index", description="") + index_group = parser.add_argument_group() + index_group.add_argument("index", help="index of gGameInfo->data in decimal (or hexadecimal if starts with 0x)") + index_group.add_argument("--offset", help="treat index argument as an offset to gGameInfo instead", action="store_true") + index_group.add_argument("--hex", help="treat index argument as hexadecimal, even without the 0x", action="store_true") + + # TODO: Add a description and a better title + # file_group = parser.add_argument_group(title="file", description="") + file_group = parser.add_argument_group() + file_group.add_argument("--file", help="use the parameter as a filepath, then replace every occurrence of `gGameInfo->data[number]` in that file a REG macro", action="store_true") + file_group.add_argument("--stdout", help="print the processed file to stdout instead of overwriting the original", action="store_true") args = parser.parse_args() - print(get_reg_macro(int(args.offset, 16))) + + if args.file: + filename = args.index + contents = read_file(filename) + if args.stdout: + print(contents) + else: + write_file(filename, contents) + else: + index = parse_number(args.index, args.hex) + if args.offset: + offset = index + if not check_valid_offset(offset): + print("Invalid offset: " + args.index) + if args.hex: + print("Offset should be in the range from 0x14 to 0x15D2") + else: + print("Offset should be in the range from 20 to 5586") + exit(-1) + else: + if not check_valid_index(index): + print("Invalid index: " + args.index) + if args.hex: + print("Index should be in the range from 0x0 to 0xADF") + else: + print("Index should be in the range from 0 to 2783") + exit(-1) + offset = index_to_offset(index) + + print(get_reg_macro(offset)+"\n") if __name__ == "__main__": main() diff --git a/tools/rename_global_asm.py b/tools/rename_global_asm.py new file mode 100644 index 0000000000..84ab9487f3 --- /dev/null +++ b/tools/rename_global_asm.py @@ -0,0 +1,32 @@ +#!/usr/bin/env python3 +# +# Rename non_matching files whose name does not match the glabel function name +# + +import os + +to_rename = {} + +for root, dirs, files in os.walk("asm/non_matchings/"): + for f in [f for f in files if f.endswith(".s")]: + full_path = os.path.join(root,f) + contents = "" + with open(full_path,"r") as infile: + contents = infile.read() + text_lines = [] + if ".text\n" in contents: + text_lines = contents.split(".text\n")[1].split("\n") + else: + text_lines = contents.split("\n") + for line in text_lines: + if line.startswith("glabel "): + if f.replace(".s","") != line.replace("glabel ",""): + to_rename.update({full_path : full_path.replace(f.replace(".s",""),line.replace("glabel ",""))}) + break + +if any([list(to_rename.values()).count(x) > 1 for x in to_rename]): + print("Rename collision, aborting!") +else: + for old_path,new_path in to_rename.items(): + print(f"{old_path} --> {new_path}") + os.rename(old_path, new_path) diff --git a/tools/set_o32abi_bit.py b/tools/set_o32abi_bit.py index bf81641608..dbb4581847 100755 --- a/tools/set_o32abi_bit.py +++ b/tools/set_o32abi_bit.py @@ -1,4 +1,5 @@ #!/usr/bin/env python3 + import argparse, struct, sys if __name__ == '__main__': diff --git a/tools/sizes/boot_functions.csv b/tools/sizes/boot_functions.csv new file mode 100644 index 0000000000..e10a53d8a5 --- /dev/null +++ b/tools/sizes/boot_functions.csv @@ -0,0 +1,483 @@ +asm/non_matchings/boot/boot_main/bootproc.s,bootproc,0x80080060,0x3C +asm/non_matchings/boot/idle/Idle_ClearMemory.s,Idle_ClearMemory,0x80080150,0xC +asm/non_matchings/boot/idle/Idle_InitFramebuffer.s,Idle_InitFramebuffer,0x80080180,0x7 +asm/non_matchings/boot/idle/Idle_InitScreen.s,Idle_InitScreen,0x8008019C,0x14 +asm/non_matchings/boot/idle/Idle_InitMemory.s,Idle_InitMemory,0x800801EC,0x19 +asm/non_matchings/boot/idle/Idle_InitCodeAndMemory.s,Idle_InitCodeAndMemory,0x80080250,0x2C +asm/non_matchings/boot/idle/Main_ThreadEntry.s,Main_ThreadEntry,0x80080300,0x23 +asm/non_matchings/boot/idle/Idle_InitVideo.s,Idle_InitVideo,0x8008038C,0x62 +asm/non_matchings/boot/idle/Idle_ThreadEntry.s,Idle_ThreadEntry,0x80080514,0x33 +asm/non_matchings/boot/viconfig/ViConfig_UpdateVi.s,ViConfig_UpdateVi,0x800805E0,0x5A +asm/non_matchings/boot/viconfig/ViConfig_UpdateBlack.s,ViConfig_UpdateBlack,0x80080748,0x12 +asm/non_matchings/boot/z_std_dma/DmaMgr_DMARomToRam.s,DmaMgr_DMARomToRam,0x80080790,0x51 +asm/non_matchings/boot/z_std_dma/DmaMgr_DmaCallback0.s,DmaMgr_DmaCallback0,0x800808D4,0x8 +asm/non_matchings/boot/z_std_dma/DmaMgr_FindDmaEntry.s,DmaMgr_FindDmaEntry,0x800808F4,0x17 +asm/non_matchings/boot/z_std_dma/DmaMgr_TranslateVromToRom.s,DmaMgr_TranslateVromToRom,0x80080950,0x1B +asm/non_matchings/boot/z_std_dma/DmaMgr_FindDmaIndex.s,DmaMgr_FindDmaIndex,0x800809BC,0xE +asm/non_matchings/boot/z_std_dma/func_800809F4.s,func_800809F4,0x800809F4,0x5 +asm/non_matchings/boot/z_std_dma/DmaMgr_ProcessMsg.s,DmaMgr_ProcessMsg,0x80080A08,0x5F +asm/non_matchings/boot/z_std_dma/DmaMgr_ThreadEntry.s,DmaMgr_ThreadEntry,0x80080B84,0x20 +asm/non_matchings/boot/z_std_dma/DmaMgr_SendRequestImpl.s,DmaMgr_SendRequestImpl,0x80080C04,0x23 +asm/non_matchings/boot/z_std_dma/DmaMgr_SendRequest0.s,DmaMgr_SendRequest0,0x80080C90,0x1F +asm/non_matchings/boot/z_std_dma/DmaMgr_Start.s,DmaMgr_Start,0x80080D0C,0x3D +asm/non_matchings/boot/z_std_dma/DmaMgr_Stop.s,DmaMgr_Stop,0x80080E00,0xC +asm/non_matchings/boot/yaz0/Yaz0_FirstDMA.s,Yaz0_FirstDMA,0x80080E30,0x28 +asm/non_matchings/boot/yaz0/Yaz0_NextDMA.s,Yaz0_NextDMA,0x80080ED0,0x48 +asm/non_matchings/boot/yaz0/Yaz0_DecompressImpl.s,Yaz0_DecompressImpl,0x80080FF0,0x62 +asm/non_matchings/boot/yaz0/Yaz0_Decompress.s,Yaz0_Decompress,0x80081178,0x36 +asm/non_matchings/boot/irqmgr/IrqMgr_AddClient.s,IrqMgr_AddClient,0x80081250,0x23 +asm/non_matchings/boot/irqmgr/IrqMgr_RemoveClient.s,IrqMgr_RemoveClient,0x800812DC,0x23 +asm/non_matchings/boot/irqmgr/IrqMgr_SendMesgForClient.s,IrqMgr_SendMesgForClient,0x80081368,0x14 +asm/non_matchings/boot/irqmgr/IrqMgr_JamMesgForClient.s,IrqMgr_JamMesgForClient,0x800813B8,0x19 +asm/non_matchings/boot/irqmgr/IrqMgr_HandlePreNMI.s,IrqMgr_HandlePreNMI,0x8008141C,0x26 +asm/non_matchings/boot/irqmgr/IrqMgr_CheckStack.s,IrqMgr_CheckStack,0x800814B4,0x8 +asm/non_matchings/boot/irqmgr/IrqMgr_HandlePRENMI450.s,IrqMgr_HandlePRENMI450,0x800814D4,0x1F +asm/non_matchings/boot/irqmgr/IrqMgr_HandlePRENMI480.s,IrqMgr_HandlePRENMI480,0x80081550,0x16 +asm/non_matchings/boot/irqmgr/IrqMgr_HandlePRENMI500.s,IrqMgr_HandlePRENMI500,0x800815A8,0x9 +asm/non_matchings/boot/irqmgr/IrqMgr_HandleRetrace.s,IrqMgr_HandleRetrace,0x800815CC,0x2E +asm/non_matchings/boot/irqmgr/IrqMgr_ThreadEntry.s,IrqMgr_ThreadEntry,0x80081684,0x34 +asm/non_matchings/boot/irqmgr/IrqMgr_Init.s,IrqMgr_Init,0x80081754,0x33 +asm/non_matchings/boot/CIC6105/CIC6105_Nop80081820.s,CIC6105_Nop80081820,0x80081820,0x2 +asm/non_matchings/boot/CIC6105/CIC6105_Nop80081828.s,CIC6105_Nop80081828,0x80081828,0x2 +asm/non_matchings/boot/CIC6105/CIC6105_PrintRomInfo.s,CIC6105_PrintRomInfo,0x80081830,0x1B +asm/non_matchings/boot/CIC6105/CIC6105_AddRomInfoFaultPage.s,CIC6105_AddRomInfoFaultPage,0x8008189C,0xD +asm/non_matchings/boot/CIC6105/CIC6105_RemoveRomInfoFaultPage.s,CIC6105_RemoveRomInfoFaultPage,0x800818D0,0x9 +asm/non_matchings/boot/CIC6105/func_800818F4.s,func_800818F4,0x800818F4,0xB +asm/non_matchings/boot/syncprintf/__osSyncVPrintf.s,__osSyncVPrintf,0x80081920,0x7 +asm/non_matchings/boot/syncprintf/osSyncPrintf.s,osSyncPrintf,0x8008193C,0x7 +asm/non_matchings/boot/syncprintf/rmonPrintf.s,rmonPrintf,0x80081958,0xA +asm/non_matchings/boot/fault/Fault_SleepImpl.s,Fault_SleepImpl,0x80081980,0x1C +asm/non_matchings/boot/fault/Fault_AddClient.s,Fault_AddClient,0x800819F0,0x39 +asm/non_matchings/boot/fault/Fault_RemoveClient.s,Fault_RemoveClient,0x80081AD4,0x3E +asm/non_matchings/boot/fault/Fault_AddAddrConvClient.s,Fault_AddAddrConvClient,0x80081BCC,0x36 +asm/non_matchings/boot/fault/Fault_RemoveAddrConvClient.s,Fault_RemoveAddrConvClient,0x80081CA4,0x3E +asm/non_matchings/boot/fault/Fault_ConvertAddress.s,Fault_ConvertAddress,0x80081D9C,0x24 +asm/non_matchings/boot/fault/Fault_Sleep.s,Fault_Sleep,0x80081E2C,0xF +asm/non_matchings/boot/fault/Fault_PadCallback.s,Fault_PadCallback,0x80081E68,0xF +asm/non_matchings/boot/fault/Fault_UpdatePadImpl.s,Fault_UpdatePadImpl,0x80081EA4,0x13 +asm/non_matchings/boot/fault/Fault_WaitForInputImpl.s,Fault_WaitForInputImpl,0x80081EF0,0x53 +asm/non_matchings/boot/fault/Fault_WaitForInput.s,Fault_WaitForInput,0x8008203C,0xF +asm/non_matchings/boot/fault/Fault_DrawRec.s,Fault_DrawRec,0x80082078,0x18 +asm/non_matchings/boot/fault/Fault_FillScreenBlack.s,Fault_FillScreenBlack,0x800820D8,0x15 +asm/non_matchings/boot/fault/Fault_FillScreenRed.s,Fault_FillScreenRed,0x8008212C,0x15 +asm/non_matchings/boot/fault/Fault_DrawCornerRec.s,Fault_DrawCornerRec,0x80082180,0x15 +asm/non_matchings/boot/fault/Fault_PrintFReg.s,Fault_PrintFReg,0x800821D4,0x2B +asm/non_matchings/boot/fault/osSyncPrintfFReg.s,osSyncPrintfFReg,0x80082280,0x2C +asm/non_matchings/boot/fault/Fault_PrintFPCR.s,Fault_PrintFPCR,0x80082330,0x29 +asm/non_matchings/boot/fault/osSyncPrintfFPCR.s,osSyncPrintfFPCR,0x800823D4,0x26 +asm/non_matchings/boot/fault/Fault_PrintThreadContext.s,Fault_PrintThreadContext,0x8008246C,0xD4 +asm/non_matchings/boot/fault/osSyncPrintfThreadContext.s,osSyncPrintfThreadContext,0x800827BC,0xBF +asm/non_matchings/boot/fault/Fault_FindFaultedThread.s,Fault_FindFaultedThread,0x80082AB8,0x22 +asm/non_matchings/boot/fault/Fault_Wait5Seconds.s,Fault_Wait5Seconds,0x80082B40,0x24 +asm/non_matchings/boot/fault/Fault_WaitForButtonCombo.s,Fault_WaitForButtonCombo,0x80082BD0,0x27 +asm/non_matchings/boot/fault/Fault_DrawMemDumpPage.s,Fault_DrawMemDumpPage,0x80082C6C,0x5B +asm/non_matchings/boot/fault/Fault_DrawMemDump.s,Fault_DrawMemDump,0x80082DD8,0x7E +asm/non_matchings/boot/fault/Fault_FindNextStackCall.s,Fault_FindNextStackCall,0x80082FD0,0x5D +asm/non_matchings/boot/fault/Fault_DrawStackTrace.s,Fault_DrawStackTrace,0x80083144,0x64 +asm/non_matchings/boot/fault/osSyncPrintfStackTrace.s,osSyncPrintfStackTrace,0x800832D4,0x5F +asm/non_matchings/boot/fault/Fault_ResumeThread.s,Fault_ResumeThread,0x80083450,0x1F +asm/non_matchings/boot/fault/Fault_CommitFB.s,Fault_CommitFB,0x800834CC,0x30 +asm/non_matchings/boot/fault/Fault_ProcessClients.s,Fault_ProcessClients,0x8008358C,0x39 +asm/non_matchings/boot/fault/Fault_SetOptionsFromController3.s,Fault_SetOptionsFromController3,0x80083670,0x5D +asm/non_matchings/boot/fault/Fault_SetOptions.s,Fault_SetOptions,0x800837E4,0x11 +asm/non_matchings/boot/fault/Fault_ThreadEntry.s,Fault_ThreadEntry,0x80083828,0xD2 +asm/non_matchings/boot/fault/Fault_SetFB.s,Fault_SetFB,0x80083B70,0x15 +asm/non_matchings/boot/fault/Fault_Start.s,Fault_Start,0x80083BC4,0x4D +asm/non_matchings/boot/fault/Fault_HangupFaultClient.s,Fault_HangupFaultClient,0x80083CF8,0x3F +asm/non_matchings/boot/fault/Fault_AddHungupAndCrashImpl.s,Fault_AddHungupAndCrashImpl,0x80083DF4,0x16 +asm/non_matchings/boot/fault/Fault_AddHungupAndCrash.s,Fault_AddHungupAndCrash,0x80083E4C,0x19 +asm/non_matchings/boot/fault_drawer/FaultDrawer_SetOsSyncPrintfEnabled.s,FaultDrawer_SetOsSyncPrintfEnabled,0x80083EB0,0x5 +asm/non_matchings/boot/fault_drawer/FaultDrawer_DrawRecImpl.s,FaultDrawer_DrawRecImpl,0x80083EC4,0x48 +asm/non_matchings/boot/fault_drawer/FaultDrawer_DrawChar.s,FaultDrawer_DrawChar,0x80083FE4,0x5F +asm/non_matchings/boot/fault_drawer/FaultDrawer_ColorToPrintColor.s,FaultDrawer_ColorToPrintColor,0x80084160,0x2C +asm/non_matchings/boot/fault_drawer/FaultDrawer_UpdatePrintColor.s,FaultDrawer_UpdatePrintColor,0x80084210,0x2B +asm/non_matchings/boot/fault_drawer/FaultDrawer_SetForeColor.s,FaultDrawer_SetForeColor,0x800842BC,0x13 +asm/non_matchings/boot/fault_drawer/FaultDrawer_SetBackColor.s,FaultDrawer_SetBackColor,0x80084308,0x13 +asm/non_matchings/boot/fault_drawer/FaultDrawer_SetFontColor.s,FaultDrawer_SetFontColor,0x80084354,0x12 +asm/non_matchings/boot/fault_drawer/FaultDrawer_SetCharPad.s,FaultDrawer_SetCharPad,0x8008439C,0xE +asm/non_matchings/boot/fault_drawer/FaultDrawer_SetCursor.s,FaultDrawer_SetCursor,0x800843D4,0x41 +asm/non_matchings/boot/fault_drawer/FaultDrawer_FillScreen.s,FaultDrawer_FillScreen,0x800844D8,0x24 +asm/non_matchings/boot/fault_drawer/FaultDrawer_FormatStringFunc.s,FaultDrawer_FormatStringFunc,0x80084568,0x85 +asm/non_matchings/boot/fault_drawer/FaultDrawer_VPrintf.s,FaultDrawer_VPrintf,0x8008477C,0x14 +asm/non_matchings/boot/fault_drawer/FaultDrawer_Printf.s,FaultDrawer_Printf,0x800847CC,0x14 +asm/non_matchings/boot/fault_drawer/FaultDrawer_DrawText.s,FaultDrawer_DrawText,0x8008481C,0x14 +asm/non_matchings/boot/fault_drawer/FaultDrawer_SetDrawerFB.s,FaultDrawer_SetDrawerFB,0x8008486C,0xE +asm/non_matchings/boot/fault_drawer/FaultDrawer_SetInputCallback.s,FaultDrawer_SetInputCallback,0x800848A4,0x5 +asm/non_matchings/boot/fault_drawer/FaultDrawer_Init.s,FaultDrawer_Init,0x800848B8,0x22 +asm/non_matchings/boot/boot_80084940/func_80084940.s,func_80084940,0x80084940,0xA +asm/non_matchings/boot/boot_80084940/func_80084968.s,func_80084968,0x80084968,0xE +asm/non_matchings/boot/loadfragment/Load_Relocate.s,Load_Relocate,0x800849A0,0x9B +asm/non_matchings/boot/loadfragment/Load_LoadOverlay.s,Load_LoadOverlay,0x80084C0C,0x31 +asm/non_matchings/boot/loadfragment/Load_AllocateAndLoad.s,Load_AllocateAndLoad,0x80084CD0,0x38 +asm/non_matchings/boot/loadfragment2/Load2_Relocate.s,Load2_Relocate,0x80084DB0,0x9B +asm/non_matchings/boot/loadfragment2/Load2_LoadOverlay.s,Load2_LoadOverlay,0x8008501C,0x2B +asm/non_matchings/boot/loadfragment2/Load2_AllocateAndLoad.s,Load2_AllocateAndLoad,0x800850C8,0x1A +asm/non_matchings/boot/padutils/PadUtils_Init.s,PadUtils_Init,0x80085130,0x8 +asm/non_matchings/boot/padutils/func_80085150.s,func_80085150,0x80085150,0x2 +asm/non_matchings/boot/padutils/PadUtils_ResetPressRel.s,PadUtils_ResetPressRel,0x80085158,0x3 +asm/non_matchings/boot/padutils/PadUtils_CheckCurExact.s,PadUtils_CheckCurExact,0x80085164,0x6 +asm/non_matchings/boot/padutils/PadUtils_CheckCur.s,PadUtils_CheckCur,0x8008517C,0x7 +asm/non_matchings/boot/padutils/PadUtils_CheckPressed.s,PadUtils_CheckPressed,0x80085198,0x7 +asm/non_matchings/boot/padutils/PadUtils_CheckReleased.s,PadUtils_CheckReleased,0x800851B4,0x7 +asm/non_matchings/boot/padutils/PadUtils_GetCurButton.s,PadUtils_GetCurButton,0x800851D0,0x2 +asm/non_matchings/boot/padutils/PadUtils_GetPressButton.s,PadUtils_GetPressButton,0x800851D8,0x2 +asm/non_matchings/boot/padutils/PadUtils_GetCurX.s,PadUtils_GetCurX,0x800851E0,0x2 +asm/non_matchings/boot/padutils/PadUtils_GetCurY.s,PadUtils_GetCurY,0x800851E8,0x2 +asm/non_matchings/boot/padutils/PadUtils_SetRelXY.s,PadUtils_SetRelXY,0x800851F0,0x3 +asm/non_matchings/boot/padutils/PadUtils_GetRelXImpl.s,PadUtils_GetRelXImpl,0x800851FC,0x2 +asm/non_matchings/boot/padutils/PadUtils_GetRelYImpl.s,PadUtils_GetRelYImpl,0x80085204,0x2 +asm/non_matchings/boot/padutils/PadUtils_GetRelX.s,PadUtils_GetRelX,0x8008520C,0x8 +asm/non_matchings/boot/padutils/PadUtils_GetRelY.s,PadUtils_GetRelY,0x8008522C,0x8 +asm/non_matchings/boot/padutils/PadUtils_UpdateRelXY.s,PadUtils_UpdateRelXY,0x8008524C,0x35 +asm/non_matchings/boot/stackcheck/StackCheck_Init.s,StackCheck_Init,0x80085320,0x36 +asm/non_matchings/boot/stackcheck/StackCheck_Cleanup.s,StackCheck_Cleanup,0x800853F8,0x1C +asm/non_matchings/boot/stackcheck/StackCheck_GetState.s,StackCheck_GetState,0x80085468,0x1E +asm/non_matchings/boot/stackcheck/StackCheck_CheckAll.s,StackCheck_CheckAll,0x800854E0,0x16 +asm/non_matchings/boot/stackcheck/StackCheck_Check.s,StackCheck_Check,0x80085538,0xE +asm/non_matchings/boot/gfxprint/GfxPrint_InitDlist.s,GfxPrint_InitDlist,0x80085570,0x113 +asm/non_matchings/boot/gfxprint/GfxPrint_SetColor.s,GfxPrint_SetColor,0x800859BC,0x13 +asm/non_matchings/boot/gfxprint/GfxPrint_SetPosPx.s,GfxPrint_SetPosPx,0x80085A08,0x9 +asm/non_matchings/boot/gfxprint/GfxPrint_SetPos.s,GfxPrint_SetPos,0x80085A2C,0xA +asm/non_matchings/boot/gfxprint/GfxPrint_SetBasePosPx.s,GfxPrint_SetBasePosPx,0x80085A54,0x5 +asm/non_matchings/boot/gfxprint/GfxPrint_PrintCharImpl.s,GfxPrint_PrintCharImpl,0x80085A68,0xC3 +asm/non_matchings/boot/gfxprint/GfxPrint_PrintChar.s,GfxPrint_PrintChar,0x80085D74,0x6F +asm/non_matchings/boot/gfxprint/GfxPrint_PrintStringWithSize.s,GfxPrint_PrintStringWithSize,0x80085F30,0x17 +asm/non_matchings/boot/gfxprint/GfxPrint_PrintString.s,GfxPrint_PrintString,0x80085F8C,0x16 +asm/non_matchings/boot/gfxprint/GfxPrint_Callback.s,GfxPrint_Callback,0x80085FE4,0xB +asm/non_matchings/boot/gfxprint/GfxPrint_Init.s,GfxPrint_Init,0x80086010,0x15 +asm/non_matchings/boot/gfxprint/GfxPrint_Destroy.s,GfxPrint_Destroy,0x80086064,0x2 +asm/non_matchings/boot/gfxprint/GfxPrint_Open.s,GfxPrint_Open,0x8008606C,0xD +asm/non_matchings/boot/gfxprint/GfxPrint_Close.s,GfxPrint_Close,0x800860A0,0x6 +asm/non_matchings/boot/gfxprint/GfxPrint_VPrintf.s,GfxPrint_VPrintf,0x800860B8,0x8 +asm/non_matchings/boot/gfxprint/GfxPrint_Printf.s,GfxPrint_Printf,0x800860D8,0xE +asm/non_matchings/boot/mtxuty-cvt/MtxConv_F2L.s,MtxConv_F2L,0x80086110,0x52 +asm/non_matchings/boot/mtxuty-cvt/MtxConv_L2F.s,MtxConv_L2F,0x80086258,0xA +asm/non_matchings/boot/assert/__assert.s,__assert,0x80086280,0xD +asm/non_matchings/boot/assert/func_800862B4.s,func_800862B4,0x800862B4,0xB +asm/non_matchings/boot/boot_800862E0/StartHeap_AllocMin1.s,StartHeap_AllocMin1,0x800862E0,0xC +asm/non_matchings/boot/boot_800862E0/StartHeap_FreeNull.s,StartHeap_FreeNull,0x80086310,0xB +asm/non_matchings/boot/boot_800862E0/func_8008633C.s,func_8008633C,0x8008633C,0x1C +asm/non_matchings/boot/boot_800862E0/func_800863AC.s,func_800863AC,0x800863AC,0x1C +asm/non_matchings/boot/boot_800862E0/func_8008641C.s,func_8008641C,0x8008641C,0x34 +asm/non_matchings/boot/boot_800862E0/func_800864EC.s,func_800864EC,0x800864EC,0x27 +asm/non_matchings/boot/boot_800862E0/func_80086588.s,func_80086588,0x80086588,0x1C +asm/non_matchings/boot/boot_800862E0/StartHeap_Init.s,StartHeap_Init,0x800865F8,0xA +asm/non_matchings/boot/padsetup/func_80086620.s,func_80086620,0x80086620,0x50 +asm/non_matchings/boot/boot_80086760/func_80086760.s,func_80086760,0x80086760,0xD +asm/non_matchings/boot/boot_80086760/func_80086794.s,func_80086794,0x80086794,0x8 +asm/non_matchings/boot/boot_80086760/func_800867B4.s,func_800867B4,0x800867B4,0x8 +asm/non_matchings/boot/boot_80086760/func_800867D4.s,func_800867D4,0x800867D4,0x8 +asm/non_matchings/boot/boot_80086760/func_800867F4.s,func_800867F4,0x800867F4,0x8 +asm/non_matchings/boot/boot_80086760/func_80086814.s,func_80086814,0x80086814,0x8 +asm/non_matchings/boot/boot_80086760/func_80086834.s,func_80086834,0x80086834,0x13 +asm/non_matchings/boot/boot_80086760/func_80086880.s,func_80086880,0x80086880,0x49 +asm/non_matchings/boot/boot_80086760/func_800869A4.s,func_800869A4,0x800869A4,0x53 +asm/non_matchings/boot/boot_80086760/func_80086AF0.s,func_80086AF0,0x80086AF0,0x10 +asm/non_matchings/boot/boot_80086760/func_80086B30.s,func_80086B30,0x80086B30,0x3A +asm/non_matchings/boot/boot_80086760/func_80086C18.s,func_80086C18,0x80086C18,0xC +asm/non_matchings/boot/boot_80086760/func_80086C48.s,func_80086C48,0x80086C48,0xA +asm/non_matchings/boot/fp/func_80086C70.s,func_80086C70,0x80086C70,0x3 +asm/non_matchings/boot/fp/func_80086C7C.s,func_80086C7C,0x80086C7C,0x3 +asm/non_matchings/boot/fp/func_80086C88.s,func_80086C88,0x80086C88,0x4 +asm/non_matchings/boot/fp/func_80086C98.s,func_80086C98,0x80086C98,0x4 +asm/non_matchings/boot/fp/func_80086CA8.s,func_80086CA8,0x80086CA8,0x3 +asm/non_matchings/boot/fp/func_80086CB4.s,func_80086CB4,0x80086CB4,0x3 +asm/non_matchings/boot/fp/func_80086CC0.s,func_80086CC0,0x80086CC0,0x4 +asm/non_matchings/boot/fp/func_80086CD0.s,func_80086CD0,0x80086CD0,0x4 +asm/non_matchings/boot/fp/func_80086CE0.s,func_80086CE0,0x80086CE0,0x3 +asm/non_matchings/boot/fp/func_80086CEC.s,func_80086CEC,0x80086CEC,0x3 +asm/non_matchings/boot/fp/func_80086CF8.s,func_80086CF8,0x80086CF8,0x4 +asm/non_matchings/boot/fp/func_80086D08.s,func_80086D08,0x80086D08,0x4 +asm/non_matchings/boot/fp/func_80086D18.s,func_80086D18,0x80086D18,0x3 +asm/non_matchings/boot/fp/func_80086D24.s,func_80086D24,0x80086D24,0x3 +asm/non_matchings/boot/fp/func_80086D30.s,func_80086D30,0x80086D30,0x4 +asm/non_matchings/boot/fp/func_80086D40.s,func_80086D40,0x80086D40,0x4 +asm/non_matchings/boot/fp/func_80086D50.s,func_80086D50,0x80086D50,0x7 +asm/non_matchings/boot/fp/func_80086D6C.s,func_80086D6C,0x80086D6C,0x8 +asm/non_matchings/boot/fp/func_80086D8C.s,func_80086D8C,0x80086D8C,0x8 +asm/non_matchings/boot/fp/func_80086DAC.s,func_80086DAC,0x80086DAC,0x9 +asm/non_matchings/boot/system_malloc/StartHeap_Alloc.s,StartHeap_Alloc,0x80086DD0,0xA +asm/non_matchings/boot/system_malloc/StartHeap_AllocR.s,StartHeap_AllocR,0x80086DF8,0xA +asm/non_matchings/boot/system_malloc/StartHeap_Realloc.s,StartHeap_Realloc,0x80086E20,0xC +asm/non_matchings/boot/system_malloc/StartHeap_Free.s,StartHeap_Free,0x80086E50,0xA +asm/non_matchings/boot/system_malloc/StartHeap_Calloc.s,StartHeap_Calloc,0x80086E78,0x15 +asm/non_matchings/boot/system_malloc/StartHeap_AnalyzeArena.s,StartHeap_AnalyzeArena,0x80086ECC,0xE +asm/non_matchings/boot/system_malloc/StartHeap_CheckArena.s,StartHeap_CheckArena,0x80086F04,0x9 +asm/non_matchings/boot/system_malloc/StartHeap_InitArena.s,StartHeap_InitArena,0x80086F28,0xC +asm/non_matchings/boot/system_malloc/StartHeap_Cleanup.s,StartHeap_Cleanup,0x80086F58,0x9 +asm/non_matchings/boot/system_malloc/StartHeap_IsInitialized.s,StartHeap_IsInitialized,0x80086F7C,0x9 +asm/non_matchings/boot/rand/Rand_Next.s,Rand_Next,0x80086FA0,0xC +asm/non_matchings/boot/rand/Rand_Seed.s,Rand_Seed,0x80086FD0,0x3 +asm/non_matchings/boot/rand/Rand_ZeroOne.s,Rand_ZeroOne,0x80086FDC,0x15 +asm/non_matchings/boot/rand/Rand_Centered.s,Rand_Centered,0x80087030,0x16 +asm/non_matchings/boot/rand/Rand_Seed_Variable.s,Rand_Seed_Variable,0x80087088,0x2 +asm/non_matchings/boot/rand/Rand_Next_Variable.s,Rand_Next_Variable,0x80087090,0xA +asm/non_matchings/boot/rand/Rand_ZeroOne_Variable.s,Rand_ZeroOne_Variable,0x800870B8,0x13 +asm/non_matchings/boot/rand/Rand_Centered_Variable.s,Rand_Centered_Variable,0x80087104,0x17 +asm/non_matchings/boot/__osMalloc/ArenaImpl_LockInit.s,ArenaImpl_LockInit,0x80087160,0xB +asm/non_matchings/boot/__osMalloc/ArenaImpl_Lock.s,ArenaImpl_Lock,0x8008718C,0xA +asm/non_matchings/boot/__osMalloc/ArenaImpl_Unlock.s,ArenaImpl_Unlock,0x800871B4,0xA +asm/non_matchings/boot/__osMalloc/ArenaImpl_GetLastBlock.s,ArenaImpl_GetLastBlock,0x800871DC,0xC +asm/non_matchings/boot/__osMalloc/__osMallocInit.s,__osMallocInit,0x8008720C,0x14 +asm/non_matchings/boot/__osMalloc/__osMallocAddBlock.s,__osMallocAddBlock,0x8008725C,0x28 +asm/non_matchings/boot/__osMalloc/__osMallocCleanup.s,__osMallocCleanup,0x800872FC,0x8 +asm/non_matchings/boot/__osMalloc/__osMallocIsInitalized.s,__osMallocIsInitalized,0x8008731C,0x2 +asm/non_matchings/boot/__osMalloc/__osMalloc.s,__osMalloc,0x80087324,0x39 +asm/non_matchings/boot/__osMalloc/__osMallocR.s,__osMallocR,0x80087408,0x39 +asm/non_matchings/boot/__osMalloc/__osFree.s,__osFree,0x800874EC,0x3E +asm/non_matchings/boot/__osMalloc/__osRealloc.s,__osRealloc,0x800875E4,0x4C +asm/non_matchings/boot/__osMalloc/__osAnalyzeArena.s,__osAnalyzeArena,0x80087714,0x2C +asm/non_matchings/boot/__osMalloc/__osCheckArena.s,__osCheckArena,0x800877C4,0x1B +asm/non_matchings/boot/sprintf/proutSprintf.s,proutSprintf,0x80087830,0x9 +asm/non_matchings/boot/sprintf/vsprintf.s,vsprintf,0x80087854,0x14 +asm/non_matchings/boot/sprintf/sprintf.s,sprintf,0x800878A4,0x17 +asm/non_matchings/boot/printutils/PrintUtils_VPrintf.s,PrintUtils_VPrintf,0x80087900,0xD +asm/non_matchings/boot/printutils/PrintUtils_Printf.s,PrintUtils_Printf,0x80087934,0xB +asm/non_matchings/boot/printutils/Sleep_Cycles.s,Sleep_Cycles,0x80087960,0x1B +asm/non_matchings/boot/printutils/Sleep_Nsec.s,Sleep_Nsec,0x800879CC,0x14 +asm/non_matchings/boot/printutils/Sleep_Usec.s,Sleep_Usec,0x80087A1C,0x14 +asm/non_matchings/boot/printutils/Sleep_Msec.s,Sleep_Msec,0x80087A6C,0x15 +asm/non_matchings/boot/printutils/Sleep_Sec.s,Sleep_Sec,0x80087AC0,0x10 +asm/non_matchings/boot/setcause/__osSetCause.s,__osSetCause,0x80087B00,0x4 +asm/non_matchings/boot/sendmesg/osSendMesg.s,osSendMesg,0x80087B10,0x54 +asm/non_matchings/boot/pfsfreeblocks/osPfsFreeBlocks.s,osPfsFreeBlocks,0x80087C60,0x68 +asm/non_matchings/boot/viextend/osViExtendVStart.s,osViExtendVStart,0x80087E00,0x4 +asm/non_matchings/boot/stopthread/osStopThread.s,osStopThread,0x80087E10,0x30 +asm/non_matchings/boot/recvmesg/osRecvMesg.s,osRecvMesg,0x80087ED0,0x50 +asm/non_matchings/boot/setintmask/osSetIntMask.s,osSetIntMask,0x80088010,0x28 +asm/non_matchings/boot/getintmask/osGetIntMask.s,osGetIntMask,0x800880B0,0x18 +asm/non_matchings/boot/voicesetword/osVoiceSetWord.s,osVoiceSetWord,0x80088110,0x64 +asm/non_matchings/boot/guScale/guScale.s,guScale,0x800882A0,0x2C +asm/non_matchings/boot/sinf/__sinf.s,__sinf,0x80088350,0x70 +asm/non_matchings/boot/sins/sins.s,sins,0x80088510,0x1C +asm/non_matchings/boot/sptask/_VirtualToPhysicalTask.s,_VirtualToPhysicalTask,0x80088580,0x43 +asm/non_matchings/boot/sptask/osSpTaskLoad.s,osSpTaskLoad,0x8008868C,0x5A +asm/non_matchings/boot/sptask/osSpTaskStartGo.s,osSpTaskStartGo,0x800887F4,0x13 +asm/non_matchings/boot/ll/__ull_rshift.s,__ull_rshift,0x80088840,0xB +asm/non_matchings/boot/ll/__ull_rem.s,__ull_rem,0x8008886C,0xF +asm/non_matchings/boot/ll/__ull_div.s,__ull_div,0x800888A8,0xF +asm/non_matchings/boot/ll/__ll_lshift.s,__ll_lshift,0x800888E4,0xB +asm/non_matchings/boot/ll/__ll_rem.s,__ll_rem,0x80088910,0xF +asm/non_matchings/boot/ll/__ll_div.s,__ll_div,0x8008894C,0x17 +asm/non_matchings/boot/ll/__ll_mul.s,__ll_mul,0x800889A8,0xC +asm/non_matchings/boot/ll/__ull_divremi.s,__ull_divremi,0x800889D8,0x18 +asm/non_matchings/boot/ll/__ll_mod.s,__ll_mod,0x80088A38,0x27 +asm/non_matchings/boot/ll/__ll_rshift.s,__ll_rshift,0x80088AD4,0xB +asm/non_matchings/boot/exceptasm/__osExceptionPreamble.s,__osExceptionPreamble,0x80088B00,0x4 +asm/non_matchings/boot/exceptasm/__osException.s,__osException,0x80088B10,0x153 +asm/non_matchings/boot/exceptasm/send_mesg.s,send_mesg,0x8008905C,0x2D +asm/non_matchings/boot/exceptasm/handle_CpU.s,handle_CpU,0x80089110,0xD +asm/non_matchings/boot/exceptasm/__osEnqueueAndYield.s,__osEnqueueAndYield,0x80089144,0x40 +asm/non_matchings/boot/exceptasm/__osEnqueueThread.s,__osEnqueueThread,0x80089244,0x12 +asm/non_matchings/boot/exceptasm/__osPopThread.s,__osPopThread,0x8008928C,0x4 +asm/non_matchings/boot/exceptasm/__osNop.s,__osNop,0x8008929C,0x2 +asm/non_matchings/boot/exceptasm/__osDispatchThread.s,__osDispatchThread,0x800892A4,0x5F +asm/non_matchings/boot/exceptasm/__osCleanupThread.s,__osCleanupThread,0x80089420,0x4 +asm/non_matchings/boot/thread/__osDequeueThread.s,__osDequeueThread,0x80089430,0x10 +asm/non_matchings/boot/destroythread/osDestroyThread.s,osDestroyThread,0x80089470,0x44 +asm/non_matchings/boot/voicecheckresult/__osVoiceCheckResult.s,__osVoiceCheckResult,0x80089580,0x2C +asm/non_matchings/boot/bzero/bzero.s,bzero,0x80089630,0x28 +asm/non_matchings/boot/rumblepak/osSetRumble.s,osSetRumble,0x800896D0,0x5A +asm/non_matchings/boot/rumblepak/osSetUpMempakWrite.s,osSetUpMempakWrite,0x80089838,0x43 +asm/non_matchings/boot/rumblepak/osProbeRumblePak.s,osProbeRumblePak,0x80089944,0x57 +asm/non_matchings/boot/siacs/__osSiCreateAccessQueue.s,__osSiCreateAccessQueue,0x80089AA0,0x14 +asm/non_matchings/boot/siacs/__osSiGetAccess.s,__osSiGetAccess,0x80089AF0,0x11 +asm/non_matchings/boot/siacs/__osSiRelAccess.s,__osSiRelAccess,0x80089B34,0xB +asm/non_matchings/boot/controller/osContInit.s,osContInit,0x80089B60,0x57 +asm/non_matchings/boot/controller/__osContGetInitData.s,__osContGetInitData,0x80089CBC,0x2B +asm/non_matchings/boot/controller/__osPackRequestData.s,__osPackRequestData,0x80089D68,0x36 +asm/non_matchings/boot/createthread/osCreateThread.s,osCreateThread,0x80089E40,0x54 +asm/non_matchings/boot/contreaddata/osContStartReadData.s,osContStartReadData,0x80089F90,0x21 +asm/non_matchings/boot/contreaddata/osContGetReadData.s,osContGetReadData,0x8008A014,0x23 +asm/non_matchings/boot/contreaddata/__osPackReadData.s,__osPackReadData,0x8008A0A0,0x34 +asm/non_matchings/boot/voicegetreaddata/osVoiceGetReadData.s,osVoiceGetReadData,0x8008A170,0xF4 +asm/non_matchings/boot/virtualtophysical/osVirtualToPhysical.s,osVirtualToPhysical,0x8008A540,0x20 +asm/non_matchings/boot/getsr/__osGetSR.s,__osGetSR,0x8008A5C0,0x4 +asm/non_matchings/boot/setsr/__osSetSR.s,__osSetSR,0x8008A5D0,0x4 +asm/non_matchings/boot/writebackdcache/osWritebackDCache.s,osWritebackDCache,0x8008A5E0,0x20 +asm/non_matchings/boot/initialize/__createSpeedParam.s,__createSpeedParam,0x8008A660,0x27 +asm/non_matchings/boot/initialize/osInitialize.s,osInitialize,0x8008A6FC,0xAB +asm/non_matchings/boot/initialize/__osInitialize_autodetect.s,__osInitialize_autodetect,0x8008A9A8,0x2 +asm/non_matchings/boot/vigetnextframebuf/osViGetNextFramebuffer.s,osViGetNextFramebuffer,0x8008AA10,0x10 +asm/non_matchings/boot/perspective/guPerspectiveF.s,guPerspectiveF,0x8008AA50,0x8C +asm/non_matchings/boot/perspective/guPerspective.s,guPerspective,0x8008AC80,0x18 +asm/non_matchings/boot/sprawdma/__osSpRawStartDma.s,__osSpRawStartDma,0x8008ACE0,0x24 +asm/non_matchings/boot/sirawdma/__osSiRawStartDma.s,__osSiRawStartDma,0x8008AD70,0x2C +asm/non_matchings/boot/epilinkhandle/osEPiLinkHandle.s,osEPiLinkHandle,0x8008AE20,0x14 +asm/non_matchings/boot/viblack/osViBlack.s,osViBlack,0x8008AE70,0x1C +asm/non_matchings/boot/sirawread/__osSiRawReadIo.s,__osSiRawReadIo,0x8008AEE0,0x14 +asm/non_matchings/boot/getthreadid/osGetThreadId.s,osGetThreadId,0x8008AF30,0x8 +asm/non_matchings/boot/sptaskyield/osSpTaskYield.s,osSpTaskYield,0x8008AF50,0x8 +asm/non_matchings/boot/pfsreadwritefile/__osPfsGetNextPage.s,__osPfsGetNextPage,0x8008AF70,0x35 +asm/non_matchings/boot/pfsreadwritefile/osPfsReadWriteFile.s,osPfsReadWriteFile,0x8008B044,0xDF +asm/non_matchings/boot/pfsgetstatus/__osPfsGetStatus.s,__osPfsGetStatus,0x8008B3C0,0x34 +asm/non_matchings/boot/pfsgetstatus/__osPfsRequestOneChannel.s,__osPfsRequestOneChannel,0x8008B490,0x31 +asm/non_matchings/boot/pfsgetstatus/__osPfsGetOneChannelData.s,__osPfsGetOneChannelData,0x8008B554,0x27 +asm/non_matchings/boot/guMtxIdentF/guMtxIdentF.s,guMtxIdentF,0x8008B600,0x14 +asm/non_matchings/boot/visetmode/osViSetMode.s,osViSetMode,0x8008B650,0x18 +asm/non_matchings/boot/getconfig/__osGetConfig.s,__osGetConfig,0x8008B6B0,0x4 +asm/non_matchings/boot/setconfig/__osSetConfig.s,__osSetConfig,0x8008B6C0,0x4 +asm/non_matchings/boot/lookat/guLookAtF.s,guLookAtF,0x8008B6D0,0xA9 +asm/non_matchings/boot/lookat/guLookAt.s,guLookAt,0x8008B974,0x1F +asm/non_matchings/boot/pfsallocatefile/osPfsAllocateFile.s,osPfsAllocateFile,0x8008B9F0,0xCD +asm/non_matchings/boot/pfsallocatefile/__osPfsDeclearPage.s,__osPfsDeclearPage,0x8008BD24,0x53 +asm/non_matchings/boot/stoptimer/osStopTimer.s,osStopTimer,0x8008BE70,0x3C +asm/non_matchings/boot/probetlb/__osProbeTLB.s,__osProbeTLB,0x8008BF60,0x30 +asm/non_matchings/boot/pimgr/osCreatePiManager.s,osCreatePiManager,0x8008C020,0x5C +asm/non_matchings/boot/piacs/__osPiCreateAccessQueue.s,__osPiCreateAccessQueue,0x8008C190,0x14 +asm/non_matchings/boot/piacs/__osPiGetAccess.s,__osPiGetAccess,0x8008C1E0,0x11 +asm/non_matchings/boot/piacs/__osPiRelAccess.s,__osPiRelAccess,0x8008C224,0xB +asm/non_matchings/boot/devmgr/__osDevMgrMain.s,__osDevMgrMain,0x8008C260,0x104 +asm/non_matchings/boot/pirawdma/osPiRawStartDma.s,osPiRawStartDma,0x8008C670,0x34 +asm/non_matchings/boot/contpfs/__osSumcalc.s,__osSumcalc,0x8008C740,0x1D +asm/non_matchings/boot/contpfs/__osIdCheckSum.s,__osIdCheckSum,0x8008C7B4,0x3F +asm/non_matchings/boot/contpfs/__osRepairPackId.s,__osRepairPackId,0x8008C8B0,0xD4 +asm/non_matchings/boot/contpfs/__osCheckPackId.s,__osCheckPackId,0x8008CC00,0x59 +asm/non_matchings/boot/contpfs/__osGetId.s,__osGetId,0x8008CD64,0x6B +asm/non_matchings/boot/contpfs/__osCheckId.s,__osCheckId,0x8008CF10,0x35 +asm/non_matchings/boot/contpfs/__osPfsRWInode.s,__osPfsRWInode,0x8008CFE4,0xB7 +asm/non_matchings/boot/getcount/osGetCount.s,osGetCount,0x8008D2C0,0x4 +asm/non_matchings/boot/guMtxL2F/guMtxL2F.s,guMtxL2F,0x8008D2E0,0x1C +asm/non_matchings/boot/getmemsize/osGetMemSize.s,osGetMemSize,0x8008D350,0x48 +asm/non_matchings/boot/pfssearchfile/osPfsFindFile.s,osPfsFindFile,0x8008D470,0x74 +asm/non_matchings/boot/seteventmesg/osSetEventMesg.s,osSetEventMesg,0x8008D640,0x30 +asm/non_matchings/boot/sqrtf/sqrtf.s,sqrtf,0x8008D700,0x4 +asm/non_matchings/boot/afterprenmi/osAfterPreNMI.s,osAfterPreNMI,0x8008D710,0x8 +asm/non_matchings/boot/contquery/osContStartQuery.s,osContStartQuery,0x8008D730,0x1F +asm/non_matchings/boot/contquery/osContGetQuery.s,osContGetQuery,0x8008D7AC,0x9 +asm/non_matchings/boot/lookathil/guLookAtHiliteF.s,guLookAtHiliteF,0x8008D7D0,0x1F0 +asm/non_matchings/boot/lookathil/guLookAtHilite.s,guLookAtHilite,0x8008DF90,0x30 +asm/non_matchings/boot/xprintf/_Printf.s,_Printf,0x8008E050,0x192 +asm/non_matchings/boot/xprintf/_Putfld.s,_Putfld,0x8008E698,0x1A6 +asm/non_matchings/boot/voicecleardictionary/osVoiceClearDictionary.s,osVoiceClearDictionary,0x8008ED30,0x2C +asm/non_matchings/boot/unmaptlball/osUnmapTLBAll.s,osUnmapTLBAll,0x8008EDE0,0x14 +asm/non_matchings/boot/epidma/osEPiStartDma.s,osEPiStartDma,0x8008EE30,0x28 +asm/non_matchings/boot/voicecontread2/__osVoiceContRead2.s,__osVoiceContRead2,0x8008EED0,0x8C +asm/non_matchings/boot/voicecrc/__osVoiceContDataCrc.s,__osVoiceContDataCrc,0x8008F100,0x28 +asm/non_matchings/boot/string/strchr.s,strchr,0x8008F1A0,0x10 +asm/non_matchings/boot/string/strlen.s,strlen,0x8008F1E0,0xA +asm/non_matchings/boot/string/memcpy.s,memcpy,0x8008F208,0xE +asm/non_matchings/boot/createmesgqueue/osCreateMesgQueue.s,osCreateMesgQueue,0x8008F240,0xC +asm/non_matchings/boot/invalicache/osInvalICache.s,osInvalICache,0x8008F270,0x20 +asm/non_matchings/boot/invaldcache/osInvalDCache.s,osInvalDCache,0x8008F2F0,0x2C +asm/non_matchings/boot/timerintr/__osTimerServicesInit.s,__osTimerServicesInit,0x8008F3A0,0x23 +asm/non_matchings/boot/timerintr/__osTimerInterrupt.s,__osTimerInterrupt,0x8008F42C,0x5E +asm/non_matchings/boot/timerintr/__osSetTimerIntr.s,__osSetTimerIntr,0x8008F5A4,0x28 +asm/non_matchings/boot/timerintr/__osInsertTimer.s,__osInsertTimer,0x8008F644,0x63 +asm/non_matchings/boot/voicecontread36/__osVoiceContRead36.s,__osVoiceContRead36,0x8008F7D0,0x8C +asm/non_matchings/boot/sp/__osSpDeviceBusy.s,__osSpDeviceBusy,0x8008FA00,0xC +asm/non_matchings/boot/si/__osSiDeviceBusy.s,__osSiDeviceBusy,0x8008FA30,0xC +asm/non_matchings/boot/guMtxIdent/guMtxIdent.s,guMtxIdent,0x8008FA60,0x14 +asm/non_matchings/boot/jammesg/osJamMesg.s,osJamMesg,0x8008FAB0,0x54 +asm/non_matchings/boot/setthreadpri/osSetThreadPri.s,osSetThreadPri,0x8008FC00,0x38 +asm/non_matchings/boot/getthreadpri/osGetThreadPri.s,osGetThreadPri,0x8008FCE0,0x8 +asm/non_matchings/boot/epirawread/osEPiRawReadIo.s,osEPiRawReadIo,0x8008FD00,0x58 +asm/non_matchings/boot/viswapbuf/osViSwapBuffer.s,osViSwapBuffer,0x8008FE60,0x14 +asm/non_matchings/boot/position/guPositionF.s,guPositionF,0x8008FEB0,0x6A +asm/non_matchings/boot/position/guPosition.s,guPosition,0x80090058,0x1A +asm/non_matchings/boot/epirawdma/osEPiRawStartDma.s,osEPiRawStartDma,0x800900C0,0x78 +asm/non_matchings/boot/sptaskyielded/osSpTaskYielded.s,osSpTaskYielded,0x800902A0,0x18 +asm/non_matchings/boot/memcmp/memcmp.s,memcmp,0x80090300,0x48 +asm/non_matchings/boot/gettime/osGetTime.s,osGetTime,0x80090420,0x24 +asm/non_matchings/boot/rotate/guRotateF.s,guRotateF,0x800904B0,0x61 +asm/non_matchings/boot/rotate/guRotate.s,guRotate,0x80090634,0x13 +asm/non_matchings/boot/setglobalintmask/__osSetGlobalIntMask.s,__osSetGlobalIntMask,0x80090680,0x14 +asm/non_matchings/boot/voiceinit/osVoiceInit.s,osVoiceInit,0x800906D0,0x50 +asm/non_matchings/boot/contchannelreset/__osContChannelReset.s,__osContChannelReset,0x80090810,0x3C +asm/non_matchings/boot/voicesetadconverter/__osVoiceSetADConverter.s,__osVoiceSetADConverter,0x80090900,0x7C +asm/non_matchings/boot/aisetfreq/osAiSetFrequency.s,osAiSetFrequency,0x80090AF0,0x54 +asm/non_matchings/boot/contramread/__osContRamRead.s,__osContRamRead,0x80090C40,0x8C +asm/non_matchings/boot/voicecontwrite20/__osVoiceContWrite20.s,__osVoiceContWrite20,0x80090E70,0x8C +asm/non_matchings/boot/crc/__osContAddressCrc.s,__osContAddressCrc,0x800910A0,0x34 +asm/non_matchings/boot/crc/__osContDataCrc.s,__osContDataCrc,0x80091170,0x28 +asm/non_matchings/boot/getactivequeue/__osGetActiveQueue.s,__osGetActiveQueue,0x80091210,0x4 +asm/non_matchings/boot/normalize/guNormalize.s,guNormalize,0x80091220,0x18 +asm/non_matchings/boot/setcompare/__osSetCompare.s,__osSetCompare,0x80091280,0x4 +asm/non_matchings/boot/getcompare/__osGetCompare.s,__osGetCompare,0x80091290,0x4 +asm/non_matchings/boot/dpgetstat/osDpGetStatus.s,osDpGetStatus,0x800912A0,0x4 +asm/non_matchings/boot/dpsetstat/osDpSetStatus.s,osDpSetStatus,0x800912B0,0x4 +asm/non_matchings/boot/bcopy/bcopy.s,bcopy,0x800912C0,0xC4 +asm/non_matchings/boot/resetglobalintmask/__osResetGlobalIntMask.s,__osResetGlobalIntMask,0x800915D0,0x18 +asm/non_matchings/boot/pfsdeletefile/osPfsDeleteFile.s,osPfsDeleteFile,0x80091630,0x76 +asm/non_matchings/boot/pfsdeletefile/__osPfsReleasePages.s,__osPfsReleasePages,0x80091808,0x26 +asm/non_matchings/boot/ortho/guOrthoF.s,guOrthoF,0x800918A0,0x55 +asm/non_matchings/boot/ortho/guOrtho.s,guOrtho,0x800919F4,0x1B +asm/non_matchings/boot/interrupt/__osDisableInt.s,__osDisableInt,0x80091A60,0x1C +asm/non_matchings/boot/interrupt/__osRestoreInt.s,__osRestoreInt,0x80091AD0,0x8 +asm/non_matchings/boot/vi/__osViInit.s,__osViInit,0x80091AF0,0x48 +asm/non_matchings/boot/viswapcontext/__osViSwapContext.s,__osViSwapContext,0x80091C10,0xC0 +asm/non_matchings/boot/pigetcmdq/osPiGetCmdQueue.s,osPiGetCmdQueue,0x80091F10,0xC +asm/non_matchings/boot/cosf/__cosf.s,__cosf,0x80091F40,0x5C +asm/non_matchings/boot/epiread/osEPiReadIo.s,osEPiReadIo,0x800920B0,0x14 +asm/non_matchings/boot/visetspecial/osViSetSpecialFeatures.s,osViSetSpecialFeatures,0x80092100,0x58 +asm/non_matchings/boot/coss/coss.s,coss,0x80092260,0xC +asm/non_matchings/boot/settime/osSetTime.s,osSetTime,0x80092290,0xC +asm/non_matchings/boot/voicestopread/osVoiceStopReadData.s,osVoiceStopReadData,0x800922C0,0x48 +asm/non_matchings/boot/visetevent/osViSetEvent.s,osViSetEvent,0x800923E0,0x18 +asm/non_matchings/boot/pfsisplug/osPfsIsPlug.s,osPfsIsPlug,0x80092440,0x63 +asm/non_matchings/boot/pfsisplug/__osPfsRequestData.s,__osPfsRequestData,0x800925CC,0x2D +asm/non_matchings/boot/pfsisplug/__osPfsGetInitData.s,__osPfsGetInitData,0x80092680,0x2C +asm/non_matchings/boot/voicegetstatus/__osVoiceGetStatus.s,__osVoiceGetStatus,0x80092730,0x7C +asm/non_matchings/boot/cartrominit/osCartRomInit.s,osCartRomInit,0x80092920,0x58 +asm/non_matchings/boot/guS2DInitBg/guS2DInitBg.s,guS2DInitBg,0x80092A80,0x60 +asm/non_matchings/boot/pfsselectbank/__osPfsSelectBank.s,__osPfsSelectBank,0x80092C00,0x20 +asm/non_matchings/boot/contsetch/osContSetCh.s,osContSetCh,0x80092C80,0x18 +asm/non_matchings/boot/setfpccsr/__osSetFpcCsr.s,__osSetFpcCsr,0x80092CE0,0x4 +asm/non_matchings/boot/getfpccsr/__osGetFpcCsr.s,__osGetFpcCsr,0x80092CF0,0x4 +asm/non_matchings/boot/pfsfilestate/osPfsFileState.s,osPfsFileState,0x80092D00,0x78 +asm/non_matchings/boot/pfsinitpak/osPfsInitPak.s,osPfsInitPak,0x80092EE0,0x82 +asm/non_matchings/boot/pfsinitpak/__osPfsCheckRamArea.s,__osPfsCheckRamArea,0x800930E8,0x42 +asm/non_matchings/boot/pfschecker/osPfsChecker.s,osPfsChecker,0x800931F0,0x14E +asm/non_matchings/boot/pfschecker/corrupted_init.s,corrupted_init,0x80093728,0xB6 +asm/non_matchings/boot/pfschecker/corrupted.s,corrupted,0x80093A00,0x68 +asm/non_matchings/boot/aigetlen/osAiGetLength.s,osAiGetLength,0x80093BA0,0x4 +asm/non_matchings/boot/epiwrite/osEPiWriteIo.s,osEPiWriteIo,0x80093BB0,0x14 +asm/non_matchings/boot/maptlbrdb/osMapTLBRdb.s,osMapTLBRdb,0x80093C00,0x18 +asm/non_matchings/boot/yieldthread/osYieldThread.s,osYieldThread,0x80093C60,0x14 +asm/non_matchings/boot/guTranslate/guTranslate.s,guTranslate,0x80093CC0,0x34 +asm/non_matchings/boot/getcause/__osGetCause.s,__osGetCause,0x80093D90,0x4 +asm/non_matchings/boot/contramwrite/__osContRamWrite.s,__osContRamWrite,0x80093DA0,0x94 +asm/non_matchings/boot/epirawwrite/__osEPiRawWriteIo.s,__osEPiRawWriteIo,0x80093FF0,0x58 +asm/non_matchings/boot/settimer/osSetTimer.s,osSetTimer,0x80094150,0x64 +asm/non_matchings/boot/xldtob/_Ldtob.s,_Ldtob,0x800942E0,0x124 +asm/non_matchings/boot/xldtob/_Ldunscale.s,_Ldunscale,0x80094770,0x2E +asm/non_matchings/boot/xldtob/_Genld.s,_Genld,0x80094828,0x172 +asm/non_matchings/boot/ldiv/ldiv.s,ldiv,0x80094DF0,0x21 +asm/non_matchings/boot/ldiv/lldiv.s,lldiv,0x80094E74,0x43 +asm/non_matchings/boot/xlitob/_Litob.s,_Litob,0x80094F80,0xA8 +asm/non_matchings/boot/sirawwrite/__osSiRawWriteIo.s,__osSiRawWriteIo,0x80095220,0x14 +asm/non_matchings/boot/spgetstat/__osSpGetStatus.s,__osSpGetStatus,0x80095270,0x4 +asm/non_matchings/boot/spsetstat/__osSpSetStatus.s,__osSpSetStatus,0x80095280,0x4 +asm/non_matchings/boot/vimgr/osCreateViManager.s,osCreateViManager,0x800952A0,0x60 +asm/non_matchings/boot/vimgr/viMgrMain.s,viMgrMain,0x80095420,0x64 +asm/non_matchings/boot/vigetcurrcontext/__osViGetCurrentContext.s,__osViGetCurrentContext,0x800955B0,0x4 +asm/non_matchings/boot/writebackdcacheall/osWritebackDCacheAll.s,osWritebackDCacheAll,0x800955C0,0xC +asm/non_matchings/boot/getcurrfaultthread/__osGetCurrFaultedThread.s,__osGetCurrFaultedThread,0x800955F0,0x4 +asm/non_matchings/boot/voicemaskdictionary/osVoiceMaskDictionary.s,osVoiceMaskDictionary,0x80095600,0x4C +asm/non_matchings/boot/guMtxF2L/guMtxF2L.s,guMtxF2L,0x80095740,0x1C +asm/non_matchings/boot/startthread/osStartThread.s,osStartThread,0x800957B0,0x54 +asm/non_matchings/boot/visetyscale/osViSetYScale.s,osViSetYScale,0x80095900,0x14 +asm/non_matchings/boot/visetxscale/osViSetXScale.s,osViSetXScale,0x80095950,0x44 +asm/non_matchings/boot/llcvt/__d_to_ll.s,__d_to_ll,0x80095A60,0x7 +asm/non_matchings/boot/llcvt/__f_to_ll.s,__f_to_ll,0x80095A7C,0x7 +asm/non_matchings/boot/llcvt/__d_to_ull.s,__d_to_ull,0x80095A98,0x28 +asm/non_matchings/boot/llcvt/__f_to_ull.s,__f_to_ull,0x80095B38,0x27 +asm/non_matchings/boot/llcvt/__ll_to_d.s,__ll_to_d,0x80095BD4,0x6 +asm/non_matchings/boot/llcvt/__ll_to_f.s,__ll_to_f,0x80095BEC,0x6 +asm/non_matchings/boot/llcvt/__ull_to_d.s,__ull_to_d,0x80095C04,0xD +asm/non_matchings/boot/llcvt/__ull_to_f.s,__ull_to_f,0x80095C38,0xE +asm/non_matchings/boot/voicecheckword/osVoiceCheckWord.s,osVoiceCheckWord,0x80095C70,0x1BC +asm/non_matchings/boot/voicecontrolgain/osVoiceControlGain.s,osVoiceControlGain,0x80096360,0x2C +asm/non_matchings/boot/voicestartreaddata/osVoiceStartReadData.s,osVoiceStartReadData,0x80096410,0x30 +asm/non_matchings/boot/vigetcurrframebuf/osViGetCurrentFramebuffer.s,osViGetCurrentFramebuffer,0x800964D0,0x10 +asm/non_matchings/boot/spsetpc/__osSpSetPc.s,__osSpSetPc,0x80096510,0xC +asm/non_matchings/boot/voicecontwrite4/__osVoiceContWrite4.s,__osVoiceContWrite4,0x80096540,0x8C +asm/non_matchings/boot/gethwinterrupt/__osGetHWIntrRoutine.s,__osGetHWIntrRoutine,0x80096770,0xC +asm/non_matchings/boot/sethwinterrupt/__osSetHWIntrRoutine.s,__osSetHWIntrRoutine,0x800967A0,0x1C +asm/non_matchings/boot/getwatchlo/__osGetWatchLo.s,__osGetWatchLo,0x80096810,0x4 +asm/non_matchings/boot/setwatchlo/__osSetWatchLo.s,__osSetWatchLo,0x80096820,0x4 +asm/non_matchings/boot/fmodf/fmodf.s,fmodf,0x80096830,0x14 +asm/non_matchings/boot/__osMemset/__osMemset.s,__osMemset,0x80096880,0xC +asm/non_matchings/boot/__osMemcmp/__osMemcmp.s,__osMemcmp,0x800968B0,0x10 +asm/non_matchings/boot/__osStrcpy/__osStrcpy.s,__osStrcpy,0x800968F0,0x10 +asm/non_matchings/boot/__osMemcpy/__osMemcpy.s,__osMemcpy,0x80096930,0x24 diff --git a/tools/sizes/code_functions.csv b/tools/sizes/code_functions.csv new file mode 100644 index 0000000000..efc78df76b --- /dev/null +++ b/tools/sizes/code_functions.csv @@ -0,0 +1,3603 @@ +asm/non_matchings/code/z_en_a_keep/EnAObj_Init.s,EnAObj_Init,0x800A5AC0,0x2B +asm/non_matchings/code/z_en_a_keep/EnAObj_Destroy.s,EnAObj_Destroy,0x800A5B6C,0xB +asm/non_matchings/code/z_en_a_keep/EnAObj_Update1.s,EnAObj_Update1,0x800A5B98,0x24 +asm/non_matchings/code/z_en_a_keep/EnAObj_Update2.s,EnAObj_Update2,0x800A5C28,0xE +asm/non_matchings/code/z_en_a_keep/EnAObj_Update.s,EnAObj_Update,0x800A5C60,0x16 +asm/non_matchings/code/z_en_a_keep/EnAObj_Draw.s,EnAObj_Draw,0x800A5CB8,0x12 +asm/non_matchings/code/z_en_item00/EnItem00_SetObject.s,EnItem00_SetObject,0x800A5D00,0x1C +asm/non_matchings/code/z_en_item00/EnItem00_Init.s,EnItem00_Init,0x800A5D70,0x183 +asm/non_matchings/code/z_en_item00/EnItem00_Destroy.s,EnItem00_Destroy,0x800A637C,0xB +asm/non_matchings/code/z_en_item00/EnItem00_WaitForHeartObject.s,EnItem00_WaitForHeartObject,0x800A63A8,0x19 +asm/non_matchings/code/z_en_item00/func_800A640C.s,func_800A640C,0x800A640C,0x91 +asm/non_matchings/code/z_en_item00/func_800A6650.s,func_800A6650,0x800A6650,0x4C +asm/non_matchings/code/z_en_item00/func_800A6780.s,func_800A6780,0x800A6780,0xB0 +asm/non_matchings/code/z_en_item00/func_800A6A40.s,func_800A6A40,0x800A6A40,0x56 +asm/non_matchings/code/z_en_item00/EnItem00_Update.s,EnItem00_Update,0x800A6B98,0x164 +asm/non_matchings/code/z_en_item00/EnItem00_Draw.s,EnItem00_Draw,0x800A7128,0x61 +asm/non_matchings/code/z_en_item00/EnItem00_DrawRupee.s,EnItem00_DrawRupee,0x800A72AC,0x3D +asm/non_matchings/code/z_en_item00/EnItem00_DrawSprite.s,EnItem00_DrawSprite,0x800A73A0,0x4E +asm/non_matchings/code/z_en_item00/EnItem00_DrawHeartContainer.s,EnItem00_DrawHeartContainer,0x800A74D8,0x38 +asm/non_matchings/code/z_en_item00/EnItem00_DrawHeartPiece.s,EnItem00_DrawHeartPiece,0x800A75B8,0x26 +asm/non_matchings/code/z_en_item00/func_800A7650.s,func_800A7650,0x800A7650,0x38 +asm/non_matchings/code/z_en_item00/Item_DropCollectible.s,Item_DropCollectible,0x800A7730,0xE9 +asm/non_matchings/code/z_en_item00/Item_DropCollectible2.s,Item_DropCollectible2,0x800A7AD4,0x95 +asm/non_matchings/code/z_en_item00/Item_DropCollectibleRandom.s,Item_DropCollectibleRandom,0x800A7D28,0x10A +asm/non_matchings/code/z_en_item00/func_800A8150.s,func_800A8150,0x800A8150,0xB +asm/non_matchings/code/z_en_item00/func_800A817C.s,func_800A817C,0x800A817C,0xA +asm/non_matchings/code/z_en_item00/func_800A81A4.s,func_800A81A4,0x800A81A4,0x13 +asm/non_matchings/code/z_eff_blure/func_800A81F0.s,func_800A81F0,0x800A81F0,0xC9 +asm/non_matchings/code/z_eff_blure/func_800A8514.s,func_800A8514,0x800A8514,0x11 +asm/non_matchings/code/z_eff_blure/EffectBlure_Initcommon.s,EffectBlure_Initcommon,0x800A8558,0x2E +asm/non_matchings/code/z_eff_blure/EffectBlure_Init1.s,EffectBlure_Init1,0x800A8610,0x44 +asm/non_matchings/code/z_eff_blure/EffectBlure_Init2.s,EffectBlure_Init2,0x800A8720,0x4D +asm/non_matchings/code/z_eff_blure/EffectBlure_Destroy.s,EffectBlure_Destroy,0x800A8854,0x3 +asm/non_matchings/code/z_eff_blure/EffectBlure_Update.s,EffectBlure_Update,0x800A8860,0x106 +asm/non_matchings/code/z_eff_blure/func_800A8C78.s,func_800A8C78,0x800A8C78,0x5C +asm/non_matchings/code/z_eff_blure/func_800A8DE8.s,func_800A8DE8,0x800A8DE8,0x145 +asm/non_matchings/code/z_eff_blure/func_800A92FC.s,func_800A92FC,0x800A92FC,0xD +asm/non_matchings/code/z_eff_blure/func_800A9330.s,func_800A9330,0x800A9330,0x135 +asm/non_matchings/code/z_eff_blure/func_800A9804.s,func_800A9804,0x800A9804,0x263 +asm/non_matchings/code/z_eff_blure/func_800AA190.s,func_800AA190,0x800AA190,0xB4 +asm/non_matchings/code/z_eff_blure/func_800AA460.s,func_800AA460,0x800AA460,0xE +asm/non_matchings/code/z_eff_blure/func_800AA498.s,func_800AA498,0x800AA498,0x9A +asm/non_matchings/code/z_eff_blure/func_800AA700.s,func_800AA700,0x800AA700,0x138 +asm/non_matchings/code/z_eff_blure/func_800AABE0.s,func_800AABE0,0x800AABE0,0x143 +asm/non_matchings/code/z_eff_blure/EffectBlure_Draw.s,EffectBlure_Draw,0x800AB0EC,0x139 +asm/non_matchings/code/z_eff_shield_particle/EffectShieldParticle_Init.s,EffectShieldParticle_Init,0x800AB5D0,0x8E +asm/non_matchings/code/z_eff_shield_particle/EffectShieldParticle_Destroy.s,EffectShieldParticle_Destroy,0x800AB808,0x23 +asm/non_matchings/code/z_eff_shield_particle/EffectShieldParticle_Update.s,EffectShieldParticle_Update,0x800AB894,0x59 +asm/non_matchings/code/z_eff_shield_particle/EffectShieldParticle_CalculateColors.s,EffectShieldParticle_CalculateColors,0x800AB9F8,0x348 +asm/non_matchings/code/z_eff_shield_particle/EffectShieldParticle_Draw.s,EffectShieldParticle_Draw,0x800AC718,0x136 +asm/non_matchings/code/z_eff_spark/EffectSpark_Init.s,EffectSpark_Init,0x800ACBF0,0xF7 +asm/non_matchings/code/z_eff_spark/EffectSpark_Destroy.s,EffectSpark_Destroy,0x800ACFCC,0x3 +asm/non_matchings/code/z_eff_spark/EffectSpark_Update.s,EffectSpark_Update,0x800ACFD8,0x31 +asm/non_matchings/code/z_eff_spark/EffectSpark_Draw.s,EffectSpark_Draw,0x800AD09C,0x481 +asm/non_matchings/code/z_eff_ss_dead/func_800AE2A0.s,func_800AE2A0,0x800AE2A0,0x65 +asm/non_matchings/code/z_eff_ss_dead/func_800AE434.s,func_800AE434,0x800AE434,0x5B +asm/non_matchings/code/z_eff_ss_dead/func_800AE5A0.s,func_800AE5A0,0x800AE5A0,0x11 +asm/non_matchings/code/z_eff_ss_dead/func_800AE5E4.s,func_800AE5E4,0x800AE5E4,0x65 +asm/non_matchings/code/z_eff_ss_dead/func_800AE778.s,func_800AE778,0x800AE778,0x5D +asm/non_matchings/code/z_eff_ss_dead/func_800AE8EC.s,func_800AE8EC,0x800AE8EC,0x11 +asm/non_matchings/code/z_eff_tire_mark/func_800AE930.s,func_800AE930,0x800AE930,0x185 +asm/non_matchings/code/z_eff_tire_mark/func_800AEF44.s,func_800AEF44,0x800AEF44,0xB +asm/non_matchings/code/z_eff_tire_mark/EffectTireMark_InitParticle.s,EffectTireMark_InitParticle,0x800AEF70,0xC +asm/non_matchings/code/z_eff_tire_mark/EffectTireMark_Init.s,EffectTireMark_Init,0x800AEFA0,0x29 +asm/non_matchings/code/z_eff_tire_mark/EffectTireMark_Destroy.s,EffectTireMark_Destroy,0x800AF044,0x3 +asm/non_matchings/code/z_eff_tire_mark/EffectTireMark_Update.s,EffectTireMark_Update,0x800AF050,0x8D +asm/non_matchings/code/z_eff_tire_mark/EffectTireMark_InitVertices.s,EffectTireMark_InitVertices,0x800AF284,0x23 +asm/non_matchings/code/z_eff_tire_mark/EffectTireMark_Draw.s,EffectTireMark_Draw,0x800AF310,0x100 +asm/non_matchings/code/z_effect/Effect_GetContext.s,Effect_GetContext,0x800AF710,0x4 +asm/non_matchings/code/z_effect/Effect_GetParams.s,Effect_GetParams,0x800AF720,0x57 +asm/non_matchings/code/z_effect/Effect_InitCommon.s,Effect_InitCommon,0x800AF87C,0x5 +asm/non_matchings/code/z_effect/Effect_Init.s,Effect_Init,0x800AF890,0x34 +asm/non_matchings/code/z_effect/Effect_Add.s,Effect_Add,0x800AF960,0x71 +asm/non_matchings/code/z_effect/Effect_DrawAll.s,Effect_DrawAll,0x800AFB24,0x4F +asm/non_matchings/code/z_effect/Effect_UpdateAll.s,Effect_UpdateAll,0x800AFC60,0x5B +asm/non_matchings/code/z_effect/Effect_Destroy.s,Effect_Destroy,0x800AFDCC,0x56 +asm/non_matchings/code/z_effect/Effect_DestroyAll.s,Effect_DestroyAll,0x800AFF24,0x4B +asm/non_matchings/code/z_effect_soft_sprite/EffectSS_Init.s,EffectSS_Init,0x800B0050,0x3C +asm/non_matchings/code/z_effect_soft_sprite/EffectSS_Clear.s,EffectSS_Clear,0x800B0140,0x30 +asm/non_matchings/code/z_effect_soft_sprite/EffectSS_GetTable.s,EffectSS_GetTable,0x800B0200,0x4 +asm/non_matchings/code/z_effect_soft_sprite/EffectSS_Delete.s,EffectSS_Delete,0x800B0210,0x18 +asm/non_matchings/code/z_effect_soft_sprite/EffectSS_ResetEntry.s,EffectSS_ResetEntry,0x800B0270,0x25 +asm/non_matchings/code/z_effect_soft_sprite/EffectSS_FindFreeSpace.s,EffectSS_FindFreeSpace,0x800B0304,0x4E +asm/non_matchings/code/z_effect_soft_sprite/EffectSS_Copy.s,EffectSS_Copy,0x800B043C,0x26 +asm/non_matchings/code/z_effect_soft_sprite/EffectSs_Spawn.s,EffectSs_Spawn,0x800B04D4,0x6A +asm/non_matchings/code/z_effect_soft_sprite/EffectSS_UpdateParticle.s,EffectSS_UpdateParticle,0x800B067C,0x28 +asm/non_matchings/code/z_effect_soft_sprite/EffectSS_UpdateAllParticles.s,EffectSS_UpdateAllParticles,0x800B071C,0x2F +asm/non_matchings/code/z_effect_soft_sprite/EffectSS_DrawParticle.s,EffectSS_DrawParticle,0x800B07D8,0x11 +asm/non_matchings/code/z_effect_soft_sprite/EffectSS_DrawAllParticles.s,EffectSS_DrawAllParticles,0x800B081C,0x54 +asm/non_matchings/code/z_effect_soft_sprite/func_800B096C.s,func_800B096C,0x800B096C,0x19 +asm/non_matchings/code/z_effect_soft_sprite/func_800B09D0.s,func_800B09D0,0x800B09D0,0x15 +asm/non_matchings/code/z_effect_soft_sprite/func_800B0A24.s,func_800B0A24,0x800B0A24,0x3B +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSs_DrawGEffect.s,EffectSs_DrawGEffect,0x800B0B10,0x87 +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsDust_Spawn.s,EffectSsDust_Spawn,0x800B0D2C,0x2D +asm/non_matchings/code/z_effect_soft_sprite_old_init/func_800B0DE0.s,func_800B0DE0,0x800B0DE0,0x1A +asm/non_matchings/code/z_effect_soft_sprite_old_init/func_800B0E48.s,func_800B0E48,0x800B0E48,0x1A +asm/non_matchings/code/z_effect_soft_sprite_old_init/func_800B0EB0.s,func_800B0EB0,0x800B0EB0,0x1A +asm/non_matchings/code/z_effect_soft_sprite_old_init/func_800B0F18.s,func_800B0F18,0x800B0F18,0x1A +asm/non_matchings/code/z_effect_soft_sprite_old_init/func_800B0F80.s,func_800B0F80,0x800B0F80,0x1A +asm/non_matchings/code/z_effect_soft_sprite_old_init/func_800B0FE8.s,func_800B0FE8,0x800B0FE8,0x1B +asm/non_matchings/code/z_effect_soft_sprite_old_init/func_800B1054.s,func_800B1054,0x800B1054,0x1B +asm/non_matchings/code/z_effect_soft_sprite_old_init/func_800B10C0.s,func_800B10C0,0x800B10C0,0x1C +asm/non_matchings/code/z_effect_soft_sprite_old_init/func_800B1130.s,func_800B1130,0x800B1130,0x1C +asm/non_matchings/code/z_effect_soft_sprite_old_init/func_800B11A0.s,func_800B11A0,0x800B11A0,0x1C +asm/non_matchings/code/z_effect_soft_sprite_old_init/func_800B1210.s,func_800B1210,0x800B1210,0x1C +asm/non_matchings/code/z_effect_soft_sprite_old_init/func_800B1280.s,func_800B1280,0x800B1280,0x1C +asm/non_matchings/code/z_effect_soft_sprite_old_init/func_800B12F0.s,func_800B12F0,0x800B12F0,0x1C +asm/non_matchings/code/z_effect_soft_sprite_old_init/func_800B1360.s,func_800B1360,0x800B1360,0xF +asm/non_matchings/code/z_effect_soft_sprite_old_init/func_800B139C.s,func_800B139C,0x800B139C,0xF +asm/non_matchings/code/z_effect_soft_sprite_old_init/func_800B13D8.s,func_800B13D8,0x800B13D8,0x3F +asm/non_matchings/code/z_effect_soft_sprite_old_init/func_800B14D4.s,func_800B14D4,0x800B14D4,0x31 +asm/non_matchings/code/z_effect_soft_sprite_old_init/func_800B1598.s,func_800B1598,0x800B1598,0x31 +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsKiraKira_SpawnSmallYellow.s,EffectSsKiraKira_SpawnSmallYellow,0x800B165C,0x17 +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsKiraKira_SpawnSmall.s,EffectSsKiraKira_SpawnSmall,0x800B16B8,0xF +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsKiraKira_SpawnDispersed.s,EffectSsKiraKira_SpawnDispersed,0x800B16F4,0x4F +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsKiraKira_SpawnFocused.s,EffectSsKiraKira_SpawnFocused,0x800B1830,0x36 +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsBomb2_SpawnFade.s,EffectSsBomb2_SpawnFade,0x800B1908,0x1A +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsBomb2_SpawnLayered.s,EffectSsBomb2_SpawnLayered,0x800B1970,0x1C +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsBlast_Spawn.s,EffectSsBlast_Spawn,0x800B19E0,0x24 +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsBlast_SpawnWhiteCustomScale.s,EffectSsBlast_SpawnWhiteCustomScale,0x800B1A70,0x15 +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsBlast_SpawnShockwave.s,EffectSsBlast_SpawnShockwave,0x800B1AC4,0x13 +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsBlast_SpawnWhiteShockwave.s,EffectSsBlast_SpawnWhiteShockwave,0x800B1B10,0xF +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsGSpk_SpawnAccel.s,EffectSsGSpk_SpawnAccel,0x800B1B4C,0x24 +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsGSpk_SpawnNoAccel.s,EffectSsGSpk_SpawnNoAccel,0x800B1BDC,0x25 +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsGSpk_SpawnFuse.s,EffectSsGSpk_SpawnFuse,0x800B1C70,0x15 +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsGSpk_SpawnRandColor.s,EffectSsGSpk_SpawnRandColor,0x800B1CC4,0x41 +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsGSpk_SpawnSmall.s,EffectSsGSpk_SpawnSmall,0x800B1DC8,0x11 +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsDFire_Spawn.s,EffectSsDFire_Spawn,0x800B1E0C,0x22 +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsBubble_Spawn.s,EffectSsBubble_Spawn,0x800B1E94,0x18 +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsGRipple_Spawn.s,EffectSsGRipple_Spawn,0x800B1EF4,0x16 +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsGSplash_Spawn.s,EffectSsGSplash_Spawn,0x800B1F4C,0x25 +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsGFire_Spawn.s,EffectSsGFire_Spawn,0x800B1FE0,0xE +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsLightning_Spawn.s,EffectSsLightning_Spawn,0x800B2018,0x1E +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsDtBubble_SpawnColorProfile.s,EffectSsDtBubble_SpawnColorProfile,0x800B2090,0x1F +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsDtBubble_SpawnCustomColor.s,EffectSsDtBubble_SpawnCustomColor,0x800B210C,0x24 +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsHahen_Spawn.s,EffectSsHahen_Spawn,0x800B219C,0x20 +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsHahen_SpawnBurst.s,EffectSsHahen_SpawnBurst,0x800B221C,0x52 +asm/non_matchings/code/z_effect_soft_sprite_old_init/func_800B2364.s,func_800B2364,0x800B2364,0x1D +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsStick_Spawn.s,EffectSsStick_Spawn,0x800B23D8,0x15 +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsSibuki_Spawn.s,EffectSsSibuki_Spawn,0x800B242C,0x1C +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsSibuki_SpawnBurst.s,EffectSsSibuki_SpawnBurst,0x800B249C,0x4F +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsStone1_Spawn.s,EffectSsStone1_Spawn,0x800B25D8,0x15 +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsHitMark_Spawn.s,EffectSsHitMark_Spawn,0x800B262C,0x16 +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsHitMark_SpawnFixedScale.s,EffectSsHitMark_SpawnFixedScale,0x800B2684,0x9 +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsHitMark_SpawnCustomScale.s,EffectSsHitMark_SpawnCustomScale,0x800B26A8,0xB +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsFhgFlash_SpawnShock.s,EffectSsFhgFlash_SpawnShock,0x800B26D4,0x19 +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsKFire_Spawn.s,EffectSsKFire_Spawn,0x800B2738,0x1A +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsSolderSrchBall_Spawn.s,EffectSsSolderSrchBall_Spawn,0x800B27A0,0x1C +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsKakera_Spawn.s,EffectSsKakera_Spawn,0x800B2810,0x2E +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsIcePiece_Spawn.s,EffectSsIcePiece_Spawn,0x800B28C8,0x1A +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsIcePiece_SpawnBurst.s,EffectSsIcePiece_SpawnBurst,0x800B2930,0x65 +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsEnIce_SpawnFlyingVec3f.s,EffectSsEnIce_SpawnFlyingVec3f,0x800B2AC4,0x20 +asm/non_matchings/code/z_effect_soft_sprite_old_init/func_800B2B44.s,func_800B2B44,0x800B2B44,0xE +asm/non_matchings/code/z_effect_soft_sprite_old_init/func_800B2B7C.s,func_800B2B7C,0x800B2B7C,0x11 +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsEnIce_Spawn.s,EffectSsEnIce_Spawn,0x800B2BC0,0x22 +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsFireTail_Spawn.s,EffectSsFireTail_Spawn,0x800B2C48,0x26 +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsFireTail_SpawnFlame.s,EffectSsFireTail_SpawnFlame,0x800B2CE0,0x31 +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsFireTail_SpawnFlameOnPlayer.s,EffectSsFireTail_SpawnFlameOnPlayer,0x800B2DA4,0x14 +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsEnFire_SpawnVec3f.s,EffectSsEnFire_SpawnVec3f,0x800B2DF4,0x1E +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsEnFire_SpawnVec3s.s,EffectSsEnFire_SpawnVec3s,0x800B2E6C,0x2B +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsExtra_Spawn.s,EffectSsExtra_Spawn,0x800B2F18,0x1A +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsDeadDb_Spawn.s,EffectSsDeadDb_Spawn,0x800B2F80,0x2C +asm/non_matchings/code/z_effect_soft_sprite_old_init/func_800B3030.s,func_800B3030,0x800B3030,0x16 +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsDeadDd_Spawn.s,EffectSsDeadDd_Spawn,0x800B3088,0x2F +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsDeadDs_Spawn.s,EffectSsDeadDs_Spawn,0x800B3144,0x1E +asm/non_matchings/code/z_effect_soft_sprite_old_init/func_800B31BC.s,func_800B31BC,0x800B31BC,0x14 +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsIceSmoke_Spawn.s,EffectSsIceSmoke_Spawn,0x800B320C,0x18 +asm/non_matchings/code/z_effect_soft_sprite_old_init/EffectSsIceBlock_Spawn.s,EffectSsIceBlock_Spawn,0x800B326C,0x19 +asm/non_matchings/code/flg_set/func_800B32D0.s,func_800B32D0,0x800B32D0,0xDD +asm/non_matchings/code/flg_set/func_800B3644.s,func_800B3644,0x800B3644,0x8F +asm/non_matchings/code/z_DLF/DLF_LoadGameState.s,DLF_LoadGameState,0x800B3880,0x49 +asm/non_matchings/code/z_DLF/DLF_FreeGameState.s,DLF_FreeGameState,0x800B39A4,0x4B +asm/non_matchings/code/z_actor/Actor_PrintLists.s,Actor_PrintLists,0x800B3AD0,0x35 +asm/non_matchings/code/z_actor/ActorShape_Init.s,ActorShape_Init,0x800B3BA4,0x9 +asm/non_matchings/code/z_actor/ActorShadow_Draw.s,ActorShadow_Draw,0x800B3BC8,0xFE +asm/non_matchings/code/z_actor/func_800B3FC0.s,func_800B3FC0,0x800B3FC0,0x19 +asm/non_matchings/code/z_actor/func_800B4024.s,func_800B4024,0x800B4024,0x19 +asm/non_matchings/code/z_actor/func_800B4088.s,func_800B4088,0x800B4088,0xC +asm/non_matchings/code/z_actor/func_800B40B8.s,func_800B40B8,0x800B40B8,0xA +asm/non_matchings/code/z_actor/func_800B40E0.s,func_800B40E0,0x800B40E0,0x86 +asm/non_matchings/code/z_actor/func_800B42F8.s,func_800B42F8,0x800B42F8,0x1E8 +asm/non_matchings/code/z_actor/func_800B4A98.s,func_800B4A98,0x800B4A98,0x15 +asm/non_matchings/code/z_actor/func_800B4AEC.s,func_800B4AEC,0x800B4AEC,0x19 +asm/non_matchings/code/z_actor/func_800B4B50.s,func_800B4B50,0x800B4B50,0xE3 +asm/non_matchings/code/z_actor/func_800B4EDC.s,func_800B4EDC,0x800B4EDC,0x19 +asm/non_matchings/code/z_actor/func_800B4F40.s,func_800B4F40,0x800B4F40,0xE +asm/non_matchings/code/z_actor/func_800B4F78.s,func_800B4F78,0x800B4F78,0x32 +asm/non_matchings/code/z_actor/func_800B5040.s,func_800B5040,0x800B5040,0x59 +asm/non_matchings/code/z_actor/Actor_TargetContextInit.s,Actor_TargetContextInit,0x800B51A4,0x19 +asm/non_matchings/code/z_actor/func_800B5208.s,func_800B5208,0x800B5208,0x183 +asm/non_matchings/code/z_actor/func_800B5814.s,func_800B5814,0x800B5814,0xE7 +asm/non_matchings/code/z_actor/Flags_GetSwitch.s,Flags_GetSwitch,0x800B5BB0,0x11 +asm/non_matchings/code/z_actor/Actor_SetSwitchFlag.s,Actor_SetSwitchFlag,0x800B5BF4,0x10 +asm/non_matchings/code/z_actor/Actor_UnsetSwitchFlag.s,Actor_UnsetSwitchFlag,0x800B5C34,0x11 +asm/non_matchings/code/z_actor/Actor_GetChestFlag.s,Actor_GetChestFlag,0x800B5C78,0x6 +asm/non_matchings/code/z_actor/Actor_SetChestFlag.s,Actor_SetChestFlag,0x800B5C90,0x7 +asm/non_matchings/code/z_actor/Actor_SetAllChestFlag.s,Actor_SetAllChestFlag,0x800B5CAC,0x3 +asm/non_matchings/code/z_actor/Actor_GetAllChestFlag.s,Actor_GetAllChestFlag,0x800B5CB8,0x3 +asm/non_matchings/code/z_actor/Actor_GetRoomCleared.s,Actor_GetRoomCleared,0x800B5CC4,0x6 +asm/non_matchings/code/z_actor/Actor_SetRoomCleared.s,Actor_SetRoomCleared,0x800B5CDC,0x7 +asm/non_matchings/code/z_actor/Actor_UnsetRoomCleared.s,Actor_UnsetRoomCleared,0x800B5CF8,0x8 +asm/non_matchings/code/z_actor/Actor_GetRoomClearedTemp.s,Actor_GetRoomClearedTemp,0x800B5D18,0x6 +asm/non_matchings/code/z_actor/Actor_SetRoomClearedTemp.s,Actor_SetRoomClearedTemp,0x800B5D30,0x7 +asm/non_matchings/code/z_actor/Actor_UnsetRoomClearedTemp.s,Actor_UnsetRoomClearedTemp,0x800B5D4C,0x8 +asm/non_matchings/code/z_actor/Actor_GetCollectibleFlag.s,Actor_GetCollectibleFlag,0x800B5D6C,0x11 +asm/non_matchings/code/z_actor/Actor_SetCollectibleFlag.s,Actor_SetCollectibleFlag,0x800B5DB0,0x10 +asm/non_matchings/code/z_actor/Actor_TitleCardContextInit.s,Actor_TitleCardContextInit,0x800B5DF0,0x7 +asm/non_matchings/code/z_actor/Actor_TitleCardCreate.s,Actor_TitleCardCreate,0x800B5E0C,0x11 +asm/non_matchings/code/z_actor/Actor_Nop800B5E50.s,Actor_Nop800B5E50,0x800B5E50,0x6 +asm/non_matchings/code/z_actor/Actor_TitleCardUpdate.s,Actor_TitleCardUpdate,0x800B5E68,0x2F +asm/non_matchings/code/z_actor/Actor_TitleCardDraw.s,Actor_TitleCardDraw,0x800B5F24,0x144 +asm/non_matchings/code/z_actor/func_800B6434.s,func_800B6434,0x800B6434,0xD +asm/non_matchings/code/z_actor/func_800B6468.s,func_800B6468,0x800B6468,0x3 +asm/non_matchings/code/z_actor/func_800B6474.s,func_800B6474,0x800B6474,0x6 +asm/non_matchings/code/z_actor/func_800B648C.s,func_800B648C,0x800B648C,0x1C +asm/non_matchings/code/z_actor/func_800B64FC.s,func_800B64FC,0x800B64FC,0x22 +asm/non_matchings/code/z_actor/func_800B6584.s,func_800B6584,0x800B6584,0x21 +asm/non_matchings/code/z_actor/func_800B6608.s,func_800B6608,0x800B6608,0x1E +asm/non_matchings/code/z_actor/func_800B6680.s,func_800B6680,0x800B6680,0x23 +asm/non_matchings/code/z_actor/Actor_MarkForDeath.s,Actor_MarkForDeath,0x800B670C,0x8 +asm/non_matchings/code/z_actor/Actor_InitCurrPosition.s,Actor_InitCurrPosition,0x800B672C,0xC +asm/non_matchings/code/z_actor/Actor_SetHeight.s,Actor_SetHeight,0x800B675C,0x11 +asm/non_matchings/code/z_actor/Actor_SetRotationFromDrawRotation.s,Actor_SetRotationFromDrawRotation,0x800B67A0,0x8 +asm/non_matchings/code/z_actor/Actor_InitDrawRotation.s,Actor_InitDrawRotation,0x800B67C0,0x8 +asm/non_matchings/code/z_actor/Actor_SetScale.s,Actor_SetScale,0x800B67E0,0x7 +asm/non_matchings/code/z_actor/Actor_SetObjectSegment.s,Actor_SetObjectSegment,0x800B67FC,0xE +asm/non_matchings/code/z_actor/Actor_InitToDefaultValues.s,Actor_InitToDefaultValues,0x800B6834,0x45 +asm/non_matchings/code/z_actor/Actor_FiniActor.s,Actor_FiniActor,0x800B6948,0x10 +asm/non_matchings/code/z_actor/Actor_SetMovementScale.s,Actor_SetMovementScale,0x800B6988,0x9 +asm/non_matchings/code/z_actor/Actor_ApplyMovement.s,Actor_ApplyMovement,0x800B69AC,0x19 +asm/non_matchings/code/z_actor/Actor_SetVelocityYRotationAndGravity.s,Actor_SetVelocityYRotationAndGravity,0x800B6A10,0x1E +asm/non_matchings/code/z_actor/Actor_SetVelocityAndMoveYRotationAndGravity.s,Actor_SetVelocityAndMoveYRotationAndGravity,0x800B6A88,0xB +asm/non_matchings/code/z_actor/Actor_SetVelocityXYRotation.s,Actor_SetVelocityXYRotation,0x800B6AB4,0x1C +asm/non_matchings/code/z_actor/Actor_SetVelocityAndMoveXYRotation.s,Actor_SetVelocityAndMoveXYRotation,0x800B6B24,0xB +asm/non_matchings/code/z_actor/Actor_SetVelocityXYRotationReverse.s,Actor_SetVelocityXYRotationReverse,0x800B6B50,0x22 +asm/non_matchings/code/z_actor/Actor_SetVelocityAndMoveXYRotationReverse.s,Actor_SetVelocityAndMoveXYRotationReverse,0x800B6BD8,0xB +asm/non_matchings/code/z_actor/func_800B6C04.s,func_800B6C04,0x800B6C04,0x15 +asm/non_matchings/code/z_actor/func_800B6C58.s,func_800B6C58,0x800B6C58,0x1F +asm/non_matchings/code/z_actor/Actor_YawBetweenActors.s,Actor_YawBetweenActors,0x800B6CD4,0xB +asm/non_matchings/code/z_actor/Actor_YawBetweenActorsTop.s,Actor_YawBetweenActorsTop,0x800B6D00,0xB +asm/non_matchings/code/z_actor/Actor_YawToPoint.s,Actor_YawToPoint,0x800B6D2C,0x9 +asm/non_matchings/code/z_actor/Actor_PitchBetweenActors.s,Actor_PitchBetweenActors,0x800B6D50,0xB +asm/non_matchings/code/z_actor/Actor_PitchBetweenActorsTop.s,Actor_PitchBetweenActorsTop,0x800B6D7C,0xB +asm/non_matchings/code/z_actor/Actor_PitchToPoint.s,Actor_PitchToPoint,0x800B6DA8,0x9 +asm/non_matchings/code/z_actor/Actor_DistanceBetweenActors.s,Actor_DistanceBetweenActors,0x800B6DCC,0xB +asm/non_matchings/code/z_actor/Actor_DistanceToPoint.s,Actor_DistanceToPoint,0x800B6DF8,0x9 +asm/non_matchings/code/z_actor/Actor_XZDistanceBetweenActors.s,Actor_XZDistanceBetweenActors,0x800B6E1C,0xB +asm/non_matchings/code/z_actor/Actor_XZDistanceToPoint.s,Actor_XZDistanceToPoint,0x800B6E48,0x9 +asm/non_matchings/code/z_actor/Actor_CalcOffsetOrientedToDrawRotation.s,Actor_CalcOffsetOrientedToDrawRotation,0x800B6E6C,0x28 +asm/non_matchings/code/z_actor/Actor_YDistance.s,Actor_YDistance,0x800B6F0C,0x5 +asm/non_matchings/code/z_actor/func_800B6F20.s,func_800B6F20,0x800B6F20,0x2A +asm/non_matchings/code/z_actor/func_800B6FC8.s,func_800B6FC8,0x800B6FC8,0x32 +asm/non_matchings/code/z_actor/func_800B7090.s,func_800B7090,0x800B7090,0x22 +asm/non_matchings/code/z_actor/func_800B7118.s,func_800B7118,0x800B7118,0x4 +asm/non_matchings/code/z_actor/func_800B7128.s,func_800B7128,0x800B7128,0xD +asm/non_matchings/code/z_actor/func_800B715C.s,func_800B715C,0x800B715C,0x5 +asm/non_matchings/code/z_actor/func_800B7170.s,func_800B7170,0x800B7170,0x1B +asm/non_matchings/code/z_actor/func_800B71DC.s,func_800B71DC,0x800B71DC,0x9 +asm/non_matchings/code/z_actor/func_800B7200.s,func_800B7200,0x800B7200,0xB +asm/non_matchings/code/z_actor/func_800B722C.s,func_800B722C,0x800B722C,0x8 +asm/non_matchings/code/z_actor/func_800B724C.s,func_800B724C,0x800B724C,0x13 +asm/non_matchings/code/z_actor/func_800B7298.s,func_800B7298,0x800B7298,0x12 +asm/non_matchings/code/z_actor/func_800B72E0.s,func_800B72E0,0x800B72E0,0x6 +asm/non_matchings/code/z_actor/func_800B72F8.s,func_800B72F8,0x800B72F8,0xA +asm/non_matchings/code/z_actor/Actor_IsLinkFacingActor.s,Actor_IsLinkFacingActor,0x800B7320,0x16 +asm/non_matchings/code/z_actor/Actor_IsActorFacedByActor.s,Actor_IsActorFacedByActor,0x800B7378,0x1A +asm/non_matchings/code/z_actor/Actor_IsActorFacingLink.s,Actor_IsActorFacingLink,0x800B73E0,0x13 +asm/non_matchings/code/z_actor/Actor_IsActorFacingActor.s,Actor_IsActorFacingActor,0x800B742C,0x18 +asm/non_matchings/code/z_actor/Actor_IsActorFacingLinkAndWithinRange.s,Actor_IsActorFacingLinkAndWithinRange,0x800B748C,0x20 +asm/non_matchings/code/z_actor/Actor_IsActorFacingActorAndWithinRange.s,Actor_IsActorFacingActorAndWithinRange,0x800B750C,0x25 +asm/non_matchings/code/z_actor/func_800B75A0.s,func_800B75A0,0x800B75A0,0x1F +asm/non_matchings/code/z_actor/func_800B761C.s,func_800B761C,0x800B761C,0x17 +asm/non_matchings/code/z_actor/func_800B7678.s,func_800B7678,0x800B7678,0x90 +asm/non_matchings/code/z_actor/Actor_UpdateBgCheckInfo.s,Actor_UpdateBgCheckInfo,0x800B78B8,0x153 +asm/non_matchings/code/z_actor/func_800B7E04.s,func_800B7E04,0x800B7E04,0x77 +asm/non_matchings/code/z_actor/func_800B7FE0.s,func_800B7FE0,0x800B7FE0,0xE +asm/non_matchings/code/z_actor/func_800B8018.s,func_800B8018,0x800B8018,0xE +asm/non_matchings/code/z_actor/func_800B8050.s,func_800B8050,0x800B8050,0x32 +asm/non_matchings/code/z_actor/func_800B8118.s,func_800B8118,0x800B8118,0x32 +asm/non_matchings/code/z_actor/func_800B81E0.s,func_800B81E0,0x800B81E0,0xD +asm/non_matchings/code/z_actor/func_800B8214.s,func_800B8214,0x800B8214,0xD +asm/non_matchings/code/z_actor/func_800B8248.s,func_800B8248,0x800B8248,0x29 +asm/non_matchings/code/z_actor/func_800B82EC.s,func_800B82EC,0x800B82EC,0x34 +asm/non_matchings/code/z_actor/func_800B83BC.s,func_800B83BC,0x800B83BC,0xF +asm/non_matchings/code/z_actor/func_800B83F8.s,func_800B83F8,0x800B83F8,0x36 +asm/non_matchings/code/z_actor/func_800B84D0.s,func_800B84D0,0x800B84D0,0xC +asm/non_matchings/code/z_actor/func_800B8500.s,func_800B8500,0x800B8500,0x38 +asm/non_matchings/code/z_actor/func_800B85E0.s,func_800B85E0,0x800B85E0,0xD +asm/non_matchings/code/z_actor/func_800B8614.s,func_800B8614,0x800B8614,0xA +asm/non_matchings/code/z_actor/func_800B863C.s,func_800B863C,0x800B863C,0x10 +asm/non_matchings/code/z_actor/func_800B867C.s,func_800B867C,0x800B867C,0x13 +asm/non_matchings/code/z_actor/func_800B86C8.s,func_800B86C8,0x800B86C8,0x10 +asm/non_matchings/code/z_actor/func_800B8708.s,func_800B8708,0x800B8708,0x4 +asm/non_matchings/code/z_actor/func_800B8718.s,func_800B8718,0x800B8718,0xD +asm/non_matchings/code/z_actor/func_800B874C.s,func_800B874C,0x800B874C,0x2E +asm/non_matchings/code/z_actor/func_800B8804.s,func_800B8804,0x800B8804,0xA +asm/non_matchings/code/z_actor/func_800B882C.s,func_800B882C,0x800B882C,0x10 +asm/non_matchings/code/z_actor/func_800B886C.s,func_800B886C,0x800B886C,0xB +asm/non_matchings/code/z_actor/func_800B8898.s,func_800B8898,0x800B8898,0x27 +asm/non_matchings/code/z_actor/func_800B8934.s,func_800B8934,0x800B8934,0x31 +asm/non_matchings/code/z_actor/Actor_HasParent.s,Actor_HasParent,0x800B89F8,0x9 +asm/non_matchings/code/z_actor/func_800B8A1C.s,func_800B8A1C,0x800B8A1C,0x5A +asm/non_matchings/code/z_actor/func_800B8B84.s,func_800B8B84,0x800B8B84,0xB +asm/non_matchings/code/z_actor/func_800B8BB0.s,func_800B8BB0,0x800B8BB0,0x8 +asm/non_matchings/code/z_actor/func_800B8BD0.s,func_800B8BD0,0x800B8BD0,0xB +asm/non_matchings/code/z_actor/Actor_HasNoParent.s,Actor_HasNoParent,0x800B8BFC,0x9 +asm/non_matchings/code/z_actor/func_800B8C20.s,func_800B8C20,0x800B8C20,0xC +asm/non_matchings/code/z_actor/func_800B8C50.s,func_800B8C50,0x800B8C50,0xA +asm/non_matchings/code/z_actor/func_800B8C78.s,func_800B8C78,0x800B8C78,0x9 +asm/non_matchings/code/z_actor/func_800B8C9C.s,func_800B8C9C,0x800B8C9C,0x14 +asm/non_matchings/code/z_actor/func_800B8CEC.s,func_800B8CEC,0x800B8CEC,0x9 +asm/non_matchings/code/z_actor/func_800B8D10.s,func_800B8D10,0x800B8D10,0x10 +asm/non_matchings/code/z_actor/func_800B8D50.s,func_800B8D50,0x800B8D50,0x12 +asm/non_matchings/code/z_actor/func_800B8D98.s,func_800B8D98,0x800B8D98,0xF +asm/non_matchings/code/z_actor/func_800B8DD4.s,func_800B8DD4,0x800B8DD4,0x12 +asm/non_matchings/code/z_actor/func_800B8E1C.s,func_800B8E1C,0x800B8E1C,0xF +asm/non_matchings/code/z_actor/func_800B8E58.s,func_800B8E58,0x800B8E58,0x1C +asm/non_matchings/code/z_actor/Audio_PlayActorSound2.s,Audio_PlayActorSound2,0x800B8EC8,0xB +asm/non_matchings/code/z_actor/func_800B8EF4.s,func_800B8EF4,0x800B8EF4,0x29 +asm/non_matchings/code/z_actor/func_800B8F98.s,func_800B8F98,0x800B8F98,0xA +asm/non_matchings/code/z_actor/func_800B8FC0.s,func_800B8FC0,0x800B8FC0,0xA +asm/non_matchings/code/z_actor/func_800B8FE8.s,func_800B8FE8,0x800B8FE8,0xA +asm/non_matchings/code/z_actor/func_800B9010.s,func_800B9010,0x800B9010,0xA +asm/non_matchings/code/z_actor/func_800B9038.s,func_800B9038,0x800B9038,0x13 +asm/non_matchings/code/z_actor/func_800B9084.s,func_800B9084,0x800B9084,0x5 +asm/non_matchings/code/z_actor/func_800B9098.s,func_800B9098,0x800B9098,0x5 +asm/non_matchings/code/z_actor/func_800B90AC.s,func_800B90AC,0x800B90AC,0x12 +asm/non_matchings/code/z_actor/func_800B90F4.s,func_800B90F4,0x800B90F4,0xB +asm/non_matchings/code/z_actor/func_800B9120.s,func_800B9120,0x800B9120,0x14 +asm/non_matchings/code/z_actor/Actor_Init.s,Actor_Init,0x800B9170,0x71 +asm/non_matchings/code/z_actor/func_800B9334.s,func_800B9334,0x800B9334,0x56 +asm/non_matchings/code/z_actor/Actor_UpdateActor.s,Actor_UpdateActor,0x800B948C,0xBD +asm/non_matchings/code/z_actor/Actor_UpdateAll.s,Actor_UpdateAll,0x800B9780,0xA1 +asm/non_matchings/code/z_actor/Actor_DrawActor.s,Actor_DrawActor,0x800B9A04,0xC6 +asm/non_matchings/code/z_actor/func_800B9D1C.s,func_800B9D1C,0x800B9D1C,0x48 +asm/non_matchings/code/z_actor/Actor_DrawAllSetup.s,Actor_DrawAllSetup,0x800B9E3C,0x4 +asm/non_matchings/code/z_actor/Actor_RecordUndrawnActor.s,Actor_RecordUndrawnActor,0x800B9E4C,0xE +asm/non_matchings/code/z_actor/func_800B9E84.s,func_800B9E84,0x800B9E84,0x1C +asm/non_matchings/code/z_actor/func_800B9EF4.s,func_800B9EF4,0x800B9EF4,0xF9 +asm/non_matchings/code/z_actor/func_800BA2D8.s,func_800BA2D8,0x800BA2D8,0x9 +asm/non_matchings/code/z_actor/func_800BA2FC.s,func_800BA2FC,0x800BA2FC,0x4C +asm/non_matchings/code/z_actor/Actor_DrawAll.s,Actor_DrawAll,0x800BA42C,0xB4 +asm/non_matchings/code/z_actor/func_800BA6FC.s,func_800BA6FC,0x800BA6FC,0x27 +asm/non_matchings/code/z_actor/func_800BA798.s,func_800BA798,0x800BA798,0x48 +asm/non_matchings/code/z_actor/func_800BA8B8.s,func_800BA8B8,0x800BA8B8,0x3F +asm/non_matchings/code/z_actor/func_800BA9B4.s,func_800BA9B4,0x800BA9B4,0x40 +asm/non_matchings/code/z_actor/Actor_InsertIntoTypeList.s,Actor_InsertIntoTypeList,0x800BAAB4,0x1C +asm/non_matchings/code/z_actor/Actor_RemoveFromTypeList.s,Actor_RemoveFromTypeList,0x800BAB24,0x36 +asm/non_matchings/code/z_actor/Actor_FreeOverlay.s,Actor_FreeOverlay,0x800BABFC,0x19 +asm/non_matchings/code/z_actor/Actor_Spawn.s,Actor_Spawn,0x800BAC60,0x1D +asm/non_matchings/code/z_actor/Actor_LoadOverlay.s,Actor_LoadOverlay,0x800BACD4,0x50 +asm/non_matchings/code/z_actor/Actor_SpawnWithParentAndCutscene.s,Actor_SpawnWithParentAndCutscene,0x800BAE14,0xAB +asm/non_matchings/code/z_actor/Actor_SpawnWithParent.s,Actor_SpawnWithParent,0x800BB0C0,0x20 +asm/non_matchings/code/z_actor/Actor_SpawnTransitionActors.s,Actor_SpawnTransitionActors,0x800BB140,0x64 +asm/non_matchings/code/z_actor/func_800BB2D0.s,func_800BB2D0,0x800BB2D0,0x72 +asm/non_matchings/code/z_actor/func_800BB498.s,func_800BB498,0x800BB498,0x41 +asm/non_matchings/code/z_actor/func_800BB59C.s,func_800BB59C,0x800BB59C,0x1A +asm/non_matchings/code/z_actor/func_800BB604.s,func_800BB604,0x800BB604,0xBA +asm/non_matchings/code/z_actor/func_800BB8EC.s,func_800BB8EC,0x800BB8EC,0x67 +asm/non_matchings/code/z_actor/func_800BBA88.s,func_800BBA88,0x800BBA88,0xE +asm/non_matchings/code/z_actor/func_800BBAC0.s,func_800BBAC0,0x800BBAC0,0x2D +asm/non_matchings/code/z_actor/func_800BBB74.s,func_800BBB74,0x800BBB74,0x2B +asm/non_matchings/code/z_actor/func_800BBC20.s,func_800BBC20,0x800BBC20,0x33 +asm/non_matchings/code/z_actor/func_800BBCEC.s,func_800BBCEC,0x800BBCEC,0x30 +asm/non_matchings/code/z_actor/func_800BBDAC.s,func_800BBDAC,0x800BBDAC,0x81 +asm/non_matchings/code/z_actor/func_800BBFB0.s,func_800BBFB0,0x800BBFB0,0x69 +asm/non_matchings/code/z_actor/func_800BC154.s,func_800BC154,0x800BC154,0xD +asm/non_matchings/code/z_actor/func_800BC188.s,func_800BC188,0x800BC188,0xB +asm/non_matchings/code/z_actor/func_800BC1B4.s,func_800BC1B4,0x800BC1B4,0x2F +asm/non_matchings/code/z_actor/func_800BC270.s,func_800BC270,0x800BC270,0x75 +asm/non_matchings/code/z_actor/func_800BC444.s,func_800BC444,0x800BC444,0x2A +asm/non_matchings/code/z_actor/func_800BC4EC.s,func_800BC4EC,0x800BC4EC,0x33 +asm/non_matchings/code/z_actor/func_800BC5B8.s,func_800BC5B8,0x800BC5B8,0xD +asm/non_matchings/code/z_actor/func_800BC5EC.s,func_800BC5EC,0x800BC5EC,0xD +asm/non_matchings/code/z_actor/func_800BC620.s,func_800BC620,0x800BC620,0x54 +asm/non_matchings/code/z_actor/func_800BC770.s,func_800BC770,0x800BC770,0x1A +asm/non_matchings/code/z_actor/func_800BC7D8.s,func_800BC7D8,0x800BC7D8,0x1C +asm/non_matchings/code/z_actor/func_800BC848.s,func_800BC848,0x800BC848,0x1C +asm/non_matchings/code/z_actor/func_800BC8B8.s,func_800BC8B8,0x800BC8B8,0xA6 +asm/non_matchings/code/z_actor/func_800BCB50.s,func_800BCB50,0x800BCB50,0x8 +asm/non_matchings/code/z_actor/func_800BCB70.s,func_800BCB70,0x800BCB70,0x21 +asm/non_matchings/code/z_actor/func_800BCBF4.s,func_800BCBF4,0x800BCBF4,0x1D +asm/non_matchings/code/z_actor/func_800BCC68.s,func_800BCC68,0x800BCC68,0x1D +asm/non_matchings/code/z_actor/func_800BCCDC.s,func_800BCCDC,0x800BCCDC,0x176 +asm/non_matchings/code/z_actor/func_800BD2B4.s,func_800BD2B4,0x800BD2B4,0x34 +asm/non_matchings/code/z_actor/func_800BD384.s,func_800BD384,0x800BD384,0xCD +asm/non_matchings/code/z_actor/func_800BD6B8.s,func_800BD6B8,0x800BD6B8,0xB +asm/non_matchings/code/z_actor/func_800BD6E4.s,func_800BD6E4,0x800BD6E4,0x69 +asm/non_matchings/code/z_actor/func_800BD888.s,func_800BD888,0x800BD888,0x46 +asm/non_matchings/code/z_actor/func_800BD9A0.s,func_800BD9A0,0x800BD9A0,0x10 +asm/non_matchings/code/z_actor/func_800BD9E0.s,func_800BD9E0,0x800BD9E0,0x30 +asm/non_matchings/code/z_actor/func_800BDAA0.s,func_800BDAA0,0x800BDAA0,0x33 +asm/non_matchings/code/z_actor/func_800BDB6C.s,func_800BDB6C,0x800BDB6C,0x3C +asm/non_matchings/code/z_actor/func_800BDC5C.s,func_800BDC5C,0x800BDC5C,0x26 +asm/non_matchings/code/z_actor/func_800BDCF4.s,func_800BDCF4,0x800BDCF4,0xAF +asm/non_matchings/code/z_actor/Actor_Noop.s,Actor_Noop,0x800BDFB0,0x4 +asm/non_matchings/code/z_actor/func_800BDFC0.s,func_800BDFC0,0x800BDFC0,0x1F +asm/non_matchings/code/z_actor/func_800BE03C.s,func_800BE03C,0x800BE03C,0x1F +asm/non_matchings/code/z_actor/func_800BE0B8.s,func_800BE0B8,0x800BE0B8,0x33 +asm/non_matchings/code/z_actor/func_800BE184.s,func_800BE184,0x800BE184,0x2A +asm/non_matchings/code/z_actor/func_800BE22C.s,func_800BE22C,0x800BE22C,0xB +asm/non_matchings/code/z_actor/func_800BE258.s,func_800BE258,0x800BE258,0x18 +asm/non_matchings/code/z_actor/func_800BE2B8.s,func_800BE2B8,0x800BE2B8,0x21 +asm/non_matchings/code/z_actor/func_800BE33C.s,func_800BE33C,0x800BE33C,0x25 +asm/non_matchings/code/z_actor/func_800BE3D0.s,func_800BE3D0,0x800BE3D0,0x4D +asm/non_matchings/code/z_actor/func_800BE504.s,func_800BE504,0x800BE504,0x19 +asm/non_matchings/code/z_actor/func_800BE568.s,func_800BE568,0x800BE568,0x19 +asm/non_matchings/code/z_actor/func_800BE5CC.s,func_800BE5CC,0x800BE5CC,0x1C +asm/non_matchings/code/z_actor/func_800BE63C.s,func_800BE63C,0x800BE63C,0x11 +asm/non_matchings/code/z_actor/func_800BE680.s,func_800BE680,0x800BE680,0x453 +asm/non_matchings/code/z_actor/func_800BF7CC.s,func_800BF7CC,0x800BF7CC,0x75 +asm/non_matchings/code/z_actor_dlftbls/ActorOverlayTable_FaultPrint.s,ActorOverlayTable_FaultPrint,0x800BF9A0,0x36 +asm/non_matchings/code/z_actor_dlftbls/ActorOverlayTable_FaultAddrConv.s,ActorOverlayTable_FaultAddrConv,0x800BFA78,0x1C +asm/non_matchings/code/z_actor_dlftbls/ActorOverlayTable_Init.s,ActorOverlayTable_Init,0x800BFAE8,0x16 +asm/non_matchings/code/z_actor_dlftbls/ActorOverlayTable_Cleanup.s,ActorOverlayTable_Cleanup,0x800BFB40,0x10 +asm/non_matchings/code/z_bgcheck/BgCheck_PolygonLinkedListNodeInit.s,BgCheck_PolygonLinkedListNodeInit,0x800BFB80,0x7 +asm/non_matchings/code/z_bgcheck/BgCheck_PolygonLinkedListResetHead.s,BgCheck_PolygonLinkedListResetHead,0x800BFB9C,0x4 +asm/non_matchings/code/z_bgcheck/BgCheck_ScenePolygonListsNodeInsert.s,BgCheck_ScenePolygonListsNodeInsert,0x800BFBAC,0x16 +asm/non_matchings/code/z_bgcheck/BgCheck_PolygonLinkedListNodeInsert.s,BgCheck_PolygonLinkedListNodeInsert,0x800BFC04,0x16 +asm/non_matchings/code/z_bgcheck/BgCheck_PolygonLinkedListInit.s,BgCheck_PolygonLinkedListInit,0x800BFC5C,0x5 +asm/non_matchings/code/z_bgcheck/BgCheck_PolygonLinkedListAlloc.s,BgCheck_PolygonLinkedListAlloc,0x800BFC70,0x14 +asm/non_matchings/code/z_bgcheck/BgCheck_PolygonLinkedListReset.s,BgCheck_PolygonLinkedListReset,0x800BFCC0,0x3 +asm/non_matchings/code/z_bgcheck/BgCheck_AllocPolygonLinkedListNode.s,BgCheck_AllocPolygonLinkedListNode,0x800BFCCC,0xC +asm/non_matchings/code/z_bgcheck/BgCheck_CreateVec3fFromVertex.s,BgCheck_CreateVec3fFromVertex,0x800BFCFC,0x11 +asm/non_matchings/code/z_bgcheck/BgCheck_CreateVertexFromVec3f.s,BgCheck_CreateVertexFromVec3f,0x800BFD40,0x11 +asm/non_matchings/code/z_bgcheck/func_800BFD84.s,func_800BFD84,0x800BFD84,0x1A +asm/non_matchings/code/z_bgcheck/func_800BFDEC.s,func_800BFDEC,0x800BFDEC,0x76 +asm/non_matchings/code/z_bgcheck/BgCheck_PolygonGetMinY.s,BgCheck_PolygonGetMinY,0x800BFFC4,0x1E +asm/non_matchings/code/z_bgcheck/BgCheck_PolygonGetNormal.s,BgCheck_PolygonGetNormal,0x800C003C,0x16 +asm/non_matchings/code/z_bgcheck/func_800C0094.s,func_800C0094,0x800C0094,0x49 +asm/non_matchings/code/z_bgcheck/func_800C01B8.s,func_800C01B8,0x800C01B8,0x1A +asm/non_matchings/code/z_bgcheck/BgCheck_CreateTriNormFromPolygon.s,BgCheck_CreateTriNormFromPolygon,0x800C0220,0x28 +asm/non_matchings/code/z_bgcheck/func_800C02C0.s,func_800C02C0,0x800C02C0,0x20 +asm/non_matchings/code/z_bgcheck/func_800C0340.s,func_800C0340,0x800C0340,0x4D +asm/non_matchings/code/z_bgcheck/func_800C0474.s,func_800C0474,0x800C0474,0x7D +asm/non_matchings/code/z_bgcheck/func_800C0668.s,func_800C0668,0x800C0668,0x10 +asm/non_matchings/code/z_bgcheck/func_800C06A8.s,func_800C06A8,0x800C06A8,0x29 +asm/non_matchings/code/z_bgcheck/func_800C074C.s,func_800C074C,0x800C074C,0x29 +asm/non_matchings/code/z_bgcheck/func_800C07F0.s,func_800C07F0,0x800C07F0,0xC0 +asm/non_matchings/code/z_bgcheck/BgCheck_PolygonCollidesWithSphere.s,BgCheck_PolygonCollidesWithSphere,0x800C0AF0,0x34 +asm/non_matchings/code/z_bgcheck/BgCheck_ScenePolygonListsInsertSorted.s,BgCheck_ScenePolygonListsInsertSorted,0x800C0BC0,0x88 +asm/non_matchings/code/z_bgcheck/BgCheck_ScenePolygonListsInsert.s,BgCheck_ScenePolygonListsInsert,0x800C0DE0,0x25 +asm/non_matchings/code/z_bgcheck/func_800C0E74.s,func_800C0E74,0x800C0E74,0xA2 +asm/non_matchings/code/z_bgcheck/func_800C10FC.s,func_800C10FC,0x800C10FC,0x4F +asm/non_matchings/code/z_bgcheck/func_800C1238.s,func_800C1238,0x800C1238,0x1B +asm/non_matchings/code/z_bgcheck/func_800C12A4.s,func_800C12A4,0x800C12A4,0x231 +asm/non_matchings/code/z_bgcheck/func_800C1B68.s,func_800C1B68,0x800C1B68,0x85 +asm/non_matchings/code/z_bgcheck/func_800C1D7C.s,func_800C1D7C,0x800C1D7C,0xA3 +asm/non_matchings/code/z_bgcheck/func_800C2008.s,func_800C2008,0x800C2008,0x3B +asm/non_matchings/code/z_bgcheck/func_800C20F4.s,func_800C20F4,0x800C20F4,0x87 +asm/non_matchings/code/z_bgcheck/func_800C2310.s,func_800C2310,0x800C2310,0x54 +asm/non_matchings/code/z_bgcheck/func_800C2460.s,func_800C2460,0x800C2460,0x2D +asm/non_matchings/code/z_bgcheck/func_800C2514.s,func_800C2514,0x800C2514,0x33 +asm/non_matchings/code/z_bgcheck/func_800C25E0.s,func_800C25E0,0x800C25E0,0x38 +asm/non_matchings/code/z_bgcheck/BgCheck_GetPolyMinSubdivisions.s,BgCheck_GetPolyMinSubdivisions,0x800C26C0,0x69 +asm/non_matchings/code/z_bgcheck/BgCheck_GetPolyMaxSubdivisions.s,BgCheck_GetPolyMaxSubdivisions,0x800C2864,0x73 +asm/non_matchings/code/z_bgcheck/BgCheck_GetPolyMinMaxSubdivisions.s,BgCheck_GetPolyMinMaxSubdivisions,0x800C2A30,0x6C +asm/non_matchings/code/z_bgcheck/func_800C2BE0.s,func_800C2BE0,0x800C2BE0,0x1D5 +asm/non_matchings/code/z_bgcheck/BgCheck_SplitScenePolygonsIntoSubdivisions.s,BgCheck_SplitScenePolygonsIntoSubdivisions,0x800C3334,0x100 +asm/non_matchings/code/z_bgcheck/BgCheck_GetIsDefaultSpecialScene.s,BgCheck_GetIsDefaultSpecialScene,0x800C3734,0x11 +asm/non_matchings/code/z_bgcheck/BgCheck_GetSpecialSceneMaxMemory.s,BgCheck_GetSpecialSceneMaxMemory,0x800C3778,0x11 +asm/non_matchings/code/z_bgcheck/BgCheck_CalcSubdivisionSize.s,BgCheck_CalcSubdivisionSize,0x800C37BC,0x22 +asm/non_matchings/code/z_bgcheck/BgCheck_GetSpecialSceneMaxObjects.s,BgCheck_GetSpecialSceneMaxObjects,0x800C3844,0x16 +asm/non_matchings/code/z_bgcheck/BgCheck_Init.s,BgCheck_Init,0x800C389C,0xD9 +asm/non_matchings/code/z_bgcheck/func_800C3C00.s,func_800C3C00,0x800C3C00,0x5 +asm/non_matchings/code/z_bgcheck/func_800C3C14.s,func_800C3C14,0x800C3C14,0x6 +asm/non_matchings/code/z_bgcheck/BgCheck_GetActorMeshHeader.s,BgCheck_GetActorMeshHeader,0x800C3C2C,0x1A +asm/non_matchings/code/z_bgcheck/func_800C3C94.s,func_800C3C94,0x800C3C94,0x2F +asm/non_matchings/code/z_bgcheck/func_800C3D50.s,func_800C3D50,0x800C3D50,0x7C +asm/non_matchings/code/z_bgcheck/func_800C3F40.s,func_800C3F40,0x800C3F40,0x18 +asm/non_matchings/code/z_bgcheck/func_800C3FA0.s,func_800C3FA0,0x800C3FA0,0x18 +asm/non_matchings/code/z_bgcheck/func_800C4000.s,func_800C4000,0x800C4000,0x16 +asm/non_matchings/code/z_bgcheck/func_800C4058.s,func_800C4058,0x800C4058,0x17 +asm/non_matchings/code/z_bgcheck/func_800C40B4.s,func_800C40B4,0x800C40B4,0x1A +asm/non_matchings/code/z_bgcheck/func_800C411C.s,func_800C411C,0x800C411C,0x1B +asm/non_matchings/code/z_bgcheck/func_800C4188.s,func_800C4188,0x800C4188,0x17 +asm/non_matchings/code/z_bgcheck/func_800C41E4.s,func_800C41E4,0x800C41E4,0x17 +asm/non_matchings/code/z_bgcheck/func_800C4240.s,func_800C4240,0x800C4240,0x1A +asm/non_matchings/code/z_bgcheck/func_800C42A8.s,func_800C42A8,0x800C42A8,0x1B +asm/non_matchings/code/z_bgcheck/func_800C4314.s,func_800C4314,0x800C4314,0x2E +asm/non_matchings/code/z_bgcheck/func_800C43CC.s,func_800C43CC,0x800C43CC,0x2F +asm/non_matchings/code/z_bgcheck/func_800C4488.s,func_800C4488,0x800C4488,0x1A +asm/non_matchings/code/z_bgcheck/func_800C44F0.s,func_800C44F0,0x800C44F0,0x1B +asm/non_matchings/code/z_bgcheck/func_800C455C.s,func_800C455C,0x800C455C,0x1A +asm/non_matchings/code/z_bgcheck/func_800C45C4.s,func_800C45C4,0x800C45C4,0x1AC +asm/non_matchings/code/z_bgcheck/func_800C4C74.s,func_800C4C74,0x800C4C74,0x19 +asm/non_matchings/code/z_bgcheck/func_800C4CD8.s,func_800C4CD8,0x800C4CD8,0x19 +asm/non_matchings/code/z_bgcheck/func_800C4D3C.s,func_800C4D3C,0x800C4D3C,0x1A +asm/non_matchings/code/z_bgcheck/func_800C4DA4.s,func_800C4DA4,0x800C4DA4,0x1B +asm/non_matchings/code/z_bgcheck/func_800C4E10.s,func_800C4E10,0x800C4E10,0x4A +asm/non_matchings/code/z_bgcheck/func_800C4F38.s,func_800C4F38,0x800C4F38,0x13 +asm/non_matchings/code/z_bgcheck/func_800C4F84.s,func_800C4F84,0x800C4F84,0x14 +asm/non_matchings/code/z_bgcheck/func_800C4FD4.s,func_800C4FD4,0x800C4FD4,0x124 +asm/non_matchings/code/z_bgcheck/func_800C5464.s,func_800C5464,0x800C5464,0x12 +asm/non_matchings/code/z_bgcheck/func_800C54AC.s,func_800C54AC,0x800C54AC,0x23 +asm/non_matchings/code/z_bgcheck/func_800C5538.s,func_800C5538,0x800C5538,0x23 +asm/non_matchings/code/z_bgcheck/func_800C55C4.s,func_800C55C4,0x800C55C4,0x23 +asm/non_matchings/code/z_bgcheck/func_800C5650.s,func_800C5650,0x800C5650,0x24 +asm/non_matchings/code/z_bgcheck/func_800C56E0.s,func_800C56E0,0x800C56E0,0x23 +asm/non_matchings/code/z_bgcheck/func_800C576C.s,func_800C576C,0x800C576C,0x23 +asm/non_matchings/code/z_bgcheck/func_800C57F8.s,func_800C57F8,0x800C57F8,0x11 +asm/non_matchings/code/z_bgcheck/func_800C583C.s,func_800C583C,0x800C583C,0x23 +asm/non_matchings/code/z_bgcheck/func_800C58C8.s,func_800C58C8,0x800C58C8,0x23 +asm/non_matchings/code/z_bgcheck/func_800C5954.s,func_800C5954,0x800C5954,0x33 +asm/non_matchings/code/z_bgcheck/func_800C5A20.s,func_800C5A20,0x800C5A20,0x11 +asm/non_matchings/code/z_bgcheck/func_800C5A64.s,func_800C5A64,0x800C5A64,0x12 +asm/non_matchings/code/z_bgcheck/BgCheck_ScenePolygonListsInit.s,BgCheck_ScenePolygonListsInit,0x800C5AAC,0x6 +asm/non_matchings/code/z_bgcheck/BgCheck_ScenePolygonListsAlloc.s,BgCheck_ScenePolygonListsAlloc,0x800C5AC4,0x2F +asm/non_matchings/code/z_bgcheck/func_800C5B80.s,func_800C5B80,0x800C5B80,0xF +asm/non_matchings/code/z_bgcheck/BgCheck_ScenePolygonListsReserveNode.s,BgCheck_ScenePolygonListsReserveNode,0x800C5BBC,0x5 +asm/non_matchings/code/z_bgcheck/BgCheck_ActorMeshParamsInit.s,BgCheck_ActorMeshParamsInit,0x800C5BD0,0xF +asm/non_matchings/code/z_bgcheck/BgCheck_SetActorMeshParams.s,BgCheck_SetActorMeshParams,0x800C5C0C,0x14 +asm/non_matchings/code/z_bgcheck/BgCheck_AreActorMeshParamsEqual.s,BgCheck_AreActorMeshParamsEqual,0x800C5C5C,0x35 +asm/non_matchings/code/z_bgcheck/BgCheck_ActorMeshPolyListsHeadsInit.s,BgCheck_ActorMeshPolyListsHeadsInit,0x800C5D30,0x10 +asm/non_matchings/code/z_bgcheck/BgCheck_ActorMeshPolyListsInit.s,BgCheck_ActorMeshPolyListsInit,0x800C5D70,0x8 +asm/non_matchings/code/z_bgcheck/BgCheck_ActorMeshVerticesIndexInit.s,BgCheck_ActorMeshVerticesIndexInit,0x800C5D90,0x3 +asm/non_matchings/code/z_bgcheck/BgCheck_ActorMeshWaterboxesIndexInit.s,BgCheck_ActorMeshWaterboxesIndexInit,0x800C5D9C,0x3 +asm/non_matchings/code/z_bgcheck/BgCheck_ActorMeshInit.s,BgCheck_ActorMeshInit,0x800C5DA8,0x1A +asm/non_matchings/code/z_bgcheck/BgCheck_ActorMeshInitFromActor.s,BgCheck_ActorMeshInitFromActor,0x800C5E10,0x2E +asm/non_matchings/code/z_bgcheck/BgCheck_HasActorMeshChanged.s,BgCheck_HasActorMeshChanged,0x800C5EC8,0xA +asm/non_matchings/code/z_bgcheck/BgCheck_PolygonsInit.s,BgCheck_PolygonsInit,0x800C5EF0,0x3 +asm/non_matchings/code/z_bgcheck/BgCheck_PolygonsAlloc.s,BgCheck_PolygonsAlloc,0x800C5EFC,0xF +asm/non_matchings/code/z_bgcheck/BgCheck_VerticesInit.s,BgCheck_VerticesInit,0x800C5F38,0x3 +asm/non_matchings/code/z_bgcheck/BgCheck_VerticesListAlloc.s,BgCheck_VerticesListAlloc,0x800C5F44,0x12 +asm/non_matchings/code/z_bgcheck/BgCheck_WaterboxListInit.s,BgCheck_WaterboxListInit,0x800C5F8C,0x4 +asm/non_matchings/code/z_bgcheck/BgCheck_WaterboxListAlloc.s,BgCheck_WaterboxListAlloc,0x800C5F9C,0xF +asm/non_matchings/code/z_bgcheck/BgCheck_ActorMeshUpdateParams.s,BgCheck_ActorMeshUpdateParams,0x800C5FD8,0x13 +asm/non_matchings/code/z_bgcheck/BgCheck_IsActorMeshIndexValid.s,BgCheck_IsActorMeshIndexValid,0x800C6024,0x8 +asm/non_matchings/code/z_bgcheck/BgCheck_DynaInit.s,BgCheck_DynaInit,0x800C6044,0x15 +asm/non_matchings/code/z_bgcheck/BgCheck_DynaAlloc.s,BgCheck_DynaAlloc,0x800C6098,0x3C +asm/non_matchings/code/z_bgcheck/BgCheck_AddActorMesh.s,BgCheck_AddActorMesh,0x800C6188,0x30 +asm/non_matchings/code/z_bgcheck/BgCheck_GetActorOfMesh.s,BgCheck_GetActorOfMesh,0x800C6248,0x1D +asm/non_matchings/code/z_bgcheck/func_800C62BC.s,func_800C62BC,0x800C62BC,0x16 +asm/non_matchings/code/z_bgcheck/func_800C6314.s,func_800C6314,0x800C6314,0x16 +asm/non_matchings/code/z_bgcheck/func_800C636C.s,func_800C636C,0x800C636C,0x16 +asm/non_matchings/code/z_bgcheck/func_800C63C4.s,func_800C63C4,0x800C63C4,0x16 +asm/non_matchings/code/z_bgcheck/func_800C641C.s,func_800C641C,0x800C641C,0x16 +asm/non_matchings/code/z_bgcheck/func_800C6474.s,func_800C6474,0x800C6474,0x16 +asm/non_matchings/code/z_bgcheck/BgCheck_RemoveActorMesh.s,BgCheck_RemoveActorMesh,0x800C64CC,0x22 +asm/non_matchings/code/z_bgcheck/func_800C6554.s,func_800C6554,0x800C6554,0x6 +asm/non_matchings/code/z_bgcheck/BgCheck_CalcWaterboxDimensions.s,BgCheck_CalcWaterboxDimensions,0x800C656C,0xB3 +asm/non_matchings/code/z_bgcheck/BgCheck_AddActorMeshToLists.s,BgCheck_AddActorMeshToLists,0x800C6838,0x2C5 +asm/non_matchings/code/z_bgcheck/BgCheck_ResetFlagsIfLoadedActor.s,BgCheck_ResetFlagsIfLoadedActor,0x800C734C,0x26 +asm/non_matchings/code/z_bgcheck/BgCheck_Update.s,BgCheck_Update,0x800C73E4,0x62 +asm/non_matchings/code/z_bgcheck/func_800C756C.s,func_800C756C,0x800C756C,0x3C +asm/non_matchings/code/z_bgcheck/BgCheck_UpdateAllActorMeshes.s,BgCheck_UpdateAllActorMeshes,0x800C765C,0x24 +asm/non_matchings/code/z_bgcheck/func_800C76EC.s,func_800C76EC,0x800C76EC,0xA2 +asm/non_matchings/code/z_bgcheck/func_800C7974.s,func_800C7974,0x800C7974,0x133 +asm/non_matchings/code/z_bgcheck/func_800C7E40.s,func_800C7E40,0x800C7E40,0x1D0 +asm/non_matchings/code/z_bgcheck/func_800C8580.s,func_800C8580,0x800C8580,0x94 +asm/non_matchings/code/z_bgcheck/func_800C87D0.s,func_800C87D0,0x800C87D0,0xA4 +asm/non_matchings/code/z_bgcheck/func_800C8A60.s,func_800C8A60,0x800C8A60,0x5C +asm/non_matchings/code/z_bgcheck/func_800C8BD0.s,func_800C8BD0,0x800C8BD0,0x7C +asm/non_matchings/code/z_bgcheck/func_800C8DC0.s,func_800C8DC0,0x800C8DC0,0x4B +asm/non_matchings/code/z_bgcheck/func_800C8EEC.s,func_800C8EEC,0x800C8EEC,0x70 +asm/non_matchings/code/z_bgcheck/func_800C90AC.s,func_800C90AC,0x800C90AC,0x5C +asm/non_matchings/code/z_bgcheck/func_800C921C.s,func_800C921C,0x800C921C,0x59 +asm/non_matchings/code/z_bgcheck/func_800C9380.s,func_800C9380,0x800C9380,0x58 +asm/non_matchings/code/z_bgcheck/BgCheck_RelocateMeshHeaderPointers.s,BgCheck_RelocateMeshHeaderPointers,0x800C94E0,0x21 +asm/non_matchings/code/z_bgcheck/BgCheck_RelocateMeshHeader.s,BgCheck_RelocateMeshHeader,0x800C9564,0xD +asm/non_matchings/code/z_bgcheck/BgCheck_RelocateAllMeshHeaders.s,BgCheck_RelocateAllMeshHeaders,0x800C9598,0x2A +asm/non_matchings/code/z_bgcheck/func_800C9640.s,func_800C9640,0x800C9640,0x15 +asm/non_matchings/code/z_bgcheck/BgCheck_GetPolygonAttributes.s,BgCheck_GetPolygonAttributes,0x800C9694,0x1C +asm/non_matchings/code/z_bgcheck/func_800C9704.s,func_800C9704,0x800C9704,0x9 +asm/non_matchings/code/z_bgcheck/func_800C9728.s,func_800C9728,0x800C9728,0x12 +asm/non_matchings/code/z_bgcheck/func_800C9770.s,func_800C9770,0x800C9770,0x22 +asm/non_matchings/code/z_bgcheck/func_800C97F8.s,func_800C97F8,0x800C97F8,0x13 +asm/non_matchings/code/z_bgcheck/func_800C9844.s,func_800C9844,0x800C9844,0x22 +asm/non_matchings/code/z_bgcheck/func_800C98CC.s,func_800C98CC,0x800C98CC,0x16 +asm/non_matchings/code/z_bgcheck/func_800C9924.s,func_800C9924,0x800C9924,0x22 +asm/non_matchings/code/z_bgcheck/func_800C99AC.s,func_800C99AC,0x800C99AC,0xA +asm/non_matchings/code/z_bgcheck/func_800C99D4.s,func_800C99D4,0x800C99D4,0xA +asm/non_matchings/code/z_bgcheck/func_800C99FC.s,func_800C99FC,0x800C99FC,0xA +asm/non_matchings/code/z_bgcheck/func_800C9A24.s,func_800C9A24,0x800C9A24,0xA +asm/non_matchings/code/z_bgcheck/func_800C9A4C.s,func_800C9A4C,0x800C9A4C,0xC +asm/non_matchings/code/z_bgcheck/func_800C9A7C.s,func_800C9A7C,0x800C9A7C,0xD +asm/non_matchings/code/z_bgcheck/func_800C9AB0.s,func_800C9AB0,0x800C9AB0,0xD +asm/non_matchings/code/z_bgcheck/func_800C9AE4.s,func_800C9AE4,0x800C9AE4,0xD +asm/non_matchings/code/z_bgcheck/func_800C9B18.s,func_800C9B18,0x800C9B18,0xA +asm/non_matchings/code/z_bgcheck/func_800C9B40.s,func_800C9B40,0x800C9B40,0xA +asm/non_matchings/code/z_bgcheck/func_800C9B68.s,func_800C9B68,0x800C9B68,0xA +asm/non_matchings/code/z_bgcheck/func_800C9B90.s,func_800C9B90,0x800C9B90,0xA +asm/non_matchings/code/z_bgcheck/func_800C9BB8.s,func_800C9BB8,0x800C9BB8,0x9 +asm/non_matchings/code/z_bgcheck/func_800C9BDC.s,func_800C9BDC,0x800C9BDC,0x12 +asm/non_matchings/code/z_bgcheck/func_800C9C24.s,func_800C9C24,0x800C9C24,0x14 +asm/non_matchings/code/z_bgcheck/func_800C9C74.s,func_800C9C74,0x800C9C74,0xA +asm/non_matchings/code/z_bgcheck/func_800C9C9C.s,func_800C9C9C,0x800C9C9C,0xA +asm/non_matchings/code/z_bgcheck/func_800C9CC4.s,func_800C9CC4,0x800C9CC4,0xA +asm/non_matchings/code/z_bgcheck/func_800C9CEC.s,func_800C9CEC,0x800C9CEC,0xA +asm/non_matchings/code/z_bgcheck/func_800C9D14.s,func_800C9D14,0x800C9D14,0xF +asm/non_matchings/code/z_bgcheck/func_800C9D50.s,func_800C9D50,0x800C9D50,0xF +asm/non_matchings/code/z_bgcheck/func_800C9D8C.s,func_800C9D8C,0x800C9D8C,0x14 +asm/non_matchings/code/z_bgcheck/func_800C9DDC.s,func_800C9DDC,0x800C9DDC,0xF +asm/non_matchings/code/z_bgcheck/func_800C9E18.s,func_800C9E18,0x800C9E18,0xA +asm/non_matchings/code/z_bgcheck/func_800C9E40.s,func_800C9E40,0x800C9E40,0x12 +asm/non_matchings/code/z_bgcheck/func_800C9E88.s,func_800C9E88,0x800C9E88,0xD +asm/non_matchings/code/z_bgcheck/func_800C9EBC.s,func_800C9EBC,0x800C9EBC,0xBC +asm/non_matchings/code/z_bgcheck/func_800CA1AC.s,func_800CA1AC,0x800CA1AC,0xF +asm/non_matchings/code/z_bgcheck/func_800CA1E8.s,func_800CA1E8,0x800CA1E8,0x11 +asm/non_matchings/code/z_bgcheck/func_800CA22C.s,func_800CA22C,0x800CA22C,0xCF +asm/non_matchings/code/z_bgcheck/func_800CA568.s,func_800CA568,0x800CA568,0x33 +asm/non_matchings/code/z_bgcheck/func_800CA634.s,func_800CA634,0x800CA634,0x5 +asm/non_matchings/code/z_bgcheck/func_800CA648.s,func_800CA648,0x800CA648,0x1C +asm/non_matchings/code/z_bgcheck/func_800CA6B8.s,func_800CA6B8,0x800CA6B8,0x8 +asm/non_matchings/code/z_bgcheck/func_800CA6D8.s,func_800CA6D8,0x800CA6D8,0x6 +asm/non_matchings/code/z_bgcheck/func_800CA6F0.s,func_800CA6F0,0x800CA6F0,0xB8 +asm/non_matchings/code/z_bgcheck/func_800CA9D0.s,func_800CA9D0,0x800CA9D0,0x11 +asm/non_matchings/code/z_bgcheck/func_800CAA14.s,func_800CAA14,0x800CAA14,0x2F +asm/non_matchings/code/z_bg_collect/BgCheck2_UpdateActorPosition.s,BgCheck2_UpdateActorPosition,0x800CAAD0,0x4F +asm/non_matchings/code/z_bg_collect/BgCheck2_UpdateActorYRotation.s,BgCheck2_UpdateActorYRotation,0x800CAC0C,0x25 +asm/non_matchings/code/z_bg_collect/BgCheck2_AttachToMesh.s,BgCheck2_AttachToMesh,0x800CACA0,0x23 +asm/non_matchings/code/z_bg_collect/BgCheck2_UpdateActorAttachedToMesh.s,BgCheck2_UpdateActorAttachedToMesh,0x800CAD2C,0x39 +asm/non_matchings/code/z_bg_item/BcCheck3_BgActorInit.s,BcCheck3_BgActorInit,0x800CAE10,0x9 +asm/non_matchings/code/z_bg_item/BgCheck3_LoadMesh.s,BgCheck3_LoadMesh,0x800CAE34,0x12 +asm/non_matchings/code/z_bg_item/BgCheck3_ResetFlags.s,BgCheck3_ResetFlags,0x800CAE7C,0x3 +asm/non_matchings/code/z_bg_item/func_800CAE88.s,func_800CAE88,0x800CAE88,0x5 +asm/non_matchings/code/z_bg_item/func_800CAE9C.s,func_800CAE9C,0x800CAE9C,0x5 +asm/non_matchings/code/z_bg_item/func_800CAEB0.s,func_800CAEB0,0x800CAEB0,0xC +asm/non_matchings/code/z_bg_item/func_800CAEE0.s,func_800CAEE0,0x800CAEE0,0x5 +asm/non_matchings/code/z_bg_item/func_800CAEF4.s,func_800CAEF4,0x800CAEF4,0xC +asm/non_matchings/code/z_bg_item/func_800CAF24.s,func_800CAF24,0x800CAF24,0x5 +asm/non_matchings/code/z_bg_item/func_800CAF38.s,func_800CAF38,0x800CAF38,0x5 +asm/non_matchings/code/z_bg_item/func_800CAF4C.s,func_800CAF4C,0x800CAF4C,0x9 +asm/non_matchings/code/z_bg_item/func_800CAF70.s,func_800CAF70,0x800CAF70,0x9 +asm/non_matchings/code/z_bg_item/func_800CAF94.s,func_800CAF94,0x800CAF94,0x9 +asm/non_matchings/code/z_bg_item/func_800CAFB8.s,func_800CAFB8,0x800CAFB8,0x9 +asm/non_matchings/code/z_bg_item/func_800CAFDC.s,func_800CAFDC,0x800CAFDC,0x9 +asm/non_matchings/code/code_800CB000/func_800CB000.s,func_800CB000,0x800CB000,0x84 +asm/non_matchings/code/z_camera/Camera_fabsf.s,Camera_fabsf,0x800CB210,0xC +asm/non_matchings/code/z_camera/Camera_LengthVec3f.s,Camera_LengthVec3f,0x800CB240,0xC +asm/non_matchings/code/z_camera/func_800CB270.s,func_800CB270,0x800CB270,0x30 +asm/non_matchings/code/z_camera/Camera_Lerpf.s,Camera_Lerpf,0x800CB330,0x1A +asm/non_matchings/code/z_camera/Camera_Lerps.s,Camera_Lerps,0x800CB398,0x25 +asm/non_matchings/code/z_camera/func_800CB42C.s,func_800CB42C,0x800CB42C,0x25 +asm/non_matchings/code/z_camera/Camera_LerpVec3f.s,Camera_LerpVec3f,0x800CB4C0,0x21 +asm/non_matchings/code/z_camera/func_800CB544.s,func_800CB544,0x800CB544,0x10 +asm/non_matchings/code/z_camera/func_800CB584.s,func_800CB584,0x800CB584,0x16 +asm/non_matchings/code/z_camera/func_800CB5DC.s,func_800CB5DC,0x800CB5DC,0xC +asm/non_matchings/code/z_camera/func_800CB60C.s,func_800CB60C,0x800CB60C,0x1A +asm/non_matchings/code/z_camera/func_800CB674.s,func_800CB674,0x800CB674,0x15 +asm/non_matchings/code/z_camera/func_800CB6C8.s,func_800CB6C8,0x800CB6C8,0xE +asm/non_matchings/code/z_camera/func_800CB700.s,func_800CB700,0x800CB700,0x20 +asm/non_matchings/code/z_camera/func_800CB780.s,func_800CB780,0x800CB780,0x13 +asm/non_matchings/code/z_camera/func_800CB7CC.s,func_800CB7CC,0x800CB7CC,0xB +asm/non_matchings/code/z_camera/func_800CB7F8.s,func_800CB7F8,0x800CB7F8,0xC +asm/non_matchings/code/z_camera/func_800CB828.s,func_800CB828,0x800CB828,0xB +asm/non_matchings/code/z_camera/func_800CB854.s,func_800CB854,0x800CB854,0xB +asm/non_matchings/code/z_camera/func_800CB880.s,func_800CB880,0x800CB880,0x12 +asm/non_matchings/code/z_camera/func_800CB8C8.s,func_800CB8C8,0x800CB8C8,0xB +asm/non_matchings/code/z_camera/func_800CB8F4.s,func_800CB8F4,0x800CB8F4,0xC +asm/non_matchings/code/z_camera/func_800CB924.s,func_800CB924,0x800CB924,0xB +asm/non_matchings/code/z_camera/func_800CB950.s,func_800CB950,0x800CB950,0x2E +asm/non_matchings/code/z_camera/func_800CBA08.s,func_800CBA08,0x800CBA08,0xB +asm/non_matchings/code/z_camera/func_800CBA34.s,func_800CBA34,0x800CBA34,0x12 +asm/non_matchings/code/z_camera/func_800CBA7C.s,func_800CBA7C,0x800CBA7C,0xC +asm/non_matchings/code/z_camera/func_800CBAAC.s,func_800CBAAC,0x800CBAAC,0xA +asm/non_matchings/code/z_camera/func_800CBAD4.s,func_800CBAD4,0x800CBAD4,0x21 +asm/non_matchings/code/z_camera/func_800CBB58.s,func_800CBB58,0x800CBB58,0xC +asm/non_matchings/code/z_camera/func_800CBB88.s,func_800CBB88,0x800CBB88,0x1E +asm/non_matchings/code/z_camera/func_800CBC00.s,func_800CBC00,0x800CBC00,0xC +asm/non_matchings/code/z_camera/func_800CBC30.s,func_800CBC30,0x800CBC30,0x15 +asm/non_matchings/code/z_camera/func_800CBC84.s,func_800CBC84,0x800CBC84,0xC8 +asm/non_matchings/code/z_camera/func_800CBFA4.s,func_800CBFA4,0x800CBFA4,0x17 +asm/non_matchings/code/z_camera/func_800CC000.s,func_800CC000,0x800CC000,0x4A +asm/non_matchings/code/z_camera/func_800CC128.s,func_800CC128,0x800CC128,0x27 +asm/non_matchings/code/z_camera/func_800CC1C4.s,func_800CC1C4,0x800CC1C4,0x27 +asm/non_matchings/code/z_camera/func_800CC260.s,func_800CC260,0x800CC260,0x8A +asm/non_matchings/code/z_camera/func_800CC488.s,func_800CC488,0x800CC488,0x39 +asm/non_matchings/code/z_camera/func_800CC56C.s,func_800CC56C,0x800CC56C,0x17 +asm/non_matchings/code/z_camera/func_800CC5C8.s,func_800CC5C8,0x800CC5C8,0x5E +asm/non_matchings/code/z_camera/func_800CC740.s,func_800CC740,0x800CC740,0x1A +asm/non_matchings/code/z_camera/func_800CC7A8.s,func_800CC7A8,0x800CC7A8,0x17 +asm/non_matchings/code/z_camera/func_800CC804.s,func_800CC804,0x800CC804,0x1C +asm/non_matchings/code/z_camera/func_800CC874.s,func_800CC874,0x800CC874,0x31 +asm/non_matchings/code/z_camera/func_800CC938.s,func_800CC938,0x800CC938,0x8 +asm/non_matchings/code/z_camera/func_800CC958.s,func_800CC958,0x800CC958,0x1A +asm/non_matchings/code/z_camera/func_800CC9C0.s,func_800CC9C0,0x800CC9C0,0xCB +asm/non_matchings/code/z_camera/func_800CCCEC.s,func_800CCCEC,0x800CCCEC,0xD8 +asm/non_matchings/code/z_camera/func_800CD04C.s,func_800CD04C,0x800CD04C,0x8F +asm/non_matchings/code/z_camera/func_800CD288.s,func_800CD288,0x800CD288,0x16 +asm/non_matchings/code/z_camera/func_800CD2E0.s,func_800CD2E0,0x800CD2E0,0x4 +asm/non_matchings/code/z_camera/func_800CD2F0.s,func_800CD2F0,0x800CD2F0,0x3D +asm/non_matchings/code/z_camera/func_800CD3E4.s,func_800CD3E4,0x800CD3E4,0x1A +asm/non_matchings/code/z_camera/func_800CD44C.s,func_800CD44C,0x800CD44C,0x7A +asm/non_matchings/code/z_camera/func_800CD634.s,func_800CD634,0x800CD634,0x26 +asm/non_matchings/code/z_camera/func_800CD6CC.s,func_800CD6CC,0x800CD6CC,0xB +asm/non_matchings/code/z_camera/func_800CD6F8.s,func_800CD6F8,0x800CD6F8,0x4F +asm/non_matchings/code/z_camera/func_800CD834.s,func_800CD834,0x800CD834,0x78 +asm/non_matchings/code/z_camera/func_800CDA14.s,func_800CDA14,0x800CDA14,0x56 +asm/non_matchings/code/z_camera/func_800CDB6C.s,func_800CDB6C,0x800CDB6C,0xC0 +asm/non_matchings/code/z_camera/func_800CDE6C.s,func_800CDE6C,0x800CDE6C,0x113 +asm/non_matchings/code/z_camera/func_800CE2B8.s,func_800CE2B8,0x800CE2B8,0xCA +asm/non_matchings/code/z_camera/func_800CE5E0.s,func_800CE5E0,0x800CE5E0,0x6F +asm/non_matchings/code/z_camera/func_800CE79C.s,func_800CE79C,0x800CE79C,0x65 +asm/non_matchings/code/z_camera/func_800CE930.s,func_800CE930,0x800CE930,0x6A +asm/non_matchings/code/z_camera/func_800CEAD8.s,func_800CEAD8,0x800CEAD8,0x58 +asm/non_matchings/code/z_camera/func_800CEC38.s,func_800CEC38,0x800CEC38,0x56 +asm/non_matchings/code/z_camera/func_800CED90.s,func_800CED90,0x800CED90,0x185 +asm/non_matchings/code/z_camera/Camera_ModeNop.s,Camera_ModeNop,0x800CF3A4,0x4 +asm/non_matchings/code/z_camera/Camera_ModeNORM1.s,Camera_ModeNORM1,0x800CF3B4,0x530 +asm/non_matchings/code/z_camera/Camera_ModeNORM2.s,Camera_ModeNORM2,0x800D0874,0x8 +asm/non_matchings/code/z_camera/Camera_ModeNORM3.s,Camera_ModeNORM3,0x800D0894,0x265 +asm/non_matchings/code/z_camera/Camera_ModeNORM4.s,Camera_ModeNORM4,0x800D1228,0x24 +asm/non_matchings/code/z_camera/Camera_ModeNORM0.s,Camera_ModeNORM0,0x800D12B8,0x1F0 +asm/non_matchings/code/z_camera/Camera_ModePARA1.s,Camera_ModePARA1,0x800D1A78,0x40C +asm/non_matchings/code/z_camera/Camera_ModePARA2.s,Camera_ModePARA2,0x800D2AA8,0x8 +asm/non_matchings/code/z_camera/Camera_ModePARA3.s,Camera_ModePARA3,0x800D2AC8,0x8 +asm/non_matchings/code/z_camera/Camera_ModePARA4.s,Camera_ModePARA4,0x800D2AE8,0x8 +asm/non_matchings/code/z_camera/Camera_ModePARA0.s,Camera_ModePARA0,0x800D2B08,0x8 +asm/non_matchings/code/z_camera/Camera_ModeJUMP1.s,Camera_ModeJUMP1,0x800D2B28,0x8 +asm/non_matchings/code/z_camera/Camera_ModeJUMP2.s,Camera_ModeJUMP2,0x800D2B48,0x276 +asm/non_matchings/code/z_camera/Camera_ModeJUMP3.s,Camera_ModeJUMP3,0x800D3520,0x330 +asm/non_matchings/code/z_camera/Camera_ModeJUMP4.s,Camera_ModeJUMP4,0x800D41E0,0x8 +asm/non_matchings/code/z_camera/Camera_ModeJUMP0.s,Camera_ModeJUMP0,0x800D4200,0x8 +asm/non_matchings/code/z_camera/Camera_ModeBATT1.s,Camera_ModeBATT1,0x800D4220,0x4E2 +asm/non_matchings/code/z_camera/Camera_ModeBATT2.s,Camera_ModeBATT2,0x800D55A8,0x8 +asm/non_matchings/code/z_camera/Camera_ModeBATT3.s,Camera_ModeBATT3,0x800D55C8,0x8 +asm/non_matchings/code/z_camera/Camera_ModeBATT4.s,Camera_ModeBATT4,0x800D55E8,0x8 +asm/non_matchings/code/z_camera/Camera_ModeBATT0.s,Camera_ModeBATT0,0x800D5608,0x8 +asm/non_matchings/code/z_camera/Camera_ModeKEEP1.s,Camera_ModeKEEP1,0x800D5628,0x46D +asm/non_matchings/code/z_camera/Camera_ModeKEEP2.s,Camera_ModeKEEP2,0x800D67DC,0x8 +asm/non_matchings/code/z_camera/Camera_ModeKEEP3.s,Camera_ModeKEEP3,0x800D67FC,0x2F3 +asm/non_matchings/code/z_camera/Camera_ModeKEEP4.s,Camera_ModeKEEP4,0x800D73C8,0x2F7 +asm/non_matchings/code/z_camera/Camera_ModeKEEP0.s,Camera_ModeKEEP0,0x800D7FA4,0x8 +asm/non_matchings/code/z_camera/Camera_ModeFIXD1.s,Camera_ModeFIXD1,0x800D7FC4,0x101 +asm/non_matchings/code/z_camera/Camera_ModeFIXD2.s,Camera_ModeFIXD2,0x800D83C8,0x290 +asm/non_matchings/code/z_camera/Camera_ModeFIXD3.s,Camera_ModeFIXD3,0x800D8E08,0x8 +asm/non_matchings/code/z_camera/Camera_ModeFIXD4.s,Camera_ModeFIXD4,0x800D8E28,0x8 +asm/non_matchings/code/z_camera/Camera_ModeFIXD0.s,Camera_ModeFIXD0,0x800D8E48,0x8 +asm/non_matchings/code/z_camera/Camera_ModeSUBJ1.s,Camera_ModeSUBJ1,0x800D8E68,0x185 +asm/non_matchings/code/z_camera/Camera_ModeSUBJ2.s,Camera_ModeSUBJ2,0x800D947C,0x8 +asm/non_matchings/code/z_camera/Camera_ModeSUBJ3.s,Camera_ModeSUBJ3,0x800D949C,0x8 +asm/non_matchings/code/z_camera/Camera_ModeSUBJ4.s,Camera_ModeSUBJ4,0x800D94BC,0x8 +asm/non_matchings/code/z_camera/Camera_ModeSUBJ0.s,Camera_ModeSUBJ0,0x800D94DC,0x8 +asm/non_matchings/code/z_camera/Camera_ModeDATA0.s,Camera_ModeDATA0,0x800D94FC,0x8 +asm/non_matchings/code/z_camera/Camera_ModeDATA1.s,Camera_ModeDATA1,0x800D951C,0x8 +asm/non_matchings/code/z_camera/Camera_ModeDATA2.s,Camera_ModeDATA2,0x800D953C,0x8 +asm/non_matchings/code/z_camera/Camera_ModeDATA3.s,Camera_ModeDATA3,0x800D955C,0x8 +asm/non_matchings/code/z_camera/Camera_ModeDATA4.s,Camera_ModeDATA4,0x800D957C,0x8 +asm/non_matchings/code/z_camera/Camera_ModeUNIQ1.s,Camera_ModeUNIQ1,0x800D959C,0x8 +asm/non_matchings/code/z_camera/Camera_ModeUNIQ2.s,Camera_ModeUNIQ2,0x800D95BC,0x105 +asm/non_matchings/code/z_camera/Camera_ModeUNIQ3.s,Camera_ModeUNIQ3,0x800D99D0,0x17 +asm/non_matchings/code/z_camera/Camera_ModeUNIQ4.s,Camera_ModeUNIQ4,0x800D9A2C,0x17 +asm/non_matchings/code/z_camera/Camera_ModeUNIQ5.s,Camera_ModeUNIQ5,0x800D9A88,0x17 +asm/non_matchings/code/z_camera/Camera_ModeUNIQ0.s,Camera_ModeUNIQ0,0x800D9AE4,0x235 +asm/non_matchings/code/z_camera/Camera_ModeUNIQ6.s,Camera_ModeUNIQ6,0x800DA3B8,0x4D +asm/non_matchings/code/z_camera/Camera_ModeUNIQ7.s,Camera_ModeUNIQ7,0x800DA4EC,0x8 +asm/non_matchings/code/z_camera/Camera_ModeUNIQ8.s,Camera_ModeUNIQ8,0x800DA50C,0x8 +asm/non_matchings/code/z_camera/Camera_ModeUNIQ9.s,Camera_ModeUNIQ9,0x800DA52C,0x8 +asm/non_matchings/code/z_camera/Camera_ModeDEMO1.s,Camera_ModeDEMO1,0x800DA54C,0x1F1 +asm/non_matchings/code/z_camera/Camera_ModeDEMO2.s,Camera_ModeDEMO2,0x800DAD10,0x2BD +asm/non_matchings/code/z_camera/Camera_ModeDEMO3.s,Camera_ModeDEMO3,0x800DB804,0xC4 +asm/non_matchings/code/z_camera/Camera_ModeDEMO4.s,Camera_ModeDEMO4,0x800DBB14,0x1D7 +asm/non_matchings/code/z_camera/Camera_ModeDEMO5.s,Camera_ModeDEMO5,0x800DC270,0x12A +asm/non_matchings/code/z_camera/Camera_ModeDEMO6.s,Camera_ModeDEMO6,0x800DC718,0x8 +asm/non_matchings/code/z_camera/Camera_ModeDEMO7.s,Camera_ModeDEMO7,0x800DC738,0x8 +asm/non_matchings/code/z_camera/Camera_ModeDEMO8.s,Camera_ModeDEMO8,0x800DC758,0x8 +asm/non_matchings/code/z_camera/Camera_ModeDEMO9.s,Camera_ModeDEMO9,0x800DC778,0x8 +asm/non_matchings/code/z_camera/Camera_ModeDEMO0.s,Camera_ModeDEMO0,0x800DC798,0x13E +asm/non_matchings/code/z_camera/Camera_ModeSPEC0.s,Camera_ModeSPEC0,0x800DCC90,0x8 +asm/non_matchings/code/z_camera/Camera_ModeSPEC1.s,Camera_ModeSPEC1,0x800DCCB0,0x8 +asm/non_matchings/code/z_camera/Camera_ModeSPEC2.s,Camera_ModeSPEC2,0x800DCCD0,0x8 +asm/non_matchings/code/z_camera/Camera_ModeSPEC3.s,Camera_ModeSPEC3,0x800DCCF0,0x8 +asm/non_matchings/code/z_camera/Camera_ModeSPEC4.s,Camera_ModeSPEC4,0x800DCD10,0x8 +asm/non_matchings/code/z_camera/Camera_ModeSPEC5.s,Camera_ModeSPEC5,0x800DCD30,0xF3 +asm/non_matchings/code/z_camera/Camera_ModeSPEC6.s,Camera_ModeSPEC6,0x800DD0FC,0x8 +asm/non_matchings/code/z_camera/Camera_ModeSPEC7.s,Camera_ModeSPEC7,0x800DD11C,0x8 +asm/non_matchings/code/z_camera/Camera_ModeSPEC8.s,Camera_ModeSPEC8,0x800DD13C,0x11F +asm/non_matchings/code/z_camera/Camera_ModeSPEC9.s,Camera_ModeSPEC9,0x800DD5B8,0x1E8 +asm/non_matchings/code/z_camera/Camera_Alloc.s,Camera_Alloc,0x800DDD58,0x14 +asm/non_matchings/code/z_camera/Camera_Free.s,Camera_Free,0x800DDDA8,0xA +asm/non_matchings/code/z_camera/Camera_Init.s,Camera_Init,0x800DDDD0,0x84 +asm/non_matchings/code/z_camera/func_800DDFE0.s,func_800DDFE0,0x800DDFE0,0x40 +asm/non_matchings/code/z_camera/func_800DE0E0.s,func_800DE0E0,0x800DE0E0,0x3 +asm/non_matchings/code/z_camera/func_800DE0EC.s,func_800DE0EC,0x800DE0EC,0x87 +asm/non_matchings/code/z_camera/func_800DE308.s,func_800DE308,0x800DE308,0x7 +asm/non_matchings/code/z_camera/func_800DE324.s,func_800DE324,0x800DE324,0xC2 +asm/non_matchings/code/z_camera/func_800DE62C.s,func_800DE62C,0x800DE62C,0x85 +asm/non_matchings/code/z_camera/func_800DE840.s,func_800DE840,0x800DE840,0x14 +asm/non_matchings/code/z_camera/func_800DE890.s,func_800DE890,0x800DE890,0x31 +asm/non_matchings/code/z_camera/func_800DE954.s,func_800DE954,0x800DE954,0x17 +asm/non_matchings/code/z_camera/Camera_Update.s,Camera_Update,0x800DE9B0,0x2BA +asm/non_matchings/code/z_camera/func_800DF498.s,func_800DF498,0x800DF498,0xE +asm/non_matchings/code/z_camera/Camera_SetMode.s,Camera_SetMode,0x800DF4D0,0xDC +asm/non_matchings/code/z_camera/func_800DF840.s,func_800DF840,0x800DF840,0xB +asm/non_matchings/code/z_camera/func_800DF86C.s,func_800DF86C,0x800DF86C,0x20 +asm/non_matchings/code/z_camera/func_800DF8EC.s,func_800DF8EC,0x800DF8EC,0x77 +asm/non_matchings/code/z_camera/func_800DFAC8.s,func_800DFAC8,0x800DFAC8,0x13 +asm/non_matchings/code/z_camera/func_800DFB14.s,func_800DFB14,0x800DFB14,0x42 +asm/non_matchings/code/z_camera/func_800DFC1C.s,func_800DFC1C,0x800DFC1C,0x9 +asm/non_matchings/code/z_camera/func_800DFC40.s,func_800DFC40,0x800DFC40,0xA +asm/non_matchings/code/z_camera/func_800DFC68.s,func_800DFC68,0x800DFC68,0xA +asm/non_matchings/code/z_camera/func_800DFC90.s,func_800DFC90,0x800DFC90,0x9 +asm/non_matchings/code/z_camera/func_800DFCB4.s,func_800DFCB4,0x800DFCB4,0xA +asm/non_matchings/code/z_camera/func_800DFCDC.s,func_800DFCDC,0x800DFCDC,0xA +asm/non_matchings/code/z_camera/func_800DFD04.s,func_800DFD04,0x800DFD04,0x1D +asm/non_matchings/code/z_camera/func_800DFD78.s,func_800DFD78,0x800DFD78,0x5E +asm/non_matchings/code/z_camera/func_800DFEF0.s,func_800DFEF0,0x800DFEF0,0xA +asm/non_matchings/code/z_camera/func_800DFF18.s,func_800DFF18,0x800DFF18,0x7 +asm/non_matchings/code/z_camera/func_800DFF34.s,func_800DFF34,0x800DFF34,0x4 +asm/non_matchings/code/z_camera/func_800DFF44.s,func_800DFF44,0x800DFF44,0x7 +asm/non_matchings/code/z_camera/Camera_SetFlags.s,Camera_SetFlags,0x800DFF60,0x9 +asm/non_matchings/code/z_camera/Camera_ClearFlags.s,Camera_ClearFlags,0x800DFF84,0xA +asm/non_matchings/code/z_camera/func_800DFFAC.s,func_800DFFAC,0x800DFFAC,0x34 +asm/non_matchings/code/z_camera/func_800E007C.s,func_800E007C,0x800E007C,0x4C +asm/non_matchings/code/z_camera/func_800E01AC.s,func_800E01AC,0x800E01AC,0x3 +asm/non_matchings/code/z_camera/func_800E01B8.s,func_800E01B8,0x800E01B8,0x9 +asm/non_matchings/code/z_camera/func_800E01DC.s,func_800E01DC,0x800E01DC,0x13 +asm/non_matchings/code/z_camera/func_800E0228.s,func_800E0228,0x800E0228,0x4 +asm/non_matchings/code/z_camera/func_800E0238.s,func_800E0238,0x800E0238,0x1D +asm/non_matchings/code/z_camera/func_800E02AC.s,func_800E02AC,0x800E02AC,0x17 +asm/non_matchings/code/z_camera/func_800E0308.s,func_800E0308,0x800E0308,0x5 +asm/non_matchings/code/z_camera/func_800E031C.s,func_800E031C,0x800E031C,0xB +asm/non_matchings/code/z_camera/func_800E0348.s,func_800E0348,0x800E0348,0x16 +asm/non_matchings/code/z_collision_btltbls/DamageTable_Get.s,DamageTable_Get,0x800E03A0,0xB +asm/non_matchings/code/z_collision_btltbls/DamageTable_Clear.s,DamageTable_Clear,0x800E03CC,0xD +asm/non_matchings/code/z_collision_check/CollisionCheck_GetDamageAndEffectOnBumper.s,CollisionCheck_GetDamageAndEffectOnBumper,0x800E0410,0x2B +asm/non_matchings/code/z_collision_check/CollisionCheck_ApplyBumperDefense.s,CollisionCheck_ApplyBumperDefense,0x800E04BC,0xC +asm/non_matchings/code/z_collision_check/CollisionCheck_GetToucherDamage.s,CollisionCheck_GetToucherDamage,0x800E04EC,0x13 +asm/non_matchings/code/z_collision_check/Collider_InitBase.s,Collider_InitBase,0x800E0538,0x12 +asm/non_matchings/code/z_collision_check/Collider_DestroyBase.s,Collider_DestroyBase,0x800E0580,0x5 +asm/non_matchings/code/z_collision_check/Collider_SetBaseToActor.s,Collider_SetBaseToActor,0x800E0594,0x10 +asm/non_matchings/code/z_collision_check/Collider_SetBaseType1.s,Collider_SetBaseType1,0x800E05D4,0x11 +asm/non_matchings/code/z_collision_check/Collider_SetBase.s,Collider_SetBase,0x800E0618,0x11 +asm/non_matchings/code/z_collision_check/Collider_ResetATBase.s,Collider_ResetATBase,0x800E065C,0x7 +asm/non_matchings/code/z_collision_check/Collider_ResetACBase.s,Collider_ResetACBase,0x800E0678,0x7 +asm/non_matchings/code/z_collision_check/Collider_ResetOCBase.s,Collider_ResetOCBase,0x800E0694,0xA +asm/non_matchings/code/z_collision_check/Collider_InitTouch.s,Collider_InitTouch,0x800E06BC,0xA +asm/non_matchings/code/z_collision_check/Collider_DestroyTouch.s,Collider_DestroyTouch,0x800E06E4,0x5 +asm/non_matchings/code/z_collision_check/Collider_SetTouch.s,Collider_SetTouch,0x800E06F8,0xA +asm/non_matchings/code/z_collision_check/Collider_ResetATInfoUnk.s,Collider_ResetATInfoUnk,0x800E0720,0x4 +asm/non_matchings/code/z_collision_check/Collider_InitBump.s,Collider_InitBump,0x800E0730,0xC +asm/non_matchings/code/z_collision_check/Collider_DestroyBump.s,Collider_DestroyBump,0x800E0760,0x5 +asm/non_matchings/code/z_collision_check/Collider_SetBump.s,Collider_SetBump,0x800E0774,0xA +asm/non_matchings/code/z_collision_check/Collider_InitInfo.s,Collider_InitInfo,0x800E079C,0x20 +asm/non_matchings/code/z_collision_check/Collider_DestroyInfo.s,Collider_DestroyInfo,0x800E081C,0x10 +asm/non_matchings/code/z_collision_check/Collider_SetInfo.s,Collider_SetInfo,0x800E085C,0x1E +asm/non_matchings/code/z_collision_check/Collider_ResetATInfo.s,Collider_ResetATInfo,0x800E08D4,0xE +asm/non_matchings/code/z_collision_check/Collider_ResetACInfo.s,Collider_ResetACInfo,0x800E090C,0xE +asm/non_matchings/code/z_collision_check/Collider_ResetOCInfo.s,Collider_ResetOCInfo,0x800E0944,0x6 +asm/non_matchings/code/z_collision_check/Collider_InitJntSphElementDim.s,Collider_InitJntSphElementDim,0x800E095C,0x12 +asm/non_matchings/code/z_collision_check/Collider_DestroyJntSphElementDim.s,Collider_DestroyJntSphElementDim,0x800E09A4,0x5 +asm/non_matchings/code/z_collision_check/Collider_SetJntSphElementDim.s,Collider_SetJntSphElementDim,0x800E09B8,0x16 +asm/non_matchings/code/z_collision_check/Collider_InitJntSphElement.s,Collider_InitJntSphElement,0x800E0A10,0x10 +asm/non_matchings/code/z_collision_check/Collider_DestroyJntSphElement.s,Collider_DestroyJntSphElement,0x800E0A50,0x10 +asm/non_matchings/code/z_collision_check/Collider_SetJntSphElement.s,Collider_SetJntSphElement,0x800E0A90,0x14 +asm/non_matchings/code/z_collision_check/Collider_ResetJntSphElementAT.s,Collider_ResetJntSphElementAT,0x800E0AE0,0x9 +asm/non_matchings/code/z_collision_check/Collider_ResetJntSphElementAC.s,Collider_ResetJntSphElementAC,0x800E0B04,0x9 +asm/non_matchings/code/z_collision_check/Collider_ResetJntSphElementOC.s,Collider_ResetJntSphElementOC,0x800E0B28,0x9 +asm/non_matchings/code/z_collision_check/Collider_InitJntSph.s,Collider_InitJntSph,0x800E0B4C,0xB +asm/non_matchings/code/z_collision_check/Collider_FreeJntSph.s,Collider_FreeJntSph,0x800E0B78,0x28 +asm/non_matchings/code/z_collision_check/Collider_DestroyJntSph.s,Collider_DestroyJntSph,0x800E0C18,0x24 +asm/non_matchings/code/z_collision_check/Collider_SetJntSphToActor.s,Collider_SetJntSphToActor,0x800E0CA8,0x37 +asm/non_matchings/code/z_collision_check/Collider_SetJntSphAllocType1.s,Collider_SetJntSphAllocType1,0x800E0D84,0x37 +asm/non_matchings/code/z_collision_check/Collider_SetJntSph.s,Collider_SetJntSph,0x800E0E60,0x2D +asm/non_matchings/code/z_collision_check/Collider_InitAndSetJntSph.s,Collider_InitAndSetJntSph,0x800E0F14,0x15 +asm/non_matchings/code/z_collision_check/Collider_ResetJntSphAT.s,Collider_ResetJntSphAT,0x800E0F68,0x23 +asm/non_matchings/code/z_collision_check/Collider_ResetJntSphAC.s,Collider_ResetJntSphAC,0x800E0FF4,0x23 +asm/non_matchings/code/z_collision_check/Collider_ResetJntSphOC.s,Collider_ResetJntSphOC,0x800E1080,0x23 +asm/non_matchings/code/z_collision_check/Collider_InitCylinderDim.s,Collider_InitCylinderDim,0x800E110C,0xF +asm/non_matchings/code/z_collision_check/Collider_DestroyCylinderDim.s,Collider_DestroyCylinderDim,0x800E1148,0x5 +asm/non_matchings/code/z_collision_check/Collider_SetCylinderDim.s,Collider_SetCylinderDim,0x800E115C,0x10 +asm/non_matchings/code/z_collision_check/Collider_InitCylinder.s,Collider_InitCylinder,0x800E119C,0x14 +asm/non_matchings/code/z_collision_check/Collider_DestroyCylinder.s,Collider_DestroyCylinder,0x800E11EC,0x14 +asm/non_matchings/code/z_collision_check/Collider_SetCylinderToActor.s,Collider_SetCylinderToActor,0x800E123C,0x1A +asm/non_matchings/code/z_collision_check/Collider_SetCylinderType1.s,Collider_SetCylinderType1,0x800E12A4,0x1A +asm/non_matchings/code/z_collision_check/Collider_SetCylinder.s,Collider_SetCylinder,0x800E130C,0x1A +asm/non_matchings/code/z_collision_check/Collider_InitAndSetCylinder.s,Collider_InitAndSetCylinder,0x800E1374,0x13 +asm/non_matchings/code/z_collision_check/Collider_ResetCylinderAT.s,Collider_ResetCylinderAT,0x800E13C0,0x10 +asm/non_matchings/code/z_collision_check/Collider_ResetCylinderAC.s,Collider_ResetCylinderAC,0x800E1400,0x10 +asm/non_matchings/code/z_collision_check/Collider_ResetCylinderOC.s,Collider_ResetCylinderOC,0x800E1440,0x10 +asm/non_matchings/code/z_collision_check/Collider_InitTrisElementDim.s,Collider_InitTrisElementDim,0x800E1480,0x13 +asm/non_matchings/code/z_collision_check/Collider_DestroyTrisElementDim.s,Collider_DestroyTrisElementDim,0x800E14CC,0x5 +asm/non_matchings/code/z_collision_check/Collider_SetTrisElementDim.s,Collider_SetTrisElementDim,0x800E14E0,0x2D +asm/non_matchings/code/z_collision_check/Collider_InitTrisElement.s,Collider_InitTrisElement,0x800E1594,0x10 +asm/non_matchings/code/z_collision_check/Collider_DestroyTrisElement.s,Collider_DestroyTrisElement,0x800E15D4,0x10 +asm/non_matchings/code/z_collision_check/Collider_SetTrisElement.s,Collider_SetTrisElement,0x800E1614,0x14 +asm/non_matchings/code/z_collision_check/Collider_ResetTrisElementAT.s,Collider_ResetTrisElementAT,0x800E1664,0x9 +asm/non_matchings/code/z_collision_check/Collider_ResetTrisElementAC.s,Collider_ResetTrisElementAC,0x800E1688,0x9 +asm/non_matchings/code/z_collision_check/Collider_ResetTrisElementOC.s,Collider_ResetTrisElementOC,0x800E16AC,0x9 +asm/non_matchings/code/z_collision_check/Collider_InitTris.s,Collider_InitTris,0x800E16D0,0xB +asm/non_matchings/code/z_collision_check/Collider_FreeTris.s,Collider_FreeTris,0x800E16FC,0x2E +asm/non_matchings/code/z_collision_check/Collider_DestroyTris.s,Collider_DestroyTris,0x800E17B4,0x29 +asm/non_matchings/code/z_collision_check/Collider_SetTrisAllocType1.s,Collider_SetTrisAllocType1,0x800E1858,0x40 +asm/non_matchings/code/z_collision_check/Collider_SetTris.s,Collider_SetTris,0x800E1958,0x33 +asm/non_matchings/code/z_collision_check/Collider_InitAndSetTris.s,Collider_InitAndSetTris,0x800E1A24,0x15 +asm/non_matchings/code/z_collision_check/Collider_ResetTrisAT.s,Collider_ResetTrisAT,0x800E1A78,0x28 +asm/non_matchings/code/z_collision_check/Collider_ResetTrisAC.s,Collider_ResetTrisAC,0x800E1B18,0x28 +asm/non_matchings/code/z_collision_check/Collider_ResetTrisOC.s,Collider_ResetTrisOC,0x800E1BB8,0x28 +asm/non_matchings/code/z_collision_check/Collider_InitQuadDim.s,Collider_InitQuadDim,0x800E1C58,0x13 +asm/non_matchings/code/z_collision_check/Collider_DestroyQuadDim.s,Collider_DestroyQuadDim,0x800E1CA4,0x5 +asm/non_matchings/code/z_collision_check/Collider_ResetQuadACDist.s,Collider_ResetQuadACDist,0x800E1CB8,0x7 +asm/non_matchings/code/z_collision_check/Collider_SetQuadMidpoints.s,Collider_SetQuadMidpoints,0x800E1CD4,0x2F +asm/non_matchings/code/z_collision_check/Collider_SetQuadDim.s,Collider_SetQuadDim,0x800E1D90,0x22 +asm/non_matchings/code/z_collision_check/Collider_InitQuad.s,Collider_InitQuad,0x800E1E18,0x14 +asm/non_matchings/code/z_collision_check/Collider_DestroyQuad.s,Collider_DestroyQuad,0x800E1E68,0x14 +asm/non_matchings/code/z_collision_check/Collider_SetQuadType1.s,Collider_SetQuadType1,0x800E1EB8,0x1A +asm/non_matchings/code/z_collision_check/Collider_SetQuad.s,Collider_SetQuad,0x800E1F20,0x1A +asm/non_matchings/code/z_collision_check/Collider_InitAndSetQuad.s,Collider_InitAndSetQuad,0x800E1F88,0x13 +asm/non_matchings/code/z_collision_check/Collider_ResetQuadAT.s,Collider_ResetQuadAT,0x800E1FD4,0x14 +asm/non_matchings/code/z_collision_check/Collider_ResetQuadAC.s,Collider_ResetQuadAC,0x800E2024,0x10 +asm/non_matchings/code/z_collision_check/Collider_ResetQuadOC.s,Collider_ResetQuadOC,0x800E2064,0x10 +asm/non_matchings/code/z_collision_check/Collider_QuadSetNearestAC.s,Collider_QuadSetNearestAC,0x800E20A4,0x2C +asm/non_matchings/code/z_collision_check/Collider_InitSphere.s,Collider_InitSphere,0x800E2154,0x14 +asm/non_matchings/code/z_collision_check/Collider_DestroySphere.s,Collider_DestroySphere,0x800E21A4,0x14 +asm/non_matchings/code/z_collision_check/Collider_SetSphere.s,Collider_SetSphere,0x800E21F4,0x1A +asm/non_matchings/code/z_collision_check/Collider_InitAndSetSphere.s,Collider_InitAndSetSphere,0x800E225C,0x13 +asm/non_matchings/code/z_collision_check/Collider_ResetSphereAT.s,Collider_ResetSphereAT,0x800E22A8,0x10 +asm/non_matchings/code/z_collision_check/Collider_ResetSphereAC.s,Collider_ResetSphereAC,0x800E22E8,0x10 +asm/non_matchings/code/z_collision_check/Collider_ResetSphereOC.s,Collider_ResetSphereOC,0x800E2328,0x10 +asm/non_matchings/code/z_collision_check/Collider_InitLine.s,Collider_InitLine,0x800E2368,0x12 +asm/non_matchings/code/z_collision_check/Collider_DestroyLine.s,Collider_DestroyLine,0x800E23B0,0x5 +asm/non_matchings/code/z_collision_check/Collider_SetLinePoints.s,Collider_SetLinePoints,0x800E23C4,0x11 +asm/non_matchings/code/z_collision_check/Collider_SetLine.s,Collider_SetLine,0x800E2408,0xB +asm/non_matchings/code/z_collision_check/Collider_ResetLineOC.s,Collider_ResetLineOC,0x800E2434,0x7 +asm/non_matchings/code/z_collision_check/CollisionCheck_InitContext.s,CollisionCheck_InitContext,0x800E2450,0x8 +asm/non_matchings/code/z_collision_check/CollisionCheck_DestroyContext.s,CollisionCheck_DestroyContext,0x800E2470,0x4 +asm/non_matchings/code/z_collision_check/CollisionCheck_ClearContext.s,CollisionCheck_ClearContext,0x800E2480,0x2A +asm/non_matchings/code/z_collision_check/CollisionCheck_EnableSAC.s,CollisionCheck_EnableSAC,0x800E2528,0x6 +asm/non_matchings/code/z_collision_check/CollisionCheck_DisableSAC.s,CollisionCheck_DisableSAC,0x800E2540,0x6 +asm/non_matchings/code/z_collision_check/CollisionCheck_SetAT.s,CollisionCheck_SetAT,0x800E2558,0x37 +asm/non_matchings/code/z_collision_check/CollisionCheck_SetAT_SAC.s,CollisionCheck_SetAT_SAC,0x800E2634,0x43 +asm/non_matchings/code/z_collision_check/CollisionCheck_SetAC.s,CollisionCheck_SetAC,0x800E2740,0x37 +asm/non_matchings/code/z_collision_check/CollisionCheck_SetAC_SAC.s,CollisionCheck_SetAC_SAC,0x800E281C,0x43 +asm/non_matchings/code/z_collision_check/CollisionCheck_SetOC.s,CollisionCheck_SetOC,0x800E2928,0x37 +asm/non_matchings/code/z_collision_check/CollisionCheck_SetOC_SAC.s,CollisionCheck_SetOC_SAC,0x800E2A04,0x43 +asm/non_matchings/code/z_collision_check/CollisionCheck_SetOCLine.s,CollisionCheck_SetOCLine,0x800E2B10,0x22 +asm/non_matchings/code/z_collision_check/CollisionCheck_SkipTouch.s,CollisionCheck_SkipTouch,0x800E2B98,0x9 +asm/non_matchings/code/z_collision_check/CollisionCheck_SkipBump.s,CollisionCheck_SkipBump,0x800E2BBC,0x9 +asm/non_matchings/code/z_collision_check/CollisionCheck_NoSharedFlags.s,CollisionCheck_NoSharedFlags,0x800E2BE0,0xA +asm/non_matchings/code/z_collision_check/CollisionCheck_NoBlood.s,CollisionCheck_NoBlood,0x800E2C08,0x5 +asm/non_matchings/code/z_collision_check/CollisionCheck_BlueBlood.s,CollisionCheck_BlueBlood,0x800E2C1C,0x5B +asm/non_matchings/code/z_collision_check/CollisionCheck_GreenBlood.s,CollisionCheck_GreenBlood,0x800E2D88,0x5B +asm/non_matchings/code/z_collision_check/CollisionCheck_WaterBurst.s,CollisionCheck_WaterBurst,0x800E2EF4,0xF +asm/non_matchings/code/z_collision_check/CollisionCheck_RedBlood.s,CollisionCheck_RedBlood,0x800E2F30,0x9 +asm/non_matchings/code/z_collision_check/CollisionCheck_RedBloodUnused.s,CollisionCheck_RedBloodUnused,0x800E2F54,0x9 +asm/non_matchings/code/z_collision_check/CollisionCheck_HitSolid.s,CollisionCheck_HitSolid,0x800E2F78,0x54 +asm/non_matchings/code/z_collision_check/CollisionCheck_SwordHitAudio.s,CollisionCheck_SwordHitAudio,0x800E30C8,0x28 +asm/non_matchings/code/z_collision_check/CollisionCheck_HitEffects.s,CollisionCheck_HitEffects,0x800E3168,0x67 +asm/non_matchings/code/z_collision_check/CollisionCheck_SetBounce.s,CollisionCheck_SetBounce,0x800E3304,0x8 +asm/non_matchings/code/z_collision_check/CollisionCheck_SetATvsAC.s,CollisionCheck_SetATvsAC,0x800E3324,0xA9 +asm/non_matchings/code/z_collision_check/CollisionCheck_TrisAvgPoint.s,CollisionCheck_TrisAvgPoint,0x800E35C8,0x19 +asm/non_matchings/code/z_collision_check/CollisionCheck_QuadAvgPoint.s,CollisionCheck_QuadAvgPoint,0x800E362C,0x20 +asm/non_matchings/code/z_collision_check/CollisionCheck_AC_JntSphVsJntSph.s,CollisionCheck_AC_JntSphVsJntSph,0x800E36AC,0x93 +asm/non_matchings/code/z_collision_check/CollisionCheck_AC_JntSphVsCyl.s,CollisionCheck_AC_JntSphVsCyl,0x800E38F8,0x88 +asm/non_matchings/code/z_collision_check/CollisionCheck_AC_JntSphVsTris.s,CollisionCheck_AC_JntSphVsTris,0x800E3B18,0x6A +asm/non_matchings/code/z_collision_check/CollisionCheck_AC_JntSphVsQuad.s,CollisionCheck_AC_JntSphVsQuad,0x800E3CC0,0x6B +asm/non_matchings/code/z_collision_check/CollisionCheck_AC_JntSphVsSphere.s,CollisionCheck_AC_JntSphVsSphere,0x800E3E6C,0x7B +asm/non_matchings/code/z_collision_check/CollisionCheck_AC_CylVsJntSph.s,CollisionCheck_AC_CylVsJntSph,0x800E4058,0x90 +asm/non_matchings/code/z_collision_check/CollisionCheck_AC_CylVsCyl.s,CollisionCheck_AC_CylVsCyl,0x800E4298,0x8A +asm/non_matchings/code/z_collision_check/CollisionCheck_AC_CylVsTris.s,CollisionCheck_AC_CylVsTris,0x800E44C0,0x5A +asm/non_matchings/code/z_collision_check/CollisionCheck_AC_CylVsQuad.s,CollisionCheck_AC_CylVsQuad,0x800E4628,0x64 +asm/non_matchings/code/z_collision_check/CollisionCheck_AC_CylVsSphere.s,CollisionCheck_AC_CylVsSphere,0x800E47B8,0x65 +asm/non_matchings/code/z_collision_check/CollisionCheck_AC_TrisVsJntSph.s,CollisionCheck_AC_TrisVsJntSph,0x800E494C,0x6F +asm/non_matchings/code/z_collision_check/CollisionCheck_AC_TrisVsCyl.s,CollisionCheck_AC_TrisVsCyl,0x800E4B08,0x5A +asm/non_matchings/code/z_collision_check/CollisionCheck_AC_TrisVsTris.s,CollisionCheck_AC_TrisVsTris,0x800E4C70,0x6D +asm/non_matchings/code/z_collision_check/CollisionCheck_AC_TrisVsQuad.s,CollisionCheck_AC_TrisVsQuad,0x800E4E24,0x70 +asm/non_matchings/code/z_collision_check/CollisionCheck_AC_TrisVsSphere.s,CollisionCheck_AC_TrisVsSphere,0x800E4FE4,0x5C +asm/non_matchings/code/z_collision_check/CollisionCheck_AC_QuadVsJntSph.s,CollisionCheck_AC_QuadVsJntSph,0x800E5154,0x72 +asm/non_matchings/code/z_collision_check/CollisionCheck_AC_QuadVsCyl.s,CollisionCheck_AC_QuadVsCyl,0x800E531C,0x70 +asm/non_matchings/code/z_collision_check/CollisionCheck_AC_QuadVsTris.s,CollisionCheck_AC_QuadVsTris,0x800E54DC,0x77 +asm/non_matchings/code/z_collision_check/CollisionCheck_AC_QuadVsQuad.s,CollisionCheck_AC_QuadVsQuad,0x800E56B8,0x6F +asm/non_matchings/code/z_collision_check/CollisionCheck_AC_QuadVsSphere.s,CollisionCheck_AC_QuadVsSphere,0x800E5874,0x4C +asm/non_matchings/code/z_collision_check/CollisionCheck_AC_SphereVsJntSph.s,CollisionCheck_AC_SphereVsJntSph,0x800E59A4,0x7C +asm/non_matchings/code/z_collision_check/CollisionCheck_AC_SphereVsCylinder.s,CollisionCheck_AC_SphereVsCylinder,0x800E5B94,0x5F +asm/non_matchings/code/z_collision_check/CollisionCheck_AC_SphereVsTris.s,CollisionCheck_AC_SphereVsTris,0x800E5D10,0x51 +asm/non_matchings/code/z_collision_check/CollisionCheck_AC_SphereVsQuad.s,CollisionCheck_AC_SphereVsQuad,0x800E5E54,0x46 +asm/non_matchings/code/z_collision_check/CollisionCheck_AC_SphereVsSphere.s,CollisionCheck_AC_SphereVsSphere,0x800E5F6C,0x55 +asm/non_matchings/code/z_collision_check/CollisionCheck_SetJntSphHitFX.s,CollisionCheck_SetJntSphHitFX,0x800E60C0,0x38 +asm/non_matchings/code/z_collision_check/CollisionCheck_SetCylHitFX.s,CollisionCheck_SetCylHitFX,0x800E61A0,0x26 +asm/non_matchings/code/z_collision_check/CollisionCheck_SetTrisHitFX.s,CollisionCheck_SetTrisHitFX,0x800E6238,0x3A +asm/non_matchings/code/z_collision_check/CollisionCheck_SetQuadHitFX.s,CollisionCheck_SetQuadHitFX,0x800E6320,0x26 +asm/non_matchings/code/z_collision_check/CollisionCheck_SetSphereHitFX.s,CollisionCheck_SetSphereHitFX,0x800E63B8,0x26 +asm/non_matchings/code/z_collision_check/CollisionCheck_SetHitEffects.s,CollisionCheck_SetHitEffects,0x800E6450,0x35 +asm/non_matchings/code/z_collision_check/CollisionCheck_AC.s,CollisionCheck_AC,0x800E6524,0x4C +asm/non_matchings/code/z_collision_check/CollisionCheck_AT.s,CollisionCheck_AT,0x800E6654,0x34 +asm/non_matchings/code/z_collision_check/CollisionCheck_GetMassType.s,CollisionCheck_GetMassType,0x800E6724,0xF +asm/non_matchings/code/z_collision_check/CollisionCheck_SetOCvsOC.s,CollisionCheck_SetOCvsOC,0x800E6760,0xCF +asm/non_matchings/code/z_collision_check/CollisionCheck_OC_JntSphVsJntSph.s,CollisionCheck_OC_JntSphVsJntSph,0x800E6A9C,0x7A +asm/non_matchings/code/z_collision_check/CollisionCheck_OC_JntSphVsCyl.s,CollisionCheck_OC_JntSphVsCyl,0x800E6C84,0x5C +asm/non_matchings/code/z_collision_check/CollisionCheck_OC_JntSphVsSphere.s,CollisionCheck_OC_JntSphVsSphere,0x800E6DF4,0x5C +asm/non_matchings/code/z_collision_check/CollisionCheck_OC_CylVsJntSph.s,CollisionCheck_OC_CylVsJntSph,0x800E6F64,0xB +asm/non_matchings/code/z_collision_check/CollisionCheck_OC_CylVsCyl.s,CollisionCheck_OC_CylVsCyl,0x800E6F90,0x34 +asm/non_matchings/code/z_collision_check/CollisionCheck_OC_CylVsSphere.s,CollisionCheck_OC_CylVsSphere,0x800E7060,0x34 +asm/non_matchings/code/z_collision_check/CollisionCheck_OC_SphereVsJntSph.s,CollisionCheck_OC_SphereVsJntSph,0x800E7130,0xB +asm/non_matchings/code/z_collision_check/CollisionCheck_OC_SphereVsCyl.s,CollisionCheck_OC_SphereVsCyl,0x800E715C,0xB +asm/non_matchings/code/z_collision_check/CollisionCheck_OC_SphereVsSphere.s,CollisionCheck_OC_SphereVsSphere,0x800E7188,0x37 +asm/non_matchings/code/z_collision_check/CollisionCheck_SkipOC.s,CollisionCheck_SkipOC,0x800E7264,0x9 +asm/non_matchings/code/z_collision_check/CollisionCheck_Incompatible.s,CollisionCheck_Incompatible,0x800E7288,0x20 +asm/non_matchings/code/z_collision_check/CollisionCheck_OC.s,CollisionCheck_OC,0x800E7308,0x63 +asm/non_matchings/code/z_collision_check/CollisionCheck_InitInfo.s,CollisionCheck_InitInfo,0x800E7494,0x12 +asm/non_matchings/code/z_collision_check/CollisionCheck_ResetDamage.s,CollisionCheck_ResetDamage,0x800E74DC,0xB +asm/non_matchings/code/z_collision_check/CollisionCheck_SetInfoNoDamageTable.s,CollisionCheck_SetInfoNoDamageTable,0x800E7508,0xA +asm/non_matchings/code/z_collision_check/CollisionCheck_SetInfo.s,CollisionCheck_SetInfo,0x800E7530,0xB +asm/non_matchings/code/z_collision_check/CollisionCheck_SetInfo2.s,CollisionCheck_SetInfo2,0x800E755C,0xD +asm/non_matchings/code/z_collision_check/CollisionCheck_SetInfoGetDamageTable.s,CollisionCheck_SetInfoGetDamageTable,0x800E7590,0xE +asm/non_matchings/code/z_collision_check/CollisionCheck_ApplyDamage.s,CollisionCheck_ApplyDamage,0x800E75C8,0x89 +asm/non_matchings/code/z_collision_check/CollisionCheck_ApplyDamageJntSph.s,CollisionCheck_ApplyDamageJntSph,0x800E77EC,0x2A +asm/non_matchings/code/z_collision_check/CollisionCheck_ApplyDamageCyl.s,CollisionCheck_ApplyDamageCyl,0x800E7894,0x8 +asm/non_matchings/code/z_collision_check/CollisionCheck_ApplyDamageTris.s,CollisionCheck_ApplyDamageTris,0x800E78B4,0x25 +asm/non_matchings/code/z_collision_check/CollisionCheck_ApplyDamageQuad.s,CollisionCheck_ApplyDamageQuad,0x800E7948,0x8 +asm/non_matchings/code/z_collision_check/CollisionCheck_ApplyDamageSphere.s,CollisionCheck_ApplyDamageSphere,0x800E7968,0x8 +asm/non_matchings/code/z_collision_check/CollisionCheck_Damage.s,CollisionCheck_Damage,0x800E7988,0x30 +asm/non_matchings/code/z_collision_check/CollisionCheck_LineOC_JntSph.s,CollisionCheck_LineOC_JntSph,0x800E7A48,0x43 +asm/non_matchings/code/z_collision_check/CollisionCheck_LineOC_Cyl.s,CollisionCheck_LineOC_Cyl,0x800E7B54,0x1E +asm/non_matchings/code/z_collision_check/CollisionCheck_LineOC_Sphere.s,CollisionCheck_LineOC_Sphere,0x800E7BCC,0x26 +asm/non_matchings/code/z_collision_check/CollisionCheck_LineOC.s,CollisionCheck_LineOC,0x800E7C64,0x51 +asm/non_matchings/code/z_collision_check/CollisionCheck_LineOCCheckAll.s,CollisionCheck_LineOCCheckAll,0x800E7DA8,0x9 +asm/non_matchings/code/z_collision_check/CollisionCheck_LineOCCheck.s,CollisionCheck_LineOCCheck,0x800E7DCC,0xB +asm/non_matchings/code/z_collision_check/Collider_UpdateCylinder.s,Collider_UpdateCylinder,0x800E7DF8,0x11 +asm/non_matchings/code/z_collision_check/Collider_SetCylinderPosition.s,Collider_SetCylinderPosition,0x800E7E3C,0x8 +asm/non_matchings/code/z_collision_check/Collider_SetQuadVertices.s,Collider_SetQuadVertices,0x800E7E5C,0x1C +asm/non_matchings/code/z_collision_check/Collider_SetTrisVertices.s,Collider_SetTrisVertices,0x800E7ECC,0x30 +asm/non_matchings/code/z_collision_check/Collider_SetTrisDim.s,Collider_SetTrisDim,0x800E7F8C,0x14 +asm/non_matchings/code/z_collision_check/Collider_UpdateSpheres.s,Collider_UpdateSpheres,0x800E7FDC,0x61 +asm/non_matchings/code/z_collision_check/Collider_UpdateSpheresElement.s,Collider_UpdateSpheresElement,0x800E8160,0x37 +asm/non_matchings/code/z_collision_check/Collider_UpdateSphere.s,Collider_UpdateSphere,0x800E823C,0x37 +asm/non_matchings/code/z_collision_check/CollisionCheck_SpawnRedBlood.s,CollisionCheck_SpawnRedBlood,0x800E8318,0x58 +asm/non_matchings/code/z_collision_check/CollisionCheck_SpawnWaterDroplets.s,CollisionCheck_SpawnWaterDroplets,0x800E8478,0x57 +asm/non_matchings/code/z_collision_check/CollisionCheck_SpawnShieldParticles.s,CollisionCheck_SpawnShieldParticles,0x800E85D4,0x25 +asm/non_matchings/code/z_collision_check/CollisionCheck_SpawnShieldParticlesMetal.s,CollisionCheck_SpawnShieldParticlesMetal,0x800E8668,0xA +asm/non_matchings/code/z_collision_check/CollisionCheck_SpawnShieldParticlesMetalSound.s,CollisionCheck_SpawnShieldParticlesMetalSound,0x800E8690,0xC +asm/non_matchings/code/z_collision_check/CollisionCheck_SpawnShieldParticlesMetal2.s,CollisionCheck_SpawnShieldParticlesMetal2,0x800E86C0,0x8 +asm/non_matchings/code/z_collision_check/CollisionCheck_SpawnShieldParticlesWood.s,CollisionCheck_SpawnShieldParticlesWood,0x800E86E0,0x29 +asm/non_matchings/code/z_collision_check/CollisionCheck_CylSideVsLineSeg.s,CollisionCheck_CylSideVsLineSeg,0x800E8784,0x1C7 +asm/non_matchings/code/code_800E8EA0/func_800E8EA0.s,func_800E8EA0,0x800E8EA0,0xC +asm/non_matchings/code/code_800E8EA0/nop_800E8ED0.s,nop_800E8ED0,0x800E8ED0,0x4 +asm/non_matchings/code/code_800E8EA0/nop_800E8EE0.s,nop_800E8EE0,0x800E8EE0,0x3 +asm/non_matchings/code/code_800E8EA0/nop_800E8EEC.s,nop_800E8EEC,0x800E8EEC,0x4 +asm/non_matchings/code/code_800E8EA0/nop_800E8EFC.s,nop_800E8EFC,0x800E8EFC,0x3 +asm/non_matchings/code/code_800E8EA0/func_800E8F08.s,func_800E8F08,0x800E8F08,0x27 +asm/non_matchings/code/code_800E8EA0/func_800E8FA4.s,func_800E8FA4,0x800E8FA4,0x65 +asm/non_matchings/code/code_800E8EA0/func_800E9138.s,func_800E9138,0x800E9138,0x46 +asm/non_matchings/code/code_800E8EA0/func_800E9250.s,func_800E9250,0x800E9250,0x44 +asm/non_matchings/code/z_common_data/func_800E9360.s,func_800E9360,0x800E9360,0x20 +asm/non_matchings/code/z_debug/static_context_init.s,static_context_init,0x800E93E0,0x24 +asm/non_matchings/code/z_debug_display/func_800E9470.s,func_800E9470,0x800E9470,0x6 +asm/non_matchings/code/z_debug_display/DebugDisplay_AddObject.s,DebugDisplay_AddObject,0x800E9488,0x37 +asm/non_matchings/code/z_debug_display/DebugDisplay_DrawObjects.s,DebugDisplay_DrawObjects,0x800E9564,0x24 +asm/non_matchings/code/z_debug_display/func_800E95F4.s,func_800E95F4,0x800E95F4,0x79 +asm/non_matchings/code/z_debug_display/func_800E97D8.s,func_800E97D8,0x800E97D8,0x55 +asm/non_matchings/code/z_debug_display/func_800E992C.s,func_800E992C,0x800E992C,0x21 +asm/non_matchings/code/z_debug_display/func_800E99B0.s,func_800E99B0,0x800E99B0,0xB8 +asm/non_matchings/code/z_debug_mode/func_800E9C90.s,func_800E9C90,0x800E9C90,0x4 +asm/non_matchings/code/z_debug_mode/func_800E9CA0.s,func_800E9CA0,0x800E9CA0,0x17 +asm/non_matchings/code/z_debug_mode/func_800E9CFC.s,func_800E9CFC,0x800E9CFC,0x30 +asm/non_matchings/code/z_debug_mode/func_800E9DBC.s,func_800E9DBC,0x800E9DBC,0x36 +asm/non_matchings/code/z_debug_mode/func_800E9E94.s,func_800E9E94,0x800E9E94,0x39 +asm/non_matchings/code/z_debug_mode/func_800E9F78.s,func_800E9F78,0x800E9F78,0x3A +asm/non_matchings/code/z_demo/Cutscene_Init.s,Cutscene_Init,0x800EA060,0x1D +asm/non_matchings/code/z_demo/func_800EA0D4.s,func_800EA0D4,0x800EA0D4,0x6 +asm/non_matchings/code/z_demo/func_800EA0EC.s,func_800EA0EC,0x800EA0EC,0x9 +asm/non_matchings/code/z_demo/Cutscene_StepCutscene1.s,Cutscene_StepCutscene1,0x800EA110,0x13 +asm/non_matchings/code/z_demo/Cutscene_StepCutscene2.s,Cutscene_StepCutscene2,0x800EA15C,0x2D +asm/non_matchings/code/z_demo/Cutscene_Nop800EA210.s,Cutscene_Nop800EA210,0x800EA210,0x4 +asm/non_matchings/code/z_demo/func_800EA220.s,func_800EA220,0x800EA220,0xE +asm/non_matchings/code/z_demo/func_800EA258.s,func_800EA258,0x800EA258,0x18 +asm/non_matchings/code/z_demo/func_800EA2B8.s,func_800EA2B8,0x800EA2B8,0x1B +asm/non_matchings/code/z_demo/func_800EA324.s,func_800EA324,0x800EA324,0x222 +asm/non_matchings/code/z_demo/func_800EABAC.s,func_800EABAC,0x800EABAC,0x17 +asm/non_matchings/code/z_demo/func_800EAC08.s,func_800EAC08,0x800EAC08,0xF +asm/non_matchings/code/z_demo/func_800EAC44.s,func_800EAC44,0x800EAC44,0x14 +asm/non_matchings/code/z_demo/func_800EAC94.s,func_800EAC94,0x800EAC94,0x20 +asm/non_matchings/code/z_demo/func_800EAD14.s,func_800EAD14,0x800EAD14,0xD +asm/non_matchings/code/z_demo/func_800EAD48.s,func_800EAD48,0x800EAD48,0xD +asm/non_matchings/code/z_demo/func_800EAD7C.s,func_800EAD7C,0x800EAD7C,0xD +asm/non_matchings/code/z_demo/func_800EADB0.s,func_800EADB0,0x800EADB0,0x47 +asm/non_matchings/code/z_demo/func_800EAECC.s,func_800EAECC,0x800EAECC,0x15 +asm/non_matchings/code/z_demo/func_800EAF20.s,func_800EAF20,0x800EAF20,0x30 +asm/non_matchings/code/z_demo/func_800EAFE0.s,func_800EAFE0,0x800EAFE0,0x7F +asm/non_matchings/code/z_demo/func_800EB1DC.s,func_800EB1DC,0x800EB1DC,0x62 +asm/non_matchings/code/z_demo/func_800EB364.s,func_800EB364,0x800EB364,0x54 +asm/non_matchings/code/z_demo/func_800EB4B4.s,func_800EB4B4,0x800EB4B4,0x91 +asm/non_matchings/code/z_demo/func_800EB6F8.s,func_800EB6F8,0x800EB6F8,0x11C +asm/non_matchings/code/z_demo/func_800EBB68.s,func_800EBB68,0x800EBB68,0x5A +asm/non_matchings/code/z_demo/func_800EBCD0.s,func_800EBCD0,0x800EBCD0,0x24 +asm/non_matchings/code/z_demo/func_800EBD60.s,func_800EBD60,0x800EBD60,0x246 +asm/non_matchings/code/z_demo/func_800EC678.s,func_800EC678,0x800EC678,0x17 +asm/non_matchings/code/z_demo/func_800EC6D4.s,func_800EC6D4,0x800EC6D4,0x94 +asm/non_matchings/code/z_demo/func_800EC924.s,func_800EC924,0x800EC924,0x116 +asm/non_matchings/code/z_demo/func_800ECD7C.s,func_800ECD7C,0x800ECD7C,0x31 +asm/non_matchings/code/z_demo/Cutscene_ProcessCommands.s,Cutscene_ProcessCommands,0x800ECE40,0x2D0 +asm/non_matchings/code/z_demo/func_800ED980.s,func_800ED980,0x800ED980,0x11 +asm/non_matchings/code/z_demo/func_800ED9C4.s,func_800ED9C4,0x800ED9C4,0x10 +asm/non_matchings/code/z_demo/func_800EDA04.s,func_800EDA04,0x800EDA04,0x20 +asm/non_matchings/code/z_demo/func_800EDA84.s,func_800EDA84,0x800EDA84,0x57 +asm/non_matchings/code/z_demo/func_800EDBE0.s,func_800EDBE0,0x800EDBE0,0x74 +asm/non_matchings/code/z_demo/nop_800EDDB0.s,nop_800EDDB0,0x800EDDB0,0x3 +asm/non_matchings/code/z_demo/func_800EDDBC.s,func_800EDDBC,0x800EDDBC,0x4 +asm/non_matchings/code/z_demo/func_800EDDCC.s,func_800EDDCC,0x800EDDCC,0x1A +asm/non_matchings/code/z_demo/func_800EDE34.s,func_800EDE34,0x800EDE34,0x3C +asm/non_matchings/code/z_demo/func_800EDF24.s,func_800EDF24,0x800EDF24,0x15 +asm/non_matchings/code/z_demo/func_800EDF78.s,func_800EDF78,0x800EDF78,0x55 +asm/non_matchings/code/z_demo/func_800EE0CC.s,func_800EE0CC,0x800EE0CC,0x43 +asm/non_matchings/code/z_demo/func_800EE1D8.s,func_800EE1D8,0x800EE1D8,0xA +asm/non_matchings/code/z_demo/func_800EE200.s,func_800EE200,0x800EE200,0x27 +asm/non_matchings/code/z_demo/func_800EE29C.s,func_800EE29C,0x800EE29C,0x16 +asm/non_matchings/code/z_demo/func_800EE2F4.s,func_800EE2F4,0x800EE2F4,0xB +asm/non_matchings/code/z_draw/GetItem_Draw.s,GetItem_Draw,0x800EE320,0x11 +asm/non_matchings/code/z_draw/func_800EE364.s,func_800EE364,0x800EE364,0x27 +asm/non_matchings/code/z_draw/func_800EE400.s,func_800EE400,0x800EE400,0x7F +asm/non_matchings/code/z_draw/func_800EE5FC.s,func_800EE5FC,0x800EE5FC,0x77 +asm/non_matchings/code/z_draw/func_800EE7D8.s,func_800EE7D8,0x800EE7D8,0x5A +asm/non_matchings/code/z_draw/func_800EE940.s,func_800EE940,0x800EE940,0x42 +asm/non_matchings/code/z_draw/func_800EEA48.s,func_800EEA48,0x800EEA48,0x74 +asm/non_matchings/code/z_draw/func_800EEC18.s,func_800EEC18,0x800EEC18,0x42 +asm/non_matchings/code/z_draw/func_800EED20.s,func_800EED20,0x800EED20,0x45 +asm/non_matchings/code/z_draw/func_800EEE34.s,func_800EEE34,0x800EEE34,0x46 +asm/non_matchings/code/z_draw/func_800EEF4C.s,func_800EEF4C,0x800EEF4C,0x42 +asm/non_matchings/code/z_draw/func_800EF054.s,func_800EF054,0x800EF054,0x27 +asm/non_matchings/code/z_draw/func_800EF0F0.s,func_800EF0F0,0x800EF0F0,0x41 +asm/non_matchings/code/z_draw/func_800EF1F4.s,func_800EF1F4,0x800EF1F4,0x2E +asm/non_matchings/code/z_draw/func_800EF2AC.s,func_800EF2AC,0x800EF2AC,0x2E +asm/non_matchings/code/z_draw/func_800EF364.s,func_800EF364,0x800EF364,0x5C +asm/non_matchings/code/z_draw/func_800EF4D4.s,func_800EF4D4,0x800EF4D4,0x62 +asm/non_matchings/code/z_draw/func_800EF65C.s,func_800EF65C,0x800EF65C,0x49 +asm/non_matchings/code/z_draw/func_800EF780.s,func_800EF780,0x800EF780,0x47 +asm/non_matchings/code/z_draw/func_800EF89C.s,func_800EF89C,0x800EF89C,0x3A +asm/non_matchings/code/z_draw/func_800EF984.s,func_800EF984,0x800EF984,0x4D +asm/non_matchings/code/z_draw/func_800EFAB8.s,func_800EFAB8,0x800EFAB8,0x51 +asm/non_matchings/code/z_draw/func_800EFBFC.s,func_800EFBFC,0x800EFBFC,0x52 +asm/non_matchings/code/z_draw/func_800EFD44.s,func_800EFD44,0x800EFD44,0x47 +asm/non_matchings/code/z_eff_footmark/EffFootmark_Init.s,EffFootmark_Init,0x800EFE60,0x29 +asm/non_matchings/code/z_eff_footmark/EffFootmark_Add.s,EffFootmark_Add,0x800EFF04,0x6E +asm/non_matchings/code/z_eff_footmark/EffFootmark_Update.s,EffFootmark_Update,0x800F00BC,0x43 +asm/non_matchings/code/z_eff_footmark/EffFootmark_Draw.s,EffFootmark_Draw,0x800F01C8,0x72 +asm/non_matchings/code/code_800F0390/func_800F0390.s,func_800F0390,0x800F0390,0xC +asm/non_matchings/code/code_800F0390/func_800F03C0.s,func_800F03C0,0x800F03C0,0x33 +asm/non_matchings/code/code_800F0390/func_800F048C.s,func_800F048C,0x800F048C,0x37 +asm/non_matchings/code/code_800F0390/func_800F0568.s,func_800F0568,0x800F0568,0xA +asm/non_matchings/code/code_800F0390/func_800F0590.s,func_800F0590,0x800F0590,0xC +asm/non_matchings/code/z_elf_message/func_800F05C0.s,func_800F05C0,0x800F05C0,0x80 +asm/non_matchings/code/code_800F07C0/func_800F07C0.s,func_800F07C0,0x800F07C0,0x32 +asm/non_matchings/code/code_800F07C0/func_800F0888.s,func_800F0888,0x800F0888,0x2F +asm/non_matchings/code/code_800F07C0/func_800F0944.s,func_800F0944,0x800F0944,0x1C +asm/non_matchings/code/code_800F07C0/func_800F09B4.s,func_800F09B4,0x800F09B4,0x1B +asm/non_matchings/code/code_800F07C0/func_800F0A20.s,func_800F0A20,0x800F0A20,0x1D +asm/non_matchings/code/code_800F07C0/func_800F0A94.s,func_800F0A94,0x800F0A94,0x48 +asm/non_matchings/code/code_800F07C0/func_800F0BB4.s,func_800F0BB4,0x800F0BB4,0x4C +asm/non_matchings/code/code_800F07C0/func_800F0CE4.s,func_800F0CE4,0x800F0CE4,0x3C +asm/non_matchings/code/code_800F07C0/func_800F0DD4.s,func_800F0DD4,0x800F0DD4,0x30 +asm/non_matchings/code/code_800F07C0/func_800F0E94.s,func_800F0E94,0x800F0E94,0x16 +asm/non_matchings/code/code_800F07C0/func_800F0EEC.s,func_800F0EEC,0x800F0EEC,0xF +asm/non_matchings/code/code_800F07C0/func_800F0F28.s,func_800F0F28,0x800F0F28,0x32 +asm/non_matchings/code/code_800F07C0/func_800F0FF0.s,func_800F0FF0,0x800F0FF0,0x2F +asm/non_matchings/code/code_800F07C0/func_800F10AC.s,func_800F10AC,0x800F10AC,0x20 +asm/non_matchings/code/code_800F07C0/func_800F112C.s,func_800F112C,0x800F112C,0x49 +asm/non_matchings/code/z_face_reaction/func_800F1250.s,func_800F1250,0x800F1250,0x20 +asm/non_matchings/code/code_800F12D0/func_800F12D0.s,func_800F12D0,0x800F12D0,0xD +asm/non_matchings/code/code_800F12D0/func_800F1304.s,func_800F1304,0x800F1304,0x1C +asm/non_matchings/code/code_800F12D0/func_800F1374.s,func_800F1374,0x800F1374,0x1D +asm/non_matchings/code/code_800F12D0/func_800F13E8.s,func_800F13E8,0x800F13E8,0x1E +asm/non_matchings/code/z_eventmgr/func_800F1460.s,func_800F1460,0x800F1460,0x26 +asm/non_matchings/code/z_eventmgr/ActorCutscene_GetCutsceneImpl.s,ActorCutscene_GetCutsceneImpl,0x800F14F8,0x13 +asm/non_matchings/code/z_eventmgr/ActorCutscene_Init.s,ActorCutscene_Init,0x800F1544,0x25 +asm/non_matchings/code/z_eventmgr/func_800F15D8.s,func_800F15D8,0x800F15D8,0x1C +asm/non_matchings/code/z_eventmgr/ActorCutscene_ClearWaiting.s,ActorCutscene_ClearWaiting,0x800F1648,0xC +asm/non_matchings/code/z_eventmgr/ActorCutscene_ClearNextCutscenes.s,ActorCutscene_ClearNextCutscenes,0x800F1678,0xC +asm/non_matchings/code/z_eventmgr/ActorCutscene_MarkNextCutscenes.s,ActorCutscene_MarkNextCutscenes,0x800F16A8,0x55 +asm/non_matchings/code/z_eventmgr/ActorCutscene_End.s,ActorCutscene_End,0x800F17FC,0xA0 +asm/non_matchings/code/z_eventmgr/ActorCutscene_Update.s,ActorCutscene_Update,0x800F1A7C,0x4A +asm/non_matchings/code/z_eventmgr/ActorCutscene_SetIntentToPlay.s,ActorCutscene_SetIntentToPlay,0x800F1BA4,0x10 +asm/non_matchings/code/z_eventmgr/ActorCutscene_GetCanPlayNext.s,ActorCutscene_GetCanPlayNext,0x800F1BE4,0x21 +asm/non_matchings/code/z_eventmgr/ActorCutscene_StartAndSetUnkLinkFields.s,ActorCutscene_StartAndSetUnkLinkFields,0x800F1C68,0x1E +asm/non_matchings/code/z_eventmgr/ActorCutscene_StartAndSetFlag.s,ActorCutscene_StartAndSetFlag,0x800F1CE0,0x29 +asm/non_matchings/code/z_eventmgr/ActorCutscene_Start.s,ActorCutscene_Start,0x800F1D84,0x8E +asm/non_matchings/code/z_eventmgr/ActorCutscene_Stop.s,ActorCutscene_Stop,0x800F1FBC,0x30 +asm/non_matchings/code/z_eventmgr/ActorCutscene_GetCurrentIndex.s,ActorCutscene_GetCurrentIndex,0x800F207C,0x4 +asm/non_matchings/code/z_eventmgr/ActorCutscene_GetCutscene.s,ActorCutscene_GetCutscene,0x800F208C,0xB +asm/non_matchings/code/z_eventmgr/ActorCutscene_GetAdditionalCutscene.s,ActorCutscene_GetAdditionalCutscene,0x800F20B8,0x10 +asm/non_matchings/code/z_eventmgr/ActorCutscene_GetLength.s,ActorCutscene_GetLength,0x800F20F8,0x10 +asm/non_matchings/code/z_eventmgr/func_800F2138.s,func_800F2138,0x800F2138,0x10 +asm/non_matchings/code/z_eventmgr/func_800F2178.s,func_800F2178,0x800F2178,0x10 +asm/non_matchings/code/z_eventmgr/ActorCutscene_GetCurrentCamera.s,ActorCutscene_GetCurrentCamera,0x800F21B8,0x5 +asm/non_matchings/code/z_eventmgr/func_800F21CC.s,func_800F21CC,0x800F21CC,0x3E +asm/non_matchings/code/z_eventmgr/func_800F22C4.s,func_800F22C4,0x800F22C4,0x40 +asm/non_matchings/code/z_eventmgr/ActorCutscene_SetReturnCamera.s,ActorCutscene_SetReturnCamera,0x800F23C4,0x7 +asm/non_matchings/code/code_800F23E0/func_800F23E0.s,func_800F23E0,0x800F23E0,0x26 +asm/non_matchings/code/code_800F23E0/func_800F2478.s,func_800F2478,0x800F2478,0x6A +asm/non_matchings/code/z_fcurve_data_skelanime/func_800F2620.s,func_800F2620,0x800F2620,0xC +asm/non_matchings/code/z_fcurve_data_skelanime/func_800F2650.s,func_800F2650,0x800F2650,0x1C +asm/non_matchings/code/z_fcurve_data_skelanime/func_800F26C0.s,func_800F26C0,0x800F26C0,0xC +asm/non_matchings/code/z_fcurve_data_skelanime/func_800F26F0.s,func_800F26F0,0x800F26F0,0xE +asm/non_matchings/code/z_fcurve_data_skelanime/func_800F2728.s,func_800F2728,0x800F2728,0x9E +asm/non_matchings/code/z_fcurve_data_skelanime/func_800F29A0.s,func_800F29A0,0x800F29A0,0xCE +asm/non_matchings/code/z_fcurve_data_skelanime/func_800F2CD8.s,func_800F2CD8,0x800F2CD8,0x16 +asm/non_matchings/code/z_fireobj/FireObj_InitWithParams.s,FireObj_InitWithParams,0x800F2D30,0x46 +asm/non_matchings/code/z_fireobj/FireObj_SetState.s,FireObj_SetState,0x800F2E48,0x19 +asm/non_matchings/code/z_fireobj/FireObj_SetPosition.s,FireObj_SetPosition,0x800F2EAC,0x8 +asm/non_matchings/code/z_fireobj/FireObj_StepSize.s,FireObj_StepSize,0x800F2ECC,0x4C +asm/non_matchings/code/z_fireobj/FireObj_UpdateStateTransitions.s,FireObj_UpdateStateTransitions,0x800F2FFC,0x7C +asm/non_matchings/code/z_fireobj/FireObj_Draw.s,FireObj_Draw,0x800F31EC,0x82 +asm/non_matchings/code/z_fireobj/FireObj_InitLight.s,FireObj_InitLight,0x800F33F4,0x34 +asm/non_matchings/code/z_fireobj/FireObj_FiniLight.s,FireObj_FiniLight,0x800F34C4,0xA +asm/non_matchings/code/z_fireobj/FireObj_UpdateLight.s,FireObj_UpdateLight,0x800F34EC,0x78 +asm/non_matchings/code/z_fireobj/FireObj_Init.s,FireObj_Init,0x800F36CC,0x39 +asm/non_matchings/code/z_fireobj/FireObj_Fini.s,FireObj_Fini,0x800F37B0,0x10 +asm/non_matchings/code/z_fireobj/FireObj_SetState2.s,FireObj_SetState2,0x800F37F0,0xC +asm/non_matchings/code/z_fireobj/FireObj_Update.s,FireObj_Update,0x800F3820,0x48 +asm/non_matchings/code/z_horse/func_800F3940.s,func_800F3940,0x800F3940,0x1D +asm/non_matchings/code/z_horse/func_800F39B4.s,func_800F39B4,0x800F39B4,0x2C +asm/non_matchings/code/z_horse/func_800F3A64.s,func_800F3A64,0x800F3A64,0x32 +asm/non_matchings/code/z_horse/func_800F3B2C.s,func_800F3B2C,0x800F3B2C,0xF +asm/non_matchings/code/z_horse/func_800F3B68.s,func_800F3B68,0x800F3B68,0x37 +asm/non_matchings/code/z_horse/func_800F3C44.s,func_800F3C44,0x800F3C44,0xA4 +asm/non_matchings/code/z_horse/func_800F3ED4.s,func_800F3ED4,0x800F3ED4,0x73 +asm/non_matchings/code/z_horse/func_800F40A0.s,func_800F40A0,0x800F40A0,0x2F +asm/non_matchings/code/z_horse/func_800F415C.s,func_800F415C,0x800F415C,0x22 +asm/non_matchings/code/z_horse/func_800F41E4.s,func_800F41E4,0x800F41E4,0x2F +asm/non_matchings/code/z_jpeg/func_800F42A0.s,func_800F42A0,0x800F42A0,0x47 +asm/non_matchings/code/z_jpeg/func_800F43BC.s,func_800F43BC,0x800F43BC,0x4E +asm/non_matchings/code/z_jpeg/func_800F44F4.s,func_800F44F4,0x800F44F4,0x13 +asm/non_matchings/code/z_jpeg/func_800F4540.s,func_800F4540,0x800F4540,0x73 +asm/non_matchings/code/z_jpeg/func_800F470C.s,func_800F470C,0x800F470C,0xC1 +asm/non_matchings/code/z_kaleido_setup/func_800F4A10.s,func_800F4A10,0x800F4A10,0x7F +asm/non_matchings/code/z_kaleido_setup/func_800F4C0C.s,func_800F4C0C,0x800F4C0C,0x85 +asm/non_matchings/code/z_kaleido_setup/func_800F4E20.s,func_800F4E20,0x800F4E20,0x42 +asm/non_matchings/code/z_kaleido_setup/func_800F4F28.s,func_800F4F28,0x800F4F28,0x6 +asm/non_matchings/code/z_kanfont/Font_LoadChar.s,Font_LoadChar,0x800F4F40,0x5 +asm/non_matchings/code/z_kanfont/Font_LoadCharNES.s,Font_LoadCharNES,0x800F4F54,0x1B +asm/non_matchings/code/z_kanfont/Font_LoadMessageBoxEndIcon.s,Font_LoadMessageBoxEndIcon,0x800F4FC0,0x11 +asm/non_matchings/code/z_kanfont/Font_LoadOrderedFont.s,Font_LoadOrderedFont,0x800F5004,0x23 +asm/non_matchings/code/z_kankyo/func_800F5090.s,func_800F5090,0x800F5090,0x11 +asm/non_matchings/code/z_kankyo/func_800F50D4.s,func_800F50D4,0x800F50D4,0xE +asm/non_matchings/code/z_kankyo/Kankyo_Init.s,Kankyo_Init,0x800F510C,0x212 +asm/non_matchings/code/z_kankyo/func_800F5954.s,func_800F5954,0x800F5954,0x4E +asm/non_matchings/code/z_kankyo/func_800F5A8C.s,func_800F5A8C,0x800F5A8C,0x21 +asm/non_matchings/code/z_kankyo/func_800F5B10.s,func_800F5B10,0x800F5B10,0x70 +asm/non_matchings/code/z_kankyo/func_800F5CD0.s,func_800F5CD0,0x800F5CD0,0x2D9 +asm/non_matchings/code/z_kankyo/func_800F6834.s,func_800F6834,0x800F6834,0x46 +asm/non_matchings/code/z_kankyo/func_800F694C.s,func_800F694C,0x800F694C,0x2E +asm/non_matchings/code/z_kankyo/func_800F6A04.s,func_800F6A04,0x800F6A04,0xF +asm/non_matchings/code/z_kankyo/func_800F6A40.s,func_800F6A40,0x800F6A40,0x1E +asm/non_matchings/code/z_kankyo/func_800F6AB8.s,func_800F6AB8,0x800F6AB8,0x23 +asm/non_matchings/code/z_kankyo/func_800F6B44.s,func_800F6B44,0x800F6B44,0x6A +asm/non_matchings/code/z_kankyo/func_800F6CEC.s,func_800F6CEC,0x800F6CEC,0x6E +asm/non_matchings/code/z_kankyo/func_800F6EA4.s,func_800F6EA4,0x800F6EA4,0x4A +asm/non_matchings/code/z_kankyo/Kankyo_IsSceneUpsideDown.s,Kankyo_IsSceneUpsideDown,0x800F6FCC,0xB +asm/non_matchings/code/z_kankyo/func_800F6FF8.s,func_800F6FF8,0x800F6FF8,0x557 +asm/non_matchings/code/z_kankyo/func_800F8554.s,func_800F8554,0x800F8554,0xDC +asm/non_matchings/code/z_kankyo/func_800F88C4.s,func_800F88C4,0x800F88C4,0x2B +asm/non_matchings/code/z_kankyo/func_800F8970.s,func_800F8970,0x800F8970,0x4B +asm/non_matchings/code/z_kankyo/func_800F8A9C.s,func_800F8A9C,0x800F8A9C,0x8E +asm/non_matchings/code/z_kankyo/func_800F8CD4.s,func_800F8CD4,0x800F8CD4,0x2C +asm/non_matchings/code/z_kankyo/func_800F8D84.s,func_800F8D84,0x800F8D84,0x269 +asm/non_matchings/code/z_kankyo/func_800F9728.s,func_800F9728,0x800F9728,0x3F +asm/non_matchings/code/z_kankyo/func_800F9824.s,func_800F9824,0x800F9824,0x2DE +asm/non_matchings/code/z_kankyo/func_800FA39C.s,func_800FA39C,0x800FA39C,0xA +asm/non_matchings/code/z_kankyo/func_800FA3C4.s,func_800FA3C4,0x800FA3C4,0x18E +asm/non_matchings/code/z_kankyo/func_800FA9FC.s,func_800FA9FC,0x800FA9FC,0x2E +asm/non_matchings/code/z_kankyo/func_800FAAB4.s,func_800FAAB4,0x800FAAB4,0x5B +asm/non_matchings/code/z_kankyo/func_800FAC20.s,func_800FAC20,0x800FAC20,0xD5 +asm/non_matchings/code/z_kankyo/func_800FAF74.s,func_800FAF74,0x800FAF74,0x27 +asm/non_matchings/code/z_kankyo/func_800FB010.s,func_800FB010,0x800FB010,0xC4 +asm/non_matchings/code/z_kankyo/func_800FB320.s,func_800FB320,0x800FB320,0x1A +asm/non_matchings/code/z_kankyo/func_800FB388.s,func_800FB388,0x800FB388,0xF4 +asm/non_matchings/code/z_kankyo/func_800FB758.s,func_800FB758,0x800FB758,0x97 +asm/non_matchings/code/z_kankyo/func_800FB9B4.s,func_800FB9B4,0x800FB9B4,0xC2 +asm/non_matchings/code/z_kankyo/func_800FBCBC.s,func_800FBCBC,0x800FBCBC,0x4C +asm/non_matchings/code/z_kankyo/func_800FBDEC.s,func_800FBDEC,0x800FBDEC,0x54 +asm/non_matchings/code/z_kankyo/func_800FBF3C.s,func_800FBF3C,0x800FBF3C,0x87 +asm/non_matchings/code/z_kankyo/func_800FC158.s,func_800FC158,0x800FC158,0xA1 +asm/non_matchings/code/z_kankyo/func_800FC3DC.s,func_800FC3DC,0x800FC3DC,0x1A +asm/non_matchings/code/z_kankyo/func_800FC444.s,func_800FC444,0x800FC444,0x82 +asm/non_matchings/code/z_kankyo/func_800FC64C.s,func_800FC64C,0x800FC64C,0x31A +asm/non_matchings/code/z_kankyo/func_800FD2B4.s,func_800FD2B4,0x800FD2B4,0xA1 +asm/non_matchings/code/z_kankyo/func_800FD538.s,func_800FD538,0x800FD538,0x19 +asm/non_matchings/code/z_kankyo/func_800FD59C.s,func_800FD59C,0x800FD59C,0x11 +asm/non_matchings/code/z_kankyo/func_800FD5E0.s,func_800FD5E0,0x800FD5E0,0x1D +asm/non_matchings/code/z_kankyo/func_800FD654.s,func_800FD654,0x800FD654,0x11 +asm/non_matchings/code/z_kankyo/func_800FD698.s,func_800FD698,0x800FD698,0x22 +asm/non_matchings/code/z_kankyo/get_days_elapsed.s,get_days_elapsed,0x800FD720,0x4 +asm/non_matchings/code/z_kankyo/reset_days_elapsed.s,reset_days_elapsed,0x800FD730,0x4 +asm/non_matchings/code/z_kankyo/get_current_day.s,get_current_day,0x800FD740,0x4 +asm/non_matchings/code/z_kankyo/func_800FD750.s,func_800FD750,0x800FD750,0x6 +asm/non_matchings/code/z_kankyo/func_800FD768.s,func_800FD768,0x800FD768,0x9 +asm/non_matchings/code/z_kankyo/func_800FD78C.s,func_800FD78C,0x800FD78C,0x33 +asm/non_matchings/code/z_kankyo/func_800FD858.s,func_800FD858,0x800FD858,0x34 +asm/non_matchings/code/z_kankyo/func_800FD928.s,func_800FD928,0x800FD928,0x16 +asm/non_matchings/code/z_kankyo/func_800FD980.s,func_800FD980,0x800FD980,0x5E +asm/non_matchings/code/z_kankyo/func_800FDAF8.s,func_800FDAF8,0x800FDAF8,0x67 +asm/non_matchings/code/z_kankyo/func_800FDC94.s,func_800FDC94,0x800FDC94,0x1BF +asm/non_matchings/code/z_kankyo/func_800FE390.s,func_800FE390,0x800FE390,0x14 +asm/non_matchings/code/z_kankyo/func_800FE3E0.s,func_800FE3E0,0x800FE3E0,0x29 +asm/non_matchings/code/z_kankyo/func_800FE484.s,func_800FE484,0x800FE484,0x5 +asm/non_matchings/code/z_kankyo/func_800FE498.s,func_800FE498,0x800FE498,0x4 +asm/non_matchings/code/z_kankyo/func_800FE4A8.s,func_800FE4A8,0x800FE4A8,0x4 +asm/non_matchings/code/z_kankyo/func_800FE4B8.s,func_800FE4B8,0x800FE4B8,0x36 +asm/non_matchings/code/z_kankyo/func_800FE590.s,func_800FE590,0x800FE590,0x10 +asm/non_matchings/code/z_kankyo/func_800FE5D0.s,func_800FE5D0,0x800FE5D0,0x10 +asm/non_matchings/code/z_kankyo/func_800FE610.s,func_800FE610,0x800FE610,0x4 +asm/non_matchings/code/z_kankyo/func_800FE620.s,func_800FE620,0x800FE620,0xE +asm/non_matchings/code/z_kankyo/func_800FE658.s,func_800FE658,0x800FE658,0x28 +asm/non_matchings/code/z_kankyo/func_800FE6F8.s,func_800FE6F8,0x800FE6F8,0x20 +asm/non_matchings/code/z_kankyo/func_800FE778.s,func_800FE778,0x800FE778,0x4 +asm/non_matchings/code/z_kankyo/func_800FE788.s,func_800FE788,0x800FE788,0x4 +asm/non_matchings/code/z_kankyo/func_800FE798.s,func_800FE798,0x800FE798,0x4 +asm/non_matchings/code/z_kankyo/func_800FE7A8.s,func_800FE7A8,0x800FE7A8,0x83 +asm/non_matchings/code/z_kankyo/func_800FE9B4.s,func_800FE9B4,0x800FE9B4,0x27 +asm/non_matchings/code/z_kankyo/func_800FEA50.s,func_800FEA50,0x800FEA50,0x18 +asm/non_matchings/code/z_kankyo/func_800FEAB0.s,func_800FEAB0,0x800FEAB0,0x4 +asm/non_matchings/code/z_kankyo/func_800FEAC0.s,func_800FEAC0,0x800FEAC0,0xD +asm/non_matchings/code/z_kankyo/func_800FEAF4.s,func_800FEAF4,0x800FEAF4,0x67 +asm/non_matchings/code/z_lib/Lib_MemCpy.s,Lib_MemCpy,0x800FEC90,0xC +asm/non_matchings/code/z_lib/Lib_MemSet.s,Lib_MemSet,0x800FECC0,0x21 +asm/non_matchings/code/z_lib/Math_CosS.s,Math_CosS,0x800FED44,0x10 +asm/non_matchings/code/z_lib/Math_SinS.s,Math_SinS,0x800FED84,0x10 +asm/non_matchings/code/z_lib/Math_StepToIImpl.s,Math_StepToIImpl,0x800FEDC4,0x11 +asm/non_matchings/code/z_lib/Math_StepToIGet.s,Math_StepToIGet,0x800FEE08,0xB +asm/non_matchings/code/z_lib/Math_StepToI.s,Math_StepToI,0x800FEE34,0xF +asm/non_matchings/code/z_lib/Math_ScaledStepToS.s,Math_ScaledStepToS,0x800FEE70,0x2F +asm/non_matchings/code/z_lib/Math_StepToS.s,Math_StepToS,0x800FEF2C,0x22 +asm/non_matchings/code/z_lib/Math_StepToC.s,Math_StepToC,0x800FEFB4,0x22 +asm/non_matchings/code/z_lib/Math_StepToF.s,Math_StepToF,0x800FF03C,0x25 +asm/non_matchings/code/z_lib/Math_StepUntilAngleS.s,Math_StepUntilAngleS,0x800FF0D0,0x1A +asm/non_matchings/code/z_lib/Math_StepToAngleS.s,Math_StepToAngleS,0x800FF138,0x31 +asm/non_matchings/code/z_lib/Math_AsymStepToS.s,Math_AsymStepToS,0x800FF1FC,0x2B +asm/non_matchings/code/z_lib/Math_StepUntilF.s,Math_StepUntilF,0x800FF2A8,0x14 +asm/non_matchings/code/z_lib/Math_AsymStepToF.s,Math_AsymStepToF,0x800FF2F8,0x2A +asm/non_matchings/code/z_lib/func_800FF3A0.s,func_800FF3A0,0x800FF3A0,0x2C +asm/non_matchings/code/z_lib/Rand_S16Offset.s,Rand_S16Offset,0x800FF450,0x15 +asm/non_matchings/code/z_lib/Rand_S16OffsetStride.s,Rand_S16OffsetStride,0x800FF4A4,0x1A +asm/non_matchings/code/z_lib/Math_Vec3f_Copy.s,Math_Vec3f_Copy,0x800FF50C,0x8 +asm/non_matchings/code/z_lib/Math_Vec3s_Copy.s,Math_Vec3s_Copy,0x800FF52C,0x8 +asm/non_matchings/code/z_lib/Math_Vec3s_ToVec3f.s,Math_Vec3s_ToVec3f,0x800FF54C,0xE +asm/non_matchings/code/z_lib/Math_Vec3f_ToVec3s.s,Math_Vec3f_ToVec3s,0x800FF584,0xE +asm/non_matchings/code/z_lib/Math_Vec3f_Sum.s,Math_Vec3f_Sum,0x800FF5BC,0xE +asm/non_matchings/code/z_lib/Math_Vec3f_Diff.s,Math_Vec3f_Diff,0x800FF5F4,0xE +asm/non_matchings/code/z_lib/Math_Vec3s_DiffToVec3f.s,Math_Vec3s_DiffToVec3f,0x800FF62C,0x17 +asm/non_matchings/code/z_lib/Math_Vec3f_Scale.s,Math_Vec3f_Scale,0x800FF688,0xF +asm/non_matchings/code/z_lib/Math_Vec3f_ScaleAndStore.s,Math_Vec3f_ScaleAndStore,0x800FF6C4,0xD +asm/non_matchings/code/z_lib/Math_Vec3f_Lerp.s,Math_Vec3f_Lerp,0x800FF6F8,0x16 +asm/non_matchings/code/z_lib/Math_Vec3f_SumScaled.s,Math_Vec3f_SumScaled,0x800FF750,0x13 +asm/non_matchings/code/z_lib/Math_Vec3f_AddRand.s,Math_Vec3f_AddRand,0x800FF79C,0x1D +asm/non_matchings/code/z_lib/Math_Vec3f_DistXYZAndStoreNormDiff.s,Math_Vec3f_DistXYZAndStoreNormDiff,0x800FF810,0x1D +asm/non_matchings/code/z_lib/Math_Vec3f_DistXYZ.s,Math_Vec3f_DistXYZ,0x800FF884,0x14 +asm/non_matchings/code/z_lib/Math_Vec3f_DistXYZAndStoreDiff.s,Math_Vec3f_DistXYZAndStoreDiff,0x800FF8D4,0x16 +asm/non_matchings/code/z_lib/Math_Vec3f_DistXZ.s,Math_Vec3f_DistXZ,0x800FF92C,0xD +asm/non_matchings/code/z_lib/Math_Vec3f_DistXZAndStore.s,Math_Vec3f_DistXZAndStore,0x800FF960,0x11 +asm/non_matchings/code/z_lib/Math_Vec3f_StepToXZ.s,Math_Vec3f_StepToXZ,0x800FF9A4,0x2A +asm/non_matchings/code/z_lib/Math_Vec3f_DiffY.s,Math_Vec3f_DiffY,0x800FFA4C,0x5 +asm/non_matchings/code/z_lib/Math_Vec3f_Yaw.s,Math_Vec3f_Yaw,0x800FFA60,0xD +asm/non_matchings/code/z_lib/Math_Vec3f_Pitch.s,Math_Vec3f_Pitch,0x800FFA94,0x12 +asm/non_matchings/code/z_lib/Actor_ProcessInitChain.s,Actor_ProcessInitChain,0x800FFADC,0x1E +asm/non_matchings/code/z_lib/IChain_Apply_u8.s,IChain_Apply_u8,0x800FFB54,0x7 +asm/non_matchings/code/z_lib/IChain_Apply_s8.s,IChain_Apply_s8,0x800FFB70,0x7 +asm/non_matchings/code/z_lib/IChain_Apply_u16.s,IChain_Apply_u16,0x800FFB8C,0x7 +asm/non_matchings/code/z_lib/IChain_Apply_s16.s,IChain_Apply_s16,0x800FFBA8,0x7 +asm/non_matchings/code/z_lib/IChain_Apply_u32.s,IChain_Apply_u32,0x800FFBC4,0x7 +asm/non_matchings/code/z_lib/IChain_Apply_s32.s,IChain_Apply_s32,0x800FFBE0,0x7 +asm/non_matchings/code/z_lib/IChain_Apply_f32.s,IChain_Apply_f32,0x800FFBFC,0x9 +asm/non_matchings/code/z_lib/IChain_Apply_f32div1000.s,IChain_Apply_f32div1000,0x800FFC20,0xC +asm/non_matchings/code/z_lib/IChain_Apply_Vec3f.s,IChain_Apply_Vec3f,0x800FFC50,0xB +asm/non_matchings/code/z_lib/IChain_Apply_Vec3fdiv1000.s,IChain_Apply_Vec3fdiv1000,0x800FFC7C,0xE +asm/non_matchings/code/z_lib/IChain_Apply_Vec3s.s,IChain_Apply_Vec3s,0x800FFCB4,0x9 +asm/non_matchings/code/z_lib/Math_SmoothStepToF.s,Math_SmoothStepToF,0x800FFCD8,0x48 +asm/non_matchings/code/z_lib/Math_ApproachF.s,Math_ApproachF,0x800FFDF8,0x1C +asm/non_matchings/code/z_lib/Math_ApproachZeroF.s,Math_ApproachZeroF,0x800FFE68,0x15 +asm/non_matchings/code/z_lib/Math_SmoothStepToS.s,Math_SmoothStepToS,0x800FFEBC,0x47 +asm/non_matchings/code/z_lib/Math_ApproachS.s,Math_ApproachS,0x800FFFD8,0x29 +asm/non_matchings/code/z_lib/Color_RGBA8_Copy.s,Color_RGBA8_Copy,0x8010007C,0xA +asm/non_matchings/code/z_lib/func_801000A4.s,func_801000A4,0x801000A4,0xA +asm/non_matchings/code/z_lib/func_801000CC.s,func_801000CC,0x801000CC,0xA +asm/non_matchings/code/z_lib/func_801000F4.s,func_801000F4,0x801000F4,0xA +asm/non_matchings/code/z_lib/Lib_Vec3f_TranslateAndRotateY.s,Lib_Vec3f_TranslateAndRotateY,0x8010011C,0x27 +asm/non_matchings/code/z_lib/Lib_LerpRGB.s,Lib_LerpRGB,0x801001B8,0xA4 +asm/non_matchings/code/z_lib/Math_Vec3f_StepTo.s,Math_Vec3f_StepTo,0x80100448,0x2D +asm/non_matchings/code/z_lib/Lib_Nop801004FC.s,Lib_Nop801004FC,0x801004FC,0x2 +asm/non_matchings/code/z_lib/Lib_SegmentedToVirtual.s,Lib_SegmentedToVirtual,0x80100504,0xE +asm/non_matchings/code/z_lib/Lib_SegmentedToVirtualNull.s,Lib_SegmentedToVirtualNull,0x8010053C,0x12 +asm/non_matchings/code/z_lib/Lib_PhysicalToVirtual.s,Lib_PhysicalToVirtual,0x80100584,0x7 +asm/non_matchings/code/z_lib/Lib_PhysicalToVirtualNull.s,Lib_PhysicalToVirtualNull,0x801005A0,0x8 +asm/non_matchings/code/z_lifemeter/LifeMeter_Init.s,LifeMeter_Init,0x801005C0,0x37 +asm/non_matchings/code/z_lifemeter/LifeMeter_UpdateColors.s,LifeMeter_UpdateColors,0x8010069C,0xF9 +asm/non_matchings/code/z_lifemeter/func_80100A80.s,func_80100A80,0x80100A80,0x8 +asm/non_matchings/code/z_lifemeter/func_80100AA0.s,func_80100AA0,0x80100AA0,0x14 +asm/non_matchings/code/z_lifemeter/func_80100AF0.s,func_80100AF0,0x80100AF0,0x27 +asm/non_matchings/code/z_lifemeter/LifeMeter_Draw.s,LifeMeter_Draw,0x80100B8C,0x32E +asm/non_matchings/code/z_lifemeter/LifeMeter_UpdateSizeAndBeep.s,LifeMeter_UpdateSizeAndBeep,0x80101844,0x3B +asm/non_matchings/code/z_lifemeter/LifeMeter_IsCritical.s,LifeMeter_IsCritical,0x80101930,0x1C +asm/non_matchings/code/z_lights/Lights_PointSetInfo.s,Lights_PointSetInfo,0x801019A0,0x17 +asm/non_matchings/code/z_lights/Lights_PointNoGlowSetInfo.s,Lights_PointNoGlowSetInfo,0x801019FC,0x19 +asm/non_matchings/code/z_lights/Lights_PointGlowSetInfo.s,Lights_PointGlowSetInfo,0x80101A60,0x1A +asm/non_matchings/code/z_lights/Lights_PointSetColorAndRadius.s,Lights_PointSetColorAndRadius,0x80101AC8,0xD +asm/non_matchings/code/z_lights/Lights_PointSetPosition.s,Lights_PointSetPosition,0x80101AFC,0xE +asm/non_matchings/code/z_lights/Lights_DirectionalSetInfo.s,Lights_DirectionalSetInfo,0x80101B34,0x16 +asm/non_matchings/code/z_lights/Lights_Reset.s,Lights_Reset,0x80101B8C,0xF +asm/non_matchings/code/z_lights/Lights_Draw.s,Lights_Draw,0x80101BC8,0x51 +asm/non_matchings/code/z_lights/Lights_FindSlot.s,Lights_FindSlot,0x80101D0C,0xC +asm/non_matchings/code/z_lights/Lights_BindPointWithReference.s,Lights_BindPointWithReference,0x80101D3C,0xD9 +asm/non_matchings/code/z_lights/Lights_BindPoint.s,Lights_BindPoint,0x801020A0,0x79 +asm/non_matchings/code/z_lights/Lights_BindDirectional.s,Lights_BindDirectional,0x80102284,0x1B +asm/non_matchings/code/z_lights/Lights_BindAll.s,Lights_BindAll,0x801022F0,0x3A +asm/non_matchings/code/z_lights/Lights_FindBufSlot.s,Lights_FindBufSlot,0x801023D8,0x23 +asm/non_matchings/code/z_lights/Lights_FreeNode.s,Lights_FreeNode,0x80102464,0x12 +asm/non_matchings/code/z_lights/LightContext_Init.s,LightContext_Init,0x801024AC,0x1B +asm/non_matchings/code/z_lights/LightContext_SetAmbientColor.s,LightContext_SetAmbientColor,0x80102518,0xB +asm/non_matchings/code/z_lights/func_80102544.s,func_80102544,0x80102544,0xF +asm/non_matchings/code/z_lights/LightContext_NewLights.s,LightContext_NewLights,0x80102580,0xE +asm/non_matchings/code/z_lights/LightContext_InitList.s,LightContext_InitList,0x801025B8,0x4 +asm/non_matchings/code/z_lights/LightContext_DestroyList.s,LightContext_DestroyList,0x801025C8,0x17 +asm/non_matchings/code/z_lights/LightContext_InsertLight.s,LightContext_InsertLight,0x80102624,0x18 +asm/non_matchings/code/z_lights/LightContext_RemoveLight.s,LightContext_RemoveLight,0x80102684,0x19 +asm/non_matchings/code/z_lights/Lights_NewAndDraw.s,Lights_NewAndDraw,0x801026E8,0x53 +asm/non_matchings/code/z_lights/Lights_New.s,Lights_New,0x80102834,0x13 +asm/non_matchings/code/z_lights/Lights_GlowCheck.s,Lights_GlowCheck,0x80102880,0x79 +asm/non_matchings/code/z_lights/Lights_DrawGlow.s,Lights_DrawGlow,0x80102A64,0x7F +asm/non_matchings/code/z_malloc/zelda_malloc.s,zelda_malloc,0x80102C60,0xA +asm/non_matchings/code/z_malloc/zelda_mallocR.s,zelda_mallocR,0x80102C88,0xA +asm/non_matchings/code/z_malloc/zelda_realloc.s,zelda_realloc,0x80102CB0,0xC +asm/non_matchings/code/z_malloc/zelda_free.s,zelda_free,0x80102CE0,0xA +asm/non_matchings/code/z_malloc/zelda_calloc.s,zelda_calloc,0x80102D08,0x16 +asm/non_matchings/code/z_malloc/MainHeap_AnalyzeArena.s,MainHeap_AnalyzeArena,0x80102D60,0xE +asm/non_matchings/code/z_malloc/MainHeap_Check.s,MainHeap_Check,0x80102D98,0x9 +asm/non_matchings/code/z_malloc/MainHeap_Init.s,MainHeap_Init,0x80102DBC,0xC +asm/non_matchings/code/z_malloc/MainHeap_Cleanup.s,MainHeap_Cleanup,0x80102DEC,0x9 +asm/non_matchings/code/z_malloc/MainHeap_IsInitialized.s,MainHeap_IsInitialized,0x80102E10,0xC +asm/non_matchings/code/z_map_disp/func_80102E40.s,func_80102E40,0x80102E40,0x14 +asm/non_matchings/code/z_map_disp/func_80102E90.s,func_80102E90,0x80102E90,0x5 +asm/non_matchings/code/z_map_disp/func_80102EA4.s,func_80102EA4,0x80102EA4,0x4 +asm/non_matchings/code/z_map_disp/func_80102EB4.s,func_80102EB4,0x80102EB4,0x7 +asm/non_matchings/code/z_map_disp/func_80102ED0.s,func_80102ED0,0x80102ED0,0x8 +asm/non_matchings/code/z_map_disp/func_80102EF0.s,func_80102EF0,0x80102EF0,0x2B +asm/non_matchings/code/z_map_disp/func_80102F9C.s,func_80102F9C,0x80102F9C,0x3D +asm/non_matchings/code/z_map_disp/func_80103090.s,func_80103090,0x80103090,0x9 +asm/non_matchings/code/z_map_disp/func_801030B4.s,func_801030B4,0x801030B4,0x10 +asm/non_matchings/code/z_map_disp/func_801030F4.s,func_801030F4,0x801030F4,0x37 +asm/non_matchings/code/z_map_disp/func_801031D0.s,func_801031D0,0x801031D0,0x207 +asm/non_matchings/code/z_map_disp/func_801039EC.s,func_801039EC,0x801039EC,0x9 +asm/non_matchings/code/z_map_disp/func_80103A10.s,func_80103A10,0x80103A10,0x12 +asm/non_matchings/code/z_map_disp/func_80103A58.s,func_80103A58,0x80103A58,0x251 +asm/non_matchings/code/z_map_disp/func_8010439C.s,func_8010439C,0x8010439C,0x84 +asm/non_matchings/code/z_map_disp/func_801045AC.s,func_801045AC,0x801045AC,0x14F +asm/non_matchings/code/z_map_disp/func_80104AE8.s,func_80104AE8,0x80104AE8,0x66 +asm/non_matchings/code/z_map_disp/func_80104C80.s,func_80104C80,0x80104C80,0x1D +asm/non_matchings/code/z_map_disp/func_80104CF4.s,func_80104CF4,0x80104CF4,0x90 +asm/non_matchings/code/z_map_disp/func_80104F34.s,func_80104F34,0x80104F34,0xD8 +asm/non_matchings/code/z_map_disp/func_80105294.s,func_80105294,0x80105294,0x21 +asm/non_matchings/code/z_map_disp/func_80105318.s,func_80105318,0x80105318,0x4 +asm/non_matchings/code/z_map_disp/func_80105328.s,func_80105328,0x80105328,0x9 +asm/non_matchings/code/z_map_disp/func_8010534C.s,func_8010534C,0x8010534C,0x54 +asm/non_matchings/code/z_map_disp/func_8010549C.s,func_8010549C,0x8010549C,0x70 +asm/non_matchings/code/z_map_disp/func_8010565C.s,func_8010565C,0x8010565C,0x6F +asm/non_matchings/code/z_map_disp/func_80105818.s,func_80105818,0x80105818,0x8A +asm/non_matchings/code/z_map_disp/func_80105A40.s,func_80105A40,0x80105A40,0x3D +asm/non_matchings/code/z_map_disp/func_80105B34.s,func_80105B34,0x80105B34,0x43 +asm/non_matchings/code/z_map_disp/func_80105C40.s,func_80105C40,0x80105C40,0xE8 +asm/non_matchings/code/z_map_disp/func_80105FE0.s,func_80105FE0,0x80105FE0,0x10A +asm/non_matchings/code/z_map_disp/func_80106408.s,func_80106408,0x80106408,0x12 +asm/non_matchings/code/z_map_disp/func_80106450.s,func_80106450,0x80106450,0x1F +asm/non_matchings/code/z_map_disp/func_801064CC.s,func_801064CC,0x801064CC,0x19 +asm/non_matchings/code/z_map_disp/func_80106530.s,func_80106530,0x80106530,0x13 +asm/non_matchings/code/z_map_disp/func_8010657C.s,func_8010657C,0x8010657C,0x32 +asm/non_matchings/code/z_map_disp/func_80106644.s,func_80106644,0x80106644,0x7E +asm/non_matchings/code/z_map_disp/func_8010683C.s,func_8010683C,0x8010683C,0x1E +asm/non_matchings/code/z_map_disp/func_801068B4.s,func_801068B4,0x801068B4,0x9 +asm/non_matchings/code/z_map_disp/func_801068D8.s,func_801068D8,0x801068D8,0x9 +asm/non_matchings/code/z_map_disp/func_801068FC.s,func_801068FC,0x801068FC,0xBC +asm/non_matchings/code/z_map_disp/func_80106BEC.s,func_80106BEC,0x80106BEC,0x47 +asm/non_matchings/code/z_map_disp/func_80106D08.s,func_80106D08,0x80106D08,0x15 +asm/non_matchings/code/z_map_disp/func_80106D5C.s,func_80106D5C,0x80106D5C,0x387 +asm/non_matchings/code/z_map_disp/func_80107B78.s,func_80107B78,0x80107B78,0x16B +asm/non_matchings/code/z_map_disp/func_80108124.s,func_80108124,0x80108124,0x10D +asm/non_matchings/code/z_map_disp/func_80108558.s,func_80108558,0x80108558,0x12E +asm/non_matchings/code/z_map_disp/func_80108A10.s,func_80108A10,0x80108A10,0x15 +asm/non_matchings/code/z_map_disp/func_80108A64.s,func_80108A64,0x80108A64,0x25 +asm/non_matchings/code/z_map_disp/func_80108AF8.s,func_80108AF8,0x80108AF8,0x16E +asm/non_matchings/code/z_map_disp/func_801090B0.s,func_801090B0,0x801090B0,0x1D +asm/non_matchings/code/z_map_disp/func_80109124.s,func_80109124,0x80109124,0x33 +asm/non_matchings/code/z_map_disp/func_801091F0.s,func_801091F0,0x801091F0,0x8E +asm/non_matchings/code/z_map_disp/func_80109428.s,func_80109428,0x80109428,0x1E +asm/non_matchings/code/z_map_data/func_801094A0.s,func_801094A0,0x801094A0,0xA +asm/non_matchings/code/z_map_data/func_801094C8.s,func_801094C8,0x801094C8,0xC +asm/non_matchings/code/z_map_data/func_801094F8.s,func_801094F8,0x801094F8,0xC +asm/non_matchings/code/z_map_data/func_80109528.s,func_80109528,0x80109528,0x9 +asm/non_matchings/code/z_map_data/func_8010954C.s,func_8010954C,0x8010954C,0x8 +asm/non_matchings/code/z_map_data/func_8010956C.s,func_8010956C,0x8010956C,0x8 +asm/non_matchings/code/z_map_data/func_8010958C.s,func_8010958C,0x8010958C,0x8 +asm/non_matchings/code/z_map_data/func_801095AC.s,func_801095AC,0x801095AC,0xC +asm/non_matchings/code/z_map_data/func_801095DC.s,func_801095DC,0x801095DC,0xC +asm/non_matchings/code/z_map_data/func_8010960C.s,func_8010960C,0x8010960C,0x9 +asm/non_matchings/code/z_map_data/func_80109630.s,func_80109630,0x80109630,0x8 +asm/non_matchings/code/z_map_data/func_80109650.s,func_80109650,0x80109650,0x8 +asm/non_matchings/code/z_map_data/func_80109670.s,func_80109670,0x80109670,0x19 +asm/non_matchings/code/z_map_data/func_801096D4.s,func_801096D4,0x801096D4,0x10 +asm/non_matchings/code/z_map_data/func_80109714.s,func_80109714,0x80109714,0x10 +asm/non_matchings/code/z_map_data/func_80109754.s,func_80109754,0x80109754,0x1D +asm/non_matchings/code/z_map_data/func_801097C8.s,func_801097C8,0x801097C8,0x1D +asm/non_matchings/code/z_map_data/func_8010983C.s,func_8010983C,0x8010983C,0x19 +asm/non_matchings/code/z_map_data/func_801098A0.s,func_801098A0,0x801098A0,0x1A +asm/non_matchings/code/z_map_data/func_80109908.s,func_80109908,0x80109908,0x17 +asm/non_matchings/code/z_map_data/func_80109964.s,func_80109964,0x80109964,0x6 +asm/non_matchings/code/z_map_data/func_8010997C.s,func_8010997C,0x8010997C,0xC +asm/non_matchings/code/z_map_data/func_801099AC.s,func_801099AC,0x801099AC,0xC +asm/non_matchings/code/z_map_data/func_801099DC.s,func_801099DC,0x801099DC,0x9 +asm/non_matchings/code/z_map_data/func_80109A00.s,func_80109A00,0x80109A00,0x8 +asm/non_matchings/code/z_map_data/func_80109A20.s,func_80109A20,0x80109A20,0x8 +asm/non_matchings/code/z_map_data/func_80109A40.s,func_80109A40,0x80109A40,0x16 +asm/non_matchings/code/z_map_data/func_80109A98.s,func_80109A98,0x80109A98,0x10 +asm/non_matchings/code/z_map_data/func_80109AD8.s,func_80109AD8,0x80109AD8,0x18 +asm/non_matchings/code/z_map_data/func_80109B38.s,func_80109B38,0x80109B38,0x1A +asm/non_matchings/code/z_map_data/func_80109BA0.s,func_80109BA0,0x80109BA0,0x15 +asm/non_matchings/code/z_map_data/func_80109BF4.s,func_80109BF4,0x80109BF4,0x11 +asm/non_matchings/code/z_map_data/func_80109C38.s,func_80109C38,0x80109C38,0x21 +asm/non_matchings/code/z_map_data/func_80109CBC.s,func_80109CBC,0x80109CBC,0x21 +asm/non_matchings/code/z_map_data/func_80109D40.s,func_80109D40,0x80109D40,0x26 +asm/non_matchings/code/z_map_data/func_80109DD8.s,func_80109DD8,0x80109DD8,0x26 +asm/non_matchings/code/z_map_data/func_80109E70.s,func_80109E70,0x80109E70,0x22 +asm/non_matchings/code/z_map_data/func_80109EF8.s,func_80109EF8,0x80109EF8,0x20 +asm/non_matchings/code/z_map_data/func_80109F78.s,func_80109F78,0x80109F78,0x22 +asm/non_matchings/code/z_map_exp/func_8010A000.s,func_8010A000,0x8010A000,0x1D +asm/non_matchings/code/z_map_exp/func_8010A074.s,func_8010A074,0x8010A074,0xC +asm/non_matchings/code/z_map_exp/func_8010A0A4.s,func_8010A0A4,0x8010A0A4,0x13 +asm/non_matchings/code/z_map_exp/func_8010A0F0.s,func_8010A0F0,0x8010A0F0,0x1D +asm/non_matchings/code/z_map_exp/func_8010A164.s,func_8010A164,0x8010A164,0xC +asm/non_matchings/code/z_map_exp/func_8010A194.s,func_8010A194,0x8010A194,0x1D +asm/non_matchings/code/z_map_exp/func_8010A208.s,func_8010A208,0x8010A208,0xC +asm/non_matchings/code/z_map_exp/func_8010A238.s,func_8010A238,0x8010A238,0x1D +asm/non_matchings/code/z_map_exp/func_8010A2AC.s,func_8010A2AC,0x8010A2AC,0xC +asm/non_matchings/code/z_map_exp/func_8010A2DC.s,func_8010A2DC,0x8010A2DC,0x18 +asm/non_matchings/code/z_map_exp/func_8010A33C.s,func_8010A33C,0x8010A33C,0x35 +asm/non_matchings/code/z_map_exp/func_8010A410.s,func_8010A410,0x8010A410,0x8 +asm/non_matchings/code/z_map_exp/func_8010A430.s,func_8010A430,0x8010A430,0x47 +asm/non_matchings/code/z_map_exp/func_8010A54C.s,func_8010A54C,0x8010A54C,0xD +asm/non_matchings/code/z_map_exp/func_8010A580.s,func_8010A580,0x8010A580,0x78 +asm/non_matchings/code/z_msgevent/func_8010A760.s,func_8010A760,0x8010A760,0x1B +asm/non_matchings/code/z_msgevent/func_8010A7CC.s,func_8010A7CC,0x8010A7CC,0x12 +asm/non_matchings/code/z_msgevent/func_8010A814.s,func_8010A814,0x8010A814,0x12 +asm/non_matchings/code/z_msgevent/func_8010A85C.s,func_8010A85C,0x8010A85C,0x12 +asm/non_matchings/code/z_msgevent/func_8010A8A4.s,func_8010A8A4,0x8010A8A4,0x12 +asm/non_matchings/code/z_msgevent/func_8010A8EC.s,func_8010A8EC,0x8010A8EC,0x29 +asm/non_matchings/code/z_msgevent/func_8010A990.s,func_8010A990,0x8010A990,0x31 +asm/non_matchings/code/z_msgevent/func_8010AA54.s,func_8010AA54,0x8010AA54,0x37 +asm/non_matchings/code/z_msgevent/func_8010AB30.s,func_8010AB30,0x8010AB30,0x19 +asm/non_matchings/code/z_msgevent/func_8010AB94.s,func_8010AB94,0x8010AB94,0x1B +asm/non_matchings/code/z_msgevent/func_8010AC00.s,func_8010AC00,0x8010AC00,0x49 +asm/non_matchings/code/z_msgevent/func_8010AD24.s,func_8010AD24,0x8010AD24,0x2C +asm/non_matchings/code/z_msgevent/func_8010ADD4.s,func_8010ADD4,0x8010ADD4,0x1D +asm/non_matchings/code/z_msgevent/func_8010AE48.s,func_8010AE48,0x8010AE48,0x21 +asm/non_matchings/code/z_msgevent/func_8010AECC.s,func_8010AECC,0x8010AECC,0x15 +asm/non_matchings/code/z_msgevent/func_8010AF20.s,func_8010AF20,0x8010AF20,0x13 +asm/non_matchings/code/z_msgevent/func_8010AF6C.s,func_8010AF6C,0x8010AF6C,0xA +asm/non_matchings/code/z_msgevent/func_8010AF94.s,func_8010AF94,0x8010AF94,0x13 +asm/non_matchings/code/z_msgevent/func_8010AFE0.s,func_8010AFE0,0x8010AFE0,0xC +asm/non_matchings/code/z_msgevent/func_8010B010.s,func_8010B010,0x8010B010,0x17 +asm/non_matchings/code/z_msgevent/func_8010B06C.s,func_8010B06C,0x8010B06C,0x12 +asm/non_matchings/code/z_msgevent/func_8010B0B4.s,func_8010B0B4,0x8010B0B4,0xA +asm/non_matchings/code/z_msgevent/func_8010B0DC.s,func_8010B0DC,0x8010B0DC,0xB +asm/non_matchings/code/z_msgevent/func_8010B108.s,func_8010B108,0x8010B108,0xE +asm/non_matchings/code/z_msgevent/func_8010B140.s,func_8010B140,0x8010B140,0x10 +asm/non_matchings/code/z_msgevent/func_8010B180.s,func_8010B180,0x8010B180,0xF +asm/non_matchings/code/z_msgevent/func_8010B1BC.s,func_8010B1BC,0x8010B1BC,0x1C +asm/non_matchings/code/z_msgevent/func_8010B22C.s,func_8010B22C,0x8010B22C,0x16 +asm/non_matchings/code/z_msgevent/func_8010B284.s,func_8010B284,0x8010B284,0xF +asm/non_matchings/code/z_msgevent/func_8010B2C0.s,func_8010B2C0,0x8010B2C0,0x10 +asm/non_matchings/code/z_msgevent/func_8010B300.s,func_8010B300,0x8010B300,0x4D +asm/non_matchings/code/z_msgevent/func_8010B434.s,func_8010B434,0x8010B434,0x1C +asm/non_matchings/code/z_msgevent/func_8010B4A4.s,func_8010B4A4,0x8010B4A4,0x1F +asm/non_matchings/code/z_msgevent/func_8010B520.s,func_8010B520,0x8010B520,0x51 +asm/non_matchings/code/z_msgevent/func_8010B664.s,func_8010B664,0x8010B664,0x51 +asm/non_matchings/code/z_msgevent/func_8010B7A8.s,func_8010B7A8,0x8010B7A8,0x20 +asm/non_matchings/code/z_msgevent/func_8010B828.s,func_8010B828,0x8010B828,0x14 +asm/non_matchings/code/z_msgevent/func_8010B878.s,func_8010B878,0x8010B878,0x1B +asm/non_matchings/code/z_msgevent/func_8010B8E4.s,func_8010B8E4,0x8010B8E4,0x8A +asm/non_matchings/code/z_msgevent/func_8010BB0C.s,func_8010BB0C,0x8010BB0C,0x18 +asm/non_matchings/code/z_msgevent/func_8010BB6C.s,func_8010BB6C,0x8010BB6C,0x18 +asm/non_matchings/code/z_msgevent/func_8010BBCC.s,func_8010BBCC,0x8010BBCC,0x17 +asm/non_matchings/code/z_msgevent/func_8010BC28.s,func_8010BC28,0x8010BC28,0x15 +asm/non_matchings/code/z_msgevent/func_8010BC7C.s,func_8010BC7C,0x8010BC7C,0x33 +asm/non_matchings/code/z_msgevent/func_8010BD48.s,func_8010BD48,0x8010BD48,0x12 +asm/non_matchings/code/z_msgevent/func_8010BD90.s,func_8010BD90,0x8010BD90,0x13 +asm/non_matchings/code/z_msgevent/func_8010BDDC.s,func_8010BDDC,0x8010BDDC,0x27 +asm/non_matchings/code/z_msgevent/func_8010BE78.s,func_8010BE78,0x8010BE78,0x11 +asm/non_matchings/code/z_msgevent/func_8010BEBC.s,func_8010BEBC,0x8010BEBC,0xD +asm/non_matchings/code/z_msgevent/func_8010BEF0.s,func_8010BEF0,0x8010BEF0,0xD +asm/non_matchings/code/z_msgevent/func_8010BF24.s,func_8010BF24,0x8010BF24,0xD +asm/non_matchings/code/z_msgevent/func_8010BF58.s,func_8010BF58,0x8010BF58,0x5A +asm/non_matchings/code/z_nmi_buff/Nmi_Init.s,Nmi_Init,0x8010C0C0,0x29 +asm/non_matchings/code/z_nmi_buff/Nmi_SetPrenmiStart.s,Nmi_SetPrenmiStart,0x8010C164,0xE +asm/non_matchings/code/z_nmi_buff/Nmi_GetPrenmiHasStarted.s,Nmi_GetPrenmiHasStarted,0x8010C19C,0x5 +asm/non_matchings/code/z_nmi_buff/func_8010C1B0.s,func_8010C1B0,0x8010C1B0,0x20 +asm/non_matchings/code/z_olib/OLib_Vec3fDist.s,OLib_Vec3fDist,0x8010C230,0x11 +asm/non_matchings/code/z_olib/OLib_Vec3fDistOutDiff.s,OLib_Vec3fDistOutDiff,0x8010C274,0x17 +asm/non_matchings/code/z_olib/OLib_Vec3fDistXZ.s,OLib_Vec3fDistXZ,0x8010C2D0,0xD +asm/non_matchings/code/z_olib/OLib_ClampMinDist.s,OLib_ClampMinDist,0x8010C304,0x1A +asm/non_matchings/code/z_olib/OLib_ClampMaxDist.s,OLib_ClampMaxDist,0x8010C36C,0x1A +asm/non_matchings/code/z_olib/OLib_Vec3fDistNormalize.s,OLib_Vec3fDistNormalize,0x8010C3D4,0x2C +asm/non_matchings/code/z_olib/OLib_VecSphToVec3f.s,OLib_VecSphToVec3f,0x8010C484,0x2B +asm/non_matchings/code/z_olib/OLib_VecSphGeoToVec3f.s,OLib_VecSphGeoToVec3f,0x8010C530,0x11 +asm/non_matchings/code/z_olib/OLib_Vec3fToVecSph.s,OLib_Vec3fToVecSph,0x8010C574,0x55 +asm/non_matchings/code/z_olib/OLib_Vec3fToVecSphGeo.s,OLib_Vec3fToVecSphGeo,0x8010C6C8,0x12 +asm/non_matchings/code/z_olib/OLib_Vec3fDiffToVecSph.s,OLib_Vec3fDiffToVecSph,0x8010C710,0x15 +asm/non_matchings/code/z_olib/OLib_Vec3fDiffToVecSphGeo.s,OLib_Vec3fDiffToVecSphGeo,0x8010C764,0x15 +asm/non_matchings/code/z_olib/OLib_VecSphAddToVec3f.s,OLib_VecSphAddToVec3f,0x8010C7B8,0x20 +asm/non_matchings/code/z_olib/OLib_Vec3fDiffRad.s,OLib_Vec3fDiffRad,0x8010C838,0x24 +asm/non_matchings/code/z_olib/OLib_Vec3fDiffDegF.s,OLib_Vec3fDiffDegF,0x8010C8C8,0x1A +asm/non_matchings/code/z_olib/OLib_Vec3fDiffBinAng.s,OLib_Vec3fDiffBinAng,0x8010C930,0x26 +asm/non_matchings/code/z_olib/OLib_DbCameraVec3fDiff.s,OLib_DbCameraVec3fDiff,0x8010C9C8,0x36 +asm/non_matchings/code/z_olib/OLib_DbCameraVec3fSum.s,OLib_DbCameraVec3fSum,0x8010CAA0,0x34 +asm/non_matchings/code/z_parameter/func_8010CB80.s,func_8010CB80,0x8010CB80,0x86 +asm/non_matchings/code/z_parameter/func_8010CD98.s,func_8010CD98,0x8010CD98,0x89 +asm/non_matchings/code/z_parameter/func_8010CFBC.s,func_8010CFBC,0x8010CFBC,0xC6 +asm/non_matchings/code/z_parameter/func_8010D2D4.s,func_8010D2D4,0x8010D2D4,0x6B +asm/non_matchings/code/z_parameter/func_8010D480.s,func_8010D480,0x8010D480,0xD4 +asm/non_matchings/code/z_parameter/func_8010D7D0.s,func_8010D7D0,0x8010D7D0,0x89 +asm/non_matchings/code/z_parameter/func_8010D9F4.s,func_8010D9F4,0x8010D9F4,0x99 +asm/non_matchings/code/z_parameter/func_8010DC58.s,func_8010DC58,0x8010DC58,0x78 +asm/non_matchings/code/z_parameter/func_8010DE38.s,func_8010DE38,0x8010DE38,0x7C +asm/non_matchings/code/z_parameter/func_8010E028.s,func_8010E028,0x8010E028,0x250 +asm/non_matchings/code/z_parameter/func_8010E968.s,func_8010E968,0x8010E968,0x22 +asm/non_matchings/code/z_parameter/func_8010E9F0.s,func_8010E9F0,0x8010E9F0,0x2B +asm/non_matchings/code/z_parameter/func_8010EA9C.s,func_8010EA9C,0x8010EA9C,0x2D +asm/non_matchings/code/z_parameter/func_8010EB50.s,func_8010EB50,0x8010EB50,0x14 +asm/non_matchings/code/z_parameter/func_8010EBA0.s,func_8010EBA0,0x8010EBA0,0x2D +asm/non_matchings/code/z_parameter/func_8010EC54.s,func_8010EC54,0x8010EC54,0x88 +asm/non_matchings/code/z_parameter/func_8010EE74.s,func_8010EE74,0x8010EE74,0x3D +asm/non_matchings/code/z_parameter/Interface_ChangeAlpha.s,Interface_ChangeAlpha,0x8010EF68,0xD +asm/non_matchings/code/z_parameter/func_8010EF9C.s,func_8010EF9C,0x8010EF9C,0x4E +asm/non_matchings/code/z_parameter/func_8010F0D4.s,func_8010F0D4,0x8010F0D4,0x35 +asm/non_matchings/code/z_parameter/func_8010F1A8.s,func_8010F1A8,0x8010F1A8,0x3A4 +asm/non_matchings/code/z_parameter/func_80110038.s,func_80110038,0x80110038,0x71F +asm/non_matchings/code/z_parameter/func_80111CB4.s,func_80111CB4,0x80111CB4,0x34C +asm/non_matchings/code/z_parameter/func_801129E4.s,func_801129E4,0x801129E4,0x44 +asm/non_matchings/code/z_parameter/func_80112AF4.s,func_80112AF4,0x80112AF4,0x2 +asm/non_matchings/code/z_parameter/func_80112AFC.s,func_80112AFC,0x80112AFC,0x11 +asm/non_matchings/code/z_parameter/func_80112B40.s,func_80112B40,0x80112B40,0x29 +asm/non_matchings/code/z_parameter/func_80112BE4.s,func_80112BE4,0x80112BE4,0xA +asm/non_matchings/code/z_parameter/func_80112C0C.s,func_80112C0C,0x80112C0C,0x9D +asm/non_matchings/code/z_parameter/Item_Give.s,Item_Give,0x80112E80,0x553 +asm/non_matchings/code/z_parameter/func_801143CC.s,func_801143CC,0x801143CC,0x16B +asm/non_matchings/code/z_parameter/func_80114978.s,func_80114978,0x80114978,0xA +asm/non_matchings/code/z_parameter/func_801149A0.s,func_801149A0,0x801149A0,0x3F +asm/non_matchings/code/z_parameter/func_80114A9C.s,func_80114A9C,0x80114A9C,0x3A +asm/non_matchings/code/z_parameter/func_80114B84.s,func_80114B84,0x80114B84,0x47 +asm/non_matchings/code/z_parameter/func_80114CA0.s,func_80114CA0,0x80114CA0,0x7C +asm/non_matchings/code/z_parameter/func_80114E90.s,func_80114E90,0x80114E90,0x27 +asm/non_matchings/code/z_parameter/func_80114F2C.s,func_80114F2C,0x80114F2C,0x29 +asm/non_matchings/code/z_parameter/func_80114FD0.s,func_80114FD0,0x80114FD0,0x58 +asm/non_matchings/code/z_parameter/func_80115130.s,func_80115130,0x80115130,0x62 +asm/non_matchings/code/z_parameter/func_801152B8.s,func_801152B8,0x801152B8,0x44 +asm/non_matchings/code/z_parameter/func_801153C8.s,func_801153C8,0x801153C8,0x18 +asm/non_matchings/code/z_parameter/func_80115428.s,func_80115428,0x80115428,0x41 +asm/non_matchings/code/z_parameter/func_8011552C.s,func_8011552C,0x8011552C,0x22 +asm/non_matchings/code/z_parameter/func_801155B4.s,func_801155B4,0x801155B4,0x6C +asm/non_matchings/code/z_parameter/func_80115764.s,func_80115764,0x80115764,0x38 +asm/non_matchings/code/z_parameter/func_80115844.s,func_80115844,0x80115844,0x31 +asm/non_matchings/code/z_parameter/func_80115908.s,func_80115908,0x80115908,0x2E +asm/non_matchings/code/z_parameter/func_801159c0.s,func_801159c0,0x801159C0,0xB +asm/non_matchings/code/z_parameter/func_801159EC.s,func_801159EC,0x801159EC,0xA +asm/non_matchings/code/z_parameter/func_80115A14.s,func_80115A14,0x80115A14,0xC0 +asm/non_matchings/code/z_parameter/Parameter_AddMagic.s,Parameter_AddMagic,0x80115D14,0x12 +asm/non_matchings/code/z_parameter/func_80115D5C.s,func_80115D5C,0x80115D5C,0x16 +asm/non_matchings/code/z_parameter/func_80115DB4.s,func_80115DB4,0x80115DB4,0xB5 +asm/non_matchings/code/z_parameter/func_80116088.s,func_80116088,0x80116088,0x23 +asm/non_matchings/code/z_parameter/func_80116114.s,func_80116114,0x80116114,0x8D +asm/non_matchings/code/z_parameter/func_80116348.s,func_80116348,0x80116348,0x174 +asm/non_matchings/code/z_parameter/func_80116918.s,func_80116918,0x80116918,0x1B0 +asm/non_matchings/code/z_parameter/func_80116FD8.s,func_80116FD8,0x80116FD8,0x38 +asm/non_matchings/code/z_parameter/func_801170B8.s,func_801170B8,0x801170B8,0x12 +asm/non_matchings/code/z_parameter/func_80117100.s,func_80117100,0x80117100,0x248 +asm/non_matchings/code/z_parameter/func_80117A20.s,func_80117A20,0x80117A20,0x6C +asm/non_matchings/code/z_parameter/func_80117BD0.s,func_80117BD0,0x80117BD0,0x12D +asm/non_matchings/code/z_parameter/func_80118084.s,func_80118084,0x80118084,0x203 +asm/non_matchings/code/z_parameter/func_80118890.s,func_80118890,0x80118890,0xC5 +asm/non_matchings/code/z_parameter/func_80118BA4.s,func_80118BA4,0x80118BA4,0x123 +asm/non_matchings/code/z_parameter/func_80119030.s,func_80119030,0x80119030,0x178 +asm/non_matchings/code/z_parameter/func_80119610.s,func_80119610,0x80119610,0x7B4 +asm/non_matchings/code/z_parameter/func_8011B4E0.s,func_8011B4E0,0x8011B4E0,0x38 +asm/non_matchings/code/z_parameter/func_8011B5C0.s,func_8011B5C0,0x8011B5C0,0x108 +asm/non_matchings/code/z_parameter/func_8011B9E0.s,func_8011B9E0,0x8011B9E0,0x164 +asm/non_matchings/code/z_parameter/func_8011BF70.s,func_8011BF70,0x8011BF70,0x155 +asm/non_matchings/code/z_parameter/func_8011C4C4.s,func_8011C4C4,0x8011C4C4,0xD1 +asm/non_matchings/code/z_parameter/func_8011C808.s,func_8011C808,0x8011C808,0x24 +asm/non_matchings/code/z_parameter/func_8011C898.s,func_8011C898,0x8011C898,0x73 +asm/non_matchings/code/z_parameter/func_8011CA64.s,func_8011CA64,0x8011CA64,0x654 +asm/non_matchings/code/z_parameter/func_8011E3B4.s,func_8011E3B4,0x8011E3B4,0xDF +asm/non_matchings/code/z_parameter/func_8011E730.s,func_8011E730,0x8011E730,0x26C +asm/non_matchings/code/z_parameter/func_8011F0E0.s,func_8011F0E0,0x8011F0E0,0x7AC +asm/non_matchings/code/z_parameter/func_80120F90.s,func_80120F90,0x80120F90,0x35 +asm/non_matchings/code/z_parameter/func_80121064.s,func_80121064,0x80121064,0x1F +asm/non_matchings/code/z_parameter/func_801210E0.s,func_801210E0,0x801210E0,0x3AD +asm/non_matchings/code/z_parameter/func_80121F94.s,func_80121F94,0x80121F94,0xC +asm/non_matchings/code/z_parameter/func_80121FC4.s,func_80121FC4,0x80121FC4,0x147 +asm/non_matchings/code/z_path/func_801224E0.s,func_801224E0,0x801224E0,0x11 +asm/non_matchings/code/z_path/func_80122524.s,func_80122524,0x80122524,0x2A +asm/non_matchings/code/z_path/func_801225CC.s,func_801225CC,0x801225CC,0x25 +asm/non_matchings/code/code_80122660/func_80122660.s,func_80122660,0x80122660,0x4 +asm/non_matchings/code/code_80122660/func_80122670.s,func_80122670,0x80122670,0x1C +asm/non_matchings/code/z_player_lib/func_801226E0.s,func_801226E0,0x801226E0,0x19 +asm/non_matchings/code/z_player_lib/func_80122744.s,func_80122744,0x80122744,0x7 +asm/non_matchings/code/z_player_lib/func_80122760.s,func_80122760,0x80122760,0x42 +asm/non_matchings/code/z_player_lib/func_80122868.s,func_80122868,0x80122868,0x4E +asm/non_matchings/code/z_player_lib/func_801229A0.s,func_801229A0,0x801229A0,0x13 +asm/non_matchings/code/z_player_lib/func_801229EC.s,func_801229EC,0x801229EC,0x4 +asm/non_matchings/code/z_player_lib/func_801229FC.s,func_801229FC,0x801229FC,0x6A +asm/non_matchings/code/z_player_lib/func_80122BA4.s,func_80122BA4,0x80122BA4,0x1F +asm/non_matchings/code/z_player_lib/func_80122C20.s,func_80122C20,0x80122C20,0x49 +asm/non_matchings/code/z_player_lib/func_80122D44.s,func_80122D44,0x80122D44,0x65 +asm/non_matchings/code/z_player_lib/func_80122ED8.s,func_80122ED8,0x80122ED8,0x5 +asm/non_matchings/code/z_player_lib/func_80122EEC.s,func_80122EEC,0x80122EEC,0xF +asm/non_matchings/code/z_player_lib/func_80122F28.s,func_80122F28,0x80122F28,0x1D +asm/non_matchings/code/z_player_lib/func_80122F9C.s,func_80122F9C,0x80122F9C,0xC +asm/non_matchings/code/z_player_lib/func_80122FCC.s,func_80122FCC,0x80122FCC,0x10 +asm/non_matchings/code/z_player_lib/func_8012300C.s,func_8012300C,0x8012300C,0x4 +asm/non_matchings/code/z_player_lib/func_8012301C.s,func_8012301C,0x8012301C,0x49 +asm/non_matchings/code/z_player_lib/func_80123140.s,func_80123140,0x80123140,0x86 +asm/non_matchings/code/z_player_lib/func_80123358.s,func_80123358,0x80123358,0x23 +asm/non_matchings/code/z_player_lib/func_801233E4.s,func_801233E4,0x801233E4,0xF +asm/non_matchings/code/z_player_lib/func_80123420.s,func_80123420,0x80123420,0x5 +asm/non_matchings/code/z_player_lib/func_80123434.s,func_80123434,0x80123434,0x5 +asm/non_matchings/code/z_player_lib/func_80123448.s,func_80123448,0x80123448,0x1A +asm/non_matchings/code/z_player_lib/func_801234B0.s,func_801234B0,0x801234B0,0x9 +asm/non_matchings/code/z_player_lib/func_801234D4.s,func_801234D4,0x801234D4,0x2F +asm/non_matchings/code/z_player_lib/func_80123590.s,func_80123590,0x80123590,0x13 +asm/non_matchings/code/z_player_lib/func_801235DC.s,func_801235DC,0x801235DC,0x1C +asm/non_matchings/code/z_player_lib/func_8012364C.s,func_8012364C,0x8012364C,0x71 +asm/non_matchings/code/z_player_lib/func_80123810.s,func_80123810,0x80123810,0x54 +asm/non_matchings/code/z_player_lib/func_80123960.s,func_80123960,0x80123960,0x13 +asm/non_matchings/code/z_player_lib/func_801239AC.s,func_801239AC,0x801239AC,0x3E +asm/non_matchings/code/z_player_lib/func_80123AA4.s,func_80123AA4,0x80123AA4,0x4C +asm/non_matchings/code/z_player_lib/func_80123BD4.s,func_80123BD4,0x80123BD4,0x21 +asm/non_matchings/code/z_player_lib/func_80123C58.s,func_80123C58,0x80123C58,0xE +asm/non_matchings/code/z_player_lib/func_80123C90.s,func_80123C90,0x80123C90,0x30 +asm/non_matchings/code/z_player_lib/func_80123D50.s,func_80123D50,0x80123D50,0x15 +asm/non_matchings/code/z_player_lib/func_80123DA4.s,func_80123DA4,0x80123DA4,0x7 +asm/non_matchings/code/z_player_lib/func_80123DC0.s,func_80123DC0,0x80123DC0,0x34 +asm/non_matchings/code/z_player_lib/func_80123E90.s,func_80123E90,0x80123E90,0x21 +asm/non_matchings/code/z_player_lib/func_80123F14.s,func_80123F14,0x80123F14,0x6 +asm/non_matchings/code/z_player_lib/func_80123F2C.s,func_80123F2C,0x80123F2C,0x7 +asm/non_matchings/code/z_player_lib/func_80123F48.s,func_80123F48,0x80123F48,0x36 +asm/non_matchings/code/z_player_lib/func_80124020.s,func_80124020,0x80124020,0x7 +asm/non_matchings/code/z_player_lib/Player_GetMask.s,Player_GetMask,0x8012403C,0x4 +asm/non_matchings/code/z_player_lib/Player_RemoveMask.s,Player_RemoveMask,0x8012404C,0x4 +asm/non_matchings/code/z_player_lib/func_8012405C.s,func_8012405C,0x8012405C,0xB +asm/non_matchings/code/z_player_lib/func_80124088.s,func_80124088,0x80124088,0x10 +asm/non_matchings/code/z_player_lib/func_801240C8.s,func_801240C8,0x801240C8,0x5 +asm/non_matchings/code/z_player_lib/func_801240DC.s,func_801240DC,0x801240DC,0xD +asm/non_matchings/code/z_player_lib/func_80124110.s,func_80124110,0x80124110,0xE +asm/non_matchings/code/z_player_lib/func_80124148.s,func_80124148,0x80124148,0x8 +asm/non_matchings/code/z_player_lib/func_80124168.s,func_80124168,0x80124168,0xA +asm/non_matchings/code/z_player_lib/func_80124190.s,func_80124190,0x80124190,0x9 +asm/non_matchings/code/z_player_lib/func_801241B4.s,func_801241B4,0x801241B4,0xB +asm/non_matchings/code/z_player_lib/func_801241E0.s,func_801241E0,0x801241E0,0xB +asm/non_matchings/code/z_player_lib/func_8012420C.s,func_8012420C,0x8012420C,0x8 +asm/non_matchings/code/z_player_lib/func_8012422C.s,func_8012422C,0x8012422C,0xB +asm/non_matchings/code/z_player_lib/func_80124258.s,func_80124258,0x80124258,0x8 +asm/non_matchings/code/z_player_lib/func_80124278.s,func_80124278,0x80124278,0xF +asm/non_matchings/code/z_player_lib/func_801242B4.s,func_801242B4,0x801242B4,0xA +asm/non_matchings/code/z_player_lib/func_801242DC.s,func_801242DC,0x801242DC,0x51 +asm/non_matchings/code/z_player_lib/func_80124420.s,func_80124420,0x80124420,0x7E +asm/non_matchings/code/z_player_lib/func_80124618.s,func_80124618,0x80124618,0x37 +asm/non_matchings/code/z_player_lib/func_801246F4.s,func_801246F4,0x801246F4,0x5F +asm/non_matchings/code/z_player_lib/func_80124870.s,func_80124870,0x80124870,0x115 +asm/non_matchings/code/z_player_lib/func_80124CC4.s,func_80124CC4,0x80124CC4,0x95 +asm/non_matchings/code/z_player_lib/func_80124F18.s,func_80124F18,0x80124F18,0x36 +asm/non_matchings/code/z_player_lib/func_80124FF0.s,func_80124FF0,0x80124FF0,0x75 +asm/non_matchings/code/z_player_lib/func_801251C4.s,func_801251C4,0x801251C4,0x55 +asm/non_matchings/code/z_player_lib/func_80125318.s,func_80125318,0x80125318,0xA +asm/non_matchings/code/z_player_lib/func_80125340.s,func_80125340,0x80125340,0xB +asm/non_matchings/code/z_player_lib/func_8012536C.s,func_8012536C,0x8012536C,0xE +asm/non_matchings/code/z_player_lib/func_801253A4.s,func_801253A4,0x801253A4,0x57 +asm/non_matchings/code/z_player_lib/func_80125500.s,func_80125500,0x80125500,0x20 +asm/non_matchings/code/z_player_lib/func_80125580.s,func_80125580,0x80125580,0x1D8 +asm/non_matchings/code/z_player_lib/func_80125CE0.s,func_80125CE0,0x80125CE0,0x1B +asm/non_matchings/code/z_player_lib/func_80125D4C.s,func_80125D4C,0x80125D4C,0x15F +asm/non_matchings/code/z_player_lib/func_801262C8.s,func_801262C8,0x801262C8,0x4D +asm/non_matchings/code/z_player_lib/func_801263FC.s,func_801263FC,0x801263FC,0x11 +asm/non_matchings/code/z_player_lib/func_80126440.s,func_80126440,0x80126440,0x62 +asm/non_matchings/code/z_player_lib/func_801265C8.s,func_801265C8,0x801265C8,0x35 +asm/non_matchings/code/z_player_lib/func_8012669C.s,func_8012669C,0x8012669C,0x5B +asm/non_matchings/code/z_player_lib/func_80126808.s,func_80126808,0x80126808,0x5D +asm/non_matchings/code/z_player_lib/func_8012697C.s,func_8012697C,0x8012697C,0x4E +asm/non_matchings/code/z_player_lib/func_80126AB4.s,func_80126AB4,0x80126AB4,0x36 +asm/non_matchings/code/z_player_lib/func_80126B8C.s,func_80126B8C,0x80126B8C,0x11 +asm/non_matchings/code/z_player_lib/func_80126BD0.s,func_80126BD0,0x80126BD0,0x178 +asm/non_matchings/code/z_player_lib/func_801271B0.s,func_801271B0,0x801271B0,0xA2 +asm/non_matchings/code/z_player_lib/func_80127438.s,func_80127438,0x80127438,0x14 +asm/non_matchings/code/z_player_lib/func_80127488.s,func_80127488,0x80127488,0x31 +asm/non_matchings/code/z_player_lib/func_8012754C.s,func_8012754C,0x8012754C,0x12 +asm/non_matchings/code/z_player_lib/func_80127594.s,func_80127594,0x80127594,0xD9 +asm/non_matchings/code/z_player_lib/func_801278F8.s,func_801278F8,0x801278F8,0x5A +asm/non_matchings/code/z_player_lib/func_80127A60.s,func_80127A60,0x80127A60,0x41 +asm/non_matchings/code/z_player_lib/func_80127B64.s,func_80127B64,0x80127B64,0x21 +asm/non_matchings/code/z_player_lib/func_80127BE8.s,func_80127BE8,0x80127BE8,0x6F +asm/non_matchings/code/z_player_lib/func_80127DA4.s,func_80127DA4,0x80127DA4,0x179 +asm/non_matchings/code/z_player_lib/func_80128388.s,func_80128388,0x80128388,0x46 +asm/non_matchings/code/z_player_lib/func_801284A0.s,func_801284A0,0x801284A0,0x68 +asm/non_matchings/code/z_player_lib/func_80128640.s,func_80128640,0x80128640,0x14D +asm/non_matchings/code/z_player_lib/func_80128B74.s,func_80128B74,0x80128B74,0x17 +asm/non_matchings/code/z_player_lib/func_80128BD0.s,func_80128BD0,0x80128BD0,0x4C8 +asm/non_matchings/code/z_prenmi/PreNMI_Stop.s,PreNMI_Stop,0x80129EF0,0x5 +asm/non_matchings/code/z_prenmi/PreNMI_Update.s,PreNMI_Update,0x80129F04,0x12 +asm/non_matchings/code/z_prenmi/PreNMI_Draw.s,PreNMI_Draw,0x80129F4C,0x2B +asm/non_matchings/code/z_prenmi/PreNMI_Main.s,PreNMI_Main,0x80129FF8,0xD +asm/non_matchings/code/z_prenmi/PreNMI_Destroy.s,PreNMI_Destroy,0x8012A02C,0x3 +asm/non_matchings/code/z_prenmi/PreNMI_Init.s,PreNMI_Init,0x8012A038,0x12 +asm/non_matchings/code/z_quake/Quake_Random.s,Quake_Random,0x8012A080,0xB +asm/non_matchings/code/z_quake/Quake_UpdateShakeInfo.s,Quake_UpdateShakeInfo,0x8012A0AC,0x83 +asm/non_matchings/code/z_quake/Quake_Callback1.s,Quake_Callback1,0x8012A2B8,0x22 +asm/non_matchings/code/z_quake/Quake_Callback5.s,Quake_Callback5,0x8012A340,0x1D +asm/non_matchings/code/z_quake/Quake_Callback6.s,Quake_Callback6,0x8012A3B4,0x21 +asm/non_matchings/code/z_quake/Quake_Callback3.s,Quake_Callback3,0x8012A438,0x26 +asm/non_matchings/code/z_quake/Quake_Callback2.s,Quake_Callback2,0x8012A4D0,0x1C +asm/non_matchings/code/z_quake/Quake_Callback4.s,Quake_Callback4,0x8012A540,0x26 +asm/non_matchings/code/z_quake/Quake_GetFreeIndex.s,Quake_GetFreeIndex,0x8012A5D8,0x18 +asm/non_matchings/code/z_quake/Quake_AddImpl.s,Quake_AddImpl,0x8012A638,0x2E +asm/non_matchings/code/z_quake/Quake_Remove.s,Quake_Remove,0x8012A6F0,0xA +asm/non_matchings/code/z_quake/Quake_GetRequest.s,Quake_GetRequest,0x8012A718,0x17 +asm/non_matchings/code/z_quake/Quake_SetValue.s,Quake_SetValue,0x8012A774,0x4D +asm/non_matchings/code/z_quake/Quake_SetSpeed.s,Quake_SetSpeed,0x8012A8A8,0x12 +asm/non_matchings/code/z_quake/Quake_SetCountdown.s,Quake_SetCountdown,0x8012A8F0,0x14 +asm/non_matchings/code/z_quake/Quake_GetCountdown.s,Quake_GetCountdown,0x8012A940,0xE +asm/non_matchings/code/z_quake/Quake_SetQuakeValues.s,Quake_SetQuakeValues,0x8012A978,0x1A +asm/non_matchings/code/z_quake/Quake_SetQuakeValues2.s,Quake_SetQuakeValues2,0x8012A9E0,0x1A +asm/non_matchings/code/z_quake/Quake_Init.s,Quake_Init,0x8012AA48,0x15 +asm/non_matchings/code/z_quake/Quake_Add.s,Quake_Add,0x8012AA9C,0x9 +asm/non_matchings/code/z_quake/Quake_RemoveFromIdx.s,Quake_RemoveFromIdx,0x8012AAC0,0x12 +asm/non_matchings/code/z_quake/Quake_Calc.s,Quake_Calc,0x8012AB08,0xD8 +asm/non_matchings/code/z_quake/Quake2_Init.s,Quake2_Init,0x8012AE68,0x11 +asm/non_matchings/code/z_quake/Quake2_SetCountdown.s,Quake2_SetCountdown,0x8012AEAC,0xA +asm/non_matchings/code/z_quake/Quake2_GetCountdown.s,Quake2_GetCountdown,0x8012AED4,0x4 +asm/non_matchings/code/z_quake/Quake2_GetType.s,Quake2_GetType,0x8012AEE4,0x4 +asm/non_matchings/code/z_quake/Quake2_SetType.s,Quake2_SetType,0x8012AEF4,0x9 +asm/non_matchings/code/z_quake/Quake2_ClearType.s,Quake2_ClearType,0x8012AF18,0x8 +asm/non_matchings/code/z_quake/Quake2_GetFloorQuake.s,Quake2_GetFloorQuake,0x8012AF38,0x19 +asm/non_matchings/code/z_quake/Quake2_Update.s,Quake2_Update,0x8012AF9C,0x313 +asm/non_matchings/code/z_quake/Quake_NumActiveQuakes.s,Quake_NumActiveQuakes,0x8012BBE8,0x1A +asm/non_matchings/code/z_rcp/Gfx_SetFog.s,Gfx_SetFog,0x8012BC50,0x4F +asm/non_matchings/code/z_rcp/Gfx_SetFogWithSync.s,Gfx_SetFogWithSync,0x8012BD8C,0x5F +asm/non_matchings/code/z_rcp/Gfx_SetFog2.s,Gfx_SetFog2,0x8012BF08,0xD +asm/non_matchings/code/z_rcp/Gfx_CallSetupDLImpl.s,Gfx_CallSetupDLImpl,0x8012BF3C,0xF +asm/non_matchings/code/z_rcp/Gfx_CallSetupDL.s,Gfx_CallSetupDL,0x8012BF78,0x8 +asm/non_matchings/code/z_rcp/Gfx_CallSetupDLAtPtr.s,Gfx_CallSetupDLAtPtr,0x8012BF98,0xB +asm/non_matchings/code/z_rcp/func_8012BFC4.s,func_8012BFC4,0x8012BFC4,0xA +asm/non_matchings/code/z_rcp/func_8012BFEC.s,func_8012BFEC,0x8012BFEC,0xA +asm/non_matchings/code/z_rcp/func_8012C014.s,func_8012C014,0x8012C014,0x11 +asm/non_matchings/code/z_rcp/func_8012C058.s,func_8012C058,0x8012C058,0xA +asm/non_matchings/code/z_rcp/func_8012C080.s,func_8012C080,0x8012C080,0xA +asm/non_matchings/code/z_rcp/func_8012C0A8.s,func_8012C0A8,0x8012C0A8,0xA +asm/non_matchings/code/z_rcp/func_8012C0D0.s,func_8012C0D0,0x8012C0D0,0xA +asm/non_matchings/code/z_rcp/func_8012C0F8.s,func_8012C0F8,0x8012C0F8,0xA +asm/non_matchings/code/z_rcp/func_8012C120.s,func_8012C120,0x8012C120,0xA +asm/non_matchings/code/z_rcp/func_8012C148.s,func_8012C148,0x8012C148,0xA +asm/non_matchings/code/z_rcp/func_8012C170.s,func_8012C170,0x8012C170,0xA +asm/non_matchings/code/z_rcp/func_8012C198.s,func_8012C198,0x8012C198,0xA +asm/non_matchings/code/z_rcp/func_8012C1C0.s,func_8012C1C0,0x8012C1C0,0xB +asm/non_matchings/code/z_rcp/func_8012C1EC.s,func_8012C1EC,0x8012C1EC,0xA +asm/non_matchings/code/z_rcp/func_8012C214.s,func_8012C214,0x8012C214,0xB +asm/non_matchings/code/z_rcp/func_8012C240.s,func_8012C240,0x8012C240,0xA +asm/non_matchings/code/z_rcp/func_8012C268.s,func_8012C268,0x8012C268,0x9 +asm/non_matchings/code/z_rcp/func_8012C28C.s,func_8012C28C,0x8012C28C,0xA +asm/non_matchings/code/z_rcp/func_8012C2B4.s,func_8012C2B4,0x8012C2B4,0xA +asm/non_matchings/code/z_rcp/func_8012C2DC.s,func_8012C2DC,0x8012C2DC,0xA +asm/non_matchings/code/z_rcp/func_8012C304.s,func_8012C304,0x8012C304,0xA +asm/non_matchings/code/z_rcp/func_8012C32C.s,func_8012C32C,0x8012C32C,0xA +asm/non_matchings/code/z_rcp/func_8012C354.s,func_8012C354,0x8012C354,0xA +asm/non_matchings/code/z_rcp/func_8012C37C.s,func_8012C37C,0x8012C37C,0xA +asm/non_matchings/code/z_rcp/func_8012C3A4.s,func_8012C3A4,0x8012C3A4,0xA +asm/non_matchings/code/z_rcp/func_8012C3CC.s,func_8012C3CC,0x8012C3CC,0xA +asm/non_matchings/code/z_rcp/func_8012C3F4.s,func_8012C3F4,0x8012C3F4,0xB +asm/non_matchings/code/z_rcp/func_8012C420.s,func_8012C420,0x8012C420,0xA +asm/non_matchings/code/z_rcp/func_8012C448.s,func_8012C448,0x8012C448,0xA +asm/non_matchings/code/z_rcp/func_8012C470.s,func_8012C470,0x8012C470,0xA +asm/non_matchings/code/z_rcp/func_8012C498.s,func_8012C498,0x8012C498,0xA +asm/non_matchings/code/z_rcp/func_8012C4C0.s,func_8012C4C0,0x8012C4C0,0xA +asm/non_matchings/code/z_rcp/func_8012C4E8.s,func_8012C4E8,0x8012C4E8,0xA +asm/non_matchings/code/z_rcp/func_8012C510.s,func_8012C510,0x8012C510,0xA +asm/non_matchings/code/z_rcp/func_8012C538.s,func_8012C538,0x8012C538,0xA +asm/non_matchings/code/z_rcp/func_8012C560.s,func_8012C560,0x8012C560,0xA +asm/non_matchings/code/z_rcp/func_8012C588.s,func_8012C588,0x8012C588,0xA +asm/non_matchings/code/z_rcp/func_8012C5B0.s,func_8012C5B0,0x8012C5B0,0xA +asm/non_matchings/code/z_rcp/func_8012C5D8.s,func_8012C5D8,0x8012C5D8,0xA +asm/non_matchings/code/z_rcp/func_8012C600.s,func_8012C600,0x8012C600,0xA +asm/non_matchings/code/z_rcp/func_8012C628.s,func_8012C628,0x8012C628,0xB +asm/non_matchings/code/z_rcp/func_8012C654.s,func_8012C654,0x8012C654,0xB +asm/non_matchings/code/z_rcp/func_8012C680.s,func_8012C680,0x8012C680,0xB +asm/non_matchings/code/z_rcp/func_8012C6AC.s,func_8012C6AC,0x8012C6AC,0xA +asm/non_matchings/code/z_rcp/func_8012C6D4.s,func_8012C6D4,0x8012C6D4,0xA +asm/non_matchings/code/z_rcp/func_8012C6FC.s,func_8012C6FC,0x8012C6FC,0xA +asm/non_matchings/code/z_rcp/func_8012C724.s,func_8012C724,0x8012C724,0xA +asm/non_matchings/code/z_rcp/func_8012C74C.s,func_8012C74C,0x8012C74C,0xA +asm/non_matchings/code/z_rcp/func_8012C774.s,func_8012C774,0x8012C774,0x11 +asm/non_matchings/code/z_rcp/func_8012C7B8.s,func_8012C7B8,0x8012C7B8,0x11 +asm/non_matchings/code/z_rcp/func_8012C7FC.s,func_8012C7FC,0x8012C7FC,0x11 +asm/non_matchings/code/z_rcp/func_8012C840.s,func_8012C840,0x8012C840,0xA +asm/non_matchings/code/z_rcp/func_8012C868.s,func_8012C868,0x8012C868,0x11 +asm/non_matchings/code/z_rcp/func_8012C8AC.s,func_8012C8AC,0x8012C8AC,0xA +asm/non_matchings/code/z_rcp/func_8012C8D4.s,func_8012C8D4,0x8012C8D4,0xA +asm/non_matchings/code/z_rcp/func_8012C8FC.s,func_8012C8FC,0x8012C8FC,0xA +asm/non_matchings/code/z_rcp/func_8012C924.s,func_8012C924,0x8012C924,0xA +asm/non_matchings/code/z_rcp/func_8012C94C.s,func_8012C94C,0x8012C94C,0xA +asm/non_matchings/code/z_rcp/func_8012C974.s,func_8012C974,0x8012C974,0x12 +asm/non_matchings/code/z_rcp/func_8012C9BC.s,func_8012C9BC,0x8012C9BC,0xA +asm/non_matchings/code/z_rcp/func_8012C9E4.s,func_8012C9E4,0x8012C9E4,0xA +asm/non_matchings/code/z_rcp/func_8012CA0C.s,func_8012CA0C,0x8012CA0C,0xB +asm/non_matchings/code/z_rcp/func_8012CA38.s,func_8012CA38,0x8012CA38,0xA +asm/non_matchings/code/z_rcp/Gfx_BranchTexScroll.s,Gfx_BranchTexScroll,0x8012CA60,0x29 +asm/non_matchings/code/z_rcp/func_8012CB04.s,func_8012CB04,0x8012CB04,0x9 +asm/non_matchings/code/z_rcp/func_8012CB28.s,func_8012CB28,0x8012CB28,0x9 +asm/non_matchings/code/z_rcp/Gfx_TexScroll.s,Gfx_TexScroll,0x8012CB4C,0x21 +asm/non_matchings/code/z_rcp/Gfx_TwoTexScroll.s,Gfx_TwoTexScroll,0x8012CBD0,0x48 +asm/non_matchings/code/z_rcp/Gfx_TwoTexScrollEnvColor.s,Gfx_TwoTexScrollEnvColor,0x8012CCF0,0x58 +asm/non_matchings/code/z_rcp/Gfx_EnvColor.s,Gfx_EnvColor,0x8012CE50,0x16 +asm/non_matchings/code/z_rcp/Gfx_PrimColor.s,Gfx_PrimColor,0x8012CEA8,0x19 +asm/non_matchings/code/z_rcp/func_8012CF0C.s,func_8012CF0C,0x8012CF0C,0x11A +asm/non_matchings/code/z_rcp/func_8012D374.s,func_8012D374,0x8012D374,0x26 +asm/non_matchings/code/z_rcp/func_8012D40C.s,func_8012D40C,0x8012D40C,0x3D +asm/non_matchings/code/z_room/Room_nop8012D510.s,Room_nop8012D510,0x8012D510,0x6 +asm/non_matchings/code/z_room/Room_DrawType3Mesh.s,Room_DrawType3Mesh,0x8012D528,0x5 +asm/non_matchings/code/z_room/Room_DrawType0Mesh.s,Room_DrawType0Mesh,0x8012D53C,0x85 +asm/non_matchings/code/z_room/Room_DrawType2Mesh.s,Room_DrawType2Mesh,0x8012D750,0x1E6 +asm/non_matchings/code/z_room/func_8012DEE8.s,func_8012DEE8,0x8012DEE8,0xDB +asm/non_matchings/code/z_room/func_8012E254.s,func_8012E254,0x8012E254,0x36 +asm/non_matchings/code/z_room/func_8012E32C.s,func_8012E32C,0x8012E32C,0xDF +asm/non_matchings/code/z_room/Room_DrawType1Mesh.s,Room_DrawType1Mesh,0x8012E6A8,0x1A +asm/non_matchings/code/z_room/Room_Init.s,Room_Init,0x8012E710,0x10 +asm/non_matchings/code/z_room/Room_AllocateAndLoad.s,Room_AllocateAndLoad,0x8012E750,0x87 +asm/non_matchings/code/z_room/Room_StartRoomTransition.s,Room_StartRoomTransition,0x8012E96C,0x4F +asm/non_matchings/code/z_room/Room_HandleLoadCallbacks.s,Room_HandleLoadCallbacks,0x8012EAA8,0x40 +asm/non_matchings/code/z_room/Room_Draw.s,Room_Draw,0x8012EBA8,0x14 +asm/non_matchings/code/z_room/func_8012EBF8.s,func_8012EBF8,0x8012EBF8,0x22 +asm/non_matchings/code/code_8012EC80/func_8012EC80.s,func_8012EC80,0x8012EC80,0x2D +asm/non_matchings/code/code_8012EC80/func_8012ED34.s,func_8012ED34,0x8012ED34,0x11 +asm/non_matchings/code/code_8012EC80/func_8012ED78.s,func_8012ED78,0x8012ED78,0x1C +asm/non_matchings/code/code_8012EC80/func_8012EDE8.s,func_8012EDE8,0x8012EDE8,0x13 +asm/non_matchings/code/code_8012EC80/func_8012EE34.s,func_8012EE34,0x8012EE34,0x36 +asm/non_matchings/code/code_8012EC80/func_8012EF0C.s,func_8012EF0C,0x8012EF0C,0x78 +asm/non_matchings/code/code_8012EC80/func_8012F0EC.s,func_8012F0EC,0x8012F0EC,0x34 +asm/non_matchings/code/code_8012EC80/func_8012F1BC.s,func_8012F1BC,0x8012F1BC,0x1C +asm/non_matchings/code/code_8012EC80/func_8012F22C.s,func_8012F22C,0x8012F22C,0x13 +asm/non_matchings/code/code_8012EC80/func_8012F278.s,func_8012F278,0x8012F278,0x16 +asm/non_matchings/code/z_scene/Object_Spawn.s,Object_Spawn,0x8012F2E0,0x3C +asm/non_matchings/code/z_scene/Object_InitBank.s,Object_InitBank,0x8012F3D0,0x4B +asm/non_matchings/code/z_scene/Object_UpdateBank.s,Object_UpdateBank,0x8012F4FC,0x43 +asm/non_matchings/code/z_scene/Object_GetIndex.s,Object_GetIndex,0x8012F608,0x18 +asm/non_matchings/code/z_scene/Object_IsLoaded.s,Object_IsLoaded,0x8012F668,0xC +asm/non_matchings/code/z_scene/Object_LoadAll.s,Object_LoadAll,0x8012F698,0x29 +asm/non_matchings/code/z_scene/func_8012F73C.s,func_8012F73C,0x8012F73C,0x18 +asm/non_matchings/code/z_scene/Scene_HeaderCmdSpawnList.s,Scene_HeaderCmdSpawnList,0x8012F79C,0x5C +asm/non_matchings/code/z_scene/Scene_HeaderCmdActorList.s,Scene_HeaderCmdActorList,0x8012F90C,0x12 +asm/non_matchings/code/z_scene/Scene_HeaderCmdActorCutsceneCamList.s,Scene_HeaderCmdActorCutsceneCamList,0x8012F954,0xC +asm/non_matchings/code/z_scene/Scene_HeaderCmdColHeader.s,Scene_HeaderCmdColHeader,0x8012F984,0x28 +asm/non_matchings/code/z_scene/Scene_HeaderCmdRoomList.s,Scene_HeaderCmdRoomList,0x8012FA24,0x11 +asm/non_matchings/code/z_scene/Scene_HeaderCmdEntranceList.s,Scene_HeaderCmdEntranceList,0x8012FA68,0xC +asm/non_matchings/code/z_scene/Scene_HeaderCmdSpecialFiles.s,Scene_HeaderCmdSpecialFiles,0x8012FA98,0x32 +asm/non_matchings/code/z_scene/Scene_HeaderCmdRoomBehavior.s,Scene_HeaderCmdRoomBehavior,0x8012FB60,0x22 +asm/non_matchings/code/z_scene/Scene_HeaderCmdMesh.s,Scene_HeaderCmdMesh,0x8012FBE8,0xC +asm/non_matchings/code/z_scene/Scene_HeaderCmdObjectList.s,Scene_HeaderCmdObjectList,0x8012FC18,0x63 +asm/non_matchings/code/z_scene/Scene_HeaderCmdLightList.s,Scene_HeaderCmdLightList,0x8012FDA4,0x22 +asm/non_matchings/code/z_scene/Scene_HeaderCmdPathList.s,Scene_HeaderCmdPathList,0x8012FE2C,0xC +asm/non_matchings/code/z_scene/Scene_HeaderCmdTransiActorList.s,Scene_HeaderCmdTransiActorList,0x8012FE5C,0x18 +asm/non_matchings/code/z_scene/Door_InitContext.s,Door_InitContext,0x8012FEBC,0x4 +asm/non_matchings/code/z_scene/Scene_HeaderCmdEnvLightSettings.s,Scene_HeaderCmdEnvLightSettings,0x8012FECC,0x11 +asm/non_matchings/code/z_scene/Scene_LoadAreaTextures.s,Scene_LoadAreaTextures,0x8012FF10,0x1F +asm/non_matchings/code/z_scene/Scene_HeaderCmdSkyboxSettings.s,Scene_HeaderCmdSkyboxSettings,0x8012FF8C,0x19 +asm/non_matchings/code/z_scene/Scene_HeaderCmdSkyboxDisables.s,Scene_HeaderCmdSkyboxDisables,0x8012FFF0,0xA +asm/non_matchings/code/z_scene/Scene_HeaderCmdTimeSettings.s,Scene_HeaderCmdTimeSettings,0x80130018,0xC9 +asm/non_matchings/code/z_scene/Scene_HeaderCmdWindSettings.s,Scene_HeaderCmdWindSettings,0x8013033C,0x19 +asm/non_matchings/code/z_scene/Scene_HeaderCmdExitList.s,Scene_HeaderCmdExitList,0x801303A0,0xC +asm/non_matchings/code/z_scene/Scene_HeaderCmd09.s,Scene_HeaderCmd09,0x801303D0,0x4 +asm/non_matchings/code/z_scene/Scene_HeaderCmdSoundSettings.s,Scene_HeaderCmdSoundSettings,0x801303E0,0x17 +asm/non_matchings/code/z_scene/Scene_HeaderCmdEchoSetting.s,Scene_HeaderCmdEchoSetting,0x8013043C,0x6 +asm/non_matchings/code/z_scene/Scene_HeaderCmdAltHeaderList.s,Scene_HeaderCmdAltHeaderList,0x80130454,0x1E +asm/non_matchings/code/z_scene/Scene_HeaderCmdCutsceneList.s,Scene_HeaderCmdCutsceneList,0x801304CC,0xD +asm/non_matchings/code/z_scene/Scene_HeaderCmdActorCutsceneList.s,Scene_HeaderCmdActorCutsceneList,0x80130500,0x10 +asm/non_matchings/code/z_scene/Scene_HeaderCmdMiniMap.s,Scene_HeaderCmdMiniMap,0x80130540,0xE +asm/non_matchings/code/z_scene/Scene_HeaderCmd1D.s,Scene_HeaderCmd1D,0x80130578,0x4 +asm/non_matchings/code/z_scene/Scene_HeaderCmdMiniMapCompassInfo.s,Scene_HeaderCmdMiniMapCompassInfo,0x80130588,0xA +asm/non_matchings/code/z_scene/Scene_HeaderCmdSetAreaVisitedFlag.s,Scene_HeaderCmdSetAreaVisitedFlag,0x801305B0,0x31 +asm/non_matchings/code/z_scene/Scene_HeaderCmdAnimatedMaterials.s,Scene_HeaderCmdAnimatedMaterials,0x80130674,0xC +asm/non_matchings/code/z_scene/Scene_SetExitFade.s,Scene_SetExitFade,0x801306A4,0x11 +asm/non_matchings/code/z_scene/Scene_ProcessHeader.s,Scene_ProcessHeader,0x801306E8,0x20 +asm/non_matchings/code/z_scene/Entrance_CreateIndex.s,Entrance_CreateIndex,0x80130768,0x7 +asm/non_matchings/code/z_scene/Entrance_CreateIndexFromSpawn.s,Entrance_CreateIndexFromSpawn,0x80130784,0xF +asm/non_matchings/code/z_scene_proc/Scene_ExecuteDrawConfig.s,Scene_ExecuteDrawConfig,0x801307C0,0xD +asm/non_matchings/code/z_scene_proc/Scene_DrawConfigDefault.s,Scene_DrawConfigDefault,0x801307F4,0x10 +asm/non_matchings/code/z_scene_proc/AnimatedMat_TexScroll.s,AnimatedMat_TexScroll,0x80130834,0x1B +asm/non_matchings/code/z_scene_proc/AnimatedMat_DrawTexScroll.s,AnimatedMat_DrawTexScroll,0x801308A0,0x28 +asm/non_matchings/code/z_scene_proc/AnimatedMat_TwoLayerTexScroll.s,AnimatedMat_TwoLayerTexScroll,0x80130940,0x2D +asm/non_matchings/code/z_scene_proc/AnimatedMat_DrawTwoTexScroll.s,AnimatedMat_DrawTwoTexScroll,0x801309F4,0x28 +asm/non_matchings/code/z_scene_proc/AnimatedMat_SetColor.s,AnimatedMat_SetColor,0x80130A94,0x72 +asm/non_matchings/code/z_scene_proc/AnimatedMat_DrawColor.s,AnimatedMat_DrawColor,0x80130C5C,0x2C +asm/non_matchings/code/z_scene_proc/AnimatedMat_Lerp.s,AnimatedMat_Lerp,0x80130D0C,0xC +asm/non_matchings/code/z_scene_proc/AnimatedMat_DrawColorLerp.s,AnimatedMat_DrawColorLerp,0x80130D3C,0x87 +asm/non_matchings/code/z_scene_proc/Scene_LagrangeInterp.s,Scene_LagrangeInterp,0x80130F58,0x81 +asm/non_matchings/code/z_scene_proc/Scene_LagrangeInterpColor.s,Scene_LagrangeInterpColor,0x8013115C,0x16 +asm/non_matchings/code/z_scene_proc/AnimatedMat_DrawColorNonLinearInterp.s,AnimatedMat_DrawColorNonLinearInterp,0x801311B4,0xF3 +asm/non_matchings/code/z_scene_proc/AnimatedMat_DrawTexCycle.s,AnimatedMat_DrawTexCycle,0x80131580,0x44 +asm/non_matchings/code/z_scene_proc/AnimatedMat_DrawMain.s,AnimatedMat_DrawMain,0x80131690,0x32 +asm/non_matchings/code/z_scene_proc/AnimatedMat_Draw.s,AnimatedMat_Draw,0x80131758,0xD +asm/non_matchings/code/z_scene_proc/AnimatedMat_DrawOpa.s,AnimatedMat_DrawOpa,0x8013178C,0xD +asm/non_matchings/code/z_scene_proc/AnimatedMat_DrawXlu.s,AnimatedMat_DrawXlu,0x801317C0,0xD +asm/non_matchings/code/z_scene_proc/AnimatedMat_DrawAlpha.s,AnimatedMat_DrawAlpha,0x801317F4,0xE +asm/non_matchings/code/z_scene_proc/AnimatedMat_DrawAlphaOpa.s,AnimatedMat_DrawAlphaOpa,0x8013182C,0xE +asm/non_matchings/code/z_scene_proc/AnimatedMat_DrawAlphaXlu.s,AnimatedMat_DrawAlphaXlu,0x80131864,0xE +asm/non_matchings/code/z_scene_proc/AnimatedMat_DrawStep.s,AnimatedMat_DrawStep,0x8013189C,0xB +asm/non_matchings/code/z_scene_proc/AnimatedMat_DrawStepOpa.s,AnimatedMat_DrawStepOpa,0x801318C8,0xB +asm/non_matchings/code/z_scene_proc/AnimatedMat_DrawStepXlu.s,AnimatedMat_DrawStepXlu,0x801318F4,0xB +asm/non_matchings/code/z_scene_proc/AnimatedMat_DrawAlphaStep.s,AnimatedMat_DrawAlphaStep,0x80131920,0xB +asm/non_matchings/code/z_scene_proc/AnimatedMat_DrawAlphaStepOpa.s,AnimatedMat_DrawAlphaStepOpa,0x8013194C,0xB +asm/non_matchings/code/z_scene_proc/AnimatedMat_DrawAlphaStepXlu.s,AnimatedMat_DrawAlphaStepXlu,0x80131978,0xB +asm/non_matchings/code/z_scene_proc/Scene_DrawConfigMatAnim.s,Scene_DrawConfigMatAnim,0x801319A4,0xA +asm/non_matchings/code/z_scene_proc/Scene_DrawConfig3.s,Scene_DrawConfig3,0x801319CC,0xC4 +asm/non_matchings/code/z_scene_proc/Scene_DrawConfig4.s,Scene_DrawConfig4,0x80131CDC,0x42 +asm/non_matchings/code/z_scene_proc/Scene_DrawConfigDoNothing.s,Scene_DrawConfigDoNothing,0x80131DE4,0x3 +asm/non_matchings/code/z_scene_proc/Scene_SetRenderModeXlu.s,Scene_SetRenderModeXlu,0x80131DF0,0x1A +asm/non_matchings/code/z_scene_proc/Scene_SetCullFlag.s,Scene_SetCullFlag,0x80131E58,0x1A +asm/non_matchings/code/z_scene_proc/Scene_DrawConfig5.s,Scene_DrawConfig5,0x80131EC0,0x34 +asm/non_matchings/code/z_scene_proc/Scene_DrawConfigMatAnimManualStep.s,Scene_DrawConfigMatAnimManualStep,0x80131F90,0xC +asm/non_matchings/code/z_scene_proc/Scene_DrawConfigGreatBayTemple.s,Scene_DrawConfigGreatBayTemple,0x80131FC0,0xC0 +asm/non_matchings/code/z_scene_table/Entrance_GetTableEntry.s,Entrance_GetTableEntry,0x801322C0,0x13 +asm/non_matchings/code/z_scene_table/Entrance_GetSceneNum.s,Entrance_GetSceneNum,0x8013230C,0xB +asm/non_matchings/code/z_scene_table/Entrance_GetSceneNumAbsolute.s,Entrance_GetSceneNumAbsolute,0x80132338,0xF +asm/non_matchings/code/z_scene_table/Entrance_GetSpawnNum.s,Entrance_GetSpawnNum,0x80132374,0xB +asm/non_matchings/code/z_scene_table/Entrance_GetTransitionFlags.s,Entrance_GetTransitionFlags,0x801323A0,0xC +asm/non_matchings/code/code_801323D0/func_801323D0.s,func_801323D0,0x801323D0,0x16 +asm/non_matchings/code/code_801323D0/func_80132428.s,func_80132428,0x80132428,0x1B +asm/non_matchings/code/code_801323D0/func_80132494.s,func_80132494,0x80132494,0x89 +asm/non_matchings/code/code_801323D0/func_801326B8.s,func_801326B8,0x801326B8,0x8E +asm/non_matchings/code/code_801323D0/func_801328F0.s,func_801328F0,0x801328F0,0xC +asm/non_matchings/code/code_801323D0/func_80132920.s,func_80132920,0x80132920,0x6 +asm/non_matchings/code/code_801323D0/func_80132938.s,func_80132938,0x80132938,0x7 +asm/non_matchings/code/code_801323D0/func_80132954.s,func_80132954,0x80132954,0x6 +asm/non_matchings/code/code_801323D0/func_8013296C.s,func_8013296C,0x8013296C,0x2B +asm/non_matchings/code/code_801323D0/func_80132A18.s,func_80132A18,0x80132A18,0x9 +asm/non_matchings/code/code_801323D0/func_80132A3C.s,func_80132A3C,0x80132A3C,0x11 +asm/non_matchings/code/code_801323D0/func_80132A80.s,func_80132A80,0x80132A80,0x16 +asm/non_matchings/code/code_801323D0/func_80132AD8.s,func_80132AD8,0x80132AD8,0x13 +asm/non_matchings/code/code_801323D0/func_80132B24.s,func_80132B24,0x80132B24,0x18 +asm/non_matchings/code/code_801323D0/func_80132B84.s,func_80132B84,0x80132B84,0x7B +asm/non_matchings/code/code_801323D0/func_80132D70.s,func_80132D70,0x80132D70,0x4B +asm/non_matchings/code/code_801323D0/func_80132E9C.s,func_80132E9C,0x80132E9C,0x50 +asm/non_matchings/code/code_801323D0/func_80132FDC.s,func_80132FDC,0x80132FDC,0x9 +asm/non_matchings/code/code_801323D0/func_80133000.s,func_80133000,0x80133000,0xE +asm/non_matchings/code/code_801323D0/func_80133038.s,func_80133038,0x80133038,0x2A +asm/non_matchings/code/z_skelanime/SkelAnime_LodDrawLimb.s,SkelAnime_LodDrawLimb,0x801330E0,0x84 +asm/non_matchings/code/z_skelanime/SkelAnime_LodDraw.s,SkelAnime_LodDraw,0x801332F0,0x6C +asm/non_matchings/code/z_skelanime/SkelAnime_LodDrawLimbSV.s,SkelAnime_LodDrawLimbSV,0x801334A0,0x9C +asm/non_matchings/code/z_skelanime/SkelAnime_LodDrawSV.s,SkelAnime_LodDrawSV,0x80133710,0x8E +asm/non_matchings/code/z_skelanime/SkelAnime_DrawLimb.s,SkelAnime_DrawLimb,0x80133948,0x7D +asm/non_matchings/code/z_skelanime/SkelAnime_Draw.s,SkelAnime_Draw,0x80133B3C,0x68 +asm/non_matchings/code/z_skelanime/SkelAnime_DrawLimbSV.s,SkelAnime_DrawLimbSV,0x80133CDC,0x93 +asm/non_matchings/code/z_skelanime/SkelAnime_DrawSV.s,SkelAnime_DrawSV,0x80133F28,0x88 +asm/non_matchings/code/z_skelanime/func_80134148.s,func_80134148,0x80134148,0x9E +asm/non_matchings/code/z_skelanime/func_801343C0.s,func_801343C0,0x801343C0,0x90 +asm/non_matchings/code/z_skelanime/SkelAnime_AnimateFrame.s,SkelAnime_AnimateFrame,0x80134600,0x49 +asm/non_matchings/code/z_skelanime/SkelAnime_GetTotalFrames.s,SkelAnime_GetTotalFrames,0x80134724,0x9 +asm/non_matchings/code/z_skelanime/SkelAnime_GetFrameCount.s,SkelAnime_GetFrameCount,0x80134748,0xB +asm/non_matchings/code/z_skelanime/SkelAnime_Draw2Limb.s,SkelAnime_Draw2Limb,0x80134774,0x87 +asm/non_matchings/code/z_skelanime/SkelAnime_Draw2.s,SkelAnime_Draw2,0x80134990,0x71 +asm/non_matchings/code/z_skelanime/SkelAnime_DrawLimbSV2.s,SkelAnime_DrawLimbSV2,0x80134B54,0x9A +asm/non_matchings/code/z_skelanime/SkelAnime_DrawSV2.s,SkelAnime_DrawSV2,0x80134DBC,0x90 +asm/non_matchings/code/z_skelanime/func_80134FFC.s,func_80134FFC,0x80134FFC,0xF6 +asm/non_matchings/code/z_skelanime/func_801353D4.s,func_801353D4,0x801353D4,0x9 +asm/non_matchings/code/z_skelanime/SkelAnime_GetTotalFrames2.s,SkelAnime_GetTotalFrames2,0x801353F8,0x9 +asm/non_matchings/code/z_skelanime/SkelAnime_GetFrameCount2.s,SkelAnime_GetFrameCount2,0x8013541C,0xB +asm/non_matchings/code/z_skelanime/SkelAnime_InterpolateVec3s.s,SkelAnime_InterpolateVec3s,0x80135448,0x120 +asm/non_matchings/code/z_skelanime/SkelAnime_AnimationCtxReset.s,SkelAnime_AnimationCtxReset,0x801358C8,0x3 +asm/non_matchings/code/z_skelanime/func_801358D4.s,func_801358D4,0x801358D4,0x8 +asm/non_matchings/code/z_skelanime/func_801358F4.s,func_801358F4,0x801358F4,0xA +asm/non_matchings/code/z_skelanime/SkelAnime_NextEntry.s,SkelAnime_NextEntry,0x8013591C,0xE +asm/non_matchings/code/z_skelanime/SkelAnime_LoadLinkAnimetion.s,SkelAnime_LoadLinkAnimetion,0x80135954,0x35 +asm/non_matchings/code/z_skelanime/SkelAnime_LoadAnimationType1.s,SkelAnime_LoadAnimationType1,0x80135A28,0x1A +asm/non_matchings/code/z_skelanime/SkelAnime_LoadAnimationType2.s,SkelAnime_LoadAnimationType2,0x80135A90,0x1C +asm/non_matchings/code/z_skelanime/SkelAnime_LoadAnimationType3.s,SkelAnime_LoadAnimationType3,0x80135B00,0x1C +asm/non_matchings/code/z_skelanime/SkelAnime_LoadAnimationType4.s,SkelAnime_LoadAnimationType4,0x80135B70,0x1C +asm/non_matchings/code/z_skelanime/SkelAnime_LoadAnimationType5.s,SkelAnime_LoadAnimationType5,0x80135BE0,0x17 +asm/non_matchings/code/z_skelanime/SkelAnime_LinkAnimetionLoaded.s,SkelAnime_LinkAnimetionLoaded,0x80135C3C,0xC +asm/non_matchings/code/z_skelanime/SkelAnime_AnimationType1Loaded.s,SkelAnime_AnimationType1Loaded,0x80135C6C,0x1C +asm/non_matchings/code/z_skelanime/SkelAnime_AnimationType2Loaded.s,SkelAnime_AnimationType2Loaded,0x80135CDC,0x17 +asm/non_matchings/code/z_skelanime/SkelAnime_AnimationType3Loaded.s,SkelAnime_AnimationType3Loaded,0x80135D38,0x20 +asm/non_matchings/code/z_skelanime/SkelAnime_AnimationType4Loaded.s,SkelAnime_AnimationType4Loaded,0x80135DB8,0x21 +asm/non_matchings/code/z_skelanime/SkelAnime_AnimationType5Loaded.s,SkelAnime_AnimationType5Loaded,0x80135E3C,0x2B +asm/non_matchings/code/z_skelanime/func_80135EE8.s,func_80135EE8,0x80135EE8,0x28 +asm/non_matchings/code/z_skelanime/SkelAnime_InitLinkAnimetion.s,SkelAnime_InitLinkAnimetion,0x80135F88,0x48 +asm/non_matchings/code/z_skelanime/func_801360A8.s,func_801360A8,0x801360A8,0xE +asm/non_matchings/code/z_skelanime/func_801360E0.s,func_801360E0,0x801360E0,0x9 +asm/non_matchings/code/z_skelanime/func_80136104.s,func_80136104,0x80136104,0x2E +asm/non_matchings/code/z_skelanime/func_801361BC.s,func_801361BC,0x801361BC,0x33 +asm/non_matchings/code/z_skelanime/func_80136288.s,func_80136288,0x80136288,0x25 +asm/non_matchings/code/z_skelanime/func_8013631C.s,func_8013631C,0x8013631C,0x35 +asm/non_matchings/code/z_skelanime/SkelAnime_SetTransition.s,SkelAnime_SetTransition,0x801363F0,0x9 +asm/non_matchings/code/z_skelanime/SkelAnime_ChangeLinkAnim.s,SkelAnime_ChangeLinkAnim,0x80136414,0x5E +asm/non_matchings/code/z_skelanime/SkelAnime_ChangeLinkAnimDefaultStop.s,SkelAnime_ChangeLinkAnimDefaultStop,0x8013658C,0x18 +asm/non_matchings/code/z_skelanime/SkelAnime_ChangeLinkAnimPlaybackStop.s,SkelAnime_ChangeLinkAnimPlaybackStop,0x801365EC,0x19 +asm/non_matchings/code/z_skelanime/SkelAnime_ChangeLinkAnimDefaultRepeat.s,SkelAnime_ChangeLinkAnimDefaultRepeat,0x80136650,0x17 +asm/non_matchings/code/z_skelanime/SkelAnime_ChangeLinkAnimPlaybackRepeat.s,SkelAnime_ChangeLinkAnimPlaybackRepeat,0x801366AC,0x18 +asm/non_matchings/code/z_skelanime/func_8013670C.s,func_8013670C,0x8013670C,0xC +asm/non_matchings/code/z_skelanime/func_8013673C.s,func_8013673C,0x8013673C,0xC +asm/non_matchings/code/z_skelanime/func_8013676C.s,func_8013676C,0x8013676C,0x11 +asm/non_matchings/code/z_skelanime/func_801367B0.s,func_801367B0,0x801367B0,0x11 +asm/non_matchings/code/z_skelanime/func_801367F4.s,func_801367F4,0x801367F4,0xE +asm/non_matchings/code/z_skelanime/func_8013682C.s,func_8013682C,0x8013682C,0x28 +asm/non_matchings/code/z_skelanime/func_801368CC.s,func_801368CC,0x801368CC,0x28 +asm/non_matchings/code/z_skelanime/SkelAnime_SetModeStop.s,SkelAnime_SetModeStop,0x8013696C,0x9 +asm/non_matchings/code/z_skelanime/func_80136990.s,func_80136990,0x80136990,0x2E +asm/non_matchings/code/z_skelanime/func_80136A48.s,func_80136A48,0x80136A48,0xD +asm/non_matchings/code/z_skelanime/SkelAnime_Init.s,SkelAnime_Init,0x80136A7C,0x2D +asm/non_matchings/code/z_skelanime/SkelAnime_InitSV.s,SkelAnime_InitSV,0x80136B30,0x2F +asm/non_matchings/code/z_skelanime/SkelAnime_InitSkin.s,SkelAnime_InitSkin,0x80136BEC,0x26 +asm/non_matchings/code/z_skelanime/func_80136C84.s,func_80136C84,0x80136C84,0x13 +asm/non_matchings/code/z_skelanime/SkelAnime_FrameUpdateMatrix.s,SkelAnime_FrameUpdateMatrix,0x80136CD0,0x9 +asm/non_matchings/code/z_skelanime/func_80136CF4.s,func_80136CF4,0x80136CF4,0x29 +asm/non_matchings/code/z_skelanime/func_80136D98.s,func_80136D98,0x80136D98,0x5B +asm/non_matchings/code/z_skelanime/func_80136F04.s,func_80136F04,0x80136F04,0x4A +asm/non_matchings/code/z_skelanime/func_8013702C.s,func_8013702C,0x8013702C,0x21 +asm/non_matchings/code/z_skelanime/func_801370B0.s,func_801370B0,0x801370B0,0x23 +asm/non_matchings/code/z_skelanime/func_8013713C.s,func_8013713C,0x8013713C,0x3C +asm/non_matchings/code/z_skelanime/SkelAnime_ChangeAnimImpl.s,SkelAnime_ChangeAnimImpl,0x8013722C,0x6F +asm/non_matchings/code/z_skelanime/SkelAnime_ChangeAnim.s,SkelAnime_ChangeAnim,0x801373E8,0x12 +asm/non_matchings/code/z_skelanime/SkelAnime_ChangeAnimDefaultStop.s,SkelAnime_ChangeAnimDefaultStop,0x80137430,0x16 +asm/non_matchings/code/z_skelanime/SkelAnime_ChangeAnimTransitionStop.s,SkelAnime_ChangeAnimTransitionStop,0x80137488,0x17 +asm/non_matchings/code/z_skelanime/SkelAnime_ChangeAnimPlaybackStop.s,SkelAnime_ChangeAnimPlaybackStop,0x801374E4,0x17 +asm/non_matchings/code/z_skelanime/SkelAnime_ChangeAnimDefaultRepeat.s,SkelAnime_ChangeAnimDefaultRepeat,0x80137540,0x15 +asm/non_matchings/code/z_skelanime/SkelAnime_ChangeAnimTransitionRepeat.s,SkelAnime_ChangeAnimTransitionRepeat,0x80137594,0xE +asm/non_matchings/code/z_skelanime/SkelAnime_ChangeAnimPlaybackRepeat.s,SkelAnime_ChangeAnimPlaybackRepeat,0x801375CC,0x16 +asm/non_matchings/code/z_skelanime/SkelAnime_AnimSetStop.s,SkelAnime_AnimSetStop,0x80137624,0xB +asm/non_matchings/code/z_skelanime/SkelAnime_AnimReverse.s,SkelAnime_AnimReverse,0x80137650,0x9 +asm/non_matchings/code/z_skelanime/func_80137674.s,func_80137674,0x80137674,0x1A +asm/non_matchings/code/z_skelanime/func_801376DC.s,func_801376DC,0x801376DC,0x1B +asm/non_matchings/code/z_skelanime/func_80137748.s,func_80137748,0x80137748,0x5C +asm/non_matchings/code/z_skelanime/func_801378B8.s,func_801378B8,0x801378B8,0xA +asm/non_matchings/code/z_skelanime/SkelAnime_Free.s,SkelAnime_Free,0x801378E0,0x13 +asm/non_matchings/code/z_skelanime/SkelAnime_CopyVec3s.s,SkelAnime_CopyVec3s,0x8013792C,0x11 +asm/non_matchings/code/z_skin/func_80137970.s,func_80137970,0x80137970,0x71 +asm/non_matchings/code/z_skin/func_80137B34.s,func_80137B34,0x80137B34,0xE2 +asm/non_matchings/code/z_skin/func_80137EBC.s,func_80137EBC,0x80137EBC,0x27 +asm/non_matchings/code/z_skin/func_80137F58.s,func_80137F58,0x80137F58,0x3E +asm/non_matchings/code/z_skin/func_80138050.s,func_80138050,0x80138050,0x76 +asm/non_matchings/code/z_skin/func_80138228.s,func_80138228,0x80138228,0xC +asm/non_matchings/code/z_skin/func_80138258.s,func_80138258,0x80138258,0xD +asm/non_matchings/code/z_skin/func_8013828C.s,func_8013828C,0x8013828C,0xE +asm/non_matchings/code/z_skin/func_801382C4.s,func_801382C4,0x801382C4,0xF +asm/non_matchings/code/z_skin/func_80138300.s,func_80138300,0x80138300,0x17 +asm/non_matchings/code/z_skin/func_8013835C.s,func_8013835C,0x8013835C,0x2D +asm/non_matchings/code/z_skin_awb/func_80138410.s,func_80138410,0x80138410,0x5 +asm/non_matchings/code/z_skin_awb/func_80138424.s,func_80138424,0x80138424,0x5E +asm/non_matchings/code/z_skin_awb/func_8013859C.s,func_8013859C,0x8013859C,0x59 +asm/non_matchings/code/z_skin_awb/func_80138700.s,func_80138700,0x80138700,0x35 +asm/non_matchings/code/z_skin_awb/func_801387D4.s,func_801387D4,0x801387D4,0x44 +asm/non_matchings/code/z_skin_awb/func_801388E4.s,func_801388E4,0x801388E4,0xAF +asm/non_matchings/code/z_skin_matrix/SkinMatrix_Vec3fMtxFMultXYZW.s,SkinMatrix_Vec3fMtxFMultXYZW,0x80138BA0,0x3A +asm/non_matchings/code/z_skin_matrix/SkinMatrix_Vec3fMtxFMultXYZ.s,SkinMatrix_Vec3fMtxFMultXYZ,0x80138C88,0x2C +asm/non_matchings/code/z_skin_matrix/SkinMatrix_MtxFMtxFMult.s,SkinMatrix_MtxFMtxFMult,0x80138D38,0xD7 +asm/non_matchings/code/z_skin_matrix/SkinMatrix_GetClear.s,SkinMatrix_GetClear,0x80139094,0x5 +asm/non_matchings/code/z_skin_matrix/SkinMatrix_Clear.s,SkinMatrix_Clear,0x801390A8,0x16 +asm/non_matchings/code/z_skin_matrix/SkinMatrix_MtxFCopy.s,SkinMatrix_MtxFCopy,0x80139100,0x22 +asm/non_matchings/code/z_skin_matrix/SkinMatrix_Invert.s,SkinMatrix_Invert,0x80139188,0xA8 +asm/non_matchings/code/z_skin_matrix/SkinMatrix_SetScale.s,SkinMatrix_SetScale,0x80139428,0x19 +asm/non_matchings/code/z_skin_matrix/SkinMatrix_SetRotateRPY.s,SkinMatrix_SetRotateRPY,0x8013948C,0x64 +asm/non_matchings/code/z_skin_matrix/SkinMatrix_SetRotateYRP.s,SkinMatrix_SetRotateYRP,0x8013961C,0x64 +asm/non_matchings/code/z_skin_matrix/SkinMatrix_SetTranslate.s,SkinMatrix_SetTranslate,0x801397AC,0x19 +asm/non_matchings/code/z_skin_matrix/SkinMatrix_SetScaleRotateRPYTranslate.s,SkinMatrix_SetScaleRotateRPYTranslate,0x80139810,0x21 +asm/non_matchings/code/z_skin_matrix/SkinMatrix_SetScaleRotateYRPTranslate.s,SkinMatrix_SetScaleRotateYRPTranslate,0x80139894,0x21 +asm/non_matchings/code/z_skin_matrix/SkinMatrix_SetRotateRPYTranslate.s,SkinMatrix_SetRotateRPYTranslate,0x80139918,0x18 +asm/non_matchings/code/z_skin_matrix/SkinMatrix_Vec3fToVec3s.s,SkinMatrix_Vec3fToVec3s,0x80139978,0x11 +asm/non_matchings/code/z_skin_matrix/SkinMatrix_Vec3sToVec3f.s,SkinMatrix_Vec3sToVec3f,0x801399BC,0x11 +asm/non_matchings/code/z_skin_matrix/SkinMatrix_MtxFToMtx.s,SkinMatrix_MtxFToMtx,0x80139A00,0x86 +asm/non_matchings/code/z_skin_matrix/SkinMatrix_MtxFToNewMtx.s,SkinMatrix_MtxFToNewMtx,0x80139C18,0x12 +asm/non_matchings/code/z_skin_matrix/SkinMatrix_SetRotateAroundVec.s,SkinMatrix_SetRotateAroundVec,0x80139C60,0x5C +asm/non_matchings/code/z_skin_matrix/SkinMatrix_SetXRotation.s,SkinMatrix_SetXRotation,0x80139DD0,0x32 +asm/non_matchings/code/z_skin_matrix/SkinMatrix_MulXRotation.s,SkinMatrix_MulXRotation,0x80139E98,0x42 +asm/non_matchings/code/z_skin_matrix/SkinMatrix_SetYRotation.s,SkinMatrix_SetYRotation,0x80139FA0,0x32 +asm/non_matchings/code/z_skin_matrix/SkinMatrix_MulYRotation.s,SkinMatrix_MulYRotation,0x8013A068,0x43 +asm/non_matchings/code/z_skin_matrix/SkinMatrix_SetZRotation.s,SkinMatrix_SetZRotation,0x8013A174,0x33 +asm/non_matchings/code/z_snap/func_8013A240.s,func_8013A240,0x8013A240,0x77 +asm/non_matchings/code/z_snap/func_8013A41C.s,func_8013A41C,0x8013A41C,0x14 +asm/non_matchings/code/z_snap/func_8013A46C.s,func_8013A46C,0x8013A46C,0x16 +asm/non_matchings/code/z_snap/func_8013A4C4.s,func_8013A4C4,0x8013A4C4,0x10 +asm/non_matchings/code/z_snap/func_8013A504.s,func_8013A504,0x8013A504,0xB +asm/non_matchings/code/z_snap/func_8013A530.s,func_8013A530,0x8013A530,0xA4 +asm/non_matchings/code/z_sub_s/func_8013A7C0.s,func_8013A7C0,0x8013A7C0,0x28 +asm/non_matchings/code/z_sub_s/func_8013A860.s,func_8013A860,0x8013A860,0xA8 +asm/non_matchings/code/z_sub_s/func_8013AB00.s,func_8013AB00,0x8013AB00,0x9B +asm/non_matchings/code/z_sub_s/func_8013AD6C.s,func_8013AD6C,0x8013AD6C,0xC +asm/non_matchings/code/z_sub_s/func_8013AD9C.s,func_8013AD9C,0x8013AD9C,0x4E +asm/non_matchings/code/z_sub_s/func_8013AED4.s,func_8013AED4,0x8013AED4,0xB +asm/non_matchings/code/z_sub_s/func_8013AF00.s,func_8013AF00,0x8013AF00,0x44 +asm/non_matchings/code/z_sub_s/func_8013B010.s,func_8013B010,0x8013B010,0x2E +asm/non_matchings/code/z_sub_s/func_8013B0C8.s,func_8013B0C8,0x8013B0C8,0xA2 +asm/non_matchings/code/z_sub_s/func_8013B350.s,func_8013B350,0x8013B350,0xD8 +asm/non_matchings/code/z_sub_s/func_8013B6B0.s,func_8013B6B0,0x8013B6B0,0x72 +asm/non_matchings/code/z_sub_s/func_8013B878.s,func_8013B878,0x8013B878,0xAF +asm/non_matchings/code/z_sub_s/func_8013BB34.s,func_8013BB34,0x8013BB34,0x12 +asm/non_matchings/code/z_sub_s/func_8013BB7C.s,func_8013BB7C,0x8013BB7C,0x3C +asm/non_matchings/code/z_sub_s/func_8013BC6C.s,func_8013BC6C,0x8013BC6C,0x35 +asm/non_matchings/code/z_sub_s/func_8013BD40.s,func_8013BD40,0x8013BD40,0x67 +asm/non_matchings/code/z_sub_s/func_8013BEDC.s,func_8013BEDC,0x8013BEDC,0x63 +asm/non_matchings/code/z_sub_s/func_8013C068.s,func_8013C068,0x8013C068,0x16F +asm/non_matchings/code/z_sub_s/func_8013C624.s,func_8013C624,0x8013C624,0xA5 +asm/non_matchings/code/z_sub_s/func_8013C8B8.s,func_8013C8B8,0x8013C8B8,0x2B +asm/non_matchings/code/z_sub_s/func_8013C964.s,func_8013C964,0x8013C964,0xB2 +asm/non_matchings/code/z_sub_s/func_8013CC2C.s,func_8013CC2C,0x8013CC2C,0x4E +asm/non_matchings/code/z_sub_s/func_8013CD64.s,func_8013CD64,0x8013CD64,0x68 +asm/non_matchings/code/z_sub_s/func_8013CF04.s,func_8013CF04,0x8013CF04,0x77 +asm/non_matchings/code/z_sub_s/func_8013D0E0.s,func_8013D0E0,0x8013D0E0,0x80 +asm/non_matchings/code/z_sub_s/func_8013D2E0.s,func_8013D2E0,0x8013D2E0,0xC2 +asm/non_matchings/code/z_sub_s/func_8013D5E8.s,func_8013D5E8,0x8013D5E8,0x18 +asm/non_matchings/code/z_sub_s/func_8013D648.s,func_8013D648,0x8013D648,0x11 +asm/non_matchings/code/z_sub_s/func_8013D68C.s,func_8013D68C,0x8013D68C,0x25 +asm/non_matchings/code/z_sub_s/func_8013D720.s,func_8013D720,0x8013D720,0x12 +asm/non_matchings/code/z_sub_s/func_8013D768.s,func_8013D768,0x8013D768,0x35 +asm/non_matchings/code/z_sub_s/func_8013D83C.s,func_8013D83C,0x8013D83C,0x28 +asm/non_matchings/code/z_sub_s/func_8013D8DC.s,func_8013D8DC,0x8013D8DC,0x12 +asm/non_matchings/code/z_sub_s/func_8013D924.s,func_8013D924,0x8013D924,0xF +asm/non_matchings/code/z_sub_s/func_ActorCategoryIterateById.s,func_ActorCategoryIterateById,0x8013D960,0x1A +asm/non_matchings/code/z_sub_s/func_8013D9C8.s,func_8013D9C8,0x8013D9C8,0x72 +asm/non_matchings/code/z_sub_s/func_8013DB90.s,func_8013DB90,0x8013DB90,0x2C +asm/non_matchings/code/z_sub_s/func_8013DC40.s,func_8013DC40,0x8013DC40,0x23 +asm/non_matchings/code/z_sub_s/func_8013DCCC.s,func_8013DCCC,0x8013DCCC,0x5 +asm/non_matchings/code/z_sub_s/func_8013DCE0.s,func_8013DCE0,0x8013DCE0,0x49 +asm/non_matchings/code/z_sub_s/func_8013DE04.s,func_8013DE04,0x8013DE04,0x4E +asm/non_matchings/code/z_sub_s/func_8013DF3C.s,func_8013DF3C,0x8013DF3C,0x46 +asm/non_matchings/code/z_sub_s/func_8013E054.s,func_8013E054,0x8013E054,0xA +asm/non_matchings/code/z_sub_s/func_8013E07C.s,func_8013E07C,0x8013E07C,0xA +asm/non_matchings/code/z_sub_s/func_8013E0A4.s,func_8013E0A4,0x8013E0A4,0x49 +asm/non_matchings/code/z_sub_s/func_8013E1C8.s,func_8013E1C8,0x8013E1C8,0x43 +asm/non_matchings/code/z_sub_s/func_8013E2D4.s,func_8013E2D4,0x8013E2D4,0x39 +asm/non_matchings/code/z_sub_s/func_8013E3B8.s,func_8013E3B8,0x8013E3B8,0x3E +asm/non_matchings/code/z_sub_s/func_8013E4B0.s,func_8013E4B0,0x8013E4B0,0x47 +asm/non_matchings/code/z_sub_s/func_8013E5CC.s,func_8013E5CC,0x8013E5CC,0x1D +asm/non_matchings/code/z_sub_s/func_8013E640.s,func_8013E640,0x8013E640,0x42 +asm/non_matchings/code/z_sub_s/func_8013E748.s,func_8013E748,0x8013E748,0x1E +asm/non_matchings/code/z_sub_s/func_8013E7C0.s,func_8013E7C0,0x8013E7C0,0x4E +asm/non_matchings/code/z_sub_s/func_8013E8F8.s,func_8013E8F8,0x8013E8F8,0x16 +asm/non_matchings/code/z_sub_s/func_8013E950.s,func_8013E950,0x8013E950,0xB0 +asm/non_matchings/code/code_8013EC10/func_8013EC10.s,func_8013EC10,0x8013EC10,0xD +asm/non_matchings/code/code_8013EC10/func_8013EC44.s,func_8013EC44,0x8013EC44,0x27 +asm/non_matchings/code/code_8013EC10/func_8013ECE0.s,func_8013ECE0,0x8013ECE0,0x2F +asm/non_matchings/code/code_8013EC10/func_8013ED9C.s,func_8013ED9C,0x8013ED9C,0xD +asm/non_matchings/code/code_8013EC10/func_8013EDD0.s,func_8013EDD0,0x8013EDD0,0xD +asm/non_matchings/code/code_8013EC10/func_8013EE04.s,func_8013EE04,0x8013EE04,0x8 +asm/non_matchings/code/code_8013EC10/func_8013EE24.s,func_8013EE24,0x8013EE24,0x5 +asm/non_matchings/code/code_8013EC10/func_8013EE38.s,func_8013EE38,0x8013EE38,0x4 +asm/non_matchings/code/code_8013EC10/func_8013EE48.s,func_8013EE48,0x8013EE48,0x6 +asm/non_matchings/code/z_view/View_ViewportToVp.s,View_ViewportToVp,0x8013EE60,0x25 +asm/non_matchings/code/z_view/View_Init.s,View_Init,0x8013EEF4,0x2A +asm/non_matchings/code/z_view/View_SetViewOrientation.s,View_SetViewOrientation,0x8013EF9C,0x2D +asm/non_matchings/code/z_view/func_8013F050.s,func_8013F050,0x8013F050,0x14 +asm/non_matchings/code/z_view/View_SetScale.s,View_SetScale,0x8013F0A0,0x8 +asm/non_matchings/code/z_view/View_GetScale.s,View_GetScale,0x8013F0C0,0x4 +asm/non_matchings/code/z_view/func_8013F0D0.s,func_8013F0D0,0x8013F0D0,0xC +asm/non_matchings/code/z_view/func_8013F100.s,func_8013F100,0x8013F100,0x8 +asm/non_matchings/code/z_view/func_8013F120.s,func_8013F120,0x8013F120,0xF +asm/non_matchings/code/z_view/func_8013F15C.s,func_8013F15C,0x8013F15C,0x8 +asm/non_matchings/code/z_view/View_SetViewport.s,View_SetViewport,0x8013F17C,0xD +asm/non_matchings/code/z_view/View_GetViewport.s,View_GetViewport,0x8013F1B0,0xA +asm/non_matchings/code/z_view/View_WriteScissor.s,View_WriteScissor,0x8013F1D8,0x2D +asm/non_matchings/code/z_view/View_SyncAndWriteScissor.s,View_SyncAndWriteScissor,0x8013F28C,0x1B +asm/non_matchings/code/z_view/View_SetScissorForLetterbox.s,View_SetScissorForLetterbox,0x8013F2F8,0x40 +asm/non_matchings/code/z_view/View_SetQuakeRotation.s,View_SetQuakeRotation,0x8013F3F8,0xA +asm/non_matchings/code/z_view/View_SetQuakeScale.s,View_SetQuakeScale,0x8013F420,0xA +asm/non_matchings/code/z_view/View_SetQuakeSpeed.s,View_SetQuakeSpeed,0x8013F448,0x5 +asm/non_matchings/code/z_view/View_InitCameraQuake.s,View_InitCameraQuake,0x8013F45C,0x19 +asm/non_matchings/code/z_view/View_ClearQuake.s,View_ClearQuake,0x8013F4C0,0xD +asm/non_matchings/code/z_view/View_SetQuake.s,View_SetQuake,0x8013F4F4,0x16 +asm/non_matchings/code/z_view/View_StepQuake.s,View_StepQuake,0x8013F54C,0x6C +asm/non_matchings/code/z_view/View_RenderView.s,View_RenderView,0x8013F6FC,0x13 +asm/non_matchings/code/z_view/View_RenderToPerspectiveMatrix.s,View_RenderToPerspectiveMatrix,0x8013F748,0xB5 +asm/non_matchings/code/z_view/View_RenderToOrthographicMatrix.s,View_RenderToOrthographicMatrix,0x8013FA1C,0x6B +asm/non_matchings/code/z_view/func_8013FBC8.s,func_8013FBC8,0x8013FBC8,0x6B +asm/non_matchings/code/z_view/func_8013FD74.s,func_8013FD74,0x8013FD74,0xAC +asm/non_matchings/code/z_view/func_80140024.s,func_80140024,0x80140024,0x2A +asm/non_matchings/code/z_view/func_801400CC.s,func_801400CC,0x801400CC,0x65 +asm/non_matchings/code/z_vimode/func_80140260.s,func_80140260,0x80140260,0x3 +asm/non_matchings/code/z_vimode/func_8014026C.s,func_8014026C,0x8014026C,0x131 +asm/non_matchings/code/z_vimode/func_80140730.s,func_80140730,0x80140730,0x38 +asm/non_matchings/code/z_vimode/func_80140810.s,func_80140810,0x80140810,0x22 +asm/non_matchings/code/z_vimode/func_80140898.s,func_80140898,0x80140898,0x1A +asm/non_matchings/code/z_vimode/func_80140900.s,func_80140900,0x80140900,0x3 +asm/non_matchings/code/z_vimode/func_8014090C.s,func_8014090C,0x8014090C,0x19 +asm/non_matchings/code/z_vimode/func_80140970.s,func_80140970,0x80140970,0xDC +asm/non_matchings/code/z_vimode/func_80140CE0.s,func_80140CE0,0x80140CE0,0x9 +asm/non_matchings/code/z_vimode/func_80140D04.s,func_80140D04,0x80140D04,0x3 +asm/non_matchings/code/z_vimode/func_80140D10.s,func_80140D10,0x80140D10,0x5C +asm/non_matchings/code/code_80140E80/func_80140E80.s,func_80140E80,0x80140E80,0x8 +asm/non_matchings/code/code_80140E80/func_80140EA0.s,func_80140EA0,0x80140EA0,0x3 +asm/non_matchings/code/code_80140E80/func_80140EAC.s,func_80140EAC,0x80140EAC,0x57 +asm/non_matchings/code/code_80140E80/func_80141008.s,func_80141008,0x80141008,0x59 +asm/non_matchings/code/code_80140E80/func_8014116C.s,func_8014116C,0x8014116C,0x12 +asm/non_matchings/code/code_80140E80/func_801411B4.s,func_801411B4,0x801411B4,0x13 +asm/non_matchings/code/code_80140E80/func_80141200.s,func_80141200,0x80141200,0xC7 +asm/non_matchings/code/code_80140E80/func_8014151C.s,func_8014151C,0x8014151C,0x57 +asm/non_matchings/code/code_80140E80/func_80141678.s,func_80141678,0x80141678,0x40 +asm/non_matchings/code/code_80140E80/func_80141778.s,func_80141778,0x80141778,0x4E +asm/non_matchings/code/z_vismono/func_801418B0.s,func_801418B0,0x801418B0,0x14 +asm/non_matchings/code/z_vismono/func_80141900.s,func_80141900,0x80141900,0x9 +asm/non_matchings/code/z_vismono/func_80141924.s,func_80141924,0x80141924,0xC4 +asm/non_matchings/code/z_vismono/func_80141C34.s,func_80141C34,0x80141C34,0x8B +asm/non_matchings/code/z_vismono/VisMono_Draw.s,VisMono_Draw,0x80141E60,0x7B +asm/non_matchings/code/z_vismono/func_8014204C.s,func_8014204C,0x8014204C,0x1D +asm/non_matchings/code/code_801420C0/func_801420C0.s,func_801420C0,0x801420C0,0xD +asm/non_matchings/code/code_801420C0/func_801420F4.s,func_801420F4,0x801420F4,0x3 +asm/non_matchings/code/code_801420C0/func_80142100.s,func_80142100,0x80142100,0xD0 +asm/non_matchings/code/z_vr_box/func_80142440.s,func_80142440,0x80142440,0x342 +asm/non_matchings/code/z_vr_box/func_80143148.s,func_80143148,0x80143148,0x28 +asm/non_matchings/code/z_vr_box/func_801431E8.s,func_801431E8,0x801431E8,0x4F +asm/non_matchings/code/z_vr_box/func_80143324.s,func_80143324,0x80143324,0x70 +asm/non_matchings/code/z_vr_box/func_801434E4.s,func_801434E4,0x801434E4,0x2F +asm/non_matchings/code/z_vr_box_draw/func_801435A0.s,func_801435A0,0x801435A0,0x21 +asm/non_matchings/code/z_vr_box_draw/func_80143624.s,func_80143624,0x80143624,0x11 +asm/non_matchings/code/z_vr_box_draw/func_80143668.s,func_80143668,0x80143668,0xE7 +asm/non_matchings/code/z_vr_box_draw/func_80143A04.s,func_80143A04,0x80143A04,0x3 +asm/non_matchings/code/z_sram_NES/func_80143A10.s,func_80143A10,0x80143A10,0x11 +asm/non_matchings/code/z_sram_NES/func_80143A54.s,func_80143A54,0x80143A54,0x1C +asm/non_matchings/code/z_sram_NES/func_80143AC4.s,func_80143AC4,0x80143AC4,0x12 +asm/non_matchings/code/z_sram_NES/func_80143B0C.s,func_80143B0C,0x80143B0C,0x29A +asm/non_matchings/code/z_sram_NES/Sram_IncrementDay.s,Sram_IncrementDay,0x80144574,0x1C +asm/non_matchings/code/z_sram_NES/Sram_CalcChecksum.s,Sram_CalcChecksum,0x801445E4,0x11 +asm/non_matchings/code/z_sram_NES/func_80144628.s,func_80144628,0x80144628,0x17 +asm/non_matchings/code/z_sram_NES/Sram_GenerateRandomSaveFields.s,Sram_GenerateRandomSaveFields,0x80144684,0x83 +asm/non_matchings/code/z_sram_NES/func_80144890.s,func_80144890,0x80144890,0x36 +asm/non_matchings/code/z_sram_NES/func_80144968.s,func_80144968,0x80144968,0x4B +asm/non_matchings/code/z_sram_NES/func_80144A94.s,func_80144A94,0x80144A94,0xF9 +asm/non_matchings/code/z_sram_NES/func_80144E78.s,func_80144E78,0x80144E78,0x17D +asm/non_matchings/code/z_sram_NES/func_8014546C.s,func_8014546C,0x8014546C,0x8B +asm/non_matchings/code/z_sram_NES/func_80145698.s,func_80145698,0x80145698,0x4D +asm/non_matchings/code/z_sram_NES/func_801457CC.s,func_801457CC,0x801457CC,0x36D +asm/non_matchings/code/z_sram_NES/func_80146580.s,func_80146580,0x80146580,0x2A +asm/non_matchings/code/z_sram_NES/func_80146628.s,func_80146628,0x80146628,0x11E +asm/non_matchings/code/z_sram_NES/func_80146AA0.s,func_80146AA0,0x80146AA0,0xD6 +asm/non_matchings/code/z_sram_NES/func_80146DF8.s,func_80146DF8,0x80146DF8,0x12 +asm/non_matchings/code/z_sram_NES/func_80146E40.s,func_80146E40,0x80146E40,0xC +asm/non_matchings/code/z_sram_NES/Sram_Alloc.s,Sram_Alloc,0x80146E70,0x13 +asm/non_matchings/code/z_sram_NES/func_80146EBC.s,func_80146EBC,0x80146EBC,0xB +asm/non_matchings/code/z_sram_NES/func_80146EE8.s,func_80146EE8,0x80146EE8,0x1D +asm/non_matchings/code/z_sram_NES/func_80146F5C.s,func_80146F5C,0x80146F5C,0x2B +asm/non_matchings/code/z_sram_NES/func_80147008.s,func_80147008,0x80147008,0x6 +asm/non_matchings/code/z_sram_NES/func_80147020.s,func_80147020,0x80147020,0x12 +asm/non_matchings/code/z_sram_NES/func_80147068.s,func_80147068,0x80147068,0x34 +asm/non_matchings/code/z_sram_NES/func_80147138.s,func_80147138,0x80147138,0x6 +asm/non_matchings/code/z_sram_NES/func_80147150.s,func_80147150,0x80147150,0x12 +asm/non_matchings/code/z_sram_NES/func_80147198.s,func_80147198,0x80147198,0x5F +asm/non_matchings/code/z_sram_NES/func_80147314.s,func_80147314,0x80147314,0x40 +asm/non_matchings/code/z_sram_NES/func_80147414.s,func_80147414,0x80147414,0x3E +asm/non_matchings/code/z_sram_NES/Sram_nop8014750C.s,Sram_nop8014750C,0x8014750C,0x5 +asm/non_matchings/code/z_message/func_80147520.s,func_80147520,0x80147520,0x11 +asm/non_matchings/code/z_message/func_80147564.s,func_80147564,0x80147564,0x30 +asm/non_matchings/code/z_message/func_80147624.s,func_80147624,0x80147624,0x44 +asm/non_matchings/code/z_message/func_80147734.s,func_80147734,0x80147734,0x20 +asm/non_matchings/code/z_message/func_801477B4.s,func_801477B4,0x801477B4,0x19 +asm/non_matchings/code/z_message/func_80147818.s,func_80147818,0x80147818,0x1C0 +asm/non_matchings/code/z_message/func_80147F18.s,func_80147F18,0x80147F18,0x190 +asm/non_matchings/code/z_message/func_80148558.s,func_80148558,0x80148558,0x190 +asm/non_matchings/code/z_message/func_80148B98.s,func_80148B98,0x80148B98,0x49 +asm/non_matchings/code/z_message/func_80148CBC.s,func_80148CBC,0x80148CBC,0x2A +asm/non_matchings/code/z_message/func_80148D64.s,func_80148D64,0x80148D64,0xB9 +asm/non_matchings/code/z_message/func_80149048.s,func_80149048,0x80149048,0x65 +asm/non_matchings/code/z_message/func_801491DC.s,func_801491DC,0x801491DC,0x9E +asm/non_matchings/code/z_message/func_80149454.s,func_80149454,0x80149454,0x9D +asm/non_matchings/code/z_message/func_801496C8.s,func_801496C8,0x801496C8,0xA5 +asm/non_matchings/code/z_message/func_8014995C.s,func_8014995C,0x8014995C,0xAF +asm/non_matchings/code/z_message/func_80149C18.s,func_80149C18,0x80149C18,0xA9 +asm/non_matchings/code/z_message/func_80149EBC.s,func_80149EBC,0x80149EBC,0x2E +asm/non_matchings/code/z_message/func_80149F74.s,func_80149F74,0x80149F74,0x2D7 +asm/non_matchings/code/z_message/func_8014AAD0.s,func_8014AAD0,0x8014AAD0,0xBB +asm/non_matchings/code/z_message/func_8014ADBC.s,func_8014ADBC,0x8014ADBC,0x654 +asm/non_matchings/code/z_message/func_8014C70C.s,func_8014C70C,0x8014C70C,0x142 +asm/non_matchings/code/z_message/func_8014CC14.s,func_8014CC14,0x8014CC14,0x28 +asm/non_matchings/code/z_message/func_8014CCB4.s,func_8014CCB4,0x8014CCB4,0x4F +asm/non_matchings/code/z_message/func_8014CDF0.s,func_8014CDF0,0x8014CDF0,0x7B +asm/non_matchings/code/z_message/func_8014CFDC.s,func_8014CFDC,0x8014CFDC,0xCA +asm/non_matchings/code/z_message/func_8014D304.s,func_8014D304,0x8014D304,0xCA +asm/non_matchings/code/z_message/func_8014D62C.s,func_8014D62C,0x8014D62C,0x62 +asm/non_matchings/code/z_message/func_8014D7B4.s,func_8014D7B4,0x8014D7B4,0xCB4 +asm/non_matchings/code/z_message/func_80150A84.s,func_80150A84,0x80150A84,0xA1 +asm/non_matchings/code/z_message/func_80150D08.s,func_80150D08,0x80150D08,0x1EA +asm/non_matchings/code/z_message/func_801514B0.s,func_801514B0,0x801514B0,0x100 +asm/non_matchings/code/z_message/func_801518B0.s,func_801518B0,0x801518B0,0x22 +asm/non_matchings/code/z_message/func_80151938.s,func_80151938,0x80151938,0x4C +asm/non_matchings/code/z_message/func_80151A68.s,func_80151A68,0x80151A68,0x53 +asm/non_matchings/code/z_message/func_80151BB4.s,func_80151BB4,0x80151BB4,0x3A +asm/non_matchings/code/z_message/func_80151C9C.s,func_80151C9C,0x80151C9C,0x42 +asm/non_matchings/code/z_message/func_80151DA4.s,func_80151DA4,0x80151DA4,0x1A4 +asm/non_matchings/code/z_message/func_80152434.s,func_80152434,0x80152434,0xC +asm/non_matchings/code/z_message/func_80152464.s,func_80152464,0x80152464,0xD +asm/non_matchings/code/z_message/func_80152498.s,func_80152498,0x80152498,0x7D +asm/non_matchings/code/z_message/func_8015268C.s,func_8015268C,0x8015268C,0x176 +asm/non_matchings/code/z_message/func_80152C64.s,func_80152C64,0x80152C64,0x12 +asm/non_matchings/code/z_message/func_80152CAC.s,func_80152CAC,0x80152CAC,0x85 +asm/non_matchings/code/z_message/func_80152EC0.s,func_80152EC0,0x80152EC0,0x3E +asm/non_matchings/code/z_message/func_80152FB8.s,func_80152FB8,0x80152FB8,0x1E6 +asm/non_matchings/code/z_message/func_80153750.s,func_80153750,0x80153750,0x1CB +asm/non_matchings/code/z_message/func_80153E7C.s,func_80153E7C,0x80153E7C,0x1D +asm/non_matchings/code/z_message/func_80153EF0.s,func_80153EF0,0x80153EF0,0xB9 +asm/non_matchings/code/z_message/func_801541D4.s,func_801541D4,0x801541D4,0x961 +asm/non_matchings/code/z_message/func_80156758.s,func_80156758,0x80156758,0x2D +asm/non_matchings/code/z_message/func_8015680C.s,func_8015680C,0x8015680C,0x7A6 +asm/non_matchings/code/z_message/func_801586A4.s,func_801586A4,0x801586A4,0xC +asm/non_matchings/code/z_message/Message_Init.s,Message_Init,0x801586D4,0x7F +asm/non_matchings/code/z_message_nes/func_801588D0.s,func_801588D0,0x801588D0,0x2E +asm/non_matchings/code/z_message_nes/func_80158988.s,func_80158988,0x80158988,0x27 +asm/non_matchings/code/z_message_nes/func_80158A24.s,func_80158A24,0x80158A24,0x78 +asm/non_matchings/code/z_message_nes/func_80158C04.s,func_80158C04,0x80158C04,0x65 +asm/non_matchings/code/z_message_nes/func_80158D98.s,func_80158D98,0x80158D98,0x86 +asm/non_matchings/code/z_message_nes/func_80158FB0.s,func_80158FB0,0x80158FB0,0xAF +asm/non_matchings/code/z_message_nes/func_8015926C.s,func_8015926C,0x8015926C,0x73 +asm/non_matchings/code/z_message_nes/func_80159438.s,func_80159438,0x80159438,0x8D +asm/non_matchings/code/z_message_nes/func_8015966C.s,func_8015966C,0x8015966C,0x6CB +asm/non_matchings/code/z_message_nes/func_8015B198.s,func_8015B198,0x8015B198,0xD6E +asm/non_matchings/code/z_message_staff/func_8015E750.s,func_8015E750,0x8015E750,0x27 +asm/non_matchings/code/z_message_staff/func_8015E7EC.s,func_8015E7EC,0x8015E7EC,0x42F +asm/non_matchings/code/z_message_staff/func_8015F8A8.s,func_8015F8A8,0x8015F8A8,0x47A +asm/non_matchings/code/z_player_call/func_80160A90.s,func_80160A90,0x80160A90,0x1A +asm/non_matchings/code/z_player_call/func_80160AF8.s,func_80160AF8,0x80160AF8,0x12 +asm/non_matchings/code/z_player_call/func_80160B40.s,func_80160B40,0x80160B40,0x10 +asm/non_matchings/code/z_player_call/func_80160B80.s,func_80160B80,0x80160B80,0x10 +asm/non_matchings/code/z_player_call/func_80160BC0.s,func_80160BC0,0x80160BC0,0x10 +asm/non_matchings/code/z_shrink_window/ShrinkWindow_SetLetterboxTarget.s,ShrinkWindow_SetLetterboxTarget,0x80160C00,0x5 +asm/non_matchings/code/z_shrink_window/ShrinkWindow_GetLetterboxTarget.s,ShrinkWindow_GetLetterboxTarget,0x80160C14,0x5 +asm/non_matchings/code/z_shrink_window/ShrinkWindow_SetLetterboxMagnitude.s,ShrinkWindow_SetLetterboxMagnitude,0x80160C28,0x5 +asm/non_matchings/code/z_shrink_window/ShrinkWindow_GetLetterboxMagnitude.s,ShrinkWindow_GetLetterboxMagnitude,0x80160C3C,0x5 +asm/non_matchings/code/z_shrink_window/ShrinkWindow_SetPillarboxTarget.s,ShrinkWindow_SetPillarboxTarget,0x80160C50,0x5 +asm/non_matchings/code/z_shrink_window/ShrinkWindow_GetPillarboxTarget.s,ShrinkWindow_GetPillarboxTarget,0x80160C64,0x5 +asm/non_matchings/code/z_shrink_window/ShrinkWindow_SetPillarboxMagnitude.s,ShrinkWindow_SetPillarboxMagnitude,0x80160C78,0x5 +asm/non_matchings/code/z_shrink_window/ShrinkWindow_GetPillarboxMagnitude.s,ShrinkWindow_GetPillarboxMagnitude,0x80160C8C,0x5 +asm/non_matchings/code/z_shrink_window/ShrinkWindow_Init.s,ShrinkWindow_Init,0x80160CA0,0xD +asm/non_matchings/code/z_shrink_window/ShrinkWindow_Fini.s,ShrinkWindow_Fini,0x80160CD4,0x4 +asm/non_matchings/code/z_shrink_window/ShrinkWindow_Step.s,ShrinkWindow_Step,0x80160CE4,0x2D +asm/non_matchings/code/z_shrink_window/ShrinkWindow_Draw.s,ShrinkWindow_Draw,0x80160D98,0xFA +asm/non_matchings/code/db_camera/func_80161180.s,func_80161180,0x80161180,0x7 +asm/non_matchings/code/db_camera/func_8016119C.s,func_8016119C,0x8016119C,0x24 +asm/non_matchings/code/db_camera/func_8016122C.s,func_8016122C,0x8016122C,0x23 +asm/non_matchings/code/db_camera/func_801612B8.s,func_801612B8,0x801612B8,0x1B8 +asm/non_matchings/code/db_camera/func_80161998.s,func_80161998,0x80161998,0x85 +asm/non_matchings/code/db_camera/func_80161BAC.s,func_80161BAC,0x80161BAC,0xD +asm/non_matchings/code/db_camera/func_80161BE0.s,func_80161BE0,0x80161BE0,0xB +asm/non_matchings/code/db_camera/func_80161C0C.s,func_80161C0C,0x80161C0C,0x5 +asm/non_matchings/code/db_camera/func_80161C20.s,func_80161C20,0x80161C20,0x8B +asm/non_matchings/code/db_camera/func_80161E4C.s,func_80161E4C,0x80161E4C,0xA0 +asm/non_matchings/code/db_camera/func_801620CC.s,func_801620CC,0x801620CC,0xAC +asm/non_matchings/code/db_camera/func_8016237C.s,func_8016237C,0x8016237C,0x1A +asm/non_matchings/code/db_camera/func_801623E4.s,func_801623E4,0x801623E4,0x42 +asm/non_matchings/code/db_camera/func_801624EC.s,func_801624EC,0x801624EC,0x14 +asm/non_matchings/code/db_camera/func_8016253C.s,func_8016253C,0x8016253C,0x120 +asm/non_matchings/code/db_camera/func_801629BC.s,func_801629BC,0x801629BC,0x25 +asm/non_matchings/code/db_camera/func_80162A50.s,func_80162A50,0x80162A50,0x16A +asm/non_matchings/code/db_camera/func_80162FF8.s,func_80162FF8,0x80162FF8,0x79 +asm/non_matchings/code/db_camera/func_801631DC.s,func_801631DC,0x801631DC,0x56 +asm/non_matchings/code/db_camera/func_80163334.s,func_80163334,0x80163334,0xCB +asm/non_matchings/code/db_camera/func_80163660.s,func_80163660,0x80163660,0x28 +asm/non_matchings/code/z_kaleido_manager/func_80163700.s,func_80163700,0x80163700,0x16 +asm/non_matchings/code/z_kaleido_manager/func_80163758.s,func_80163758,0x80163758,0x17 +asm/non_matchings/code/z_kaleido_manager/func_801637B4.s,func_801637B4,0x801637B4,0x14 +asm/non_matchings/code/z_kaleido_manager/func_80163804.s,func_80163804,0x80163804,0x22 +asm/non_matchings/code/z_kaleido_manager/func_8016388C.s,func_8016388C,0x8016388C,0x13 +asm/non_matchings/code/z_kaleido_manager/func_801638D8.s,func_801638D8,0x801638D8,0x32 +asm/non_matchings/code/z_kaleido_scope_call/func_801639A0.s,func_801639A0,0x801639A0,0x13 +asm/non_matchings/code/z_kaleido_scope_call/func_801639EC.s,func_801639EC,0x801639EC,0x13 +asm/non_matchings/code/z_kaleido_scope_call/func_80163A38.s,func_80163A38,0x80163A38,0x8 +asm/non_matchings/code/z_kaleido_scope_call/func_80163A58.s,func_80163A58,0x80163A58,0x6D +asm/non_matchings/code/z_kaleido_scope_call/func_80163C0C.s,func_80163C0C,0x80163C0C,0x21 +asm/non_matchings/code/z_fbdemo_dlftbls/func_80163C90.s,func_80163C90,0x80163C90,0x3C +asm/non_matchings/code/z_fbdemo_dlftbls/func_80163D80.s,func_80163D80,0x80163D80,0x10 +asm/non_matchings/code/z_fbdemo/func_80163DC0.s,func_80163DC0,0x80163DC0,0xF3 +asm/non_matchings/code/z_fbdemo/func_8016418C.s,func_8016418C,0x8016418C,0x30 +asm/non_matchings/code/z_fbdemo/func_8016424C.s,func_8016424C,0x8016424C,0x23 +asm/non_matchings/code/z_fbdemo/func_801642D8.s,func_801642D8,0x801642D8,0x58 +asm/non_matchings/code/z_fbdemo/func_80164438.s,func_80164438,0x80164438,0x45 +asm/non_matchings/code/z_fbdemo/func_8016454C.s,func_8016454C,0x8016454C,0x4B +asm/non_matchings/code/z_fbdemo/func_80164678.s,func_80164678,0x80164678,0x4D +asm/non_matchings/code/z_fbdemo/func_801647AC.s,func_801647AC,0x801647AC,0x3 +asm/non_matchings/code/z_fbdemo/func_801647B8.s,func_801647B8,0x801647B8,0x6 +asm/non_matchings/code/z_fbdemo_fade/TransitionFade_Start.s,TransitionFade_Start,0x801647D0,0x17 +asm/non_matchings/code/z_fbdemo_fade/TransitionFade_Init.s,TransitionFade_Init,0x8016482C,0xB +asm/non_matchings/code/z_fbdemo_fade/TransitionFade_Destroy.s,TransitionFade_Destroy,0x80164858,0x3 +asm/non_matchings/code/z_fbdemo_fade/TransitionFade_Update.s,TransitionFade_Update,0x80164864,0x64 +asm/non_matchings/code/z_fbdemo_fade/TransitionFade_Draw.s,TransitionFade_Draw,0x801649F4,0x23 +asm/non_matchings/code/z_fbdemo_fade/TransitionFade_IsDone.s,TransitionFade_IsDone,0x80164A80,0x3 +asm/non_matchings/code/z_fbdemo_fade/TransitionFade_SetColor.s,TransitionFade_SetColor,0x80164A8C,0x3 +asm/non_matchings/code/z_fbdemo_fade/TransitionFade_SetType.s,TransitionFade_SetType,0x80164A98,0x16 +asm/non_matchings/code/z_fbdemo_circle/TransitionCircle_Start.s,TransitionCircle_Start,0x80164AF0,0x14 +asm/non_matchings/code/z_fbdemo_circle/TransitionCircle_Init.s,TransitionCircle_Init,0x80164B40,0x15 +asm/non_matchings/code/z_fbdemo_circle/TransitionCircle_Destroy.s,TransitionCircle_Destroy,0x80164B94,0x3 +asm/non_matchings/code/z_fbdemo_circle/TransitionCircle_Update.s,TransitionCircle_Update,0x80164BA0,0xD +asm/non_matchings/code/z_fbdemo_circle/TransitionCircle_SetColor.s,TransitionCircle_SetColor,0x80164BD4,0x3 +asm/non_matchings/code/z_fbdemo_circle/TransitionCircle_SetType.s,TransitionCircle_SetType,0x80164BE0,0xD +asm/non_matchings/code/z_fbdemo_circle/func_80164C14.s,func_80164C14,0x80164C14,0x10C +asm/non_matchings/code/z_fbdemo_circle/TransitionCircle_Draw.s,TransitionCircle_Draw,0x80165044,0x55 +asm/non_matchings/code/z_fbdemo_circle/TransitionCircle_IsDone.s,TransitionCircle_IsDone,0x80165198,0x6 +asm/non_matchings/code/z_overlay/func_801651B0.s,func_801651B0,0x801651B0,0x1D +asm/non_matchings/code/z_overlay/func_80165224.s,func_80165224,0x80165224,0x19 +asm/non_matchings/code/z_overlay/func_80165288.s,func_80165288,0x80165288,0x3D +asm/non_matchings/code/z_overlay/func_8016537C.s,func_8016537C,0x8016537C,0x2F +asm/non_matchings/code/z_overlay/func_80165438.s,func_80165438,0x80165438,0x3 +asm/non_matchings/code/z_overlay/func_80165444.s,func_80165444,0x80165444,0x7 +asm/non_matchings/code/z_play/func_80165460.s,func_80165460,0x80165460,0x6A +asm/non_matchings/code/z_play/func_80165608.s,func_80165608,0x80165608,0xA +asm/non_matchings/code/z_play/func_80165630.s,func_80165630,0x80165630,0xA +asm/non_matchings/code/z_play/func_80165658.s,func_80165658,0x80165658,0x5 +asm/non_matchings/code/z_play/func_8016566C.s,func_8016566C,0x8016566C,0x9 +asm/non_matchings/code/z_play/func_80165690.s,func_80165690,0x80165690,0x5 +asm/non_matchings/code/z_play/func_801656A4.s,func_801656A4,0x801656A4,0x1C5 +asm/non_matchings/code/z_play/func_80165DB8.s,func_80165DB8,0x80165DB8,0x5 +asm/non_matchings/code/z_play/func_80165DCC.s,func_80165DCC,0x80165DCC,0x9 +asm/non_matchings/code/z_play/func_80165DF0.s,func_80165DF0,0x80165DF0,0x5 +asm/non_matchings/code/z_play/func_80165E04.s,func_80165E04,0x80165E04,0x6 +asm/non_matchings/code/z_play/func_80165E1C.s,func_80165E1C,0x80165E1C,0x18 +asm/non_matchings/code/z_play/func_80165E7C.s,func_80165E7C,0x80165E7C,0x11 +asm/non_matchings/code/z_play/func_80165EC0.s,func_80165EC0,0x80165EC0,0x68 +asm/non_matchings/code/z_play/func_80166060.s,func_80166060,0x80166060,0x16 +asm/non_matchings/code/z_play/func_801660B8.s,func_801660B8,0x801660B8,0x21 +asm/non_matchings/code/z_play/Play_Fini.s,Play_Fini,0x8016613C,0xA2 +asm/non_matchings/code/z_play/func_801663C4.s,func_801663C4,0x801663C4,0xA0 +asm/non_matchings/code/z_play/func_80166644.s,func_80166644,0x80166644,0x9C +asm/non_matchings/code/z_play/func_801668B4.s,func_801668B4,0x801668B4,0x2D +asm/non_matchings/code/z_play/func_80166968.s,func_80166968,0x80166968,0x72 +asm/non_matchings/code/z_play/func_80166B30.s,func_80166B30,0x80166B30,0x339 +asm/non_matchings/code/z_play/func_80167814.s,func_80167814,0x80167814,0x174 +asm/non_matchings/code/z_play/func_80167DE4.s,func_80167DE4,0x80167DE4,0x4A +asm/non_matchings/code/z_play/func_80167F0C.s,func_80167F0C,0x80167F0C,0x61 +asm/non_matchings/code/z_play/func_80168090.s,func_80168090,0x80168090,0x347 +asm/non_matchings/code/z_play/func_80168DAC.s,func_80168DAC,0x80168DAC,0x6E +asm/non_matchings/code/z_play/Play_Update.s,Play_Update,0x80168F64,0x5A +asm/non_matchings/code/z_play/func_801690CC.s,func_801690CC,0x801690CC,0xD +asm/non_matchings/code/z_play/func_80169100.s,func_80169100,0x80169100,0x3C +asm/non_matchings/code/z_play/func_801691F0.s,func_801691F0,0x801691F0,0xC +asm/non_matchings/code/z_play/Play_LoadScene.s,Play_LoadScene,0x80169220,0x17 +asm/non_matchings/code/z_play/func_8016927C.s,func_8016927C,0x8016927C,0x12 +asm/non_matchings/code/z_play/func_801692C4.s,func_801692C4,0x801692C4,0x44 +asm/non_matchings/code/z_play/Play_SceneInit.s,Play_SceneInit,0x801693D4,0x28 +asm/non_matchings/code/z_play/func_80169474.s,func_80169474,0x80169474,0x1A +asm/non_matchings/code/z_play/func_801694DC.s,func_801694DC,0x801694DC,0x2A +asm/non_matchings/code/z_play/Play_GetActiveCameraIndex.s,Play_GetActiveCameraIndex,0x80169584,0x3 +asm/non_matchings/code/z_play/func_80169590.s,func_80169590,0x80169590,0x1C +asm/non_matchings/code/z_play/func_80169600.s,func_80169600,0x80169600,0x1A +asm/non_matchings/code/z_play/func_80169668.s,func_80169668,0x80169668,0x1B +asm/non_matchings/code/z_play/Play_GetCamera.s,Play_GetCamera,0x801696D4,0xE +asm/non_matchings/code/z_play/func_8016970C.s,func_8016970C,0x8016970C,0x44 +asm/non_matchings/code/z_play/func_8016981C.s,func_8016981C,0x8016981C,0x49 +asm/non_matchings/code/z_play/func_80169940.s,func_80169940,0x80169940,0x12 +asm/non_matchings/code/z_play/func_80169988.s,func_80169988,0x80169988,0x13 +asm/non_matchings/code/z_play/func_801699D4.s,func_801699D4,0x801699D4,0x1F +asm/non_matchings/code/z_play/func_80169A50.s,func_80169A50,0x80169A50,0x1C +asm/non_matchings/code/z_play/func_80169AC0.s,func_80169AC0,0x80169AC0,0xF +asm/non_matchings/code/z_play/func_80169AFC.s,func_80169AFC,0x80169AFC,0x32 +asm/non_matchings/code/z_play/func_80169BC4.s,func_80169BC4,0x80169BC4,0xD +asm/non_matchings/code/z_play/func_80169BF8.s,func_80169BF8,0x80169BF8,0x1B +asm/non_matchings/code/z_play/func_80169C64.s,func_80169C64,0x80169C64,0x8 +asm/non_matchings/code/z_play/func_80169C84.s,func_80169C84,0x80169C84,0xE +asm/non_matchings/code/z_play/convert_scene_number_among_shared_scenes.s,convert_scene_number_among_shared_scenes,0x80169CBC,0x21 +asm/non_matchings/code/z_play/func_80169D40.s,func_80169D40,0x80169D40,0x23 +asm/non_matchings/code/z_play/func_80169DCC.s,func_80169DCC,0x80169DCC,0x28 +asm/non_matchings/code/z_play/func_80169E6C.s,func_80169E6C,0x80169E6C,0x18 +asm/non_matchings/code/z_play/func_80169ECC.s,func_80169ECC,0x80169ECC,0xC +asm/non_matchings/code/z_play/func_80169EFC.s,func_80169EFC,0x80169EFC,0x1F +asm/non_matchings/code/z_play/func_80169F78.s,func_80169F78,0x80169F78,0x19 +asm/non_matchings/code/z_play/func_80169FDC.s,func_80169FDC,0x80169FDC,0x8 +asm/non_matchings/code/z_play/func_80169FFC.s,func_80169FFC,0x80169FFC,0x8 +asm/non_matchings/code/z_play/FrameAdvance_IsEnabled.s,FrameAdvance_IsEnabled,0x8016A01C,0x4 +asm/non_matchings/code/z_play/func_8016A02C.s,func_8016A02C,0x8016A02C,0x20 +asm/non_matchings/code/z_play/func_8016A0AC.s,func_8016A0AC,0x8016A0AC,0x2F +asm/non_matchings/code/z_play/func_8016A168.s,func_8016A168,0x8016A168,0x4 +asm/non_matchings/code/z_play/func_8016A178.s,func_8016A178,0x8016A178,0x3C +asm/non_matchings/code/z_play/func_8016A268.s,func_8016A268,0x8016A268,0x18 +asm/non_matchings/code/z_play/Play_Init.s,Play_Init,0x8016A2C8,0x252 +asm/non_matchings/code/z_play_hireso/func_8016AC10.s,func_8016AC10,0x8016AC10,0x83 +asm/non_matchings/code/z_play_hireso/func_8016AE1C.s,func_8016AE1C,0x8016AE1C,0x117 +asm/non_matchings/code/z_play_hireso/func_8016B278.s,func_8016B278,0x8016B278,0x8E +asm/non_matchings/code/z_play_hireso/func_8016B4B0.s,func_8016B4B0,0x8016B4B0,0x3A5 +asm/non_matchings/code/z_play_hireso/func_8016C344.s,func_8016C344,0x8016C344,0x282 +asm/non_matchings/code/z_play_hireso/func_8016CD4C.s,func_8016CD4C,0x8016CD4C,0x5B0 +asm/non_matchings/code/z_play_hireso/func_8016E40C.s,func_8016E40C,0x8016E40C,0x1A1 +asm/non_matchings/code/z_play_hireso/func_8016EA90.s,func_8016EA90,0x8016EA90,0x1C6 +asm/non_matchings/code/z_play_hireso/func_8016F1A8.s,func_8016F1A8,0x8016F1A8,0xD1 +asm/non_matchings/code/z_play_hireso/func_8016F4EC.s,func_8016F4EC,0x8016F4EC,0x2F +asm/non_matchings/code/z_play_hireso/func_8016F5A8.s,func_8016F5A8,0x8016F5A8,0x1B4 +asm/non_matchings/code/z_play_hireso/func_8016FC78.s,func_8016FC78,0x8016FC78,0x8 +asm/non_matchings/code/z_play_hireso/func_8016FC98.s,func_8016FC98,0x8016FC98,0x16 +asm/non_matchings/code/PreRender/PreRender_SetValuesSave.s,PreRender_SetValuesSave,0x8016FCF0,0xF +asm/non_matchings/code/PreRender/PreRender_Init.s,PreRender_Init,0x8016FD2C,0xD +asm/non_matchings/code/PreRender/PreRender_SetValues.s,PreRender_SetValues,0x8016FD60,0xD +asm/non_matchings/code/PreRender/PreRender_Destroy.s,PreRender_Destroy,0x8016FD94,0x9 +asm/non_matchings/code/PreRender/func_8016FDB8.s,func_8016FDB8,0x8016FDB8,0x6E +asm/non_matchings/code/PreRender/func_8016FF70.s,func_8016FF70,0x8016FF70,0x8 +asm/non_matchings/code/PreRender/func_8016FF90.s,func_8016FF90,0x8016FF90,0x9C +asm/non_matchings/code/PreRender/func_80170200.s,func_80170200,0x80170200,0xF +asm/non_matchings/code/PreRender/func_8017023C.s,func_8017023C,0x8017023C,0xD0 +asm/non_matchings/code/PreRender/func_8017057C.s,func_8017057C,0x8017057C,0xE +asm/non_matchings/code/PreRender/func_801705B4.s,func_801705B4,0x801705B4,0xE +asm/non_matchings/code/PreRender/func_801705EC.s,func_801705EC,0x801705EC,0x51 +asm/non_matchings/code/PreRender/func_80170730.s,func_80170730,0x80170730,0x11 +asm/non_matchings/code/PreRender/func_80170774.s,func_80170774,0x80170774,0x9 +asm/non_matchings/code/PreRender/func_80170798.s,func_80170798,0x80170798,0xD2 +asm/non_matchings/code/PreRender/func_80170AE0.s,func_80170AE0,0x80170AE0,0x12 +asm/non_matchings/code/PreRender/func_80170B28.s,func_80170B28,0x80170B28,0x9 +asm/non_matchings/code/PreRender/PreRender_AntiAliasAlgorithm.s,PreRender_AntiAliasAlgorithm,0x80170B4C,0x2B0 +asm/non_matchings/code/PreRender/PreRender_ApplyAntiAliasingFilter.s,PreRender_ApplyAntiAliasingFilter,0x8017160C,0x2E +asm/non_matchings/code/PreRender/func_801716C4.s,func_801716C4,0x801716C4,0x4D +asm/non_matchings/code/PreRender/func_801717F8.s,func_801717F8,0x801717F8,0x1D5 +asm/non_matchings/code/PreRender/PreRender_ApplyFilters.s,PreRender_ApplyFilters,0x80171F4C,0x17 +asm/non_matchings/code/PreRender/PreRender_ApplyFiltersSlowlyInit.s,PreRender_ApplyFiltersSlowlyInit,0x80171FA8,0x34 +asm/non_matchings/code/PreRender/PreRender_ApplyFiltersSlowlyDestroy.s,PreRender_ApplyFiltersSlowlyDestroy,0x80172078,0x13 +asm/non_matchings/code/PreRender/func_801720C4.s,func_801720C4,0x801720C4,0xE +asm/non_matchings/code/PreRender/func_801720FC.s,func_801720FC,0x801720FC,0x197 +asm/non_matchings/code/PreRender/func_80172758.s,func_80172758,0x80172758,0x26 +asm/non_matchings/code/TwoHeadGfxArena/THGA_Ct.s,THGA_Ct,0x801727F0,0x8 +asm/non_matchings/code/TwoHeadGfxArena/THGA_Dt.s,THGA_Dt,0x80172810,0x8 +asm/non_matchings/code/TwoHeadGfxArena/THGA_IsCrash.s,THGA_IsCrash,0x80172830,0x8 +asm/non_matchings/code/TwoHeadGfxArena/THGA_Init.s,THGA_Init,0x80172850,0x8 +asm/non_matchings/code/TwoHeadGfxArena/THGA_GetSize.s,THGA_GetSize,0x80172870,0x8 +asm/non_matchings/code/TwoHeadGfxArena/THGA_GetHead.s,THGA_GetHead,0x80172890,0x8 +asm/non_matchings/code/TwoHeadGfxArena/THGA_SetHead.s,THGA_SetHead,0x801728B0,0x8 +asm/non_matchings/code/TwoHeadGfxArena/THGA_GetTail.s,THGA_GetTail,0x801728D0,0x8 +asm/non_matchings/code/TwoHeadGfxArena/THGA_AllocStartArray8.s,THGA_AllocStartArray8,0x801728F0,0x9 +asm/non_matchings/code/TwoHeadGfxArena/THGA_AllocStart8.s,THGA_AllocStart8,0x80172914,0x8 +asm/non_matchings/code/TwoHeadGfxArena/THGA_AllocStart8Wrapper.s,THGA_AllocStart8Wrapper,0x80172934,0x8 +asm/non_matchings/code/TwoHeadGfxArena/THGA_AllocEnd.s,THGA_AllocEnd,0x80172954,0x8 +asm/non_matchings/code/TwoHeadGfxArena/THGA_AllocEndArray64.s,THGA_AllocEndArray64,0x80172974,0x9 +asm/non_matchings/code/TwoHeadGfxArena/THGA_AllocEnd64.s,THGA_AllocEnd64,0x80172998,0x8 +asm/non_matchings/code/TwoHeadGfxArena/THGA_AllocEndArray16.s,THGA_AllocEndArray16,0x801729B8,0x9 +asm/non_matchings/code/TwoHeadGfxArena/THGA_AllocEnd16.s,THGA_AllocEnd16,0x801729DC,0x9 +asm/non_matchings/code/TwoHeadArena/THA_GetHead.s,THA_GetHead,0x80172A00,0x3 +asm/non_matchings/code/TwoHeadArena/THA_SetHead.s,THA_SetHead,0x80172A0C,0x3 +asm/non_matchings/code/TwoHeadArena/THA_GetTail.s,THA_GetTail,0x80172A18,0x3 +asm/non_matchings/code/TwoHeadArena/THA_AllocStart.s,THA_AllocStart,0x80172A24,0x5 +asm/non_matchings/code/TwoHeadArena/THA_AllocStart1.s,THA_AllocStart1,0x80172A38,0x8 +asm/non_matchings/code/TwoHeadArena/THA_AllocEnd.s,THA_AllocEnd,0x80172A58,0x1C +asm/non_matchings/code/TwoHeadArena/THA_AllocEndAlign16.s,THA_AllocEndAlign16,0x80172AC8,0x8 +asm/non_matchings/code/TwoHeadArena/THA_AllocEndAlign.s,THA_AllocEndAlign,0x80172AE8,0x7 +asm/non_matchings/code/TwoHeadArena/THA_GetSize.s,THA_GetSize,0x80172B04,0x5 +asm/non_matchings/code/TwoHeadArena/THA_IsCrash.s,THA_IsCrash,0x80172B18,0x9 +asm/non_matchings/code/TwoHeadArena/THA_Init.s,THA_Init,0x80172B3C,0x7 +asm/non_matchings/code/TwoHeadArena/THA_Ct.s,THA_Ct,0x80172B58,0x11 +asm/non_matchings/code/TwoHeadArena/THA_Dt.s,THA_Dt,0x80172B9C,0x9 +asm/non_matchings/code/code_80172BC0/func_80172BC0.s,func_80172BC0,0x80172BC0,0x1C +asm/non_matchings/code/audioMgr/func_80172C30.s,func_80172C30,0x80172C30,0xE +asm/non_matchings/code/audioMgr/AudioMgr_HandleRetrace.s,AudioMgr_HandleRetrace,0x80172C68,0x91 +asm/non_matchings/code/audioMgr/AudioMgr_HandlePRENMI.s,AudioMgr_HandlePRENMI,0x80172EAC,0x9 +asm/non_matchings/code/audioMgr/AudioMgr_ThreadEntry.s,AudioMgr_ThreadEntry,0x80172ED0,0x5E +asm/non_matchings/code/audioMgr/AudioMgr_Unlock.s,AudioMgr_Unlock,0x80173048,0xB +asm/non_matchings/code/audioMgr/AudioMgr_Init.s,AudioMgr_Init,0x80173074,0x2F +asm/non_matchings/code/title_setup/TitleSetup_GameStateResetContext.s,TitleSetup_GameStateResetContext,0x80173130,0x6B +asm/non_matchings/code/title_setup/TitleSetup_InitImpl.s,TitleSetup_InitImpl,0x801732DC,0x14 +asm/non_matchings/code/title_setup/TitleSetup_Destroy.s,TitleSetup_Destroy,0x8017332C,0x3 +asm/non_matchings/code/title_setup/TitleSetup_Init.s,TitleSetup_Init,0x80173338,0xA +asm/non_matchings/code/game/Game_UpdateFramerateVariables.s,Game_UpdateFramerateVariables,0x80173360,0x12 +asm/non_matchings/code/game/Game_SetFramerateDivisor.s,Game_SetFramerateDivisor,0x801733A8,0xD +asm/non_matchings/code/game/GameState_SetFBFilter.s,GameState_SetFBFilter,0x801733DC,0x56 +asm/non_matchings/code/game/Game_Nop80173534.s,Game_Nop80173534,0x80173534,0x3 +asm/non_matchings/code/game/GameState_Draw.s,GameState_Draw,0x80173540,0x41 +asm/non_matchings/code/game/Game_ResetSegments.s,Game_ResetSegments,0x80173644,0x26 +asm/non_matchings/code/game/func_801736DC.s,func_801736DC,0x801736DC,0x1E +asm/non_matchings/code/game/Game_UpdateInput.s,Game_UpdateInput,0x80173754,0xA +asm/non_matchings/code/game/Game_Update.s,Game_Update,0x8017377C,0x1A +asm/non_matchings/code/game/Game_IncrementFrameCount.s,Game_IncrementFrameCount,0x801737E4,0xB +asm/non_matchings/code/game/Game_InitHeap.s,Game_InitHeap,0x80173810,0x1C +asm/non_matchings/code/game/Game_ResizeHeap.s,Game_ResizeHeap,0x80173880,0x34 +asm/non_matchings/code/game/Game_StateInit.s,Game_StateInit,0x80173950,0x40 +asm/non_matchings/code/game/Game_StateFini.s,Game_StateFini,0x80173A50,0x2C +asm/non_matchings/code/game/Game_GetNextStateInit.s,Game_GetNextStateInit,0x80173B00,0x3 +asm/non_matchings/code/game/Game_GetNextStateSize.s,Game_GetNextStateSize,0x80173B0C,0x3 +asm/non_matchings/code/game/Game_GetShouldContinue.s,Game_GetShouldContinue,0x80173B18,0x3 +asm/non_matchings/code/game/Game_GetHeapFreeSize.s,Game_GetHeapFreeSize,0x80173B24,0x9 +asm/non_matchings/code/game/func_80173B48.s,func_80173B48,0x80173B48,0x2A +asm/non_matchings/code/gamealloc/func_80173BF0.s,func_80173BF0,0x80173BF0,0x8 +asm/non_matchings/code/gamealloc/Gamealloc_Alloc.s,Gamealloc_Alloc,0x80173C10,0x1B +asm/non_matchings/code/gamealloc/Gamealloc_Free.s,Gamealloc_Free,0x80173C7C,0x13 +asm/non_matchings/code/gamealloc/Gamealloc_FreeAll.s,Gamealloc_FreeAll,0x80173CC8,0x14 +asm/non_matchings/code/gamealloc/Gamealloc_Init.s,Gamealloc_Init,0x80173D18,0x6 +asm/non_matchings/code/graph/Graph_FaultClient.s,Graph_FaultClient,0x80173D30,0x1F +asm/non_matchings/code/graph/Graph_DlAlloc.s,Graph_DlAlloc,0x80173DAC,0x8 +asm/non_matchings/code/graph/Graph_InitTHGA.s,Graph_InitTHGA,0x80173DCC,0x73 +asm/non_matchings/code/graph/Graph_GetNextGameState.s,Graph_GetNextGameState,0x80173F98,0x32 +asm/non_matchings/code/graph/Graph_FaultAddrConvFunc.s,Graph_FaultAddrConvFunc,0x80174060,0x1C +asm/non_matchings/code/graph/Graph_Init.s,Graph_Init,0x801740D0,0x29 +asm/non_matchings/code/graph/Graph_Destroy.s,Graph_Destroy,0x80174174,0xD +asm/non_matchings/code/graph/Graph_Render.s,Graph_Render,0x801741A8,0xC1 +asm/non_matchings/code/graph/Graph_FrameSetup.s,Graph_FrameSetup,0x801744AC,0x13 +asm/non_matchings/code/graph/Graph_RenderFrame.s,Graph_RenderFrame,0x801744F8,0xDC +asm/non_matchings/code/graph/Graph_DoFrame.s,Graph_DoFrame,0x80174868,0xE +asm/non_matchings/code/graph/Graph_ThreadEntry.s,Graph_ThreadEntry,0x801748A0,0x68 +asm/non_matchings/code/code_80174A40/Graph_GfxPlusOne.s,Graph_GfxPlusOne,0x80174A40,0x3 +asm/non_matchings/code/code_80174A40/Graph_BranchDlist.s,Graph_BranchDlist,0x80174A4C,0x6 +asm/non_matchings/code/code_80174A40/Graph_DlistAlloc.s,Graph_DlistAlloc,0x80174A64,0xF +asm/non_matchings/code/listalloc/func_80174AA0.s,func_80174AA0,0x80174AA0,0x5 +asm/non_matchings/code/listalloc/func_80174AB4.s,func_80174AB4,0x80174AB4,0x1B +asm/non_matchings/code/listalloc/func_80174B20.s,func_80174B20,0x80174B20,0x20 +asm/non_matchings/code/listalloc/func_80174BA0.s,func_80174BA0,0x80174BA0,0x14 +asm/non_matchings/code/main/main.s,main,0x80174BF0,0xC8 +asm/non_matchings/code/padmgr/Padmgr_GetControllerBitmask.s,Padmgr_GetControllerBitmask,0x80174F10,0x5 +asm/non_matchings/code/padmgr/func_80174F24.s,func_80174F24,0x80174F24,0x8 +asm/non_matchings/code/padmgr/func_80174F44.s,func_80174F44,0x80174F44,0xE +asm/non_matchings/code/padmgr/func_80174F7C.s,func_80174F7C,0x80174F7C,0x8 +asm/non_matchings/code/padmgr/func_80174F9C.s,func_80174F9C,0x80174F9C,0xE +asm/non_matchings/code/padmgr/Padmgr_GetEventCallback.s,Padmgr_GetEventCallback,0x80174FD4,0xD +asm/non_matchings/code/padmgr/func_80175008.s,func_80175008,0x80175008,0xD +asm/non_matchings/code/padmgr/Padmgr_SetEventCallback.s,Padmgr_SetEventCallback,0x8017503C,0xC +asm/non_matchings/code/padmgr/func_8017506C.s,func_8017506C,0x8017506C,0xC +asm/non_matchings/code/padmgr/Padmgr_Lock.s,Padmgr_Lock,0x8017509C,0xC +asm/non_matchings/code/padmgr/Padmgr_Unlock.s,Padmgr_Unlock,0x801750CC,0xC +asm/non_matchings/code/padmgr/func_801750FC.s,func_801750FC,0x801750FC,0x9A +asm/non_matchings/code/padmgr/func_80175364.s,func_80175364,0x80175364,0x34 +asm/non_matchings/code/padmgr/func_80175434.s,func_80175434,0x80175434,0x6 +asm/non_matchings/code/padmgr/func_8017544C.s,func_8017544C,0x8017544C,0xA +asm/non_matchings/code/padmgr/func_80175474.s,func_80175474,0x80175474,0x13 +asm/non_matchings/code/padmgr/func_801754C0.s,func_801754C0,0x801754C0,0x8 +asm/non_matchings/code/padmgr/Padmgr_CalcStickEdges.s,Padmgr_CalcStickEdges,0x801754E0,0xB1 +asm/non_matchings/code/padmgr/Padmgr_ParseState.s,Padmgr_ParseState,0x801757A4,0x86 +asm/non_matchings/code/padmgr/func_801759BC.s,func_801759BC,0x801759BC,0x49 +asm/non_matchings/code/padmgr/func_80175AE0.s,func_80175AE0,0x80175AE0,0x68 +asm/non_matchings/code/padmgr/Padmgr_Update.s,Padmgr_Update,0x80175C80,0x6F +asm/non_matchings/code/padmgr/Padmgr_Stop.s,Padmgr_Stop,0x80175E3C,0xB +asm/non_matchings/code/padmgr/func_80175E68.s,func_80175E68,0x80175E68,0x4C +asm/non_matchings/code/padmgr/Padmgr_GetInput.s,Padmgr_GetInput,0x80175F98,0xF +asm/non_matchings/code/padmgr/Padmgr_GetInput2.s,Padmgr_GetInput2,0x80175FD4,0xF +asm/non_matchings/code/padmgr/Padmgr_ThreadEntry.s,Padmgr_ThreadEntry,0x80176010,0x61 +asm/non_matchings/code/padmgr/Padmgr_Start.s,Padmgr_Start,0x80176194,0x3B +asm/non_matchings/code/sched/func_80176280.s,func_80176280,0x80176280,0x25 +asm/non_matchings/code/sched/func_80176314.s,func_80176314,0x80176314,0x14 +asm/non_matchings/code/sched/Sched_Nop80176364.s,Sched_Nop80176364,0x80176364,0x3 +asm/non_matchings/code/sched/func_80176370.s,func_80176370,0x80176370,0x9 +asm/non_matchings/code/sched/func_80176394.s,func_80176394,0x80176394,0x57 +asm/non_matchings/code/sched/func_801764F0.s,func_801764F0,0x801764F0,0x67 +asm/non_matchings/code/sched/func_8017668C.s,func_8017668C,0x8017668C,0x19 +asm/non_matchings/code/sched/func_801766F0.s,func_801766F0,0x801766F0,0x16 +asm/non_matchings/code/sched/func_80176748.s,func_80176748,0x80176748,0x1C +asm/non_matchings/code/sched/func_801767B8.s,func_801767B8,0x801767B8,0x4A +asm/non_matchings/code/sched/func_801768E0.s,func_801768E0,0x801768E0,0xF +asm/non_matchings/code/sched/func_8017691C.s,func_8017691C,0x8017691C,0x1B +asm/non_matchings/code/sched/func_80176988.s,func_80176988,0x80176988,0x6B +asm/non_matchings/code/sched/func_80176B34.s,func_80176B34,0x80176B34,0x3C +asm/non_matchings/code/sched/func_80176C24.s,func_80176C24,0x80176C24,0x34 +asm/non_matchings/code/sched/func_80176CF4.s,func_80176CF4,0x80176CF4,0x8E +asm/non_matchings/code/sched/func_80176F2C.s,func_80176F2C,0x80176F2C,0x3B +asm/non_matchings/code/sched/Sched_SendEntryMsg.s,Sched_SendEntryMsg,0x80177018,0x9 +asm/non_matchings/code/sched/func_8017703C.s,func_8017703C,0x8017703C,0x9 +asm/non_matchings/code/sched/func_80177060.s,func_80177060,0x80177060,0x9 +asm/non_matchings/code/sched/func_80177084.s,func_80177084,0x80177084,0x36 +asm/non_matchings/code/sched/Sched_ThreadEntry.s,Sched_ThreadEntry,0x8017715C,0x51 +asm/non_matchings/code/sched/Sched_Start.s,Sched_Start,0x801772A0,0x3C +asm/non_matchings/code/speed_meter/func_80177390.s,func_80177390,0x80177390,0x4 +asm/non_matchings/code/speed_meter/func_801773A0.s,func_801773A0,0x801773A0,0x9 +asm/non_matchings/code/speed_meter/func_801773C4.s,func_801773C4,0x801773C4,0x3 +asm/non_matchings/code/speed_meter/SpeedMeter_DrawTimeEntries.s,SpeedMeter_DrawTimeEntries,0x801773D0,0x1AD +asm/non_matchings/code/speed_meter/func_80177A84.s,func_80177A84,0x80177A84,0x11 +asm/non_matchings/code/speed_meter/func_80177AC8.s,func_80177AC8,0x80177AC8,0xE4 +asm/non_matchings/code/speed_meter/SpeedMeter_DrawAllocEntries.s,SpeedMeter_DrawAllocEntries,0x80177E58,0xA6 +asm/non_matchings/code/speed_meter/func_801780F0.s,func_801780F0,0x801780F0,0x3F +asm/non_matchings/code/speed_meter/func_801781EC.s,func_801781EC,0x801781EC,0x90 +asm/non_matchings/code/speed_meter/func_8017842C.s,func_8017842C,0x8017842C,0xC9 +asm/non_matchings/code/sys_cmpdma/func_80178750.s,func_80178750,0x80178750,0x32 +asm/non_matchings/code/sys_cmpdma/func_80178818.s,func_80178818,0x80178818,0x58 +asm/non_matchings/code/sys_cmpdma/func_80178978.s,func_80178978,0x80178978,0x17 +asm/non_matchings/code/sys_cmpdma/func_801789D4.s,func_801789D4,0x801789D4,0x6 +asm/non_matchings/code/sys_cmpdma/get_framebuffer.s,get_framebuffer,0x801789EC,0xA +asm/non_matchings/code/sys_cmpdma/get_zbuffer.s,get_zbuffer,0x80178A14,0x4 +asm/non_matchings/code/sys_cmpdma/func_80178A24.s,func_80178A24,0x80178A24,0x4 +asm/non_matchings/code/sys_cmpdma/func_80178A34.s,func_80178A34,0x80178A34,0x18 +asm/non_matchings/code/sys_cmpdma/func_80178A94.s,func_80178A94,0x80178A94,0xB +asm/non_matchings/code/sys_cmpdma/func_80178AC0.s,func_80178AC0,0x80178AC0,0x70 +asm/non_matchings/code/sys_cmpdma/func_80178C80.s,func_80178C80,0x80178C80,0x3F +asm/non_matchings/code/sys_cmpdma/func_80178D7C.s,func_80178D7C,0x80178D7C,0xC +asm/non_matchings/code/sys_cmpdma/func_80178DAC.s,func_80178DAC,0x80178DAC,0x24 +asm/non_matchings/code/sys_cmpdma/func_80178E3C.s,func_80178E3C,0x80178E3C,0x10 +asm/non_matchings/code/sys_cmpdma/func_80178E7C.s,func_80178E7C,0x80178E7C,0x2D +asm/non_matchings/code/sys_initial_check/Check_WriteRGB5A1Pixel.s,Check_WriteRGB5A1Pixel,0x80178F30,0xC +asm/non_matchings/code/sys_initial_check/Check_WriteI4Pixel.s,Check_WriteI4Pixel,0x80178F60,0x10 +asm/non_matchings/code/sys_initial_check/Check_DrawI4Texture.s,Check_DrawI4Texture,0x80178FA0,0x3C +asm/non_matchings/code/sys_initial_check/Check_ClearRGB5A1.s,Check_ClearRGB5A1,0x80179090,0x1F +asm/non_matchings/code/sys_initial_check/Check_DrawExpansionPakErrorMessage.s,Check_DrawExpansionPakErrorMessage,0x8017910C,0x30 +asm/non_matchings/code/sys_initial_check/Check_DrawRegionLockErrorMessage.s,Check_DrawRegionLockErrorMessage,0x801791CC,0x25 +asm/non_matchings/code/sys_initial_check/Check_ExpansionPak.s,Check_ExpansionPak,0x80179260,0x11 +asm/non_matchings/code/sys_initial_check/Check_RegionIsSupported.s,Check_RegionIsSupported,0x801792A4,0x17 +asm/non_matchings/code/sys_math/func_80179300.s,func_80179300,0x80179300,0x40 +asm/non_matchings/code/sys_math/func_80179400.s,func_80179400,0x80179400,0x31 +asm/non_matchings/code/sys_math/pow_int.s,pow_int,0x801794C4,0xA +asm/non_matchings/code/sys_math/sin_rad.s,sin_rad,0x801794EC,0x15 +asm/non_matchings/code/sys_math/cos_rad.s,cos_rad,0x80179540,0x15 +asm/non_matchings/code/sys_math/Rand_ZeroFloat.s,Rand_ZeroFloat,0x80179594,0xB +asm/non_matchings/code/sys_math/randPlusMinusPoint5Scaled.s,randPlusMinusPoint5Scaled,0x801795C0,0xC +asm/non_matchings/code/sys_math3d/Math3D_Normalize.s,Math3D_Normalize,0x801795F0,0x22 +asm/non_matchings/code/sys_math3d/func_80179678.s,func_80179678,0x80179678,0x48 +asm/non_matchings/code/sys_math3d/func_80179798.s,func_80179798,0x80179798,0xAB +asm/non_matchings/code/sys_math3d/func_80179A44.s,func_80179A44,0x80179A44,0x3C +asm/non_matchings/code/sys_math3d/func_80179B34.s,func_80179B34,0x80179B34,0x18 +asm/non_matchings/code/sys_math3d/func_80179B94.s,func_80179B94,0x80179B94,0x78 +asm/non_matchings/code/sys_math3d/func_80179D74.s,func_80179D74,0x80179D74,0x1F +asm/non_matchings/code/sys_math3d/Math3D_ScaleAndAdd.s,Math3D_ScaleAndAdd,0x80179DF0,0x13 +asm/non_matchings/code/sys_math3d/Math3D_Lerp.s,Math3D_Lerp,0x80179E3C,0x13 +asm/non_matchings/code/sys_math3d/Math3D_Parallel.s,Math3D_Parallel,0x80179E88,0x9 +asm/non_matchings/code/sys_math3d/Math3D_AngleBetweenVectors.s,Math3D_AngleBetweenVectors,0x80179EAC,0x2E +asm/non_matchings/code/sys_math3d/func_80179F64.s,func_80179F64,0x80179F64,0x35 +asm/non_matchings/code/sys_math3d/Math3D_XZBoundCheck.s,Math3D_XZBoundCheck,0x8017A038,0x19 +asm/non_matchings/code/sys_math3d/func_8017A09C.s,func_8017A09C,0x8017A09C,0x4D +asm/non_matchings/code/sys_math3d/func_8017A1D0.s,func_8017A1D0,0x8017A1D0,0x4D +asm/non_matchings/code/sys_math3d/func_8017A304.s,func_8017A304,0x8017A304,0x4D +asm/non_matchings/code/sys_math3d/func_8017A438.s,func_8017A438,0x8017A438,0x70 +asm/non_matchings/code/sys_math3d/Math3D_XZLengthSquared.s,Math3D_XZLengthSquared,0x8017A5F8,0x6 +asm/non_matchings/code/sys_math3d/Math3D_XZLength.s,Math3D_XZLength,0x8017A610,0x9 +asm/non_matchings/code/sys_math3d/Math3D_XZDistanceSquared.s,Math3D_XZDistanceSquared,0x8017A634,0x11 +asm/non_matchings/code/sys_math3d/Math3D_XZDistance.s,Math3D_XZDistance,0x8017A678,0xC +asm/non_matchings/code/sys_math3d/Math3D_LengthSquared.s,Math3D_LengthSquared,0x8017A6A8,0xB +asm/non_matchings/code/sys_math3d/Math3D_Vec3fMagnitude.s,Math3D_Vec3fMagnitude,0x8017A6D4,0x9 +asm/non_matchings/code/sys_math3d/Math3D_DistanceSquared.s,Math3D_DistanceSquared,0x8017A6F8,0xA +asm/non_matchings/code/sys_math3d/Math3D_Distance.s,Math3D_Distance,0x8017A720,0x8 +asm/non_matchings/code/sys_math3d/Math3D_DistanceS.s,Math3D_DistanceS,0x8017A740,0x1E +asm/non_matchings/code/sys_math3d/func_8017A7B8.s,func_8017A7B8,0x8017A7B8,0x10 +asm/non_matchings/code/sys_math3d/func_8017A7F8.s,func_8017A7F8,0x8017A7F8,0x10 +asm/non_matchings/code/sys_math3d/func_8017A838.s,func_8017A838,0x8017A838,0x10 +asm/non_matchings/code/sys_math3d/Math3D_CrossProduct.s,Math3D_CrossProduct,0x8017A878,0x1D +asm/non_matchings/code/sys_math3d/Math3D_NormalVector.s,Math3D_NormalVector,0x8017A8EC,0x1A +asm/non_matchings/code/sys_math3d/func_8017A954.s,func_8017A954,0x8017A954,0x2E +asm/non_matchings/code/sys_math3d/func_8017AA0C.s,func_8017AA0C,0x8017AA0C,0x6C +asm/non_matchings/code/sys_math3d/func_8017ABBC.s,func_8017ABBC,0x8017ABBC,0x5F +asm/non_matchings/code/sys_math3d/func_8017AD38.s,func_8017AD38,0x8017AD38,0x255 +asm/non_matchings/code/sys_math3d/func_8017B68C.s,func_8017B68C,0x8017B68C,0x5B +asm/non_matchings/code/sys_math3d/func_8017B7F8.s,func_8017B7F8,0x8017B7F8,0x23 +asm/non_matchings/code/sys_math3d/Math3D_UnitNormalVector.s,Math3D_UnitNormalVector,0x8017B884,0x45 +asm/non_matchings/code/sys_math3d/Math3D_SignedDistanceFromPlane.s,Math3D_SignedDistanceFromPlane,0x8017B998,0x10 +asm/non_matchings/code/sys_math3d/func_8017B9D8.s,func_8017B9D8,0x8017B9D8,0xF +asm/non_matchings/code/sys_math3d/Math3D_NormalizedDistanceFromPlane.s,Math3D_NormalizedDistanceFromPlane,0x8017BA14,0xE +asm/non_matchings/code/sys_math3d/Math3D_NormalizedSignedDistanceFromPlane.s,Math3D_NormalizedSignedDistanceFromPlane,0x8017BA4C,0x21 +asm/non_matchings/code/sys_math3d/func_8017BAD0.s,func_8017BAD0,0x8017BAD0,0xB2 +asm/non_matchings/code/sys_math3d/func_8017BD98.s,func_8017BD98,0x8017BD98,0x12 +asm/non_matchings/code/sys_math3d/func_8017BDE0.s,func_8017BDE0,0x8017BDE0,0x14 +asm/non_matchings/code/sys_math3d/func_8017BE30.s,func_8017BE30,0x8017BE30,0x2C +asm/non_matchings/code/sys_math3d/func_8017BEE0.s,func_8017BEE0,0x8017BEE0,0x2B +asm/non_matchings/code/sys_math3d/func_8017BF8C.s,func_8017BF8C,0x8017BF8C,0x1F +asm/non_matchings/code/sys_math3d/func_8017C008.s,func_8017C008,0x8017C008,0x5D +asm/non_matchings/code/sys_math3d/func_8017C17C.s,func_8017C17C,0x8017C17C,0x1D +asm/non_matchings/code/sys_math3d/func_8017C1F0.s,func_8017C1F0,0x8017C1F0,0xA9 +asm/non_matchings/code/sys_math3d/func_8017C494.s,func_8017C494,0x8017C494,0x2B +asm/non_matchings/code/sys_math3d/func_8017C540.s,func_8017C540,0x8017C540,0xB2 +asm/non_matchings/code/sys_math3d/func_8017C808.s,func_8017C808,0x8017C808,0x12 +asm/non_matchings/code/sys_math3d/func_8017C850.s,func_8017C850,0x8017C850,0x2D +asm/non_matchings/code/sys_math3d/func_8017C904.s,func_8017C904,0x8017C904,0x1F +asm/non_matchings/code/sys_math3d/func_8017C980.s,func_8017C980,0x8017C980,0x62 +asm/non_matchings/code/sys_math3d/func_8017CB08.s,func_8017CB08,0x8017CB08,0x1D +asm/non_matchings/code/sys_math3d/func_8017CB7C.s,func_8017CB7C,0x8017CB7C,0xCB +asm/non_matchings/code/sys_math3d/func_8017CEA8.s,func_8017CEA8,0x8017CEA8,0x12 +asm/non_matchings/code/sys_math3d/func_8017CEF0.s,func_8017CEF0,0x8017CEF0,0x2D +asm/non_matchings/code/sys_math3d/func_8017CFA4.s,func_8017CFA4,0x8017CFA4,0x1F +asm/non_matchings/code/sys_math3d/func_8017D020.s,func_8017D020,0x8017D020,0x63 +asm/non_matchings/code/sys_math3d/func_8017D1AC.s,func_8017D1AC,0x8017D1AC,0x1D +asm/non_matchings/code/sys_math3d/func_8017D220.s,func_8017D220,0x8017D220,0x37 +asm/non_matchings/code/sys_math3d/func_8017D2FC.s,func_8017D2FC,0x8017D2FC,0x42 +asm/non_matchings/code/sys_math3d/func_8017D404.s,func_8017D404,0x8017D404,0x59 +asm/non_matchings/code/sys_math3d/Math3D_TriSetCoords.s,Math3D_TriSetCoords,0x8017D568,0x2C +asm/non_matchings/code/sys_math3d/Math3D_IsPointInSphere.s,Math3D_IsPointInSphere,0x8017D618,0x14 +asm/non_matchings/code/sys_math3d/func_8017D668.s,func_8017D668,0x8017D668,0x56 +asm/non_matchings/code/sys_math3d/func_8017D7C0.s,func_8017D7C0,0x8017D7C0,0x15 +asm/non_matchings/code/sys_math3d/func_8017D814.s,func_8017D814,0x8017D814,0x42 +asm/non_matchings/code/sys_math3d/func_8017D91C.s,func_8017D91C,0x8017D91C,0x42 +asm/non_matchings/code/sys_math3d/func_8017DA24.s,func_8017DA24,0x8017DA24,0x42 +asm/non_matchings/code/sys_math3d/Math3D_ColSphereLineSeg.s,Math3D_ColSphereLineSeg,0x8017DB2C,0x82 +asm/non_matchings/code/sys_math3d/func_8017DD34.s,func_8017DD34,0x8017DD34,0x50 +asm/non_matchings/code/sys_math3d/Math3D_ColSphereTri.s,Math3D_ColSphereTri,0x8017DE74,0x108 +asm/non_matchings/code/sys_math3d/func_8017E294.s,func_8017E294,0x8017E294,0x2F +asm/non_matchings/code/sys_math3d/func_8017E350.s,func_8017E350,0x8017E350,0x274 +asm/non_matchings/code/sys_math3d/Math3D_ColCylinderTri.s,Math3D_ColCylinderTri,0x8017ED20,0x120 +asm/non_matchings/code/sys_math3d/func_8017F1A0.s,func_8017F1A0,0x8017F1A0,0x8 +asm/non_matchings/code/sys_math3d/Math3D_ColSphereSphere.s,Math3D_ColSphereSphere,0x8017F1C0,0x8 +asm/non_matchings/code/sys_math3d/Math3D_ColSphereSphereIntersect.s,Math3D_ColSphereSphereIntersect,0x8017F1E0,0x8 +asm/non_matchings/code/sys_math3d/Math3D_ColSphereSphereIntersectAndDistance.s,Math3D_ColSphereSphereIntersectAndDistance,0x8017F200,0x33 +asm/non_matchings/code/sys_math3d/Math3D_ColSphereCylinderDistance.s,Math3D_ColSphereCylinderDistance,0x8017F2CC,0x8 +asm/non_matchings/code/sys_math3d/Math3D_ColSphereCylinderDistanceAndAmount.s,Math3D_ColSphereCylinderDistanceAndAmount,0x8017F2EC,0x5C +asm/non_matchings/code/sys_math3d/Math3D_ColCylinderCylinderAmount.s,Math3D_ColCylinderCylinderAmount,0x8017F45C,0x8 +asm/non_matchings/code/sys_math3d/Math3D_ColCylinderCylinderAmountAndDistance.s,Math3D_ColCylinderCylinderAmountAndDistance,0x8017F47C,0x74 +asm/non_matchings/code/sys_math3d/Math3d_ColTriTri.s,Math3d_ColTriTri,0x8017F64C,0xDD +asm/non_matchings/code/sys_math3d/func_8017F9C0.s,func_8017F9C0,0x8017F9C0,0x1D +asm/non_matchings/code/sys_math3d/func_8017FA34.s,func_8017FA34,0x8017FA34,0x1D +asm/non_matchings/code/sys_math3d/func_8017FAA8.s,func_8017FAA8,0x8017FAA8,0x1D +asm/non_matchings/code/sys_math3d/func_8017FB1C.s,func_8017FB1C,0x8017FB1C,0x8A +asm/non_matchings/code/sys_math3d/func_8017FD44.s,func_8017FD44,0x8017FD44,0x5B +asm/non_matchings/code/sys_math_atan/Math_GetAtan2Tbl.s,Math_GetAtan2Tbl,0x8017FEB0,0xD +asm/non_matchings/code/sys_math_atan/Math_Atan2S.s,Math_Atan2S,0x8017FEE4,0x7A +asm/non_matchings/code/sys_math_atan/Math_Atan2F.s,Math_Atan2F,0x801800CC,0xD +asm/non_matchings/code/sys_math_atan/Math_FAtan2F.s,Math_FAtan2F,0x80180100,0xB +asm/non_matchings/code/sys_math_atan/Math_Acot2F.s,Math_Acot2F,0x8018012C,0xD +asm/non_matchings/code/sys_matrix/SysMatrix_StateAlloc.s,SysMatrix_StateAlloc,0x80180160,0xF +asm/non_matchings/code/sys_matrix/SysMatrix_StatePush.s,SysMatrix_StatePush,0x8018019C,0xC +asm/non_matchings/code/sys_matrix/SysMatrix_StatePop.s,SysMatrix_StatePop,0x801801CC,0x7 +asm/non_matchings/code/sys_matrix/SysMatrix_CopyCurrentState.s,SysMatrix_CopyCurrentState,0x801801E8,0x9 +asm/non_matchings/code/sys_matrix/SysMatrix_SetCurrentState.s,SysMatrix_SetCurrentState,0x8018020C,0xA +asm/non_matchings/code/sys_matrix/SysMatrix_GetCurrentState.s,SysMatrix_GetCurrentState,0x80180234,0x4 +asm/non_matchings/code/sys_matrix/SysMatrix_InsertMatrix.s,SysMatrix_InsertMatrix,0x80180244,0x16 +asm/non_matchings/code/sys_matrix/SysMatrix_InsertTranslation.s,SysMatrix_InsertTranslation,0x8018029C,0x40 +asm/non_matchings/code/sys_matrix/Matrix_Scale.s,Matrix_Scale,0x8018039C,0x37 +asm/non_matchings/code/sys_matrix/SysMatrix_InsertXRotation_s.s,SysMatrix_InsertXRotation_s,0x80180478,0x66 +asm/non_matchings/code/sys_matrix/SysMatrix_InsertXRotation_f.s,SysMatrix_InsertXRotation_f,0x80180610,0x6A +asm/non_matchings/code/sys_matrix/SysMatrix_RotateStateAroundXAxis.s,SysMatrix_RotateStateAroundXAxis,0x801807B8,0x52 +asm/non_matchings/code/sys_matrix/SysMatrix_SetStateXRotation.s,SysMatrix_SetStateXRotation,0x80180900,0x2B +asm/non_matchings/code/sys_matrix/Matrix_RotateY.s,Matrix_RotateY,0x801809AC,0x67 +asm/non_matchings/code/sys_matrix/SysMatrix_InsertYRotation_f.s,SysMatrix_InsertYRotation_f,0x80180B48,0x6C +asm/non_matchings/code/sys_matrix/SysMatrix_InsertZRotation_s.s,SysMatrix_InsertZRotation_s,0x80180CF8,0x66 +asm/non_matchings/code/sys_matrix/SysMatrix_InsertZRotation_f.s,SysMatrix_InsertZRotation_f,0x80180E90,0x6B +asm/non_matchings/code/sys_matrix/SysMatrix_InsertRotation.s,SysMatrix_InsertRotation,0x8018103C,0xB0 +asm/non_matchings/code/sys_matrix/SysMatrix_RotateAndTranslateState.s,SysMatrix_RotateAndTranslateState,0x801812FC,0xD5 +asm/non_matchings/code/sys_matrix/SysMatrix_SetStateRotationAndTranslation.s,SysMatrix_SetStateRotationAndTranslation,0x80181650,0x6B +asm/non_matchings/code/sys_matrix/SysMatrix_ToRSPMatrix.s,SysMatrix_ToRSPMatrix,0x801817FC,0x87 +asm/non_matchings/code/sys_matrix/SysMatrix_GetStateAsRSPMatrix.s,SysMatrix_GetStateAsRSPMatrix,0x80181A18,0xA +asm/non_matchings/code/sys_matrix/Matrix_NewMtx.s,Matrix_NewMtx,0x80181A40,0xB +asm/non_matchings/code/sys_matrix/SysMatrix_AppendToPolyOpaDisp.s,SysMatrix_AppendToPolyOpaDisp,0x80181A6C,0xB +asm/non_matchings/code/sys_matrix/SysMatrix_MultiplyVector3fByState.s,SysMatrix_MultiplyVector3fByState,0x80181A98,0x2E +asm/non_matchings/code/sys_matrix/SysMatrix_GetStateTranslation.s,SysMatrix_GetStateTranslation,0x80181B50,0xA +asm/non_matchings/code/sys_matrix/SysMatrix_GetStateTranslationAndScaledX.s,SysMatrix_GetStateTranslationAndScaledX,0x80181B78,0x13 +asm/non_matchings/code/sys_matrix/SysMatrix_GetStateTranslationAndScaledY.s,SysMatrix_GetStateTranslationAndScaledY,0x80181BC4,0x13 +asm/non_matchings/code/sys_matrix/SysMatrix_GetStateTranslationAndScaledZ.s,SysMatrix_GetStateTranslationAndScaledZ,0x80181C10,0x13 +asm/non_matchings/code/sys_matrix/SysMatrix_MultiplyVector3fXZByCurrentState.s,SysMatrix_MultiplyVector3fXZByCurrentState,0x80181C5C,0x20 +asm/non_matchings/code/sys_matrix/Matrix_MtxFCopy.s,Matrix_MtxFCopy,0x80181CDC,0x22 +asm/non_matchings/code/sys_matrix/SysMatrix_FromRSPMatrix.s,SysMatrix_FromRSPMatrix,0x80181D64,0x95 +asm/non_matchings/code/sys_matrix/SysMatrix_MultiplyVector3fByMatrix.s,SysMatrix_MultiplyVector3fByMatrix,0x80181FB8,0x2C +asm/non_matchings/code/sys_matrix/SysMatrix_TransposeXYZ.s,SysMatrix_TransposeXYZ,0x80182068,0xE +asm/non_matchings/code/sys_matrix/SysMatrix_NormalizeXYZ.s,SysMatrix_NormalizeXYZ,0x801820A0,0x3F +asm/non_matchings/code/sys_matrix/func_8018219C.s,func_8018219C,0x8018219C,0x4A +asm/non_matchings/code/sys_matrix/func_801822C4.s,func_801822C4,0x801822C4,0x4A +asm/non_matchings/code/sys_matrix/SysMatrix_InsertRotationAroundUnitVector_f.s,SysMatrix_InsertRotationAroundUnitVector_f,0x801823EC,0x118 +asm/non_matchings/code/sys_matrix/SysMatrix_InsertRotationAroundUnitVector_s.s,SysMatrix_InsertRotationAroundUnitVector_s,0x8018284C,0x111 +asm/non_matchings/code/sys_matrix/func_80182C90.s,func_80182C90,0x80182C90,0x4 +asm/non_matchings/code/sys_matrix/func_80182CA0.s,func_80182CA0,0x80182CA0,0x7 +asm/non_matchings/code/sys_matrix/func_80182CBC.s,func_80182CBC,0x80182CBC,0x4 +asm/non_matchings/code/sys_matrix/func_80182CCC.s,func_80182CCC,0x80182CCC,0x5 +asm/non_matchings/code/sys_ucode/func_80182CE0.s,func_80182CE0,0x80182CE0,0xD0 +asm/non_matchings/code/sys_ucode/func_80183020.s,func_80183020,0x80183020,0xE +asm/non_matchings/code/sys_ucode/func_80183058.s,func_80183058,0x80183058,0x6 +asm/non_matchings/code/code_80183070/func_80183070.s,func_80183070,0x80183070,0xC +asm/non_matchings/code/c_keyframe/func_801830A0.s,func_801830A0,0x801830A0,0xA +asm/non_matchings/code/c_keyframe/func_801830C8.s,func_801830C8,0x801830C8,0x8 +asm/non_matchings/code/c_keyframe/func_801830E8.s,func_801830E8,0x801830E8,0x18 +asm/non_matchings/code/c_keyframe/func_80183148.s,func_80183148,0x80183148,0x37 +asm/non_matchings/code/c_keyframe/func_80183224.s,func_80183224,0x80183224,0x23 +asm/non_matchings/code/c_keyframe/func_801832B0.s,func_801832B0,0x801832B0,0x1F +asm/non_matchings/code/c_keyframe/func_8018332C.s,func_8018332C,0x8018332C,0x38 +asm/non_matchings/code/c_keyframe/func_8018340C.s,func_8018340C,0x8018340C,0x9 +asm/non_matchings/code/c_keyframe/func_80183430.s,func_80183430,0x80183430,0x1B +asm/non_matchings/code/c_keyframe/func_8018349C.s,func_8018349C,0x8018349C,0x3 +asm/non_matchings/code/c_keyframe/func_801834A8.s,func_801834A8,0x801834A8,0x1A +asm/non_matchings/code/c_keyframe/func_80183510.s,func_80183510,0x80183510,0x1C +asm/non_matchings/code/c_keyframe/func_80183580.s,func_80183580,0x80183580,0x1B +asm/non_matchings/code/c_keyframe/func_801835EC.s,func_801835EC,0x801835EC,0x1B +asm/non_matchings/code/c_keyframe/func_80183658.s,func_80183658,0x80183658,0x1D +asm/non_matchings/code/c_keyframe/func_801836CC.s,func_801836CC,0x801836CC,0x1C +asm/non_matchings/code/c_keyframe/func_8018373C.s,func_8018373C,0x8018373C,0x24 +asm/non_matchings/code/c_keyframe/func_801837CC.s,func_801837CC,0x801837CC,0xF +asm/non_matchings/code/c_keyframe/func_80183808.s,func_80183808,0x80183808,0x1E +asm/non_matchings/code/c_keyframe/func_80183880.s,func_80183880,0x80183880,0x6F +asm/non_matchings/code/c_keyframe/func_80183A3C.s,func_80183A3C,0x80183A3C,0x33 +asm/non_matchings/code/c_keyframe/func_80183B08.s,func_80183B08,0x80183B08,0x18 +asm/non_matchings/code/c_keyframe/func_80183B68.s,func_80183B68,0x80183B68,0x9E +asm/non_matchings/code/c_keyframe/func_80183DE0.s,func_80183DE0,0x80183DE0,0xCB +asm/non_matchings/code/c_keyframe/func_8018410C.s,func_8018410C,0x8018410C,0x100 +asm/non_matchings/code/c_keyframe/func_8018450C.s,func_8018450C,0x8018450C,0x26 +asm/non_matchings/code/c_keyframe/func_801845A4.s,func_801845A4,0x801845A4,0x9 +asm/non_matchings/code/c_keyframe/func_801845C8.s,func_801845C8,0x801845C8,0x19 +asm/non_matchings/code/c_keyframe/func_8018462C.s,func_8018462C,0x8018462C,0x3 +asm/non_matchings/code/c_keyframe/func_80184638.s,func_80184638,0x80184638,0x1D +asm/non_matchings/code/c_keyframe/func_801846AC.s,func_801846AC,0x801846AC,0x1F +asm/non_matchings/code/c_keyframe/func_80184728.s,func_80184728,0x80184728,0x1E +asm/non_matchings/code/c_keyframe/func_801847A0.s,func_801847A0,0x801847A0,0x1E +asm/non_matchings/code/c_keyframe/func_80184818.s,func_80184818,0x80184818,0x20 +asm/non_matchings/code/c_keyframe/func_80184898.s,func_80184898,0x80184898,0x1F +asm/non_matchings/code/c_keyframe/func_80184914.s,func_80184914,0x80184914,0x23 +asm/non_matchings/code/c_keyframe/func_801849A0.s,func_801849A0,0x801849A0,0xF +asm/non_matchings/code/c_keyframe/func_801849DC.s,func_801849DC,0x801849DC,0x9B +asm/non_matchings/code/c_keyframe/func_80184C48.s,func_80184C48,0x80184C48,0x116 +asm/non_matchings/code/c_keyframe/func_801850A0.s,func_801850A0,0x801850A0,0xCA +asm/non_matchings/code/c_keyframe/func_801853C8.s,func_801853C8,0x801853C8,0x26 +asm/non_matchings/code/c_keyframe/func_80185460.s,func_80185460,0x80185460,0x80 +asm/non_matchings/code/sys_slowly/Slowly_Main.s,Slowly_Main,0x80185660,0x27 +asm/non_matchings/code/sys_slowly/Slowly_ThreadEntry.s,Slowly_ThreadEntry,0x801856FC,0x8 +asm/non_matchings/code/sys_slowly/Slowly_Start.s,Slowly_Start,0x8018571C,0x21 +asm/non_matchings/code/sys_slowly/Slowly_Stop.s,Slowly_Stop,0x801857A0,0x8 +asm/non_matchings/code/sys_flashrom/func_801857C0.s,func_801857C0,0x801857C0,0x4 +asm/non_matchings/code/sys_flashrom/func_801857D0.s,func_801857D0,0x801857D0,0x25 +asm/non_matchings/code/sys_flashrom/func_80185864.s,func_80185864,0x80185864,0x29 +asm/non_matchings/code/sys_flashrom/func_80185908.s,func_80185908,0x80185908,0x18 +asm/non_matchings/code/sys_flashrom/func_80185968.s,func_80185968,0x80185968,0x22 +asm/non_matchings/code/sys_flashrom/func_801859F0.s,func_801859F0,0x801859F0,0xF +asm/non_matchings/code/sys_flashrom/func_80185A2C.s,func_80185A2C,0x80185A2C,0x3C +asm/non_matchings/code/sys_flashrom/func_80185B1C.s,func_80185B1C,0x80185B1C,0x32 +asm/non_matchings/code/sys_flashrom/func_80185BE4.s,func_80185BE4,0x80185BE4,0x10 +asm/non_matchings/code/sys_flashrom/func_80185C24.s,func_80185C24,0x80185C24,0x47 +asm/non_matchings/code/sys_flashrom/SysFlashrom_ThreadEntry.s,SysFlashrom_ThreadEntry,0x80185D40,0x27 +asm/non_matchings/code/sys_flashrom/func_80185DDC.s,func_80185DDC,0x80185DDC,0x3A +asm/non_matchings/code/sys_flashrom/func_80185EC4.s,func_80185EC4,0x80185EC4,0x10 +asm/non_matchings/code/sys_flashrom/func_80185F04.s,func_80185F04,0x80185F04,0x18 +asm/non_matchings/code/sys_flashrom/func_80185F64.s,func_80185F64,0x80185F64,0xB +asm/non_matchings/code/code_80185F90/func_80185F90.s,func_80185F90,0x80185F90,0x26 +asm/non_matchings/code/osFlash/func_80186A70.s,func_80186A70,0x80186A70,0x12 +asm/non_matchings/code/osFlash/func_80186AB8.s,func_80186AB8,0x80186AB8,0x1C +asm/non_matchings/code/osFlash/func_80186B28.s,func_80186B28,0x80186B28,0x2 +asm/non_matchings/code/osFlash/func_80186B30.s,func_80186B30,0x80186B30,0x2 +asm/non_matchings/code/osFlash/func_80186B38.s,func_80186B38,0x80186B38,0xC +asm/non_matchings/code/osFlash/func_80186B68.s,func_80186B68,0x80186B68,0x2 +asm/non_matchings/code/osFlash/func_80186B70.s,func_80186B70,0x80186B70,0x2 +asm/non_matchings/code/osFlash/func_80186B78.s,func_80186B78,0x80186B78,0x4D +asm/non_matchings/code/osFlash/func_80186CAC.s,func_80186CAC,0x80186CAC,0x2D +asm/non_matchings/code/osFlash/func_80186D60.s,func_80186D60,0x80186D60,0x41 +asm/non_matchings/code/osFlash/func_80186E64.s,func_80186E64,0x80186E64,0x19 +asm/non_matchings/code/osFlash/func_80186EC8.s,func_80186EC8,0x80186EC8,0x54 +asm/non_matchings/code/osFlash/func_80187018.s,func_80187018,0x80187018,0x1A +asm/non_matchings/code/osFlash/func_80187080.s,func_80187080,0x80187080,0x29 +asm/non_matchings/code/osFlash/func_80187124.s,func_80187124,0x80187124,0x58 +asm/non_matchings/code/osFlash/func_80187284.s,func_80187284,0x80187284,0x1E +asm/non_matchings/code/osFlash/func_801872FC.s,func_801872FC,0x801872FC,0x30 +asm/non_matchings/code/osFlash/func_801873BC.s,func_801873BC,0x801873BC,0x5C +asm/non_matchings/code/osFlash/func_8018752C.s,func_8018752C,0x8018752C,0x9D +asm/non_matchings/code/audio_synthesis/func_801877D0.s,func_801877D0,0x801877D0,0xE5 +asm/non_matchings/code/audio_synthesis/func_80187B64.s,func_80187B64,0x80187B64,0x22 +asm/non_matchings/code/audio_synthesis/func_80187BEC.s,func_80187BEC,0x80187BEC,0x7F +asm/non_matchings/code/audio_synthesis/func_80187DE8.s,func_80187DE8,0x80187DE8,0x1C +asm/non_matchings/code/audio_synthesis/func_80187E58.s,func_80187E58,0x80187E58,0x2A +asm/non_matchings/code/audio_synthesis/func_80187F00.s,func_80187F00,0x80187F00,0x2A +asm/non_matchings/code/audio_synthesis/func_80187FA8.s,func_80187FA8,0x80187FA8,0x2 +asm/non_matchings/code/audio_synthesis/func_80187FB0.s,func_80187FB0,0x80187FB0,0x8 +asm/non_matchings/code/audio_synthesis/func_80187FD0.s,func_80187FD0,0x80187FD0,0x2 +asm/non_matchings/code/audio_synthesis/func_80187FD8.s,func_80187FD8,0x80187FD8,0x2 +asm/non_matchings/code/audio_synthesis/func_80187FE0.s,func_80187FE0,0x80187FE0,0x2 +asm/non_matchings/code/audio_synthesis/func_80187FE8.s,func_80187FE8,0x80187FE8,0xD +asm/non_matchings/code/audio_synthesis/func_8018801C.s,func_8018801C,0x8018801C,0x2 +asm/non_matchings/code/audio_synthesis/func_80188024.s,func_80188024,0x80188024,0x2 +asm/non_matchings/code/audio_synthesis/func_8018802C.s,func_8018802C,0x8018802C,0x2 +asm/non_matchings/code/audio_synthesis/func_80188034.s,func_80188034,0x80188034,0xD +asm/non_matchings/code/audio_synthesis/func_80188068.s,func_80188068,0x80188068,0x2 +asm/non_matchings/code/audio_synthesis/func_80188070.s,func_80188070,0x80188070,0x2 +asm/non_matchings/code/audio_synthesis/func_80188078.s,func_80188078,0x80188078,0xB +asm/non_matchings/code/audio_synthesis/func_801880A4.s,func_801880A4,0x801880A4,0x2 +asm/non_matchings/code/audio_synthesis/func_801880AC.s,func_801880AC,0x801880AC,0x2 +asm/non_matchings/code/audio_synthesis/func_801880B4.s,func_801880B4,0x801880B4,0x2 +asm/non_matchings/code/audio_synthesis/func_801880BC.s,func_801880BC,0x801880BC,0x2 +asm/non_matchings/code/audio_synthesis/func_801880C4.s,func_801880C4,0x801880C4,0x9 +asm/non_matchings/code/audio_synthesis/func_801880E8.s,func_801880E8,0x801880E8,0xD +asm/non_matchings/code/audio_synthesis/func_8018811C.s,func_8018811C,0x8018811C,0x2 +asm/non_matchings/code/audio_synthesis/func_80188124.s,func_80188124,0x80188124,0xA +asm/non_matchings/code/audio_synthesis/func_8018814C.s,func_8018814C,0x8018814C,0xA +asm/non_matchings/code/audio_synthesis/func_80188174.s,func_80188174,0x80188174,0x7 +asm/non_matchings/code/audio_synthesis/func_80188190.s,func_80188190,0x80188190,0x2 +asm/non_matchings/code/audio_synthesis/func_80188198.s,func_80188198,0x80188198,0x2 +asm/non_matchings/code/audio_synthesis/func_801881A0.s,func_801881A0,0x801881A0,0x2 +asm/non_matchings/code/audio_synthesis/func_801881A8.s,func_801881A8,0x801881A8,0x7 +asm/non_matchings/code/audio_synthesis/func_801881C4.s,func_801881C4,0x801881C4,0xD +asm/non_matchings/code/audio_synthesis/func_801881F8.s,func_801881F8,0x801881F8,0xB +asm/non_matchings/code/audio_synthesis/func_80188224.s,func_80188224,0x80188224,0x2 +asm/non_matchings/code/audio_synthesis/func_8018822C.s,func_8018822C,0x8018822C,0x2 +asm/non_matchings/code/audio_synthesis/func_80188234.s,func_80188234,0x80188234,0x2 +asm/non_matchings/code/audio_synthesis/func_8018823C.s,func_8018823C,0x8018823C,0x2 +asm/non_matchings/code/audio_synthesis/func_80188244.s,func_80188244,0x80188244,0x2 +asm/non_matchings/code/audio_synthesis/func_8018824C.s,func_8018824C,0x8018824C,0x2 +asm/non_matchings/code/audio_synthesis/func_80188254.s,func_80188254,0x80188254,0x2 +asm/non_matchings/code/audio_synthesis/func_8018825C.s,func_8018825C,0x8018825C,0x2 +asm/non_matchings/code/audio_synthesis/func_80188264.s,func_80188264,0x80188264,0x9 +asm/non_matchings/code/audio_synthesis/func_80188288.s,func_80188288,0x80188288,0x6 +asm/non_matchings/code/audio_synthesis/func_801882A0.s,func_801882A0,0x801882A0,0x19 +asm/non_matchings/code/audio_synthesis/func_80188304.s,func_80188304,0x80188304,0x67 +asm/non_matchings/code/audio_synthesis/func_801884A0.s,func_801884A0,0x801884A0,0x7E +asm/non_matchings/code/audio_synthesis/func_80188698.s,func_80188698,0x80188698,0x69 +asm/non_matchings/code/audio_synthesis/func_8018883C.s,func_8018883C,0x8018883C,0x2A +asm/non_matchings/code/audio_synthesis/func_801888E4.s,func_801888E4,0x801888E4,0x30 +asm/non_matchings/code/audio_synthesis/func_801889A4.s,func_801889A4,0x801889A4,0x2B +asm/non_matchings/code/audio_synthesis/func_80188A50.s,func_80188A50,0x80188A50,0x2B +asm/non_matchings/code/audio_synthesis/func_80188AFC.s,func_80188AFC,0x80188AFC,0x53 +asm/non_matchings/code/audio_synthesis/func_80188C48.s,func_80188C48,0x80188C48,0x1B +asm/non_matchings/code/audio_synthesis/func_80188CB4.s,func_80188CB4,0x80188CB4,0x1B +asm/non_matchings/code/audio_synthesis/func_80188D20.s,func_80188D20,0x80188D20,0x2 +asm/non_matchings/code/audio_synthesis/func_80188D28.s,func_80188D28,0x80188D28,0x10 +asm/non_matchings/code/audio_synthesis/func_80188D68.s,func_80188D68,0x80188D68,0x1D +asm/non_matchings/code/audio_synthesis/func_80188DDC.s,func_80188DDC,0x80188DDC,0x78 +asm/non_matchings/code/audio_synthesis/func_80188FBC.s,func_80188FBC,0x80188FBC,0x2A +asm/non_matchings/code/audio_synthesis/func_80189064.s,func_80189064,0x80189064,0x16F +asm/non_matchings/code/audio_synthesis/func_80189620.s,func_80189620,0x80189620,0x3A5 +asm/non_matchings/code/audio_synthesis/func_8018A4B4.s,func_8018A4B4,0x8018A4B4,0xAD +asm/non_matchings/code/audio_synthesis/func_8018A768.s,func_8018A768,0x8018A768,0x28 +asm/non_matchings/code/audio_synthesis/func_8018A808.s,func_8018A808,0x8018A808,0x12F +asm/non_matchings/code/audio_synthesis/func_8018ACC4.s,func_8018ACC4,0x8018ACC4,0x5C +asm/non_matchings/code/audio_synthesis/func_8018AE34.s,func_8018AE34,0x8018AE34,0xAF +asm/non_matchings/code/audio_heap/func_8018B0F0.s,func_8018B0F0,0x8018B0F0,0x7 +asm/non_matchings/code/audio_heap/func_8018B10C.s,func_8018B10C,0x8018B10C,0x51 +asm/non_matchings/code/audio_heap/func_8018B250.s,func_8018B250,0x8018B250,0x32 +asm/non_matchings/code/audio_heap/func_8018B318.s,func_8018B318,0x8018B318,0x39 +asm/non_matchings/code/audio_heap/func_8018B3FC.s,func_8018B3FC,0x8018B3FC,0x1E +asm/non_matchings/code/audio_heap/func_8018B474.s,func_8018B474,0x8018B474,0x21 +asm/non_matchings/code/audio_heap/func_8018B4F8.s,func_8018B4F8,0x8018B4F8,0xA +asm/non_matchings/code/audio_heap/func_8018B520.s,func_8018B520,0x8018B520,0x16 +asm/non_matchings/code/audio_heap/func_8018B578.s,func_8018B578,0x8018B578,0x16 +asm/non_matchings/code/audio_heap/func_8018B5D0.s,func_8018B5D0,0x8018B5D0,0xE +asm/non_matchings/code/audio_heap/func_8018B608.s,func_8018B608,0x8018B608,0xE +asm/non_matchings/code/audio_heap/func_8018B640.s,func_8018B640,0x8018B640,0x17 +asm/non_matchings/code/audio_heap/func_8018B69C.s,func_8018B69C,0x8018B69C,0x13 +asm/non_matchings/code/audio_heap/func_8018B6E8.s,func_8018B6E8,0x8018B6E8,0x16 +asm/non_matchings/code/audio_heap/func_8018B740.s,func_8018B740,0x8018B740,0xA +asm/non_matchings/code/audio_heap/func_8018B768.s,func_8018B768,0x8018B768,0x5 +asm/non_matchings/code/audio_heap/func_8018B77C.s,func_8018B77C,0x8018B77C,0xC +asm/non_matchings/code/audio_heap/func_8018B7AC.s,func_8018B7AC,0x8018B7AC,0x4 +asm/non_matchings/code/audio_heap/func_8018B7BC.s,func_8018B7BC,0x8018B7BC,0x50 +asm/non_matchings/code/audio_heap/func_8018B8FC.s,func_8018B8FC,0x8018B8FC,0x18 +asm/non_matchings/code/audio_heap/func_8018B95C.s,func_8018B95C,0x8018B95C,0x21 +asm/non_matchings/code/audio_heap/func_8018B9E0.s,func_8018B9E0,0x8018B9E0,0x21 +asm/non_matchings/code/audio_heap/func_8018BA64.s,func_8018BA64,0x8018BA64,0x31 +asm/non_matchings/code/audio_heap/func_8018BB28.s,func_8018BB28,0x8018BB28,0x31 +asm/non_matchings/code/audio_heap/func_8018BBEC.s,func_8018BBEC,0x8018BBEC,0x1E5 +asm/non_matchings/code/audio_heap/func_8018C380.s,func_8018C380,0x8018C380,0x16 +asm/non_matchings/code/audio_heap/func_8018C3D8.s,func_8018C3D8,0x8018C3D8,0x43 +asm/non_matchings/code/audio_heap/func_8018C4E4.s,func_8018C4E4,0x8018C4E4,0xF5 +asm/non_matchings/code/audio_heap/func_8018C8B8.s,func_8018C8B8,0x8018C8B8,0xC +asm/non_matchings/code/audio_heap/func_8018C8E8.s,func_8018C8E8,0x8018C8E8,0x15 +asm/non_matchings/code/audio_heap/func_8018C93C.s,func_8018C93C,0x8018C93C,0x16 +asm/non_matchings/code/audio_heap/func_8018C994.s,func_8018C994,0x8018C994,0x77 +asm/non_matchings/code/audio_heap/func_8018CB70.s,func_8018CB70,0x8018CB70,0x2 +asm/non_matchings/code/audio_heap/func_8018CB78.s,func_8018CB78,0x8018CB78,0x31 +asm/non_matchings/code/audio_heap/func_8018CC3C.s,func_8018CC3C,0x8018CC3C,0x1B +asm/non_matchings/code/audio_heap/func_8018CCA8.s,func_8018CCA8,0x8018CCA8,0xC1 +asm/non_matchings/code/audio_heap/func_8018CFAC.s,func_8018CFAC,0x8018CFAC,0x174 +asm/non_matchings/code/audio_heap/func_8018D57C.s,func_8018D57C,0x8018D57C,0x16 +asm/non_matchings/code/audio_heap/func_8018D5D4.s,func_8018D5D4,0x8018D5D4,0x21 +asm/non_matchings/code/audio_heap/func_8018D658.s,func_8018D658,0x8018D658,0x1C +asm/non_matchings/code/audio_heap/func_8018D6C8.s,func_8018D6C8,0x8018D6C8,0x26 +asm/non_matchings/code/audio_heap/func_8018D760.s,func_8018D760,0x8018D760,0xBC +asm/non_matchings/code/audio_heap/func_8018DA50.s,func_8018DA50,0x8018DA50,0x5D +asm/non_matchings/code/audio_heap/func_8018DBC4.s,func_8018DBC4,0x8018DBC4,0x3C +asm/non_matchings/code/audio_heap/func_8018DCB4.s,func_8018DCB4,0x8018DCB4,0x11 +asm/non_matchings/code/audio_heap/func_8018DCF8.s,func_8018DCF8,0x8018DCF8,0x28 +asm/non_matchings/code/audio_heap/func_8018DD98.s,func_8018DD98,0x8018DD98,0xF +asm/non_matchings/code/audio_heap/func_8018DDD4.s,func_8018DDD4,0x8018DDD4,0x54 +asm/non_matchings/code/audio_heap/func_8018DF24.s,func_8018DF24,0x8018DF24,0x2F +asm/non_matchings/code/audio_heap/func_8018DFE0.s,func_8018DFE0,0x8018DFE0,0xB +asm/non_matchings/code/audio_heap/func_8018E00C.s,func_8018E00C,0x8018E00C,0xC +asm/non_matchings/code/audio_heap/func_8018E03C.s,func_8018E03C,0x8018E03C,0x9B +asm/non_matchings/code/audio_heap/func_8018E2A8.s,func_8018E2A8,0x8018E2A8,0x27 +asm/non_matchings/code/audio_heap/func_8018E344.s,func_8018E344,0x8018E344,0x161 +asm/non_matchings/code/audio_heap/func_8018E8C8.s,func_8018E8C8,0x8018E8C8,0xA6 +asm/non_matchings/code/audio_load/func_8018EB60.s,func_8018EB60,0x8018EB60,0x3B +asm/non_matchings/code/audio_load/func_8018EC4C.s,func_8018EC4C,0x8018EC4C,0xCF +asm/non_matchings/code/audio_load/func_8018EF88.s,func_8018EF88,0x8018EF88,0xA6 +asm/non_matchings/code/audio_load/func_8018F220.s,func_8018F220,0x8018F220,0x1E +asm/non_matchings/code/audio_load/func_8018F298.s,func_8018F298,0x8018F298,0x1E +asm/non_matchings/code/audio_load/func_8018F310.s,func_8018F310,0x8018F310,0x1E +asm/non_matchings/code/audio_load/func_8018F388.s,func_8018F388,0x8018F388,0xC +asm/non_matchings/code/audio_load/func_8018F3B8.s,func_8018F3B8,0x8018F3B8,0xC +asm/non_matchings/code/audio_load/func_8018F3E8.s,func_8018F3E8,0x8018F3E8,0x18 +asm/non_matchings/code/audio_load/func_8018F448.s,func_8018F448,0x8018F448,0xC +asm/non_matchings/code/audio_load/func_8018F478.s,func_8018F478,0x8018F478,0x18 +asm/non_matchings/code/audio_load/func_8018F4D8.s,func_8018F4D8,0x8018F4D8,0x2C +asm/non_matchings/code/audio_load/func_8018F588.s,func_8018F588,0x8018F588,0x1F +asm/non_matchings/code/audio_load/func_8018F604.s,func_8018F604,0x8018F604,0x3B +asm/non_matchings/code/audio_load/func_8018F6F0.s,func_8018F6F0,0x8018F6F0,0x34 +asm/non_matchings/code/audio_load/func_8018F7C0.s,func_8018F7C0,0x8018F7C0,0xE +asm/non_matchings/code/audio_load/func_8018F7F8.s,func_8018F7F8,0x8018F7F8,0x11 +asm/non_matchings/code/audio_load/func_8018F83C.s,func_8018F83C,0x8018F83C,0x11 +asm/non_matchings/code/audio_load/func_8018F880.s,func_8018F880,0x8018F880,0x11 +asm/non_matchings/code/audio_load/func_8018F8C4.s,func_8018F8C4,0x8018F8C4,0x11 +asm/non_matchings/code/audio_load/func_8018F908.s,func_8018F908,0x8018F908,0x2C +asm/non_matchings/code/audio_load/func_8018F9B8.s,func_8018F9B8,0x8018F9B8,0x2A +asm/non_matchings/code/audio_load/func_8018FA60.s,func_8018FA60,0x8018FA60,0x1C +asm/non_matchings/code/audio_load/func_8018FAD0.s,func_8018FAD0,0x8018FAD0,0x14 +asm/non_matchings/code/audio_load/func_8018FB20.s,func_8018FB20,0x8018FB20,0x16 +asm/non_matchings/code/audio_load/func_8018FB78.s,func_8018FB78,0x8018FB78,0x55 +asm/non_matchings/code/audio_load/func_8018FCCC.s,func_8018FCCC,0x8018FCCC,0x15 +asm/non_matchings/code/audio_load/func_8018FD20.s,func_8018FD20,0x8018FD20,0x8 +asm/non_matchings/code/audio_load/func_8018FD40.s,func_8018FD40,0x8018FD40,0x47 +asm/non_matchings/code/audio_load/func_8018FE5C.s,func_8018FE5C,0x8018FE5C,0x41 +asm/non_matchings/code/audio_load/func_8018FF60.s,func_8018FF60,0x8018FF60,0xA9 +asm/non_matchings/code/audio_load/func_80190204.s,func_80190204,0x80190204,0xF +asm/non_matchings/code/audio_load/func_80190240.s,func_80190240,0x80190240,0x15 +asm/non_matchings/code/audio_load/func_80190294.s,func_80190294,0x80190294,0x11 +asm/non_matchings/code/audio_load/func_801902D8.s,func_801902D8,0x801902D8,0x9B +asm/non_matchings/code/audio_load/func_80190544.s,func_80190544,0x80190544,0x49 +asm/non_matchings/code/audio_load/func_80190668.s,func_80190668,0x80190668,0x5 +asm/non_matchings/code/audio_load/func_8019067C.s,func_8019067C,0x8019067C,0x36 +asm/non_matchings/code/audio_load/func_80190754.s,func_80190754,0x80190754,0x2 +asm/non_matchings/code/audio_load/func_8019075C.s,func_8019075C,0x8019075C,0x8 +asm/non_matchings/code/audio_load/func_8019077C.s,func_8019077C,0x8019077C,0xE3 +asm/non_matchings/code/audio_load/func_80190B08.s,func_80190B08,0x80190B08,0xC +asm/non_matchings/code/audio_load/func_80190B38.s,func_80190B38,0x80190B38,0x3 +asm/non_matchings/code/audio_load/func_80190B44.s,func_80190B44,0x80190B44,0x3 +asm/non_matchings/code/audio_load/func_80190B50.s,func_80190B50,0x80190B50,0x18 +asm/non_matchings/code/audio_load/func_80190BB0.s,func_80190BB0,0x80190BB0,0xE8 +asm/non_matchings/code/audio_load/func_80190F50.s,func_80190F50,0x80190F50,0x5 +asm/non_matchings/code/audio_load/func_80190F64.s,func_80190F64,0x80190F64,0x74 +asm/non_matchings/code/audio_load/func_80191134.s,func_80191134,0x80191134,0x24 +asm/non_matchings/code/audio_load/func_801911C4.s,func_801911C4,0x801911C4,0x2 +asm/non_matchings/code/audio_load/func_801911CC.s,func_801911CC,0x801911CC,0x1D +asm/non_matchings/code/audio_load/func_80191240.s,func_80191240,0x80191240,0x62 +asm/non_matchings/code/audio_load/func_801913C8.s,func_801913C8,0x801913C8,0x21 +asm/non_matchings/code/audio_load/func_8019144C.s,func_8019144C,0x8019144C,0x5 +asm/non_matchings/code/audio_load/func_80191460.s,func_80191460,0x80191460,0x42 +asm/non_matchings/code/audio_load/func_80191568.s,func_80191568,0x80191568,0xC +asm/non_matchings/code/audio_load/func_80191598.s,func_80191598,0x80191598,0x21 +asm/non_matchings/code/audio_load/func_8019161C.s,func_8019161C,0x8019161C,0x49 +asm/non_matchings/code/audio_load/func_80191740.s,func_80191740,0x80191740,0x49 +asm/non_matchings/code/audio_load/func_80191864.s,func_80191864,0x80191864,0x3 +asm/non_matchings/code/audio_load/func_80191870.s,func_80191870,0x80191870,0x4F +asm/non_matchings/code/audio_load/func_801919AC.s,func_801919AC,0x801919AC,0x65 +asm/non_matchings/code/audio_load/func_80191B40.s,func_80191B40,0x80191B40,0x24 +asm/non_matchings/code/audio_load/func_80191BD0.s,func_80191BD0,0x80191BD0,0x1C +asm/non_matchings/code/audio_load/func_80191C40.s,func_80191C40,0x80191C40,0x5 +asm/non_matchings/code/audio_load/func_80191C54.s,func_80191C54,0x80191C54,0x50 +asm/non_matchings/code/audio_load/func_80191D94.s,func_80191D94,0x80191D94,0xFE +asm/non_matchings/code/audio_load/func_8019218C.s,func_8019218C,0x8019218C,0x6D +asm/non_matchings/code/audio_load/func_80192340.s,func_80192340,0x80192340,0x12 +asm/non_matchings/code/audio_load/func_80192388.s,func_80192388,0x80192388,0x4D +asm/non_matchings/code/audio_load/func_801924BC.s,func_801924BC,0x801924BC,0x16 +asm/non_matchings/code/audio_load/func_80192514.s,func_80192514,0x80192514,0x11F +asm/non_matchings/code/audio_load/func_80192990.s,func_80192990,0x80192990,0x50 +asm/non_matchings/code/audio_load/func_80192AD0.s,func_80192AD0,0x80192AD0,0x2 +asm/non_matchings/code/audio_load/func_80192AD8.s,func_80192AD8,0x80192AD8,0x2 +asm/non_matchings/code/audio_load/func_80192AE0.s,func_80192AE0,0x80192AE0,0x2 +asm/non_matchings/code/audio_load/func_80192AE8.s,func_80192AE8,0x80192AE8,0x1B +asm/non_matchings/code/audio_load/func_80192B54.s,func_80192B54,0x80192B54,0x16 +asm/non_matchings/code/audio_load/func_80192BAC.s,func_80192BAC,0x80192BAC,0xD +asm/non_matchings/code/code_80192BE0/func_80192BE0.s,func_80192BE0,0x80192BE0,0x8 +asm/non_matchings/code/code_80192BE0/func_80192C00.s,func_80192C00,0x80192C00,0x167 +asm/non_matchings/code/code_80192BE0/func_8019319C.s,func_8019319C,0x8019319C,0x14F +asm/non_matchings/code/code_80192BE0/func_801936D8.s,func_801936D8,0x801936D8,0x15 +asm/non_matchings/code/code_80192BE0/func_8019372C.s,func_8019372C,0x8019372C,0x12 +asm/non_matchings/code/code_80192BE0/func_80193774.s,func_80193774,0x80193774,0x26 +asm/non_matchings/code/code_80192BE0/func_8019380C.s,func_8019380C,0x8019380C,0x13 +asm/non_matchings/code/code_80192BE0/func_80193858.s,func_80193858,0x80193858,0x9 +asm/non_matchings/code/code_80192BE0/func_8019387C.s,func_8019387C,0x8019387C,0x9 +asm/non_matchings/code/code_80192BE0/func_801938A0.s,func_801938A0,0x801938A0,0xC +asm/non_matchings/code/code_80192BE0/func_801938D0.s,func_801938D0,0x801938D0,0xC +asm/non_matchings/code/code_80192BE0/func_80193900.s,func_80193900,0x80193900,0x24 +asm/non_matchings/code/code_80192BE0/func_80193990.s,func_80193990,0x80193990,0x6 +asm/non_matchings/code/code_80192BE0/func_801939A8.s,func_801939A8,0x801939A8,0x51 +asm/non_matchings/code/code_80192BE0/func_80193AEC.s,func_80193AEC,0x80193AEC,0x2D +asm/non_matchings/code/code_80192BE0/func_80193BA0.s,func_80193BA0,0x80193BA0,0x19 +asm/non_matchings/code/code_80192BE0/func_80193C04.s,func_80193C04,0x80193C04,0x8 +asm/non_matchings/code/code_80192BE0/func_80193C24.s,func_80193C24,0x80193C24,0xE +asm/non_matchings/code/code_80192BE0/func_80193C5C.s,func_80193C5C,0x80193C5C,0x16 +asm/non_matchings/code/code_80192BE0/func_80193CB4.s,func_80193CB4,0x80193CB4,0x15 +asm/non_matchings/code/code_80192BE0/func_80193D08.s,func_80193D08,0x80193D08,0x27 +asm/non_matchings/code/code_80192BE0/func_80193DA4.s,func_80193DA4,0x80193DA4,0x13 +asm/non_matchings/code/code_80192BE0/func_80193DF0.s,func_80193DF0,0x80193DF0,0x15 +asm/non_matchings/code/code_80192BE0/func_80193E44.s,func_80193E44,0x80193E44,0xA +asm/non_matchings/code/code_80192BE0/func_80193E6C.s,func_80193E6C,0x80193E6C,0xC +asm/non_matchings/code/code_80192BE0/func_80193E9C.s,func_80193E9C,0x80193E9C,0x3 +asm/non_matchings/code/code_80192BE0/func_80193EA8.s,func_80193EA8,0x80193EA8,0x76 +asm/non_matchings/code/code_80192BE0/func_80194080.s,func_80194080,0x80194080,0x8F +asm/non_matchings/code/code_80192BE0/func_801942BC.s,func_801942BC,0x801942BC,0x12 +asm/non_matchings/code/code_80192BE0/func_80194304.s,func_80194304,0x80194304,0x9 +asm/non_matchings/code/code_80192BE0/func_80194328.s,func_80194328,0x80194328,0xD +asm/non_matchings/code/code_80192BE0/func_8019435C.s,func_8019435C,0x8019435C,0x10 +asm/non_matchings/code/code_80192BE0/func_8019439C.s,func_8019439C,0x8019439C,0xD +asm/non_matchings/code/code_80192BE0/func_801943D0.s,func_801943D0,0x801943D0,0xF +asm/non_matchings/code/code_80192BE0/func_8019440C.s,func_8019440C,0x8019440C,0x47 +asm/non_matchings/code/code_80192BE0/func_80194528.s,func_80194528,0x80194528,0x8 +asm/non_matchings/code/code_80192BE0/func_80194548.s,func_80194548,0x80194548,0x8 +asm/non_matchings/code/code_80192BE0/func_80194568.s,func_80194568,0x80194568,0x40 +asm/non_matchings/code/code_80192BE0/func_80194668.s,func_80194668,0x80194668,0x1F +asm/non_matchings/code/code_80192BE0/func_801946E4.s,func_801946E4,0x801946E4,0xB +asm/non_matchings/code/code_80194710/func_80194710.s,func_80194710,0x80194710,0x10 +asm/non_matchings/code/code_80194710/func_80194750.s,func_80194750,0x80194750,0x10 +asm/non_matchings/code/code_80194710/func_80194790.s,func_80194790,0x80194790,0x1D +asm/non_matchings/code/code_80194710/func_80194804.s,func_80194804,0x80194804,0xF +asm/non_matchings/code/code_80194710/func_80194840.s,func_80194840,0x80194840,0x1C +asm/non_matchings/code/code_80194710/func_801948B0.s,func_801948B0,0x801948B0,0x20 +asm/non_matchings/code/audio_playback/func_80194930.s,func_80194930,0x80194930,0x120 +asm/non_matchings/code/audio_playback/func_80194DB0.s,func_80194DB0,0x80194DB0,0x2C +asm/non_matchings/code/audio_playback/func_80194E60.s,func_80194E60,0x80194E60,0x30 +asm/non_matchings/code/audio_playback/func_80194F20.s,func_80194F20,0x80194F20,0x19 +asm/non_matchings/code/audio_playback/func_80194F84.s,func_80194F84,0x80194F84,0x152 +asm/non_matchings/code/audio_playback/func_801954CC.s,func_801954CC,0x801954CC,0xF +asm/non_matchings/code/audio_playback/func_80195508.s,func_80195508,0x80195508,0x35 +asm/non_matchings/code/audio_playback/func_801955DC.s,func_801955DC,0x801955DC,0x39 +asm/non_matchings/code/audio_playback/func_801956C0.s,func_801956C0,0x801956C0,0x3D +asm/non_matchings/code/audio_playback/func_801957B4.s,func_801957B4,0x801957B4,0x51 +asm/non_matchings/code/audio_playback/func_801958F8.s,func_801958F8,0x801958F8,0xD2 +asm/non_matchings/code/audio_playback/func_80195C40.s,func_80195C40,0x80195C40,0x8 +asm/non_matchings/code/audio_playback/func_80195C60.s,func_80195C60,0x80195C60,0x8 +asm/non_matchings/code/audio_playback/func_80195C80.s,func_80195C80,0x80195C80,0x41 +asm/non_matchings/code/audio_playback/func_80195D84.s,func_80195D84,0x80195D84,0x16 +asm/non_matchings/code/audio_playback/func_80195DDC.s,func_80195DDC,0x80195DDC,0x4 +asm/non_matchings/code/audio_playback/func_80195DEC.s,func_80195DEC,0x80195DEC,0x14 +asm/non_matchings/code/audio_playback/func_80195E3C.s,func_80195E3C,0x80195E3C,0x29 +asm/non_matchings/code/audio_playback/func_80195EE0.s,func_80195EE0,0x80195EE0,0x58 +asm/non_matchings/code/audio_playback/func_80196040.s,func_80196040,0x80196040,0x4F +asm/non_matchings/code/audio_playback/func_8019617C.s,func_8019617C,0x8019617C,0x10 +asm/non_matchings/code/audio_playback/func_801961BC.s,func_801961BC,0x801961BC,0xB +asm/non_matchings/code/audio_playback/func_801961E8.s,func_801961E8,0x801961E8,0x20 +asm/non_matchings/code/audio_playback/func_80196268.s,func_80196268,0x80196268,0x60 +asm/non_matchings/code/audio_playback/func_801963E8.s,func_801963E8,0x801963E8,0xD +asm/non_matchings/code/audio_playback/func_8019641C.s,func_8019641C,0x8019641C,0xB +asm/non_matchings/code/audio_playback/func_80196448.s,func_80196448,0x80196448,0x13 +asm/non_matchings/code/audio_playback/func_80196494.s,func_80196494,0x80196494,0x19 +asm/non_matchings/code/audio_playback/func_801964F8.s,func_801964F8,0x801964F8,0x3E +asm/non_matchings/code/audio_playback/func_801965F0.s,func_801965F0,0x801965F0,0xB5 +asm/non_matchings/code/audio_playback/func_801968C4.s,func_801968C4,0x801968C4,0x4F +asm/non_matchings/code/audio_effects/func_80196A00.s,func_80196A00,0x80196A00,0x72 +asm/non_matchings/code/audio_effects/func_80196BC8.s,func_80196BC8,0x80196BC8,0x56 +asm/non_matchings/code/audio_effects/func_80196D20.s,func_80196D20,0x80196D20,0x17 +asm/non_matchings/code/audio_effects/func_80196D7C.s,func_80196D7C,0x80196D7C,0xE +asm/non_matchings/code/audio_effects/func_80196DB4.s,func_80196DB4,0x80196DB4,0x8E +asm/non_matchings/code/audio_effects/func_80196FEC.s,func_80196FEC,0x80196FEC,0x17 +asm/non_matchings/code/audio_effects/func_80197048.s,func_80197048,0x80197048,0x3C +asm/non_matchings/code/audio_effects/func_80197138.s,func_80197138,0x80197138,0xB +asm/non_matchings/code/audio_effects/func_80197164.s,func_80197164,0x80197164,0x9 +asm/non_matchings/code/audio_effects/func_80197188.s,func_80197188,0x80197188,0xD2 +asm/non_matchings/code/audio_seqplayer/func_801974D0.s,func_801974D0,0x801974D0,0x1A +asm/non_matchings/code/audio_seqplayer/func_80197538.s,func_80197538,0x80197538,0x77 +asm/non_matchings/code/audio_seqplayer/func_80197714.s,func_80197714,0x80197714,0x5B +asm/non_matchings/code/audio_seqplayer/func_80197880.s,func_80197880,0x80197880,0x56 +asm/non_matchings/code/audio_seqplayer/func_801979D8.s,func_801979D8,0x801979D8,0x1F +asm/non_matchings/code/audio_seqplayer/func_80197A54.s,func_80197A54,0x80197A54,0x14 +asm/non_matchings/code/audio_seqplayer/func_80197AA4.s,func_80197AA4,0x80197AA4,0x1C +asm/non_matchings/code/audio_seqplayer/func_80197B14.s,func_80197B14,0x80197B14,0x3E +asm/non_matchings/code/audio_seqplayer/func_80197C0C.s,func_80197C0C,0x80197C0C,0x20 +asm/non_matchings/code/audio_seqplayer/func_80197C8C.s,func_80197C8C,0x80197C8C,0x26 +asm/non_matchings/code/audio_seqplayer/func_80197D24.s,func_80197D24,0x80197D24,0xA +asm/non_matchings/code/audio_seqplayer/func_80197D4C.s,func_80197D4C,0x80197D4C,0x2F +asm/non_matchings/code/audio_seqplayer/func_80197E08.s,func_80197E08,0x80197E08,0x10 +asm/non_matchings/code/audio_seqplayer/func_80197E48.s,func_80197E48,0x80197E48,0x10 +asm/non_matchings/code/audio_seqplayer/func_80197E88.s,func_80197E88,0x80197E88,0x28 +asm/non_matchings/code/audio_seqplayer/func_80197F28.s,func_80197F28,0x80197F28,0x5 +asm/non_matchings/code/audio_seqplayer/func_80197F3C.s,func_80197F3C,0x80197F3C,0xE +asm/non_matchings/code/audio_seqplayer/func_80197F74.s,func_80197F74,0x80197F74,0x10 +asm/non_matchings/code/audio_seqplayer/func_80197FB4.s,func_80197FB4,0x80197FB4,0x47 +asm/non_matchings/code/audio_seqplayer/func_801980D0.s,func_801980D0,0x801980D0,0x23 +asm/non_matchings/code/audio_seqplayer/func_8019815C.s,func_8019815C,0x8019815C,0x40 +asm/non_matchings/code/audio_seqplayer/func_8019825C.s,func_8019825C,0x8019825C,0xF9 +asm/non_matchings/code/audio_seqplayer/func_80198640.s,func_80198640,0x80198640,0x1A8 +asm/non_matchings/code/audio_seqplayer/func_80198CE0.s,func_80198CE0,0x80198CE0,0x105 +asm/non_matchings/code/audio_seqplayer/func_801990F4.s,func_801990F4,0x801990F4,0xC +asm/non_matchings/code/audio_seqplayer/func_80199124.s,func_80199124,0x80199124,0x1D +asm/non_matchings/code/audio_seqplayer/func_80199198.s,func_80199198,0x80199198,0x2B +asm/non_matchings/code/audio_seqplayer/func_80199244.s,func_80199244,0x80199244,0x9 +asm/non_matchings/code/audio_seqplayer/func_80199268.s,func_80199268,0x80199268,0x395 +asm/non_matchings/code/audio_seqplayer/func_8019A0BC.s,func_8019A0BC,0x8019A0BC,0x260 +asm/non_matchings/code/audio_seqplayer/func_8019AA3C.s,func_8019AA3C,0x8019AA3C,0x2D +asm/non_matchings/code/audio_seqplayer/func_8019AAF0.s,func_8019AAF0,0x8019AAF0,0x14 +asm/non_matchings/code/audio_seqplayer/func_8019AB40.s,func_8019AB40,0x8019AB40,0x34 +asm/non_matchings/code/audio_seqplayer/func_8019AC10.s,func_8019AC10,0x8019AC10,0x37 +asm/non_matchings/code/audio_seqplayer/func_8019ACEC.s,func_8019ACEC,0x8019ACEC,0x34 +asm/non_matchings/code/audio_seqplayer/func_8019ADBC.s,func_8019ADBC,0x8019ADBC,0x21 +asm/non_matchings/code/code_8019AE40/func_8019AE40.s,func_8019AE40,0x8019AE40,0x1C +asm/non_matchings/code/code_8019AEC0/func_8019AEC0.s,func_8019AEC0,0x8019AEC0,0x10 +asm/non_matchings/code/code_8019AF00/func_8019AF00.s,func_8019AF00,0x8019AF00,0x16 +asm/non_matchings/code/code_8019AF00/func_8019AF58.s,func_8019AF58,0x8019AF58,0x24 +asm/non_matchings/code/code_8019AF00/func_8019AFE8.s,func_8019AFE8,0x8019AFE8,0x11 +asm/non_matchings/code/code_8019AF00/func_8019B02C.s,func_8019B02C,0x8019B02C,0x12 +asm/non_matchings/code/code_8019AF00/func_8019B074.s,func_8019B074,0x8019B074,0x34 +asm/non_matchings/code/code_8019AF00/func_8019B144.s,func_8019B144,0x8019B144,0x8D +asm/non_matchings/code/code_8019AF00/func_8019B378.s,func_8019B378,0x8019B378,0x5 +asm/non_matchings/code/code_8019AF00/func_8019B38C.s,func_8019B38C,0x8019B38C,0x11 +asm/non_matchings/code/code_8019AF00/func_8019B3D0.s,func_8019B3D0,0x8019B3D0,0x3A +asm/non_matchings/code/code_8019AF00/func_8019B4B8.s,func_8019B4B8,0x8019B4B8,0x23 +asm/non_matchings/code/code_8019AF00/func_8019B544.s,func_8019B544,0x8019B544,0x9 +asm/non_matchings/code/code_8019AF00/func_8019B568.s,func_8019B568,0x8019B568,0x11 +asm/non_matchings/code/code_8019AF00/func_8019B5AC.s,func_8019B5AC,0x8019B5AC,0x10 +asm/non_matchings/code/code_8019AF00/func_8019B5EC.s,func_8019B5EC,0x8019B5EC,0xB +asm/non_matchings/code/code_8019AF00/func_8019B618.s,func_8019B618,0x8019B618,0xF +asm/non_matchings/code/code_8019AF00/func_8019B654.s,func_8019B654,0x8019B654,0x18 +asm/non_matchings/code/code_8019AF00/func_8019B6B4.s,func_8019B6B4,0x8019B6B4,0x164 +asm/non_matchings/code/code_8019AF00/func_8019BC44.s,func_8019BC44,0x8019BC44,0x95 +asm/non_matchings/code/code_8019AF00/func_8019BE98.s,func_8019BE98,0x8019BE98,0xCA +asm/non_matchings/code/code_8019AF00/func_8019C1C0.s,func_8019C1C0,0x8019C1C0,0x4 +asm/non_matchings/code/code_8019AF00/func_8019C1D0.s,func_8019C1D0,0x8019C1D0,0x26 +asm/non_matchings/code/code_8019AF00/func_8019C268.s,func_8019C268,0x8019C268,0x1F +asm/non_matchings/code/code_8019AF00/func_8019C2E4.s,func_8019C2E4,0x8019C2E4,0x7 +asm/non_matchings/code/code_8019AF00/func_8019C300.s,func_8019C300,0x8019C300,0x26 +asm/non_matchings/code/code_8019AF00/func_8019C398.s,func_8019C398,0x8019C398,0x82 +asm/non_matchings/code/code_8019AF00/func_8019C5A0.s,func_8019C5A0,0x8019C5A0,0xCE +asm/non_matchings/code/code_8019AF00/func_8019C8D8.s,func_8019C8D8,0x8019C8D8,0x10C +asm/non_matchings/code/code_8019AF00/func_8019CD08.s,func_8019CD08,0x8019CD08,0x4B +asm/non_matchings/code/code_8019AF00/func_8019CE34.s,func_8019CE34,0x8019CE34,0xE +asm/non_matchings/code/code_8019AF00/func_8019CE6C.s,func_8019CE6C,0x8019CE6C,0x14 +asm/non_matchings/code/code_8019AF00/func_8019CEBC.s,func_8019CEBC,0x8019CEBC,0x2C +asm/non_matchings/code/code_8019AF00/func_8019CF6C.s,func_8019CF6C,0x8019CF6C,0x3 +asm/non_matchings/code/code_8019AF00/func_8019CF78.s,func_8019CF78,0x8019CF78,0x9 +asm/non_matchings/code/code_8019AF00/func_8019CF9C.s,func_8019CF9C,0x8019CF9C,0x3 +asm/non_matchings/code/code_8019AF00/func_8019CFA8.s,func_8019CFA8,0x8019CFA8,0x63 +asm/non_matchings/code/code_8019AF00/func_8019D134.s,func_8019D134,0x8019D134,0x4E +asm/non_matchings/code/code_8019AF00/func_8019D26C.s,func_8019D26C,0x8019D26C,0x87 +asm/non_matchings/code/code_8019AF00/func_8019D488.s,func_8019D488,0x8019D488,0x1C +asm/non_matchings/code/code_8019AF00/func_8019D4F8.s,func_8019D4F8,0x8019D4F8,0x42 +asm/non_matchings/code/code_8019AF00/func_8019D600.s,func_8019D600,0x8019D600,0x56 +asm/non_matchings/code/code_8019AF00/func_8019D758.s,func_8019D758,0x8019D758,0x43 +asm/non_matchings/code/code_8019AF00/func_8019D864.s,func_8019D864,0x8019D864,0x14 +asm/non_matchings/code/code_8019AF00/func_8019D8B4.s,func_8019D8B4,0x8019D8B4,0xC +asm/non_matchings/code/code_8019AF00/func_8019D8E4.s,func_8019D8E4,0x8019D8E4,0x191 +asm/non_matchings/code/code_8019AF00/func_8019DF28.s,func_8019DF28,0x8019DF28,0xF +asm/non_matchings/code/code_8019AF00/func_8019DF64.s,func_8019DF64,0x8019DF64,0x25 +asm/non_matchings/code/code_8019AF00/func_8019DFF8.s,func_8019DFF8,0x8019DFF8,0x2 +asm/non_matchings/code/code_8019AF00/func_8019E000.s,func_8019E000,0x8019E000,0x3 +asm/non_matchings/code/code_8019AF00/func_8019E00C.s,func_8019E00C,0x8019E00C,0x2 +asm/non_matchings/code/code_8019AF00/func_8019E014.s,func_8019E014,0x8019E014,0x3A +asm/non_matchings/code/code_8019AF00/func_8019E0FC.s,func_8019E0FC,0x8019E0FC,0x2 +asm/non_matchings/code/code_8019AF00/func_8019E104.s,func_8019E104,0x8019E104,0x3 +asm/non_matchings/code/code_8019AF00/func_8019E110.s,func_8019E110,0x8019E110,0xF +asm/non_matchings/code/code_8019AF00/func_8019E14C.s,func_8019E14C,0x8019E14C,0x76 +asm/non_matchings/code/code_8019AF00/func_8019E324.s,func_8019E324,0x8019E324,0x63 +asm/non_matchings/code/code_8019AF00/func_8019E4B0.s,func_8019E4B0,0x8019E4B0,0x61 +asm/non_matchings/code/code_8019AF00/func_8019E634.s,func_8019E634,0x8019E634,0x8C +asm/non_matchings/code/code_8019AF00/func_8019E864.s,func_8019E864,0x8019E864,0x77 +asm/non_matchings/code/code_8019AF00/func_8019EA40.s,func_8019EA40,0x8019EA40,0x3B +asm/non_matchings/code/code_8019AF00/func_8019EB2C.s,func_8019EB2C,0x8019EB2C,0x13E +asm/non_matchings/code/code_8019AF00/func_8019F024.s,func_8019F024,0x8019F024,0xE +asm/non_matchings/code/code_8019AF00/func_8019F05C.s,func_8019F05C,0x8019F05C,0x1B +asm/non_matchings/code/code_8019AF00/play_sound.s,play_sound,0x8019F0C8,0x18 +asm/non_matchings/code/code_8019AF00/func_8019F128.s,func_8019F128,0x8019F128,0x12 +asm/non_matchings/code/code_8019AF00/func_8019F170.s,func_8019F170,0x8019F170,0x14 +asm/non_matchings/code/code_8019AF00/func_8019F1C0.s,func_8019F1C0,0x8019F1C0,0x12 +asm/non_matchings/code/code_8019AF00/func_8019F208.s,func_8019F208,0x8019F208,0xA +asm/non_matchings/code/code_8019AF00/func_8019F230.s,func_8019F230,0x8019F230,0xA +asm/non_matchings/code/code_8019AF00/func_8019F258.s,func_8019F258,0x8019F258,0x2A +asm/non_matchings/code/code_8019AF00/func_8019F300.s,func_8019F300,0x8019F300,0x48 +asm/non_matchings/code/code_8019AF00/func_8019F420.s,func_8019F420,0x8019F420,0x23 +asm/non_matchings/code/code_8019AF00/func_8019F4AC.s,func_8019F4AC,0x8019F4AC,0x25 +asm/non_matchings/code/code_8019AF00/func_8019F540.s,func_8019F540,0x8019F540,0xC +asm/non_matchings/code/code_8019AF00/func_8019F570.s,func_8019F570,0x8019F570,0xF +asm/non_matchings/code/code_8019AF00/func_8019F5AC.s,func_8019F5AC,0x8019F5AC,0x23 +asm/non_matchings/code/code_8019AF00/func_8019F638.s,func_8019F638,0x8019F638,0x52 +asm/non_matchings/code/code_8019AF00/func_8019F780.s,func_8019F780,0x8019F780,0x16 +asm/non_matchings/code/code_8019AF00/func_8019F7D8.s,func_8019F7D8,0x8019F7D8,0x16 +asm/non_matchings/code/code_8019AF00/func_8019F830.s,func_8019F830,0x8019F830,0x17 +asm/non_matchings/code/code_8019AF00/func_8019F88C.s,func_8019F88C,0x8019F88C,0x1D +asm/non_matchings/code/code_8019AF00/func_8019F900.s,func_8019F900,0x8019F900,0x46 +asm/non_matchings/code/code_8019AF00/func_8019FA18.s,func_8019FA18,0x8019FA18,0x30 +asm/non_matchings/code/code_8019AF00/func_8019FAD8.s,func_8019FAD8,0x8019FAD8,0xD +asm/non_matchings/code/code_8019AF00/func_8019FB0C.s,func_8019FB0C,0x8019FB0C,0x45 +asm/non_matchings/code/code_8019AF00/func_8019FC20.s,func_8019FC20,0x8019FC20,0x26 +asm/non_matchings/code/code_8019AF00/func_8019FCB8.s,func_8019FCB8,0x8019FCB8,0x36 +asm/non_matchings/code/code_8019AF00/func_8019FD90.s,func_8019FD90,0x8019FD90,0xE +asm/non_matchings/code/code_8019AF00/func_8019FDC8.s,func_8019FDC8,0x8019FDC8,0x15 +asm/non_matchings/code/code_8019AF00/func_8019FE1C.s,func_8019FE1C,0x8019FE1C,0x16 +asm/non_matchings/code/code_8019AF00/func_8019FE74.s,func_8019FE74,0x8019FE74,0x1A +asm/non_matchings/code/code_8019AF00/func_8019FEDC.s,func_8019FEDC,0x8019FEDC,0x17 +asm/non_matchings/code/code_8019AF00/func_8019FF38.s,func_8019FF38,0x8019FF38,0x19 +asm/non_matchings/code/code_8019AF00/func_8019FF9C.s,func_8019FF9C,0x8019FF9C,0x2B +asm/non_matchings/code/code_8019AF00/func_801A0048.s,func_801A0048,0x801A0048,0x29 +asm/non_matchings/code/code_8019AF00/func_801A00EC.s,func_801A00EC,0x801A00EC,0xE +asm/non_matchings/code/code_8019AF00/func_801A0124.s,func_801A0124,0x801A0124,0x18 +asm/non_matchings/code/code_8019AF00/func_801A0184.s,func_801A0184,0x801A0184,0x10 +asm/non_matchings/code/code_8019AF00/func_801A01C4.s,func_801A01C4,0x801A01C4,0x10 +asm/non_matchings/code/code_8019AF00/func_801A0204.s,func_801A0204,0x801A0204,0xD +asm/non_matchings/code/code_8019AF00/func_801A0238.s,func_801A0238,0x801A0238,0xD +asm/non_matchings/code/code_8019AF00/func_801A026C.s,func_801A026C,0x801A026C,0x2B +asm/non_matchings/code/code_8019AF00/func_801A0318.s,func_801A0318,0x801A0318,0x4E +asm/non_matchings/code/code_8019AF00/func_801A0450.s,func_801A0450,0x801A0450,0x7 +asm/non_matchings/code/code_8019AF00/func_801A046C.s,func_801A046C,0x801A046C,0x3A +asm/non_matchings/code/code_8019AF00/func_801A0554.s,func_801A0554,0x801A0554,0x24 +asm/non_matchings/code/code_8019AF00/func_801A05E4.s,func_801A05E4,0x801A05E4,0x3 +asm/non_matchings/code/code_8019AF00/func_801A05F0.s,func_801A05F0,0x801A05F0,0x19 +asm/non_matchings/code/code_8019AF00/func_801A0654.s,func_801A0654,0x801A0654,0x6F +asm/non_matchings/code/code_8019AF00/func_801A0810.s,func_801A0810,0x801A0810,0x16 +asm/non_matchings/code/code_8019AF00/func_801A0868.s,func_801A0868,0x801A0868,0x5B +asm/non_matchings/code/code_8019AF00/func_801A09D4.s,func_801A09D4,0x801A09D4,0xA7 +asm/non_matchings/code/code_8019AF00/func_801A0C70.s,func_801A0C70,0x801A0C70,0x8 +asm/non_matchings/code/code_8019AF00/func_801A0C90.s,func_801A0C90,0x801A0C90,0x8 +asm/non_matchings/code/code_8019AF00/func_801A0CB0.s,func_801A0CB0,0x801A0CB0,0x65 +asm/non_matchings/code/code_8019AF00/func_801A0E44.s,func_801A0E44,0x801A0E44,0x113 +asm/non_matchings/code/code_8019AF00/func_801A1290.s,func_801A1290,0x801A1290,0x2E +asm/non_matchings/code/code_8019AF00/func_801A1348.s,func_801A1348,0x801A1348,0x1D +asm/non_matchings/code/code_8019AF00/func_801A13BC.s,func_801A13BC,0x801A13BC,0x60 +asm/non_matchings/code/code_8019AF00/func_801A153C.s,func_801A153C,0x801A153C,0xAE +asm/non_matchings/code/code_8019AF00/func_801A17F4.s,func_801A17F4,0x801A17F4,0x44 +asm/non_matchings/code/code_8019AF00/func_801A1904.s,func_801A1904,0x801A1904,0x43 +asm/non_matchings/code/code_8019AF00/func_801A1A10.s,func_801A1A10,0x801A1A10,0x1F +asm/non_matchings/code/code_8019AF00/func_801A1A8C.s,func_801A1A8C,0x801A1A8C,0xAE +asm/non_matchings/code/code_8019AF00/func_801A1D44.s,func_801A1D44,0x801A1D44,0x1D +asm/non_matchings/code/code_8019AF00/func_801A1DB8.s,func_801A1DB8,0x801A1DB8,0x15 +asm/non_matchings/code/code_8019AF00/func_801A1E0C.s,func_801A1E0C,0x801A1E0C,0x3D +asm/non_matchings/code/code_8019AF00/func_801A1F00.s,func_801A1F00,0x801A1F00,0x22 +asm/non_matchings/code/code_8019AF00/func_801A1F88.s,func_801A1F88,0x801A1F88,0xB +asm/non_matchings/code/code_8019AF00/func_801A1FB4.s,func_801A1FB4,0x801A1FB4,0x37 +asm/non_matchings/code/code_8019AF00/func_801A2090.s,func_801A2090,0x801A2090,0x5B +asm/non_matchings/code/code_8019AF00/func_801A21FC.s,func_801A21FC,0x801A21FC,0x99 +asm/non_matchings/code/code_8019AF00/func_801A2460.s,func_801A2460,0x801A2460,0x3 +asm/non_matchings/code/code_8019AF00/func_801A246C.s,func_801A246C,0x801A246C,0x36 +asm/non_matchings/code/code_8019AF00/func_801A2544.s,func_801A2544,0x801A2544,0xE +asm/non_matchings/code/code_8019AF00/func_801A257C.s,func_801A257C,0x801A257C,0x1A +asm/non_matchings/code/code_8019AF00/func_801A25E4.s,func_801A25E4,0x801A25E4,0x23 +asm/non_matchings/code/code_8019AF00/func_801A2670.s,func_801A2670,0x801A2670,0x42 +asm/non_matchings/code/code_8019AF00/func_801A2778.s,func_801A2778,0x801A2778,0x1C +asm/non_matchings/code/code_8019AF00/func_801A27E8.s,func_801A27E8,0x801A27E8,0xD +asm/non_matchings/code/code_8019AF00/func_801A281C.s,func_801A281C,0x801A281C,0x6E +asm/non_matchings/code/code_8019AF00/func_801A29D4.s,func_801A29D4,0x801A29D4,0x79 +asm/non_matchings/code/code_8019AF00/func_801A2BB8.s,func_801A2BB8,0x801A2BB8,0x1A +asm/non_matchings/code/code_8019AF00/func_801A2C20.s,func_801A2C20,0x801A2C20,0x9 +asm/non_matchings/code/code_8019AF00/func_801A2C44.s,func_801A2C44,0x801A2C44,0x11 +asm/non_matchings/code/code_8019AF00/func_801A2C88.s,func_801A2C88,0x801A2C88,0x33 +asm/non_matchings/code/code_8019AF00/func_801A2D54.s,func_801A2D54,0x801A2D54,0x23 +asm/non_matchings/code/code_8019AF00/func_801A2DE0.s,func_801A2DE0,0x801A2DE0,0x1D +asm/non_matchings/code/code_8019AF00/func_801A2E54.s,func_801A2E54,0x801A2E54,0x21 +asm/non_matchings/code/code_8019AF00/func_801A2ED8.s,func_801A2ED8,0x801A2ED8,0x2C +asm/non_matchings/code/code_8019AF00/func_801A2F88.s,func_801A2F88,0x801A2F88,0xF +asm/non_matchings/code/code_8019AF00/func_801A2FC4.s,func_801A2FC4,0x801A2FC4,0xF +asm/non_matchings/code/code_8019AF00/func_801A3000.s,func_801A3000,0x801A3000,0xE +asm/non_matchings/code/code_8019AF00/func_801A3038.s,func_801A3038,0x801A3038,0x18 +asm/non_matchings/code/code_8019AF00/func_801A3098.s,func_801A3098,0x801A3098,0x25 +asm/non_matchings/code/code_8019AF00/func_801A312C.s,func_801A312C,0x801A312C,0x30 +asm/non_matchings/code/code_8019AF00/func_801A31EC.s,func_801A31EC,0x801A31EC,0x13 +asm/non_matchings/code/code_8019AF00/func_801A3238.s,func_801A3238,0x801A3238,0x25 +asm/non_matchings/code/code_8019AF00/func_801A32CC.s,func_801A32CC,0x801A32CC,0xB1 +asm/non_matchings/code/code_8019AF00/func_801A3590.s,func_801A3590,0x801A3590,0x58 +asm/non_matchings/code/code_8019AF00/func_801A36F0.s,func_801A36F0,0x801A36F0,0x98 +asm/non_matchings/code/code_8019AF00/func_801A3950.s,func_801A3950,0x801A3950,0x2A +asm/non_matchings/code/code_8019AF00/func_801A39F8.s,func_801A39F8,0x801A39F8,0x21 +asm/non_matchings/code/code_8019AF00/func_801A3A7C.s,func_801A3A7C,0x801A3A7C,0x11 +asm/non_matchings/code/code_8019AF00/func_801A3AC0.s,func_801A3AC0,0x801A3AC0,0xB +asm/non_matchings/code/code_8019AF00/func_801A3AEC.s,func_801A3AEC,0x801A3AEC,0x17 +asm/non_matchings/code/code_8019AF00/func_801A3B48.s,func_801A3B48,0x801A3B48,0x12 +asm/non_matchings/code/code_8019AF00/func_801A3B90.s,func_801A3B90,0x801A3B90,0x52 +asm/non_matchings/code/code_8019AF00/func_801A3CD8.s,func_801A3CD8,0x801A3CD8,0x7 +asm/non_matchings/code/code_8019AF00/func_801A3CF4.s,func_801A3CF4,0x801A3CF4,0x18 +asm/non_matchings/code/code_8019AF00/func_801A3D54.s,func_801A3D54,0x801A3D54,0x11 +asm/non_matchings/code/code_8019AF00/func_801A3D98.s,func_801A3D98,0x801A3D98,0x28 +asm/non_matchings/code/code_8019AF00/func_801A3E38.s,func_801A3E38,0x801A3E38,0x22 +asm/non_matchings/code/code_8019AF00/func_801A3EC0.s,func_801A3EC0,0x801A3EC0,0x25 +asm/non_matchings/code/code_8019AF00/func_801A3F54.s,func_801A3F54,0x801A3F54,0x6 +asm/non_matchings/code/code_8019AF00/func_801A3F6C.s,func_801A3F6C,0x801A3F6C,0x12 +asm/non_matchings/code/code_8019AF00/func_801A3FB4.s,func_801A3FB4,0x801A3FB4,0x12 +asm/non_matchings/code/code_8019AF00/func_801A3FFC.s,func_801A3FFC,0x801A3FFC,0x4 +asm/non_matchings/code/code_8019AF00/audio_setBGM.s,audio_setBGM,0x801A400C,0x13 +asm/non_matchings/code/code_8019AF00/func_801A4058.s,func_801A4058,0x801A4058,0x5C +asm/non_matchings/code/code_8019AF00/func_801A41C8.s,func_801A41C8,0x801A41C8,0xC +asm/non_matchings/code/code_8019AF00/func_801A41F8.s,func_801A41F8,0x801A41F8,0x29 +asm/non_matchings/code/code_8019AF00/func_801A429C.s,func_801A429C,0x801A429C,0xB +asm/non_matchings/code/code_8019AF00/func_801A42C8.s,func_801A42C8,0x801A42C8,0x17 +asm/non_matchings/code/code_8019AF00/func_801A4324.s,func_801A4324,0x801A4324,0x9 +asm/non_matchings/code/code_8019AF00/func_801A4348.s,func_801A4348,0x801A4348,0xE +asm/non_matchings/code/code_8019AF00/func_801A4380.s,func_801A4380,0x801A4380,0x2A +asm/non_matchings/code/code_8019AF00/func_801A4428.s,func_801A4428,0x801A4428,0x1F +asm/non_matchings/code/code_8019AF00/Audio_PreNMI.s,Audio_PreNMI,0x801A44A4,0x8 +asm/non_matchings/code/code_8019AF00/func_801A44C4.s,func_801A44C4,0x801A44C4,0x4 +asm/non_matchings/code/code_8019AF00/func_801A44D4.s,func_801A44D4,0x801A44D4,0x89 +asm/non_matchings/code/code_8019AF00/func_801A46F8.s,func_801A46F8,0x801A46F8,0x14 +asm/non_matchings/code/code_8019AF00/func_801A4748.s,func_801A4748,0x801A4748,0x15 +asm/non_matchings/code/code_8019AF00/func_801A479C.s,func_801A479C,0x801A479C,0x10 +asm/non_matchings/code/code_8019AF00/func_801A47DC.s,func_801A47DC,0x801A47DC,0x41 +asm/non_matchings/code/code_8019AF00/func_801A48E0.s,func_801A48E0,0x801A48E0,0x52 +asm/non_matchings/code/code_8019AF00/func_801A4A28.s,func_801A4A28,0x801A4A28,0x56 +asm/non_matchings/code/code_8019AF00/func_801A4B80.s,func_801A4B80,0x801A4B80,0x2C +asm/non_matchings/code/code_8019AF00/func_801A4C30.s,func_801A4C30,0x801A4C30,0x9 +asm/non_matchings/code/code_8019AF00/func_801A4C54.s,func_801A4C54,0x801A4C54,0x2B +asm/non_matchings/code/code_8019AF00/func_801A4D00.s,func_801A4D00,0x801A4D00,0x14 +asm/non_matchings/code/code_8019AF00/func_801A4D50.s,func_801A4D50,0x801A4D50,0x15 +asm/non_matchings/code/code_8019AF00/func_801A4DA4.s,func_801A4DA4,0x801A4DA4,0x14 +asm/non_matchings/code/code_8019AF00/func_801A4DF4.s,func_801A4DF4,0x801A4DF4,0x1C +asm/non_matchings/code/code_8019AF00/func_801A4E64.s,func_801A4E64,0x801A4E64,0x13 +asm/non_matchings/code/code_8019AF00/func_801A4EB0.s,func_801A4EB0,0x801A4EB0,0x2 +asm/non_matchings/code/code_8019AF00/func_801A4EB8.s,func_801A4EB8,0x801A4EB8,0x48 +asm/non_matchings/code/code_8019AF00/func_801A4FD8.s,func_801A4FD8,0x801A4FD8,0x2A +asm/non_matchings/code/code_8019AF00/func_801A5080.s,func_801A5080,0x801A5080,0x10 +asm/non_matchings/code/code_8019AF00/func_801A50C0.s,func_801A50C0,0x801A50C0,0x10 +asm/non_matchings/code/code_8019AF00/func_801A5100.s,func_801A5100,0x801A5100,0x3 +asm/non_matchings/code/code_8019AF00/func_801A510C.s,func_801A510C,0x801A510C,0x3 +asm/non_matchings/code/code_8019AF00/func_801A5118.s,func_801A5118,0x801A5118,0x36 +asm/non_matchings/code/code_801A51F0/func_801A51F0.s,func_801A51F0,0x801A51F0,0xE +asm/non_matchings/code/code_801A51F0/func_801A5228.s,func_801A5228,0x801A5228,0x5A +asm/non_matchings/code/code_801A51F0/func_801A5390.s,func_801A5390,0x801A5390,0x13 +asm/non_matchings/code/code_801A51F0/func_801A53DC.s,func_801A53DC,0x801A53DC,0x3 +asm/non_matchings/code/code_801A51F0/func_801A53E8.s,func_801A53E8,0x801A53E8,0xD +asm/non_matchings/code/code_801A51F0/func_801A541C.s,func_801A541C,0x801A541C,0x1B +asm/non_matchings/code/code_801A51F0/func_801A5488.s,func_801A5488,0x801A5488,0xF +asm/non_matchings/code/code_801A51F0/func_801A54C4.s,func_801A54C4,0x801A54C4,0x3 +asm/non_matchings/code/code_801A51F0/func_801A54D0.s,func_801A54D0,0x801A54D0,0x6C +asm/non_matchings/code/code_801A51F0/func_801A5680.s,func_801A5680,0x801A5680,0x62 +asm/non_matchings/code/code_801A51F0/func_801A5808.s,func_801A5808,0x801A5808,0x82 +asm/non_matchings/code/code_801A51F0/func_801A5A10.s,func_801A5A10,0x801A5A10,0x3 +asm/non_matchings/code/code_801A51F0/func_801A5A1C.s,func_801A5A1C,0x801A5A1C,0x69 +asm/non_matchings/code/code_801A5BD0/func_801A5BD0.s,func_801A5BD0,0x801A5BD0,0x16 +asm/non_matchings/code/code_801A5BD0/func_801A5C28.s,func_801A5C28,0x801A5C28,0x19 +asm/non_matchings/code/code_801A5BD0/func_801A5C8C.s,func_801A5C8C,0x801A5C8C,0x1C +asm/non_matchings/code/code_801A5BD0/func_801A5CFC.s,func_801A5CFC,0x801A5CFC,0x38 +asm/non_matchings/code/code_801A5BD0/func_801A5DDC.s,func_801A5DDC,0x801A5DDC,0x68 +asm/non_matchings/code/code_801A5BD0/func_801A5F7C.s,func_801A5F7C,0x801A5F7C,0x12D +asm/non_matchings/code/code_801A5BD0/func_801A6430.s,func_801A6430,0x801A6430,0x66 +asm/non_matchings/code/code_801A5BD0/func_801A65C8.s,func_801A65C8,0x801A65C8,0x1D1 +asm/non_matchings/code/code_801A5BD0/func_801A6D0C.s,func_801A6D0C,0x801A6D0C,0xDE +asm/non_matchings/code/code_801A5BD0/func_801A7084.s,func_801A7084,0x801A7084,0x39 +asm/non_matchings/code/code_801A5BD0/func_801A7168.s,func_801A7168,0x801A7168,0x47 +asm/non_matchings/code/code_801A5BD0/func_801A7284.s,func_801A7284,0x801A7284,0x12 +asm/non_matchings/code/code_801A5BD0/func_801A72CC.s,func_801A72CC,0x801A72CC,0x17 +asm/non_matchings/code/code_801A5BD0/func_801A7328.s,func_801A7328,0x801A7328,0x57 +asm/non_matchings/code/code_801A5BD0/func_801A7484.s,func_801A7484,0x801A7484,0x59 +asm/non_matchings/code/code_801A5BD0/func_801A75E8.s,func_801A75E8,0x801A75E8,0x4E +asm/non_matchings/code/code_801A5BD0/func_801A7720.s,func_801A7720,0x801A7720,0x1D +asm/non_matchings/code/code_801A5BD0/func_801A7794.s,func_801A7794,0x801A7794,0x25 +asm/non_matchings/code/code_801A5BD0/func_801A7828.s,func_801A7828,0x801A7828,0x15 +asm/non_matchings/code/code_801A5BD0/func_801A787C.s,func_801A787C,0x801A787C,0x1A +asm/non_matchings/code/code_801A5BD0/func_801A78E4.s,func_801A78E4,0x801A78E4,0x1A +asm/non_matchings/code/code_801A5BD0/func_801A794C.s,func_801A794C,0x801A794C,0x71 +asm/non_matchings/code/code_801A7B10/func_801A7B10.s,func_801A7B10,0x801A7B10,0x7D +asm/non_matchings/code/code_801A7B10/func_801A7D04.s,func_801A7D04,0x801A7D04,0x20 +asm/non_matchings/code/code_801A7B10/func_801A7D84.s,func_801A7D84,0x801A7D84,0x309 +asm/non_matchings/code/code_801A7B10/func_801A89A8.s,func_801A89A8,0x801A89A8,0xA +asm/non_matchings/code/code_801A7B10/func_801A89D0.s,func_801A89D0,0x801A89D0,0x20 +asm/non_matchings/code/code_801A7B10/func_801A8A50.s,func_801A8A50,0x801A8A50,0x1B +asm/non_matchings/code/code_801A7B10/func_801A8ABC.s,func_801A8ABC,0x801A8ABC,0x16 +asm/non_matchings/code/code_801A7B10/func_801A8B14.s,func_801A8B14,0x801A8B14,0x6 +asm/non_matchings/code/code_801A7B10/func_801A8B2C.s,func_801A8B2C,0x801A8B2C,0x29 +asm/non_matchings/code/code_801A7B10/func_801A8BD0.s,func_801A8BD0,0x801A8BD0,0x63 +asm/non_matchings/code/code_801A7B10/func_801A8D5C.s,func_801A8D5C,0x801A8D5C,0x283 +asm/non_matchings/code/code_801A7B10/func_801A9768.s,func_801A9768,0x801A9768,0x31 +asm/non_matchings/code/code_801A7B10/func_801A982C.s,func_801A982C,0x801A982C,0x63 +asm/non_matchings/code/code_801A7B10/func_801A99B8.s,func_801A99B8,0x801A99B8,0x2F +asm/non_matchings/code/code_801A7B10/func_801A9A74.s,func_801A9A74,0x801A9A74,0x27 +asm/non_matchings/code/code_801A7B10/func_801A9B10.s,func_801A9B10,0x801A9B10,0x1A +asm/non_matchings/code/code_801A7B10/func_801A9B78.s,func_801A9B78,0x801A9B78,0x21 +asm/non_matchings/code/code_801A7B10/func_801A9BFC.s,func_801A9BFC,0x801A9BFC,0x1B +asm/non_matchings/code/code_801A7B10/func_801A9C68.s,func_801A9C68,0x801A9C68,0x2A +asm/non_matchings/code/code_801A7B10/func_801A9D10.s,func_801A9D10,0x801A9D10,0x2F +asm/non_matchings/code/code_801A7B10/func_801A9DCC.s,func_801A9DCC,0x801A9DCC,0x36 +asm/non_matchings/code/code_801A7B10/func_801A9EA4.s,func_801A9EA4,0x801A9EA4,0x2A +asm/non_matchings/code/code_801A7B10/func_801A9F4C.s,func_801A9F4C,0x801A9F4C,0x35 +asm/non_matchings/code/code_801AA020/func_801AA020.s,func_801AA020,0x801AA020,0x8A +asm/non_matchings/code/code_801AA020/func_801AA248.s,func_801AA248,0x801AA248,0x67 +asm/non_matchings/code/code_801AA020/func_801AA3E4.s,func_801AA3E4,0x801AA3E4,0x4F +asm/non_matchings/code/code_801AA020/func_801AA520.s,func_801AA520,0x801AA520,0x3C +asm/non_matchings/code/z_game_over/func_801AA610.s,func_801AA610,0x801AA610,0x5 +asm/non_matchings/code/z_game_over/func_801AA624.s,func_801AA624,0x801AA624,0x1A +asm/non_matchings/code/z_game_over/func_801AA68C.s,func_801AA68C,0x801AA68C,0x105 +asm/non_matchings/code/z_construct/nop_801AAAA0.s,nop_801AAAA0,0x801AAAA0,0x4 diff --git a/tools/split_asm.py b/tools/split_asm.py deleted file mode 100755 index b556be0738..0000000000 --- a/tools/split_asm.py +++ /dev/null @@ -1,240 +0,0 @@ -#!/usr/bin/env python3 -import argparse, os - -def split_asm_and_rodata(): - parser = argparse.ArgumentParser() - - parser.add_argument('input', help='input file') - parser.add_argument('output', help='output file path') - parser.add_argument('-c', '--c-base', help='create base c file that has GLOBAL_ASM for each function', metavar='file') - args = parser.parse_args() - - os.makedirs(args.output, exist_ok=True) - - file_names = [] - rodata_entries = [] - disableRodataConvert = False - - basename = str(args.input) - rodataFile = None - - if "ovl_" in basename: - if "0x" in basename: - basename = basename.split("0x")[0] - else: - basename = basename.split(".")[0] - else: # files in code - if "0x" in basename: - basename = basename.split("code_")[-1] - else: - basename = basename.split("/")[-1] - rodataFile = "asm/code/code_rodata_" + basename - - if rodataFile is None: - rodataFile = basename + "late_rodata.asm" - - if not os.path.exists(rodataFile): - rodataFile = basename + "rodata.asm" - - rodata_lines = [] - if os.path.exists(rodataFile) and not disableRodataConvert: - with open(rodataFile, 'r') as f: - rodata_lines = f.readlines() - current_rodata = None - for line in rodata_lines: - if line.startswith('glabel') and not line.startswith('glabel L80'): - current_rodata = line.split()[1] - assert(current_rodata != '') - if any([directive in line for directive in ['.byte', '.half', '.short', '.word', '.ascii', '.asciz', '.float', '.double']]): - rodata_entries.append([current_rodata, line, False]) - f.close() - - with open(args.input, 'r') as f: - current_file = None - relevant_rodata = [] - written_rodata = [] - writing = False - - lines = f.readlines() - for line in lines: - if line.startswith('glabel') and not line.startswith('glabel L80'): - func_name = line.split()[1] - assert(func_name != '') - - if current_file != None: - if len(relevant_rodata): - # Sort the rodata by it order of appearance in the original rodata file. - relevant_rodata.sort() - current_file.write("\n.section .late_rodata\n\n") - for rodataIndex, entry in relevant_rodata: - writeLabel = True - for labelName in written_rodata: - if entry[0] == labelName: - writeLabel = False - break - if writeLabel: - current_file.write("glabel " + entry[0] + "\n") - written_rodata.append(entry[0]) - current_file.write(entry[1]) - - if os.path.exists(rodataFile) and not disableRodataConvert: - with open(rodataFile, 'w+') as f: - f.truncate() - deleteLine = False - for xline in rodata_lines: - if deleteLine: - for rodataIndex, entry in relevant_rodata: - if xline.startswith('glabel') and not xline.startswith('glabel L80'): - deleteLine = False - break - if xline.startswith('glabel') and not xline.startswith('glabel L80'): - for labelName in written_rodata: - if labelName in xline: - deleteLine = True - break - if not deleteLine: - f.writelines([xline]) - f.close() - - relevant_rodata = [] - current_file.close() - file_name = args.output + '/' + func_name + '.asm' - current_file = open(file_name, 'w') - writing = True - file_names.append(file_name) - - if any([directive in line for directive in ['.byte', '.half', '.short', '.word', '.ascii', '.asciz', '.float', '.double']]): - writing = False - - for entries in rodata_entries: - entryLabel = entries[0] - addRodata = True - if not entryLabel: - print(args.input) - entryLabel = "" - - for rodataIndex, existing_entry in relevant_rodata: - if existing_entry[0] == entryLabel: - addRodata = False - break - - if addRodata: - if entryLabel in line: - for rodataIndex, xentries in enumerate(rodata_entries): - if entryLabel == xentries[0]: - # Is Used - xentries[2] = True - relevant_rodata.append((rodataIndex, xentries)) - break - if writing: - current_file.write(line) - - if current_file != None: - if len(relevant_rodata): - # Sort the rodata by it order of appearance in the original rodata file. - relevant_rodata.sort() - current_file.write("\n.section .late_rodata\n\n") - for rodataIndex, entry in relevant_rodata: - writeLabel = True - for labelName in written_rodata: - if entry[0] == labelName: - writeLabel = False - break - if writeLabel: - current_file.write("glabel " + entry[0] + "\n") - written_rodata.append(entry[0]) - current_file.write(entry[1]) - - if os.path.exists(rodataFile): - with open(rodataFile, 'w+') as f: - f.truncate() - deleteLine = False - for xline in rodata_lines: - if deleteLine: - for rodataIndex, entry in relevant_rodata: - if xline.startswith('glabel') and not xline.startswith('glabel L80'): - deleteLine = False - break - if xline.startswith('glabel') and not xline.startswith('glabel L80'): - for labelName in written_rodata: - if labelName in xline: - deleteLine = True - break - if not deleteLine: - f.writelines([xline]) - f.close() - - relevant_rodata = [] - written_rodata = [] - current_file.close() - - if args.c_base != None: - os.makedirs(os.path.dirname(args.c_base), exist_ok=True) - with open(args.c_base, 'w') as f: - f.write('#include \n#include \n') - - for name in file_names: - f.write('\n#pragma GLOBAL_ASM("{}")\n'.format(name)) - -rodata_excluded = [ - "ovl_Bg_Ikana_Mirror", "ovl_Boss_07", "ovl_Elf_Msg", - "ovl_En_Encount4", "ovl_En_Horse_Game", "ovl_En_Ossan", - "ovl_En_Slime", "ovl_En_Sob1", "ovl_En_Syateki_Man", - "ovl_En_Trt", "ovl_Mir_Ray", "ovl_Obj_Bombiwa", - "ovl_Obj_Hariko", "ovl_Obj_Mure", "ovl_Obj_Toudai", - "ovl_select", -] -rodata_included = [ - "z_en_item00" -] - -if __name__ == '__main__': - parser = argparse.ArgumentParser() - - parser.add_argument('input', help='input file') - parser.add_argument('output', help='output file path') - parser.add_argument('-c', '--c-base', help='create base c file that has GLOBAL_ASM for each function', metavar='file') - args = parser.parse_args() - - os.makedirs(args.output, exist_ok=True) - - file_names = [] - - if ("ovl_" in str(args.input) and not any(file in str(args.input) for file in rodata_excluded)) or any(file in str(args.input) for file in rodata_included): - split_asm_and_rodata() - exit(0) - - with open(args.input, 'r') as f: - current_file = None - writing = False - lines = f.readlines() - for line in lines: - if line.startswith('glabel') and not line.startswith('glabel L80'): - if current_file != None: - current_file.close() - func_name = line.split()[1] - - assert(func_name != '') - - file_name = args.output + '/' + func_name + '.asm' - current_file = open(file_name, 'w') - writing = True - file_names.append(file_name) - - if '.word' in line: - writing = False - - if writing: - current_file.write(line) - - if current_file != None: - current_file.close() - - if args.c_base != None: - os.makedirs(os.path.dirname(args.c_base), exist_ok=True) - with open(args.c_base, 'w') as f: - f.write('#include \n#include \n') - - for name in file_names: - f.write('\n#pragma GLOBAL_ASM("{}")\n'.format(name)) - diff --git a/tools/vt_fmt.py b/tools/vt_fmt.py new file mode 100755 index 0000000000..5f41f88aef --- /dev/null +++ b/tools/vt_fmt.py @@ -0,0 +1,74 @@ +#!/usr/bin/env python3 + +import argparse, re + +COLORS = [ + 'BLACK', + 'RED', + 'GREEN', + 'YELLOW', + 'BLUE', + 'PURPLE', + 'CYAN', + 'WHITE', + 'LIGHTGRAY', + 'DARKGRAY', +] + +def re_match(exp, text): + return re.compile(exp).match(text) is not None + +def vt_fmt(text): + curLiteral = False + chars = "" + + i = 0 + while i < len(text): + if text[i:i+5].lower() == '\\x1b[': + if curLiteral: + chars += '\"' + if i > 0: + chars += ' ' + + i += 5 + + code = text[i:text.find('m', i)] + i += len(code) + + if re_match('^4[0-9];3[0-9]$', code): + chars += 'VT_COL(' + COLORS[int(code[1])] + ', ' + COLORS[int(code[4])] + ')' + elif re_match('^4[0-9]$', code): + chars += 'VT_BGCOL(' + COLORS[int(code[1])] + ')' + elif re_match('^3[0-9]$', code): + chars += 'VT_FGCOL(' + COLORS[int(code[1])] + ')' + elif len(code) == 0: + chars += 'VT_RST' + else: + raise Exception('Invalid String') + + curLiteral = False + else: + if not curLiteral: + chars += ' \"' + chars += text[i] + curLiteral = True + + i += 1 + + + if curLiteral: + chars += '\"' + + return chars + + +def main(): + parser = argparse.ArgumentParser(description='Properly formats VT macros') + parser.add_argument('string', help='String to format') + args = parser.parse_args() + + print(vt_fmt(args.string)) + + +if __name__ == "__main__": + main() diff --git a/tools/vtxdis.c b/tools/vtxdis.c index 6650eec1d5..1ba6969635 100644 --- a/tools/vtxdis.c +++ b/tools/vtxdis.c @@ -36,7 +36,7 @@ const struct option cmdline_opts[] = { static uint32_t parse_int(const char *num){ uint32_t ret = 0; - char outnum[20]; + char outnum[21]; if(strlen(num) > 2 && num[0] == '0' && (num[1] == 'x' || num[1] == 'X')) { strncpy(outnum, &num[2], 20); sscanf(outnum, "%"SCNx32, &ret); diff --git a/tools/warnings_count/check_new_warnings.sh b/tools/warnings_count/check_new_warnings.sh index e5dc07e703..d9c4ab1e47 100755 --- a/tools/warnings_count/check_new_warnings.sh +++ b/tools/warnings_count/check_new_warnings.sh @@ -7,8 +7,10 @@ DIR="$(dirname "$(readlink -f "$0")")" cd "$DIR/../.." make distclean -make -j4 setup 2> tools/warnings_count/warnings_setup_new.txt -make -j4 all 2> tools/warnings_count/warnings_build_new.txt +make setup 2> tools/warnings_count/warnings_setup_new.txt +make disasm 2> tools/warnings_count/warnings_disasm_new.txt +make all 2> tools/warnings_count/warnings_build_new.txt python3 tools/warnings_count/compare_warnings.py tools/warnings_count/warnings_setup_current.txt tools/warnings_count/warnings_setup_new.txt +python3 tools/warnings_count/compare_warnings.py tools/warnings_count/warnings_disasm_current.txt tools/warnings_count/warnings_disasm_new.txt python3 tools/warnings_count/compare_warnings.py tools/warnings_count/warnings_build_current.txt tools/warnings_count/warnings_build_new.txt diff --git a/tools/warnings_count/update_current_warnings.sh b/tools/warnings_count/update_current_warnings.sh index d00c491f46..afbc4a4238 100755 --- a/tools/warnings_count/update_current_warnings.sh +++ b/tools/warnings_count/update_current_warnings.sh @@ -8,4 +8,5 @@ cd "$DIR/../.." make distclean make setup 2> tools/warnings_count/warnings_setup_current.txt +make disasm 2> tools/warnings_count/warnings_disasm_current.txt make all 2> tools/warnings_count/warnings_build_current.txt diff --git a/tools/warnings_count/warnings_disasm_current.txt b/tools/warnings_count/warnings_disasm_current.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tools/warnings_count/warnings_setup_current.txt b/tools/warnings_count/warnings_setup_current.txt index 30314771e1..e69de29bb2 100644 --- a/tools/warnings_count/warnings_setup_current.txt +++ b/tools/warnings_count/warnings_setup_current.txt @@ -1,7 +0,0 @@ -In file included from /usr/include/string.h:519, - from vtxdis.c:5: -In function ‘strncpy’, - inlined from ‘parse_int’ at vtxdis.c:41:9: -/usr/include/x86_64-linux-gnu/bits/string_fortified.h:106:10: warning: ‘__builtin_strncpy’ specified bound 20 equals destination size [-Wstringop-truncation] - 106 | return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest)); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/tools/z64compress/.editorconfig b/tools/z64compress/.editorconfig new file mode 100644 index 0000000000..342ff359ce --- /dev/null +++ b/tools/z64compress/.editorconfig @@ -0,0 +1,15 @@ +root = true + +[*] +end_of_line = lf +insert_final_newline = true + +# Matches multiple files with brace expansion notation +[*.{c,h,ch}] +charset = utf-8 +indent_style = tab +indent_size = 3 +trim_trailing_whitespace = false + +[*.md] +trim_trailing_whitespace = false diff --git a/tools/z64compress/.gitignore b/tools/z64compress/.gitignore new file mode 100644 index 0000000000..6a47e0517a --- /dev/null +++ b/tools/z64compress/.gitignore @@ -0,0 +1,3 @@ +bin/ +o/ +z64compress diff --git a/tools/asm-processor/.gitrepo b/tools/z64compress/.gitrepo similarity index 58% rename from tools/asm-processor/.gitrepo rename to tools/z64compress/.gitrepo index 67abf50735..381e0b183f 100644 --- a/tools/asm-processor/.gitrepo +++ b/tools/z64compress/.gitrepo @@ -4,9 +4,9 @@ ; git-subrepo command. See https://github.com/git-commands/git-subrepo#readme ; [subrepo] - remote = https://github.com/simonlindholm/asm-processor.git - branch = master - commit = 85288fcdfefd5d2644d9bac1230c8b4aa7c92024 - parent = 492b92579d6bc30f635cbcc3852de1b17ed1bc43 + remote = https://github.com/z64me/z64compress.git + branch = main + commit = 163ca2af2ebddf6368455a9ecb9f1c7eb56c5c28 + parent = 4a58404454e1b794a30e86c4f8459e720965d674 method = merge cmdver = 0.4.3 diff --git a/tools/z64compress/LICENSE b/tools/z64compress/LICENSE new file mode 100644 index 0000000000..f288702d2f --- /dev/null +++ b/tools/z64compress/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/tools/z64compress/Makefile b/tools/z64compress/Makefile new file mode 100644 index 0000000000..58a72dd024 --- /dev/null +++ b/tools/z64compress/Makefile @@ -0,0 +1,42 @@ +CC := gcc +CFLAGS := -DNDEBUG -s -Os -flto -Wall -Wextra + +OBJ_DIR := o + +# Target platform, specify with TARGET= on the command line, linux64 is default +# Currently supported: linux64, linux32, win32 +TARGET ?= linux64 + +ifeq ($(TARGET),linux32) + TARGET_CFLAGS := -m32 +else ifeq ($(TARGET),win32) +# If using a cross compiler, specify the compiler executable on the command line +# make TARGET=win32 CC=~/c/mxe/usr/bin/i686-w64-mingw32.static-gcc + TARGET_LIBS := -mconsole -municode +else ifneq ($(TARGET),linux64) + $(error Supported targets: linux64, linux32, win32) +endif + +OBJ_DIR := $(OBJ_DIR)/$(TARGET) + +$(OBJ_DIR)/src/enc/%.o: CFLAGS := -DNDEBUG -s -Ofast -flto -Wall + +SRC_DIRS := $(shell find src -type d) +C_FILES := $(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.c)) +O_FILES := $(foreach f,$(C_FILES:.c=.o),$(OBJ_DIR)/$f) + +# Make build directories +$(shell mkdir -p $(foreach dir,$(SRC_DIRS),$(OBJ_DIR)/$(dir))) + +.PHONY: all clean + +all: z64compress + +z64compress: $(O_FILES) + $(CC) $(TARGET_CFLAGS) $(CFLAGS) $(O_FILES) -lm -lpthread $(TARGET_LIBS) -o z64compress + +$(OBJ_DIR)/%.o: %.c + $(CC) -c $(TARGET_CFLAGS) $(CFLAGS) $< -o $@ + +clean: + $(RM) -rf z64compress bin o diff --git a/tools/z64compress/README.md b/tools/z64compress/README.md new file mode 100644 index 0000000000..b1944817aa --- /dev/null +++ b/tools/z64compress/README.md @@ -0,0 +1,92 @@ +# z64compress + +`z64compress` is a program for compressing Zelda 64 roms: be they retail, hacked traditionally, or custom-built from the [`Ocarina of Time`](https://github.com/zeldaret/oot) or [`Majora's Mask`](https://github.com/zeldaret/mm) reverse engineering projects. It is written in highly efficient C and leverages the power of multithreading to make compression as fast as possible. To reduce overhead on subsequent compressions, an optional cache directory can be specified. + +In addition to the default `yaz`, it supports some faster and more compact algorithms such as `lzo`, `ucl`, and `aplib`. In order to use these, grab patches or code from my [`z64enc` repository](https://github.com/z64me/z64enc). + +If you add an algorithm, please make sure `valgrind` reports no memory leaks or other errors before making a pull request. Thank you! + +## Usage +This is a command line application. Learn from these common examples and adapt the arguments to your needs: +``` + compressing oot debug + --in "path/to/in.z64" + --out "path/to/out.z64" + --mb 32 + --codec yaz + --cache "path/to/cache" + --dma "0x12F70,1548" + --compress "9-14,28-END" + --threads 4 + + compressing oot ntsc 1.0 + --in "path/to/in.z64" + --out "path/to/out.z64" + --mb 32 + --codec yaz + --cache "path/to/cache" + --dma "0x7430,1526" + --compress "10-14,27-END" + --threads 4 + + compressing mm usa + --in "path/to/in.z64" + --out "path/to/out.z64" + --mb 32 + --codec yaz + --cache "path/to/cache" + --dma "0x1A500,1568" + --compress "10-14,23,24,31-END" + --skip "1127" + --repack "15-20,22" + --threads 4 +``` + +## Arguments +``` + --in uncompressed input rom + + --out compressed output rom + + --matching attempt matching compression at the cost of + some optimizations and reduced performance + + --mb how many mb the compressed rom should be + + --codec currently supported codecs + yaz + ucl + lzo + aplib + * to use non-yaz codecs, find patches + and code on my z64enc repo + + --cache is optional and won't be created if + no path is specified (having a cache + makes subsequent compressions faster) + * pro-tip: linux users who don't want a + cache to persist across power cycles + can use the path "/tmp/z64compress" + + --dma specify dmadata address and count + + --compress enable compression on specified files + + --skip disable compression on specified files + + --repack handles Majora's Mask archives + + --threads optional multithreading; + exclude this argument to disable it + + --only-stdout reserve stderr for errors and print + everything else to stdout + + arguments are executed as they + are parsed, so order matters! +``` + +## Building +I have included shell scripts for building Linux and Windows binaries. Windows binaries are built using a cross compiler ([I recommend `MXE`](https://mxe.cc/)). + +Alternatively, a Makefile-based build system is provided. Choose the target platform with `make TARGET=linux64|linux32|win32`, default is linux64. If building for windows with a cross compiler, specify the compiler executable with `make TARGET=win32 CC=/path/to/executable`. diff --git a/tools/z64compress/release-linux.sh b/tools/z64compress/release-linux.sh new file mode 100755 index 0000000000..6c63d76580 --- /dev/null +++ b/tools/z64compress/release-linux.sh @@ -0,0 +1,14 @@ +# build compression functions (slow) +gcc -DNDEBUG -s -Ofast -flto -lm -c -Wall src/enc/*.c src/enc/lzo/*.c src/enc/ucl/comp/*.c src/enc/apultra/*.c +mkdir -p o +mv *.o o + +# build everything else +gcc -o z64compress -DNDEBUG src/*.c o/*.o -Wall -Wextra -s -Os -flto -lpthread + +# move to bin directory +mkdir -p bin/linux64 +mv z64compress bin/linux64 + + + diff --git a/tools/z64compress/release-linux32.sh b/tools/z64compress/release-linux32.sh new file mode 100755 index 0000000000..868f998a06 --- /dev/null +++ b/tools/z64compress/release-linux32.sh @@ -0,0 +1,14 @@ +# build compression functions (slow) +gcc -m32 -DNDEBUG -s -Ofast -flto -lm -c -Wall src/enc/*.c src/enc/lzo/*.c src/enc/ucl/comp/*.c src/enc/apultra/*.c +mkdir -p o +mv *.o o + +# build everything else +gcc -m32 -o z64compress -DNDEBUG src/*.c o/*.o -Wall -Wextra -s -Os -flto -lpthread + +# move to bin directory +mkdir -p bin/linux32 +mv z64compress bin/linux32 + + + diff --git a/tools/z64compress/release-win32.sh b/tools/z64compress/release-win32.sh new file mode 100755 index 0000000000..5b115816d8 --- /dev/null +++ b/tools/z64compress/release-win32.sh @@ -0,0 +1,12 @@ +# build compression functions (slow) +~/c/mxe/usr/bin/i686-w64-mingw32.static-gcc -DNDEBUG -s -Ofast -flto -lm -c -Wall src/enc/*.c src/enc/lzo/*.c src/enc/ucl/comp/*.c src/enc/apultra/*.c +mkdir -p o +mv *.o o + +# build everything else +~/c/mxe/usr/bin/i686-w64-mingw32.static-gcc -o z64compress.exe -DNDEBUG src/*.c o/*.o -Wall -Wextra -s -Os -flto -lpthread -mconsole -municode + +# move to bin directory +mkdir -p bin/win32 +mv z64compress.exe bin/win32 + diff --git a/tools/z64compress/src/enc/aplib.c b/tools/z64compress/src/enc/aplib.c new file mode 100644 index 0000000000..e4aa95f812 --- /dev/null +++ b/tools/z64compress/src/enc/aplib.c @@ -0,0 +1,48 @@ +#include +#include +#include +#include "apultra/libapultra.h" + +static void compression_progress(long long nOriginalSize, long long nCompressedSize) { + /* do nothing */ +} + +int +aplenc( + void *_src + , unsigned src_sz + , void *_dst + , unsigned *dst_sz + , void *_ctx +) +{ + unsigned char *src = _src; + unsigned char *dst = _dst; + int nMaxCompressedSize = apultra_get_max_compressed_size(src_sz); + apultra_stats stats; + + int hlen = 8; /* header length; required due to MM's archives */ + memset(dst, 0, hlen); + memcpy(dst, "APL0", 4); + dst[4] = (src_sz >> 24); + dst[5] = (src_sz >> 16); + dst[6] = (src_sz >> 8); + dst[7] = (src_sz >> 0); + + *dst_sz = apultra_compress( + src + , dst + hlen + , src_sz + , nMaxCompressedSize + , 0 /* flags */ + , 0 /* nMaxWindowSize */ + , 0 /* nDictionarySize */ + , compression_progress + , &stats + ); + + *dst_sz = *dst_sz + hlen; + + return 0; +} + diff --git a/tools/z64compress/src/enc/apultra/apultra.c b/tools/z64compress/src/enc/apultra/apultra.c new file mode 100644 index 0000000000..a61d6b41c6 --- /dev/null +++ b/tools/z64compress/src/enc/apultra/apultra.c @@ -0,0 +1,1225 @@ +#if 0 +/* + * apultra.c - command line compression utility for the apultra library + * + * Copyright (C) 2019 Emmanuel Marty + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + */ + +/* + * Uses the libdivsufsort library Copyright (c) 2003-2008 Yuta Mori + * + * Inspired by cap by Sven-Åke Dahl. https://github.com/svendahl/cap + * Also inspired by Charles Bloom's compression blog. http://cbloomrants.blogspot.com/ + * With ideas from LZ4 by Yann Collet. https://github.com/lz4/lz4 + * With help and support from spke + * + */ + +#include +#include +#include +#ifdef _WIN32 +#include +#include +#else +#include +#endif +#include "libapultra.h" + +#define OPT_VERBOSE 1 +#define OPT_STATS 2 +#define OPT_BACKWARD 4 + +#define TOOL_VERSION "1.4.1" + +/*---------------------------------------------------------------------------*/ + +#ifdef _WIN32 +LARGE_INTEGER hpc_frequency; +BOOL hpc_available = FALSE; +#endif + +static void do_init_time() { +#ifdef _WIN32 + hpc_frequency.QuadPart = 0; + hpc_available = QueryPerformanceFrequency(&hpc_frequency); +#endif +} + +static long long do_get_time() { + long long nTime; + +#ifdef _WIN32 + if (hpc_available) { + LARGE_INTEGER nCurTime; + + /* Use HPC hardware for best precision */ + QueryPerformanceCounter(&nCurTime); + nTime = (long long)(nCurTime.QuadPart * 1000000LL / hpc_frequency.QuadPart); + } + else { + struct _timeb tb; + _ftime(&tb); + + nTime = ((long long)tb.time * 1000LL + (long long)tb.millitm) * 1000LL; + } +#else + struct timeval tm; + gettimeofday(&tm, NULL); + + nTime = (long long)tm.tv_sec * 1000000LL + (long long)tm.tv_usec; +#endif + return nTime; +} + +static void do_reverse_buffer(unsigned char *pBuffer, size_t nBufferSize) { + size_t nMidPoint = nBufferSize / 2; + size_t i, j; + + for (i = 0, j = nBufferSize - 1; i < nMidPoint; i++, j--) { + unsigned char c = pBuffer[i]; + pBuffer[i] = pBuffer[j]; + pBuffer[j] = c; + } +} + +/*---------------------------------------------------------------------------*/ + +static void compression_progress(long long nOriginalSize, long long nCompressedSize) { + if (nOriginalSize >= 512 * 1024) { + fprintf(stdout, "\r%lld => %lld (%g %%) \b\b\b\b\b", nOriginalSize, nCompressedSize, (double)(nCompressedSize * 100.0 / nOriginalSize)); + fflush(stdout); + } +} + +static int do_compress(const char *pszInFilename, const char *pszOutFilename, const char *pszDictionaryFilename, const unsigned int nOptions, const unsigned int nMaxWindowSize) { + long long nStartTime = 0LL, nEndTime = 0LL; + size_t nOriginalSize = 0L, nCompressedSize = 0L, nMaxCompressedSize; + int nFlags = 0; + apultra_stats stats; + unsigned char *pDecompressedData; + unsigned char *pCompressedData; + + if (nOptions & OPT_VERBOSE) { + nStartTime = do_get_time(); + } + + FILE* f_dict = NULL; + size_t nDictionarySize = 0; + if (pszDictionaryFilename) { + /* Open the dictionary */ + f_dict = fopen(pszDictionaryFilename, "rb"); + if (!f_dict) { + fprintf(stderr, "error opening dictionary '%s' for reading\n", pszDictionaryFilename); + return 100; + } + + /* Get dictionary size */ + fseek(f_dict, 0, SEEK_END); + nDictionarySize = (size_t)ftell(f_dict); + fseek(f_dict, 0, SEEK_SET); + + if (nDictionarySize > BLOCK_SIZE) nDictionarySize = BLOCK_SIZE; + } + + /* Read the whole original file in memory */ + + FILE *f_in = fopen(pszInFilename, "rb"); + if (!f_in) { + if (f_dict) fclose(f_dict); + fprintf(stderr, "error opening '%s' for reading\n", pszInFilename); + return 100; + } + + fseek(f_in, 0, SEEK_END); + nOriginalSize = (size_t)ftell(f_in); + fseek(f_in, 0, SEEK_SET); + + pDecompressedData = (unsigned char*)malloc(nDictionarySize + nOriginalSize); + if (!pDecompressedData) { + fclose(f_in); + if (f_dict) fclose(f_dict); + fprintf(stderr, "out of memory for reading '%s', %zd bytes needed\n", pszInFilename, nOriginalSize); + return 100; + } + + if (f_dict) { + /* Read dictionary data */ + if (fread(pDecompressedData + ((nOptions & OPT_BACKWARD) ? nOriginalSize : 0), 1, nDictionarySize, f_dict) != nDictionarySize) { + free(pDecompressedData); + fclose(f_in); + fclose(f_dict); + fprintf(stderr, "I/O error while reading dictionary '%s'\n", pszDictionaryFilename); + return 100; + } + + fclose(f_dict); + f_dict = NULL; + } + + /* Read input file data */ + if (fread(pDecompressedData + ((nOptions & OPT_BACKWARD) ? 0 : nDictionarySize), 1, nOriginalSize, f_in) != nOriginalSize) { + free(pDecompressedData); + fclose(f_in); + fprintf(stderr, "I/O error while reading '%s'\n", pszInFilename); + return 100; + } + + fclose(f_in); + + if (nOptions & OPT_BACKWARD) + do_reverse_buffer(pDecompressedData, nDictionarySize + nOriginalSize); + + /* Allocate max compressed size */ + + nMaxCompressedSize = apultra_get_max_compressed_size(nDictionarySize + nOriginalSize); + + pCompressedData = (unsigned char*)malloc(nMaxCompressedSize); + if (!pCompressedData) { + free(pDecompressedData); + fprintf(stderr, "out of memory for compressing '%s', %zd bytes needed\n", pszInFilename, nMaxCompressedSize); + return 100; + } + + memset(pCompressedData, 0, nMaxCompressedSize); + + nCompressedSize = apultra_compress(pDecompressedData, pCompressedData, nDictionarySize + nOriginalSize, nMaxCompressedSize, nFlags, nMaxWindowSize, nDictionarySize, compression_progress, &stats); + + if ((nOptions & OPT_VERBOSE)) { + nEndTime = do_get_time(); + } + + if (nCompressedSize == -1) { + free(pCompressedData); + free(pDecompressedData); + fprintf(stderr, "compression error for '%s'\n", pszInFilename); + return 100; + } + + if (nOptions & OPT_BACKWARD) + do_reverse_buffer(pCompressedData, nCompressedSize); + + if (pszOutFilename) { + FILE *f_out; + + /* Write whole compressed file out */ + + f_out = fopen(pszOutFilename, "wb"); + if (f_out) { + fwrite(pCompressedData, 1, nCompressedSize, f_out); + fclose(f_out); + } + } + + free(pCompressedData); + free(pDecompressedData); + + if ((nOptions & OPT_VERBOSE)) { + double fDelta = ((double)(nEndTime - nStartTime)) / 1000000.0; + double fSpeed = ((double)nOriginalSize / 1048576.0) / fDelta; + fprintf(stdout, "\rCompressed '%s' in %g seconds, %.02g Mb/s, %d tokens (%g bytes/token), %d into %d bytes ==> %g %%\n", + pszInFilename, fDelta, fSpeed, stats.commands_divisor, (double)nOriginalSize / (double)stats.commands_divisor, + (int)nOriginalSize, (int)nCompressedSize, (double)(nCompressedSize * 100.0 / nOriginalSize)); + } + + if (nOptions & OPT_STATS) { + fprintf(stdout, "Tokens: literals: %d short matches: %d normal matches: %d large matches: %d rep matches: %d EOD: %d\n", + stats.num_literals, stats.num_4bit_matches, stats.num_7bit_matches, stats.num_variable_matches, stats.num_rep_matches, stats.num_eod); + if (stats.match_divisor > 0) { + fprintf(stdout, "Offsets: min: %d avg: %d max: %d count: %d\n", stats.min_offset, (int)(stats.total_offsets / (long long)stats.match_divisor), stats.max_offset, stats.match_divisor); + fprintf(stdout, "Match lens: min: %d avg: %d max: %d count: %d\n", stats.min_match_len, stats.total_match_lens / stats.match_divisor, stats.max_match_len, stats.match_divisor); + } + else { + fprintf(stdout, "Offsets: none\n"); + fprintf(stdout, "Match lens: none\n"); + } + if (stats.rle1_divisor > 0) { + fprintf(stdout, "RLE1 lens: min: %d avg: %d max: %d count: %d\n", stats.min_rle1_len, stats.total_rle1_lens / stats.rle1_divisor, stats.max_rle1_len, stats.rle1_divisor); + } + else { + fprintf(stdout, "RLE1 lens: none\n"); + } + if (stats.rle2_divisor > 0) { + fprintf(stdout, "RLE2 lens: min: %d avg: %d max: %d count: %d\n", stats.min_rle2_len, stats.total_rle2_lens / stats.rle2_divisor, stats.max_rle2_len, stats.rle2_divisor); + } + else { + fprintf(stdout, "RLE2 lens: none\n"); + } + fprintf(stdout, "Safe distance: %d (0x%X)\n", stats.safe_dist, stats.safe_dist); + } + return 0; +} + +/*---------------------------------------------------------------------------*/ + +static int do_decompress(const char *pszInFilename, const char *pszOutFilename, const char *pszDictionaryFilename, const unsigned int nOptions) { + long long nStartTime = 0LL, nEndTime = 0LL; + size_t nCompressedSize, nMaxDecompressedSize, nOriginalSize; + unsigned char *pCompressedData; + unsigned char *pDecompressedData; + int nFlags = 0; + + /* Read the whole compressed file in memory */ + + FILE *f_in = fopen(pszInFilename, "rb"); + if (!f_in) { + fprintf(stderr, "error opening '%s' for reading\n", pszInFilename); + return 100; + } + + fseek(f_in, 0, SEEK_END); + nCompressedSize = (size_t)ftell(f_in); + fseek(f_in, 0, SEEK_SET); + + pCompressedData = (unsigned char*)malloc(nCompressedSize); + if (!pCompressedData) { + fclose(f_in); + fprintf(stderr, "out of memory for reading '%s', %zd bytes needed\n", pszInFilename, nCompressedSize); + return 100; + } + + if (fread(pCompressedData, 1, nCompressedSize, f_in) != nCompressedSize) { + free(pCompressedData); + fclose(f_in); + fprintf(stderr, "I/O error while reading '%s'\n", pszInFilename); + return 100; + } + + fclose(f_in); + + if (nOptions & OPT_BACKWARD) + do_reverse_buffer(pCompressedData, nCompressedSize); + + /* Get max decompressed size */ + + nMaxDecompressedSize = apultra_get_max_decompressed_size(pCompressedData, nCompressedSize, nFlags); + if (nMaxDecompressedSize == -1) { + free(pCompressedData); + fprintf(stderr, "invalid compressed format for file '%s'\n", pszInFilename); + return 100; + } + + FILE* f_dict = NULL; + size_t nDictionarySize = 0; + if (pszDictionaryFilename) { + /* Open the dictionary */ + f_dict = fopen(pszDictionaryFilename, "rb"); + if (!f_dict) { + fprintf(stderr, "error opening dictionary '%s' for reading\n", pszDictionaryFilename); + return 100; + } + + /* Get dictionary size */ + fseek(f_dict, 0, SEEK_END); + nDictionarySize = (size_t)ftell(f_dict); + fseek(f_dict, 0, SEEK_SET); + + if (nDictionarySize > BLOCK_SIZE) nDictionarySize = BLOCK_SIZE; + } + + /* Allocate max decompressed size */ + + pDecompressedData = (unsigned char*)malloc(nDictionarySize + nMaxDecompressedSize); + if (!pDecompressedData) { + free(pCompressedData); + if (f_dict) fclose(f_dict); + fprintf(stderr, "out of memory for decompressing '%s', %zd bytes needed\n", pszInFilename, nMaxDecompressedSize); + return 100; + } + + memset(pDecompressedData, 0, nDictionarySize + nMaxDecompressedSize); + + if (f_dict) { + /* Read dictionary data */ + if (fread(pDecompressedData, 1, nDictionarySize, f_dict) != nDictionarySize) { + free(pDecompressedData); + fclose(f_in); + fclose(f_dict); + fprintf(stderr, "I/O error while reading dictionary '%s'\n", pszDictionaryFilename); + return 100; + } + + fclose(f_dict); + f_dict = NULL; + + if (nOptions & OPT_BACKWARD) + do_reverse_buffer(pDecompressedData, nDictionarySize); + } + + if (nOptions & OPT_VERBOSE) { + nStartTime = do_get_time(); + } + + nOriginalSize = apultra_decompress(pCompressedData, pDecompressedData, nCompressedSize, nMaxDecompressedSize, nDictionarySize, nFlags); + if (nOriginalSize == -1) { + free(pDecompressedData); + free(pCompressedData); + + fprintf(stderr, "decompression error for '%s'\n", pszInFilename); + return 100; + } + + if (nOptions & OPT_BACKWARD) + do_reverse_buffer(pDecompressedData + nDictionarySize, nOriginalSize); + + if (pszOutFilename) { + FILE *f_out; + + /* Write whole decompressed file out */ + + f_out = fopen(pszOutFilename, "wb"); + if (f_out) { + fwrite(pDecompressedData + nDictionarySize, 1, nOriginalSize, f_out); + fclose(f_out); + } + } + + free(pDecompressedData); + free(pCompressedData); + + if (nOptions & OPT_VERBOSE) { + nEndTime = do_get_time(); + double fDelta = ((double)(nEndTime - nStartTime)) / 1000000.0; + double fSpeed = ((double)nOriginalSize / 1048576.0) / fDelta; + fprintf(stdout, "Decompressed '%s' in %g seconds, %g Mb/s\n", + pszInFilename, fDelta, fSpeed); + } + + return 0; +} + +/*---------------------------------------------------------------------------*/ + +static int do_compare(const char *pszInFilename, const char *pszOutFilename, const char *pszDictionaryFilename, const unsigned int nOptions) { + long long nStartTime = 0LL, nEndTime = 0LL; + size_t nCompressedSize, nMaxDecompressedSize, nOriginalSize, nDecompressedSize; + unsigned char *pCompressedData = NULL; + unsigned char *pOriginalData = NULL; + unsigned char *pDecompressedData = NULL; + int nFlags = 0; + + /* Read the whole compressed file in memory */ + + FILE *f_in = fopen(pszInFilename, "rb"); + if (!f_in) { + fprintf(stderr, "error opening '%s' for reading\n", pszInFilename); + return 100; + } + + fseek(f_in, 0, SEEK_END); + nCompressedSize = (size_t)ftell(f_in); + fseek(f_in, 0, SEEK_SET); + + pCompressedData = (unsigned char*)malloc(nCompressedSize); + if (!pCompressedData) { + fclose(f_in); + fprintf(stderr, "out of memory for reading '%s', %zd bytes needed\n", pszInFilename, nCompressedSize); + return 100; + } + + if (fread(pCompressedData, 1, nCompressedSize, f_in) != nCompressedSize) { + free(pCompressedData); + fclose(f_in); + fprintf(stderr, "I/O error while reading '%s'\n", pszInFilename); + return 100; + } + + fclose(f_in); + + if (nOptions & OPT_BACKWARD) + do_reverse_buffer(pCompressedData, nCompressedSize); + + /* Read the whole original file in memory */ + + f_in = fopen(pszOutFilename, "rb"); + if (!f_in) { + free(pCompressedData); + fprintf(stderr, "error opening '%s' for reading\n", pszInFilename); + return 100; + } + + fseek(f_in, 0, SEEK_END); + nOriginalSize = (size_t)ftell(f_in); + fseek(f_in, 0, SEEK_SET); + + pOriginalData = (unsigned char*)malloc(nOriginalSize); + if (!pOriginalData) { + fclose(f_in); + free(pCompressedData); + fprintf(stderr, "out of memory for reading '%s', %zd bytes needed\n", pszInFilename, nOriginalSize); + return 100; + } + + if (fread(pOriginalData, 1, nOriginalSize, f_in) != nOriginalSize) { + free(pOriginalData); + fclose(f_in); + free(pCompressedData); + fprintf(stderr, "I/O error while reading '%s'\n", pszInFilename); + return 100; + } + + fclose(f_in); + + /* Get max decompressed size */ + + nMaxDecompressedSize = apultra_get_max_decompressed_size(pCompressedData, nCompressedSize, nFlags); + if (nMaxDecompressedSize == -1) { + free(pOriginalData); + free(pCompressedData); + fprintf(stderr, "invalid compressed format for file '%s'\n", pszInFilename); + return 100; + } + + FILE* f_dict = NULL; + size_t nDictionarySize = 0; + if (pszDictionaryFilename) { + /* Open the dictionary */ + f_dict = fopen(pszDictionaryFilename, "rb"); + if (!f_dict) { + fprintf(stderr, "error opening dictionary '%s' for reading\n", pszDictionaryFilename); + return 100; + } + + /* Get dictionary size */ + fseek(f_dict, 0, SEEK_END); + nDictionarySize = (size_t)ftell(f_dict); + fseek(f_dict, 0, SEEK_SET); + + if (nDictionarySize > BLOCK_SIZE) nDictionarySize = BLOCK_SIZE; + } + + /* Allocate max decompressed size */ + + pDecompressedData = (unsigned char*)malloc(nDictionarySize + nMaxDecompressedSize); + if (!pDecompressedData) { + free(pOriginalData); + free(pCompressedData); + if (f_dict) fclose(f_dict); + fprintf(stderr, "out of memory for decompressing '%s', %zd bytes needed\n", pszInFilename, nMaxDecompressedSize); + return 100; + } + + memset(pDecompressedData, 0, nDictionarySize + nMaxDecompressedSize); + + if (f_dict) { + /* Read dictionary data */ + if (fread(pDecompressedData, 1, nDictionarySize, f_dict) != nDictionarySize) { + free(pDecompressedData); + fclose(f_in); + fclose(f_dict); + fprintf(stderr, "I/O error while reading dictionary '%s'\n", pszDictionaryFilename); + return 100; + } + + fclose(f_dict); + f_dict = NULL; + + if (nOptions & OPT_BACKWARD) + do_reverse_buffer(pDecompressedData, nDictionarySize); + } + + if (nOptions & OPT_VERBOSE) { + nStartTime = do_get_time(); + } + + nDecompressedSize = apultra_decompress(pCompressedData, pDecompressedData, nCompressedSize, nMaxDecompressedSize, nDictionarySize, nFlags); + if (nDecompressedSize == -1) { + free(pDecompressedData); + free(pOriginalData); + free(pCompressedData); + + fprintf(stderr, "decompression error for '%s'\n", pszInFilename); + return 100; + } + + if (nOptions & OPT_BACKWARD) + do_reverse_buffer(pDecompressedData + nDictionarySize, nDecompressedSize); + + if (nDecompressedSize != nOriginalSize || memcmp(pDecompressedData + nDictionarySize, pOriginalData, nOriginalSize)) { + fprintf(stderr, "error comparing compressed file '%s' with original '%s'\n", pszInFilename, pszOutFilename); + return 100; + } + + free(pDecompressedData); + free(pOriginalData); + free(pCompressedData); + + if (nOptions & OPT_VERBOSE) { + nEndTime = do_get_time(); + double fDelta = ((double)(nEndTime - nStartTime)) / 1000000.0; + double fSpeed = ((double)nOriginalSize / 1048576.0) / fDelta; + fprintf(stdout, "Compared '%s' in %g seconds, %g Mb/s\n", + pszInFilename, fDelta, fSpeed); + } + + return 0; +} + +/*---------------------------------------------------------------------------*/ + +static void generate_compressible_data(unsigned char *pBuffer, size_t nBufferSize, unsigned int nSeed, int nNumLiteralValues, float fMatchProbability) { + size_t nIndex = 0; + int nMatchProbability = (int)(fMatchProbability * 1023.0f); + + srand(nSeed); + + if (nIndex >= nBufferSize) return; + pBuffer[nIndex++] = rand() % nNumLiteralValues; + + while (nIndex < nBufferSize) { + if ((rand() & 1023) >= nMatchProbability) { + size_t nLiteralCount = rand() & 127; + if (nLiteralCount > (nBufferSize - nIndex)) + nLiteralCount = nBufferSize - nIndex; + + while (nLiteralCount--) + pBuffer[nIndex++] = rand() % nNumLiteralValues; + } + else { + size_t nMatchLength = MIN_MATCH_SIZE + (rand() & 1023); + size_t nMatchOffset; + + if (nMatchLength > (nBufferSize - nIndex)) + nMatchLength = nBufferSize - nIndex; + if (nMatchLength > nIndex) + nMatchLength = nIndex; + + if (nMatchLength < nIndex) + nMatchOffset = rand() % (nIndex - nMatchLength); + else + nMatchOffset = 0; + + while (nMatchLength--) { + pBuffer[nIndex] = pBuffer[nIndex - nMatchOffset]; + nIndex++; + } + } + } +} + +static void xor_data(unsigned char *pBuffer, size_t nBufferSize, unsigned int nSeed, float fXorProbability) { + size_t nIndex = 0; + int nXorProbability = (int)(fXorProbability * 1023.0f); + + srand(nSeed); + + if (nIndex >= nBufferSize) return; + + while (nIndex < nBufferSize) { + if ((rand() & 1023) < nXorProbability) { + pBuffer[nIndex] ^= 0xff; + } + nIndex++; + } +} + +static int do_self_test(const unsigned int nOptions, const unsigned int nMaxWindowSize, const int nIsQuickTest) { + unsigned char *pGeneratedData; + unsigned char *pCompressedData; + unsigned char *pTmpCompressedData; + unsigned char *pTmpDecompressedData; + size_t nGeneratedDataSize; + size_t nMaxCompressedDataSize; + unsigned int nSeed = 123; + int nFlags = 0; + int i; + + pGeneratedData = (unsigned char*)malloc(4 * BLOCK_SIZE); + if (!pGeneratedData) { + fprintf(stderr, "out of memory, %d bytes needed\n", 4 * BLOCK_SIZE); + return 100; + } + + nMaxCompressedDataSize = apultra_get_max_compressed_size(4 * BLOCK_SIZE); + pCompressedData = (unsigned char*)malloc(nMaxCompressedDataSize); + if (!pCompressedData) { + free(pGeneratedData); + pGeneratedData = NULL; + + fprintf(stderr, "out of memory, %zd bytes needed\n", nMaxCompressedDataSize); + return 100; + } + + pTmpCompressedData = (unsigned char*)malloc(nMaxCompressedDataSize); + if (!pTmpCompressedData) { + free(pCompressedData); + pCompressedData = NULL; + free(pGeneratedData); + pGeneratedData = NULL; + + fprintf(stderr, "out of memory, %zd bytes needed\n", nMaxCompressedDataSize); + return 100; + } + + pTmpDecompressedData = (unsigned char*)malloc(4 * BLOCK_SIZE); + if (!pTmpDecompressedData) { + free(pTmpCompressedData); + pTmpCompressedData = NULL; + free(pCompressedData); + pCompressedData = NULL; + free(pGeneratedData); + pGeneratedData = NULL; + + fprintf(stderr, "out of memory, %d bytes needed\n", 4 * BLOCK_SIZE); + return 100; + } + + memset(pGeneratedData, 0, 4 * BLOCK_SIZE); + memset(pCompressedData, 0, nMaxCompressedDataSize); + memset(pTmpCompressedData, 0, nMaxCompressedDataSize); + + /* Test compressing with a too small buffer to do anything, expect to fail cleanly */ + for (i = 0; i < 12; i++) { + generate_compressible_data(pGeneratedData, i, nSeed, 256, 0.5f); + apultra_compress(pGeneratedData, pCompressedData, i, i, nFlags, nMaxWindowSize, 0 /* dictionary size */, NULL, NULL); + } + + size_t nDataSizeStep = 128; + float fProbabilitySizeStep = nIsQuickTest ? 0.005f : 0.0005f; + + for (nGeneratedDataSize = 1024; nGeneratedDataSize <= (nIsQuickTest ? 1024U : (4U * BLOCK_SIZE)); nGeneratedDataSize += nDataSizeStep) { + float fMatchProbability; + + fprintf(stdout, "size %zd", nGeneratedDataSize); + for (fMatchProbability = 0; fMatchProbability <= 0.995f; fMatchProbability += fProbabilitySizeStep) { + int nNumLiteralValues[12] = { 1, 2, 3, 15, 30, 56, 96, 137, 178, 191, 255, 256 }; + float fXorProbability; + + fputc('.', stdout); + fflush(stdout); + + for (i = 0; i < 12; i++) { + /* Generate data to compress */ + generate_compressible_data(pGeneratedData, nGeneratedDataSize, nSeed, nNumLiteralValues[i], fMatchProbability); + + /* Try to compress it, expected to succeed */ + size_t nActualCompressedSize = apultra_compress(pGeneratedData, pCompressedData, nGeneratedDataSize, apultra_get_max_compressed_size(nGeneratedDataSize), + nFlags, nMaxWindowSize, 0 /* dictionary size */, NULL, NULL); + if (nActualCompressedSize == -1 || nActualCompressedSize < (1 + 1 + 1 /* footer */)) { + free(pTmpDecompressedData); + pTmpDecompressedData = NULL; + free(pTmpCompressedData); + pTmpCompressedData = NULL; + free(pCompressedData); + pCompressedData = NULL; + free(pGeneratedData); + pGeneratedData = NULL; + + fprintf(stderr, "\nself-test: error compressing size %zd, seed %d, match probability %f, literals range %d\n", nGeneratedDataSize, nSeed, fMatchProbability, nNumLiteralValues[i]); + return 100; + } + + /* Try to decompress it, expected to succeed */ + size_t nActualDecompressedSize; + nActualDecompressedSize = apultra_decompress(pCompressedData, pTmpDecompressedData, nActualCompressedSize, nGeneratedDataSize, 0 /* dictionary size */, nFlags); + if (nActualDecompressedSize == -1) { + free(pTmpDecompressedData); + pTmpDecompressedData = NULL; + free(pTmpCompressedData); + pTmpCompressedData = NULL; + free(pCompressedData); + pCompressedData = NULL; + free(pGeneratedData); + pGeneratedData = NULL; + + fprintf(stderr, "\nself-test: error decompressing size %zd, seed %d, match probability %f, literals range %d\n", nGeneratedDataSize, nSeed, fMatchProbability, nNumLiteralValues[i]); + return 100; + } + + if (memcmp(pGeneratedData, pTmpDecompressedData, nGeneratedDataSize)) { + free(pTmpDecompressedData); + pTmpDecompressedData = NULL; + free(pTmpCompressedData); + pTmpCompressedData = NULL; + free(pCompressedData); + pCompressedData = NULL; + free(pGeneratedData); + pGeneratedData = NULL; + + fprintf(stderr, "\nself-test: error comparing decompressed and original data, size %zd, seed %d, match probability %f, literals range %d\n", nGeneratedDataSize, nSeed, fMatchProbability, nNumLiteralValues[i]); + return 100; + } + + /* Try to decompress corrupted data, expected to fail cleanly, without crashing or corrupting memory outside the output buffer */ + for (fXorProbability = 0.05f; fXorProbability <= 0.5f; fXorProbability += 0.05f) { + memcpy(pTmpCompressedData, pCompressedData, nActualCompressedSize); + xor_data(pTmpCompressedData, nActualCompressedSize, nSeed, fXorProbability); + apultra_decompress(pTmpCompressedData, pGeneratedData, nActualCompressedSize, nGeneratedDataSize, 0 /* dictionary size */, nFlags); + } + } + + nSeed++; + } + + fputc(10, stdout); + fflush(stdout); + + nDataSizeStep <<= 1; + if (nDataSizeStep > (128 * 4096)) + nDataSizeStep = 128 * 4096; + fProbabilitySizeStep *= 1.25; + if (fProbabilitySizeStep > (0.0005f * 4096)) + fProbabilitySizeStep = 0.0005f * 4096; + } + + free(pTmpDecompressedData); + pTmpDecompressedData = NULL; + + free(pTmpCompressedData); + pTmpCompressedData = NULL; + + free(pCompressedData); + pCompressedData = NULL; + + free(pGeneratedData); + pGeneratedData = NULL; + + fprintf(stdout, "All tests passed.\n"); + return 0; +} + +/*---------------------------------------------------------------------------*/ + +static int do_compr_benchmark(const char *pszInFilename, const char *pszOutFilename, const char *pszDictionaryFilename, const unsigned int nOptions, const unsigned int nMaxWindowSize) { + size_t nFileSize, nMaxCompressedSize; + unsigned char *pFileData; + unsigned char *pCompressedData; + int nFlags = 0; + int i; + + if (pszDictionaryFilename) { + fprintf(stderr, "in-memory benchmarking does not support dictionaries\n"); + return 100; + } + + /* Read the whole original file in memory */ + + FILE *f_in = fopen(pszInFilename, "rb"); + if (!f_in) { + fprintf(stderr, "error opening '%s' for reading\n", pszInFilename); + return 100; + } + + fseek(f_in, 0, SEEK_END); + nFileSize = (size_t)ftell(f_in); + fseek(f_in, 0, SEEK_SET); + + pFileData = (unsigned char*)malloc(nFileSize); + if (!pFileData) { + fclose(f_in); + fprintf(stderr, "out of memory for reading '%s', %zd bytes needed\n", pszInFilename, nFileSize); + return 100; + } + + if (fread(pFileData, 1, nFileSize, f_in) != nFileSize) { + free(pFileData); + fclose(f_in); + fprintf(stderr, "I/O error while reading '%s'\n", pszInFilename); + return 100; + } + + fclose(f_in); + + if (nOptions & OPT_BACKWARD) + do_reverse_buffer(pFileData, nFileSize); + + /* Allocate max compressed size */ + + nMaxCompressedSize = apultra_get_max_compressed_size(nFileSize); + + pCompressedData = (unsigned char*)malloc(nMaxCompressedSize + 2048); + if (!pCompressedData) { + free(pFileData); + fprintf(stderr, "out of memory for compressing '%s', %zd bytes needed\n", pszInFilename, nMaxCompressedSize); + return 100; + } + + memset(pCompressedData + 1024, 0, nMaxCompressedSize); + + long long nBestCompTime = -1; + + size_t nActualCompressedSize = 0; + size_t nRightGuardPos = nMaxCompressedSize; + + for (i = 0; i < 5; i++) { + unsigned char nGuard = 0x33 + i; + int j; + + /* Write guard bytes around the output buffer, to help check for writes outside of it by the compressor */ + memset(pCompressedData, nGuard, 1024); + memset(pCompressedData + 1024 + nRightGuardPos, nGuard, 1024); + + long long t0 = do_get_time(); + nActualCompressedSize = apultra_compress(pFileData, pCompressedData + 1024, nFileSize, nRightGuardPos, nFlags, nMaxWindowSize, 0 /* dictionary size */, NULL, NULL); + long long t1 = do_get_time(); + if (nActualCompressedSize == -1) { + free(pCompressedData); + free(pFileData); + fprintf(stderr, "compression error\n"); + return 100; + } + + long long nCurDecTime = t1 - t0; + if (nBestCompTime == -1 || nBestCompTime > nCurDecTime) + nBestCompTime = nCurDecTime; + + /* Check guard bytes before the output buffer */ + for (j = 0; j < 1024; j++) { + if (pCompressedData[j] != nGuard) { + free(pCompressedData); + free(pFileData); + fprintf(stderr, "error, wrote outside of output buffer at %d!\n", j - 1024); + return 100; + } + } + + /* Check guard bytes after the output buffer */ + for (j = 0; j < 1024; j++) { + if (pCompressedData[1024 + nRightGuardPos + j] != nGuard) { + free(pCompressedData); + free(pFileData); + fprintf(stderr, "error, wrote outside of output buffer at %d!\n", j); + return 100; + } + } + + nRightGuardPos = nActualCompressedSize; + } + + if (nOptions & OPT_BACKWARD) + do_reverse_buffer(pCompressedData + 1024, nActualCompressedSize); + + if (pszOutFilename) { + FILE *f_out; + + /* Write whole compressed file out */ + + f_out = fopen(pszOutFilename, "wb"); + if (f_out) { + fwrite(pCompressedData + 1024, 1, nActualCompressedSize, f_out); + fclose(f_out); + } + } + + free(pCompressedData); + free(pFileData); + + fprintf(stdout, "compressed size: %zd bytes\n", nActualCompressedSize); + fprintf(stdout, "compression time: %lld microseconds (%g Mb/s)\n", nBestCompTime, ((double)nActualCompressedSize / 1024.0) / ((double)nBestCompTime / 1000.0)); + + return 0; +} + +/*---------------------------------------------------------------------------*/ + +static int do_dec_benchmark(const char *pszInFilename, const char *pszOutFilename, const char *pszDictionaryFilename, const unsigned int nOptions) { + size_t nFileSize, nMaxDecompressedSize; + unsigned char *pFileData; + unsigned char *pDecompressedData; + int nFlags = 0; + int i; + + if (pszDictionaryFilename) { + fprintf(stderr, "in-memory benchmarking does not support dictionaries\n"); + return 100; + } + + /* Read the whole compressed file in memory */ + + FILE *f_in = fopen(pszInFilename, "rb"); + if (!f_in) { + fprintf(stderr, "error opening '%s' for reading\n", pszInFilename); + return 100; + } + + fseek(f_in, 0, SEEK_END); + nFileSize = (size_t)ftell(f_in); + fseek(f_in, 0, SEEK_SET); + + pFileData = (unsigned char*)malloc(nFileSize); + if (!pFileData) { + fclose(f_in); + fprintf(stderr, "out of memory for reading '%s', %zd bytes needed\n", pszInFilename, nFileSize); + return 100; + } + + if (fread(pFileData, 1, nFileSize, f_in) != nFileSize) { + free(pFileData); + fclose(f_in); + fprintf(stderr, "I/O error while reading '%s'\n", pszInFilename); + return 100; + } + + fclose(f_in); + + if (nOptions & OPT_BACKWARD) + do_reverse_buffer(pFileData, nFileSize); + + /* Allocate max decompressed size */ + + nMaxDecompressedSize = apultra_get_max_decompressed_size(pFileData, nFileSize, nFlags); + if (nMaxDecompressedSize == -1) { + free(pFileData); + fprintf(stderr, "invalid compressed format for file '%s'\n", pszInFilename); + return 100; + } + + pDecompressedData = (unsigned char*)malloc(nMaxDecompressedSize); + if (!pDecompressedData) { + free(pFileData); + fprintf(stderr, "out of memory for decompressing '%s', %zd bytes needed\n", pszInFilename, nMaxDecompressedSize); + return 100; + } + + memset(pDecompressedData, 0, nMaxDecompressedSize); + + long long nBestDecTime = -1; + + size_t nActualDecompressedSize = 0; + for (i = 0; i < 50; i++) { + long long t0 = do_get_time(); + nActualDecompressedSize = apultra_decompress(pFileData, pDecompressedData, nFileSize, nMaxDecompressedSize, 0 /* dictionary size */, nFlags); + long long t1 = do_get_time(); + if (nActualDecompressedSize == -1) { + free(pDecompressedData); + free(pFileData); + fprintf(stderr, "decompression error\n"); + return 100; + } + + long long nCurDecTime = t1 - t0; + if (nBestDecTime == -1 || nBestDecTime > nCurDecTime) + nBestDecTime = nCurDecTime; + } + + if (nOptions & OPT_BACKWARD) + do_reverse_buffer(pDecompressedData, nActualDecompressedSize); + + if (pszOutFilename) { + FILE *f_out; + + /* Write whole decompressed file out */ + + f_out = fopen(pszOutFilename, "wb"); + if (f_out) { + fwrite(pDecompressedData, 1, nActualDecompressedSize, f_out); + fclose(f_out); + } + } + + free(pDecompressedData); + free(pFileData); + + fprintf(stdout, "decompressed size: %zd bytes\n", nActualDecompressedSize); + fprintf(stdout, "decompression time: %lld microseconds (%g Mb/s)\n", nBestDecTime, ((double)nActualDecompressedSize / 1024.0) / ((double)nBestDecTime / 1000.0)); + + return 0; +} + +/*---------------------------------------------------------------------------*/ + +int main(int argc, char **argv) { + int i; + const char *pszInFilename = NULL; + const char *pszOutFilename = NULL; + const char *pszDictionaryFilename = NULL; + int nArgsError = 0; + int nCommandDefined = 0; + int nVerifyCompression = 0; + char cCommand = 'z'; + unsigned int nOptions = 0; + unsigned int nMaxWindowSize = 0; + + for (i = 1; i < argc; i++) { + if (!strcmp(argv[i], "-d")) { + if (!nCommandDefined) { + nCommandDefined = 1; + cCommand = 'd'; + } + else + nArgsError = 1; + } + else if (!strcmp(argv[i], "-z")) { + if (!nCommandDefined) { + nCommandDefined = 1; + cCommand = 'z'; + } + else + nArgsError = 1; + } + else if (!strcmp(argv[i], "-c")) { + if (!nVerifyCompression) { + nVerifyCompression = 1; + } + else + nArgsError = 1; + } + else if (!strcmp(argv[i], "-cbench")) { + if (!nCommandDefined) { + nCommandDefined = 1; + cCommand = 'B'; + } + else + nArgsError = 1; + } + else if (!strcmp(argv[i], "-dbench")) { + if (!nCommandDefined) { + nCommandDefined = 1; + cCommand = 'b'; + } + else + nArgsError = 1; + } + else if (!strcmp(argv[i], "-test")) { + if (!nCommandDefined) { + nCommandDefined = 1; + cCommand = 't'; + } + else + nArgsError = 1; + } + else if (!strcmp(argv[i], "-quicktest")) { + if (!nCommandDefined) { + nCommandDefined = 1; + cCommand = 'T'; + } + else + nArgsError = 1; + } + else if (!strcmp(argv[i], "-D")) { + if (!pszDictionaryFilename && (i + 1) < argc) { + pszDictionaryFilename = argv[i + 1]; + i++; + } + else + nArgsError = 1; + } + else if (!strncmp(argv[i], "-D", 2)) { + if (!pszDictionaryFilename) { + pszDictionaryFilename = argv[i] + 2; + } + else + nArgsError = 1; + } + else if (!strcmp(argv[i], "-v")) { + if ((nOptions & OPT_VERBOSE) == 0) { + nOptions |= OPT_VERBOSE; + } + else + nArgsError = 1; + } + else if (!strcmp(argv[i], "-w")) { + if (!nMaxWindowSize && (i + 1) < argc) { + char *pEnd = NULL; + nMaxWindowSize = (int)strtol(argv[i + 1], &pEnd, 10); + if (pEnd && pEnd != argv[i + 1] && (nMaxWindowSize >= 16 && nMaxWindowSize <= 0x200000)) { + i++; + } + else { + nArgsError = 1; + } + } + else + nArgsError = 1; + } + else if (!strncmp(argv[i], "-w", 2)) { + if (!nMaxWindowSize) { + char *pEnd = NULL; + nMaxWindowSize = (int)strtol(argv[i] + 2, &pEnd, 10); + if (!(pEnd && pEnd != (argv[i] + 2) && (nMaxWindowSize >= 16 && nMaxWindowSize <= 0x200000))) { + nArgsError = 1; + } + } + else + nArgsError = 1; + } + else if (!strcmp(argv[i], "-stats")) { + if ((nOptions & OPT_STATS) == 0) { + nOptions |= OPT_STATS; + } + else + nArgsError = 1; + } + else if (!strcmp(argv[i], "-b")) { + if ((nOptions & OPT_BACKWARD) == 0) { + nOptions |= OPT_BACKWARD; + } + else + nArgsError = 1; + } + else { + if (!pszInFilename) + pszInFilename = argv[i]; + else { + if (!pszOutFilename) + pszOutFilename = argv[i]; + else + nArgsError = 1; + } + } + } + + if (!nArgsError && cCommand == 't') { + return do_self_test(nOptions, nMaxWindowSize, 0); + } + else if (!nArgsError && cCommand == 'T') { + return do_self_test(nOptions, nMaxWindowSize, 1); + } + + if (nArgsError || !pszInFilename || !pszOutFilename) { + fprintf(stderr, "apultra command-line tool v" TOOL_VERSION " by Emmanuel Marty and spke\n"); + fprintf(stderr, "usage: %s [-c] [-d] [-v] [-b] \n", argv[0]); + fprintf(stderr, " -c: check resulting stream after compressing\n"); + fprintf(stderr, " -d: decompress (default: compress)\n"); + fprintf(stderr, " -b: backwards compression or decompression\n"); + fprintf(stderr, " -w : maximum window size, in bytes (16..2097152), defaults to maximum\n"); + fprintf(stderr, " -D : use dictionary file\n"); + fprintf(stderr, " -cbench: benchmark in-memory compression\n"); + fprintf(stderr, " -dbench: benchmark in-memory decompression\n"); + fprintf(stderr, " -test: run full automated self-tests\n"); + fprintf(stderr, "-quicktest: run quick automated self-tests\n"); + fprintf(stderr, " -stats: show compressed data stats\n"); + fprintf(stderr, " -v: be verbose\n"); + return 100; + } + + do_init_time(); + + if (cCommand == 'z') { + int nResult = do_compress(pszInFilename, pszOutFilename, pszDictionaryFilename, nOptions, nMaxWindowSize); + if (nResult == 0 && nVerifyCompression) { + return do_compare(pszOutFilename, pszInFilename, pszDictionaryFilename, nOptions); + } else { + return nResult; + } + } + else if (cCommand == 'd') { + return do_decompress(pszInFilename, pszOutFilename, pszDictionaryFilename, nOptions); + } + else if (cCommand == 'B') { + return do_compr_benchmark(pszInFilename, pszOutFilename, pszDictionaryFilename, nOptions, nMaxWindowSize); + } + else if (cCommand == 'b') { + return do_dec_benchmark(pszInFilename, pszOutFilename, pszDictionaryFilename, nOptions); + } + else { + return 100; + } +} +#endif diff --git a/tools/z64compress/src/enc/apultra/divsufsort.c b/tools/z64compress/src/enc/apultra/divsufsort.c new file mode 100644 index 0000000000..3a1c753045 --- /dev/null +++ b/tools/z64compress/src/enc/apultra/divsufsort.c @@ -0,0 +1,460 @@ +/* + * divsufsort.c for libdivsufsort + * Copyright (c) 2003-2008 Yuta Mori All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +#include "divsufsort_private.h" +#ifdef _OPENMP +# include +#endif + + +/*- Private Functions -*/ + +/* Sorts suffixes of type B*. */ +static +saidx_t +sort_typeBstar(const sauchar_t *T, saidx_t *SA, + saidx_t *bucket_A, saidx_t *bucket_B, + saidx_t n) { + saidx_t *PAb, *ISAb, *buf; +#ifdef _OPENMP + saidx_t *curbuf; + saidx_t l; +#endif + saidx_t i, j, k, t, m, bufsize; + saint_t c0, c1; +#ifdef _OPENMP + saint_t d0, d1; + int tmp; +#endif + + /* Initialize bucket arrays. */ + for(i = 0; i < BUCKET_A_SIZE; ++i) { bucket_A[i] = 0; } + for(i = 0; i < BUCKET_B_SIZE; ++i) { bucket_B[i] = 0; } + + /* Count the number of occurrences of the first one or two characters of each + type A, B and B* suffix. Moreover, store the beginning position of all + type B* suffixes into the array SA. */ + for(i = n - 1, m = n, c0 = T[n - 1]; 0 <= i;) { + /* type A suffix. */ + do { ++BUCKET_A(c1 = c0); } while((0 <= --i) && ((c0 = T[i]) >= c1)); + if(0 <= i) { + /* type B* suffix. */ + ++BUCKET_BSTAR(c0, c1); + SA[--m] = i; + /* type B suffix. */ + for(--i, c1 = c0; (0 <= i) && ((c0 = T[i]) <= c1); --i, c1 = c0) { + ++BUCKET_B(c0, c1); + } + } + } + m = n - m; +/* +note: + A type B* suffix is lexicographically smaller than a type B suffix that + begins with the same first two characters. +*/ + + /* Calculate the index of start/end point of each bucket. */ + for(c0 = 0, i = 0, j = 0; c0 < ALPHABET_SIZE; ++c0) { + t = i + BUCKET_A(c0); + BUCKET_A(c0) = i + j; /* start point */ + i = t + BUCKET_B(c0, c0); + for(c1 = c0 + 1; c1 < ALPHABET_SIZE; ++c1) { + j += BUCKET_BSTAR(c0, c1); + BUCKET_BSTAR(c0, c1) = j; /* end point */ + i += BUCKET_B(c0, c1); + } + } + + if(0 < m) { + /* Sort the type B* suffixes by their first two characters. */ + PAb = SA + n - m; ISAb = SA + m; + for(i = m - 2; 0 <= i; --i) { + t = PAb[i], c0 = T[t], c1 = T[t + 1]; + SA[--BUCKET_BSTAR(c0, c1)] = i; + } + t = PAb[m - 1], c0 = T[t], c1 = T[t + 1]; + SA[--BUCKET_BSTAR(c0, c1)] = m - 1; + + /* Sort the type B* substrings using sssort. */ +#ifdef _OPENMP + tmp = omp_get_max_threads(); + buf = SA + m, bufsize = (n - (2 * m)) / tmp; + c0 = ALPHABET_SIZE - 2, c1 = ALPHABET_SIZE - 1, j = m; +#pragma omp parallel default(shared) private(curbuf, k, l, d0, d1, tmp) + { + tmp = omp_get_thread_num(); + curbuf = buf + tmp * bufsize; + k = 0; + for(;;) { + #pragma omp critical(sssort_lock) + { + if(0 < (l = j)) { + d0 = c0, d1 = c1; + do { + k = BUCKET_BSTAR(d0, d1); + if(--d1 <= d0) { + d1 = ALPHABET_SIZE - 1; + if(--d0 < 0) { break; } + } + } while(((l - k) <= 1) && (0 < (l = k))); + c0 = d0, c1 = d1, j = k; + } + } + if(l == 0) { break; } + sssort(T, PAb, SA + k, SA + l, + curbuf, bufsize, 2, n, *(SA + k) == (m - 1)); + } + } +#else + buf = SA + m, bufsize = n - (2 * m); + for(c0 = ALPHABET_SIZE - 2, j = m; 0 < j; --c0) { + for(c1 = ALPHABET_SIZE - 1; c0 < c1; j = i, --c1) { + i = BUCKET_BSTAR(c0, c1); + if(1 < (j - i)) { + sssort(T, PAb, SA + i, SA + j, + buf, bufsize, 2, n, *(SA + i) == (m - 1)); + } + } + } +#endif + + /* Compute ranks of type B* substrings. */ + for(i = m - 1; 0 <= i; --i) { + if(0 <= SA[i]) { + j = i; + do { ISAb[SA[i]] = i; } while((0 <= --i) && (0 <= SA[i])); + SA[i + 1] = i - j; + if(i <= 0) { break; } + } + j = i; + do { ISAb[SA[i] = ~SA[i]] = j; } while(SA[--i] < 0); + ISAb[SA[i]] = j; + } + + /* Construct the inverse suffix array of type B* suffixes using trsort. */ + trsort(ISAb, SA, m, 1); + + /* Set the sorted order of tyoe B* suffixes. */ + for(i = n - 1, j = m, c0 = T[n - 1]; 0 <= i;) { + for(--i, c1 = c0; (0 <= i) && ((c0 = T[i]) >= c1); --i, c1 = c0) { } + if(0 <= i) { + t = i; + for(--i, c1 = c0; (0 <= i) && ((c0 = T[i]) <= c1); --i, c1 = c0) { } + SA[ISAb[--j]] = ((t == 0) || (1 < (t - i))) ? t : ~t; + } + } + + /* Calculate the index of start/end point of each bucket. */ + BUCKET_B(ALPHABET_SIZE - 1, ALPHABET_SIZE - 1) = n; /* end point */ + for(c0 = ALPHABET_SIZE - 2, k = m - 1; 0 <= c0; --c0) { + i = BUCKET_A(c0 + 1) - 1; + for(c1 = ALPHABET_SIZE - 1; c0 < c1; --c1) { + t = i - BUCKET_B(c0, c1); + BUCKET_B(c0, c1) = i; /* end point */ + + /* Move all type B* suffixes to the correct position. */ + for(i = t, j = BUCKET_BSTAR(c0, c1); + j <= k; + --i, --k) { SA[i] = SA[k]; } + } + BUCKET_BSTAR(c0, c0 + 1) = i - BUCKET_B(c0, c0) + 1; /* start point */ + BUCKET_B(c0, c0) = i; /* end point */ + } + } + + return m; +} + +/* Constructs the suffix array by using the sorted order of type B* suffixes. */ +static +void +construct_SA(const sauchar_t *T, saidx_t *SA, + saidx_t *bucket_A, saidx_t *bucket_B, + saidx_t n, saidx_t m) { + saidx_t *i, *j, *k; + saidx_t s; + saint_t c0, c1, c2; + + if(0 < m) { + /* Construct the sorted order of type B suffixes by using + the sorted order of type B* suffixes. */ + for(c1 = ALPHABET_SIZE - 2; 0 <= c1; --c1) { + /* Scan the suffix array from right to left. */ + for(i = SA + BUCKET_BSTAR(c1, c1 + 1), + j = SA + BUCKET_A(c1 + 1) - 1, k = NULL, c2 = -1; + i <= j; + --j) { + if(0 < (s = *j)) { + assert(T[s] == c1); + assert(((s + 1) < n) && (T[s] <= T[s + 1])); + assert(T[s - 1] <= T[s]); + *j = ~s; + c0 = T[--s]; + if((0 < s) && (T[s - 1] > c0)) { s = ~s; } + if(c0 != c2) { + if(0 <= c2) { BUCKET_B(c2, c1) = k - SA; } + k = SA + BUCKET_B(c2 = c0, c1); + } + assert(k < j); + *k-- = s; + } else { + assert(((s == 0) && (T[s] == c1)) || (s < 0)); + *j = ~s; + } + } + } + } + + /* Construct the suffix array by using + the sorted order of type B suffixes. */ + k = SA + BUCKET_A(c2 = T[n - 1]); + *k++ = (T[n - 2] < c2) ? ~(n - 1) : (n - 1); + /* Scan the suffix array from left to right. */ + for(i = SA, j = SA + n; i < j; ++i) { + if(0 < (s = *i)) { + assert(T[s - 1] >= T[s]); + c0 = T[--s]; + if((s == 0) || (T[s - 1] < c0)) { s = ~s; } + if(c0 != c2) { + BUCKET_A(c2) = k - SA; + k = SA + BUCKET_A(c2 = c0); + } + assert(i < k); + *k++ = s; + } else { + assert(s < 0); + *i = ~s; + } + } +} + +#if 0 +/* Constructs the burrows-wheeler transformed string directly + by using the sorted order of type B* suffixes. */ +static +saidx_t +construct_BWT(const sauchar_t *T, saidx_t *SA, + saidx_t *bucket_A, saidx_t *bucket_B, + saidx_t n, saidx_t m) { + saidx_t *i, *j, *k, *orig; + saidx_t s; + saint_t c0, c1, c2; + + if(0 < m) { + /* Construct the sorted order of type B suffixes by using + the sorted order of type B* suffixes. */ + for(c1 = ALPHABET_SIZE - 2; 0 <= c1; --c1) { + /* Scan the suffix array from right to left. */ + for(i = SA + BUCKET_BSTAR(c1, c1 + 1), + j = SA + BUCKET_A(c1 + 1) - 1, k = NULL, c2 = -1; + i <= j; + --j) { + if(0 < (s = *j)) { + assert(T[s] == c1); + assert(((s + 1) < n) && (T[s] <= T[s + 1])); + assert(T[s - 1] <= T[s]); + c0 = T[--s]; + *j = ~((saidx_t)c0); + if((0 < s) && (T[s - 1] > c0)) { s = ~s; } + if(c0 != c2) { + if(0 <= c2) { BUCKET_B(c2, c1) = k - SA; } + k = SA + BUCKET_B(c2 = c0, c1); + } + assert(k < j); + *k-- = s; + } else if(s != 0) { + *j = ~s; +#ifndef NDEBUG + } else { + assert(T[s] == c1); +#endif + } + } + } + } + + /* Construct the BWTed string by using + the sorted order of type B suffixes. */ + k = SA + BUCKET_A(c2 = T[n - 1]); + *k++ = (T[n - 2] < c2) ? ~((saidx_t)T[n - 2]) : (n - 1); + /* Scan the suffix array from left to right. */ + for(i = SA, j = SA + n, orig = SA; i < j; ++i) { + if(0 < (s = *i)) { + assert(T[s - 1] >= T[s]); + c0 = T[--s]; + *i = c0; + if((0 < s) && (T[s - 1] < c0)) { s = ~((saidx_t)T[s - 1]); } + if(c0 != c2) { + BUCKET_A(c2) = k - SA; + k = SA + BUCKET_A(c2 = c0); + } + assert(i < k); + *k++ = s; + } else if(s != 0) { + *i = ~s; + } else { + orig = i; + } + } + + return orig - SA; +} +#endif + +/*---------------------------------------------------------------------------*/ + +/** + * Initialize suffix array context + * + * @return 0 for success, or non-zero in case of an error + */ +int divsufsort_init(divsufsort_ctx_t *ctx) { + ctx->bucket_A = (saidx_t *)malloc(BUCKET_A_SIZE * sizeof(saidx_t)); + ctx->bucket_B = NULL; + + if (ctx->bucket_A) { + ctx->bucket_B = (saidx_t *)malloc(BUCKET_B_SIZE * sizeof(saidx_t)); + + if (ctx->bucket_B) + return 0; + } + + divsufsort_destroy(ctx); + return -1; +} + +/** + * Destroy suffix array context + * + * @param ctx suffix array context to destroy + */ +void divsufsort_destroy(divsufsort_ctx_t *ctx) { + if (ctx->bucket_B) { + free(ctx->bucket_B); + ctx->bucket_B = NULL; + } + + if (ctx->bucket_A) { + free(ctx->bucket_A); + ctx->bucket_A = NULL; + } +} + +/*- Function -*/ + +saint_t +divsufsort_build_array(divsufsort_ctx_t *ctx, const sauchar_t *T, saidx_t *SA, saidx_t n) { + saidx_t m; + saint_t err = 0; + + /* Check arguments. */ + if((T == NULL) || (SA == NULL) || (n < 0)) { return -1; } + else if(n == 0) { return 0; } + else if(n == 1) { SA[0] = 0; return 0; } + else if(n == 2) { m = (T[0] < T[1]); SA[m ^ 1] = 0, SA[m] = 1; return 0; } + + /* Suffixsort. */ + if((ctx->bucket_A != NULL) && (ctx->bucket_B != NULL)) { + m = sort_typeBstar(T, SA, ctx->bucket_A, ctx->bucket_B, n); + construct_SA(T, SA, ctx->bucket_A, ctx->bucket_B, n, m); + } else { + err = -2; + } + + return err; +} + +#if 0 +saidx_t +divbwt(const sauchar_t *T, sauchar_t *U, saidx_t *A, saidx_t n) { + saidx_t *B; + saidx_t *bucket_A, *bucket_B; + saidx_t m, pidx, i; + + /* Check arguments. */ + if((T == NULL) || (U == NULL) || (n < 0)) { return -1; } + else if(n <= 1) { if(n == 1) { U[0] = T[0]; } return n; } + + if((B = A) == NULL) { B = (saidx_t *)malloc((size_t)(n + 1) * sizeof(saidx_t)); } + bucket_A = (saidx_t *)malloc(BUCKET_A_SIZE * sizeof(saidx_t)); + bucket_B = (saidx_t *)malloc(BUCKET_B_SIZE * sizeof(saidx_t)); + + /* Burrows-Wheeler Transform. */ + if((B != NULL) && (bucket_A != NULL) && (bucket_B != NULL)) { + m = sort_typeBstar(T, B, bucket_A, bucket_B, n); + pidx = construct_BWT(T, B, bucket_A, bucket_B, n, m); + + /* Copy to output string. */ + U[0] = T[n - 1]; + for(i = 0; i < pidx; ++i) { U[i + 1] = (sauchar_t)B[i]; } + for(i += 1; i < n; ++i) { U[i] = (sauchar_t)B[i]; } + pidx += 1; + } else { + pidx = -2; + } + + free(bucket_B); + free(bucket_A); + if(A == NULL) { free(B); } + + return pidx; +} + +const char * +divsufsort_version(void) { + return PROJECT_VERSION_FULL; +} +#endif + +saint_t +divsufsort(const sauchar_t *T, saidx_t *SA, saidx_t n) { + saidx_t *bucket_A, *bucket_B; + saidx_t m; + saint_t err = 0; + + /* Check arguments. */ + if((T == NULL) || (SA == NULL) || (n < 0)) { return -1; } + else if(n == 0) { return 0; } + else if(n == 1) { SA[0] = 0; return 0; } + else if(n == 2) { m = (T[0] < T[1]); SA[m ^ 1] = 0, SA[m] = 1; return 0; } + + bucket_A = (saidx_t *)malloc(BUCKET_A_SIZE * sizeof(saidx_t)); + bucket_B = (saidx_t *)malloc(BUCKET_B_SIZE * sizeof(saidx_t)); + + /* Suffixsort. */ + if((bucket_A != NULL) && (bucket_B != NULL)) { + m = sort_typeBstar(T, SA, bucket_A, bucket_B, n); + construct_SA(T, SA, bucket_A, bucket_B, n, m); + } else { + err = -2; + } + + free(bucket_B); + free(bucket_A); + + return err; +} diff --git a/tools/z64compress/src/enc/apultra/divsufsort.h b/tools/z64compress/src/enc/apultra/divsufsort.h new file mode 100644 index 0000000000..5c617ee733 --- /dev/null +++ b/tools/z64compress/src/enc/apultra/divsufsort.h @@ -0,0 +1,192 @@ +/* + * divsufsort.h for libdivsufsort + * Copyright (c) 2003-2008 Yuta Mori All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +#ifndef _DIVSUFSORT_H +#define _DIVSUFSORT_H 1 + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +#define DIVSUFSORT_API + +/*- Datatypes -*/ +#ifndef SAUCHAR_T +#define SAUCHAR_T +typedef unsigned char sauchar_t; +#endif /* SAUCHAR_T */ +#ifndef SAINT_T +#define SAINT_T +typedef int saint_t; +#endif /* SAINT_T */ +#ifndef SAIDX_T +#define SAIDX_T +typedef int saidx_t; +#endif /* SAIDX_T */ +#ifndef PRIdSAIDX_T +#define PRIdSAIDX_T "d" +#endif + +/*- divsufsort context */ +typedef struct _divsufsort_ctx_t { + saidx_t *bucket_A; + saidx_t *bucket_B; +} divsufsort_ctx_t; + +/*- Prototypes -*/ + +/** + * Initialize suffix array context + * + * @return 0 for success, or non-zero in case of an error + */ +int divsufsort_init(divsufsort_ctx_t *ctx); + +/** + * Destroy suffix array context + * + * @param ctx suffix array context to destroy + */ +void divsufsort_destroy(divsufsort_ctx_t *ctx); + +/** + * Constructs the suffix array of a given string. + * @param ctx suffix array context + * @param T[0..n-1] The input string. + * @param SA[0..n-1] The output array of suffixes. + * @param n The length of the given string. + * @return 0 if no error occurred, -1 or -2 otherwise. + */ +DIVSUFSORT_API +saint_t divsufsort_build_array(divsufsort_ctx_t *ctx, const sauchar_t *T, saidx_t *SA, saidx_t n); + +#if 0 +/** + * Constructs the burrows-wheeler transformed string of a given string. + * @param T[0..n-1] The input string. + * @param U[0..n-1] The output string. (can be T) + * @param A[0..n-1] The temporary array. (can be NULL) + * @param n The length of the given string. + * @return The primary index if no error occurred, -1 or -2 otherwise. + */ +DIVSUFSORT_API +saidx_t +divbwt(const sauchar_t *T, sauchar_t *U, saidx_t *A, saidx_t n); + +/** + * Returns the version of the divsufsort library. + * @return The version number string. + */ +DIVSUFSORT_API +const char * +divsufsort_version(void); + + +/** + * Constructs the burrows-wheeler transformed string of a given string and suffix array. + * @param T[0..n-1] The input string. + * @param U[0..n-1] The output string. (can be T) + * @param SA[0..n-1] The suffix array. (can be NULL) + * @param n The length of the given string. + * @param idx The output primary index. + * @return 0 if no error occurred, -1 or -2 otherwise. + */ +DIVSUFSORT_API +saint_t +bw_transform(const sauchar_t *T, sauchar_t *U, + saidx_t *SA /* can NULL */, + saidx_t n, saidx_t *idx); + +/** + * Inverse BW-transforms a given BWTed string. + * @param T[0..n-1] The input string. + * @param U[0..n-1] The output string. (can be T) + * @param A[0..n-1] The temporary array. (can be NULL) + * @param n The length of the given string. + * @param idx The primary index. + * @return 0 if no error occurred, -1 or -2 otherwise. + */ +DIVSUFSORT_API +saint_t +inverse_bw_transform(const sauchar_t *T, sauchar_t *U, + saidx_t *A /* can NULL */, + saidx_t n, saidx_t idx); + +/** + * Checks the correctness of a given suffix array. + * @param T[0..n-1] The input string. + * @param SA[0..n-1] The input suffix array. + * @param n The length of the given string. + * @param verbose The verbose mode. + * @return 0 if no error occurred. + */ +DIVSUFSORT_API +saint_t +sufcheck(const sauchar_t *T, const saidx_t *SA, saidx_t n, saint_t verbose); + +/** + * Search for the pattern P in the string T. + * @param T[0..Tsize-1] The input string. + * @param Tsize The length of the given string. + * @param P[0..Psize-1] The input pattern string. + * @param Psize The length of the given pattern string. + * @param SA[0..SAsize-1] The input suffix array. + * @param SAsize The length of the given suffix array. + * @param idx The output index. + * @return The count of matches if no error occurred, -1 otherwise. + */ +DIVSUFSORT_API +saidx_t +sa_search(const sauchar_t *T, saidx_t Tsize, + const sauchar_t *P, saidx_t Psize, + const saidx_t *SA, saidx_t SAsize, + saidx_t *left); + +/** + * Search for the character c in the string T. + * @param T[0..Tsize-1] The input string. + * @param Tsize The length of the given string. + * @param SA[0..SAsize-1] The input suffix array. + * @param SAsize The length of the given suffix array. + * @param c The input character. + * @param idx The output index. + * @return The count of matches if no error occurred, -1 otherwise. + */ +DIVSUFSORT_API +saidx_t +sa_simplesearch(const sauchar_t *T, saidx_t Tsize, + const saidx_t *SA, saidx_t SAsize, + saint_t c, saidx_t *left); +#endif + +saint_t +divsufsort(const sauchar_t *T, saidx_t *SA, saidx_t n); + +#ifdef __cplusplus +} /* extern "C" */ +#endif /* __cplusplus */ + +#endif /* _DIVSUFSORT_H */ diff --git a/tools/z64compress/src/enc/apultra/divsufsort_config.h b/tools/z64compress/src/enc/apultra/divsufsort_config.h new file mode 100644 index 0000000000..4054a8aae2 --- /dev/null +++ b/tools/z64compress/src/enc/apultra/divsufsort_config.h @@ -0,0 +1,9 @@ +#define HAVE_STRING_H 1 +#define HAVE_STDLIB_H 1 +#define HAVE_MEMORY_H 1 +#define HAVE_STDINT_H 1 +#define INLINE inline + +#ifdef _MSC_VER +#pragma warning( disable : 4244 ) +#endif /* _MSC_VER */ diff --git a/tools/z64compress/src/enc/apultra/divsufsort_private.h b/tools/z64compress/src/enc/apultra/divsufsort_private.h new file mode 100644 index 0000000000..b4d97ad4bc --- /dev/null +++ b/tools/z64compress/src/enc/apultra/divsufsort_private.h @@ -0,0 +1,205 @@ +/* + * divsufsort_private.h for libdivsufsort + * Copyright (c) 2003-2008 Yuta Mori All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +#ifndef _DIVSUFSORT_PRIVATE_H +#define _DIVSUFSORT_PRIVATE_H 1 + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +#include "divsufsort_config.h" +#include +#include +#if HAVE_STRING_H +# include +#endif +#if HAVE_STDLIB_H +# include +#endif +#if HAVE_MEMORY_H +# include +#endif +#if HAVE_STDDEF_H +# include +#endif +#if HAVE_STRINGS_H +# include +#endif +#if HAVE_INTTYPES_H +# include +#else +# if HAVE_STDINT_H +# include +# endif +#endif +#if defined(BUILD_DIVSUFSORT64) +# include "divsufsort64.h" +# ifndef SAIDX_T +# define SAIDX_T +# define saidx_t saidx64_t +# endif /* SAIDX_T */ +# ifndef PRIdSAIDX_T +# define PRIdSAIDX_T PRIdSAIDX64_T +# endif /* PRIdSAIDX_T */ +# define divsufsort divsufsort64 +# define divbwt divbwt64 +# define divsufsort_version divsufsort64_version +# define bw_transform bw_transform64 +# define inverse_bw_transform inverse_bw_transform64 +# define sufcheck sufcheck64 +# define sa_search sa_search64 +# define sa_simplesearch sa_simplesearch64 +# define sssort sssort64 +# define trsort trsort64 +#else +# include "divsufsort.h" +#endif + + +/*- Constants -*/ +#if !defined(UINT8_MAX) +# define UINT8_MAX (255) +#endif /* UINT8_MAX */ +#if defined(ALPHABET_SIZE) && (ALPHABET_SIZE < 1) +# undef ALPHABET_SIZE +#endif +#if !defined(ALPHABET_SIZE) +# define ALPHABET_SIZE (UINT8_MAX + 1) +#endif +/* for divsufsort.c */ +#define BUCKET_A_SIZE (ALPHABET_SIZE) +#define BUCKET_B_SIZE (ALPHABET_SIZE * ALPHABET_SIZE) +/* for sssort.c */ +#if defined(SS_INSERTIONSORT_THRESHOLD) +# if SS_INSERTIONSORT_THRESHOLD < 1 +# undef SS_INSERTIONSORT_THRESHOLD +# define SS_INSERTIONSORT_THRESHOLD (1) +# endif +#else +# define SS_INSERTIONSORT_THRESHOLD (8) +#endif +#if defined(SS_BLOCKSIZE) +# if SS_BLOCKSIZE < 0 +# undef SS_BLOCKSIZE +# define SS_BLOCKSIZE (0) +# elif 32768 <= SS_BLOCKSIZE +# undef SS_BLOCKSIZE +# define SS_BLOCKSIZE (32767) +# endif +#else +# define SS_BLOCKSIZE (1024) +#endif +/* minstacksize = log(SS_BLOCKSIZE) / log(3) * 2 */ +#if SS_BLOCKSIZE == 0 +# if defined(BUILD_DIVSUFSORT64) +# define SS_MISORT_STACKSIZE (96) +# else +# define SS_MISORT_STACKSIZE (64) +# endif +#elif SS_BLOCKSIZE <= 4096 +# define SS_MISORT_STACKSIZE (16) +#else +# define SS_MISORT_STACKSIZE (24) +#endif +#if defined(BUILD_DIVSUFSORT64) +# define SS_SMERGE_STACKSIZE (64) +#else +# define SS_SMERGE_STACKSIZE (32) +#endif +/* for trsort.c */ +#define TR_INSERTIONSORT_THRESHOLD (8) +#if defined(BUILD_DIVSUFSORT64) +# define TR_STACKSIZE (96) +#else +# define TR_STACKSIZE (64) +#endif + + +/*- Macros -*/ +#ifndef SWAP +# define SWAP(_a, _b) do { t = (_a); (_a) = (_b); (_b) = t; } while(0) +#endif /* SWAP */ +#ifndef MIN +# define MIN(_a, _b) (((_a) < (_b)) ? (_a) : (_b)) +#endif /* MIN */ +#ifndef MAX +# define MAX(_a, _b) (((_a) > (_b)) ? (_a) : (_b)) +#endif /* MAX */ +#define STACK_PUSH(_a, _b, _c, _d)\ + do {\ + assert(ssize < STACK_SIZE);\ + stack[ssize].a = (_a), stack[ssize].b = (_b),\ + stack[ssize].c = (_c), stack[ssize++].d = (_d);\ + } while(0) +#define STACK_PUSH5(_a, _b, _c, _d, _e)\ + do {\ + assert(ssize < STACK_SIZE);\ + stack[ssize].a = (_a), stack[ssize].b = (_b),\ + stack[ssize].c = (_c), stack[ssize].d = (_d), stack[ssize++].e = (_e);\ + } while(0) +#define STACK_POP(_a, _b, _c, _d)\ + do {\ + assert(0 <= ssize);\ + if(ssize == 0) { return; }\ + (_a) = stack[--ssize].a, (_b) = stack[ssize].b,\ + (_c) = stack[ssize].c, (_d) = stack[ssize].d;\ + } while(0) +#define STACK_POP5(_a, _b, _c, _d, _e)\ + do {\ + assert(0 <= ssize);\ + if(ssize == 0) { return; }\ + (_a) = stack[--ssize].a, (_b) = stack[ssize].b,\ + (_c) = stack[ssize].c, (_d) = stack[ssize].d, (_e) = stack[ssize].e;\ + } while(0) +/* for divsufsort.c */ +#define BUCKET_A(_c0) bucket_A[(_c0)] +#if ALPHABET_SIZE == 256 +#define BUCKET_B(_c0, _c1) (bucket_B[((_c1) << 8) | (_c0)]) +#define BUCKET_BSTAR(_c0, _c1) (bucket_B[((_c0) << 8) | (_c1)]) +#else +#define BUCKET_B(_c0, _c1) (bucket_B[(_c1) * ALPHABET_SIZE + (_c0)]) +#define BUCKET_BSTAR(_c0, _c1) (bucket_B[(_c0) * ALPHABET_SIZE + (_c1)]) +#endif + + +/*- Private Prototypes -*/ +/* sssort.c */ +void +sssort(const sauchar_t *Td, const saidx_t *PA, + saidx_t *first, saidx_t *last, + saidx_t *buf, saidx_t bufsize, + saidx_t depth, saidx_t n, saint_t lastsuffix); +/* trsort.c */ +void +trsort(saidx_t *ISA, saidx_t *SA, saidx_t n, saidx_t depth); + + +#ifdef __cplusplus +} /* extern "C" */ +#endif /* __cplusplus */ + +#endif /* _DIVSUFSORT_PRIVATE_H */ diff --git a/tools/z64compress/src/enc/apultra/expand.c b/tools/z64compress/src/enc/apultra/expand.c new file mode 100644 index 0000000000..b65409de24 --- /dev/null +++ b/tools/z64compress/src/enc/apultra/expand.c @@ -0,0 +1,396 @@ +/* + * expand.c - decompressor implementation + * + * Copyright (C) 2019 Emmanuel Marty + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + */ + +/* + * Uses the libdivsufsort library Copyright (c) 2003-2008 Yuta Mori + * + * Inspired by cap by Sven-Åke Dahl. https://github.com/svendahl/cap + * Also inspired by Charles Bloom's compression blog. http://cbloomrants.blogspot.com/ + * With ideas from LZ4 by Yann Collet. https://github.com/lz4/lz4 + * With help and support from spke + * + */ + +#include +#include +#include "format.h" +#include "expand.h" +#include "libapultra.h" + +#ifdef _MSC_VER +#define FORCE_INLINE __forceinline +#else /* _MSC_VER */ +#define FORCE_INLINE __attribute__((always_inline)) +#endif /* _MSC_VER */ + +static inline FORCE_INLINE int apultra_read_bit(const unsigned char **ppInBlock, const unsigned char *pDataEnd, int *nCurBitMask, unsigned char *bits) { + const unsigned char *pInBlock = *ppInBlock; + int nBit; + + if ((*nCurBitMask) == 0) { + if (pInBlock >= pDataEnd) return -1; + (*bits) = *pInBlock++; + (*nCurBitMask) = 128; + } + + nBit = ((*bits) & 128) ? 1 : 0; + + (*bits) <<= 1; + (*nCurBitMask) >>= 1; + + *ppInBlock = pInBlock; + return nBit; +} + +static inline FORCE_INLINE int apultra_read_gamma2(const unsigned char **ppInBlock, const unsigned char *pDataEnd, int *nCurBitMask, unsigned char *bits) { + int bit; + unsigned int v = 1; + + do { + v = (v << 1) + apultra_read_bit(ppInBlock, pDataEnd, nCurBitMask, bits); + bit = apultra_read_bit(ppInBlock, pDataEnd, nCurBitMask, bits); + if (bit < 0) return bit; + } while (bit); + + return v; +} + +/** + * Get maximum decompressed size of compressed data + * + * @param pInputData compressed data + * @param nInputSize compressed size in bytes + * @param nFlags compression flags (set to 0) + * + * @return maximum decompressed size + */ +size_t apultra_get_max_decompressed_size(const unsigned char *pInputData, size_t nInputSize, const unsigned int nFlags) { + const unsigned char *pInputDataEnd = pInputData + nInputSize; + int nCurBitMask = 0; + unsigned char bits = 0; + int nMatchOffset = -1; + int nFollowsLiteral = 3; + size_t nDecompressedSize = 0; + + if (pInputData >= pInputDataEnd) + return -1; + pInputData++; + nDecompressedSize++; + + while (1) { + int nResult; + + nResult = apultra_read_bit(&pInputData, pInputDataEnd, &nCurBitMask, &bits); + if (nResult < 0) return -1; + + if (!nResult) { + /* '0': literal */ + if (pInputData < pInputDataEnd) { + pInputData++; + nDecompressedSize++; + nFollowsLiteral = 3; + } + else { + return -1; + } + } + else { + nResult = apultra_read_bit(&pInputData, pInputDataEnd, &nCurBitMask, &bits); + if (nResult < 0) return -1; + + if (nResult == 0) { + unsigned int nMatchLen; + + /* '10': 8+n bits offset */ + int nMatchOffsetHi = apultra_read_gamma2(&pInputData, pInputDataEnd, &nCurBitMask, &bits); + nMatchOffsetHi -= nFollowsLiteral; + if (nMatchOffsetHi >= 0) { + nMatchOffset = ((unsigned int) nMatchOffsetHi) << 8; + nMatchOffset |= (unsigned int)(*pInputData++); + + nMatchLen = apultra_read_gamma2(&pInputData, pInputDataEnd, &nCurBitMask, &bits); + + if (nMatchOffset < 128 || nMatchOffset >= MINMATCH4_OFFSET) + nMatchLen += 2; + else if (nMatchOffset >= MINMATCH3_OFFSET) + nMatchLen++; + } + else { + /* else rep-match */ + nMatchLen = apultra_read_gamma2(&pInputData, pInputDataEnd, &nCurBitMask, &bits); + } + + nFollowsLiteral = 2; + + nDecompressedSize += nMatchLen; + } + else { + nResult = apultra_read_bit(&pInputData, pInputDataEnd, &nCurBitMask, &bits); + if (nResult < 0) return -1; + + if (nResult == 0) { + unsigned int nCommand; + unsigned int nMatchLen; + + /* '110': 7 bits offset + 1 bit length */ + nCommand = (unsigned int)(*pInputData++); + if (nCommand == 0x00) { + /* EOD. No match len follows. */ + break; + } + + /* Bits 7-1: offset; bit 0: length */ + nMatchOffset = (nCommand >> 1); + nMatchLen = (nCommand & 1) + 2; + + nFollowsLiteral = 2; + nDecompressedSize += nMatchLen; + } + else { + unsigned int nShortMatchOffset; + + /* '111': 4 bit offset */ + nResult = apultra_read_bit(&pInputData, pInputDataEnd, &nCurBitMask, &bits); + if (nResult < 0) return -1; + nShortMatchOffset = nResult << 3; + + nResult = apultra_read_bit(&pInputData, pInputDataEnd, &nCurBitMask, &bits); + if (nResult < 0) return -1; + nShortMatchOffset |= nResult << 2; + + nResult = apultra_read_bit(&pInputData, pInputDataEnd, &nCurBitMask, &bits); + if (nResult < 0) return -1; + nShortMatchOffset |= nResult << 1; + + nResult = apultra_read_bit(&pInputData, pInputDataEnd, &nCurBitMask, &bits); + if (nResult < 0) return -1; + nShortMatchOffset |= nResult << 0; + + nFollowsLiteral = 3; + nDecompressedSize++; + } + } + } + } + + return nDecompressedSize; +} + +/** + * Decompress data in memory + * + * @param pInputData compressed data + * @param pOutBuffer buffer for decompressed data + * @param nInputSize compressed size in bytes + * @param nMaxOutBufferSize maximum capacity of decompression buffer + * @param nDictionarySize size of dictionary in front of input data (0 for none) + * @param nFlags compression flags (set to 0) + * + * @return actual decompressed size, or -1 for error + */ +size_t apultra_decompress(const unsigned char *pInputData, unsigned char *pOutData, size_t nInputSize, size_t nMaxOutBufferSize, size_t nDictionarySize, const unsigned int nFlags) { + const unsigned char *pInputDataEnd = pInputData + nInputSize; + unsigned char *pCurOutData = pOutData + nDictionarySize; + const unsigned char *pOutDataEnd = pCurOutData + nMaxOutBufferSize; + const unsigned char *pOutDataFastEnd = pOutDataEnd - 20; + int nCurBitMask = 0; + unsigned char bits = 0; + int nMatchOffset = -1; + int nFollowsLiteral = 3; + + if (pInputData >= pInputDataEnd && pCurOutData < pOutDataEnd) + return -1; + *pCurOutData++ = *pInputData++; + + while (1) { + int nResult; + + nResult = apultra_read_bit(&pInputData, pInputDataEnd, &nCurBitMask, &bits); + if (nResult < 0) return -1; + + if (!nResult) { + /* '0': literal */ + if (pInputData < pInputDataEnd && pCurOutData < pOutDataEnd) { + *pCurOutData++ = *pInputData++; + nFollowsLiteral = 3; + } + else { + return -1; + } + } + else { + nResult = apultra_read_bit(&pInputData, pInputDataEnd, &nCurBitMask, &bits); + if (nResult < 0) return -1; + + if (nResult == 0) { + unsigned int nMatchLen; + + /* '10': 8+n bits offset */ + int nMatchOffsetHi = apultra_read_gamma2(&pInputData, pInputDataEnd, &nCurBitMask, &bits); + nMatchOffsetHi -= nFollowsLiteral; + if (nMatchOffsetHi >= 0) { + nMatchOffset = ((unsigned int) nMatchOffsetHi) << 8; + nMatchOffset |= (unsigned int)(*pInputData++); + + nMatchLen = apultra_read_gamma2(&pInputData, pInputDataEnd, &nCurBitMask, &bits); + + if (nMatchOffset < 128 || nMatchOffset >= MINMATCH4_OFFSET) + nMatchLen += 2; + else if (nMatchOffset >= MINMATCH3_OFFSET) + nMatchLen++; + } + else { + /* else rep-match */ + nMatchLen = apultra_read_gamma2(&pInputData, pInputDataEnd, &nCurBitMask, &bits); + } + + nFollowsLiteral = 2; + const unsigned char *pSrc = pCurOutData - nMatchOffset; + if (pSrc >= pOutData && (pSrc + nMatchLen) <= pOutDataEnd) { + if (nMatchLen < 11 && nMatchOffset >= 8 && pCurOutData < pOutDataFastEnd) { + memcpy(pCurOutData, pSrc, 8); + memcpy(pCurOutData + 8, pSrc + 8, 2); + pCurOutData += nMatchLen; + } + else { + if ((pCurOutData + nMatchLen) <= pOutDataEnd) { + /* Do a deterministic, left to right byte copy instead of memcpy() so as to handle overlaps */ + + if (nMatchOffset >= 16 && (pCurOutData + nMatchLen) < (pOutDataFastEnd - 15)) { + const unsigned char *pCopySrc = pSrc; + unsigned char *pCopyDst = pCurOutData; + const unsigned char *pCopyEndDst = pCurOutData + nMatchLen; + + do { + memcpy(pCopyDst, pCopySrc, 16); + pCopySrc += 16; + pCopyDst += 16; + } while (pCopyDst < pCopyEndDst); + + pCurOutData += nMatchLen; + } + else { + while (nMatchLen) { + *pCurOutData++ = *pSrc++; + nMatchLen--; + } + } + } + else { + return -1; + } + } + } + else { + return -1; + } + } + else { + nResult = apultra_read_bit(&pInputData, pInputDataEnd, &nCurBitMask, &bits); + if (nResult < 0) return -1; + + if (nResult == 0) { + unsigned int nCommand; + unsigned int nMatchLen; + + /* '110': 7 bits offset + 1 bit length */ + nCommand = (unsigned int)(*pInputData++); + if (nCommand == 0x00) { + /* EOD. No match len follows. */ + break; + } + + /* Bits 7-1: offset; bit 0: length */ + nMatchOffset = (nCommand >> 1); + nMatchLen = (nCommand & 1) + 2; + + nFollowsLiteral = 2; + const unsigned char *pSrc = pCurOutData - nMatchOffset; + if (pSrc >= pOutData && (pSrc + nMatchLen) <= pOutDataEnd) { + if (nMatchOffset >= 8 && pCurOutData < pOutDataFastEnd) { + memcpy(pCurOutData, pSrc, 8); + memcpy(pCurOutData + 8, pSrc + 8, 2); + pCurOutData += nMatchLen; + } + else { + if ((pCurOutData + nMatchLen) <= pOutDataEnd) { + while (nMatchLen) { + *pCurOutData++ = *pSrc++; + nMatchLen--; + } + } + else { + return -1; + } + } + } + else { + return -1; + } + } + else { + unsigned int nShortMatchOffset; + + /* '111': 4 bit offset */ + nResult = apultra_read_bit(&pInputData, pInputDataEnd, &nCurBitMask, &bits); + if (nResult < 0) return -1; + nShortMatchOffset = nResult << 3; + + nResult = apultra_read_bit(&pInputData, pInputDataEnd, &nCurBitMask, &bits); + if (nResult < 0) return -1; + nShortMatchOffset |= nResult << 2; + + nResult = apultra_read_bit(&pInputData, pInputDataEnd, &nCurBitMask, &bits); + if (nResult < 0) return -1; + nShortMatchOffset |= nResult << 1; + + nResult = apultra_read_bit(&pInputData, pInputDataEnd, &nCurBitMask, &bits); + if (nResult < 0) return -1; + nShortMatchOffset |= nResult << 0; + + nFollowsLiteral = 3; + if (nShortMatchOffset) { + /* Short offset, 1-15 */ + const unsigned char *pSrc = pCurOutData - nShortMatchOffset; + if (pSrc >= pOutData && (pCurOutData + 1) <= pOutDataEnd && (pSrc + 1) <= pOutDataEnd) { + *pCurOutData++ = *pSrc++; + } + else { + return -1; + } + } + else { + /* Write zero */ + if ((pCurOutData + 1) <= pOutDataEnd) { + *pCurOutData++ = 0; + } + else { + return -1; + } + } + } + } + } + } + + return (size_t)(pCurOutData - pOutData) - nDictionarySize; +} diff --git a/tools/z64compress/src/enc/apultra/expand.h b/tools/z64compress/src/enc/apultra/expand.h new file mode 100644 index 0000000000..474660ca25 --- /dev/null +++ b/tools/z64compress/src/enc/apultra/expand.h @@ -0,0 +1,71 @@ +/* + * expand.h - decompressor definitions + * + * Copyright (C) 2019 Emmanuel Marty + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + */ + +/* + * Uses the libdivsufsort library Copyright (c) 2003-2008 Yuta Mori + * + * Inspired by cap by Sven-Åke Dahl. https://github.com/svendahl/cap + * Also inspired by Charles Bloom's compression blog. http://cbloomrants.blogspot.com/ + * With ideas from LZ4 by Yann Collet. https://github.com/lz4/lz4 + * With help and support from spke + * + */ + +#ifndef _EXPAND_H +#define _EXPAND_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * Get maximum decompressed size of compressed data + * + * @param pInputData compressed data + * @param nInputSize compressed size in bytes + * @param nFlags compression flags (set to 0) + * + * @return maximum decompressed size + */ +size_t apultra_get_max_decompressed_size(const unsigned char *pInputData, size_t nInputSize, const unsigned int nFlags); + +/** + * Decompress data in memory + * + * @param pInputData compressed data + * @param pOutBuffer buffer for decompressed data + * @param nInputSize compressed size in bytes + * @param nMaxOutBufferSize maximum capacity of decompression buffer + * @param nDictionarySize size of dictionary in front of input data (0 for none) + * @param nFlags compression flags (set to 0) + * + * @return actual decompressed size, or -1 for error + */ +size_t apultra_decompress(const unsigned char *pInputData, unsigned char *pOutBuffer, size_t nInputSize, size_t nMaxOutBufferSize, size_t nDictionarySize, const unsigned int nFlags); + +#ifdef __cplusplus +} +#endif + +#endif /* _EXPAND_H */ diff --git a/tools/z64compress/src/enc/apultra/format.h b/tools/z64compress/src/enc/apultra/format.h new file mode 100644 index 0000000000..cf949b5750 --- /dev/null +++ b/tools/z64compress/src/enc/apultra/format.h @@ -0,0 +1,47 @@ +/* + * format.h - byte stream format definitions + * + * Copyright (C) 2019 Emmanuel Marty + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + */ + +/* + * Uses the libdivsufsort library Copyright (c) 2003-2008 Yuta Mori + * + * Inspired by cap by Sven-Åke Dahl. https://github.com/svendahl/cap + * Also inspired by Charles Bloom's compression blog. http://cbloomrants.blogspot.com/ + * With ideas from LZ4 by Yann Collet. https://github.com/lz4/lz4 + * With help and support from spke + * + */ + +#ifndef _FORMAT_H +#define _FORMAT_H + +#define MIN_OFFSET 1 +#define MAX_OFFSET 0x1fffff + +#define MAX_VARLEN 0x1fffff + +#define BLOCK_SIZE 0x100000 + +#define MIN_MATCH_SIZE 1 +#define MINMATCH3_OFFSET 1280 +#define MINMATCH4_OFFSET 32000 + +#endif /* _FORMAT_H */ diff --git a/tools/z64compress/src/enc/apultra/libapultra.h b/tools/z64compress/src/enc/apultra/libapultra.h new file mode 100644 index 0000000000..f97e336a75 --- /dev/null +++ b/tools/z64compress/src/enc/apultra/libapultra.h @@ -0,0 +1,40 @@ +/* + * libapultra.h - library definitions + * + * Copyright (C) 2019 Emmanuel Marty + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + */ + +/* + * Uses the libdivsufsort library Copyright (c) 2003-2008 Yuta Mori + * + * Inspired by cap by Sven-Åke Dahl. https://github.com/svendahl/cap + * Also inspired by Charles Bloom's compression blog. http://cbloomrants.blogspot.com/ + * With ideas from LZ4 by Yann Collet. https://github.com/lz4/lz4 + * With help and support from spke + * + */ + +#ifndef _LIB_APULTRA_H +#define _LIB_APULTRA_H + +#include "format.h" +#include "shrink.h" +#include "expand.h" + +#endif /* _LIB_APULTRA_H */ diff --git a/tools/z64compress/src/enc/apultra/matchfinder.c b/tools/z64compress/src/enc/apultra/matchfinder.c new file mode 100644 index 0000000000..a9987f96e2 --- /dev/null +++ b/tools/z64compress/src/enc/apultra/matchfinder.c @@ -0,0 +1,449 @@ +/* + * matchfinder.c - LZ match finder implementation + * + * The following copying information applies to this specific source code file: + * + * Written in 2019 by Emmanuel Marty + * Portions written in 2014-2015 by Eric Biggers + * + * To the extent possible under law, the author(s) have dedicated all copyright + * and related and neighboring rights to this software to the public domain + * worldwide via the Creative Commons Zero 1.0 Universal Public Domain + * Dedication (the "CC0"). + * + * This software is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the CC0 for more details. + * + * You should have received a copy of the CC0 along with this software; if not + * see . + */ + +/* + * Uses the libdivsufsort library Copyright (c) 2003-2008 Yuta Mori + * + * Inspired by cap by Sven-Åke Dahl. https://github.com/svendahl/cap + * Also inspired by Charles Bloom's compression blog. http://cbloomrants.blogspot.com/ + * With ideas from LZ4 by Yann Collet. https://github.com/lz4/lz4 + * With help and support from spke + * + */ + +#include +#include +#include "matchfinder.h" +#include "format.h" +#include "libapultra.h" + +/** + * Hash index into TAG_BITS + * + * @param nIndex index value + * + * @return hash + */ +static inline int apultra_get_index_tag(unsigned int nIndex) { + return (int)(((unsigned long long)nIndex * 11400714819323198485ULL) >> (64ULL - TAG_BITS)); +} + +/** + * Parse input data, build suffix array and overlaid data structures to speed up match finding + * + * @param pCompressor compression context + * @param pInWindow pointer to input data window (previously compressed bytes + bytes to compress) + * @param nInWindowSize total input size in bytes (previously compressed bytes + bytes to compress) + * + * @return 0 for success, non-zero for failure + */ +int apultra_build_suffix_array(apultra_compressor *pCompressor, const unsigned char *pInWindow, const int nInWindowSize) { + unsigned long long *intervals = pCompressor->intervals; + + /* Build suffix array from input data */ + saidx_t *suffixArray = (saidx_t*)intervals; + if (divsufsort_build_array(&pCompressor->divsufsort_context, pInWindow, suffixArray, nInWindowSize) != 0) { + return 100; + } + + int i, r; + + for (i = nInWindowSize - 1; i >= 0; i--) { + intervals[i] = suffixArray[i]; + } + + int *PLCP = (int*)pCompressor->pos_data; /* Use temporarily */ + int *Phi = PLCP; + int nCurLen = 0; + + /* Compute the permuted LCP first (Kärkkäinen method) */ + Phi[intervals[0]] = -1; + for (i = 1; i < nInWindowSize; i++) + Phi[intervals[i]] = (unsigned int)intervals[i - 1]; + for (i = 0; i < nInWindowSize; i++) { + if (Phi[i] == -1) { + PLCP[i] = 0; + continue; + } + int nMaxLen = (i > Phi[i]) ? (nInWindowSize - i) : (nInWindowSize - Phi[i]); + while (nCurLen < nMaxLen && pInWindow[i + nCurLen] == pInWindow[Phi[i] + nCurLen]) nCurLen++; + PLCP[i] = nCurLen; + if (nCurLen > 0) + nCurLen--; + } + + /* Rotate permuted LCP into the LCP. This has better cache locality than the direct Kasai LCP method. This also + * saves us from having to build the inverse suffix array index, as the LCP is calculated without it using this method, + * and the interval builder below doesn't need it either. */ + intervals[0] &= POS_MASK; + + for (i = 1; i < nInWindowSize; i++) { + int nIndex = (int)(intervals[i] & POS_MASK); + int nLen = PLCP[nIndex]; + if (nLen < MIN_MATCH_SIZE) + nLen = 0; + if (nLen > LCP_MAX) + nLen = LCP_MAX; + int nTaggedLen = 0; + if (nLen) + nTaggedLen = (nLen << TAG_BITS) | (apultra_get_index_tag((unsigned int)nIndex) & ((1 << TAG_BITS) - 1)); + intervals[i] = ((unsigned long long)nIndex) | (((unsigned long long)nTaggedLen) << LCP_SHIFT); + } + + /** + * Build intervals for finding matches + * + * Methodology and code fragment taken from wimlib (CC0 license): + * https://wimlib.net/git/?p=wimlib;a=blob_plain;f=src/lcpit_matchfinder.c;h=a2d6a1e0cd95200d1f3a5464d8359d5736b14cbe;hb=HEAD + */ + unsigned long long * const SA_and_LCP = intervals; + unsigned long long *pos_data = pCompressor->pos_data; + unsigned long long next_interval_idx; + unsigned long long *top = pCompressor->open_intervals; + unsigned long long prev_pos = SA_and_LCP[0] & POS_MASK; + + *top = 0; + intervals[0] = 0; + next_interval_idx = 1; + + for (r = 1; r < nInWindowSize; r++) { + const unsigned long long next_pos = SA_and_LCP[r] & POS_MASK; + const unsigned long long next_lcp = SA_and_LCP[r] & LCP_MASK; + const unsigned long long top_lcp = *top & LCP_MASK; + + if (next_lcp == top_lcp) { + /* Continuing the deepest open interval */ + pos_data[prev_pos] = *top; + } + else if (next_lcp > top_lcp) { + /* Opening a new interval */ + *++top = next_lcp | next_interval_idx++; + pos_data[prev_pos] = *top; + } + else { + /* Closing the deepest open interval */ + pos_data[prev_pos] = *top; + for (;;) { + const unsigned long long closed_interval_idx = *top-- & POS_MASK; + const unsigned long long superinterval_lcp = *top & LCP_MASK; + + if (next_lcp == superinterval_lcp) { + /* Continuing the superinterval */ + intervals[closed_interval_idx] = *top; + break; + } + else if (next_lcp > superinterval_lcp) { + /* Creating a new interval that is a + * superinterval of the one being + * closed, but still a subinterval of + * its superinterval */ + *++top = next_lcp | next_interval_idx++; + intervals[closed_interval_idx] = *top; + break; + } + else { + /* Also closing the superinterval */ + intervals[closed_interval_idx] = *top; + } + } + } + prev_pos = next_pos; + } + + /* Close any still-open intervals. */ + pos_data[prev_pos] = *top; + for (; top > pCompressor->open_intervals; top--) + intervals[*top & POS_MASK] = *(top - 1); + + /* Success */ + return 0; +} + +/** + * Find matches at the specified offset in the input window + * + * @param pCompressor compression context + * @param nOffset offset to find matches at, in the input window + * @param pMatches pointer to returned matches + * @param pMatchDepth pointer to returned match depths + * @param pMatch1 pointer to 1-byte length, 4 bit offset match + * @param nMaxMatches maximum number of matches to return (0 for none) + * @param nBlockFlags bit 0: 1 for first block, 0 otherwise; bit 1: 1 for last block, 0 otherwise + * + * @return number of matches + */ +int apultra_find_matches_at(apultra_compressor *pCompressor, const int nOffset, apultra_match *pMatches, unsigned short *pMatchDepth, unsigned char *pMatch1, const int nMaxMatches, const int nBlockFlags) { + unsigned long long *intervals = pCompressor->intervals; + unsigned long long *pos_data = pCompressor->pos_data; + unsigned long long ref; + unsigned long long super_ref; + unsigned long long match_pos; + apultra_match *matchptr; + unsigned short *depthptr; + const int nMaxOffset = pCompressor->max_offset; + + *pMatch1 = 0; + + /** + * Find matches using intervals + * + * Taken from wimlib (CC0 license): + * https://wimlib.net/git/?p=wimlib;a=blob_plain;f=src/lcpit_matchfinder.c;h=a2d6a1e0cd95200d1f3a5464d8359d5736b14cbe;hb=HEAD + */ + + /* Get the deepest lcp-interval containing the current suffix. */ + ref = pos_data[nOffset]; + + pos_data[nOffset] = 0; + + /* Ascend until we reach a visited interval, the root, or a child of the + * root. Link unvisited intervals to the current suffix as we go. */ + while ((super_ref = intervals[ref & POS_MASK]) & LCP_MASK) { + intervals[ref & POS_MASK] = nOffset | VISITED_FLAG; + ref = super_ref; + } + + if (super_ref == 0) { + /* In this case, the current interval may be any of: + * (1) the root; + * (2) an unvisited child of the root */ + + if (ref != 0) /* Not the root? */ + intervals[ref & POS_MASK] = nOffset | VISITED_FLAG; + return 0; + } + + /* Ascend indirectly via pos_data[] links. */ + match_pos = super_ref & EXCL_VISITED_MASK; + matchptr = pMatches; + depthptr = pMatchDepth; + int nPrevOffset = 0; + int nPrevLen = 0; + int nCurDepth = 0; + unsigned short *cur_depth = NULL; + + if (nOffset >= match_pos && (nBlockFlags & 3) == 3) { + int nMatchOffset = (int)(nOffset - match_pos); + int nMatchLen = (int)(ref >> (LCP_SHIFT + TAG_BITS)); + + if ((matchptr - pMatches) < nMaxMatches) { + if (nMatchOffset <= nMaxOffset) { + if (nPrevOffset && nPrevLen > 2 && nMatchOffset == (nPrevOffset - 1) && nMatchLen == (nPrevLen - 1) && cur_depth && nCurDepth < LCP_MAX) { + nCurDepth++; + *cur_depth = nCurDepth; + } + else { + nCurDepth = 0; + + cur_depth = depthptr; + matchptr->length = nMatchLen; + matchptr->offset = nMatchOffset; + *depthptr = 0; + matchptr++; + depthptr++; + } + + nPrevLen = nMatchLen; + nPrevOffset = nMatchOffset; + } + } + } + + for (;;) { + if ((super_ref = pos_data[match_pos]) > ref) { + match_pos = intervals[super_ref & POS_MASK] & EXCL_VISITED_MASK; + + if (nOffset >= match_pos && (nBlockFlags & 3) == 3) { + int nMatchOffset = (int)(nOffset - match_pos); + int nMatchLen = (int)(ref >> (LCP_SHIFT + TAG_BITS)); + + if ((matchptr - pMatches) < nMaxMatches) { + if (nMatchOffset <= nMaxOffset && abs(nMatchOffset - nPrevOffset) >= 128) { + if (nPrevOffset && nPrevLen > 2 && nMatchOffset == (nPrevOffset - 1) && nMatchLen == (nPrevLen - 1) && cur_depth && nCurDepth < LCP_MAX) { + nCurDepth++; + *cur_depth = nCurDepth | 0x8000; + } + else { + nCurDepth = 0; + + cur_depth = depthptr; + matchptr->length = nMatchLen; + matchptr->offset = nMatchOffset; + *depthptr = 0x8000; + matchptr++; + depthptr++; + } + + nPrevLen = nMatchLen; + nPrevOffset = nMatchOffset; + } + } + } + } + + while ((super_ref = pos_data[match_pos]) > ref) { + match_pos = intervals[super_ref & POS_MASK] & EXCL_VISITED_MASK; + + if (nOffset > match_pos && (nBlockFlags & 3) == 3) { + int nMatchOffset = (int)(nOffset - match_pos); + int nMatchLen = (int)(ref >> (LCP_SHIFT + TAG_BITS)); + + if ((matchptr - pMatches) < nMaxMatches) { + if (nMatchOffset <= nMaxOffset && (nMatchLen >= 3 || (nMatchLen >= 2 && (matchptr - pMatches) < (nMaxMatches - 1))) && nMatchLen < 1280 && abs(nMatchOffset - nPrevOffset) >= 128) { + if (nPrevOffset && nPrevLen > 2 && nMatchOffset == (nPrevOffset - 1) && nMatchLen == (nPrevLen - 1) && cur_depth && nCurDepth < LCP_MAX) { + nCurDepth++; + *cur_depth = nCurDepth | 0x8000; + } + else { + nCurDepth = 0; + + cur_depth = depthptr; + matchptr->length = nMatchLen; + matchptr->offset = nMatchOffset; + *depthptr = 0x8000; + matchptr++; + depthptr++; + } + + nPrevLen = nMatchLen; + nPrevOffset = nMatchOffset; + } + } + } + } + + intervals[ref & POS_MASK] = nOffset | VISITED_FLAG; + pos_data[match_pos] = (unsigned long long)ref; + + int nMatchOffset = (int)(nOffset - match_pos); + int nMatchLen = (int)(ref >> (LCP_SHIFT + TAG_BITS)); + + if ((matchptr - pMatches) < nMaxMatches) { + if (nMatchOffset <= nMaxOffset && nMatchOffset != nPrevOffset) { + if (nPrevOffset && nPrevLen > 2 && nMatchOffset == (nPrevOffset - 1) && nMatchLen == (nPrevLen - 1) && cur_depth && nCurDepth < LCP_MAX) { + nCurDepth++; + *cur_depth = nCurDepth; + } + else { + nCurDepth = 0; + + cur_depth = depthptr; + matchptr->length = nMatchLen; + matchptr->offset = nMatchOffset; + *depthptr = 0; + matchptr++; + depthptr++; + } + + nPrevLen = nMatchLen; + nPrevOffset = nMatchOffset; + } + } + + if (nMatchOffset && nMatchOffset < 16 && nMatchLen) + *pMatch1 = nMatchOffset; + + if (super_ref == 0) + break; + ref = super_ref; + match_pos = intervals[ref & POS_MASK] & EXCL_VISITED_MASK; + + if (nOffset > match_pos && (nBlockFlags & 3) == 3) { + int nMatchOffset = (int)(nOffset - match_pos); + int nMatchLen = (int)(ref >> (LCP_SHIFT + TAG_BITS)); + + if ((matchptr - pMatches) < nMaxMatches) { + if (nMatchOffset <= nMaxOffset && nMatchLen >= 2 && abs(nMatchOffset - nPrevOffset) >= 128) { + if (nPrevOffset && nPrevLen > 2 && nMatchOffset == (nPrevOffset - 1) && nMatchLen == (nPrevLen - 1) && cur_depth && nCurDepth < LCP_MAX) { + nCurDepth++; + *cur_depth = nCurDepth | 0x8000; + } + else { + nCurDepth = 0; + + cur_depth = depthptr; + matchptr->length = nMatchLen; + matchptr->offset = nMatchOffset; + *depthptr = 0x8000; + matchptr++; + depthptr++; + } + + nPrevLen = nMatchLen; + nPrevOffset = nMatchOffset; + } + } + } + } + + return (int)(matchptr - pMatches); +} + +/** + * Skip previously compressed bytes + * + * @param pCompressor compression context + * @param nStartOffset current offset in input window (typically 0) + * @param nEndOffset offset to skip to in input window (typically the number of previously compressed bytes) + */ +void apultra_skip_matches(apultra_compressor *pCompressor, const int nStartOffset, const int nEndOffset) { + apultra_match match; + unsigned short depth; + unsigned char match1; + int i; + + /* Skipping still requires scanning for matches, as this also performs a lazy update of the intervals. However, + * we don't store the matches. */ + for (i = nStartOffset; i < nEndOffset; i++) { + apultra_find_matches_at(pCompressor, i, &match, &depth, &match1, 0, 0); + } +} + +/** + * Find all matches for the data to be compressed + * + * @param pCompressor compression context + * @param nMatchesPerOffset maximum number of matches to store for each offset + * @param nStartOffset current offset in input window (typically the number of previously compressed bytes) + * @param nEndOffset offset to end finding matches at (typically the size of the total input window in bytes + * @param nBlockFlags bit 0: 1 for first block, 0 otherwise; bit 1: 1 for last block, 0 otherwise + */ +void apultra_find_all_matches(apultra_compressor *pCompressor, const int nMatchesPerOffset, const int nStartOffset, const int nEndOffset, const int nBlockFlags) { + apultra_match *pMatch = pCompressor->match; + unsigned short *pMatchDepth = pCompressor->match_depth; + unsigned char *pMatch1 = pCompressor->match1; + int i; + + for (i = nStartOffset; i < nEndOffset; i++) { + int nMatches = apultra_find_matches_at(pCompressor, i, pMatch, pMatchDepth, pMatch1, nMatchesPerOffset, nBlockFlags); + + while (nMatches < nMatchesPerOffset) { + pMatch[nMatches].length = 0; + pMatch[nMatches].offset = 0; + pMatchDepth[nMatches] = 0; + nMatches++; + } + + pMatch += nMatchesPerOffset; + pMatchDepth += nMatchesPerOffset; + pMatch1++; + } +} diff --git a/tools/z64compress/src/enc/apultra/matchfinder.h b/tools/z64compress/src/enc/apultra/matchfinder.h new file mode 100644 index 0000000000..7d68eaf47d --- /dev/null +++ b/tools/z64compress/src/enc/apultra/matchfinder.h @@ -0,0 +1,94 @@ +/* + * matchfinder.h - LZ match finder definitions + * + * Copyright (C) 2019 Emmanuel Marty + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + */ + +/* + * Uses the libdivsufsort library Copyright (c) 2003-2008 Yuta Mori + * + * Inspired by cap by Sven-Åke Dahl. https://github.com/svendahl/cap + * Also inspired by Charles Bloom's compression blog. http://cbloomrants.blogspot.com/ + * With ideas from LZ4 by Yann Collet. https://github.com/lz4/lz4 + * With help and support from spke + * + */ + +#ifndef _MATCHFINDER_H +#define _MATCHFINDER_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* Forward declarations */ +typedef struct _apultra_match apultra_match; +typedef struct _apultra_compressor apultra_compressor; + +/** + * Parse input data, build suffix array and overlaid data structures to speed up match finding + * + * @param pCompressor compression context + * @param pInWindow pointer to input data window (previously compressed bytes + bytes to compress) + * @param nInWindowSize total input size in bytes (previously compressed bytes + bytes to compress) + * + * @return 0 for success, non-zero for failure + */ +int apultra_build_suffix_array(apultra_compressor *pCompressor, const unsigned char *pInWindow, const int nInWindowSize); + +/** + * Find matches at the specified offset in the input window + * + * @param pCompressor compression context + * @param nOffset offset to find matches at, in the input window + * @param pMatches pointer to returned matches + * @param pMatchDepth pointer to returned match depths + * @param pMatch1 pointer to 1-byte length, 4 bit offset match + * @param nMaxMatches maximum number of matches to return (0 for none) + * @param nBlockFlags bit 0: 1 for first block, 0 otherwise; bit 1: 1 for last block, 0 otherwise + * + * @return number of matches + */ +int apultra_find_matches_at(apultra_compressor *pCompressor, const int nOffset, apultra_match *pMatches, unsigned short *pMatchDepth, unsigned char *pMatch1, const int nMaxMatches, const int nBlockFlags); + +/** + * Skip previously compressed bytes + * + * @param pCompressor compression context + * @param nStartOffset current offset in input window (typically 0) + * @param nEndOffset offset to skip to in input window (typically the number of previously compressed bytes) + */ +void apultra_skip_matches(apultra_compressor *pCompressor, const int nStartOffset, const int nEndOffset); + +/** + * Find all matches for the data to be compressed + * + * @param pCompressor compression context + * @param nMatchesPerOffset maximum number of matches to store for each offset + * @param nStartOffset current offset in input window (typically the number of previously compressed bytes) + * @param nEndOffset offset to end finding matches at (typically the size of the total input window in bytes + * @param nBlockFlags bit 0: 1 for first block, 0 otherwise; bit 1: 1 for last block, 0 otherwise + */ +void apultra_find_all_matches(apultra_compressor *pCompressor, const int nMatchesPerOffset, const int nStartOffset, const int nEndOffset, const int nBlockFlags); + +#ifdef __cplusplus +} +#endif + +#endif /* _MATCHFINDER_H */ diff --git a/tools/z64compress/src/enc/apultra/shrink.c b/tools/z64compress/src/enc/apultra/shrink.c new file mode 100644 index 0000000000..1d24a9cba6 --- /dev/null +++ b/tools/z64compress/src/enc/apultra/shrink.c @@ -0,0 +1,1731 @@ +/* + * shrink.c - compressor implementation + * + * Copyright (C) 2019 Emmanuel Marty + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + */ + +/* + * Uses the libdivsufsort library Copyright (c) 2003-2008 Yuta Mori + * + * Inspired by cap by Sven-Åke Dahl. https://github.com/svendahl/cap + * Also inspired by Charles Bloom's compression blog. http://cbloomrants.blogspot.com/ + * With ideas from LZ4 by Yann Collet. https://github.com/lz4/lz4 + * With help and support from spke + * + */ + +#include +#include +#include +#include "libapultra.h" +#include "matchfinder.h" +#include "shrink.h" +#include "format.h" + +#define TOKEN_CODE_LARGE_MATCH 2 /* 10 */ +#define TOKEN_SIZE_LARGE_MATCH 2 + +#define TOKEN_CODE_7BIT_MATCH 6 /* 110 */ +#define TOKEN_SIZE_7BIT_MATCH 3 + +#define TOKEN_CODE_4BIT_MATCH 7 /* 111 */ +#define TOKEN_SIZE_4BIT_MATCH 3 + +#define CountShift(N,bits) if ((N)>>(bits)) { (N)>>=(bits); (n) += (bits); } + +/** Gamma2 bit counts for common values, up to 255 */ +static char _gamma2_size[256] = { + 0, 0, 2, 2, 4, 4, 4, 4, 6, 6, 6, 6, 6, 6, 6, 6, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, +}; + +/** + * Write bitpacked value to output (compressed) buffer + * + * @param pOutData pointer to output buffer + * @param nOutOffset current write index into output buffer + * @param nMaxOutDataSize maximum size of output buffer, in bytes + * @param nValue value to write + * @param nBits number of least significant bits to write in value + * @param nCurBitsOffset write index into output buffer, of current byte being filled with bits + * @param nCurBitShift bit shift count + * + * @return updated write index into output buffer, or -1 in case of an error + */ +static int apultra_write_bits(unsigned char *pOutData, int nOutOffset, const int nMaxOutDataSize, const int nValue, const int nBits, int *nCurBitsOffset, int *nCurBitShift) { + int i; + + if (nOutOffset < 0) return -1; + + for (i = nBits - 1; i >= 0; i--) { + if ((*nCurBitsOffset) == INT_MIN) { + /* Allocate a new byte in the stream to pack bits in */ + if (nOutOffset >= nMaxOutDataSize) return -1; + (*nCurBitsOffset) = nOutOffset; + (*nCurBitShift) = 7; + pOutData[nOutOffset++] = 0; + } + + pOutData[(*nCurBitsOffset)] |= ((nValue >> i) & 1) << (*nCurBitShift); + + (*nCurBitShift) --; + if ((*nCurBitShift) == -1) { + /* Current byte is full */ + (*nCurBitsOffset) = INT_MIN; + } + } + + return nOutOffset; +} + +/** + * Get size of gamma2 encoded value + * + * @param nValue value of evaluate (2..n) + * + * @return number of bits required + */ +static int apultra_get_gamma2_size(int nValue) { + if (nValue >= 0 && nValue < 256) + return _gamma2_size[nValue]; + else { + unsigned int n = 0; + CountShift(nValue, 16); + CountShift(nValue, 8); + CountShift(nValue, 4); + CountShift(nValue, 2); + CountShift(nValue, 1); + + return n << 1; + } +} + +/** + * Write gamma2 encoded value to output (compressed) buffer + * + * @param pOutData pointer to output buffer + * @param nOutOffset current write index into output buffer + * @param nMaxOutDataSize maximum size of output buffer, in bytes + * @param nValue value of write (2..n) + * @param nCurBitsOffset write index into output buffer, of current byte being filled with bits + * @param nCurBitShift bit shift count + * + * @return updated write index into output buffer, or -1 in case of an error + */ +static int apultra_write_gamma2_value(unsigned char *pOutData, int nOutOffset, const int nMaxOutDataSize, int nValue, int *nCurBitsOffset, int *nCurBitShift) { + int msb = 30; + while ((nValue >> msb--) == 0); + + while (msb > 0) { + int bit = (nValue >> msb) & 1; + + nOutOffset = apultra_write_bits(pOutData, nOutOffset, nMaxOutDataSize, bit, 1, nCurBitsOffset, nCurBitShift); + msb--; + nOutOffset = apultra_write_bits(pOutData, nOutOffset, nMaxOutDataSize, 1, 1, nCurBitsOffset, nCurBitShift); + } + + nOutOffset = apultra_write_bits(pOutData, nOutOffset, nMaxOutDataSize, nValue & 1, 1, nCurBitsOffset, nCurBitShift); + nOutOffset = apultra_write_bits(pOutData, nOutOffset, nMaxOutDataSize, 0, 1, nCurBitsOffset, nCurBitShift); + return nOutOffset; +} + +/** + * Get the number of extra bits required to represent a match offset + * + * @param nLength match length + * @param nMatchOffset match offset + * @param nFollowsLiteral non-zero if the match follows a literal, zero if it immediately follows another match + * + * @return number of extra bits required + */ +static inline int apultra_get_offset_varlen_size(const int nLength, const int nMatchOffset, const int nFollowsLiteral) { + if (nLength <= 3 && nMatchOffset < 128) + return 8 + TOKEN_SIZE_7BIT_MATCH; + else { + if (nFollowsLiteral) + return 8 + TOKEN_SIZE_LARGE_MATCH + apultra_get_gamma2_size((nMatchOffset >> 8) + 3); + else + return 8 + TOKEN_SIZE_LARGE_MATCH + apultra_get_gamma2_size((nMatchOffset >> 8) + 2); + } +} + +/** + * Get the number of extra bits required to represent a match length + * + * @param nLength match length + * @param nMatchOffset match offset + * + * @return number of extra bits required + */ +static inline int apultra_get_match_varlen_size(int nLength, const int nMatchOffset) { + if (nLength <= 3 && nMatchOffset < 128) + return 0; + else { + if (nMatchOffset < 128 || nMatchOffset >= MINMATCH4_OFFSET) + return apultra_get_gamma2_size(nLength - 2); + else if (nMatchOffset < MINMATCH3_OFFSET) + return apultra_get_gamma2_size(nLength); + else + return apultra_get_gamma2_size(nLength - 1); + } +} + +/** + * Insert forward rep candidate + * + * @param pCompressor compression context + * @param pInWindow pointer to input data window (previously compressed bytes + bytes to compress) + * @param i input data window position whose matches are being considered + * @param nMatchOffset match offset to use as rep candidate + * @param nStartOffset current offset in input window (typically the number of previously compressed bytes) + * @param nEndOffset offset to end finding matches at (typically the size of the total input window in bytes + * @param nArrivalsPerPosition maximum number of arrivals per input buffer position + * @param nDepth current insertion depth + */ +static void apultra_insert_forward_match(apultra_compressor *pCompressor, const unsigned char *pInWindow, const int i, const int nMatchOffset, const int nStartOffset, const int nEndOffset, const int nArrivalsPerPosition, int nDepth) { + const apultra_arrival *arrival = pCompressor->arrival + ((i - nStartOffset) * nArrivalsPerPosition); + const int *rle_len = (int*)pCompressor->intervals /* reuse */; + int* visited = ((int*)pCompressor->pos_data) - nStartOffset /* reuse */; + int* visited2 = visited + (nEndOffset - nStartOffset) /* reuse */; + int j; + + for (j = 0; j < nArrivalsPerPosition && arrival[j].from_slot; j++) { + if (arrival[j].follows_literal) { + int nRepOffset = arrival[j].rep_offset; + + if (nMatchOffset != nRepOffset && nRepOffset) { + int nRepPos = arrival[j].rep_pos; + + if (nRepPos >= nStartOffset && + nRepPos < nEndOffset && + visited[nRepPos] != nMatchOffset) { + + visited[nRepPos] = nMatchOffset; + + if (visited2[nRepPos] != nMatchOffset && nRepPos >= nMatchOffset && pCompressor->match[((nRepPos - nStartOffset) << MATCHES_PER_INDEX_SHIFT) + NMATCHES_PER_INDEX - 1].length == 0) { + const unsigned char* pInWindowAtRepOffset = pInWindow + nRepPos; + + if (pInWindowAtRepOffset[0] == pInWindowAtRepOffset[-nMatchOffset]) { + int nLen0 = rle_len[nRepPos - nMatchOffset]; + int nLen1 = rle_len[nRepPos]; + int nMinLen = (nLen0 < nLen1) ? nLen0 : nLen1; + + int nMaxRepLen = nEndOffset - nRepPos; + if (nMaxRepLen > LCP_MAX) + nMaxRepLen = LCP_MAX; + + if (nMinLen > nMaxRepLen) + nMinLen = nMaxRepLen; + + const unsigned char* pInWindowMax = pInWindowAtRepOffset + nMaxRepLen; + pInWindowAtRepOffset += nMinLen; + + while ((pInWindowAtRepOffset + 8) < pInWindowMax && !memcmp(pInWindowAtRepOffset, pInWindowAtRepOffset - nMatchOffset, 8)) + pInWindowAtRepOffset += 8; + while ((pInWindowAtRepOffset + 4) < pInWindowMax && !memcmp(pInWindowAtRepOffset, pInWindowAtRepOffset - nMatchOffset, 4)) + pInWindowAtRepOffset += 4; + while (pInWindowAtRepOffset < pInWindowMax && pInWindowAtRepOffset[0] == pInWindowAtRepOffset[-nMatchOffset]) + pInWindowAtRepOffset++; + + int nCurRepLen = (int)(pInWindowAtRepOffset - (pInWindow + nRepPos)); + + if (nCurRepLen >= 2) { + apultra_match* fwd_match = pCompressor->match + ((nRepPos - nStartOffset) << MATCHES_PER_INDEX_SHIFT); + unsigned short* fwd_depth = pCompressor->match_depth + ((nRepPos - nStartOffset) << MATCHES_PER_INDEX_SHIFT); + int r; + + for (r = 0; fwd_match[r].length >= MIN_MATCH_SIZE; r++) { + if (fwd_match[r].offset == nMatchOffset && (fwd_depth[r] & 0x3fff) == 0) { + if ((int)fwd_match[r].length < nCurRepLen) { + fwd_match[r].length = nCurRepLen; + fwd_depth[r] = 0; + } + r = NMATCHES_PER_INDEX; + break; + } + } + + if (r < NMATCHES_PER_INDEX) { + visited2[nRepPos] = nMatchOffset; + + fwd_match[r].offset = nMatchOffset; + fwd_match[r].length = nCurRepLen; + fwd_depth[r] = 0; + + if (nDepth < 9) + apultra_insert_forward_match(pCompressor, pInWindow, nRepPos, nMatchOffset, nStartOffset, nEndOffset, nArrivalsPerPosition, nDepth + 1); + } + } + } + } + } + } + } + } +} + +/** + * Attempt to pick optimal matches, so as to produce the smallest possible output that decompresses to the same input + * + * @param pCompressor compression context + * @param pInWindow pointer to input data window (previously compressed bytes + bytes to compress) + * @param nStartOffset current offset in input window (typically the number of previously compressed bytes) + * @param nEndOffset offset to end finding matches at (typically the size of the total input window in bytes + * @param nInsertForwardReps non-zero to insert forward repmatch candidates, zero to use the previously inserted candidates + * @param nCurRepMatchOffset starting rep offset for this block + * @param nBlockFlags bit 0: 1 for first block, 0 otherwise; bit 1: 1 for last block, 0 otherwise + * @param nArrivalsPerPosition maximum number of arrivals per input buffer position + */ +static void apultra_optimize_forward(apultra_compressor *pCompressor, const unsigned char *pInWindow, const int nStartOffset, const int nEndOffset, const int nInsertForwardReps, const int *nCurRepMatchOffset, const int nBlockFlags, const int nArrivalsPerPosition) { + apultra_arrival *arrival = pCompressor->arrival - (nStartOffset * nArrivalsPerPosition); + const int* rle_len = (int*)pCompressor->intervals /* reuse */; + int* visited = ((int*)pCompressor->pos_data) - nStartOffset /* reuse */; + int i, j, n; + + if ((nEndOffset - nStartOffset) > pCompressor->block_size) return; + + memset(arrival + (nStartOffset * nArrivalsPerPosition), 0, sizeof(apultra_arrival) * ((nEndOffset - nStartOffset + 1) * nArrivalsPerPosition)); + + arrival[nStartOffset * nArrivalsPerPosition].from_slot = -1; + arrival[nStartOffset * nArrivalsPerPosition].rep_offset = *nCurRepMatchOffset; + + for (i = (nStartOffset * nArrivalsPerPosition); i != ((nEndOffset+1) * nArrivalsPerPosition); i++) { + arrival[i].cost = 0x40000000; + } + + if (nInsertForwardReps) { + memset(visited + nStartOffset, 0, 2 * (nEndOffset - nStartOffset) * sizeof(int)); + } + + for (i = nStartOffset; i != nEndOffset; i++) { + apultra_arrival *cur_arrival = &arrival[i * nArrivalsPerPosition]; + int m; + + const unsigned char nMatch1Offs = pCompressor->match1[i - nStartOffset]; + int nShortOffset; + int nShortLen; + int nLiteralScore; + int nLiteralCost; + + if ((pInWindow[i] != 0 && nMatch1Offs == 0) || (i == nStartOffset && (nBlockFlags & 1))) { + nShortOffset = 0; + nShortLen = 0; + nLiteralCost = 9 /* literal bit + literal byte */; + } + else { + nShortOffset = (pInWindow[i] == 0) ? 0 : nMatch1Offs; + nShortLen = 1; + nLiteralCost = 4 + TOKEN_SIZE_4BIT_MATCH /* command and offset cost; no length cost */; + } + + nLiteralScore = nShortOffset ? 3 : 1; + + if (cur_arrival[nArrivalsPerPosition].from_slot) { + for (j = 0; j < nArrivalsPerPosition && cur_arrival[j].from_slot; j++) { + int nPrevCost = cur_arrival[j].cost & 0x3fffffff; + int nCodingChoiceCost = nPrevCost + nLiteralCost; + int nScore = cur_arrival[j].score + nLiteralScore; + + apultra_arrival* pDestSlots = &cur_arrival[nArrivalsPerPosition]; + if (nCodingChoiceCost < pDestSlots[nArrivalsPerPosition - 1].cost || + (nCodingChoiceCost == pDestSlots[nArrivalsPerPosition - 1].cost && nScore < pDestSlots[nArrivalsPerPosition - 1].score)) { + int nRepOffset = cur_arrival[j].rep_offset; + int exists = 0; + + for (n = 0; + pDestSlots[n].cost < nCodingChoiceCost; + n++) { + if (pDestSlots[n].rep_offset == nRepOffset) { + exists = 1; + break; + } + } + + if (!exists) { + for (; + n < nArrivalsPerPosition && pDestSlots[n].cost == nCodingChoiceCost && nScore >= pDestSlots[n].score; + n++) { + if (pDestSlots[n].rep_offset == nRepOffset) { + exists = 1; + break; + } + } + + if (!exists) { + if (n < nArrivalsPerPosition) { + int nn; + + for (nn = n; + nn < nArrivalsPerPosition && pDestSlots[nn].cost == nCodingChoiceCost; + nn++) { + if (pDestSlots[nn].rep_offset == nRepOffset) { + exists = 1; + break; + } + } + + if (!exists) { + int z; + + for (z = n; z < nArrivalsPerPosition - 1 && pDestSlots[z].from_slot; z++) { + if (pDestSlots[z].rep_offset == nRepOffset) + break; + } + + apultra_arrival* pDestArrival = &pDestSlots[n]; + memmove(&pDestSlots[n + 1], + &pDestSlots[n], + sizeof(apultra_arrival) * (z - n)); + + pDestArrival->cost = nCodingChoiceCost; + pDestArrival->from_pos = i; + pDestArrival->from_slot = j + 1; + pDestArrival->follows_literal = 1; + pDestArrival->rep_offset = nRepOffset; + pDestArrival->short_offset = nShortOffset; + pDestArrival->rep_pos = cur_arrival[j].rep_pos; + pDestArrival->match_len = nShortLen; + pDestArrival->score = nScore; + } + } + } + } + } + } + } + else { + for (j = 0; j < nArrivalsPerPosition && cur_arrival[j].from_slot; j++) { + int nPrevCost = cur_arrival[j].cost & 0x3fffffff; + int nCodingChoiceCost = nPrevCost + nLiteralCost; + int nScore = cur_arrival[j].score + nLiteralScore; + + apultra_arrival* pDestArrival = &cur_arrival[nArrivalsPerPosition + j]; + + pDestArrival->cost = nCodingChoiceCost; + pDestArrival->from_pos = i; + pDestArrival->from_slot = j + 1; + pDestArrival->follows_literal = 1; + pDestArrival->rep_offset = cur_arrival[j].rep_offset; + pDestArrival->short_offset = nShortOffset; + pDestArrival->rep_pos = cur_arrival[j].rep_pos; + pDestArrival->match_len = nShortLen; + pDestArrival->score = nScore; + } + } + + if (i == nStartOffset && (nBlockFlags & 1)) continue; + + const apultra_match *match = pCompressor->match + ((i - nStartOffset) << MATCHES_PER_INDEX_SHIFT); + const unsigned short *match_depth = pCompressor->match_depth + ((i - nStartOffset) << MATCHES_PER_INDEX_SHIFT); + int nNumArrivalsForThisPos = j, nOverallMinRepLen = 0, nOverallMaxRepLen = 0; + + int nRepLenForArrival[NARRIVALS_PER_POSITION_MAX]; + memset(nRepLenForArrival, 0, nArrivalsPerPosition * sizeof(int)); + + int nRepMatchArrivalIdx[NARRIVALS_PER_POSITION_MAX + 1]; + int nNumRepMatchArrivals = 0; + + int nMaxRepLenForPos = nEndOffset - i; + if (nMaxRepLenForPos > LCP_MAX) + nMaxRepLenForPos = LCP_MAX; + const unsigned char* pInWindowStart = pInWindow + i; + const unsigned char* pInWindowMax = pInWindowStart + nMaxRepLenForPos; + const int nLen1 = rle_len[i]; + + for (j = 0; j < nNumArrivalsForThisPos && (i + 2) <= nEndOffset; j++) { + if (cur_arrival[j].follows_literal) { + int nRepOffset = cur_arrival[j].rep_offset; + + if (nRepOffset && i >= nRepOffset) { + if (pInWindowStart[0] == pInWindowStart[-nRepOffset]) { + int nLen0 = rle_len[i - nRepOffset]; + int nMinLen = (nLen0 < nLen1) ? nLen0 : nLen1; + + if (nMinLen > nMaxRepLenForPos) + nMinLen = nMaxRepLenForPos; + + const unsigned char* pInWindowAtRepOffset = pInWindowStart + nMinLen; + while ((pInWindowAtRepOffset + 8) < pInWindowMax && !memcmp(pInWindowAtRepOffset, pInWindowAtRepOffset - nRepOffset, 8)) + pInWindowAtRepOffset += 8; + while ((pInWindowAtRepOffset + 4) < pInWindowMax && !memcmp(pInWindowAtRepOffset, pInWindowAtRepOffset - nRepOffset, 4)) + pInWindowAtRepOffset += 4; + while (pInWindowAtRepOffset < pInWindowMax && pInWindowAtRepOffset[0] == pInWindowAtRepOffset[-nRepOffset]) + pInWindowAtRepOffset++; + + int nCurMaxLen = (int)(pInWindowAtRepOffset - pInWindowStart); + + if (nCurMaxLen >= 2) { + nRepLenForArrival[j] = nCurMaxLen; + nRepMatchArrivalIdx[nNumRepMatchArrivals++] = j; + + if (nOverallMaxRepLen < nCurMaxLen) + nOverallMaxRepLen = nCurMaxLen; + } + } + } + } + } + nRepMatchArrivalIdx[nNumRepMatchArrivals] = -1; + + for (m = 0; m < NMATCHES_PER_INDEX && match[m].length; m++) { + const int nOrigMatchLen = match[m].length; + const int nOrigMatchOffset = match[m].offset; + const unsigned int nOrigMatchDepth = match_depth[m] & 0x3fff; + const int nScorePenalty = 3 + ((match_depth[m] & 0x8000) >> 15); + unsigned int d; + + for (d = 0; d <= nOrigMatchDepth; d += (nOrigMatchDepth ? nOrigMatchDepth : 1)) { + const int nMatchOffset = nOrigMatchOffset - d; + int nMatchLen = nOrigMatchLen - d; + + if ((i + nMatchLen) > nEndOffset) + nMatchLen = nEndOffset - i; + + if (nInsertForwardReps) { + apultra_insert_forward_match(pCompressor, pInWindow, i, nMatchOffset, nStartOffset, nEndOffset, nArrivalsPerPosition, 0); + } + + if (nMatchLen >= 2) { + int nStartingMatchLen, nJumpMatchLen, k; + int nNoRepMatchOffsetCostForLit[2], nNoRepMatchOffsetCostDelta; + int nMinMatchLenForOffset; + int nNoRepCostAdjusment = (nMatchLen >= LCP_MAX) ? 1 : 0; + + if (nMatchOffset < MINMATCH3_OFFSET) + nMinMatchLenForOffset = 2; + else { + if (nMatchOffset < MINMATCH4_OFFSET) + nMinMatchLenForOffset = 3; + else + nMinMatchLenForOffset = 4; + } + + if (nMatchLen >= LEAVE_ALONE_MATCH_SIZE && i >= nMatchLen) + nStartingMatchLen = nMatchLen; + else + nStartingMatchLen = 2; + + if ((nBlockFlags & 3) == 3 && nMatchLen > 90 && i >= 90) + nJumpMatchLen = 90; + else + nJumpMatchLen = nMatchLen + 1; + + if (nStartingMatchLen <= 3 && nMatchOffset < 128) { + nNoRepMatchOffsetCostForLit[0] = 8 + TOKEN_SIZE_7BIT_MATCH; + nNoRepMatchOffsetCostForLit[1] = 8 + TOKEN_SIZE_7BIT_MATCH; + } + else { + nNoRepMatchOffsetCostForLit[0] = 8 + TOKEN_SIZE_LARGE_MATCH + apultra_get_gamma2_size((nMatchOffset >> 8) + 2); + nNoRepMatchOffsetCostForLit[1] = 8 + TOKEN_SIZE_LARGE_MATCH + apultra_get_gamma2_size((nMatchOffset >> 8) + 3); + } + nNoRepMatchOffsetCostDelta = nNoRepMatchOffsetCostForLit[1] - nNoRepMatchOffsetCostForLit[0]; + + for (k = nStartingMatchLen; k <= nMatchLen; k++) { + int nRepMatchMatchLenCost = apultra_get_gamma2_size(k); + apultra_arrival *pDestSlots = &cur_arrival[k * nArrivalsPerPosition]; + + /* Insert non-repmatch candidate */ + + if (k >= nMinMatchLenForOffset) { + int nNoRepMatchMatchLenCost; + + if (k <= 3 && nMatchOffset < 128) + nNoRepMatchMatchLenCost = 0; + else { + if (nMatchOffset < 128 || nMatchOffset >= MINMATCH4_OFFSET) + nNoRepMatchMatchLenCost = apultra_get_gamma2_size(k - 2); + else if (nMatchOffset < MINMATCH3_OFFSET) + nNoRepMatchMatchLenCost = nRepMatchMatchLenCost; + else + nNoRepMatchMatchLenCost = apultra_get_gamma2_size(k - 1); + } + + for (j = 0; j < nNumArrivalsForThisPos; j++) { + if (nMatchOffset != cur_arrival[j].rep_offset || cur_arrival[j].follows_literal == 0) { + int nPrevCost = cur_arrival[j].cost & 0x3fffffff; + int nMatchCmdCost = nNoRepMatchMatchLenCost + nNoRepMatchOffsetCostForLit[cur_arrival[j].follows_literal]; + int nCodingChoiceCost = nPrevCost + nMatchCmdCost; + + if (nCodingChoiceCost <= (pDestSlots[nArrivalsPerPosition - 1].cost + 1)) { + int nScore = cur_arrival[j].score + nScorePenalty; + + if (nCodingChoiceCost < pDestSlots[nArrivalsPerPosition - 2].cost || + (nCodingChoiceCost == pDestSlots[nArrivalsPerPosition - 2].cost && nScore < pDestSlots[nArrivalsPerPosition - 2].score)) { + int exists = 0; + + for (n = 0; + pDestSlots[n].cost < nCodingChoiceCost; + n++) { + if (pDestSlots[n].rep_offset == nMatchOffset) { + exists = 1; + break; + } + } + + if (!exists) { + int nRevisedCodingChoiceCost = nCodingChoiceCost - nNoRepCostAdjusment; + + for (; + n < nArrivalsPerPosition - 1 && pDestSlots[n].cost == nRevisedCodingChoiceCost && nScore >= pDestSlots[n].score; + n++) { + if (pDestSlots[n].rep_offset == nMatchOffset) { + exists = 1; + break; + } + } + + if (!exists) { + if (n < nArrivalsPerPosition - 1) { + int nn; + + for (nn = n; + nn < nArrivalsPerPosition && pDestSlots[nn].cost == nCodingChoiceCost; + nn++) { + if (pDestSlots[nn].rep_offset == nMatchOffset) { + exists = 1; + break; + } + } + + if (!exists) { + int z; + + for (z = n; z < nArrivalsPerPosition - 1 && pDestSlots[z].from_slot; z++) { + if (pDestSlots[z].rep_offset == nMatchOffset) + break; + } + + apultra_arrival* pDestArrival = &pDestSlots[n]; + memmove(&pDestSlots[n + 1], + &pDestSlots[n], + sizeof(apultra_arrival) * (z - n)); + + pDestArrival->cost = nRevisedCodingChoiceCost; + pDestArrival->from_pos = i; + pDestArrival->from_slot = j + 1; + pDestArrival->follows_literal = 0; + pDestArrival->rep_offset = nMatchOffset; + pDestArrival->short_offset = 0; + pDestArrival->rep_pos = i; + pDestArrival->match_len = k; + pDestArrival->score = nScore; + } + } + } + } + else { + if ((nCodingChoiceCost - pDestSlots[n].cost) >= nNoRepMatchOffsetCostDelta) + break; + } + } + if (cur_arrival[j].follows_literal == 0 || nNoRepMatchOffsetCostDelta == 0) + break; + } + else { + break; + } + } + } + } + + /* Insert repmatch candidate */ + + if (k > nOverallMinRepLen && k <= nOverallMaxRepLen) { + int nRepMatchCmdCost = TOKEN_SIZE_LARGE_MATCH + 2 /* apultra_get_gamma2_size(2) */ + nRepMatchMatchLenCost; + int nCurRepMatchArrival; + + if (k <= 90) + nOverallMinRepLen = k; + else if (nOverallMaxRepLen == k) + nOverallMaxRepLen--; + + for (nCurRepMatchArrival = 0; (j = nRepMatchArrivalIdx[nCurRepMatchArrival]) >= 0; nCurRepMatchArrival++) { + if (nRepLenForArrival[j] >= k) { + int nPrevCost = cur_arrival[j].cost & 0x3fffffff; + int nRepCodingChoiceCost = nPrevCost + nRepMatchCmdCost; + int nScore = cur_arrival[j].score + 2; + + if (nRepCodingChoiceCost < pDestSlots[nArrivalsPerPosition - 1].cost || + (nRepCodingChoiceCost == pDestSlots[nArrivalsPerPosition - 1].cost && nScore < pDestSlots[nArrivalsPerPosition - 1].score)) { + int nRepOffset = cur_arrival[j].rep_offset; + int exists = 0; + + for (n = 0; + pDestSlots[n].cost < nRepCodingChoiceCost; + n++) { + if (pDestSlots[n].rep_offset == nRepOffset) { + exists = 1; + break; + } + } + + if (!exists) { + for (; + n < nArrivalsPerPosition && pDestSlots[n].cost == nRepCodingChoiceCost && nScore >= pDestSlots[n].score; + n++) { + if (pDestSlots[n].rep_offset == nRepOffset) { + exists = 1; + break; + } + } + + if (!exists) { + if (n < nArrivalsPerPosition) { + int nn; + + for (nn = n; + nn < nArrivalsPerPosition && pDestSlots[nn].cost == nRepCodingChoiceCost; + nn++) { + if (pDestSlots[nn].rep_offset == nRepOffset) { + exists = 1; + break; + } + } + + if (!exists) { + int z; + + for (z = n; z < nArrivalsPerPosition - 1 && pDestSlots[z].from_slot; z++) { + if (pDestSlots[z].rep_offset == nRepOffset) + break; + } + + apultra_arrival* pDestArrival = &pDestSlots[n]; + memmove(&pDestSlots[n + 1], + &pDestSlots[n], + sizeof(apultra_arrival) * (z - n)); + + pDestArrival->cost = nRepCodingChoiceCost; + pDestArrival->from_pos = i; + pDestArrival->from_slot = j + 1; + pDestArrival->follows_literal = 0; + pDestArrival->rep_offset = nRepOffset; + pDestArrival->short_offset = 0; + pDestArrival->rep_pos = i; + pDestArrival->match_len = k; + pDestArrival->score = nScore; + } + } + } + } + } + else { + break; + } + } + } + } + + if (k == 3 && nMatchOffset < 128) { + nNoRepMatchOffsetCostForLit[0] = 8 + TOKEN_SIZE_LARGE_MATCH + 2 /* apultra_get_gamma2_size((nMatchOffset >> 8) + 2) */; + nNoRepMatchOffsetCostForLit[1] = 8 + TOKEN_SIZE_LARGE_MATCH + 2 /* apultra_get_gamma2_size((nMatchOffset >> 8) + 3) */; + } + + if (k == nJumpMatchLen) + k = nMatchLen - 1; + } + } + + if (nOrigMatchLen >= 512) + break; + } + } + } + + if (!nInsertForwardReps) { + const apultra_arrival* end_arrival = &arrival[(i * nArrivalsPerPosition) + 0]; + apultra_final_match* pBestMatch = pCompressor->best_match - nStartOffset; + + while (end_arrival->from_slot > 0 && end_arrival->from_pos >= 0 && (int)end_arrival->from_pos < nEndOffset) { + pBestMatch[end_arrival->from_pos].length = end_arrival->match_len; + if (end_arrival->match_len >= 2) + pBestMatch[end_arrival->from_pos].offset = end_arrival->rep_offset; + else + pBestMatch[end_arrival->from_pos].offset = end_arrival->short_offset; + + end_arrival = &arrival[(end_arrival->from_pos * nArrivalsPerPosition) + (end_arrival->from_slot - 1)]; + } + } +} + +/** + * Attempt to replace matches by literals when it makes the final bitstream smaller, and merge large matches + * + * @param pCompressor compression context + * @param pInWindow pointer to input data window (previously compressed bytes + bytes to compress) + * @param pBestMatch optimal matches to evaluate and update + * @param nStartOffset current offset in input window (typically the number of previously compressed bytes) + * @param nEndOffset offset to end finding matches at (typically the size of the total input window in bytes + * @param nCurRepMatchOffset starting rep offset for this block + * @param nBlockFlags bit 0: 1 for first block, 0 otherwise; bit 1: 1 for last block, 0 otherwise + * + * @return non-zero if the number of tokens was reduced, 0 if it wasn't + */ +static int apultra_reduce_commands(apultra_compressor *pCompressor, const unsigned char *pInWindow, apultra_final_match *pBestMatch, const int nStartOffset, const int nEndOffset, const int *nCurRepMatchOffset, const int nBlockFlags) { + int i; + int nRepMatchOffset = *nCurRepMatchOffset; + int nFollowsLiteral = 0; + int nDidReduce = 0; + int nLastMatchLen = 0; + const unsigned char *match1 = pCompressor->match1 - nStartOffset; + + for (i = nStartOffset + ((nBlockFlags & 1) ? 1 : 0); i < nEndOffset; ) { + apultra_final_match *pMatch = pBestMatch + i; + + if (pMatch->length <= 1 && + (i + 1) < nEndOffset && + pBestMatch[i + 1].length >= 2 && + pBestMatch[i + 1].length < MAX_VARLEN && + pBestMatch[i + 1].offset && + i >= pBestMatch[i + 1].offset && + (i + pBestMatch[i + 1].length + 1) <= nEndOffset && + !memcmp(pInWindow + i - (pBestMatch[i + 1].offset), pInWindow + i, pBestMatch[i + 1].length + 1)) { + if ((pBestMatch[i + 1].offset < MINMATCH3_OFFSET || (pBestMatch[i + 1].length + 1) >= 3 || (pBestMatch[i + 1].offset == nRepMatchOffset && nFollowsLiteral)) && + (pBestMatch[i + 1].offset < MINMATCH4_OFFSET || (pBestMatch[i + 1].length + 1) >= 4 || (pBestMatch[i + 1].offset == nRepMatchOffset && nFollowsLiteral))) { + + int nCurPartialCommandSize = (pMatch->length == 1) ? (TOKEN_SIZE_4BIT_MATCH + 4) : (1 /* literal bit */ + 8 /* literal size */); + if (pBestMatch[i + 1].offset == nRepMatchOffset /* always follows a literal, the one at the current position */) { + nCurPartialCommandSize += TOKEN_SIZE_LARGE_MATCH + 2 /* apultra_get_gamma2_size(2) */ + apultra_get_gamma2_size(pBestMatch[i + 1].length); + } + else { + nCurPartialCommandSize += apultra_get_offset_varlen_size(pBestMatch[i + 1].length, pBestMatch[i + 1].offset, 1) + apultra_get_match_varlen_size(pBestMatch[i + 1].length, pBestMatch[i + 1].offset); + } + + int nReducedPartialCommandSize; + if (pBestMatch[i + 1].offset == nRepMatchOffset && nFollowsLiteral) { + nReducedPartialCommandSize = TOKEN_SIZE_LARGE_MATCH + 2 /* apultra_get_gamma2_size(2) */ + apultra_get_gamma2_size(pBestMatch[i + 1].length); + } + else { + nReducedPartialCommandSize = apultra_get_offset_varlen_size(pBestMatch[i + 1].length, pBestMatch[i + 1].offset, nFollowsLiteral) + apultra_get_match_varlen_size(pBestMatch[i + 1].length, pBestMatch[i + 1].offset); + } + + if (nReducedPartialCommandSize < nCurPartialCommandSize || (nFollowsLiteral == 0 && nLastMatchLen >= LCP_MAX)) { + /* Merge */ + pBestMatch[i].length = pBestMatch[i + 1].length + 1; + pBestMatch[i].offset = pBestMatch[i + 1].offset; + pBestMatch[i + 1].length = 0; + pBestMatch[i + 1].offset = 0; + nDidReduce = 1; + continue; + } + } + } + + if (pMatch->length >= 2) { + if (pMatch->length < 32 && /* Don't waste time considering large matches, they will always win over literals */ + (i + pMatch->length) < nEndOffset /* Don't consider the last match in the block, we can only reduce a match inbetween other tokens */) { + int nNextIndex = i + pMatch->length; + int nNextFollowsLiteral = 0; + int nCannotEncode = 0; + + while (nNextIndex < nEndOffset && pBestMatch[nNextIndex].length < 2) { + nNextIndex++; + nNextFollowsLiteral = 1; + } + + if (nNextIndex < nEndOffset && pBestMatch[nNextIndex].length >= 2) { + if (nRepMatchOffset && nRepMatchOffset != pMatch->offset && pBestMatch[nNextIndex].offset && pMatch->offset != pBestMatch[nNextIndex].offset && + nNextFollowsLiteral) { + /* Try to gain a match forward */ + if (i >= pBestMatch[nNextIndex].offset && (i - pBestMatch[nNextIndex].offset + pMatch->length) <= nEndOffset) { + if ((pBestMatch[nNextIndex].offset < MINMATCH3_OFFSET || pMatch->length >= 3) && + (pBestMatch[nNextIndex].offset < MINMATCH4_OFFSET || pMatch->length >= 4)) { + int nMaxLen = 0; + const unsigned char* pInWindowAtPos = pInWindow + i; + while (nMaxLen < pMatch->length && pInWindowAtPos[nMaxLen - pBestMatch[nNextIndex].offset] == pInWindowAtPos[nMaxLen]) + nMaxLen++; + + if (nMaxLen >= pMatch->length) { + /* Replace */ + pMatch->offset = pBestMatch[nNextIndex].offset; + nDidReduce = 1; + } + else if (nMaxLen >= 2) { + if ((nFollowsLiteral && nRepMatchOffset == pBestMatch[nNextIndex].offset) || + ((pBestMatch[nNextIndex].offset < MINMATCH3_OFFSET || nMaxLen >= 3) && + (pBestMatch[nNextIndex].offset < MINMATCH4_OFFSET || nMaxLen >= 4))) { + + int nPartialSizeBefore, nPartialSizeAfter, j; + + nPartialSizeBefore = apultra_get_offset_varlen_size(pMatch->length, pMatch->offset, nFollowsLiteral); + nPartialSizeBefore += apultra_get_match_varlen_size(pMatch->length, pMatch->offset); + + nPartialSizeBefore += apultra_get_offset_varlen_size(pBestMatch[nNextIndex].length, pBestMatch[nNextIndex].offset, 1); + nPartialSizeBefore += apultra_get_match_varlen_size(pBestMatch[nNextIndex].length, pBestMatch[nNextIndex].offset); + + nPartialSizeAfter = apultra_get_offset_varlen_size(nMaxLen, pBestMatch[nNextIndex].offset, nFollowsLiteral); + if (nFollowsLiteral && nRepMatchOffset == pBestMatch[nNextIndex].offset) + nPartialSizeAfter += apultra_get_gamma2_size(nMaxLen); + else + nPartialSizeAfter += apultra_get_match_varlen_size(nMaxLen, pBestMatch[nNextIndex].offset); + + nPartialSizeAfter += TOKEN_SIZE_LARGE_MATCH + 2 /* apultra_get_gamma2_size(2) */; + nPartialSizeAfter += apultra_get_gamma2_size(pBestMatch[nNextIndex].length); + + for (j = nMaxLen; j < pMatch->length; j++) { + if (pInWindow[i + j] == 0 || match1[i + j]) + nPartialSizeAfter += TOKEN_SIZE_4BIT_MATCH + 4; + else + nPartialSizeAfter += 1 /* literal bit */ + 8 /* literal byte */; + } + + if (nPartialSizeAfter < nPartialSizeBefore) { + /* We gain a repmatch that is shorter than the original match as this is the best we can do, so it is followed by extra literals, but + * we have calculated that this is shorter */ + + int nOrigLen = pMatch->length; + int j; + + pMatch->offset = pBestMatch[nNextIndex].offset; + pMatch->length = nMaxLen; + + for (j = nMaxLen; j < nOrigLen; j++) { + pBestMatch[i + j].offset = match1[i + j]; + pBestMatch[i + j].length = (pInWindow[i + j] && match1[i+j] == 0) ? 0 : 1; + } + + nDidReduce = 1; + continue; + } + } + } + } + } + } + + /* Calculate this command's current cost */ + + int nCurCommandSize; + if (pMatch->offset == nRepMatchOffset && nFollowsLiteral) { + nCurCommandSize = TOKEN_SIZE_LARGE_MATCH + 2 /* apultra_get_gamma2_size(2) */ + apultra_get_gamma2_size(pMatch->length); + } + else { + nCurCommandSize = apultra_get_offset_varlen_size(pMatch->length, pMatch->offset, nFollowsLiteral) + apultra_get_match_varlen_size(pMatch->length, pMatch->offset); + } + + /* Calculate the next command's current cost */ + int nNextCommandSize; + if (pBestMatch[nNextIndex].offset == pMatch->offset && nNextFollowsLiteral && pBestMatch[nNextIndex].length >= 2) { + nNextCommandSize = TOKEN_SIZE_LARGE_MATCH + 2 /* apultra_get_gamma2_size(2) */ + apultra_get_gamma2_size(pBestMatch[nNextIndex].length); + } + else { + nNextCommandSize = apultra_get_offset_varlen_size(pBestMatch[nNextIndex].length, pBestMatch[nNextIndex].offset, nNextFollowsLiteral) + apultra_get_match_varlen_size(pBestMatch[nNextIndex].length, pBestMatch[nNextIndex].offset); + } + + int nOriginalCombinedCommandSize = nCurCommandSize + nNextCommandSize; + + /* Calculate the cost of replacing this match command by literals + the effect on the cost of the next command */ + int nReducedCommandSize = 0; + int j; + + for (j = 0; j < pMatch->length; j++) { + if (pInWindow[i + j] == 0 || match1[i + j]) + nReducedCommandSize += TOKEN_SIZE_4BIT_MATCH + 4; + else + nReducedCommandSize += 1 /* literal bit */ + 8; + } + + if (pBestMatch[nNextIndex].offset == nRepMatchOffset /* the new command would always follow literals, the ones we create */ && pBestMatch[nNextIndex].length >= 2) { + nReducedCommandSize += TOKEN_SIZE_LARGE_MATCH + 2 /* apultra_get_gamma2_size(2) */ + apultra_get_gamma2_size(pBestMatch[nNextIndex].length); + } + else { + if ((pBestMatch[nNextIndex].length < 3 && pBestMatch[nNextIndex].offset >= MINMATCH3_OFFSET) || + (pBestMatch[nNextIndex].length < 4 && pBestMatch[nNextIndex].offset >= MINMATCH4_OFFSET)) { + /* This match length can only be encoded with a rep-match */ + nCannotEncode = 1; + } + else { + nReducedCommandSize += apultra_get_offset_varlen_size(pBestMatch[nNextIndex].length, pBestMatch[nNextIndex].offset, 1 /* follows literals */) + apultra_get_match_varlen_size(pBestMatch[nNextIndex].length, pBestMatch[nNextIndex].offset); + } + } + + if (!nCannotEncode && nOriginalCombinedCommandSize > nReducedCommandSize) { + /* Reduce */ + int nMatchLen = pMatch->length; + int j; + + for (j = 0; j < nMatchLen; j++) { + pBestMatch[i + j].offset = match1[i + j]; + pBestMatch[i + j].length = (pInWindow[i + j] && match1[i + j] == 0) ? 0 : 1; + } + + nDidReduce = 1; + continue; + } + } + } + + if ((i + pMatch->length) < nEndOffset && pMatch->offset > 0 && + pBestMatch[i + pMatch->length].offset > 0 && + pBestMatch[i + pMatch->length].length >= 2 && + (pMatch->length + pBestMatch[i + pMatch->length].length) >= LEAVE_ALONE_MATCH_SIZE && + (pMatch->length + pBestMatch[i + pMatch->length].length) <= MAX_VARLEN && + (i + pMatch->length) >= pMatch->offset && + (i + pMatch->length) >= pBestMatch[i + pMatch->length].offset && + (i + pMatch->length + pBestMatch[i + pMatch->length].length) <= nEndOffset && + !memcmp(pInWindow + i + pMatch->length - pMatch->offset, + pInWindow + i + pMatch->length - pBestMatch[i + pMatch->length].offset, + pBestMatch[i + pMatch->length].length)) { + int nMatchLen = pMatch->length; + + /* Join large matches */ + + int nNextIndex = i + pMatch->length + pBestMatch[i + pMatch->length].length; + int nNextFollowsLiteral = 0; + int nCannotEncode = 0; + + while (nNextIndex < nEndOffset && pBestMatch[nNextIndex].length < 2) { + nNextIndex++; + nNextFollowsLiteral = 1; + } + + if (nNextIndex < nEndOffset && nNextFollowsLiteral && pBestMatch[nNextIndex].length >= 2 && + pBestMatch[nNextIndex].offset == pBestMatch[i + pMatch->length].offset) { + if ((pBestMatch[nNextIndex].offset >= MINMATCH3_OFFSET && pBestMatch[nNextIndex].length < 3) || + (pBestMatch[nNextIndex].offset >= MINMATCH4_OFFSET && pBestMatch[nNextIndex].length < 4)) { + nCannotEncode = 1; + } + } + + if (!nCannotEncode) { + pMatch->length += pBestMatch[i + nMatchLen].length; + pBestMatch[i + nMatchLen].offset = 0; + pBestMatch[i + nMatchLen].length = -1; + nDidReduce = 1; + continue; + } + } + + nRepMatchOffset = pMatch->offset; + nFollowsLiteral = 0; + nLastMatchLen = pMatch->length; + + i += pMatch->length; + } + else { + /* 4 bits offset (1 byte match) or literal */ + i++; + nFollowsLiteral = 1; + nLastMatchLen = 0; + } + } + + return nDidReduce; +} + +/** + * Emit a block of compressed data + * + * @param pCompressor compression context + * @param pBestMatch optimal matches to emit + * @param pInWindow pointer to input data window (previously compressed bytes + bytes to compress) + * @param nStartOffset current offset in input window (typically the number of previously compressed bytes) + * @param nEndOffset offset to end finding matches at (typically the size of the total input window in bytes + * @param pOutData pointer to output buffer + * @param nMaxOutDataSize maximum size of output buffer, in bytes + * @param nCurBitsOffset write index into output buffer, of current byte being filled with bits + * @param nCurBitShift bit shift count + * @param nFollowsLiteral non-zero if the next command to be issued follows a literal, 0 if not + * @param nCurRepMatchOffset starting rep offset for this block, updated after the block is compressed successfully + * @param nBlockFlags bit 0: 1 for first block, 0 otherwise; bit 1: 1 for last block, 0 otherwise + * + * @return size of compressed data in output buffer, or -1 if the data is uncompressible + */ +static int apultra_write_block(apultra_compressor *pCompressor, apultra_final_match *pBestMatch, const unsigned char *pInWindow, const int nStartOffset, const int nEndOffset, unsigned char *pOutData, int nOutOffset, const int nMaxOutDataSize, int *nCurBitsOffset, int *nCurBitShift, int *nFollowsLiteral, int *nCurRepMatchOffset, const int nBlockFlags) { + int i; + int nRepMatchOffset = *nCurRepMatchOffset; + const int nMaxOffset = pCompressor->max_offset; + + if (nBlockFlags & 1) { + if (nOutOffset < 0 || nOutOffset >= nMaxOutDataSize) + return -1; + pOutData[nOutOffset++] = pInWindow[nStartOffset]; + *nFollowsLiteral = 1; + } + + for (i = nStartOffset + ((nBlockFlags & 1) ? 1 : 0); i < nEndOffset; ) { + const apultra_final_match *pMatch = pBestMatch + i; + + if (pMatch->length >= 2) { + int nMatchOffset = pMatch->offset; + int nMatchLen = pMatch->length; + + if (nMatchOffset < MIN_OFFSET || nMatchOffset > nMaxOffset) + return -1; + + if (nMatchOffset == nRepMatchOffset && *nFollowsLiteral) { + /* Rep-match */ + nOutOffset = apultra_write_bits(pOutData, nOutOffset, nMaxOutDataSize, TOKEN_CODE_LARGE_MATCH, TOKEN_SIZE_LARGE_MATCH, nCurBitsOffset, nCurBitShift); + nOutOffset = apultra_write_bits(pOutData, nOutOffset, nMaxOutDataSize, 0 /* length of 2 encoded as gamma 2 */, 2, nCurBitsOffset, nCurBitShift); + + /* The match length isn't encoded in the command, emit elias gamma value */ + nOutOffset = apultra_write_gamma2_value(pOutData, nOutOffset, nMaxOutDataSize, nMatchLen, nCurBitsOffset, nCurBitShift); + if (nOutOffset < 0) return -1; + + *nFollowsLiteral = 0; + + pCompressor->stats.num_rep_matches++; + } + else { + if (nMatchLen <= 3 && nMatchOffset < 128) { + /* 7 bits offset + 1 bit length */ + nOutOffset = apultra_write_bits(pOutData, nOutOffset, nMaxOutDataSize, TOKEN_CODE_7BIT_MATCH, TOKEN_SIZE_7BIT_MATCH, nCurBitsOffset, nCurBitShift); + + if (nOutOffset < 0 || nOutOffset >= nMaxOutDataSize) + return -1; + pOutData[nOutOffset++] = ((nMatchOffset) & 0x7f) << 1 | (nMatchLen - 2); + + *nFollowsLiteral = 0; + nRepMatchOffset = nMatchOffset; + + pCompressor->stats.num_7bit_matches++; + } + else { + /* 8+n bits offset */ + nOutOffset = apultra_write_bits(pOutData, nOutOffset, nMaxOutDataSize, TOKEN_CODE_LARGE_MATCH, TOKEN_SIZE_LARGE_MATCH, nCurBitsOffset, nCurBitShift); + + if (nOutOffset < 0 || nOutOffset >= nMaxOutDataSize) + return -1; + if (*nFollowsLiteral) + nOutOffset = apultra_write_gamma2_value(pOutData, nOutOffset, nMaxOutDataSize, (nMatchOffset >> 8) + 3, nCurBitsOffset, nCurBitShift); + else + nOutOffset = apultra_write_gamma2_value(pOutData, nOutOffset, nMaxOutDataSize, (nMatchOffset >> 8) + 2, nCurBitsOffset, nCurBitShift); + pOutData[nOutOffset++] = nMatchOffset & 0xff; + + /* The match length isn't encoded in the command, emit elias gamma value */ + + if (nMatchOffset < 128 || nMatchOffset >= MINMATCH4_OFFSET) + nOutOffset = apultra_write_gamma2_value(pOutData, nOutOffset, nMaxOutDataSize, nMatchLen - 2, nCurBitsOffset, nCurBitShift); + else if (nMatchOffset < MINMATCH3_OFFSET) + nOutOffset = apultra_write_gamma2_value(pOutData, nOutOffset, nMaxOutDataSize, nMatchLen, nCurBitsOffset, nCurBitShift); + else + nOutOffset = apultra_write_gamma2_value(pOutData, nOutOffset, nMaxOutDataSize, nMatchLen - 1, nCurBitsOffset, nCurBitShift); + if (nOutOffset < 0) return -1; + + *nFollowsLiteral = 0; + nRepMatchOffset = nMatchOffset; + + pCompressor->stats.num_variable_matches++; + } + } + + if (nMatchOffset < pCompressor->stats.min_offset || pCompressor->stats.min_offset == -1) + pCompressor->stats.min_offset = nMatchOffset; + if (nMatchOffset > pCompressor->stats.max_offset) + pCompressor->stats.max_offset = nMatchOffset; + pCompressor->stats.total_offsets += (long long)nMatchOffset; + + if (nMatchLen < pCompressor->stats.min_match_len || pCompressor->stats.min_match_len == -1) + pCompressor->stats.min_match_len = nMatchLen; + if (nMatchLen > pCompressor->stats.max_match_len) + pCompressor->stats.max_match_len = nMatchLen; + pCompressor->stats.total_match_lens += nMatchLen; + pCompressor->stats.match_divisor++; + + if (nMatchOffset == 1) { + if (nMatchLen < pCompressor->stats.min_rle1_len || pCompressor->stats.min_rle1_len == -1) + pCompressor->stats.min_rle1_len = nMatchLen; + if (nMatchLen > pCompressor->stats.max_rle1_len) + pCompressor->stats.max_rle1_len = nMatchLen; + pCompressor->stats.total_rle1_lens += nMatchLen; + pCompressor->stats.rle1_divisor++; + } + else if (nMatchOffset == 2) { + if (nMatchLen < pCompressor->stats.min_rle2_len || pCompressor->stats.min_rle2_len == -1) + pCompressor->stats.min_rle2_len = nMatchLen; + if (nMatchLen > pCompressor->stats.max_rle2_len) + pCompressor->stats.max_rle2_len = nMatchLen; + pCompressor->stats.total_rle2_lens += nMatchLen; + pCompressor->stats.rle2_divisor++; + } + + i += nMatchLen; + + pCompressor->stats.commands_divisor++; + } + else if (pMatch->length == 1) { + int nMatchOffset = pMatch->offset; + + /* 4 bits offset */ + + if (nMatchOffset < 0 || nMatchOffset > 15) + return -1; + + nOutOffset = apultra_write_bits(pOutData, nOutOffset, nMaxOutDataSize, TOKEN_CODE_4BIT_MATCH, TOKEN_SIZE_4BIT_MATCH, nCurBitsOffset, nCurBitShift); + nOutOffset = apultra_write_bits(pOutData, nOutOffset, nMaxOutDataSize, nMatchOffset, 4, nCurBitsOffset, nCurBitShift); + if (nOutOffset < 0) return -1; + + pCompressor->stats.num_4bit_matches++; + pCompressor->stats.commands_divisor++; + + i++; + *nFollowsLiteral = 1; + } + else { + /* Literal */ + + nOutOffset = apultra_write_bits(pOutData, nOutOffset, nMaxOutDataSize, 0 /* literal */, 1, nCurBitsOffset, nCurBitShift); + + if (nOutOffset < 0 || nOutOffset >= nMaxOutDataSize) + return -1; + pOutData[nOutOffset++] = pInWindow[i]; + + pCompressor->stats.num_literals++; + pCompressor->stats.commands_divisor++; + i++; + *nFollowsLiteral = 1; + } + + int nCurSafeDist = (i - nStartOffset) - nOutOffset; + if (nCurSafeDist >= 0 && pCompressor->stats.safe_dist < nCurSafeDist) + pCompressor->stats.safe_dist = nCurSafeDist; + } + + if (nBlockFlags & 2) { + /* 8 bits offset */ + + nOutOffset = apultra_write_bits(pOutData, nOutOffset, nMaxOutDataSize, TOKEN_CODE_7BIT_MATCH, TOKEN_SIZE_7BIT_MATCH, nCurBitsOffset, nCurBitShift); + + if (nOutOffset < 0 || nOutOffset >= nMaxOutDataSize) + return -1; + pOutData[nOutOffset++] = 0x00; /* Offset: EOD */ + pCompressor->stats.num_eod++; + pCompressor->stats.commands_divisor++; + + int nCurSafeDist = (i - nStartOffset) - nOutOffset; + if (nCurSafeDist >= 0 && pCompressor->stats.safe_dist < nCurSafeDist) + pCompressor->stats.safe_dist = nCurSafeDist; + } + + *nCurRepMatchOffset = nRepMatchOffset; + return nOutOffset; +} + +/** + * Select the most optimal matches, reduce the token count if possible, and then emit a block of compressed data + * + * @param pCompressor compression context + * @param pInWindow pointer to input data window (previously compressed bytes + bytes to compress) + * @param nPreviousBlockSize number of previously compressed bytes (or 0 for none) + * @param nInDataSize number of input bytes to compress + * @param pOutData pointer to output buffer + * @param nMaxOutDataSize maximum size of output buffer, in bytes + * @param nCurBitsOffset write index into output buffer, of current byte being filled with bits + * @param nCurBitShift bit shift count + * @param nCurFollowsLiteral non-zero if the next command to be issued follows a literal, 0 if not + * @param nCurRepMatchOffset starting rep offset for this block, updated after the block is compressed successfully + * @param nBlockFlags bit 0: 1 for first block, 0 otherwise; bit 1: 1 for last block, 0 otherwise + * + * @return size of compressed data in output buffer, or -1 if the data is uncompressible + */ +static int apultra_optimize_and_write_block(apultra_compressor *pCompressor, const unsigned char *pInWindow, const int nPreviousBlockSize, const int nInDataSize, unsigned char *pOutData, const int nMaxOutDataSize, int *nCurBitsOffset, int *nCurBitShift, int *nCurFollowsLiteral, int *nCurRepMatchOffset, const int nBlockFlags) { + int nOutOffset = 0; + const int nEndOffset = nPreviousBlockSize + nInDataSize; + const int nArrivalsPerPosition = pCompressor->max_arrivals; + int *rle_len = (int*)pCompressor->intervals /* reuse */; + int i, nPosition; + + memset(pCompressor->best_match, 0, pCompressor->block_size * sizeof(apultra_final_match)); + + if ((nBlockFlags & 3) == 3) { + int *first_offset_for_byte = pCompressor->first_offset_for_byte; + int *next_offset_for_pos = pCompressor->next_offset_for_pos; + + /* Supplement 2 and 3-byte matches */ + + memset(first_offset_for_byte, 0xff, sizeof(int) * 65536); + memset(next_offset_for_pos, 0xff, sizeof(int) * nInDataSize); + + for (nPosition = nPreviousBlockSize; nPosition < (nEndOffset - 1); nPosition++) { + next_offset_for_pos[nPosition - nPreviousBlockSize] = first_offset_for_byte[((unsigned int)pInWindow[nPosition]) | (((unsigned int)pInWindow[nPosition + 1]) << 8)]; + first_offset_for_byte[((unsigned int)pInWindow[nPosition]) | (((unsigned int)pInWindow[nPosition + 1]) << 8)] = nPosition; + } + + for (nPosition = nPreviousBlockSize + 1; nPosition < (nEndOffset - 1); nPosition++) { + apultra_match *match = pCompressor->match + ((nPosition - nPreviousBlockSize) << MATCHES_PER_INDEX_SHIFT); + unsigned short *match_depth = pCompressor->match_depth + ((nPosition - nPreviousBlockSize) << MATCHES_PER_INDEX_SHIFT); + int m = 0, nInserted = 0; + int nMatchPos; + + while (m < 15 && match[m].length) + m++; + + for (nMatchPos = next_offset_for_pos[nPosition - nPreviousBlockSize]; m < 15 && nMatchPos >= 0; nMatchPos = next_offset_for_pos[nMatchPos - nPreviousBlockSize]) { + int nMatchOffset = nPosition - nMatchPos; + + if (nMatchOffset <= pCompressor->max_offset) { + int nExistingMatchIdx; + int nAlreadyExists = 0; + + for (nExistingMatchIdx = 0; nExistingMatchIdx < m; nExistingMatchIdx++) { + if (match[nExistingMatchIdx].offset == nMatchOffset || + (match[nExistingMatchIdx].offset - (match_depth[nExistingMatchIdx] & 0x3fff)) == nMatchOffset) { + nAlreadyExists = 1; + break; + } + } + + if (!nAlreadyExists) { + match[m].length = (nPosition < (nEndOffset - 2) && pInWindow[nMatchPos + 2] == pInWindow[nPosition + 2]) ? 3 : 2; + match[m].offset = nMatchOffset; + match_depth[m] = 0x4000; + m++; + nInserted++; + if (nInserted >= 6) + break; + } + } + else { + break; + } + } + } + } + + i = 0; + while (i < nEndOffset) { + int nRangeStartIdx = i; + unsigned char c = pInWindow[nRangeStartIdx]; + do { + i++; + } + while (i < nEndOffset && pInWindow[i] == c); + while (nRangeStartIdx < i) { + rle_len[nRangeStartIdx] = i - nRangeStartIdx; + nRangeStartIdx++; + } + } + + apultra_optimize_forward(pCompressor, pInWindow, nPreviousBlockSize, nEndOffset, 1 /* nInsertForwardReps */, nCurRepMatchOffset, nBlockFlags, nArrivalsPerPosition); + + if ((nBlockFlags & 3) == 3 && nArrivalsPerPosition == NARRIVALS_PER_POSITION_MAX) { + const int* next_offset_for_pos = pCompressor->next_offset_for_pos; + int* offset_cache = pCompressor->offset_cache; + + /* Supplement matches further */ + + memset(offset_cache, 0xff, sizeof(int) * 2048); + + for (nPosition = nPreviousBlockSize + 1; nPosition < (nEndOffset - 1); nPosition++) { + apultra_match* match = pCompressor->match + ((nPosition - nPreviousBlockSize) << MATCHES_PER_INDEX_SHIFT); + + if (match[0].length < 8) { + unsigned short* match_depth = pCompressor->match_depth + ((nPosition - nPreviousBlockSize) << MATCHES_PER_INDEX_SHIFT); + int m = 0, nInserted = 0; + int nMatchPos; + + while (m < 46 && match[m].length) { + offset_cache[match[m].offset & 2047] = nPosition; + offset_cache[(match[m].offset - (match_depth[m] & 0x3fff)) & 2047] = nPosition; + m++; + } + + for (nMatchPos = next_offset_for_pos[nPosition - nPreviousBlockSize]; m < 46 && nMatchPos >= 0; nMatchPos = next_offset_for_pos[nMatchPos - nPreviousBlockSize]) { + int nMatchOffset = nPosition - nMatchPos; + + if (nMatchOffset <= pCompressor->max_offset) { + int nAlreadyExists = 0; + + if (offset_cache[nMatchOffset & 2047] == nPosition) { + int nExistingMatchIdx; + + for (nExistingMatchIdx = 0; nExistingMatchIdx < m; nExistingMatchIdx++) { + if (match[nExistingMatchIdx].offset == nMatchOffset || + (match[nExistingMatchIdx].offset - (match_depth[nExistingMatchIdx] & 0x3fff)) == nMatchOffset) { + nAlreadyExists = 1; + + if (match_depth[nExistingMatchIdx] == 0x4000) { + int nMatchLen = 2; + while (nMatchLen < 16 && nPosition < (nEndOffset - nMatchLen) && pInWindow[nMatchPos + nMatchLen] == pInWindow[nPosition + nMatchLen]) + nMatchLen++; + if (nMatchLen > (int)match[nExistingMatchIdx].length) + match[nExistingMatchIdx].length = nMatchLen; + } + + break; + } + } + } + + if (!nAlreadyExists) { + int nForwardPos = nPosition + 2 + 1; + int nGotMatch = 0; + + while (nForwardPos >= nMatchOffset && (nForwardPos + 2) < nEndOffset && nForwardPos < (nPosition + 2 + 1 + 5)) { + if (!memcmp(pInWindow + nForwardPos, pInWindow + nForwardPos - nMatchOffset, 2)) { + nGotMatch = 1; + break; + } + nForwardPos++; + } + + if (nGotMatch) { + int nMatchLen = 2; + while (nMatchLen < 16 && nPosition < (nEndOffset - nMatchLen) && pInWindow[nMatchPos + nMatchLen] == pInWindow[nPosition + nMatchLen]) + nMatchLen++; + match[m].length = nMatchLen; + match[m].offset = nMatchOffset; + match_depth[m] = 0; + m++; + + apultra_insert_forward_match(pCompressor, pInWindow, nPosition, nMatchOffset, nPreviousBlockSize, nEndOffset, nArrivalsPerPosition, 8); + + nInserted++; + if (nInserted >= 18 || (nInserted >= 15 && m >= 38)) + break; + } + } + } + else { + break; + } + } + } + } + } + + /* Pick optimal matches */ + apultra_optimize_forward(pCompressor, pInWindow, nPreviousBlockSize, nEndOffset, 0 /* nInsertForwardReps */, nCurRepMatchOffset, nBlockFlags, nArrivalsPerPosition); + + /* Apply reduction and merge pass */ + int nDidReduce; + int nPasses = 0; + do { + nDidReduce = apultra_reduce_commands(pCompressor, pInWindow, pCompressor->best_match - nPreviousBlockSize, nPreviousBlockSize, nEndOffset, nCurRepMatchOffset, nBlockFlags); + nPasses++; + } while (nDidReduce && nPasses < 20); + + /* Write compressed block */ + + return apultra_write_block(pCompressor, pCompressor->best_match - nPreviousBlockSize, pInWindow, nPreviousBlockSize, nEndOffset, pOutData, nOutOffset, nMaxOutDataSize, nCurBitsOffset, nCurBitShift, nCurFollowsLiteral, nCurRepMatchOffset, nBlockFlags); +} + +/* Forward declaration */ +static void apultra_compressor_destroy(apultra_compressor *pCompressor); + +/** + * Initialize compression context + * + * @param pCompressor compression context to initialize + * @param nBlockSize maximum size of input data (bytes to compress only) + * @param nMaxWindowSize maximum size of input data window (previously compressed bytes + bytes to compress) + * @param nMaxArrivals maximum number of arrivals per position + * @param nFlags compression flags + * + * @return 0 for success, non-zero for failure + */ +static int apultra_compressor_init(apultra_compressor *pCompressor, const int nBlockSize, const int nMaxWindowSize, const int nMaxArrivals, const int nFlags) { + int nResult; + + nResult = divsufsort_init(&pCompressor->divsufsort_context); + pCompressor->intervals = NULL; + pCompressor->pos_data = NULL; + pCompressor->open_intervals = NULL; + pCompressor->match = NULL; + pCompressor->match_depth = NULL; + pCompressor->match1 = NULL; + pCompressor->best_match = NULL; + pCompressor->arrival = NULL; + pCompressor->first_offset_for_byte = NULL; + pCompressor->next_offset_for_pos = NULL; + pCompressor->offset_cache = NULL; + pCompressor->flags = nFlags; + pCompressor->block_size = nBlockSize; + pCompressor->max_arrivals = nMaxArrivals; + + memset(&pCompressor->stats, 0, sizeof(pCompressor->stats)); + pCompressor->stats.min_match_len = -1; + pCompressor->stats.min_offset = -1; + pCompressor->stats.min_rle1_len = -1; + pCompressor->stats.min_rle2_len = -1; + + if (!nResult) { + pCompressor->intervals = (unsigned long long *)malloc(nMaxWindowSize * sizeof(unsigned long long)); + + if (pCompressor->intervals) { + pCompressor->pos_data = (unsigned long long *)malloc(nMaxWindowSize * sizeof(unsigned long long)); + + if (pCompressor->pos_data) { + pCompressor->open_intervals = (unsigned long long *)malloc((LCP_AND_TAG_MAX + 1) * sizeof(unsigned long long)); + + if (pCompressor->open_intervals) { + pCompressor->arrival = (apultra_arrival *)malloc((nBlockSize + 1) * nMaxArrivals * sizeof(apultra_arrival)); + + if (pCompressor->arrival) { + pCompressor->best_match = (apultra_final_match *)malloc(nBlockSize * sizeof(apultra_final_match)); + + if (pCompressor->best_match) { + pCompressor->match = (apultra_match *)malloc(nBlockSize * NMATCHES_PER_INDEX * sizeof(apultra_match)); + if (pCompressor->match) { + pCompressor->match_depth = (unsigned short *)malloc(nBlockSize * NMATCHES_PER_INDEX * sizeof(unsigned short)); + if (pCompressor->match_depth) { + pCompressor->match1 = (unsigned char *)malloc(nBlockSize * sizeof(unsigned char)); + if (pCompressor->match1) { + pCompressor->first_offset_for_byte = (int*)malloc(65536 * sizeof(int)); + if (pCompressor->first_offset_for_byte) { + pCompressor->next_offset_for_pos = (int*)malloc(nBlockSize * sizeof(int)); + if (pCompressor->next_offset_for_pos) { + if (nMaxArrivals == NARRIVALS_PER_POSITION_MAX) { + pCompressor->offset_cache = (int*)malloc(2048 * sizeof(int)); + if (pCompressor->offset_cache) { + return 0; + } + } + else { + return 0; + } + } + } + } + } + } + } + } + } + } + } + } + + apultra_compressor_destroy(pCompressor); + return 100; +} + +/** + * Clean up compression context and free up any associated resources + * + * @param pCompressor compression context to clean up + */ +static void apultra_compressor_destroy(apultra_compressor *pCompressor) { + divsufsort_destroy(&pCompressor->divsufsort_context); + + if (pCompressor->offset_cache) { + free(pCompressor->offset_cache); + pCompressor->offset_cache = NULL; + } + + if (pCompressor->next_offset_for_pos) { + free(pCompressor->next_offset_for_pos); + pCompressor->next_offset_for_pos = NULL; + } + + if (pCompressor->first_offset_for_byte) { + free(pCompressor->first_offset_for_byte); + pCompressor->first_offset_for_byte = NULL; + } + + if (pCompressor->match1) { + free(pCompressor->match1); + pCompressor->match1 = NULL; + } + + if (pCompressor->match_depth) { + free(pCompressor->match_depth); + pCompressor->match_depth = NULL; + } + + if (pCompressor->match) { + free(pCompressor->match); + pCompressor->match = NULL; + } + + if (pCompressor->arrival) { + free(pCompressor->arrival); + pCompressor->arrival = NULL; + } + + if (pCompressor->best_match) { + free(pCompressor->best_match); + pCompressor->best_match = NULL; + } + + if (pCompressor->open_intervals) { + free(pCompressor->open_intervals); + pCompressor->open_intervals = NULL; + } + + if (pCompressor->pos_data) { + free(pCompressor->pos_data); + pCompressor->pos_data = NULL; + } + + if (pCompressor->intervals) { + free(pCompressor->intervals); + pCompressor->intervals = NULL; + } +} + +/** + * Compress one block of data + * + * @param pCompressor compression context + * @param pInWindow pointer to input data window (previously compressed bytes + bytes to compress) + * @param nPreviousBlockSize number of previously compressed bytes (or 0 for none) + * @param nInDataSize number of input bytes to compress + * @param pOutData pointer to output buffer + * @param nMaxOutDataSize maximum size of output buffer, in bytes + * @param nCurBitsOffset write index into output buffer, of current byte being filled with bits + * @param nCurBitShift bit shift count + * @param nCurFollowsLiteral non-zero if the next command to be issued follows a literal, 0 if not + * @param nCurRepMatchOffset starting rep offset for this block, updated after the block is compressed successfully + * @param nBlockFlags bit 0: 1 for first block, 0 otherwise; bit 1: 1 for last block, 0 otherwise + * + * @return size of compressed data in output buffer, or -1 if the data is uncompressible + */ +static int apultra_compressor_shrink_block(apultra_compressor *pCompressor, const unsigned char *pInWindow, const int nPreviousBlockSize, const int nInDataSize, unsigned char *pOutData, const int nMaxOutDataSize, int *nCurBitsOffset, int *nCurBitShift, int *nCurFollowsLiteral, int *nCurRepMatchOffset, const int nBlockFlags) { + int nCompressedSize; + + if (apultra_build_suffix_array(pCompressor, pInWindow, nPreviousBlockSize + nInDataSize)) + nCompressedSize = -1; + else { + if (nPreviousBlockSize) { + apultra_skip_matches(pCompressor, 0, nPreviousBlockSize); + } + apultra_find_all_matches(pCompressor, NMATCHES_PER_INDEX, nPreviousBlockSize, nPreviousBlockSize + nInDataSize, nBlockFlags); + + nCompressedSize = apultra_optimize_and_write_block(pCompressor, pInWindow, nPreviousBlockSize, nInDataSize, pOutData, nMaxOutDataSize, nCurBitsOffset, nCurBitShift, nCurFollowsLiteral, nCurRepMatchOffset, nBlockFlags); + } + + return nCompressedSize; +} + +/** + * Get maximum compressed size of input(source) data + * + * @param nInputSize input(source) size in bytes + * + * @return maximum compressed size + */ +size_t apultra_get_max_compressed_size(size_t nInputSize) { + return ((nInputSize * 9 /* literals + literal bits */ + 1 /* match bit */ + 2 /* 7+1 command bits */ + 8 /* EOD offset bits */) + 7) >> 3; +} + +/** + * Compress memory + * + * @param pInputData pointer to input(source) data to compress + * @param pOutBuffer buffer for compressed data + * @param nInputSize input(source) size in bytes + * @param nMaxOutBufferSize maximum capacity of compression buffer + * @param nFlags compression flags (set to 0) + * @param nMaxWindowSize maximum window size to use (0 for default) + * @param nDictionarySize size of dictionary in front of input data (0 for none) + * @param progress progress function, called after compressing each block, or NULL for none + * @param pStats pointer to compression stats that are filled if this function is successful, or NULL + * + * @return actual compressed size, or -1 for error + */ +size_t apultra_compress(const unsigned char *pInputData, unsigned char *pOutBuffer, size_t nInputSize, size_t nMaxOutBufferSize, + const unsigned int nFlags, size_t nMaxWindowSize, size_t nDictionarySize, void(*progress)(long long nOriginalSize, long long nCompressedSize), apultra_stats *pStats) { + apultra_compressor compressor; + size_t nOriginalSize = 0; + size_t nCompressedSize = 0L; + int nResult; + int nMaxArrivals = NARRIVALS_PER_POSITION_SMALL; + int nError = 0; + const int nBlockSize = (nInputSize < BLOCK_SIZE) ? ((nInputSize < 1024) ? 1024 : (int)nInputSize) : BLOCK_SIZE; + const int nMaxOutBlockSize = (int)apultra_get_max_compressed_size(nBlockSize); + + if (nDictionarySize < nInputSize) { + int nInDataSize = (int)(nInputSize - nDictionarySize); + if (nInDataSize > nBlockSize) + nInDataSize = nBlockSize; + + if (nInDataSize > 0 && (nDictionarySize + nInDataSize) >= nInputSize) { + if (nInputSize <= 262144) + nMaxArrivals = NARRIVALS_PER_POSITION_MAX; + else + nMaxArrivals = NARRIVALS_PER_POSITION_NORMAL; + } + } + + nResult = apultra_compressor_init(&compressor, nBlockSize, nBlockSize * 2, nMaxArrivals, nFlags); + if (nResult != 0) { + return -1; + } + + compressor.max_offset = nMaxWindowSize ? (int)nMaxWindowSize : MAX_OFFSET; + + int nPreviousBlockSize = 0; + int nNumBlocks = 0; + int nCurBitsOffset = INT_MIN, nCurBitShift = 0, nCurFollowsLiteral = 0; + int nBlockFlags = 1; + int nCurRepMatchOffset = 0; + + if (nDictionarySize) { + nOriginalSize = (int)nDictionarySize; + nPreviousBlockSize = (int)nDictionarySize; + } + + while (nOriginalSize < nInputSize && !nError) { + int nInDataSize; + + nInDataSize = (int)(nInputSize - nOriginalSize); + if (nInDataSize > nBlockSize) + nInDataSize = nBlockSize; + + if (nInDataSize > 0) { + int nOutDataSize; + int nOutDataEnd = (int)(nMaxOutBufferSize - nCompressedSize); + + if (nOutDataEnd > nMaxOutBlockSize) + nOutDataEnd = nMaxOutBlockSize; + + if ((nOriginalSize + nInDataSize) >= nInputSize) + nBlockFlags |= 2; + nOutDataSize = apultra_compressor_shrink_block(&compressor, pInputData + nOriginalSize - nPreviousBlockSize, nPreviousBlockSize, nInDataSize, pOutBuffer + nCompressedSize, nOutDataEnd, + &nCurBitsOffset, &nCurBitShift, &nCurFollowsLiteral, &nCurRepMatchOffset, nBlockFlags); + nBlockFlags &= (~1); + + if (nOutDataSize >= 0) { + /* Write compressed block */ + + if (!nError) { + nOriginalSize += nInDataSize; + nCompressedSize += nOutDataSize; + if (nCurBitsOffset != INT_MIN) + nCurBitsOffset -= nOutDataSize; + } + } + else { + nError = -1; + } + + nPreviousBlockSize = nInDataSize; + nNumBlocks++; + } + + if (!nError && nOriginalSize < nInputSize) { + if (progress) + progress(nOriginalSize, nCompressedSize); + } + } + + if (progress) + progress(nOriginalSize, nCompressedSize); + if (pStats) + *pStats = compressor.stats; + + apultra_compressor_destroy(&compressor); + + if (nError) { + return -1; + } + else { + return nCompressedSize; + } +} diff --git a/tools/z64compress/src/enc/apultra/shrink.h b/tools/z64compress/src/enc/apultra/shrink.h new file mode 100644 index 0000000000..7c9b548ddc --- /dev/null +++ b/tools/z64compress/src/enc/apultra/shrink.h @@ -0,0 +1,174 @@ +/* + * shrink.h - compressor definitions + * + * Copyright (C) 2019 Emmanuel Marty + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + */ + +/* + * Uses the libdivsufsort library Copyright (c) 2003-2008 Yuta Mori + * + * Inspired by cap by Sven-Åke Dahl. https://github.com/svendahl/cap + * Also inspired by Charles Bloom's compression blog. http://cbloomrants.blogspot.com/ + * With ideas from LZ4 by Yann Collet. https://github.com/lz4/lz4 + * With help and support from spke + * + */ + +#ifndef _SHRINK_H +#define _SHRINK_H + +#include "divsufsort.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define LCP_BITS 15 +#define TAG_BITS 4 +#define LCP_MAX ((1U<<(LCP_BITS - TAG_BITS)) - 1) +#define LCP_AND_TAG_MAX ((1U< + * With ideas from Lizard by Przemyslaw Skibinski and Yann Collet. https://github.com/inikep/lizard + * Also with ideas from smallz4 by Stephan Brumme. https://create.stephan-brumme.com/smallz4/ + * + */ + +#include +#include +//#include "shrink_context.h" +//#include "shrink_block.h" +#include "format.h" +#include "matchfinder.h" +//#include "lib.h" diff --git a/tools/z64compress/src/enc/apultra/sssort.c b/tools/z64compress/src/enc/apultra/sssort.c new file mode 100644 index 0000000000..4a18fd2ab4 --- /dev/null +++ b/tools/z64compress/src/enc/apultra/sssort.c @@ -0,0 +1,815 @@ +/* + * sssort.c for libdivsufsort + * Copyright (c) 2003-2008 Yuta Mori All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +#include "divsufsort_private.h" + + +/*- Private Functions -*/ + +static const saint_t lg_table[256]= { + -1,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, + 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, + 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, + 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, + 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, + 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7 +}; + +#if (SS_BLOCKSIZE == 0) || (SS_INSERTIONSORT_THRESHOLD < SS_BLOCKSIZE) + +static INLINE +saint_t +ss_ilg(saidx_t n) { +#if SS_BLOCKSIZE == 0 +# if defined(BUILD_DIVSUFSORT64) + return (n >> 32) ? + ((n >> 48) ? + ((n >> 56) ? + 56 + lg_table[(n >> 56) & 0xff] : + 48 + lg_table[(n >> 48) & 0xff]) : + ((n >> 40) ? + 40 + lg_table[(n >> 40) & 0xff] : + 32 + lg_table[(n >> 32) & 0xff])) : + ((n & 0xffff0000) ? + ((n & 0xff000000) ? + 24 + lg_table[(n >> 24) & 0xff] : + 16 + lg_table[(n >> 16) & 0xff]) : + ((n & 0x0000ff00) ? + 8 + lg_table[(n >> 8) & 0xff] : + 0 + lg_table[(n >> 0) & 0xff])); +# else + return (n & 0xffff0000) ? + ((n & 0xff000000) ? + 24 + lg_table[(n >> 24) & 0xff] : + 16 + lg_table[(n >> 16) & 0xff]) : + ((n & 0x0000ff00) ? + 8 + lg_table[(n >> 8) & 0xff] : + 0 + lg_table[(n >> 0) & 0xff]); +# endif +#elif SS_BLOCKSIZE < 256 + return lg_table[n]; +#else + return (n & 0xff00) ? + 8 + lg_table[(n >> 8) & 0xff] : + 0 + lg_table[(n >> 0) & 0xff]; +#endif +} + +#endif /* (SS_BLOCKSIZE == 0) || (SS_INSERTIONSORT_THRESHOLD < SS_BLOCKSIZE) */ + +#if SS_BLOCKSIZE != 0 + +static const saint_t sqq_table[256] = { + 0, 16, 22, 27, 32, 35, 39, 42, 45, 48, 50, 53, 55, 57, 59, 61, + 64, 65, 67, 69, 71, 73, 75, 76, 78, 80, 81, 83, 84, 86, 87, 89, + 90, 91, 93, 94, 96, 97, 98, 99, 101, 102, 103, 104, 106, 107, 108, 109, +110, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, +128, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, +143, 144, 144, 145, 146, 147, 148, 149, 150, 150, 151, 152, 153, 154, 155, 155, +156, 157, 158, 159, 160, 160, 161, 162, 163, 163, 164, 165, 166, 167, 167, 168, +169, 170, 170, 171, 172, 173, 173, 174, 175, 176, 176, 177, 178, 178, 179, 180, +181, 181, 182, 183, 183, 184, 185, 185, 186, 187, 187, 188, 189, 189, 190, 191, +192, 192, 193, 193, 194, 195, 195, 196, 197, 197, 198, 199, 199, 200, 201, 201, +202, 203, 203, 204, 204, 205, 206, 206, 207, 208, 208, 209, 209, 210, 211, 211, +212, 212, 213, 214, 214, 215, 215, 216, 217, 217, 218, 218, 219, 219, 220, 221, +221, 222, 222, 223, 224, 224, 225, 225, 226, 226, 227, 227, 228, 229, 229, 230, +230, 231, 231, 232, 232, 233, 234, 234, 235, 235, 236, 236, 237, 237, 238, 238, +239, 240, 240, 241, 241, 242, 242, 243, 243, 244, 244, 245, 245, 246, 246, 247, +247, 248, 248, 249, 249, 250, 250, 251, 251, 252, 252, 253, 253, 254, 254, 255 +}; + +static INLINE +saidx_t +ss_isqrt(saidx_t x) { + saidx_t y, e; + + if(x >= (SS_BLOCKSIZE * SS_BLOCKSIZE)) { return SS_BLOCKSIZE; } + e = (x & 0xffff0000) ? + ((x & 0xff000000) ? + 24 + lg_table[(x >> 24) & 0xff] : + 16 + lg_table[(x >> 16) & 0xff]) : + ((x & 0x0000ff00) ? + 8 + lg_table[(x >> 8) & 0xff] : + 0 + lg_table[(x >> 0) & 0xff]); + + if(e >= 16) { + y = sqq_table[x >> ((e - 6) - (e & 1))] << ((e >> 1) - 7); + if(e >= 24) { y = (y + 1 + x / y) >> 1; } + y = (y + 1 + x / y) >> 1; + } else if(e >= 8) { + y = (sqq_table[x >> ((e - 6) - (e & 1))] >> (7 - (e >> 1))) + 1; + } else { + return sqq_table[x] >> 4; + } + + return (x < (y * y)) ? y - 1 : y; +} + +#endif /* SS_BLOCKSIZE != 0 */ + + +/*---------------------------------------------------------------------------*/ + +/* Compares two suffixes. */ +static INLINE +saint_t +ss_compare(const sauchar_t *T, + const saidx_t *p1, const saidx_t *p2, + saidx_t depth) { + const sauchar_t *U1, *U2, *U1n, *U2n; + + for(U1 = T + depth + *p1, + U2 = T + depth + *p2, + U1n = T + *(p1 + 1) + 2, + U2n = T + *(p2 + 1) + 2; + (U1 < U1n) && (U2 < U2n) && (*U1 == *U2); + ++U1, ++U2) { + } + + return U1 < U1n ? + (U2 < U2n ? *U1 - *U2 : 1) : + (U2 < U2n ? -1 : 0); +} + + +/*---------------------------------------------------------------------------*/ + +#if (SS_BLOCKSIZE != 1) && (SS_INSERTIONSORT_THRESHOLD != 1) + +/* Insertionsort for small size groups */ +static +void +ss_insertionsort(const sauchar_t *T, const saidx_t *PA, + saidx_t *first, saidx_t *last, saidx_t depth) { + saidx_t *i, *j; + saidx_t t; + saint_t r; + + for(i = last - 2; first <= i; --i) { + for(t = *i, j = i + 1; 0 < (r = ss_compare(T, PA + t, PA + *j, depth));) { + do { *(j - 1) = *j; } while((++j < last) && (*j < 0)); + if(last <= j) { break; } + } + if(r == 0) { *j = ~*j; } + *(j - 1) = t; + } +} + +#endif /* (SS_BLOCKSIZE != 1) && (SS_INSERTIONSORT_THRESHOLD != 1) */ + + +/*---------------------------------------------------------------------------*/ + +#if (SS_BLOCKSIZE == 0) || (SS_INSERTIONSORT_THRESHOLD < SS_BLOCKSIZE) + +static INLINE +void +ss_fixdown(const sauchar_t *Td, const saidx_t *PA, + saidx_t *SA, saidx_t i, saidx_t size) { + saidx_t j, k; + saidx_t v; + saint_t c, d, e; + + for(v = SA[i], c = Td[PA[v]]; (j = 2 * i + 1) < size; SA[i] = SA[k], i = k) { + d = Td[PA[SA[k = j++]]]; + if(d < (e = Td[PA[SA[j]]])) { k = j; d = e; } + if(d <= c) { break; } + } + SA[i] = v; +} + +/* Simple top-down heapsort. */ +static +void +ss_heapsort(const sauchar_t *Td, const saidx_t *PA, saidx_t *SA, saidx_t size) { + saidx_t i, m; + saidx_t t; + + m = size; + if((size % 2) == 0) { + m--; + if(Td[PA[SA[m / 2]]] < Td[PA[SA[m]]]) { SWAP(SA[m], SA[m / 2]); } + } + + for(i = m / 2 - 1; 0 <= i; --i) { ss_fixdown(Td, PA, SA, i, m); } + if((size % 2) == 0) { SWAP(SA[0], SA[m]); ss_fixdown(Td, PA, SA, 0, m); } + for(i = m - 1; 0 < i; --i) { + t = SA[0], SA[0] = SA[i]; + ss_fixdown(Td, PA, SA, 0, i); + SA[i] = t; + } +} + + +/*---------------------------------------------------------------------------*/ + +/* Returns the median of three elements. */ +static INLINE +saidx_t * +ss_median3(const sauchar_t *Td, const saidx_t *PA, + saidx_t *v1, saidx_t *v2, saidx_t *v3) { + saidx_t *t; + if(Td[PA[*v1]] > Td[PA[*v2]]) { SWAP(v1, v2); } + if(Td[PA[*v2]] > Td[PA[*v3]]) { + if(Td[PA[*v1]] > Td[PA[*v3]]) { return v1; } + else { return v3; } + } + return v2; +} + +/* Returns the median of five elements. */ +static INLINE +saidx_t * +ss_median5(const sauchar_t *Td, const saidx_t *PA, + saidx_t *v1, saidx_t *v2, saidx_t *v3, saidx_t *v4, saidx_t *v5) { + saidx_t *t; + if(Td[PA[*v2]] > Td[PA[*v3]]) { SWAP(v2, v3); } + if(Td[PA[*v4]] > Td[PA[*v5]]) { SWAP(v4, v5); } + if(Td[PA[*v2]] > Td[PA[*v4]]) { SWAP(v2, v4); SWAP(v3, v5); } + if(Td[PA[*v1]] > Td[PA[*v3]]) { SWAP(v1, v3); } + if(Td[PA[*v1]] > Td[PA[*v4]]) { SWAP(v1, v4); SWAP(v3, v5); } + if(Td[PA[*v3]] > Td[PA[*v4]]) { return v4; } + return v3; +} + +/* Returns the pivot element. */ +static INLINE +saidx_t * +ss_pivot(const sauchar_t *Td, const saidx_t *PA, saidx_t *first, saidx_t *last) { + saidx_t *middle; + saidx_t t; + + t = last - first; + middle = first + t / 2; + + if(t <= 512) { + if(t <= 32) { + return ss_median3(Td, PA, first, middle, last - 1); + } else { + t >>= 2; + return ss_median5(Td, PA, first, first + t, middle, last - 1 - t, last - 1); + } + } + t >>= 3; + first = ss_median3(Td, PA, first, first + t, first + (t << 1)); + middle = ss_median3(Td, PA, middle - t, middle, middle + t); + last = ss_median3(Td, PA, last - 1 - (t << 1), last - 1 - t, last - 1); + return ss_median3(Td, PA, first, middle, last); +} + + +/*---------------------------------------------------------------------------*/ + +/* Binary partition for substrings. */ +static INLINE +saidx_t * +ss_partition(const saidx_t *PA, + saidx_t *first, saidx_t *last, saidx_t depth) { + saidx_t *a, *b; + saidx_t t; + for(a = first - 1, b = last;;) { + for(; (++a < b) && ((PA[*a] + depth) >= (PA[*a + 1] + 1));) { *a = ~*a; } + for(; (a < --b) && ((PA[*b] + depth) < (PA[*b + 1] + 1));) { } + if(b <= a) { break; } + t = ~*b; + *b = *a; + *a = t; + } + if(first < a) { *first = ~*first; } + return a; +} + +/* Multikey introsort for medium size groups. */ +static +void +ss_mintrosort(const sauchar_t *T, const saidx_t *PA, + saidx_t *first, saidx_t *last, + saidx_t depth) { +#define STACK_SIZE SS_MISORT_STACKSIZE + struct { saidx_t *a, *b, c; saint_t d; } stack[STACK_SIZE]; + const sauchar_t *Td; + saidx_t *a, *b, *c, *d, *e, *f; + saidx_t s, t; + saint_t ssize; + saint_t limit; + saint_t v, x = 0; + + for(ssize = 0, limit = ss_ilg(last - first);;) { + + if((last - first) <= SS_INSERTIONSORT_THRESHOLD) { +#if 1 < SS_INSERTIONSORT_THRESHOLD + if(1 < (last - first)) { ss_insertionsort(T, PA, first, last, depth); } +#endif + STACK_POP(first, last, depth, limit); + continue; + } + + Td = T + depth; + if(limit-- == 0) { ss_heapsort(Td, PA, first, last - first); } + if(limit < 0) { + for(a = first + 1, v = Td[PA[*first]]; a < last; ++a) { + if((x = Td[PA[*a]]) != v) { + if(1 < (a - first)) { break; } + v = x; + first = a; + } + } + if(Td[PA[*first] - 1] < v) { + first = ss_partition(PA, first, a, depth); + } + if((a - first) <= (last - a)) { + if(1 < (a - first)) { + STACK_PUSH(a, last, depth, -1); + last = a, depth += 1, limit = ss_ilg(a - first); + } else { + first = a, limit = -1; + } + } else { + if(1 < (last - a)) { + STACK_PUSH(first, a, depth + 1, ss_ilg(a - first)); + first = a, limit = -1; + } else { + last = a, depth += 1, limit = ss_ilg(a - first); + } + } + continue; + } + + /* choose pivot */ + a = ss_pivot(Td, PA, first, last); + v = Td[PA[*a]]; + SWAP(*first, *a); + + /* partition */ + for(b = first; (++b < last) && ((x = Td[PA[*b]]) == v);) { } + if(((a = b) < last) && (x < v)) { + for(; (++b < last) && ((x = Td[PA[*b]]) <= v);) { + if(x == v) { SWAP(*b, *a); ++a; } + } + } + for(c = last; (b < --c) && ((x = Td[PA[*c]]) == v);) { } + if((b < (d = c)) && (x > v)) { + for(; (b < --c) && ((x = Td[PA[*c]]) >= v);) { + if(x == v) { SWAP(*c, *d); --d; } + } + } + for(; b < c;) { + SWAP(*b, *c); + for(; (++b < c) && ((x = Td[PA[*b]]) <= v);) { + if(x == v) { SWAP(*b, *a); ++a; } + } + for(; (b < --c) && ((x = Td[PA[*c]]) >= v);) { + if(x == v) { SWAP(*c, *d); --d; } + } + } + + if(a <= d) { + c = b - 1; + + if((s = a - first) > (t = b - a)) { s = t; } + for(e = first, f = b - s; 0 < s; --s, ++e, ++f) { SWAP(*e, *f); } + if((s = d - c) > (t = last - d - 1)) { s = t; } + for(e = b, f = last - s; 0 < s; --s, ++e, ++f) { SWAP(*e, *f); } + + a = first + (b - a), c = last - (d - c); + b = (v <= Td[PA[*a] - 1]) ? a : ss_partition(PA, a, c, depth); + + if((a - first) <= (last - c)) { + if((last - c) <= (c - b)) { + STACK_PUSH(b, c, depth + 1, ss_ilg(c - b)); + STACK_PUSH(c, last, depth, limit); + last = a; + } else if((a - first) <= (c - b)) { + STACK_PUSH(c, last, depth, limit); + STACK_PUSH(b, c, depth + 1, ss_ilg(c - b)); + last = a; + } else { + STACK_PUSH(c, last, depth, limit); + STACK_PUSH(first, a, depth, limit); + first = b, last = c, depth += 1, limit = ss_ilg(c - b); + } + } else { + if((a - first) <= (c - b)) { + STACK_PUSH(b, c, depth + 1, ss_ilg(c - b)); + STACK_PUSH(first, a, depth, limit); + first = c; + } else if((last - c) <= (c - b)) { + STACK_PUSH(first, a, depth, limit); + STACK_PUSH(b, c, depth + 1, ss_ilg(c - b)); + first = c; + } else { + STACK_PUSH(first, a, depth, limit); + STACK_PUSH(c, last, depth, limit); + first = b, last = c, depth += 1, limit = ss_ilg(c - b); + } + } + } else { + limit += 1; + if(Td[PA[*first] - 1] < v) { + first = ss_partition(PA, first, last, depth); + limit = ss_ilg(last - first); + } + depth += 1; + } + } +#undef STACK_SIZE +} + +#endif /* (SS_BLOCKSIZE == 0) || (SS_INSERTIONSORT_THRESHOLD < SS_BLOCKSIZE) */ + + +/*---------------------------------------------------------------------------*/ + +#if SS_BLOCKSIZE != 0 + +static INLINE +void +ss_blockswap(saidx_t *a, saidx_t *b, saidx_t n) { + saidx_t t; + for(; 0 < n; --n, ++a, ++b) { + t = *a, *a = *b, *b = t; + } +} + +static INLINE +void +ss_rotate(saidx_t *first, saidx_t *middle, saidx_t *last) { + saidx_t *a, *b, t; + saidx_t l, r; + l = middle - first, r = last - middle; + for(; (0 < l) && (0 < r);) { + if(l == r) { ss_blockswap(first, middle, l); break; } + if(l < r) { + a = last - 1, b = middle - 1; + t = *a; + do { + *a-- = *b, *b-- = *a; + if(b < first) { + *a = t; + last = a; + if((r -= l + 1) <= l) { break; } + a -= 1, b = middle - 1; + t = *a; + } + } while(1); + } else { + a = first, b = middle; + t = *a; + do { + *a++ = *b, *b++ = *a; + if(last <= b) { + *a = t; + first = a + 1; + if((l -= r + 1) <= r) { break; } + a += 1, b = middle; + t = *a; + } + } while(1); + } + } +} + + +/*---------------------------------------------------------------------------*/ + +static +void +ss_inplacemerge(const sauchar_t *T, const saidx_t *PA, + saidx_t *first, saidx_t *middle, saidx_t *last, + saidx_t depth) { + const saidx_t *p; + saidx_t *a, *b; + saidx_t len, half; + saint_t q, r; + saint_t x; + + for(;;) { + if(*(last - 1) < 0) { x = 1; p = PA + ~*(last - 1); } + else { x = 0; p = PA + *(last - 1); } + for(a = first, len = middle - first, half = len >> 1, r = -1; + 0 < len; + len = half, half >>= 1) { + b = a + half; + q = ss_compare(T, PA + ((0 <= *b) ? *b : ~*b), p, depth); + if(q < 0) { + a = b + 1; + half -= (len & 1) ^ 1; + } else { + r = q; + } + } + if(a < middle) { + if(r == 0) { *a = ~*a; } + ss_rotate(a, middle, last); + last -= middle - a; + middle = a; + if(first == middle) { break; } + } + --last; + if(x != 0) { while(*--last < 0) { } } + if(middle == last) { break; } + } +} + + +/*---------------------------------------------------------------------------*/ + +/* Merge-forward with internal buffer. */ +static +void +ss_mergeforward(const sauchar_t *T, const saidx_t *PA, + saidx_t *first, saidx_t *middle, saidx_t *last, + saidx_t *buf, saidx_t depth) { + saidx_t *a, *b, *c, *bufend; + saidx_t t; + saint_t r; + + bufend = buf + (middle - first) - 1; + ss_blockswap(buf, first, middle - first); + + for(t = *(a = first), b = buf, c = middle;;) { + r = ss_compare(T, PA + *b, PA + *c, depth); + if(r < 0) { + do { + *a++ = *b; + if(bufend <= b) { *bufend = t; return; } + *b++ = *a; + } while(*b < 0); + } else if(r > 0) { + do { + *a++ = *c, *c++ = *a; + if(last <= c) { + while(b < bufend) { *a++ = *b, *b++ = *a; } + *a = *b, *b = t; + return; + } + } while(*c < 0); + } else { + *c = ~*c; + do { + *a++ = *b; + if(bufend <= b) { *bufend = t; return; } + *b++ = *a; + } while(*b < 0); + + do { + *a++ = *c, *c++ = *a; + if(last <= c) { + while(b < bufend) { *a++ = *b, *b++ = *a; } + *a = *b, *b = t; + return; + } + } while(*c < 0); + } + } +} + +/* Merge-backward with internal buffer. */ +static +void +ss_mergebackward(const sauchar_t *T, const saidx_t *PA, + saidx_t *first, saidx_t *middle, saidx_t *last, + saidx_t *buf, saidx_t depth) { + const saidx_t *p1, *p2; + saidx_t *a, *b, *c, *bufend; + saidx_t t; + saint_t r; + saint_t x; + + bufend = buf + (last - middle) - 1; + ss_blockswap(buf, middle, last - middle); + + x = 0; + if(*bufend < 0) { p1 = PA + ~*bufend; x |= 1; } + else { p1 = PA + *bufend; } + if(*(middle - 1) < 0) { p2 = PA + ~*(middle - 1); x |= 2; } + else { p2 = PA + *(middle - 1); } + for(t = *(a = last - 1), b = bufend, c = middle - 1;;) { + r = ss_compare(T, p1, p2, depth); + if(0 < r) { + if(x & 1) { do { *a-- = *b, *b-- = *a; } while(*b < 0); x ^= 1; } + *a-- = *b; + if(b <= buf) { *buf = t; break; } + *b-- = *a; + if(*b < 0) { p1 = PA + ~*b; x |= 1; } + else { p1 = PA + *b; } + } else if(r < 0) { + if(x & 2) { do { *a-- = *c, *c-- = *a; } while(*c < 0); x ^= 2; } + *a-- = *c, *c-- = *a; + if(c < first) { + while(buf < b) { *a-- = *b, *b-- = *a; } + *a = *b, *b = t; + break; + } + if(*c < 0) { p2 = PA + ~*c; x |= 2; } + else { p2 = PA + *c; } + } else { + if(x & 1) { do { *a-- = *b, *b-- = *a; } while(*b < 0); x ^= 1; } + *a-- = ~*b; + if(b <= buf) { *buf = t; break; } + *b-- = *a; + if(x & 2) { do { *a-- = *c, *c-- = *a; } while(*c < 0); x ^= 2; } + *a-- = *c, *c-- = *a; + if(c < first) { + while(buf < b) { *a-- = *b, *b-- = *a; } + *a = *b, *b = t; + break; + } + if(*b < 0) { p1 = PA + ~*b; x |= 1; } + else { p1 = PA + *b; } + if(*c < 0) { p2 = PA + ~*c; x |= 2; } + else { p2 = PA + *c; } + } + } +} + +/* D&C based merge. */ +static +void +ss_swapmerge(const sauchar_t *T, const saidx_t *PA, + saidx_t *first, saidx_t *middle, saidx_t *last, + saidx_t *buf, saidx_t bufsize, saidx_t depth) { +#define STACK_SIZE SS_SMERGE_STACKSIZE +#define GETIDX(a) ((0 <= (a)) ? (a) : (~(a))) +#define MERGE_CHECK(a, b, c)\ + do {\ + if(((c) & 1) ||\ + (((c) & 2) && (ss_compare(T, PA + GETIDX(*((a) - 1)), PA + *(a), depth) == 0))) {\ + *(a) = ~*(a);\ + }\ + if(((c) & 4) && ((ss_compare(T, PA + GETIDX(*((b) - 1)), PA + *(b), depth) == 0))) {\ + *(b) = ~*(b);\ + }\ + } while(0) + struct { saidx_t *a, *b, *c; saint_t d; } stack[STACK_SIZE]; + saidx_t *l, *r, *lm, *rm; + saidx_t m, len, half; + saint_t ssize; + saint_t check, next; + + for(check = 0, ssize = 0;;) { + if((last - middle) <= bufsize) { + if((first < middle) && (middle < last)) { + ss_mergebackward(T, PA, first, middle, last, buf, depth); + } + MERGE_CHECK(first, last, check); + STACK_POP(first, middle, last, check); + continue; + } + + if((middle - first) <= bufsize) { + if(first < middle) { + ss_mergeforward(T, PA, first, middle, last, buf, depth); + } + MERGE_CHECK(first, last, check); + STACK_POP(first, middle, last, check); + continue; + } + + for(m = 0, len = MIN(middle - first, last - middle), half = len >> 1; + 0 < len; + len = half, half >>= 1) { + if(ss_compare(T, PA + GETIDX(*(middle + m + half)), + PA + GETIDX(*(middle - m - half - 1)), depth) < 0) { + m += half + 1; + half -= (len & 1) ^ 1; + } + } + + if(0 < m) { + lm = middle - m, rm = middle + m; + ss_blockswap(lm, middle, m); + l = r = middle, next = 0; + if(rm < last) { + if(*rm < 0) { + *rm = ~*rm; + if(first < lm) { for(; *--l < 0;) { } next |= 4; } + next |= 1; + } else if(first < lm) { + for(; *r < 0; ++r) { } + next |= 2; + } + } + + if((l - first) <= (last - r)) { + STACK_PUSH(r, rm, last, (next & 3) | (check & 4)); + middle = lm, last = l, check = (check & 3) | (next & 4); + } else { + if((next & 2) && (r == middle)) { next ^= 6; } + STACK_PUSH(first, lm, l, (check & 3) | (next & 4)); + first = r, middle = rm, check = (next & 3) | (check & 4); + } + } else { + if(ss_compare(T, PA + GETIDX(*(middle - 1)), PA + *middle, depth) == 0) { + *middle = ~*middle; + } + MERGE_CHECK(first, last, check); + STACK_POP(first, middle, last, check); + } + } +#undef STACK_SIZE +} + +#endif /* SS_BLOCKSIZE != 0 */ + + +/*---------------------------------------------------------------------------*/ + +/*- Function -*/ + +/* Substring sort */ +void +sssort(const sauchar_t *T, const saidx_t *PA, + saidx_t *first, saidx_t *last, + saidx_t *buf, saidx_t bufsize, + saidx_t depth, saidx_t n, saint_t lastsuffix) { + saidx_t *a; +#if SS_BLOCKSIZE != 0 + saidx_t *b, *middle, *curbuf; + saidx_t j, k, curbufsize, limit; +#endif + saidx_t i; + + if(lastsuffix != 0) { ++first; } + +#if SS_BLOCKSIZE == 0 + ss_mintrosort(T, PA, first, last, depth); +#else + if((bufsize < SS_BLOCKSIZE) && + (bufsize < (last - first)) && + (bufsize < (limit = ss_isqrt(last - first)))) { + if(SS_BLOCKSIZE < limit) { limit = SS_BLOCKSIZE; } + buf = middle = last - limit, bufsize = limit; + } else { + middle = last, limit = 0; + } + for(a = first, i = 0; SS_BLOCKSIZE < (middle - a); a += SS_BLOCKSIZE, ++i) { +#if SS_INSERTIONSORT_THRESHOLD < SS_BLOCKSIZE + ss_mintrosort(T, PA, a, a + SS_BLOCKSIZE, depth); +#elif 1 < SS_BLOCKSIZE + ss_insertionsort(T, PA, a, a + SS_BLOCKSIZE, depth); +#endif + curbufsize = last - (a + SS_BLOCKSIZE); + curbuf = a + SS_BLOCKSIZE; + if(curbufsize <= bufsize) { curbufsize = bufsize, curbuf = buf; } + for(b = a, k = SS_BLOCKSIZE, j = i; j & 1; b -= k, k <<= 1, j >>= 1) { + ss_swapmerge(T, PA, b - k, b, b + k, curbuf, curbufsize, depth); + } + } +#if SS_INSERTIONSORT_THRESHOLD < SS_BLOCKSIZE + ss_mintrosort(T, PA, a, middle, depth); +#elif 1 < SS_BLOCKSIZE + ss_insertionsort(T, PA, a, middle, depth); +#endif + for(k = SS_BLOCKSIZE; i != 0; k <<= 1, i >>= 1) { + if(i & 1) { + ss_swapmerge(T, PA, a - k, a, middle, buf, bufsize, depth); + a -= k; + } + } + if(limit != 0) { +#if SS_INSERTIONSORT_THRESHOLD < SS_BLOCKSIZE + ss_mintrosort(T, PA, middle, last, depth); +#elif 1 < SS_BLOCKSIZE + ss_insertionsort(T, PA, middle, last, depth); +#endif + ss_inplacemerge(T, PA, first, middle, last, depth); + } +#endif + + if(lastsuffix != 0) { + /* Insert last type B* suffix. */ + saidx_t PAi[2]; PAi[0] = PA[*(first - 1)], PAi[1] = n - 2; + for(a = first, i = *(first - 1); + (a < last) && ((*a < 0) || (0 < ss_compare(T, &(PAi[0]), PA + *a, depth))); + ++a) { + *(a - 1) = *a; + } + *(a - 1) = i; + } +} diff --git a/tools/z64compress/src/enc/apultra/trsort.c b/tools/z64compress/src/enc/apultra/trsort.c new file mode 100644 index 0000000000..6fe3e67baa --- /dev/null +++ b/tools/z64compress/src/enc/apultra/trsort.c @@ -0,0 +1,586 @@ +/* + * trsort.c for libdivsufsort + * Copyright (c) 2003-2008 Yuta Mori All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +#include "divsufsort_private.h" + + +/*- Private Functions -*/ + +static const saint_t lg_table[256]= { + -1,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, + 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, + 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, + 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, + 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, + 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7 +}; + +static INLINE +saint_t +tr_ilg(saidx_t n) { +#if defined(BUILD_DIVSUFSORT64) + return (n >> 32) ? + ((n >> 48) ? + ((n >> 56) ? + 56 + lg_table[(n >> 56) & 0xff] : + 48 + lg_table[(n >> 48) & 0xff]) : + ((n >> 40) ? + 40 + lg_table[(n >> 40) & 0xff] : + 32 + lg_table[(n >> 32) & 0xff])) : + ((n & 0xffff0000) ? + ((n & 0xff000000) ? + 24 + lg_table[(n >> 24) & 0xff] : + 16 + lg_table[(n >> 16) & 0xff]) : + ((n & 0x0000ff00) ? + 8 + lg_table[(n >> 8) & 0xff] : + 0 + lg_table[(n >> 0) & 0xff])); +#else + return (n & 0xffff0000) ? + ((n & 0xff000000) ? + 24 + lg_table[(n >> 24) & 0xff] : + 16 + lg_table[(n >> 16) & 0xff]) : + ((n & 0x0000ff00) ? + 8 + lg_table[(n >> 8) & 0xff] : + 0 + lg_table[(n >> 0) & 0xff]); +#endif +} + + +/*---------------------------------------------------------------------------*/ + +/* Simple insertionsort for small size groups. */ +static +void +tr_insertionsort(const saidx_t *ISAd, saidx_t *first, saidx_t *last) { + saidx_t *a, *b; + saidx_t t, r; + + for(a = first + 1; a < last; ++a) { + for(t = *a, b = a - 1; 0 > (r = ISAd[t] - ISAd[*b]);) { + do { *(b + 1) = *b; } while((first <= --b) && (*b < 0)); + if(b < first) { break; } + } + if(r == 0) { *b = ~*b; } + *(b + 1) = t; + } +} + + +/*---------------------------------------------------------------------------*/ + +static INLINE +void +tr_fixdown(const saidx_t *ISAd, saidx_t *SA, saidx_t i, saidx_t size) { + saidx_t j, k; + saidx_t v; + saidx_t c, d, e; + + for(v = SA[i], c = ISAd[v]; (j = 2 * i + 1) < size; SA[i] = SA[k], i = k) { + d = ISAd[SA[k = j++]]; + if(d < (e = ISAd[SA[j]])) { k = j; d = e; } + if(d <= c) { break; } + } + SA[i] = v; +} + +/* Simple top-down heapsort. */ +static +void +tr_heapsort(const saidx_t *ISAd, saidx_t *SA, saidx_t size) { + saidx_t i, m; + saidx_t t; + + m = size; + if((size % 2) == 0) { + m--; + if(ISAd[SA[m / 2]] < ISAd[SA[m]]) { SWAP(SA[m], SA[m / 2]); } + } + + for(i = m / 2 - 1; 0 <= i; --i) { tr_fixdown(ISAd, SA, i, m); } + if((size % 2) == 0) { SWAP(SA[0], SA[m]); tr_fixdown(ISAd, SA, 0, m); } + for(i = m - 1; 0 < i; --i) { + t = SA[0], SA[0] = SA[i]; + tr_fixdown(ISAd, SA, 0, i); + SA[i] = t; + } +} + + +/*---------------------------------------------------------------------------*/ + +/* Returns the median of three elements. */ +static INLINE +saidx_t * +tr_median3(const saidx_t *ISAd, saidx_t *v1, saidx_t *v2, saidx_t *v3) { + saidx_t *t; + if(ISAd[*v1] > ISAd[*v2]) { SWAP(v1, v2); } + if(ISAd[*v2] > ISAd[*v3]) { + if(ISAd[*v1] > ISAd[*v3]) { return v1; } + else { return v3; } + } + return v2; +} + +/* Returns the median of five elements. */ +static INLINE +saidx_t * +tr_median5(const saidx_t *ISAd, + saidx_t *v1, saidx_t *v2, saidx_t *v3, saidx_t *v4, saidx_t *v5) { + saidx_t *t; + if(ISAd[*v2] > ISAd[*v3]) { SWAP(v2, v3); } + if(ISAd[*v4] > ISAd[*v5]) { SWAP(v4, v5); } + if(ISAd[*v2] > ISAd[*v4]) { SWAP(v2, v4); SWAP(v3, v5); } + if(ISAd[*v1] > ISAd[*v3]) { SWAP(v1, v3); } + if(ISAd[*v1] > ISAd[*v4]) { SWAP(v1, v4); SWAP(v3, v5); } + if(ISAd[*v3] > ISAd[*v4]) { return v4; } + return v3; +} + +/* Returns the pivot element. */ +static INLINE +saidx_t * +tr_pivot(const saidx_t *ISAd, saidx_t *first, saidx_t *last) { + saidx_t *middle; + saidx_t t; + + t = last - first; + middle = first + t / 2; + + if(t <= 512) { + if(t <= 32) { + return tr_median3(ISAd, first, middle, last - 1); + } else { + t >>= 2; + return tr_median5(ISAd, first, first + t, middle, last - 1 - t, last - 1); + } + } + t >>= 3; + first = tr_median3(ISAd, first, first + t, first + (t << 1)); + middle = tr_median3(ISAd, middle - t, middle, middle + t); + last = tr_median3(ISAd, last - 1 - (t << 1), last - 1 - t, last - 1); + return tr_median3(ISAd, first, middle, last); +} + + +/*---------------------------------------------------------------------------*/ + +typedef struct _trbudget_t trbudget_t; +struct _trbudget_t { + saidx_t chance; + saidx_t remain; + saidx_t incval; + saidx_t count; +}; + +static INLINE +void +trbudget_init(trbudget_t *budget, saidx_t chance, saidx_t incval) { + budget->chance = chance; + budget->remain = budget->incval = incval; +} + +static INLINE +saint_t +trbudget_check(trbudget_t *budget, saidx_t size) { + if(size <= budget->remain) { budget->remain -= size; return 1; } + if(budget->chance == 0) { budget->count += size; return 0; } + budget->remain += budget->incval - size; + budget->chance -= 1; + return 1; +} + + +/*---------------------------------------------------------------------------*/ + +static INLINE +void +tr_partition(const saidx_t *ISAd, + saidx_t *first, saidx_t *middle, saidx_t *last, + saidx_t **pa, saidx_t **pb, saidx_t v) { + saidx_t *a, *b, *c, *d, *e, *f; + saidx_t t, s; + saidx_t x = 0; + + for(b = middle - 1; (++b < last) && ((x = ISAd[*b]) == v);) { } + if(((a = b) < last) && (x < v)) { + for(; (++b < last) && ((x = ISAd[*b]) <= v);) { + if(x == v) { SWAP(*b, *a); ++a; } + } + } + for(c = last; (b < --c) && ((x = ISAd[*c]) == v);) { } + if((b < (d = c)) && (x > v)) { + for(; (b < --c) && ((x = ISAd[*c]) >= v);) { + if(x == v) { SWAP(*c, *d); --d; } + } + } + for(; b < c;) { + SWAP(*b, *c); + for(; (++b < c) && ((x = ISAd[*b]) <= v);) { + if(x == v) { SWAP(*b, *a); ++a; } + } + for(; (b < --c) && ((x = ISAd[*c]) >= v);) { + if(x == v) { SWAP(*c, *d); --d; } + } + } + + if(a <= d) { + c = b - 1; + if((s = a - first) > (t = b - a)) { s = t; } + for(e = first, f = b - s; 0 < s; --s, ++e, ++f) { SWAP(*e, *f); } + if((s = d - c) > (t = last - d - 1)) { s = t; } + for(e = b, f = last - s; 0 < s; --s, ++e, ++f) { SWAP(*e, *f); } + first += (b - a), last -= (d - c); + } + *pa = first, *pb = last; +} + +static +void +tr_copy(saidx_t *ISA, const saidx_t *SA, + saidx_t *first, saidx_t *a, saidx_t *b, saidx_t *last, + saidx_t depth) { + /* sort suffixes of middle partition + by using sorted order of suffixes of left and right partition. */ + saidx_t *c, *d, *e; + saidx_t s, v; + + v = b - SA - 1; + for(c = first, d = a - 1; c <= d; ++c) { + if((0 <= (s = *c - depth)) && (ISA[s] == v)) { + *++d = s; + ISA[s] = d - SA; + } + } + for(c = last - 1, e = d + 1, d = b; e < d; --c) { + if((0 <= (s = *c - depth)) && (ISA[s] == v)) { + *--d = s; + ISA[s] = d - SA; + } + } +} + +static +void +tr_partialcopy(saidx_t *ISA, const saidx_t *SA, + saidx_t *first, saidx_t *a, saidx_t *b, saidx_t *last, + saidx_t depth) { + saidx_t *c, *d, *e; + saidx_t s, v; + saidx_t rank, lastrank, newrank = -1; + + v = b - SA - 1; + lastrank = -1; + for(c = first, d = a - 1; c <= d; ++c) { + if((0 <= (s = *c - depth)) && (ISA[s] == v)) { + *++d = s; + rank = ISA[s + depth]; + if(lastrank != rank) { lastrank = rank; newrank = d - SA; } + ISA[s] = newrank; + } + } + + lastrank = -1; + for(e = d; first <= e; --e) { + rank = ISA[*e]; + if(lastrank != rank) { lastrank = rank; newrank = e - SA; } + if(newrank != rank) { ISA[*e] = newrank; } + } + + lastrank = -1; + for(c = last - 1, e = d + 1, d = b; e < d; --c) { + if((0 <= (s = *c - depth)) && (ISA[s] == v)) { + *--d = s; + rank = ISA[s + depth]; + if(lastrank != rank) { lastrank = rank; newrank = d - SA; } + ISA[s] = newrank; + } + } +} + +static +void +tr_introsort(saidx_t *ISA, const saidx_t *ISAd, + saidx_t *SA, saidx_t *first, saidx_t *last, + trbudget_t *budget) { +#define STACK_SIZE TR_STACKSIZE + struct { const saidx_t *a; saidx_t *b, *c; saint_t d, e; }stack[STACK_SIZE]; + saidx_t *a, *b, *c; + saidx_t t; + saidx_t v, x = 0; + saidx_t incr = ISAd - ISA; + saint_t limit, next; + saint_t ssize, trlink = -1; + + for(ssize = 0, limit = tr_ilg(last - first);;) { + + if(limit < 0) { + if(limit == -1) { + /* tandem repeat partition */ + tr_partition(ISAd - incr, first, first, last, &a, &b, last - SA - 1); + + /* update ranks */ + if(a < last) { + for(c = first, v = a - SA - 1; c < a; ++c) { ISA[*c] = v; } + } + if(b < last) { + for(c = a, v = b - SA - 1; c < b; ++c) { ISA[*c] = v; } + } + + /* push */ + if(1 < (b - a)) { + STACK_PUSH5(NULL, a, b, 0, 0); + STACK_PUSH5(ISAd - incr, first, last, -2, trlink); + trlink = ssize - 2; + } + if((a - first) <= (last - b)) { + if(1 < (a - first)) { + STACK_PUSH5(ISAd, b, last, tr_ilg(last - b), trlink); + last = a, limit = tr_ilg(a - first); + } else if(1 < (last - b)) { + first = b, limit = tr_ilg(last - b); + } else { + STACK_POP5(ISAd, first, last, limit, trlink); + } + } else { + if(1 < (last - b)) { + STACK_PUSH5(ISAd, first, a, tr_ilg(a - first), trlink); + first = b, limit = tr_ilg(last - b); + } else if(1 < (a - first)) { + last = a, limit = tr_ilg(a - first); + } else { + STACK_POP5(ISAd, first, last, limit, trlink); + } + } + } else if(limit == -2) { + /* tandem repeat copy */ + a = stack[--ssize].b, b = stack[ssize].c; + if(stack[ssize].d == 0) { + tr_copy(ISA, SA, first, a, b, last, ISAd - ISA); + } else { + if(0 <= trlink) { stack[trlink].d = -1; } + tr_partialcopy(ISA, SA, first, a, b, last, ISAd - ISA); + } + STACK_POP5(ISAd, first, last, limit, trlink); + } else { + /* sorted partition */ + if(0 <= *first) { + a = first; + do { ISA[*a] = a - SA; } while((++a < last) && (0 <= *a)); + first = a; + } + if(first < last) { + a = first; do { *a = ~*a; } while(*++a < 0); + next = (ISA[*a] != ISAd[*a]) ? tr_ilg(a - first + 1) : -1; + if(++a < last) { for(b = first, v = a - SA - 1; b < a; ++b) { ISA[*b] = v; } } + + /* push */ + if(trbudget_check(budget, a - first)) { + if((a - first) <= (last - a)) { + STACK_PUSH5(ISAd, a, last, -3, trlink); + ISAd += incr, last = a, limit = next; + } else { + if(1 < (last - a)) { + STACK_PUSH5(ISAd + incr, first, a, next, trlink); + first = a, limit = -3; + } else { + ISAd += incr, last = a, limit = next; + } + } + } else { + if(0 <= trlink) { stack[trlink].d = -1; } + if(1 < (last - a)) { + first = a, limit = -3; + } else { + STACK_POP5(ISAd, first, last, limit, trlink); + } + } + } else { + STACK_POP5(ISAd, first, last, limit, trlink); + } + } + continue; + } + + if((last - first) <= TR_INSERTIONSORT_THRESHOLD) { + tr_insertionsort(ISAd, first, last); + limit = -3; + continue; + } + + if(limit-- == 0) { + tr_heapsort(ISAd, first, last - first); + for(a = last - 1; first < a; a = b) { + for(x = ISAd[*a], b = a - 1; (first <= b) && (ISAd[*b] == x); --b) { *b = ~*b; } + } + limit = -3; + continue; + } + + /* choose pivot */ + a = tr_pivot(ISAd, first, last); + SWAP(*first, *a); + v = ISAd[*first]; + + /* partition */ + tr_partition(ISAd, first, first + 1, last, &a, &b, v); + if((last - first) != (b - a)) { + next = (ISA[*a] != v) ? tr_ilg(b - a) : -1; + + /* update ranks */ + for(c = first, v = a - SA - 1; c < a; ++c) { ISA[*c] = v; } + if(b < last) { for(c = a, v = b - SA - 1; c < b; ++c) { ISA[*c] = v; } } + + /* push */ + if((1 < (b - a)) && (trbudget_check(budget, b - a))) { + if((a - first) <= (last - b)) { + if((last - b) <= (b - a)) { + if(1 < (a - first)) { + STACK_PUSH5(ISAd + incr, a, b, next, trlink); + STACK_PUSH5(ISAd, b, last, limit, trlink); + last = a; + } else if(1 < (last - b)) { + STACK_PUSH5(ISAd + incr, a, b, next, trlink); + first = b; + } else { + ISAd += incr, first = a, last = b, limit = next; + } + } else if((a - first) <= (b - a)) { + if(1 < (a - first)) { + STACK_PUSH5(ISAd, b, last, limit, trlink); + STACK_PUSH5(ISAd + incr, a, b, next, trlink); + last = a; + } else { + STACK_PUSH5(ISAd, b, last, limit, trlink); + ISAd += incr, first = a, last = b, limit = next; + } + } else { + STACK_PUSH5(ISAd, b, last, limit, trlink); + STACK_PUSH5(ISAd, first, a, limit, trlink); + ISAd += incr, first = a, last = b, limit = next; + } + } else { + if((a - first) <= (b - a)) { + if(1 < (last - b)) { + STACK_PUSH5(ISAd + incr, a, b, next, trlink); + STACK_PUSH5(ISAd, first, a, limit, trlink); + first = b; + } else if(1 < (a - first)) { + STACK_PUSH5(ISAd + incr, a, b, next, trlink); + last = a; + } else { + ISAd += incr, first = a, last = b, limit = next; + } + } else if((last - b) <= (b - a)) { + if(1 < (last - b)) { + STACK_PUSH5(ISAd, first, a, limit, trlink); + STACK_PUSH5(ISAd + incr, a, b, next, trlink); + first = b; + } else { + STACK_PUSH5(ISAd, first, a, limit, trlink); + ISAd += incr, first = a, last = b, limit = next; + } + } else { + STACK_PUSH5(ISAd, first, a, limit, trlink); + STACK_PUSH5(ISAd, b, last, limit, trlink); + ISAd += incr, first = a, last = b, limit = next; + } + } + } else { + if((1 < (b - a)) && (0 <= trlink)) { stack[trlink].d = -1; } + if((a - first) <= (last - b)) { + if(1 < (a - first)) { + STACK_PUSH5(ISAd, b, last, limit, trlink); + last = a; + } else if(1 < (last - b)) { + first = b; + } else { + STACK_POP5(ISAd, first, last, limit, trlink); + } + } else { + if(1 < (last - b)) { + STACK_PUSH5(ISAd, first, a, limit, trlink); + first = b; + } else if(1 < (a - first)) { + last = a; + } else { + STACK_POP5(ISAd, first, last, limit, trlink); + } + } + } + } else { + if(trbudget_check(budget, last - first)) { + limit = tr_ilg(last - first), ISAd += incr; + } else { + if(0 <= trlink) { stack[trlink].d = -1; } + STACK_POP5(ISAd, first, last, limit, trlink); + } + } + } +#undef STACK_SIZE +} + + + +/*---------------------------------------------------------------------------*/ + +/*- Function -*/ + +/* Tandem repeat sort */ +void +trsort(saidx_t *ISA, saidx_t *SA, saidx_t n, saidx_t depth) { + saidx_t *ISAd; + saidx_t *first, *last; + trbudget_t budget; + saidx_t t, skip, unsorted; + + trbudget_init(&budget, tr_ilg(n) * 2 / 3, n); +/* trbudget_init(&budget, tr_ilg(n) * 3 / 4, n); */ + for(ISAd = ISA + depth; -n < *SA; ISAd += ISAd - ISA) { + first = SA; + skip = 0; + unsorted = 0; + do { + if((t = *first) < 0) { first -= t; skip += t; } + else { + if(skip != 0) { *(first + skip) = skip; skip = 0; } + last = SA + ISA[t] + 1; + if(1 < (last - first)) { + budget.count = 0; + tr_introsort(ISA, ISAd, SA, first, last, &budget); + if(budget.count != 0) { unsorted += budget.count; } + else { skip = first - last; } + } else if((last - first) == 1) { + skip = -1; + } + first = last; + } + } while(first < (SA + n)); + if(skip != 0) { *(first + skip) = skip; } + if(unsorted == 0) { break; } + } +} diff --git a/tools/z64compress/src/enc/enc.h b/tools/z64compress/src/enc/enc.h new file mode 100644 index 0000000000..48a24757b9 --- /dev/null +++ b/tools/z64compress/src/enc/enc.h @@ -0,0 +1,50 @@ +#ifndef Z64COMPRESS_ENC_H_INCLUDED +#define Z64COMPRESS_ENC_H_INCLUDED + +int yazenc( + void *src + , unsigned src_sz + , void *dst + , unsigned *dst_sz + , void *_ctx +); +void *yazCtx_new(void); +void yazCtx_free(void *_ctx); +int yazdec(void *_src, void *_dst, unsigned dstSz, unsigned *srcSz); + +int lzoenc( + void *src + , unsigned src_sz + , void *dst + , unsigned *dst_sz + , void *_ctx +); +void *lzoCtx_new(void); +void lzoCtx_free(void *_ctx); + +int uclenc( + void *src + , unsigned src_sz + , void *dst + , unsigned *dst_sz + , void *_ctx +); + +int zx7enc( + void *src + , unsigned src_sz + , void *dst + , unsigned *dst_sz + , void *_ctx +); + +int aplenc( + void *_src + , unsigned src_sz + , void *_dst + , unsigned *dst_sz + , void *_ctx +); + +#endif /* Z64COMPRESS_ENC_H_INCLUDED */ + diff --git a/tools/z64compress/src/enc/lzo.c b/tools/z64compress/src/enc/lzo.c new file mode 100644 index 0000000000..64f79b722b --- /dev/null +++ b/tools/z64compress/src/enc/lzo.c @@ -0,0 +1,55 @@ +#include +#include +#include +#include "lzo/lzoconf.h" +#include "lzo/lzo1x.h" + +void +lzoCtx_free(void *_ctx) +{ + if (!_ctx) + return; + + free(_ctx); +} + +void * +lzoCtx_new(void) +{ + return malloc(LZO1X_999_MEM_COMPRESS); +} + +int +lzoenc( + void *_src + , unsigned src_sz + , void *_dst + , unsigned *dst_sz + , void *_ctx +) +{ + unsigned char *src = _src; + unsigned char *dst = _dst; + unsigned char *wrkmem = _ctx; + lzo_uint result_sz = 0; + + int hlen = 8; /* header length; required due to MM's archives */ + memset(dst, 0, hlen); + memcpy(dst, "LZO0", 4); + dst[4] = (src_sz >> 24); + dst[5] = (src_sz >> 16); + dst[6] = (src_sz >> 8); + dst[7] = (src_sz >> 0); + + if (!wrkmem) + return 1; + + memset(wrkmem, 0, LZO1X_999_MEM_COMPRESS); + + lzo1x_999_compress(src, src_sz, dst + hlen, &result_sz, wrkmem); + + *dst_sz = result_sz + hlen; + + return 0; +} + diff --git a/tools/z64compress/src/enc/lzo/config1x.h b/tools/z64compress/src/enc/lzo/config1x.h new file mode 100644 index 0000000000..f85cb6548d --- /dev/null +++ b/tools/z64compress/src/enc/lzo/config1x.h @@ -0,0 +1,106 @@ +/* config1x.h -- configuration for the LZO1X algorithm + + This file is part of the LZO real-time data compression library. + + Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer + All Rights Reserved. + + The LZO library is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + The LZO library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with the LZO library; see the file COPYING. + If not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + Markus F.X.J. Oberhumer + + http://www.oberhumer.com/opensource/lzo/ + */ + + +/* WARNING: this file should *not* be used by applications. It is + part of the implementation of the library and is subject + to change. + */ + + +#ifndef __LZO_CONFIG1X_H +#define __LZO_CONFIG1X_H 1 + +#if !defined(LZO1X) && !defined(LZO1Y) && !defined(LZO1Z) +# define LZO1X 1 +#endif + +#include "lzo_conf.h" +#if !defined(__LZO_IN_MINILZO) +#include "lzo1x.h" +#endif + + +/*********************************************************************** +// +************************************************************************/ + +#ifndef LZO_EOF_CODE +#define LZO_EOF_CODE 1 +#endif +#undef LZO_DETERMINISTIC + +#define M1_MAX_OFFSET 0x0400 +#ifndef M2_MAX_OFFSET +#define M2_MAX_OFFSET 0x0800 +#endif +#define M3_MAX_OFFSET 0x4000 +#define M4_MAX_OFFSET 0xbfff + +#define MX_MAX_OFFSET (M1_MAX_OFFSET + M2_MAX_OFFSET) + +#define M1_MIN_LEN 2 +#define M1_MAX_LEN 2 +#define M2_MIN_LEN 3 +#ifndef M2_MAX_LEN +#define M2_MAX_LEN 8 +#endif +#define M3_MIN_LEN 3 +#define M3_MAX_LEN 33 +#define M4_MIN_LEN 3 +#define M4_MAX_LEN 9 + +#define M1_MARKER 0 +#define M2_MARKER 64 +#define M3_MARKER 32 +#define M4_MARKER 16 + + +/*********************************************************************** +// +************************************************************************/ + +#ifndef MIN_LOOKAHEAD +#define MIN_LOOKAHEAD (M2_MAX_LEN + 1) +#endif + +#if defined(LZO_NEED_DICT_H) + +#ifndef LZO_HASH +#define LZO_HASH LZO_HASH_LZO_INCREMENTAL_B +#endif +#define DL_MIN_LEN M2_MIN_LEN +#include "lzo_dict.h" + +#endif + + + +#endif /* already included */ + + +/* vim:set ts=4 sw=4 et: */ diff --git a/tools/z64compress/src/enc/lzo/lzo1_d.ch b/tools/z64compress/src/enc/lzo/lzo1_d.ch new file mode 100644 index 0000000000..bedc7ce8c4 --- /dev/null +++ b/tools/z64compress/src/enc/lzo/lzo1_d.ch @@ -0,0 +1,156 @@ +/* lzo1_d.ch -- common decompression stuff + + This file is part of the LZO real-time data compression library. + + Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer + All Rights Reserved. + + The LZO library is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + The LZO library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with the LZO library; see the file COPYING. + If not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + Markus F.X.J. Oberhumer + + http://www.oberhumer.com/opensource/lzo/ + */ + + + +#if defined(LZO_TEST_OVERRUN) +# if !defined(LZO_TEST_OVERRUN_INPUT) +# define LZO_TEST_OVERRUN_INPUT 2 +# endif +# if !defined(LZO_TEST_OVERRUN_OUTPUT) +# define LZO_TEST_OVERRUN_OUTPUT 2 +# endif +# if !defined(LZO_TEST_OVERRUN_LOOKBEHIND) +# define LZO_TEST_OVERRUN_LOOKBEHIND 1 +# endif +#endif + + +/*********************************************************************** +// Overrun detection is internally handled by these macros: +// +// TEST_IP test input overrun at loop begin +// NEED_IP test input overrun at every input byte +// +// TEST_OP test output overrun at loop begin +// NEED_OP test output overrun at every output byte +// +// TEST_LB test match position +// +// The fastest decompressor results when testing for no overruns +// and using LZO_EOF_CODE. +************************************************************************/ + +#undef TEST_IP +#undef TEST_OP +#undef TEST_IP_AND_TEST_OP +#undef TEST_LB +#undef TEST_LBO +#undef NEED_IP +#undef NEED_OP +#undef TEST_IV +#undef TEST_OV +#undef HAVE_TEST_IP +#undef HAVE_TEST_OP +#undef HAVE_NEED_IP +#undef HAVE_NEED_OP +#undef HAVE_ANY_IP +#undef HAVE_ANY_OP + + +#if defined(LZO_TEST_OVERRUN_INPUT) +# if (LZO_TEST_OVERRUN_INPUT >= 1) +# define TEST_IP (ip < ip_end) +# endif +# if (LZO_TEST_OVERRUN_INPUT >= 2) +# define NEED_IP(x) \ + if ((lzo_uint)(ip_end - ip) < (lzo_uint)(x)) goto input_overrun +# define TEST_IV(x) if ((x) > (lzo_uint)0 - (511)) goto input_overrun +# endif +#endif + +#if defined(LZO_TEST_OVERRUN_OUTPUT) +# if (LZO_TEST_OVERRUN_OUTPUT >= 1) +# define TEST_OP (op <= op_end) +# endif +# if (LZO_TEST_OVERRUN_OUTPUT >= 2) +# undef TEST_OP /* don't need both of the tests here */ +# define NEED_OP(x) \ + if ((lzo_uint)(op_end - op) < (lzo_uint)(x)) goto output_overrun +# define TEST_OV(x) if ((x) > (lzo_uint)0 - (511)) goto output_overrun +# endif +#endif + +#if defined(LZO_TEST_OVERRUN_LOOKBEHIND) +# define TEST_LB(m_pos) if (PTR_LT(m_pos,out) || PTR_GE(m_pos,op)) goto lookbehind_overrun +# define TEST_LBO(m_pos,o) if (PTR_LT(m_pos,out) || PTR_GE(m_pos,op-(o))) goto lookbehind_overrun +#else +# define TEST_LB(m_pos) ((void) 0) +# define TEST_LBO(m_pos,o) ((void) 0) +#endif + + +#if !defined(LZO_EOF_CODE) && !defined(TEST_IP) + /* if we have no EOF code, we have to test for the end of the input */ +# define TEST_IP (ip < ip_end) +#endif + + +#if defined(TEST_IP) +# define HAVE_TEST_IP 1 +#else +# define TEST_IP 1 +#endif +#if defined(TEST_OP) +# define HAVE_TEST_OP 1 +#else +# define TEST_OP 1 +#endif + +#if defined(HAVE_TEST_IP) && defined(HAVE_TEST_OP) +# define TEST_IP_AND_TEST_OP (TEST_IP && TEST_OP) +#elif defined(HAVE_TEST_IP) +# define TEST_IP_AND_TEST_OP TEST_IP +#elif defined(HAVE_TEST_OP) +# define TEST_IP_AND_TEST_OP TEST_OP +#else +# define TEST_IP_AND_TEST_OP 1 +#endif + +#if defined(NEED_IP) +# define HAVE_NEED_IP 1 +#else +# define NEED_IP(x) ((void) 0) +# define TEST_IV(x) ((void) 0) +#endif +#if defined(NEED_OP) +# define HAVE_NEED_OP 1 +#else +# define NEED_OP(x) ((void) 0) +# define TEST_OV(x) ((void) 0) +#endif + + +#if defined(HAVE_TEST_IP) || defined(HAVE_NEED_IP) +# define HAVE_ANY_IP 1 +#endif +#if defined(HAVE_TEST_OP) || defined(HAVE_NEED_OP) +# define HAVE_ANY_OP 1 +#endif + + +/* vim:set ts=4 sw=4 et: */ diff --git a/tools/z64compress/src/enc/lzo/lzo1x.h b/tools/z64compress/src/enc/lzo/lzo1x.h new file mode 100644 index 0000000000..a111514072 --- /dev/null +++ b/tools/z64compress/src/enc/lzo/lzo1x.h @@ -0,0 +1,165 @@ +/* lzo1x.h -- public interface of the LZO1X compression algorithm + + This file is part of the LZO real-time data compression library. + + Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer + All Rights Reserved. + + The LZO library is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + The LZO library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with the LZO library; see the file COPYING. + If not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + Markus F.X.J. Oberhumer + + http://www.oberhumer.com/opensource/lzo/ + */ + + +#ifndef __LZO1X_H_INCLUDED +#define __LZO1X_H_INCLUDED 1 + +#ifndef __LZOCONF_H_INCLUDED +#include +#endif + +#ifdef __cplusplus +extern "C" { +#endif + + +/*********************************************************************** +// +************************************************************************/ + +/* Memory required for the wrkmem parameter. + * When the required size is 0, you can also pass a NULL pointer. + */ + +#define LZO1X_MEM_COMPRESS LZO1X_1_MEM_COMPRESS +#define LZO1X_MEM_DECOMPRESS (0) +#define LZO1X_MEM_OPTIMIZE (0) + + +/* decompression */ +LZO_EXTERN(int) +lzo1x_decompress ( const lzo_bytep src, lzo_uint src_len, + lzo_bytep dst, lzo_uintp dst_len, + lzo_voidp wrkmem /* NOT USED */ ); + +/* safe decompression with overrun testing */ +LZO_EXTERN(int) +lzo1x_decompress_safe ( const lzo_bytep src, lzo_uint src_len, + lzo_bytep dst, lzo_uintp dst_len, + lzo_voidp wrkmem /* NOT USED */ ); + + +/*********************************************************************** +// +************************************************************************/ + +#define LZO1X_1_MEM_COMPRESS ((lzo_uint32_t) (16384L * lzo_sizeof_dict_t)) + +LZO_EXTERN(int) +lzo1x_1_compress ( const lzo_bytep src, lzo_uint src_len, + lzo_bytep dst, lzo_uintp dst_len, + lzo_voidp wrkmem ); + + +/*********************************************************************** +// special compressor versions +************************************************************************/ + +/* this version needs only 8 KiB work memory */ +#define LZO1X_1_11_MEM_COMPRESS ((lzo_uint32_t) (2048L * lzo_sizeof_dict_t)) + +LZO_EXTERN(int) +lzo1x_1_11_compress ( const lzo_bytep src, lzo_uint src_len, + lzo_bytep dst, lzo_uintp dst_len, + lzo_voidp wrkmem ); + + +/* this version needs 16 KiB work memory */ +#define LZO1X_1_12_MEM_COMPRESS ((lzo_uint32_t) (4096L * lzo_sizeof_dict_t)) + +LZO_EXTERN(int) +lzo1x_1_12_compress ( const lzo_bytep src, lzo_uint src_len, + lzo_bytep dst, lzo_uintp dst_len, + lzo_voidp wrkmem ); + + +/* use this version if you need a little more compression speed */ +#define LZO1X_1_15_MEM_COMPRESS ((lzo_uint32_t) (32768L * lzo_sizeof_dict_t)) + +LZO_EXTERN(int) +lzo1x_1_15_compress ( const lzo_bytep src, lzo_uint src_len, + lzo_bytep dst, lzo_uintp dst_len, + lzo_voidp wrkmem ); + + +/*********************************************************************** +// better compression ratio at the cost of more memory and time +************************************************************************/ + +#define LZO1X_999_MEM_COMPRESS ((lzo_uint32_t) (14 * 16384L * sizeof(short))) + +LZO_EXTERN(int) +lzo1x_999_compress ( const lzo_bytep src, lzo_uint src_len, + lzo_bytep dst, lzo_uintp dst_len, + lzo_voidp wrkmem ); + + +/*********************************************************************** +// +************************************************************************/ + +LZO_EXTERN(int) +lzo1x_999_compress_dict ( const lzo_bytep src, lzo_uint src_len, + lzo_bytep dst, lzo_uintp dst_len, + lzo_voidp wrkmem, + const lzo_bytep dict, lzo_uint dict_len ); + +LZO_EXTERN(int) +lzo1x_999_compress_level ( const lzo_bytep src, lzo_uint src_len, + lzo_bytep dst, lzo_uintp dst_len, + lzo_voidp wrkmem, + const lzo_bytep dict, lzo_uint dict_len, + lzo_callback_p cb, + int compression_level ); + +LZO_EXTERN(int) +lzo1x_decompress_dict_safe ( const lzo_bytep src, lzo_uint src_len, + lzo_bytep dst, lzo_uintp dst_len, + lzo_voidp wrkmem /* NOT USED */, + const lzo_bytep dict, lzo_uint dict_len ); + + +/*********************************************************************** +// optimize a compressed data block +************************************************************************/ + +LZO_EXTERN(int) +lzo1x_optimize ( lzo_bytep src, lzo_uint src_len, + lzo_bytep dst, lzo_uintp dst_len, + lzo_voidp wrkmem /* NOT USED */ ); + + + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /* already included */ + + +/* vim:set ts=4 sw=4 et: */ diff --git a/tools/z64compress/src/enc/lzo/lzo1x_1.c b/tools/z64compress/src/enc/lzo/lzo1x_1.c new file mode 100644 index 0000000000..a659393f28 --- /dev/null +++ b/tools/z64compress/src/enc/lzo/lzo1x_1.c @@ -0,0 +1,57 @@ +/* lzo1x_1.c -- LZO1X-1 compression + + This file is part of the LZO real-time data compression library. + + Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer + All Rights Reserved. + + The LZO library is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + The LZO library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with the LZO library; see the file COPYING. + If not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + Markus F.X.J. Oberhumer + + http://www.oberhumer.com/opensource/lzo/ + */ + + +#include "lzo_conf.h" +#if 1 && defined(UA_GET_LE32) +#undef LZO_DICT_USE_PTR +#define LZO_DICT_USE_PTR 0 +#undef lzo_dict_t +#define lzo_dict_t lzo_uint16_t +#endif + +#define LZO_NEED_DICT_H 1 +#ifndef D_BITS +#define D_BITS 14 +#endif +#define D_INDEX1(d,p) d = DM(DMUL(0x21,DX3(p,5,5,6)) >> 5) +#define D_INDEX2(d,p) d = (d & (D_MASK & 0x7ff)) ^ (D_HIGH | 0x1f) +#if 1 +#define DINDEX(dv,p) DM(((DMUL(0x1824429d,dv)) >> (32-D_BITS))) +#else +#define DINDEX(dv,p) DM((dv) + ((dv) >> (32-D_BITS))) +#endif +#include "config1x.h" +#define LZO_DETERMINISTIC !(LZO_DICT_USE_PTR) + +#ifndef DO_COMPRESS +#define DO_COMPRESS lzo1x_1_compress +#endif + +#include "lzo1x_c.ch" + +/* vim:set ts=4 sw=4 et: */ diff --git a/tools/z64compress/src/enc/lzo/lzo1x_9x.c b/tools/z64compress/src/enc/lzo/lzo1x_9x.c new file mode 100644 index 0000000000..39a211e54d --- /dev/null +++ b/tools/z64compress/src/enc/lzo/lzo1x_9x.c @@ -0,0 +1,867 @@ +/* lzo1x_9x.c -- implementation of the LZO1X-999 compression algorithm + + This file is part of the LZO real-time data compression library. + + Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer + All Rights Reserved. + + The LZO library is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + The LZO library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with the LZO library; see the file COPYING. + If not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + Markus F.X.J. Oberhumer + + http://www.oberhumer.com/opensource/lzo/ + */ + + +#if !defined(LZO1X) && !defined(LZO1Y) && !defined(LZO1Z) +# define LZO1X 1 +#endif + +#if defined(LZO1X) +# include "config1x.h" +#elif defined(LZO1Y) +# include "config1y.h" +#elif defined(LZO1Z) +# include "config1z.h" +#else +# error +#endif + + +/*********************************************************************** +// +************************************************************************/ + +#define SWD_N M4_MAX_OFFSET /* size of ring buffer */ +#define SWD_THRESHOLD 1 /* lower limit for match length */ +#define SWD_F 2048 /* upper limit for match length */ + +#define SWD_BEST_OFF (LZO_MAX3( M2_MAX_LEN, M3_MAX_LEN, M4_MAX_LEN ) + 1) + +#if defined(LZO1X) +# define LZO_COMPRESS_T lzo1x_999_t +# define lzo_swd_t lzo1x_999_swd_t +#elif defined(LZO1Y) +# define LZO_COMPRESS_T lzo1y_999_t +# define lzo_swd_t lzo1y_999_swd_t +# define lzo1x_999_compress_internal lzo1y_999_compress_internal +# define lzo1x_999_compress_dict lzo1y_999_compress_dict +# define lzo1x_999_compress_level lzo1y_999_compress_level +# define lzo1x_999_compress lzo1y_999_compress +#elif defined(LZO1Z) +# define LZO_COMPRESS_T lzo1z_999_t +# define lzo_swd_t lzo1z_999_swd_t +# define lzo1x_999_compress_internal lzo1z_999_compress_internal +# define lzo1x_999_compress_dict lzo1z_999_compress_dict +# define lzo1x_999_compress_level lzo1z_999_compress_level +# define lzo1x_999_compress lzo1z_999_compress +#else +# error +#endif + +#if 0 +# define HEAD3(b,p) \ + ((((((lzo_xint)b[p]<<3)^b[p+1])<<3)^b[p+2]) & (SWD_HSIZE-1)) +#endif +#if 0 && (LZO_OPT_UNALIGNED32) && (LZO_ABI_LITTLE_ENDIAN) +# define HEAD3(b,p) \ + (((* (lzo_uint32_tp) &b[p]) ^ ((* (lzo_uint32_tp) &b[p])>>10)) & (SWD_HSIZE-1)) +#endif + +#include "lzo_mchw.ch" + + +/* this is a public functions, but there is no prototype in a header file */ +LZO_EXTERN(int) +lzo1x_999_compress_internal ( const lzo_bytep in , lzo_uint in_len, + lzo_bytep out, lzo_uintp out_len, + lzo_voidp wrkmem, + const lzo_bytep dict, lzo_uint dict_len, + lzo_callback_p cb, + int try_lazy_parm, + lzo_uint good_length, + lzo_uint max_lazy, + lzo_uint nice_length, + lzo_uint max_chain, + lzo_uint32_t flags ); + + +/*********************************************************************** +// +************************************************************************/ + +static lzo_bytep +code_match ( LZO_COMPRESS_T *c, lzo_bytep op, lzo_uint m_len, lzo_uint m_off ) +{ + lzo_uint x_len = m_len; + lzo_uint x_off = m_off; + + c->match_bytes += m_len; + +#if 0 +/* + static lzo_uint last_m_len = 0, last_m_off = 0; + static lzo_uint prev_m_off[4]; + static unsigned prev_m_off_ptr = 0; + unsigned i; + + //if (m_len >= 3 && m_len <= M2_MAX_LEN && m_off <= M2_MAX_OFFSET) + if (m_len >= 3 && m_len <= M2_MAX_LEN) + { + //if (m_len == last_m_len && m_off == last_m_off) + //printf("last_m_len + last_m_off\n"); + //else + if (m_off == last_m_off) + printf("last_m_off\n"); + else + { + for (i = 0; i < 4; i++) + if (m_off == prev_m_off[i]) + printf("prev_m_off %u: %5ld\n",i,(long)m_off); + } + } + last_m_len = m_len; + last_m_off = prev_m_off[prev_m_off_ptr] = m_off; + prev_m_off_ptr = (prev_m_off_ptr + 1) & 3; +*/ +#endif + + assert(op > c->out); + if (m_len == 2) + { + assert(m_off <= M1_MAX_OFFSET); + assert(c->r1_lit > 0); assert(c->r1_lit < 4); + m_off -= 1; +#if defined(LZO1Z) + *op++ = LZO_BYTE(M1_MARKER | (m_off >> 6)); + *op++ = LZO_BYTE(m_off << 2); +#else + *op++ = LZO_BYTE(M1_MARKER | ((m_off & 3) << 2)); + *op++ = LZO_BYTE(m_off >> 2); +#endif + c->m1a_m++; + } +#if defined(LZO1Z) + else if (m_len <= M2_MAX_LEN && (m_off <= M2_MAX_OFFSET || m_off == c->last_m_off)) +#else + else if (m_len <= M2_MAX_LEN && m_off <= M2_MAX_OFFSET) +#endif + { + assert(m_len >= 3); +#if defined(LZO1X) + m_off -= 1; + *op++ = LZO_BYTE(((m_len - 1) << 5) | ((m_off & 7) << 2)); + *op++ = LZO_BYTE(m_off >> 3); + assert(op[-2] >= M2_MARKER); +#elif defined(LZO1Y) + m_off -= 1; + *op++ = LZO_BYTE(((m_len + 1) << 4) | ((m_off & 3) << 2)); + *op++ = LZO_BYTE(m_off >> 2); + assert(op[-2] >= M2_MARKER); +#elif defined(LZO1Z) + if (m_off == c->last_m_off) + *op++ = LZO_BYTE(((m_len - 1) << 5) | (0x700 >> 6)); + else + { + m_off -= 1; + *op++ = LZO_BYTE(((m_len - 1) << 5) | (m_off >> 6)); + *op++ = LZO_BYTE(m_off << 2); + } +#endif + c->m2_m++; + } + else if (m_len == M2_MIN_LEN && m_off <= MX_MAX_OFFSET && c->r1_lit >= 4) + { + assert(m_len == 3); + assert(m_off > M2_MAX_OFFSET); + m_off -= 1 + M2_MAX_OFFSET; +#if defined(LZO1Z) + *op++ = LZO_BYTE(M1_MARKER | (m_off >> 6)); + *op++ = LZO_BYTE(m_off << 2); +#else + *op++ = LZO_BYTE(M1_MARKER | ((m_off & 3) << 2)); + *op++ = LZO_BYTE(m_off >> 2); +#endif + c->m1b_m++; + } + else if (m_off <= M3_MAX_OFFSET) + { + assert(m_len >= 3); + m_off -= 1; + if (m_len <= M3_MAX_LEN) + *op++ = LZO_BYTE(M3_MARKER | (m_len - 2)); + else + { + m_len -= M3_MAX_LEN; + *op++ = M3_MARKER | 0; + while (m_len > 255) + { + m_len -= 255; + *op++ = 0; + } + assert(m_len > 0); + *op++ = LZO_BYTE(m_len); + } +#if defined(LZO1Z) + *op++ = LZO_BYTE(m_off >> 6); + *op++ = LZO_BYTE(m_off << 2); +#else + *op++ = LZO_BYTE(m_off << 2); + *op++ = LZO_BYTE(m_off >> 6); +#endif + c->m3_m++; + } + else + { + lzo_uint k; + + assert(m_len >= 3); + assert(m_off > 0x4000); assert(m_off <= 0xbfff); + m_off -= 0x4000; + k = (m_off & 0x4000) >> 11; + if (m_len <= M4_MAX_LEN) + *op++ = LZO_BYTE(M4_MARKER | k | (m_len - 2)); + else + { + m_len -= M4_MAX_LEN; + *op++ = LZO_BYTE(M4_MARKER | k | 0); + while (m_len > 255) + { + m_len -= 255; + *op++ = 0; + } + assert(m_len > 0); + *op++ = LZO_BYTE(m_len); + } +#if defined(LZO1Z) + *op++ = LZO_BYTE(m_off >> 6); + *op++ = LZO_BYTE(m_off << 2); +#else + *op++ = LZO_BYTE(m_off << 2); + *op++ = LZO_BYTE(m_off >> 6); +#endif + c->m4_m++; + } + + c->last_m_len = x_len; + c->last_m_off = x_off; + return op; +} + + +static lzo_bytep +STORE_RUN ( LZO_COMPRESS_T *c, lzo_bytep op, const lzo_bytep ii, lzo_uint t ) +{ + c->lit_bytes += t; + + if (op == c->out && t <= 238) + { + *op++ = LZO_BYTE(17 + t); + } + else if (t <= 3) + { +#if defined(LZO1Z) + op[-1] = LZO_BYTE(op[-1] | t); +#else + op[-2] = LZO_BYTE(op[-2] | t); +#endif + c->lit1_r++; + } + else if (t <= 18) + { + *op++ = LZO_BYTE(t - 3); + c->lit2_r++; + } + else + { + lzo_uint tt = t - 18; + + *op++ = 0; + while (tt > 255) + { + tt -= 255; + *op++ = 0; + } + assert(tt > 0); + *op++ = LZO_BYTE(tt); + c->lit3_r++; + } + do *op++ = *ii++; while (--t > 0); + + return op; +} + + +static lzo_bytep +code_run ( LZO_COMPRESS_T *c, lzo_bytep op, const lzo_bytep ii, + lzo_uint lit, lzo_uint m_len ) +{ + if (lit > 0) + { + assert(m_len >= 2); + op = STORE_RUN(c,op,ii,lit); + c->r1_m_len = m_len; + c->r1_lit = lit; + } + else + { + assert(m_len >= 3); + c->r1_m_len = 0; + c->r1_lit = 0; + } + + return op; +} + + +/*********************************************************************** +// +************************************************************************/ + +static lzo_uint +len_of_coded_match ( lzo_uint m_len, lzo_uint m_off, lzo_uint lit ) +{ + lzo_uint n = 4; + + if (m_len < 2) + return 0; + if (m_len == 2) + return (m_off <= M1_MAX_OFFSET && lit > 0 && lit < 4) ? 2 : 0; + if (m_len <= M2_MAX_LEN && m_off <= M2_MAX_OFFSET) + return 2; + if (m_len == M2_MIN_LEN && m_off <= MX_MAX_OFFSET && lit >= 4) + return 2; + if (m_off <= M3_MAX_OFFSET) + { + if (m_len <= M3_MAX_LEN) + return 3; + m_len -= M3_MAX_LEN; + while (m_len > 255) + { + m_len -= 255; + n++; + } + return n; + } + if (m_off <= M4_MAX_OFFSET) + { + if (m_len <= M4_MAX_LEN) + return 3; + m_len -= M4_MAX_LEN; + while (m_len > 255) + { + m_len -= 255; + n++; + } + return n; + } + return 0; +} + + +static lzo_uint +min_gain(lzo_uint ahead, lzo_uint lit1, lzo_uint lit2, lzo_uint l1, lzo_uint l2, lzo_uint l3) +{ + lzo_uint lazy_match_min_gain; + + assert (ahead >= 1); + lazy_match_min_gain = ahead; + +#if 0 + if (l3) + lit2 -= ahead; +#endif + + if (lit1 <= 3) + lazy_match_min_gain += (lit2 <= 3) ? 0 : 2; + else if (lit1 <= 18) + lazy_match_min_gain += (lit2 <= 18) ? 0 : 1; + + lazy_match_min_gain += (l2 - l1) * 2; + if (l3) + lazy_match_min_gain -= (ahead - l3) * 2; + + if ((lzo_int) lazy_match_min_gain < 0) + lazy_match_min_gain = 0; + +#if 0 + if (l1 == 2) + if (lazy_match_min_gain == 0) + lazy_match_min_gain = 1; +#endif + + return lazy_match_min_gain; +} + + +/*********************************************************************** +// +************************************************************************/ + +#if !defined(NDEBUG) +static +void assert_match( const lzo_swd_p swd, lzo_uint m_len, lzo_uint m_off ) +{ + const LZO_COMPRESS_T *c = swd->c; + lzo_uint d_off; + + assert(m_len >= 2); + if (m_off <= (lzo_uint) (c->bp - c->in)) + { + assert(c->bp - m_off + m_len < c->ip); + assert(lzo_memcmp(c->bp, c->bp - m_off, m_len) == 0); + } + else + { + assert(swd->dict != NULL); + d_off = m_off - (lzo_uint) (c->bp - c->in); + assert(d_off <= swd->dict_len); + if (m_len > d_off) + { + assert(lzo_memcmp(c->bp, swd->dict_end - d_off, d_off) == 0); + assert(c->in + m_len - d_off < c->ip); + assert(lzo_memcmp(c->bp + d_off, c->in, m_len - d_off) == 0); + } + else + { + assert(lzo_memcmp(c->bp, swd->dict_end - d_off, m_len) == 0); + } + } +} +#else +# define assert_match(a,b,c) ((void)0) +#endif + + +#if defined(SWD_BEST_OFF) + +static void +better_match ( const lzo_swd_p swd, lzo_uint *m_len, lzo_uint *m_off ) +{ +#if defined(LZO1Z) + const LZO_COMPRESS_T *c = swd->c; +#endif + + if (*m_len <= M2_MIN_LEN) + return; +#if defined(LZO1Z) + if (*m_off == c->last_m_off && *m_len <= M2_MAX_LEN) + return; +#if 1 + if (*m_len >= M2_MIN_LEN + 1 && *m_len <= M2_MAX_LEN + 1 && + c->last_m_off && swd->best_off[*m_len-1] == c->last_m_off) + { + *m_len = *m_len - 1; + *m_off = swd->best_off[*m_len]; + return; + } +#endif +#endif + + if (*m_off <= M2_MAX_OFFSET) + return; + +#if 1 + /* M3/M4 -> M2 */ + if (*m_off > M2_MAX_OFFSET && + *m_len >= M2_MIN_LEN + 1 && *m_len <= M2_MAX_LEN + 1 && + swd->best_off[*m_len-1] && swd->best_off[*m_len-1] <= M2_MAX_OFFSET) + { + *m_len = *m_len - 1; + *m_off = swd->best_off[*m_len]; + return; + } +#endif + +#if 1 + /* M4 -> M2 */ + if (*m_off > M3_MAX_OFFSET && + *m_len >= M4_MAX_LEN + 1 && *m_len <= M2_MAX_LEN + 2 && + swd->best_off[*m_len-2] && swd->best_off[*m_len-2] <= M2_MAX_OFFSET) + { + *m_len = *m_len - 2; + *m_off = swd->best_off[*m_len]; + return; + } +#endif + +#if 1 + /* M4 -> M3 */ + if (*m_off > M3_MAX_OFFSET && + *m_len >= M4_MAX_LEN + 1 && *m_len <= M3_MAX_LEN + 1 && + swd->best_off[*m_len-1] && swd->best_off[*m_len-1] <= M3_MAX_OFFSET) + { + *m_len = *m_len - 1; + *m_off = swd->best_off[*m_len]; + } +#endif +} + +#endif + + +/*********************************************************************** +// +************************************************************************/ + +LZO_PUBLIC(int) +lzo1x_999_compress_internal ( const lzo_bytep in , lzo_uint in_len, + lzo_bytep out, lzo_uintp out_len, + lzo_voidp wrkmem, + const lzo_bytep dict, lzo_uint dict_len, + lzo_callback_p cb, + int try_lazy_parm, + lzo_uint good_length, + lzo_uint max_lazy, + lzo_uint nice_length, + lzo_uint max_chain, + lzo_uint32_t flags ) +{ + lzo_bytep op; + const lzo_bytep ii; + lzo_uint lit; + lzo_uint m_len, m_off; + LZO_COMPRESS_T cc; + LZO_COMPRESS_T * const c = &cc; + lzo_swd_p const swd = (lzo_swd_p) wrkmem; + lzo_uint try_lazy; + int r; + + /* sanity check */ +#if defined(LZO1X) + LZO_COMPILE_TIME_ASSERT(LZO1X_999_MEM_COMPRESS >= SIZEOF_LZO_SWD_T) +#elif defined(LZO1Y) + LZO_COMPILE_TIME_ASSERT(LZO1Y_999_MEM_COMPRESS >= SIZEOF_LZO_SWD_T) +#elif defined(LZO1Z) + LZO_COMPILE_TIME_ASSERT(LZO1Z_999_MEM_COMPRESS >= SIZEOF_LZO_SWD_T) +#else +# error +#endif + +/* setup parameter defaults */ + /* number of lazy match tries */ + try_lazy = (lzo_uint) try_lazy_parm; + if (try_lazy_parm < 0) + try_lazy = 1; + /* reduce lazy match search if we already have a match with this length */ + if (good_length == 0) + good_length = 32; + /* do not try a lazy match if we already have a match with this length */ + if (max_lazy == 0) + max_lazy = 32; + /* stop searching for longer matches than this one */ + if (nice_length == 0) + nice_length = 0; + /* don't search more positions than this */ + if (max_chain == 0) + max_chain = SWD_MAX_CHAIN; + + c->init = 0; + c->ip = c->in = in; + c->in_end = in + in_len; + c->out = out; + c->cb = cb; + c->m1a_m = c->m1b_m = c->m2_m = c->m3_m = c->m4_m = 0; + c->lit1_r = c->lit2_r = c->lit3_r = 0; + + op = out; + ii = c->ip; /* point to start of literal run */ + lit = 0; + c->r1_lit = c->r1_m_len = 0; + + r = init_match(c,swd,dict,dict_len,flags); + if (r != 0) + return r; + if (max_chain > 0) + swd->max_chain = max_chain; + if (nice_length > 0) + swd->nice_length = nice_length; + + r = find_match(c,swd,0,0); + if (r != 0) + return r; + while (c->look > 0) + { + lzo_uint ahead; + lzo_uint max_ahead; + lzo_uint l1, l2, l3; + + c->codesize = pd(op, out); + + m_len = c->m_len; + m_off = c->m_off; + + assert(c->bp == c->ip - c->look); + assert(c->bp >= in); + if (lit == 0) + ii = c->bp; + assert(ii + lit == c->bp); + assert(swd->b_char == *(c->bp)); + + if ( m_len < 2 || + (m_len == 2 && (m_off > M1_MAX_OFFSET || lit == 0 || lit >= 4)) || +#if 1 + /* Do not accept this match for compressed-data compatibility + * with LZO v1.01 and before + * [ might be a problem for decompress() and optimize() ] + */ + (m_len == 2 && op == out) || +#endif + (op == out && lit == 0)) + { + /* a literal */ + m_len = 0; + } + else if (m_len == M2_MIN_LEN) + { + /* compression ratio improves if we code a literal in some cases */ + if (m_off > MX_MAX_OFFSET && lit >= 4) + m_len = 0; + } + + if (m_len == 0) + { + /* a literal */ + lit++; + swd->max_chain = max_chain; + r = find_match(c,swd,1,0); + assert(r == 0); LZO_UNUSED(r); + continue; + } + + /* a match */ +#if defined(SWD_BEST_OFF) + if (swd->use_best_off) + better_match(swd,&m_len,&m_off); +#endif + assert_match(swd,m_len,m_off); + + + /* shall we try a lazy match ? */ + ahead = 0; + if (try_lazy == 0 || m_len >= max_lazy) + { + /* no */ + l1 = 0; + max_ahead = 0; + } + else + { + /* yes, try a lazy match */ + l1 = len_of_coded_match(m_len,m_off,lit); + assert(l1 > 0); +#if 1 + max_ahead = LZO_MIN(try_lazy, l1 - 1); +#else + max_ahead = LZO_MIN3(try_lazy, l1, m_len - 1); +#endif + } + + + while (ahead < max_ahead && c->look > m_len) + { + lzo_uint lazy_match_min_gain; + + if (m_len >= good_length) + swd->max_chain = max_chain >> 2; + else + swd->max_chain = max_chain; + r = find_match(c,swd,1,0); + ahead++; + + assert(r == 0); LZO_UNUSED(r); + assert(c->look > 0); + assert(ii + lit + ahead == c->bp); + +#if defined(LZO1Z) + if (m_off == c->last_m_off && c->m_off != c->last_m_off) + if (m_len >= M2_MIN_LEN && m_len <= M2_MAX_LEN) + c->m_len = 0; +#endif + if (c->m_len < m_len) + continue; +#if 1 + if (c->m_len == m_len && c->m_off >= m_off) + continue; +#endif +#if defined(SWD_BEST_OFF) + if (swd->use_best_off) + better_match(swd,&c->m_len,&c->m_off); +#endif + l2 = len_of_coded_match(c->m_len,c->m_off,lit+ahead); + if (l2 == 0) + continue; +#if 0 + if (c->m_len == m_len && l2 >= l1) + continue; +#endif + + +#if 1 + /* compressed-data compatibility [see above] */ + l3 = (op == out) ? 0 : len_of_coded_match(ahead,m_off,lit); +#else + l3 = len_of_coded_match(ahead,m_off,lit); +#endif + + lazy_match_min_gain = min_gain(ahead,lit,lit+ahead,l1,l2,l3); + if (c->m_len >= m_len + lazy_match_min_gain) + { + c->lazy++; + assert_match(swd,c->m_len,c->m_off); + + if (l3) + { + /* code previous run */ + op = code_run(c,op,ii,lit,ahead); + lit = 0; + /* code shortened match */ + op = code_match(c,op,ahead,m_off); + } + else + { + lit += ahead; + assert(ii + lit == c->bp); + } + goto lazy_match_done; + } + } + + + assert(ii + lit + ahead == c->bp); + + /* 1 - code run */ + op = code_run(c,op,ii,lit,m_len); + lit = 0; + + /* 2 - code match */ + op = code_match(c,op,m_len,m_off); + swd->max_chain = max_chain; + r = find_match(c,swd,m_len,1+ahead); + assert(r == 0); LZO_UNUSED(r); + +lazy_match_done: ; + } + + + /* store final run */ + if (lit > 0) + op = STORE_RUN(c,op,ii,lit); + +#if defined(LZO_EOF_CODE) + *op++ = M4_MARKER | 1; + *op++ = 0; + *op++ = 0; +#endif + + c->codesize = pd(op, out); + assert(c->textsize == in_len); + + *out_len = pd(op, out); + + if (c->cb && c->cb->nprogress) + (*c->cb->nprogress)(c->cb, c->textsize, c->codesize, 0); + +#if 0 + printf("%ld %ld -> %ld %ld: %ld %ld %ld %ld %ld %ld: %ld %ld %ld %ld\n", + (long) c->textsize, (long) in_len, (long) c->codesize, + c->match_bytes, c->m1a_m, c->m1b_m, c->m2_m, c->m3_m, c->m4_m, + c->lit_bytes, c->lit1_r, c->lit2_r, c->lit3_r, c->lazy); +#endif + assert(c->lit_bytes + c->match_bytes == in_len); + + return LZO_E_OK; +} + + +/*********************************************************************** +// +************************************************************************/ + +LZO_PUBLIC(int) +lzo1x_999_compress_level ( const lzo_bytep in , lzo_uint in_len, + lzo_bytep out, lzo_uintp out_len, + lzo_voidp wrkmem, + const lzo_bytep dict, lzo_uint dict_len, + lzo_callback_p cb, + int compression_level ) +{ + static const struct + { + int try_lazy_parm; + lzo_uint good_length; + lzo_uint max_lazy; + lzo_uint nice_length; + lzo_uint max_chain; + lzo_uint32_t flags; + } c[9] = { + /* faster compression */ + { 0, 0, 0, 8, 4, 0 }, + { 0, 0, 0, 16, 8, 0 }, + { 0, 0, 0, 32, 16, 0 }, + { 1, 4, 4, 16, 16, 0 }, + { 1, 8, 16, 32, 32, 0 }, + { 1, 8, 16, 128, 128, 0 }, + { 2, 8, 32, 128, 256, 0 }, + { 2, 32, 128, SWD_F, 2048, 1 }, + { 2, SWD_F, SWD_F, SWD_F, 4096, 1 } + /* max. compression */ + }; + + if (compression_level < 1 || compression_level > 9) + return LZO_E_ERROR; + + compression_level -= 1; + return lzo1x_999_compress_internal(in, in_len, out, out_len, wrkmem, + dict, dict_len, cb, + c[compression_level].try_lazy_parm, + c[compression_level].good_length, + c[compression_level].max_lazy, +#if 0 + c[compression_level].nice_length, +#else + 0, +#endif + c[compression_level].max_chain, + c[compression_level].flags); +} + + +/*********************************************************************** +// +************************************************************************/ + +LZO_PUBLIC(int) +lzo1x_999_compress_dict ( const lzo_bytep in , lzo_uint in_len, + lzo_bytep out, lzo_uintp out_len, + lzo_voidp wrkmem, + const lzo_bytep dict, lzo_uint dict_len ) +{ + return lzo1x_999_compress_level(in, in_len, out, out_len, wrkmem, + dict, dict_len, 0, 8); +} + +LZO_PUBLIC(int) +lzo1x_999_compress ( const lzo_bytep in , lzo_uint in_len, + lzo_bytep out, lzo_uintp out_len, + lzo_voidp wrkmem ) +{ + return lzo1x_999_compress_level(in, in_len, out, out_len, wrkmem, + NULL, 0, (lzo_callback_p) 0, 9/*ootntsc10: 9 saves 2580 bytes over 8*/); +} + + +/* vim:set ts=4 sw=4 et: */ diff --git a/tools/z64compress/src/enc/lzo/lzo1x_c.ch b/tools/z64compress/src/enc/lzo/lzo1x_c.ch new file mode 100644 index 0000000000..be19b2b741 --- /dev/null +++ b/tools/z64compress/src/enc/lzo/lzo1x_c.ch @@ -0,0 +1,403 @@ +/* lzo1x_c.ch -- implementation of the LZO1[XY]-1 compression algorithm + + This file is part of the LZO real-time data compression library. + + Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer + All Rights Reserved. + + The LZO library is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + The LZO library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with the LZO library; see the file COPYING. + If not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + Markus F.X.J. Oberhumer + + http://www.oberhumer.com/opensource/lzo/ + */ + + + +#if 1 && defined(DO_COMPRESS) && !defined(do_compress) + /* choose a unique name to better help PGO optimizations */ +# define do_compress LZO_PP_ECONCAT2(DO_COMPRESS,_core) +#endif + + +/*********************************************************************** +// compress a block of data. +************************************************************************/ + +static __lzo_noinline lzo_uint +do_compress ( const lzo_bytep in , lzo_uint in_len, + lzo_bytep out, lzo_uintp out_len, + lzo_uint ti, lzo_voidp wrkmem) +{ + const lzo_bytep ip; + lzo_bytep op; + const lzo_bytep const in_end = in + in_len; + const lzo_bytep const ip_end = in + in_len - 20; + const lzo_bytep ii; + lzo_dict_p const dict = (lzo_dict_p) wrkmem; + + op = out; + ip = in; + ii = ip; + + ip += ti < 4 ? 4 - ti : 0; + for (;;) + { + const lzo_bytep m_pos; +#if !(LZO_DETERMINISTIC) + LZO_DEFINE_UNINITIALIZED_VAR(lzo_uint, m_off, 0); + lzo_uint m_len; + lzo_uint dindex; +next: + if __lzo_unlikely(ip >= ip_end) + break; + DINDEX1(dindex,ip); + GINDEX(m_pos,m_off,dict,dindex,in); + if (LZO_CHECK_MPOS_NON_DET(m_pos,m_off,in,ip,M4_MAX_OFFSET)) + goto literal; +#if 1 + if (m_off <= M2_MAX_OFFSET || m_pos[3] == ip[3]) + goto try_match; + DINDEX2(dindex,ip); +#endif + GINDEX(m_pos,m_off,dict,dindex,in); + if (LZO_CHECK_MPOS_NON_DET(m_pos,m_off,in,ip,M4_MAX_OFFSET)) + goto literal; + if (m_off <= M2_MAX_OFFSET || m_pos[3] == ip[3]) + goto try_match; + goto literal; + +try_match: +#if (LZO_OPT_UNALIGNED32) + if (UA_GET_NE32(m_pos) != UA_GET_NE32(ip)) +#else + if (m_pos[0] != ip[0] || m_pos[1] != ip[1] || m_pos[2] != ip[2] || m_pos[3] != ip[3]) +#endif + { + /* a literal */ +literal: + UPDATE_I(dict,0,dindex,ip,in); + ip += 1 + ((ip - ii) >> 5); + continue; + } +/*match:*/ + UPDATE_I(dict,0,dindex,ip,in); +#else + lzo_uint m_off; + lzo_uint m_len; + { + lzo_uint32_t dv; + lzo_uint dindex; +literal: + ip += 1 + ((ip - ii) >> 5); +next: + if __lzo_unlikely(ip >= ip_end) + break; + dv = UA_GET_LE32(ip); + dindex = DINDEX(dv,ip); + GINDEX(m_off,m_pos,in+dict,dindex,in); + UPDATE_I(dict,0,dindex,ip,in); + if __lzo_unlikely(dv != UA_GET_LE32(m_pos)) + goto literal; + } +#endif + + /* a match */ + + ii -= ti; ti = 0; + { + lzo_uint t = pd(ip,ii); + if (t != 0) + { + if (t <= 3) + { + op[-2] = LZO_BYTE(op[-2] | t); +#if (LZO_OPT_UNALIGNED32) + UA_COPY4(op, ii); + op += t; +#else + { do *op++ = *ii++; while (--t > 0); } +#endif + } +#if (LZO_OPT_UNALIGNED32) || (LZO_OPT_UNALIGNED64) + else if (t <= 16) + { + *op++ = LZO_BYTE(t - 3); + UA_COPY8(op, ii); + UA_COPY8(op+8, ii+8); + op += t; + } +#endif + else + { + if (t <= 18) + *op++ = LZO_BYTE(t - 3); + else + { + lzo_uint tt = t - 18; + *op++ = 0; + while __lzo_unlikely(tt > 255) + { + tt -= 255; + UA_SET1(op, 0); + op++; + } + assert(tt > 0); + *op++ = LZO_BYTE(tt); + } +#if (LZO_OPT_UNALIGNED32) || (LZO_OPT_UNALIGNED64) + do { + UA_COPY8(op, ii); + UA_COPY8(op+8, ii+8); + op += 16; ii += 16; t -= 16; + } while (t >= 16); if (t > 0) +#endif + { do *op++ = *ii++; while (--t > 0); } + } + } + } + m_len = 4; + { +#if (LZO_OPT_UNALIGNED64) + lzo_uint64_t v; + v = UA_GET_NE64(ip + m_len) ^ UA_GET_NE64(m_pos + m_len); + if __lzo_unlikely(v == 0) { + do { + m_len += 8; + v = UA_GET_NE64(ip + m_len) ^ UA_GET_NE64(m_pos + m_len); + if __lzo_unlikely(ip + m_len >= ip_end) + goto m_len_done; + } while (v == 0); + } +#if (LZO_ABI_BIG_ENDIAN) && defined(lzo_bitops_ctlz64) + m_len += lzo_bitops_ctlz64(v) / CHAR_BIT; +#elif (LZO_ABI_BIG_ENDIAN) + if ((v >> (64 - CHAR_BIT)) == 0) do { + v <<= CHAR_BIT; + m_len += 1; + } while ((v >> (64 - CHAR_BIT)) == 0); +#elif (LZO_ABI_LITTLE_ENDIAN) && defined(lzo_bitops_cttz64) + m_len += lzo_bitops_cttz64(v) / CHAR_BIT; +#elif (LZO_ABI_LITTLE_ENDIAN) + if ((v & UCHAR_MAX) == 0) do { + v >>= CHAR_BIT; + m_len += 1; + } while ((v & UCHAR_MAX) == 0); +#else + if (ip[m_len] == m_pos[m_len]) do { + m_len += 1; + } while (ip[m_len] == m_pos[m_len]); +#endif +#elif (LZO_OPT_UNALIGNED32) + lzo_uint32_t v; + v = UA_GET_NE32(ip + m_len) ^ UA_GET_NE32(m_pos + m_len); + if __lzo_unlikely(v == 0) { + do { + m_len += 4; + v = UA_GET_NE32(ip + m_len) ^ UA_GET_NE32(m_pos + m_len); + if (v != 0) + break; + m_len += 4; + v = UA_GET_NE32(ip + m_len) ^ UA_GET_NE32(m_pos + m_len); + if __lzo_unlikely(ip + m_len >= ip_end) + goto m_len_done; + } while (v == 0); + } +#if (LZO_ABI_BIG_ENDIAN) && defined(lzo_bitops_ctlz32) + m_len += lzo_bitops_ctlz32(v) / CHAR_BIT; +#elif (LZO_ABI_BIG_ENDIAN) + if ((v >> (32 - CHAR_BIT)) == 0) do { + v <<= CHAR_BIT; + m_len += 1; + } while ((v >> (32 - CHAR_BIT)) == 0); +#elif (LZO_ABI_LITTLE_ENDIAN) && defined(lzo_bitops_cttz32) + m_len += lzo_bitops_cttz32(v) / CHAR_BIT; +#elif (LZO_ABI_LITTLE_ENDIAN) + if ((v & UCHAR_MAX) == 0) do { + v >>= CHAR_BIT; + m_len += 1; + } while ((v & UCHAR_MAX) == 0); +#else + if (ip[m_len] == m_pos[m_len]) do { + m_len += 1; + } while (ip[m_len] == m_pos[m_len]); +#endif +#else + if __lzo_unlikely(ip[m_len] == m_pos[m_len]) { + do { + m_len += 1; + if (ip[m_len] != m_pos[m_len]) + break; + m_len += 1; + if (ip[m_len] != m_pos[m_len]) + break; + m_len += 1; + if (ip[m_len] != m_pos[m_len]) + break; + m_len += 1; + if (ip[m_len] != m_pos[m_len]) + break; + m_len += 1; + if (ip[m_len] != m_pos[m_len]) + break; + m_len += 1; + if (ip[m_len] != m_pos[m_len]) + break; + m_len += 1; + if (ip[m_len] != m_pos[m_len]) + break; + m_len += 1; + if __lzo_unlikely(ip + m_len >= ip_end) + goto m_len_done; + } while (ip[m_len] == m_pos[m_len]); + } +#endif + } +m_len_done: + m_off = pd(ip,m_pos); + ip += m_len; + ii = ip; + if (m_len <= M2_MAX_LEN && m_off <= M2_MAX_OFFSET) + { + m_off -= 1; +#if defined(LZO1X) + *op++ = LZO_BYTE(((m_len - 1) << 5) | ((m_off & 7) << 2)); + *op++ = LZO_BYTE(m_off >> 3); +#elif defined(LZO1Y) + *op++ = LZO_BYTE(((m_len + 1) << 4) | ((m_off & 3) << 2)); + *op++ = LZO_BYTE(m_off >> 2); +#endif + } + else if (m_off <= M3_MAX_OFFSET) + { + m_off -= 1; + if (m_len <= M3_MAX_LEN) + *op++ = LZO_BYTE(M3_MARKER | (m_len - 2)); + else + { + m_len -= M3_MAX_LEN; + *op++ = M3_MARKER | 0; + while __lzo_unlikely(m_len > 255) + { + m_len -= 255; + UA_SET1(op, 0); + op++; + } + *op++ = LZO_BYTE(m_len); + } + *op++ = LZO_BYTE(m_off << 2); + *op++ = LZO_BYTE(m_off >> 6); + } + else + { + m_off -= 0x4000; + if (m_len <= M4_MAX_LEN) + *op++ = LZO_BYTE(M4_MARKER | ((m_off >> 11) & 8) | (m_len - 2)); + else + { + m_len -= M4_MAX_LEN; + *op++ = LZO_BYTE(M4_MARKER | ((m_off >> 11) & 8)); + while __lzo_unlikely(m_len > 255) + { + m_len -= 255; + UA_SET1(op, 0); + op++; + } + *op++ = LZO_BYTE(m_len); + } + *op++ = LZO_BYTE(m_off << 2); + *op++ = LZO_BYTE(m_off >> 6); + } + goto next; + } + + *out_len = pd(op, out); + return pd(in_end,ii-ti); +} + + +/*********************************************************************** +// public entry point +************************************************************************/ + +LZO_PUBLIC(int) +DO_COMPRESS ( const lzo_bytep in , lzo_uint in_len, + lzo_bytep out, lzo_uintp out_len, + lzo_voidp wrkmem ) +{ + const lzo_bytep ip = in; + lzo_bytep op = out; + lzo_uint l = in_len; + lzo_uint t = 0; + + while (l > 20) + { + lzo_uint ll = l; + lzo_uintptr_t ll_end; +#if 0 || (LZO_DETERMINISTIC) + ll = LZO_MIN(ll, 49152); +#endif + ll_end = (lzo_uintptr_t)ip + ll; + if ((ll_end + ((t + ll) >> 5)) <= ll_end || (const lzo_bytep)(ll_end + ((t + ll) >> 5)) <= ip + ll) + break; +#if (LZO_DETERMINISTIC) + lzo_memset(wrkmem, 0, ((lzo_uint)1 << D_BITS) * sizeof(lzo_dict_t)); +#endif + t = do_compress(ip,ll,op,out_len,t,wrkmem); + ip += ll; + op += *out_len; + l -= ll; + } + t += l; + + if (t > 0) + { + const lzo_bytep ii = in + in_len - t; + + if (op == out && t <= 238) + *op++ = LZO_BYTE(17 + t); + else if (t <= 3) + op[-2] = LZO_BYTE(op[-2] | t); + else if (t <= 18) + *op++ = LZO_BYTE(t - 3); + else + { + lzo_uint tt = t - 18; + + *op++ = 0; + while (tt > 255) + { + tt -= 255; + UA_SET1(op, 0); + op++; + } + assert(tt > 0); + *op++ = LZO_BYTE(tt); + } + UA_COPYN(op, ii, t); + op += t; + } + + *op++ = M4_MARKER | 1; + *op++ = 0; + *op++ = 0; + + *out_len = pd(op, out); + return LZO_E_OK; +} + + +/* vim:set ts=4 sw=4 et: */ diff --git a/tools/z64compress/src/enc/lzo/lzo1x_d.ch b/tools/z64compress/src/enc/lzo/lzo1x_d.ch new file mode 100644 index 0000000000..b6c6d9947c --- /dev/null +++ b/tools/z64compress/src/enc/lzo/lzo1x_d.ch @@ -0,0 +1,475 @@ +/* lzo1x_d.ch -- implementation of the LZO1X decompression algorithm + + This file is part of the LZO real-time data compression library. + + Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer + All Rights Reserved. + + The LZO library is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + The LZO library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with the LZO library; see the file COPYING. + If not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + Markus F.X.J. Oberhumer + + http://www.oberhumer.com/opensource/lzo/ + */ + + +#include "lzo1_d.ch" + + +/*********************************************************************** +// decompress a block of data. +************************************************************************/ + +#if defined(DO_DECOMPRESS) +LZO_PUBLIC(int) +DO_DECOMPRESS ( const lzo_bytep in , lzo_uint in_len, + lzo_bytep out, lzo_uintp out_len, + lzo_voidp wrkmem ) +#endif +{ + lzo_bytep op; + const lzo_bytep ip; + lzo_uint t; +#if defined(COPY_DICT) + lzo_uint m_off; + const lzo_bytep dict_end; +#else + const lzo_bytep m_pos; +#endif + + const lzo_bytep const ip_end = in + in_len; +#if defined(HAVE_ANY_OP) + lzo_bytep const op_end = out + *out_len; +#endif +#if defined(LZO1Z) + lzo_uint last_m_off = 0; +#endif + + LZO_UNUSED(wrkmem); + +#if defined(COPY_DICT) + if (dict) + { + if (dict_len > M4_MAX_OFFSET) + { + dict += dict_len - M4_MAX_OFFSET; + dict_len = M4_MAX_OFFSET; + } + dict_end = dict + dict_len; + } + else + { + dict_len = 0; + dict_end = NULL; + } +#endif /* COPY_DICT */ + + *out_len = 0; + + op = out; + ip = in; + + NEED_IP(1); + if (*ip > 17) + { + t = *ip++ - 17; + if (t < 4) + goto match_next; + assert(t > 0); NEED_OP(t); NEED_IP(t+3); + do *op++ = *ip++; while (--t > 0); + goto first_literal_run; + } + + for (;;) + { + NEED_IP(3); + t = *ip++; + if (t >= 16) + goto match; + /* a literal run */ + if (t == 0) + { + while (*ip == 0) + { + t += 255; + ip++; + TEST_IV(t); + NEED_IP(1); + } + t += 15 + *ip++; + } + /* copy literals */ + assert(t > 0); NEED_OP(t+3); NEED_IP(t+6); +#if (LZO_OPT_UNALIGNED64) && (LZO_OPT_UNALIGNED32) + t += 3; + if (t >= 8) do + { + UA_COPY8(op,ip); + op += 8; ip += 8; t -= 8; + } while (t >= 8); + if (t >= 4) + { + UA_COPY4(op,ip); + op += 4; ip += 4; t -= 4; + } + if (t > 0) + { + *op++ = *ip++; + if (t > 1) { *op++ = *ip++; if (t > 2) { *op++ = *ip++; } } + } +#elif (LZO_OPT_UNALIGNED32) || (LZO_ALIGNED_OK_4) +#if !(LZO_OPT_UNALIGNED32) + if (PTR_ALIGNED2_4(op,ip)) + { +#endif + UA_COPY4(op,ip); + op += 4; ip += 4; + if (--t > 0) + { + if (t >= 4) + { + do { + UA_COPY4(op,ip); + op += 4; ip += 4; t -= 4; + } while (t >= 4); + if (t > 0) do *op++ = *ip++; while (--t > 0); + } + else + do *op++ = *ip++; while (--t > 0); + } +#if !(LZO_OPT_UNALIGNED32) + } + else +#endif +#endif +#if !(LZO_OPT_UNALIGNED32) + { + *op++ = *ip++; *op++ = *ip++; *op++ = *ip++; + do *op++ = *ip++; while (--t > 0); + } +#endif + + +first_literal_run: + + + t = *ip++; + if (t >= 16) + goto match; +#if defined(COPY_DICT) +#if defined(LZO1Z) + m_off = (1 + M2_MAX_OFFSET) + (t << 6) + (*ip++ >> 2); + last_m_off = m_off; +#else + m_off = (1 + M2_MAX_OFFSET) + (t >> 2) + (*ip++ << 2); +#endif + NEED_OP(3); + t = 3; COPY_DICT(t,m_off) +#else /* !COPY_DICT */ +#if defined(LZO1Z) + t = (1 + M2_MAX_OFFSET) + (t << 6) + (*ip++ >> 2); + m_pos = op - t; + last_m_off = t; +#else + m_pos = op - (1 + M2_MAX_OFFSET); + m_pos -= t >> 2; + m_pos -= *ip++ << 2; +#endif + TEST_LB(m_pos); NEED_OP(3); + *op++ = *m_pos++; *op++ = *m_pos++; *op++ = *m_pos; +#endif /* COPY_DICT */ + goto match_done; + + + /* handle matches */ + for (;;) { +match: + if (t >= 64) /* a M2 match */ + { +#if defined(COPY_DICT) +#if defined(LZO1X) + m_off = 1 + ((t >> 2) & 7) + (*ip++ << 3); + t = (t >> 5) - 1; +#elif defined(LZO1Y) + m_off = 1 + ((t >> 2) & 3) + (*ip++ << 2); + t = (t >> 4) - 3; +#elif defined(LZO1Z) + m_off = t & 0x1f; + if (m_off >= 0x1c) + m_off = last_m_off; + else + { + m_off = 1 + (m_off << 6) + (*ip++ >> 2); + last_m_off = m_off; + } + t = (t >> 5) - 1; +#endif +#else /* !COPY_DICT */ +#if defined(LZO1X) + m_pos = op - 1; + m_pos -= (t >> 2) & 7; + m_pos -= *ip++ << 3; + t = (t >> 5) - 1; +#elif defined(LZO1Y) + m_pos = op - 1; + m_pos -= (t >> 2) & 3; + m_pos -= *ip++ << 2; + t = (t >> 4) - 3; +#elif defined(LZO1Z) + { + lzo_uint off = t & 0x1f; + m_pos = op; + if (off >= 0x1c) + { + assert(last_m_off > 0); + m_pos -= last_m_off; + } + else + { + off = 1 + (off << 6) + (*ip++ >> 2); + m_pos -= off; + last_m_off = off; + } + } + t = (t >> 5) - 1; +#endif + TEST_LB(m_pos); assert(t > 0); NEED_OP(t+3-1); + goto copy_match; +#endif /* COPY_DICT */ + } + else if (t >= 32) /* a M3 match */ + { + t &= 31; + if (t == 0) + { + while (*ip == 0) + { + t += 255; + ip++; + TEST_OV(t); + NEED_IP(1); + } + t += 31 + *ip++; + NEED_IP(2); + } +#if defined(COPY_DICT) +#if defined(LZO1Z) + m_off = 1 + (ip[0] << 6) + (ip[1] >> 2); + last_m_off = m_off; +#else + m_off = 1 + (ip[0] >> 2) + (ip[1] << 6); +#endif +#else /* !COPY_DICT */ +#if defined(LZO1Z) + { + lzo_uint off = 1 + (ip[0] << 6) + (ip[1] >> 2); + m_pos = op - off; + last_m_off = off; + } +#elif (LZO_OPT_UNALIGNED16) && (LZO_ABI_LITTLE_ENDIAN) + m_pos = op - 1; + m_pos -= UA_GET_LE16(ip) >> 2; +#else + m_pos = op - 1; + m_pos -= (ip[0] >> 2) + (ip[1] << 6); +#endif +#endif /* COPY_DICT */ + ip += 2; + } + else if (t >= 16) /* a M4 match */ + { +#if defined(COPY_DICT) + m_off = (t & 8) << 11; +#else /* !COPY_DICT */ + m_pos = op; + m_pos -= (t & 8) << 11; +#endif /* COPY_DICT */ + t &= 7; + if (t == 0) + { + while (*ip == 0) + { + t += 255; + ip++; + TEST_OV(t); + NEED_IP(1); + } + t += 7 + *ip++; + NEED_IP(2); + } +#if defined(COPY_DICT) +#if defined(LZO1Z) + m_off += (ip[0] << 6) + (ip[1] >> 2); +#else + m_off += (ip[0] >> 2) + (ip[1] << 6); +#endif + ip += 2; + if (m_off == 0) + goto eof_found; + m_off += 0x4000; +#if defined(LZO1Z) + last_m_off = m_off; +#endif +#else /* !COPY_DICT */ +#if defined(LZO1Z) + m_pos -= (ip[0] << 6) + (ip[1] >> 2); +#elif (LZO_OPT_UNALIGNED16) && (LZO_ABI_LITTLE_ENDIAN) + m_pos -= UA_GET_LE16(ip) >> 2; +#else + m_pos -= (ip[0] >> 2) + (ip[1] << 6); +#endif + ip += 2; + if (m_pos == op) + goto eof_found; + m_pos -= 0x4000; +#if defined(LZO1Z) + last_m_off = pd((const lzo_bytep)op, m_pos); +#endif +#endif /* COPY_DICT */ + } + else /* a M1 match */ + { +#if defined(COPY_DICT) +#if defined(LZO1Z) + m_off = 1 + (t << 6) + (*ip++ >> 2); + last_m_off = m_off; +#else + m_off = 1 + (t >> 2) + (*ip++ << 2); +#endif + NEED_OP(2); + t = 2; COPY_DICT(t,m_off) +#else /* !COPY_DICT */ +#if defined(LZO1Z) + t = 1 + (t << 6) + (*ip++ >> 2); + m_pos = op - t; + last_m_off = t; +#else + m_pos = op - 1; + m_pos -= t >> 2; + m_pos -= *ip++ << 2; +#endif + TEST_LB(m_pos); NEED_OP(2); + *op++ = *m_pos++; *op++ = *m_pos; +#endif /* COPY_DICT */ + goto match_done; + } + + /* copy match */ +#if defined(COPY_DICT) + + NEED_OP(t+3-1); + t += 3-1; COPY_DICT(t,m_off) + +#else /* !COPY_DICT */ + + TEST_LB(m_pos); assert(t > 0); NEED_OP(t+3-1); +#if (LZO_OPT_UNALIGNED64) && (LZO_OPT_UNALIGNED32) + if (op - m_pos >= 8) + { + t += (3 - 1); + if (t >= 8) do + { + UA_COPY8(op,m_pos); + op += 8; m_pos += 8; t -= 8; + } while (t >= 8); + if (t >= 4) + { + UA_COPY4(op,m_pos); + op += 4; m_pos += 4; t -= 4; + } + if (t > 0) + { + *op++ = m_pos[0]; + if (t > 1) { *op++ = m_pos[1]; if (t > 2) { *op++ = m_pos[2]; } } + } + } + else +#elif (LZO_OPT_UNALIGNED32) || (LZO_ALIGNED_OK_4) +#if !(LZO_OPT_UNALIGNED32) + if (t >= 2 * 4 - (3 - 1) && PTR_ALIGNED2_4(op,m_pos)) + { + assert((op - m_pos) >= 4); /* both pointers are aligned */ +#else + if (t >= 2 * 4 - (3 - 1) && (op - m_pos) >= 4) + { +#endif + UA_COPY4(op,m_pos); + op += 4; m_pos += 4; t -= 4 - (3 - 1); + do { + UA_COPY4(op,m_pos); + op += 4; m_pos += 4; t -= 4; + } while (t >= 4); + if (t > 0) do *op++ = *m_pos++; while (--t > 0); + } + else +#endif + { +copy_match: + *op++ = *m_pos++; *op++ = *m_pos++; + do *op++ = *m_pos++; while (--t > 0); + } + +#endif /* COPY_DICT */ + +match_done: +#if defined(LZO1Z) + t = ip[-1] & 3; +#else + t = ip[-2] & 3; +#endif + if (t == 0) + break; + + /* copy literals */ +match_next: + assert(t > 0); assert(t < 4); NEED_OP(t); NEED_IP(t+3); +#if 0 + do *op++ = *ip++; while (--t > 0); +#else + *op++ = *ip++; + if (t > 1) { *op++ = *ip++; if (t > 2) { *op++ = *ip++; } } +#endif + t = *ip++; + } + } + +eof_found: + *out_len = pd(op, out); + return (ip == ip_end ? LZO_E_OK : + (ip < ip_end ? LZO_E_INPUT_NOT_CONSUMED : LZO_E_INPUT_OVERRUN)); + + +#if defined(HAVE_NEED_IP) +input_overrun: + *out_len = pd(op, out); + return LZO_E_INPUT_OVERRUN; +#endif + +#if defined(HAVE_NEED_OP) +output_overrun: + *out_len = pd(op, out); + return LZO_E_OUTPUT_OVERRUN; +#endif + +#if defined(LZO_TEST_OVERRUN_LOOKBEHIND) +lookbehind_overrun: + *out_len = pd(op, out); + return LZO_E_LOOKBEHIND_OVERRUN; +#endif +} + + +/* vim:set ts=4 sw=4 et: */ diff --git a/tools/z64compress/src/enc/lzo/lzo1x_d1.c b/tools/z64compress/src/enc/lzo/lzo1x_d1.c new file mode 100644 index 0000000000..68faf48e87 --- /dev/null +++ b/tools/z64compress/src/enc/lzo/lzo1x_d1.c @@ -0,0 +1,36 @@ +/* lzo1x_d1.c -- LZO1X decompression + + This file is part of the LZO real-time data compression library. + + Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer + All Rights Reserved. + + The LZO library is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + The LZO library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with the LZO library; see the file COPYING. + If not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + Markus F.X.J. Oberhumer + + http://www.oberhumer.com/opensource/lzo/ + */ + + +#include "config1x.h" + +#undef LZO_TEST_OVERRUN +#define DO_DECOMPRESS lzo1x_decompress + +#include "lzo1x_d.ch" + +/* vim:set ts=4 sw=4 et: */ diff --git a/tools/z64compress/src/enc/lzo/lzo1x_d2.c b/tools/z64compress/src/enc/lzo/lzo1x_d2.c new file mode 100644 index 0000000000..8b7c316af7 --- /dev/null +++ b/tools/z64compress/src/enc/lzo/lzo1x_d2.c @@ -0,0 +1,61 @@ +/* lzo1x_d2.c -- LZO1X decompression with overrun testing + + This file is part of the LZO real-time data compression library. + + Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer + All Rights Reserved. + + The LZO library is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + The LZO library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with the LZO library; see the file COPYING. + If not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + Markus F.X.J. Oberhumer + + http://www.oberhumer.com/opensource/lzo/ + */ + + +#include "config1x.h" + +#define LZO_TEST_OVERRUN 1 +#define DO_DECOMPRESS lzo1x_decompress_safe + +#include "lzo1x_d.ch" + +#if defined(LZO_ARCH_I386) && defined(LZO_USE_ASM) +LZO_EXTERN(int) lzo1x_decompress_asm_safe + (const lzo_bytep src, lzo_uint src_len, + lzo_bytep dst, lzo_uintp dst_len, + lzo_voidp wrkmem); +LZO_PUBLIC(int) lzo1x_decompress_asm_safe + (const lzo_bytep src, lzo_uint src_len, + lzo_bytep dst, lzo_uintp dst_len, + lzo_voidp wrkmem) +{ + return lzo1x_decompress_safe(src, src_len, dst, dst_len, wrkmem); +} +LZO_EXTERN(int) lzo1x_decompress_asm_fast_safe + (const lzo_bytep src, lzo_uint src_len, + lzo_bytep dst, lzo_uintp dst_len, + lzo_voidp wrkmem); +LZO_PUBLIC(int) lzo1x_decompress_asm_fast_safe + (const lzo_bytep src, lzo_uint src_len, + lzo_bytep dst, lzo_uintp dst_len, + lzo_voidp wrkmem) +{ + return lzo1x_decompress_safe(src, src_len, dst, dst_len, wrkmem); +} +#endif + +/* vim:set ts=4 sw=4 et: */ diff --git a/tools/z64compress/src/enc/lzo/lzo1x_d3.c b/tools/z64compress/src/enc/lzo/lzo1x_d3.c new file mode 100644 index 0000000000..b3d430f851 --- /dev/null +++ b/tools/z64compress/src/enc/lzo/lzo1x_d3.c @@ -0,0 +1,93 @@ +/* lzo1x_d3.c -- LZO1X decompression with preset dictionary + + This file is part of the LZO real-time data compression library. + + Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer + All Rights Reserved. + + The LZO library is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + The LZO library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with the LZO library; see the file COPYING. + If not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + Markus F.X.J. Oberhumer + + http://www.oberhumer.com/opensource/lzo/ + */ + + +#include "config1x.h" + +#define LZO_TEST_OVERRUN 1 + + +#define SLOW_MEMCPY(a,b,l) { do *a++ = *b++; while (--l > 0); } +#define FAST_MEMCPY(a,b,l) { lzo_memcpy(a,b,l); a += l; } + +#if 1 && defined(FAST_MEMCPY) +# define DICT_MEMMOVE(op,m_pos,m_len,m_off) \ + if (m_off >= (m_len)) \ + FAST_MEMCPY(op,m_pos,m_len) \ + else \ + SLOW_MEMCPY(op,m_pos,m_len) +#else +# define DICT_MEMMOVE(op,m_pos,m_len,m_off) \ + SLOW_MEMCPY(op,m_pos,m_len) +#endif + +#if !defined(FAST_MEMCPY) +# define FAST_MEMCPY SLOW_MEMCPY +#endif + + +#define COPY_DICT_DICT(m_len,m_off) \ + { \ + const lzo_bytep m_pos; \ + m_off -= pd(op, out); assert(m_off > 0); \ + if (m_off > dict_len) goto lookbehind_overrun; \ + m_pos = dict_end - m_off; \ + if (m_len > m_off) \ + { \ + m_len -= m_off; \ + FAST_MEMCPY(op,m_pos,m_off) \ + m_pos = out; \ + SLOW_MEMCPY(op,m_pos,m_len) \ + } \ + else \ + FAST_MEMCPY(op,m_pos,m_len) \ + } + +#define COPY_DICT(m_len,m_off) \ + assert(m_len >= 2); assert(m_off > 0); assert(op > out); \ + if (m_off <= pd(op, out)) \ + { \ + const lzo_bytep m_pos = op - m_off; \ + DICT_MEMMOVE(op,m_pos,m_len,m_off) \ + } \ + else \ + COPY_DICT_DICT(m_len,m_off) + + + + +LZO_PUBLIC(int) +lzo1x_decompress_dict_safe ( const lzo_bytep in, lzo_uint in_len, + lzo_bytep out, lzo_uintp out_len, + lzo_voidp wrkmem /* NOT USED */, + const lzo_bytep dict, lzo_uint dict_len) + + +#include "lzo1x_d.ch" + + +/* vim:set ts=4 sw=4 et: */ diff --git a/tools/z64compress/src/enc/lzo/lzo_conf.h b/tools/z64compress/src/enc/lzo/lzo_conf.h new file mode 100644 index 0000000000..fff021d1a1 --- /dev/null +++ b/tools/z64compress/src/enc/lzo/lzo_conf.h @@ -0,0 +1,436 @@ +/* lzo_conf.h -- main internal configuration file for the the LZO library + + This file is part of the LZO real-time data compression library. + + Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer + All Rights Reserved. + + The LZO library is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + The LZO library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with the LZO library; see the file COPYING. + If not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + Markus F.X.J. Oberhumer + + http://www.oberhumer.com/opensource/lzo/ + */ + + +/* WARNING: this file should *not* be used by applications. It is + part of the implementation of the library and is subject + to change. + */ + + +#ifndef __LZO_CONF_H +#define __LZO_CONF_H 1 + +#if !defined(__LZO_IN_MINILZO) +#if defined(LZO_CFG_FREESTANDING) && (LZO_CFG_FREESTANDING) +# define LZO_LIBC_FREESTANDING 1 +# define LZO_OS_FREESTANDING 1 +#endif +#if defined(LZO_CFG_EXTRA_CONFIG_HEADER) +# include LZO_CFG_EXTRA_CONFIG_HEADER +#endif +#if defined(__LZOCONF_H) || defined(__LZOCONF_H_INCLUDED) +# error "include this file first" +#endif +#if defined(LZO_CFG_BUILD_DLL) && (LZO_CFG_BUILD_DLL+0) && !defined(__LZO_EXPORT1) && !defined(__LZO_EXPORT2) && 0 + /* idea: we could auto-define __LZO_EXPORT1 for DLL exports */ +#ifndef __LZODEFS_H_INCLUDED +#if defined(LZO_HAVE_CONFIG_H) +# include +#endif +#include +#include +#include "lzodefs.h" +#endif + /* #define __LZO_EXPORT1 __attribute__((__visibility__("default"))) */ + /* #define __LZO_EXPORT1 __declspec(dllexport) */ +#endif +#include "lzoconf.h" +#if defined(LZO_CFG_EXTRA_CONFIG_HEADER2) +# include LZO_CFG_EXTRA_CONFIG_HEADER2 +#endif +#endif /* !defined(__LZO_IN_MINILZO) */ + +#if !defined(__LZOCONF_H_INCLUDED) || (LZO_VERSION+0 != 0x20a0) +# error "version mismatch" +#endif + + +/*********************************************************************** +// pragmas +************************************************************************/ + +#if (LZO_CC_MSC && (_MSC_VER >= 1000 && _MSC_VER < 1100)) + /* disable bogus "unreachable code" warnings */ +# pragma warning(disable: 4702) +#endif +#if (LZO_CC_MSC && (_MSC_VER >= 1000)) +# pragma warning(disable: 4127 4701) + /* disable warnings about inlining */ +# pragma warning(disable: 4514 4710 4711) +#endif +#if (LZO_CC_MSC && (_MSC_VER >= 1300)) + /* disable '-Wall' warnings in system header files */ +# pragma warning(disable: 4820) +#endif +#if (LZO_CC_MSC && (_MSC_VER >= 1800)) + /* disable '-Wall' warnings in system header files */ +# pragma warning(disable: 4746) +#endif +#if (LZO_CC_INTELC && (__INTEL_COMPILER >= 900)) + /* disable pedantic warnings in system header files */ +# pragma warning(disable: 1684) +#endif + +#if (LZO_CC_SUNPROC) +#if !defined(__cplusplus) +# pragma error_messages(off,E_END_OF_LOOP_CODE_NOT_REACHED) +# pragma error_messages(off,E_LOOP_NOT_ENTERED_AT_TOP) +# pragma error_messages(off,E_STATEMENT_NOT_REACHED) +#endif +#endif + + +/*********************************************************************** +// function types +************************************************************************/ + +#if !defined(__LZO_NOEXPORT1) +# define __LZO_NOEXPORT1 /*empty*/ +#endif +#if !defined(__LZO_NOEXPORT2) +# define __LZO_NOEXPORT2 /*empty*/ +#endif + +#if 1 +# define LZO_PUBLIC_DECL(r) LZO_EXTERN(r) +#endif +#if 1 +# define LZO_PUBLIC_IMPL(r) LZO_PUBLIC(r) +#endif +#if !defined(LZO_LOCAL_DECL) +# define LZO_LOCAL_DECL(r) __LZO_EXTERN_C LZO_LOCAL_IMPL(r) +#endif +#if !defined(LZO_LOCAL_IMPL) +# define LZO_LOCAL_IMPL(r) __LZO_NOEXPORT1 r __LZO_NOEXPORT2 __LZO_CDECL +#endif +#if 1 +# define LZO_STATIC_DECL(r) LZO_PRIVATE(r) +#endif +#if 1 +# define LZO_STATIC_IMPL(r) LZO_PRIVATE(r) +#endif + + +/*********************************************************************** +// +************************************************************************/ + +#if defined(__LZO_IN_MINILZO) || (LZO_CFG_FREESTANDING) +#elif 1 +# include +#else +# define LZO_WANT_ACC_INCD_H 1 +#endif +#if defined(LZO_HAVE_CONFIG_H) +# define LZO_CFG_NO_CONFIG_HEADER 1 +#endif +#include "lzo_supp.h" + +/* Integral types */ +#if 1 || defined(lzo_int8_t) || defined(lzo_uint8_t) +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int8_t) == 1) +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uint8_t) == 1) +#endif +#if 1 || defined(lzo_int16_t) || defined(lzo_uint16_t) +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int16_t) == 2) +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uint16_t) == 2) +#endif +#if 1 || defined(lzo_int32_t) || defined(lzo_uint32_t) +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32_t) == 4) +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uint32_t) == 4) +#endif +#if defined(lzo_int64_t) || defined(lzo_uint64_t) +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64_t) == 8) +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uint64_t) == 8) +#endif + +#if (LZO_CFG_FREESTANDING) +# undef HAVE_MEMCMP +# undef HAVE_MEMCPY +# undef HAVE_MEMMOVE +# undef HAVE_MEMSET +#endif + +#if !(HAVE_MEMCMP) +# undef memcmp +# define memcmp(a,b,c) lzo_memcmp(a,b,c) +#else +# undef lzo_memcmp +# define lzo_memcmp(a,b,c) memcmp(a,b,c) +#endif +#if !(HAVE_MEMCPY) +# undef memcpy +# define memcpy(a,b,c) lzo_memcpy(a,b,c) +#else +# undef lzo_memcpy +# define lzo_memcpy(a,b,c) memcpy(a,b,c) +#endif +#if !(HAVE_MEMMOVE) +# undef memmove +# define memmove(a,b,c) lzo_memmove(a,b,c) +#else +# undef lzo_memmove +# define lzo_memmove(a,b,c) memmove(a,b,c) +#endif +#if !(HAVE_MEMSET) +# undef memset +# define memset(a,b,c) lzo_memset(a,b,c) +#else +# undef lzo_memset +# define lzo_memset(a,b,c) memset(a,b,c) +#endif + +#undef NDEBUG +#if (LZO_CFG_FREESTANDING) +# undef LZO_DEBUG +# define NDEBUG 1 +# undef assert +# define assert(e) ((void)0) +#else +# if !defined(LZO_DEBUG) +# define NDEBUG 1 +# endif +# include +#endif + +#if 0 && defined(__BOUNDS_CHECKING_ON) +# include +#else +# define BOUNDS_CHECKING_OFF_DURING(stmt) stmt +# define BOUNDS_CHECKING_OFF_IN_EXPR(expr) (expr) +#endif + +#if (LZO_CFG_PGO) +# undef __lzo_likely +# undef __lzo_unlikely +# define __lzo_likely(e) (e) +# define __lzo_unlikely(e) (e) +#endif + +#undef _ +#undef __ +#undef ___ +#undef ____ +#undef _p0 +#undef _p1 +#undef _p2 +#undef _p3 +#undef _p4 +#undef _s0 +#undef _s1 +#undef _s2 +#undef _s3 +#undef _s4 +#undef _ww + + +/*********************************************************************** +// +************************************************************************/ + +#if 1 +# define LZO_BYTE(x) ((unsigned char) (x)) +#else +# define LZO_BYTE(x) ((unsigned char) ((x) & 0xff)) +#endif + +#define LZO_MAX(a,b) ((a) >= (b) ? (a) : (b)) +#define LZO_MIN(a,b) ((a) <= (b) ? (a) : (b)) +#define LZO_MAX3(a,b,c) ((a) >= (b) ? LZO_MAX(a,c) : LZO_MAX(b,c)) +#define LZO_MIN3(a,b,c) ((a) <= (b) ? LZO_MIN(a,c) : LZO_MIN(b,c)) + +#define lzo_sizeof(type) ((lzo_uint) (sizeof(type))) + +#define LZO_HIGH(array) ((lzo_uint) (sizeof(array)/sizeof(*(array)))) + +/* this always fits into 32 bits */ +#define LZO_SIZE(bits) (1u << (bits)) +#define LZO_MASK(bits) (LZO_SIZE(bits) - 1) + +#define LZO_USIZE(bits) ((lzo_uint) 1 << (bits)) +#define LZO_UMASK(bits) (LZO_USIZE(bits) - 1) + +#if !defined(DMUL) +#if 0 + /* 32*32 multiplies may be faster than 64*64 on some 64-bit machines, + * but then we need extra casts from unsigned<->size_t */ +# define DMUL(a,b) ((lzo_xint) ((lzo_uint32_t)(a) * (lzo_uint32_t)(b))) +#else +# define DMUL(a,b) ((lzo_xint) ((a) * (b))) +#endif +#endif + + +/*********************************************************************** +// compiler and architecture specific stuff +************************************************************************/ + +/* Some defines that indicate if memory can be accessed at unaligned + * memory addresses. You should also test that this is actually faster + * even if it is allowed by your system. + */ + +#include "lzo_func.h" + +#ifndef UA_SET1 +#define UA_SET1 LZO_MEMOPS_SET1 +#endif +#ifndef UA_SET2 +#define UA_SET2 LZO_MEMOPS_SET2 +#endif +#ifndef UA_SET3 +#define UA_SET3 LZO_MEMOPS_SET3 +#endif +#ifndef UA_SET4 +#define UA_SET4 LZO_MEMOPS_SET4 +#endif +#ifndef UA_MOVE1 +#define UA_MOVE1 LZO_MEMOPS_MOVE1 +#endif +#ifndef UA_MOVE2 +#define UA_MOVE2 LZO_MEMOPS_MOVE2 +#endif +#ifndef UA_MOVE3 +#define UA_MOVE3 LZO_MEMOPS_MOVE3 +#endif +#ifndef UA_MOVE4 +#define UA_MOVE4 LZO_MEMOPS_MOVE4 +#endif +#ifndef UA_MOVE8 +#define UA_MOVE8 LZO_MEMOPS_MOVE8 +#endif +#ifndef UA_COPY1 +#define UA_COPY1 LZO_MEMOPS_COPY1 +#endif +#ifndef UA_COPY2 +#define UA_COPY2 LZO_MEMOPS_COPY2 +#endif +#ifndef UA_COPY3 +#define UA_COPY3 LZO_MEMOPS_COPY3 +#endif +#ifndef UA_COPY4 +#define UA_COPY4 LZO_MEMOPS_COPY4 +#endif +#ifndef UA_COPY8 +#define UA_COPY8 LZO_MEMOPS_COPY8 +#endif +#ifndef UA_COPYN +#define UA_COPYN LZO_MEMOPS_COPYN +#endif +#ifndef UA_COPYN_X +#define UA_COPYN_X LZO_MEMOPS_COPYN +#endif +#ifndef UA_GET_LE16 +#define UA_GET_LE16 LZO_MEMOPS_GET_LE16 +#endif +#ifndef UA_GET_LE32 +#define UA_GET_LE32 LZO_MEMOPS_GET_LE32 +#endif +#ifdef LZO_MEMOPS_GET_LE64 +#ifndef UA_GET_LE64 +#define UA_GET_LE64 LZO_MEMOPS_GET_LE64 +#endif +#endif +#ifndef UA_GET_NE16 +#define UA_GET_NE16 LZO_MEMOPS_GET_NE16 +#endif +#ifndef UA_GET_NE32 +#define UA_GET_NE32 LZO_MEMOPS_GET_NE32 +#endif +#ifdef LZO_MEMOPS_GET_NE64 +#ifndef UA_GET_NE64 +#define UA_GET_NE64 LZO_MEMOPS_GET_NE64 +#endif +#endif +#ifndef UA_PUT_LE16 +#define UA_PUT_LE16 LZO_MEMOPS_PUT_LE16 +#endif +#ifndef UA_PUT_LE32 +#define UA_PUT_LE32 LZO_MEMOPS_PUT_LE32 +#endif +#ifndef UA_PUT_NE16 +#define UA_PUT_NE16 LZO_MEMOPS_PUT_NE16 +#endif +#ifndef UA_PUT_NE32 +#define UA_PUT_NE32 LZO_MEMOPS_PUT_NE32 +#endif + + +/* Fast memcpy that copies multiples of 8 byte chunks. + * len is the number of bytes. + * note: all parameters must be lvalues, len >= 8 + * dest and src advance, len is undefined afterwards + */ + +#define MEMCPY8_DS(dest,src,len) \ + lzo_memcpy(dest,src,len); dest += len; src += len + +#define BZERO8_PTR(s,l,n) \ + lzo_memset((lzo_voidp)(s),0,(lzo_uint)(l)*(n)) + +#define MEMCPY_DS(dest,src,len) \ + do *dest++ = *src++; while (--len > 0) + + +/*********************************************************************** +// +************************************************************************/ + +LZO_EXTERN(const lzo_bytep) lzo_copyright(void); + +#include "lzo_ptr.h" + +/* Generate compressed data in a deterministic way. + * This is fully portable, and compression can be faster as well. + * A reason NOT to be deterministic is when the block size is + * very small (e.g. 8kB) or the dictionary is big, because + * then the initialization of the dictionary becomes a relevant + * magnitude for compression speed. + */ +#ifndef LZO_DETERMINISTIC +#define LZO_DETERMINISTIC 1 +#endif + + +#ifndef LZO_DICT_USE_PTR +#define LZO_DICT_USE_PTR 1 +#endif + +#if (LZO_DICT_USE_PTR) +# define lzo_dict_t const lzo_bytep +# define lzo_dict_p lzo_dict_t * +#else +# define lzo_dict_t lzo_uint +# define lzo_dict_p lzo_dict_t * +#endif + + +#endif /* already included */ + + +/* vim:set ts=4 sw=4 et: */ diff --git a/tools/z64compress/src/enc/lzo/lzo_dict.h b/tools/z64compress/src/enc/lzo/lzo_dict.h new file mode 100644 index 0000000000..e48addb17c --- /dev/null +++ b/tools/z64compress/src/enc/lzo/lzo_dict.h @@ -0,0 +1,307 @@ +/* lzo_dict.h -- dictionary definitions for the the LZO library + + This file is part of the LZO real-time data compression library. + + Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer + All Rights Reserved. + + The LZO library is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + The LZO library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with the LZO library; see the file COPYING. + If not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + Markus F.X.J. Oberhumer + + http://www.oberhumer.com/opensource/lzo/ + */ + + +/* WARNING: this file should *not* be used by applications. It is + part of the implementation of the library and is subject + to change. + */ + + +#ifndef __LZO_DICT_H +#define __LZO_DICT_H 1 + +#ifdef __cplusplus +extern "C" { +#endif + + + +/*********************************************************************** +// dictionary size +************************************************************************/ + +/* dictionary needed for compression */ +#if !defined(D_BITS) && defined(DBITS) +# define D_BITS DBITS +#endif +#if !defined(D_BITS) +# error "D_BITS is not defined" +#endif +#if (D_BITS < 16) +# define D_SIZE LZO_SIZE(D_BITS) +# define D_MASK LZO_MASK(D_BITS) +#else +# define D_SIZE LZO_USIZE(D_BITS) +# define D_MASK LZO_UMASK(D_BITS) +#endif +#define D_HIGH ((D_MASK >> 1) + 1) + + +/* dictionary depth */ +#if !defined(DD_BITS) +# define DD_BITS 0 +#endif +#define DD_SIZE LZO_SIZE(DD_BITS) +#define DD_MASK LZO_MASK(DD_BITS) + +/* dictionary length */ +#if !defined(DL_BITS) +# define DL_BITS (D_BITS - DD_BITS) +#endif +#if (DL_BITS < 16) +# define DL_SIZE LZO_SIZE(DL_BITS) +# define DL_MASK LZO_MASK(DL_BITS) +#else +# define DL_SIZE LZO_USIZE(DL_BITS) +# define DL_MASK LZO_UMASK(DL_BITS) +#endif + + +#if (D_BITS != DL_BITS + DD_BITS) +# error "D_BITS does not match" +#endif +#if (D_BITS < 6 || D_BITS > 18) +# error "invalid D_BITS" +#endif +#if (DL_BITS < 6 || DL_BITS > 20) +# error "invalid DL_BITS" +#endif +#if (DD_BITS < 0 || DD_BITS > 6) +# error "invalid DD_BITS" +#endif + + +#if !defined(DL_MIN_LEN) +# define DL_MIN_LEN 3 +#endif +#if !defined(DL_SHIFT) +# define DL_SHIFT ((DL_BITS + (DL_MIN_LEN - 1)) / DL_MIN_LEN) +#endif + + + +/*********************************************************************** +// dictionary access +************************************************************************/ + +#define LZO_HASH_GZIP 1 +#define LZO_HASH_GZIP_INCREMENTAL 2 +#define LZO_HASH_LZO_INCREMENTAL_A 3 +#define LZO_HASH_LZO_INCREMENTAL_B 4 + +#if !defined(LZO_HASH) +# error "choose a hashing strategy" +#endif + +#undef DM +#undef DX + +#if (DL_MIN_LEN == 3) +# define _DV2_A(p,shift1,shift2) \ + (((( (lzo_xint)((p)[0]) << shift1) ^ (p)[1]) << shift2) ^ (p)[2]) +# define _DV2_B(p,shift1,shift2) \ + (((( (lzo_xint)((p)[2]) << shift1) ^ (p)[1]) << shift2) ^ (p)[0]) +# define _DV3_B(p,shift1,shift2,shift3) \ + ((_DV2_B((p)+1,shift1,shift2) << (shift3)) ^ (p)[0]) +#elif (DL_MIN_LEN == 2) +# define _DV2_A(p,shift1,shift2) \ + (( (lzo_xint)(p[0]) << shift1) ^ p[1]) +# define _DV2_B(p,shift1,shift2) \ + (( (lzo_xint)(p[1]) << shift1) ^ p[2]) +#else +# error "invalid DL_MIN_LEN" +#endif +#define _DV_A(p,shift) _DV2_A(p,shift,shift) +#define _DV_B(p,shift) _DV2_B(p,shift,shift) +#define DA2(p,s1,s2) \ + (((((lzo_xint)((p)[2]) << (s2)) + (p)[1]) << (s1)) + (p)[0]) +#define DS2(p,s1,s2) \ + (((((lzo_xint)((p)[2]) << (s2)) - (p)[1]) << (s1)) - (p)[0]) +#define DX2(p,s1,s2) \ + (((((lzo_xint)((p)[2]) << (s2)) ^ (p)[1]) << (s1)) ^ (p)[0]) +#define DA3(p,s1,s2,s3) ((DA2((p)+1,s2,s3) << (s1)) + (p)[0]) +#define DS3(p,s1,s2,s3) ((DS2((p)+1,s2,s3) << (s1)) - (p)[0]) +#define DX3(p,s1,s2,s3) ((DX2((p)+1,s2,s3) << (s1)) ^ (p)[0]) +#define DMS(v,s) ((lzo_uint) (((v) & (D_MASK >> (s))) << (s))) +#define DM(v) DMS(v,0) + + +#if (LZO_HASH == LZO_HASH_GZIP) + /* hash function like in gzip/zlib (deflate) */ +# define _DINDEX(dv,p) (_DV_A((p),DL_SHIFT)) + +#elif (LZO_HASH == LZO_HASH_GZIP_INCREMENTAL) + /* incremental hash like in gzip/zlib (deflate) */ +# define __LZO_HASH_INCREMENTAL 1 +# define DVAL_FIRST(dv,p) dv = _DV_A((p),DL_SHIFT) +# define DVAL_NEXT(dv,p) dv = (((dv) << DL_SHIFT) ^ p[2]) +# define _DINDEX(dv,p) (dv) +# define DVAL_LOOKAHEAD DL_MIN_LEN + +#elif (LZO_HASH == LZO_HASH_LZO_INCREMENTAL_A) + /* incremental LZO hash version A */ +# define __LZO_HASH_INCREMENTAL 1 +# define DVAL_FIRST(dv,p) dv = _DV_A((p),5) +# define DVAL_NEXT(dv,p) \ + dv ^= (lzo_xint)(p[-1]) << (2*5); dv = (((dv) << 5) ^ p[2]) +# define _DINDEX(dv,p) ((DMUL(0x9f5f,dv)) >> 5) +# define DVAL_LOOKAHEAD DL_MIN_LEN + +#elif (LZO_HASH == LZO_HASH_LZO_INCREMENTAL_B) + /* incremental LZO hash version B */ +# define __LZO_HASH_INCREMENTAL 1 +# define DVAL_FIRST(dv,p) dv = _DV_B((p),5) +# define DVAL_NEXT(dv,p) \ + dv ^= p[-1]; dv = (((dv) >> 5) ^ ((lzo_xint)(p[2]) << (2*5))) +# define _DINDEX(dv,p) ((DMUL(0x9f5f,dv)) >> 5) +# define DVAL_LOOKAHEAD DL_MIN_LEN + +#else +# error "choose a hashing strategy" +#endif + + +#ifndef DINDEX +#define DINDEX(dv,p) ((lzo_uint)((_DINDEX(dv,p)) & DL_MASK) << DD_BITS) +#endif +#if !defined(DINDEX1) && defined(D_INDEX1) +#define DINDEX1 D_INDEX1 +#endif +#if !defined(DINDEX2) && defined(D_INDEX2) +#define DINDEX2 D_INDEX2 +#endif + + + +#if !defined(__LZO_HASH_INCREMENTAL) +# define DVAL_FIRST(dv,p) ((void) 0) +# define DVAL_NEXT(dv,p) ((void) 0) +# define DVAL_LOOKAHEAD 0 +#endif + + +#if !defined(DVAL_ASSERT) +#if defined(__LZO_HASH_INCREMENTAL) && !defined(NDEBUG) +#if 1 && (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || (LZO_CC_GNUC >= 0x020700ul) || LZO_CC_INTELC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI) +static void __attribute__((__unused__)) +#else +static void +#endif +DVAL_ASSERT(lzo_xint dv, const lzo_bytep p) +{ + lzo_xint df; + DVAL_FIRST(df,(p)); + assert(DINDEX(dv,p) == DINDEX(df,p)); +} +#else +# define DVAL_ASSERT(dv,p) ((void) 0) +#endif +#endif + + + +/*********************************************************************** +// dictionary updating +************************************************************************/ + +#if (LZO_DICT_USE_PTR) +# define DENTRY(p,in) (p) +# define GINDEX(m_pos,m_off,dict,dindex,in) m_pos = dict[dindex] +#else +# define DENTRY(p,in) ((lzo_dict_t) pd(p, in)) +# define GINDEX(m_pos,m_off,dict,dindex,in) m_off = dict[dindex] +#endif + + +#if (DD_BITS == 0) + +# define UPDATE_D(dict,drun,dv,p,in) dict[ DINDEX(dv,p) ] = DENTRY(p,in) +# define UPDATE_I(dict,drun,index,p,in) dict[index] = DENTRY(p,in) +# define UPDATE_P(ptr,drun,p,in) (ptr)[0] = DENTRY(p,in) + +#else + +# define UPDATE_D(dict,drun,dv,p,in) \ + dict[ DINDEX(dv,p) + drun++ ] = DENTRY(p,in); drun &= DD_MASK +# define UPDATE_I(dict,drun,index,p,in) \ + dict[ (index) + drun++ ] = DENTRY(p,in); drun &= DD_MASK +# define UPDATE_P(ptr,drun,p,in) \ + (ptr) [ drun++ ] = DENTRY(p,in); drun &= DD_MASK + +#endif + + +/*********************************************************************** +// test for a match +************************************************************************/ + +#if (LZO_DICT_USE_PTR) + +/* m_pos is either NULL or a valid pointer */ +#define LZO_CHECK_MPOS_DET(m_pos,m_off,in,ip,max_offset) \ + (m_pos == NULL || (m_off = pd(ip, m_pos)) > max_offset) + +/* m_pos may point anywhere... */ +#define LZO_CHECK_MPOS_NON_DET(m_pos,m_off,in,ip,max_offset) \ + (BOUNDS_CHECKING_OFF_IN_EXPR(( \ + m_pos = ip - (lzo_uint) PTR_DIFF(ip,m_pos), \ + PTR_LT(m_pos,in) || \ + (m_off = (lzo_uint) PTR_DIFF(ip,m_pos)) == 0 || \ + m_off > max_offset ))) + +#else + +#define LZO_CHECK_MPOS_DET(m_pos,m_off,in,ip,max_offset) \ + (m_off == 0 || \ + ((m_off = pd(ip, in) - m_off) > max_offset) || \ + (m_pos = (ip) - (m_off), 0) ) + +#define LZO_CHECK_MPOS_NON_DET(m_pos,m_off,in,ip,max_offset) \ + (pd(ip, in) <= m_off || \ + ((m_off = pd(ip, in) - m_off) > max_offset) || \ + (m_pos = (ip) - (m_off), 0) ) + +#endif + + +#if (LZO_DETERMINISTIC) +# define LZO_CHECK_MPOS LZO_CHECK_MPOS_DET +#else +# define LZO_CHECK_MPOS LZO_CHECK_MPOS_NON_DET +#endif + + + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /* already included */ + + +/* vim:set ts=4 sw=4 et: */ diff --git a/tools/z64compress/src/enc/lzo/lzo_func.h b/tools/z64compress/src/enc/lzo/lzo_func.h new file mode 100644 index 0000000000..f3ac8e3440 --- /dev/null +++ b/tools/z64compress/src/enc/lzo/lzo_func.h @@ -0,0 +1,491 @@ +/* lzo_func.h -- functions + + This file is part of the LZO real-time data compression library. + + Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer + All Rights Reserved. + + The LZO library is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + The LZO library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with the LZO library; see the file COPYING. + If not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + Markus F.X.J. Oberhumer + + http://www.oberhumer.com/opensource/lzo/ + */ + + +/* WARNING: this file should *not* be used by applications. It is + part of the implementation of the library and is subject + to change. + */ + + +#ifndef __LZO_FUNC_H +#define __LZO_FUNC_H 1 + + +/*********************************************************************** +// bitops +************************************************************************/ + +#if !defined(LZO_BITOPS_USE_ASM_BITSCAN) && !defined(LZO_BITOPS_USE_GNUC_BITSCAN) && !defined(LZO_BITOPS_USE_MSC_BITSCAN) +#if 1 && (LZO_ARCH_AMD64) && (LZO_CC_GNUC && (LZO_CC_GNUC < 0x040000ul)) && (LZO_ASM_SYNTAX_GNUC) +#define LZO_BITOPS_USE_ASM_BITSCAN 1 +#elif (LZO_CC_CLANG || (LZO_CC_GNUC >= 0x030400ul) || (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 1000)) || (LZO_CC_LLVM && (!defined(__llvm_tools_version__) || (__llvm_tools_version__+0 >= 0x010500ul)))) +#define LZO_BITOPS_USE_GNUC_BITSCAN 1 +#elif (LZO_OS_WIN32 || LZO_OS_WIN64) && ((LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 1010)) || (LZO_CC_MSC && (_MSC_VER >= 1400))) +#define LZO_BITOPS_USE_MSC_BITSCAN 1 +#if (LZO_CC_MSC) && (LZO_ARCH_AMD64 || LZO_ARCH_I386) +#include +#endif +#if (LZO_CC_MSC) && (LZO_ARCH_AMD64 || LZO_ARCH_I386) +#pragma intrinsic(_BitScanReverse) +#pragma intrinsic(_BitScanForward) +#endif +#if (LZO_CC_MSC) && (LZO_ARCH_AMD64) +#pragma intrinsic(_BitScanReverse64) +#pragma intrinsic(_BitScanForward64) +#endif +#endif +#endif + +__lzo_static_forceinline unsigned lzo_bitops_ctlz32_func(lzo_uint32_t v) +{ +#if (LZO_BITOPS_USE_MSC_BITSCAN) && (LZO_ARCH_AMD64 || LZO_ARCH_I386) + unsigned long r; (void) _BitScanReverse(&r, v); return (unsigned) r ^ 31; +#define lzo_bitops_ctlz32(v) lzo_bitops_ctlz32_func(v) +#elif (LZO_BITOPS_USE_ASM_BITSCAN) && (LZO_ARCH_AMD64 || LZO_ARCH_I386) && (LZO_ASM_SYNTAX_GNUC) + lzo_uint32_t r; + __asm__("bsr %1,%0" : "=r" (r) : "rm" (v) __LZO_ASM_CLOBBER_LIST_CC); + return (unsigned) r ^ 31; +#define lzo_bitops_ctlz32(v) lzo_bitops_ctlz32_func(v) +#elif (LZO_BITOPS_USE_GNUC_BITSCAN) && (LZO_SIZEOF_INT == 4) + unsigned r; r = (unsigned) __builtin_clz(v); return r; +#define lzo_bitops_ctlz32(v) ((unsigned) __builtin_clz(v)) +#elif (LZO_BITOPS_USE_GNUC_BITSCAN) && (LZO_SIZEOF_LONG == 8) && (LZO_WORDSIZE >= 8) + unsigned r; r = (unsigned) __builtin_clzl(v); return r ^ 32; +#define lzo_bitops_ctlz32(v) (((unsigned) __builtin_clzl(v)) ^ 32) +#else + LZO_UNUSED(v); return 0; +#endif +} + +#if defined(lzo_uint64_t) +__lzo_static_forceinline unsigned lzo_bitops_ctlz64_func(lzo_uint64_t v) +{ +#if (LZO_BITOPS_USE_MSC_BITSCAN) && (LZO_ARCH_AMD64) + unsigned long r; (void) _BitScanReverse64(&r, v); return (unsigned) r ^ 63; +#define lzo_bitops_ctlz64(v) lzo_bitops_ctlz64_func(v) +#elif (LZO_BITOPS_USE_ASM_BITSCAN) && (LZO_ARCH_AMD64) && (LZO_ASM_SYNTAX_GNUC) + lzo_uint64_t r; + __asm__("bsr %1,%0" : "=r" (r) : "rm" (v) __LZO_ASM_CLOBBER_LIST_CC); + return (unsigned) r ^ 63; +#define lzo_bitops_ctlz64(v) lzo_bitops_ctlz64_func(v) +#elif (LZO_BITOPS_USE_GNUC_BITSCAN) && (LZO_SIZEOF_LONG == 8) && (LZO_WORDSIZE >= 8) + unsigned r; r = (unsigned) __builtin_clzl(v); return r; +#define lzo_bitops_ctlz64(v) ((unsigned) __builtin_clzl(v)) +#elif (LZO_BITOPS_USE_GNUC_BITSCAN) && (LZO_SIZEOF_LONG_LONG == 8) && (LZO_WORDSIZE >= 8) + unsigned r; r = (unsigned) __builtin_clzll(v); return r; +#define lzo_bitops_ctlz64(v) ((unsigned) __builtin_clzll(v)) +#else + LZO_UNUSED(v); return 0; +#endif +} +#endif + +__lzo_static_forceinline unsigned lzo_bitops_cttz32_func(lzo_uint32_t v) +{ +#if (LZO_BITOPS_USE_MSC_BITSCAN) && (LZO_ARCH_AMD64 || LZO_ARCH_I386) + unsigned long r; (void) _BitScanForward(&r, v); return (unsigned) r; +#define lzo_bitops_cttz32(v) lzo_bitops_cttz32_func(v) +#elif (LZO_BITOPS_USE_ASM_BITSCAN) && (LZO_ARCH_AMD64 || LZO_ARCH_I386) && (LZO_ASM_SYNTAX_GNUC) + lzo_uint32_t r; + __asm__("bsf %1,%0" : "=r" (r) : "rm" (v) __LZO_ASM_CLOBBER_LIST_CC); + return (unsigned) r; +#define lzo_bitops_cttz32(v) lzo_bitops_cttz32_func(v) +#elif (LZO_BITOPS_USE_GNUC_BITSCAN) && (LZO_SIZEOF_INT >= 4) + unsigned r; r = (unsigned) __builtin_ctz(v); return r; +#define lzo_bitops_cttz32(v) ((unsigned) __builtin_ctz(v)) +#else + LZO_UNUSED(v); return 0; +#endif +} + +#if defined(lzo_uint64_t) +__lzo_static_forceinline unsigned lzo_bitops_cttz64_func(lzo_uint64_t v) +{ +#if (LZO_BITOPS_USE_MSC_BITSCAN) && (LZO_ARCH_AMD64) + unsigned long r; (void) _BitScanForward64(&r, v); return (unsigned) r; +#define lzo_bitops_cttz64(v) lzo_bitops_cttz64_func(v) +#elif (LZO_BITOPS_USE_ASM_BITSCAN) && (LZO_ARCH_AMD64) && (LZO_ASM_SYNTAX_GNUC) + lzo_uint64_t r; + __asm__("bsf %1,%0" : "=r" (r) : "rm" (v) __LZO_ASM_CLOBBER_LIST_CC); + return (unsigned) r; +#define lzo_bitops_cttz64(v) lzo_bitops_cttz64_func(v) +#elif (LZO_BITOPS_USE_GNUC_BITSCAN) && (LZO_SIZEOF_LONG >= 8) && (LZO_WORDSIZE >= 8) + unsigned r; r = (unsigned) __builtin_ctzl(v); return r; +#define lzo_bitops_cttz64(v) ((unsigned) __builtin_ctzl(v)) +#elif (LZO_BITOPS_USE_GNUC_BITSCAN) && (LZO_SIZEOF_LONG_LONG >= 8) && (LZO_WORDSIZE >= 8) + unsigned r; r = (unsigned) __builtin_ctzll(v); return r; +#define lzo_bitops_cttz64(v) ((unsigned) __builtin_ctzll(v)) +#else + LZO_UNUSED(v); return 0; +#endif +} +#endif + +lzo_unused_funcs_impl(void, lzo_bitops_unused_funcs)(void) +{ + LZO_UNUSED_FUNC(lzo_bitops_unused_funcs); + LZO_UNUSED_FUNC(lzo_bitops_ctlz32_func); + LZO_UNUSED_FUNC(lzo_bitops_cttz32_func); +#if defined(lzo_uint64_t) + LZO_UNUSED_FUNC(lzo_bitops_ctlz64_func); + LZO_UNUSED_FUNC(lzo_bitops_cttz64_func); +#endif +} + + +/*********************************************************************** +// memops +************************************************************************/ + +#if defined(__lzo_alignof) && !(LZO_CFG_NO_UNALIGNED) +/* CBUG: disabled because of gcc bug 64516 */ +#if !defined(lzo_memops_tcheck__) && 0 +#define lzo_memops_tcheck__(t,a,b) ((void)0, sizeof(t) == (a) && __lzo_alignof(t) == (b)) +#endif +#endif +#ifndef lzo_memops_TU0p +#define lzo_memops_TU0p void __LZO_MMODEL * +#endif +#ifndef lzo_memops_TU1p +#define lzo_memops_TU1p unsigned char __LZO_MMODEL * +#endif +#ifndef lzo_memops_TU2p +#if (LZO_OPT_UNALIGNED16) +typedef lzo_uint16_t __lzo_may_alias lzo_memops_TU2; +#define lzo_memops_TU2p volatile lzo_memops_TU2 * +#elif defined(__lzo_byte_struct) +__lzo_byte_struct(lzo_memops_TU2_struct,2) +typedef struct lzo_memops_TU2_struct lzo_memops_TU2; +#else +struct lzo_memops_TU2_struct { unsigned char a[2]; } __lzo_may_alias; +typedef struct lzo_memops_TU2_struct lzo_memops_TU2; +#endif +#ifndef lzo_memops_TU2p +#define lzo_memops_TU2p lzo_memops_TU2 * +#endif +#endif +#ifndef lzo_memops_TU4p +#if (LZO_OPT_UNALIGNED32) +typedef lzo_uint32_t __lzo_may_alias lzo_memops_TU4; +#define lzo_memops_TU4p volatile lzo_memops_TU4 __LZO_MMODEL * +#elif defined(__lzo_byte_struct) +__lzo_byte_struct(lzo_memops_TU4_struct,4) +typedef struct lzo_memops_TU4_struct lzo_memops_TU4; +#else +struct lzo_memops_TU4_struct { unsigned char a[4]; } __lzo_may_alias; +typedef struct lzo_memops_TU4_struct lzo_memops_TU4; +#endif +#ifndef lzo_memops_TU4p +#define lzo_memops_TU4p lzo_memops_TU4 __LZO_MMODEL * +#endif +#endif +#ifndef lzo_memops_TU8p +#if (LZO_OPT_UNALIGNED64) +typedef lzo_uint64_t __lzo_may_alias lzo_memops_TU8; +#define lzo_memops_TU8p volatile lzo_memops_TU8 __LZO_MMODEL * +#elif defined(__lzo_byte_struct) +__lzo_byte_struct(lzo_memops_TU8_struct,8) +typedef struct lzo_memops_TU8_struct lzo_memops_TU8; +#else +struct lzo_memops_TU8_struct { unsigned char a[8]; } __lzo_may_alias; +typedef struct lzo_memops_TU8_struct lzo_memops_TU8; +#endif +#ifndef lzo_memops_TU8p +#define lzo_memops_TU8p lzo_memops_TU8 __LZO_MMODEL * +#endif +#endif +#ifndef lzo_memops_set_TU1p +#define lzo_memops_set_TU1p volatile lzo_memops_TU1p +#endif +#ifndef lzo_memops_move_TU1p +#define lzo_memops_move_TU1p lzo_memops_TU1p +#endif +#define LZO_MEMOPS_SET1(dd,cc) \ + LZO_BLOCK_BEGIN \ + lzo_memops_set_TU1p d__1 = (lzo_memops_set_TU1p) (lzo_memops_TU0p) (dd); \ + d__1[0] = LZO_BYTE(cc); \ + LZO_BLOCK_END +#define LZO_MEMOPS_SET2(dd,cc) \ + LZO_BLOCK_BEGIN \ + lzo_memops_set_TU1p d__2 = (lzo_memops_set_TU1p) (lzo_memops_TU0p) (dd); \ + d__2[0] = LZO_BYTE(cc); d__2[1] = LZO_BYTE(cc); \ + LZO_BLOCK_END +#define LZO_MEMOPS_SET3(dd,cc) \ + LZO_BLOCK_BEGIN \ + lzo_memops_set_TU1p d__3 = (lzo_memops_set_TU1p) (lzo_memops_TU0p) (dd); \ + d__3[0] = LZO_BYTE(cc); d__3[1] = LZO_BYTE(cc); d__3[2] = LZO_BYTE(cc); \ + LZO_BLOCK_END +#define LZO_MEMOPS_SET4(dd,cc) \ + LZO_BLOCK_BEGIN \ + lzo_memops_set_TU1p d__4 = (lzo_memops_set_TU1p) (lzo_memops_TU0p) (dd); \ + d__4[0] = LZO_BYTE(cc); d__4[1] = LZO_BYTE(cc); d__4[2] = LZO_BYTE(cc); d__4[3] = LZO_BYTE(cc); \ + LZO_BLOCK_END +#define LZO_MEMOPS_MOVE1(dd,ss) \ + LZO_BLOCK_BEGIN \ + lzo_memops_move_TU1p d__1 = (lzo_memops_move_TU1p) (lzo_memops_TU0p) (dd); \ + const lzo_memops_move_TU1p s__1 = (const lzo_memops_move_TU1p) (const lzo_memops_TU0p) (ss); \ + d__1[0] = s__1[0]; \ + LZO_BLOCK_END +#define LZO_MEMOPS_MOVE2(dd,ss) \ + LZO_BLOCK_BEGIN \ + lzo_memops_move_TU1p d__2 = (lzo_memops_move_TU1p) (lzo_memops_TU0p) (dd); \ + const lzo_memops_move_TU1p s__2 = (const lzo_memops_move_TU1p) (const lzo_memops_TU0p) (ss); \ + d__2[0] = s__2[0]; d__2[1] = s__2[1]; \ + LZO_BLOCK_END +#define LZO_MEMOPS_MOVE3(dd,ss) \ + LZO_BLOCK_BEGIN \ + lzo_memops_move_TU1p d__3 = (lzo_memops_move_TU1p) (lzo_memops_TU0p) (dd); \ + const lzo_memops_move_TU1p s__3 = (const lzo_memops_move_TU1p) (const lzo_memops_TU0p) (ss); \ + d__3[0] = s__3[0]; d__3[1] = s__3[1]; d__3[2] = s__3[2]; \ + LZO_BLOCK_END +#define LZO_MEMOPS_MOVE4(dd,ss) \ + LZO_BLOCK_BEGIN \ + lzo_memops_move_TU1p d__4 = (lzo_memops_move_TU1p) (lzo_memops_TU0p) (dd); \ + const lzo_memops_move_TU1p s__4 = (const lzo_memops_move_TU1p) (const lzo_memops_TU0p) (ss); \ + d__4[0] = s__4[0]; d__4[1] = s__4[1]; d__4[2] = s__4[2]; d__4[3] = s__4[3]; \ + LZO_BLOCK_END +#define LZO_MEMOPS_MOVE8(dd,ss) \ + LZO_BLOCK_BEGIN \ + lzo_memops_move_TU1p d__8 = (lzo_memops_move_TU1p) (lzo_memops_TU0p) (dd); \ + const lzo_memops_move_TU1p s__8 = (const lzo_memops_move_TU1p) (const lzo_memops_TU0p) (ss); \ + d__8[0] = s__8[0]; d__8[1] = s__8[1]; d__8[2] = s__8[2]; d__8[3] = s__8[3]; \ + d__8[4] = s__8[4]; d__8[5] = s__8[5]; d__8[6] = s__8[6]; d__8[7] = s__8[7]; \ + LZO_BLOCK_END +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(*(lzo_memops_TU1p)0)==1) +#define LZO_MEMOPS_COPY1(dd,ss) LZO_MEMOPS_MOVE1(dd,ss) +#if (LZO_OPT_UNALIGNED16) +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(*(lzo_memops_TU2p)0)==2) +#define LZO_MEMOPS_COPY2(dd,ss) \ + * (lzo_memops_TU2p) (lzo_memops_TU0p) (dd) = * (const lzo_memops_TU2p) (const lzo_memops_TU0p) (ss) +#elif defined(lzo_memops_tcheck__) +#define LZO_MEMOPS_COPY2(dd,ss) \ + LZO_BLOCK_BEGIN if (lzo_memops_tcheck__(lzo_memops_TU2,2,1)) { \ + * (lzo_memops_TU2p) (lzo_memops_TU0p) (dd) = * (const lzo_memops_TU2p) (const lzo_memops_TU0p) (ss); \ + } else { LZO_MEMOPS_MOVE2(dd,ss); } LZO_BLOCK_END +#else +#define LZO_MEMOPS_COPY2(dd,ss) LZO_MEMOPS_MOVE2(dd,ss) +#endif +#if (LZO_OPT_UNALIGNED32) +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(*(lzo_memops_TU4p)0)==4) +#define LZO_MEMOPS_COPY4(dd,ss) \ + * (lzo_memops_TU4p) (lzo_memops_TU0p) (dd) = * (const lzo_memops_TU4p) (const lzo_memops_TU0p) (ss) +#elif defined(lzo_memops_tcheck__) +#define LZO_MEMOPS_COPY4(dd,ss) \ + LZO_BLOCK_BEGIN if (lzo_memops_tcheck__(lzo_memops_TU4,4,1)) { \ + * (lzo_memops_TU4p) (lzo_memops_TU0p) (dd) = * (const lzo_memops_TU4p) (const lzo_memops_TU0p) (ss); \ + } else { LZO_MEMOPS_MOVE4(dd,ss); } LZO_BLOCK_END +#else +#define LZO_MEMOPS_COPY4(dd,ss) LZO_MEMOPS_MOVE4(dd,ss) +#endif +#if (LZO_WORDSIZE != 8) +#define LZO_MEMOPS_COPY8(dd,ss) \ + LZO_BLOCK_BEGIN LZO_MEMOPS_COPY4(dd,ss); LZO_MEMOPS_COPY4((lzo_memops_TU1p)(lzo_memops_TU0p)(dd)+4,(const lzo_memops_TU1p)(const lzo_memops_TU0p)(ss)+4); LZO_BLOCK_END +#else +#if (LZO_OPT_UNALIGNED64) +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(*(lzo_memops_TU8p)0)==8) +#define LZO_MEMOPS_COPY8(dd,ss) \ + * (lzo_memops_TU8p) (lzo_memops_TU0p) (dd) = * (const lzo_memops_TU8p) (const lzo_memops_TU0p) (ss) +#elif (LZO_OPT_UNALIGNED32) +#define LZO_MEMOPS_COPY8(dd,ss) \ + LZO_BLOCK_BEGIN LZO_MEMOPS_COPY4(dd,ss); LZO_MEMOPS_COPY4((lzo_memops_TU1p)(lzo_memops_TU0p)(dd)+4,(const lzo_memops_TU1p)(const lzo_memops_TU0p)(ss)+4); LZO_BLOCK_END +#elif defined(lzo_memops_tcheck__) +#define LZO_MEMOPS_COPY8(dd,ss) \ + LZO_BLOCK_BEGIN if (lzo_memops_tcheck__(lzo_memops_TU8,8,1)) { \ + * (lzo_memops_TU8p) (lzo_memops_TU0p) (dd) = * (const lzo_memops_TU8p) (const lzo_memops_TU0p) (ss); \ + } else { LZO_MEMOPS_MOVE8(dd,ss); } LZO_BLOCK_END +#else +#define LZO_MEMOPS_COPY8(dd,ss) LZO_MEMOPS_MOVE8(dd,ss) +#endif +#endif +#define LZO_MEMOPS_COPYN(dd,ss,nn) \ + LZO_BLOCK_BEGIN \ + lzo_memops_TU1p d__n = (lzo_memops_TU1p) (lzo_memops_TU0p) (dd); \ + const lzo_memops_TU1p s__n = (const lzo_memops_TU1p) (const lzo_memops_TU0p) (ss); \ + lzo_uint n__n = (nn); \ + while ((void)0, n__n >= 8) { LZO_MEMOPS_COPY8(d__n, s__n); d__n += 8; s__n += 8; n__n -= 8; } \ + if ((void)0, n__n >= 4) { LZO_MEMOPS_COPY4(d__n, s__n); d__n += 4; s__n += 4; n__n -= 4; } \ + if ((void)0, n__n > 0) do { *d__n++ = *s__n++; } while (--n__n > 0); \ + LZO_BLOCK_END + +__lzo_static_forceinline lzo_uint16_t lzo_memops_get_le16(const lzo_voidp ss) +{ + lzo_uint16_t v; +#if (LZO_ABI_LITTLE_ENDIAN) + LZO_MEMOPS_COPY2(&v, ss); +#elif (LZO_OPT_UNALIGNED16 && LZO_ARCH_POWERPC && LZO_ABI_BIG_ENDIAN) && (LZO_ASM_SYNTAX_GNUC) + const lzo_memops_TU2p s = (const lzo_memops_TU2p) ss; + unsigned long vv; + __asm__("lhbrx %0,0,%1" : "=r" (vv) : "r" (s), "m" (*s)); + v = (lzo_uint16_t) vv; +#else + const lzo_memops_TU1p s = (const lzo_memops_TU1p) ss; + v = (lzo_uint16_t) (((lzo_uint16_t)s[0]) | ((lzo_uint16_t)s[1] << 8)); +#endif + return v; +} +#if (LZO_OPT_UNALIGNED16) && (LZO_ABI_LITTLE_ENDIAN) +#define LZO_MEMOPS_GET_LE16(ss) (* (const lzo_memops_TU2p) (const lzo_memops_TU0p) (ss)) +#else +#define LZO_MEMOPS_GET_LE16(ss) lzo_memops_get_le16(ss) +#endif + +__lzo_static_forceinline lzo_uint32_t lzo_memops_get_le32(const lzo_voidp ss) +{ + lzo_uint32_t v; +#if (LZO_ABI_LITTLE_ENDIAN) + LZO_MEMOPS_COPY4(&v, ss); +#elif (LZO_OPT_UNALIGNED32 && LZO_ARCH_POWERPC && LZO_ABI_BIG_ENDIAN) && (LZO_ASM_SYNTAX_GNUC) + const lzo_memops_TU4p s = (const lzo_memops_TU4p) ss; + unsigned long vv; + __asm__("lwbrx %0,0,%1" : "=r" (vv) : "r" (s), "m" (*s)); + v = (lzo_uint32_t) vv; +#else + const lzo_memops_TU1p s = (const lzo_memops_TU1p) ss; + v = (lzo_uint32_t) (((lzo_uint32_t)s[0]) | ((lzo_uint32_t)s[1] << 8) | ((lzo_uint32_t)s[2] << 16) | ((lzo_uint32_t)s[3] << 24)); +#endif + return v; +} +#if (LZO_OPT_UNALIGNED32) && (LZO_ABI_LITTLE_ENDIAN) +#define LZO_MEMOPS_GET_LE32(ss) (* (const lzo_memops_TU4p) (const lzo_memops_TU0p) (ss)) +#else +#define LZO_MEMOPS_GET_LE32(ss) lzo_memops_get_le32(ss) +#endif + +#if (LZO_OPT_UNALIGNED64) && (LZO_ABI_LITTLE_ENDIAN) +#define LZO_MEMOPS_GET_LE64(ss) (* (const lzo_memops_TU8p) (const lzo_memops_TU0p) (ss)) +#endif + +__lzo_static_forceinline lzo_uint16_t lzo_memops_get_ne16(const lzo_voidp ss) +{ + lzo_uint16_t v; + LZO_MEMOPS_COPY2(&v, ss); + return v; +} +#if (LZO_OPT_UNALIGNED16) +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(*(lzo_memops_TU2p)0)==2) +#define LZO_MEMOPS_GET_NE16(ss) (* (const lzo_memops_TU2p) (const lzo_memops_TU0p) (ss)) +#else +#define LZO_MEMOPS_GET_NE16(ss) lzo_memops_get_ne16(ss) +#endif + +__lzo_static_forceinline lzo_uint32_t lzo_memops_get_ne32(const lzo_voidp ss) +{ + lzo_uint32_t v; + LZO_MEMOPS_COPY4(&v, ss); + return v; +} +#if (LZO_OPT_UNALIGNED32) +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(*(lzo_memops_TU4p)0)==4) +#define LZO_MEMOPS_GET_NE32(ss) (* (const lzo_memops_TU4p) (const lzo_memops_TU0p) (ss)) +#else +#define LZO_MEMOPS_GET_NE32(ss) lzo_memops_get_ne32(ss) +#endif + +#if (LZO_OPT_UNALIGNED64) +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(*(lzo_memops_TU8p)0)==8) +#define LZO_MEMOPS_GET_NE64(ss) (* (const lzo_memops_TU8p) (const lzo_memops_TU0p) (ss)) +#endif + +__lzo_static_forceinline void lzo_memops_put_le16(lzo_voidp dd, lzo_uint16_t vv) +{ +#if (LZO_ABI_LITTLE_ENDIAN) + LZO_MEMOPS_COPY2(dd, &vv); +#elif (LZO_OPT_UNALIGNED16 && LZO_ARCH_POWERPC && LZO_ABI_BIG_ENDIAN) && (LZO_ASM_SYNTAX_GNUC) + lzo_memops_TU2p d = (lzo_memops_TU2p) dd; + unsigned long v = vv; + __asm__("sthbrx %2,0,%1" : "=m" (*d) : "r" (d), "r" (v)); +#else + lzo_memops_TU1p d = (lzo_memops_TU1p) dd; + d[0] = LZO_BYTE((vv ) & 0xff); + d[1] = LZO_BYTE((vv >> 8) & 0xff); +#endif +} +#if (LZO_OPT_UNALIGNED16) && (LZO_ABI_LITTLE_ENDIAN) +#define LZO_MEMOPS_PUT_LE16(dd,vv) (* (lzo_memops_TU2p) (lzo_memops_TU0p) (dd) = (vv)) +#else +#define LZO_MEMOPS_PUT_LE16(dd,vv) lzo_memops_put_le16(dd,vv) +#endif + +__lzo_static_forceinline void lzo_memops_put_le32(lzo_voidp dd, lzo_uint32_t vv) +{ +#if (LZO_ABI_LITTLE_ENDIAN) + LZO_MEMOPS_COPY4(dd, &vv); +#elif (LZO_OPT_UNALIGNED32 && LZO_ARCH_POWERPC && LZO_ABI_BIG_ENDIAN) && (LZO_ASM_SYNTAX_GNUC) + lzo_memops_TU4p d = (lzo_memops_TU4p) dd; + unsigned long v = vv; + __asm__("stwbrx %2,0,%1" : "=m" (*d) : "r" (d), "r" (v)); +#else + lzo_memops_TU1p d = (lzo_memops_TU1p) dd; + d[0] = LZO_BYTE((vv ) & 0xff); + d[1] = LZO_BYTE((vv >> 8) & 0xff); + d[2] = LZO_BYTE((vv >> 16) & 0xff); + d[3] = LZO_BYTE((vv >> 24) & 0xff); +#endif +} +#if (LZO_OPT_UNALIGNED32) && (LZO_ABI_LITTLE_ENDIAN) +#define LZO_MEMOPS_PUT_LE32(dd,vv) (* (lzo_memops_TU4p) (lzo_memops_TU0p) (dd) = (vv)) +#else +#define LZO_MEMOPS_PUT_LE32(dd,vv) lzo_memops_put_le32(dd,vv) +#endif + +__lzo_static_forceinline void lzo_memops_put_ne16(lzo_voidp dd, lzo_uint16_t vv) +{ + LZO_MEMOPS_COPY2(dd, &vv); +} +#if (LZO_OPT_UNALIGNED16) +#define LZO_MEMOPS_PUT_NE16(dd,vv) (* (lzo_memops_TU2p) (lzo_memops_TU0p) (dd) = (vv)) +#else +#define LZO_MEMOPS_PUT_NE16(dd,vv) lzo_memops_put_ne16(dd,vv) +#endif + +__lzo_static_forceinline void lzo_memops_put_ne32(lzo_voidp dd, lzo_uint32_t vv) +{ + LZO_MEMOPS_COPY4(dd, &vv); +} +#if (LZO_OPT_UNALIGNED32) +#define LZO_MEMOPS_PUT_NE32(dd,vv) (* (lzo_memops_TU4p) (lzo_memops_TU0p) (dd) = (vv)) +#else +#define LZO_MEMOPS_PUT_NE32(dd,vv) lzo_memops_put_ne32(dd,vv) +#endif + +lzo_unused_funcs_impl(void, lzo_memops_unused_funcs)(void) +{ + LZO_UNUSED_FUNC(lzo_memops_unused_funcs); + LZO_UNUSED_FUNC(lzo_memops_get_le16); + LZO_UNUSED_FUNC(lzo_memops_get_le32); + LZO_UNUSED_FUNC(lzo_memops_get_ne16); + LZO_UNUSED_FUNC(lzo_memops_get_ne32); + LZO_UNUSED_FUNC(lzo_memops_put_le16); + LZO_UNUSED_FUNC(lzo_memops_put_le32); + LZO_UNUSED_FUNC(lzo_memops_put_ne16); + LZO_UNUSED_FUNC(lzo_memops_put_ne32); +} + +#endif /* already included */ + +/* vim:set ts=4 sw=4 et: */ diff --git a/tools/z64compress/src/enc/lzo/lzo_mchw.ch b/tools/z64compress/src/enc/lzo/lzo_mchw.ch new file mode 100644 index 0000000000..94bedc3d96 --- /dev/null +++ b/tools/z64compress/src/enc/lzo/lzo_mchw.ch @@ -0,0 +1,222 @@ +/* lzo_mchw.ch -- matching functions using a window + + This file is part of the LZO real-time data compression library. + + Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer + All Rights Reserved. + + The LZO library is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + The LZO library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with the LZO library; see the file COPYING. + If not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + Markus F.X.J. Oberhumer + + http://www.oberhumer.com/opensource/lzo/ + */ + + +/*********************************************************************** +// +************************************************************************/ + +typedef struct +{ + unsigned init; + + lzo_uint look; /* bytes in lookahead buffer */ + + lzo_uint m_len; + lzo_uint m_off; + + lzo_uint last_m_len; + lzo_uint last_m_off; + + const lzo_bytep bp; + const lzo_bytep ip; + const lzo_bytep in; + const lzo_bytep in_end; + lzo_bytep out; + + lzo_callback_p cb; + + lzo_uint textsize; /* text size counter */ + lzo_uint codesize; /* code size counter */ + lzo_uint printcount; /* counter for reporting progress every 1K bytes */ + + /* some stats */ + lzo_uint lit_bytes; + lzo_uint match_bytes; + lzo_uint rep_bytes; + lzo_uint lazy; + +#if defined(LZO1B) + lzo_uint r1_m_len; + + /* some stats */ + lzo_uint r1_r, m3_r, m2_m, m3_m; +#endif + +#if defined(LZO1C) + lzo_uint r1_m_len; + lzo_bytep m3; + + /* some stats */ + lzo_uint r1_r, m3_r, m2_m, m3_m; +#endif + +#if defined(LZO1F) + lzo_uint r1_lit; + lzo_uint r1_m_len; + + /* some stats */ + lzo_uint r1_r, m2_m, m3_m; +#endif + +#if defined(LZO1X) || defined(LZO1Y) || defined(LZO1Z) + lzo_uint r1_lit; + lzo_uint r1_m_len; + + /* some stats */ + lzo_uint m1a_m, m1b_m, m2_m, m3_m, m4_m; + lzo_uint lit1_r, lit2_r, lit3_r; +#endif + +#if defined(LZO2A) + /* some stats */ + lzo_uint m1, m2, m3, m4; +#endif +} +LZO_COMPRESS_T; + + +#define getbyte(c) ((c).ip < (c).in_end ? *((c).ip)++ : (-1)) + +#include "lzo_swd.ch" + + +/*********************************************************************** +// +************************************************************************/ + +static int +init_match ( LZO_COMPRESS_T *c, lzo_swd_p s, + const lzo_bytep dict, lzo_uint dict_len, + lzo_uint32_t flags ) +{ + int r; + + assert(!c->init); + c->init = 1; + + s->c = c; + + c->last_m_len = c->last_m_off = 0; + + c->textsize = c->codesize = c->printcount = 0; + c->lit_bytes = c->match_bytes = c->rep_bytes = 0; + c->lazy = 0; + + r = swd_init(s,dict,dict_len); + if (r != LZO_E_OK) + { + swd_exit(s); + return r; + } + + s->use_best_off = (flags & 1) ? 1 : 0; + return LZO_E_OK; +} + + +/*********************************************************************** +// +************************************************************************/ + +static int +find_match ( LZO_COMPRESS_T *c, lzo_swd_p s, + lzo_uint this_len, lzo_uint skip ) +{ + assert(c->init); + + if (skip > 0) + { + assert(this_len >= skip); + swd_accept(s, this_len - skip); + c->textsize += this_len - skip + 1; + } + else + { + assert(this_len <= 1); + c->textsize += this_len - skip; + } + + s->m_len = SWD_THRESHOLD; + s->m_off = 0; +#ifdef SWD_BEST_OFF + if (s->use_best_off) + lzo_memset(s->best_pos,0,sizeof(s->best_pos)); +#endif + swd_findbest(s); + c->m_len = s->m_len; + c->m_off = s->m_off; + + swd_getbyte(s); + + if (s->b_char < 0) + { + c->look = 0; + c->m_len = 0; + swd_exit(s); + } + else + { + c->look = s->look + 1; + } + c->bp = c->ip - c->look; + +#if 0 + /* brute force match search */ + if (c->m_len > SWD_THRESHOLD && c->m_len + 1 <= c->look) + { + const lzo_bytep ip = c->bp; + const lzo_bytep m = c->bp - c->m_off; + const lzo_bytep in = c->in; + + if (ip - in > s->swd_n) + in = ip - s->swd_n; + for (;;) + { + while (*in != *ip) + in++; + if (in == ip) + break; + if (in != m) + if (lzo_memcmp(in,ip,c->m_len+1) == 0) + printf("%p %p %p %5d\n",in,ip,m,c->m_len); + in++; + } + } +#endif + + if (c->cb && c->cb->nprogress && c->textsize > c->printcount) + { + (*c->cb->nprogress)(c->cb, c->textsize, c->codesize, 0); + c->printcount += 1024; + } + + return LZO_E_OK; +} + + +/* vim:set ts=4 sw=4 et: */ diff --git a/tools/z64compress/src/enc/lzo/lzo_ptr.c b/tools/z64compress/src/enc/lzo/lzo_ptr.c new file mode 100644 index 0000000000..d2def7f637 --- /dev/null +++ b/tools/z64compress/src/enc/lzo/lzo_ptr.c @@ -0,0 +1,80 @@ +/* lzo_ptr.c -- low-level pointer constructs + + This file is part of the LZO real-time data compression library. + + Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer + All Rights Reserved. + + The LZO library is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + The LZO library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with the LZO library; see the file COPYING. + If not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + Markus F.X.J. Oberhumer + + http://www.oberhumer.com/opensource/lzo/ + */ + + +#include "lzo_conf.h" + + +/*********************************************************************** +// +************************************************************************/ + +LZO_PUBLIC(lzo_uintptr_t) +__lzo_ptr_linear(const lzo_voidp ptr) +{ + lzo_uintptr_t p; + +#if (LZO_ARCH_I086) +#error "LZO_ARCH_I086 is unsupported" +#elif (LZO_MM_PVP) +#error "LZO_MM_PVP is unsupported" +#else + p = (lzo_uintptr_t) PTR_LINEAR(ptr); +#endif + + return p; +} + + +/*********************************************************************** +// +************************************************************************/ + +LZO_PUBLIC(unsigned) +__lzo_align_gap(const lzo_voidp ptr, lzo_uint size) +{ +#if (__LZO_UINTPTR_T_IS_POINTER) +#error "__LZO_UINTPTR_T_IS_POINTER is unsupported" +#else + lzo_uintptr_t p, n; + if (size < 2) return 0; + p = __lzo_ptr_linear(ptr); +#if 0 + n = (((p + size - 1) / size) * size) - p; +#else + if ((size & (size - 1)) != 0) + return 0; + n = size; n = ((p + n - 1) & ~(n - 1)) - p; +#endif +#endif + assert((long)n >= 0); + assert(n <= size); + return (unsigned)n; +} + + +/* vim:set ts=4 sw=4 et: */ diff --git a/tools/z64compress/src/enc/lzo/lzo_ptr.h b/tools/z64compress/src/enc/lzo/lzo_ptr.h new file mode 100644 index 0000000000..8d7ee44835 --- /dev/null +++ b/tools/z64compress/src/enc/lzo/lzo_ptr.h @@ -0,0 +1,123 @@ +/* lzo_ptr.h -- low-level pointer constructs + + This file is part of the LZO real-time data compression library. + + Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer + All Rights Reserved. + + The LZO library is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + The LZO library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with the LZO library; see the file COPYING. + If not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + Markus F.X.J. Oberhumer + + http://www.oberhumer.com/opensource/lzo/ + */ + + +/* WARNING: this file should *not* be used by applications. It is + part of the implementation of the library and is subject + to change. + */ + + +#ifndef __LZO_PTR_H +#define __LZO_PTR_H 1 + +#ifdef __cplusplus +extern "C" { +#endif + + +/*********************************************************************** +// +************************************************************************/ + +/* Always use the safe (=integral) version for pointer-comparisons. + * The compiler should optimize away the additional casts anyway. + * + * Note that this only works if the representation and ordering + * of the pointer and the integral is the same (at bit level). + */ + +#if (LZO_ARCH_I086) +#error "LZO_ARCH_I086 is unsupported" +#elif (LZO_MM_PVP) +#error "LZO_MM_PVP is unsupported" +#else +#define PTR(a) ((lzo_uintptr_t) (a)) +#define PTR_LINEAR(a) PTR(a) +#define PTR_ALIGNED_4(a) ((PTR_LINEAR(a) & 3) == 0) +#define PTR_ALIGNED_8(a) ((PTR_LINEAR(a) & 7) == 0) +#define PTR_ALIGNED2_4(a,b) (((PTR_LINEAR(a) | PTR_LINEAR(b)) & 3) == 0) +#define PTR_ALIGNED2_8(a,b) (((PTR_LINEAR(a) | PTR_LINEAR(b)) & 7) == 0) +#endif + +#define PTR_LT(a,b) (PTR(a) < PTR(b)) +#define PTR_GE(a,b) (PTR(a) >= PTR(b)) +#define PTR_DIFF(a,b) (PTR(a) - PTR(b)) +#define pd(a,b) ((lzo_uint) ((a)-(b))) + + +LZO_EXTERN(lzo_uintptr_t) +__lzo_ptr_linear(const lzo_voidp ptr); + + +typedef union +{ + char a_char; + unsigned char a_uchar; + short a_short; + unsigned short a_ushort; + int a_int; + unsigned int a_uint; + long a_long; + unsigned long a_ulong; + lzo_int a_lzo_int; + lzo_uint a_lzo_uint; + lzo_xint a_lzo_xint; + lzo_int16_t a_lzo_int16_t; + lzo_uint16_t a_lzo_uint16_t; + lzo_int32_t a_lzo_int32_t; + lzo_uint32_t a_lzo_uint32_t; +#if defined(lzo_uint64_t) + lzo_int64_t a_lzo_int64_t; + lzo_uint64_t a_lzo_uint64_t; +#endif + size_t a_size_t; + ptrdiff_t a_ptrdiff_t; + lzo_uintptr_t a_lzo_uintptr_t; + void * a_void_p; + char * a_char_p; + unsigned char * a_uchar_p; + const void * a_c_void_p; + const char * a_c_char_p; + const unsigned char * a_c_uchar_p; + lzo_voidp a_lzo_voidp; + lzo_bytep a_lzo_bytep; + const lzo_voidp a_c_lzo_voidp; + const lzo_bytep a_c_lzo_bytep; +} +lzo_full_align_t; + + + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /* already included */ + + +/* vim:set ts=4 sw=4 et: */ diff --git a/tools/z64compress/src/enc/lzo/lzo_supp.h b/tools/z64compress/src/enc/lzo/lzo_supp.h new file mode 100644 index 0000000000..a2c90210d8 --- /dev/null +++ b/tools/z64compress/src/enc/lzo/lzo_supp.h @@ -0,0 +1,3678 @@ +/* lzo_supp.h -- architecture, OS and compiler specific defines + + This file is part of the LZO real-time data compression library. + + Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer + All Rights Reserved. + + The LZO library is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + The LZO library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with the LZO library; see the file COPYING. + If not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + Markus F.X.J. Oberhumer + + http://www.oberhumer.com/opensource/lzo/ + */ + + +#ifndef __LZO_SUPP_H_INCLUDED +#define __LZO_SUPP_H_INCLUDED 1 +#if (LZO_CFG_NO_CONFIG_HEADER) +#elif defined(LZO_CFG_CONFIG_HEADER) +#else +#if !(LZO_CFG_AUTO_NO_HEADERS) +#if (LZO_LIBC_NAKED) +#elif (LZO_LIBC_FREESTANDING) +# define HAVE_LIMITS_H 1 +# define HAVE_STDARG_H 1 +# define HAVE_STDDEF_H 1 +#elif (LZO_LIBC_MOSTLY_FREESTANDING) +# define HAVE_LIMITS_H 1 +# define HAVE_SETJMP_H 1 +# define HAVE_STDARG_H 1 +# define HAVE_STDDEF_H 1 +# define HAVE_STDIO_H 1 +# define HAVE_STRING_H 1 +#else +#define STDC_HEADERS 1 +#define HAVE_ASSERT_H 1 +#define HAVE_CTYPE_H 1 +#define HAVE_DIRENT_H 1 +#define HAVE_ERRNO_H 1 +#define HAVE_FCNTL_H 1 +#define HAVE_FLOAT_H 1 +#define HAVE_LIMITS_H 1 +#define HAVE_MALLOC_H 1 +#define HAVE_MEMORY_H 1 +#define HAVE_SETJMP_H 1 +#define HAVE_SIGNAL_H 1 +#define HAVE_STDARG_H 1 +#define HAVE_STDDEF_H 1 +#define HAVE_STDIO_H 1 +#define HAVE_STDLIB_H 1 +#define HAVE_STRING_H 1 +#define HAVE_TIME_H 1 +#define HAVE_UNISTD_H 1 +#define HAVE_UTIME_H 1 +#define HAVE_SYS_STAT_H 1 +#define HAVE_SYS_TIME_H 1 +#define HAVE_SYS_TYPES_H 1 +#if (LZO_OS_POSIX) +# if (LZO_OS_POSIX_AIX) +# define HAVE_SYS_RESOURCE_H 1 +# elif (LZO_OS_POSIX_DARWIN || LZO_OS_POSIX_FREEBSD || LZO_OS_POSIX_NETBSD || LZO_OS_POSIX_OPENBSD) +# define HAVE_STRINGS_H 1 +# undef HAVE_MALLOC_H +# elif (LZO_OS_POSIX_HPUX || LZO_OS_POSIX_INTERIX) +# define HAVE_ALLOCA_H 1 +# elif (LZO_OS_POSIX_DARWIN && LZO_LIBC_MSL) +# undef HAVE_SYS_TIME_H +# undef HAVE_SYS_TYPES_H +# elif (LZO_OS_POSIX_SOLARIS || LZO_OS_POSIX_SUNOS) +# define HAVE_ALLOCA_H 1 +# endif +# if (LZO_LIBC_DIETLIBC || LZO_LIBC_GLIBC || LZO_LIBC_UCLIBC) +# define HAVE_STRINGS_H 1 +# define HAVE_SYS_MMAN_H 1 +# define HAVE_SYS_RESOURCE_H 1 +# define HAVE_SYS_WAIT_H 1 +# endif +# if (LZO_LIBC_NEWLIB) +# undef HAVE_STRINGS_H +# endif +#elif (LZO_OS_CYGWIN) +# define HAVE_IO_H 1 +#elif (LZO_OS_EMX) +# define HAVE_ALLOCA_H 1 +# define HAVE_IO_H 1 +#elif (LZO_ARCH_M68K && LZO_OS_TOS && LZO_CC_GNUC) +# if !defined(__MINT__) +# undef HAVE_MALLOC_H +# endif +#elif (LZO_ARCH_M68K && LZO_OS_TOS && (LZO_CC_PUREC || LZO_CC_TURBOC)) +# undef HAVE_DIRENT_H +# undef HAVE_FCNTL_H +# undef HAVE_MALLOC_H +# undef HAVE_MEMORY_H +# undef HAVE_UNISTD_H +# undef HAVE_UTIME_H +# undef HAVE_SYS_STAT_H +# undef HAVE_SYS_TIME_H +# undef HAVE_SYS_TYPES_H +#endif +#if (LZO_OS_DOS16 || LZO_OS_DOS32 || LZO_OS_OS2 || LZO_OS_OS216 || LZO_OS_WIN16 || LZO_OS_WIN32 || LZO_OS_WIN64) +#define HAVE_CONIO_H 1 +#define HAVE_DIRECT_H 1 +#define HAVE_DOS_H 1 +#define HAVE_IO_H 1 +#define HAVE_SHARE_H 1 +#if (LZO_CC_AZTECC) +# undef HAVE_CONIO_H +# undef HAVE_DIRECT_H +# undef HAVE_DIRENT_H +# undef HAVE_MALLOC_H +# undef HAVE_SHARE_H +# undef HAVE_UNISTD_H +# undef HAVE_UTIME_H +# undef HAVE_SYS_STAT_H +# undef HAVE_SYS_TIME_H +# undef HAVE_SYS_TYPES_H +#elif (LZO_CC_BORLANDC) +# undef HAVE_UNISTD_H +# undef HAVE_SYS_TIME_H +# if (LZO_OS_WIN32 || LZO_OS_WIN64) +# undef HAVE_DIRENT_H +# endif +# if (__BORLANDC__ < 0x0400) +# undef HAVE_DIRENT_H +# undef HAVE_UTIME_H +# endif +#elif (LZO_CC_DMC) +# undef HAVE_DIRENT_H +# undef HAVE_UNISTD_H +# define HAVE_SYS_DIRENT_H 1 +#elif (LZO_OS_DOS32 && LZO_CC_GNUC) && defined(__DJGPP__) +#elif (LZO_OS_DOS32 && LZO_CC_HIGHC) +# define HAVE_ALLOCA_H 1 +# undef HAVE_DIRENT_H +# undef HAVE_UNISTD_H +#elif (LZO_CC_IBMC && LZO_OS_OS2) +# undef HAVE_DOS_H +# undef HAVE_DIRENT_H +# undef HAVE_UNISTD_H +# undef HAVE_UTIME_H +# undef HAVE_SYS_TIME_H +# define HAVE_SYS_UTIME_H 1 +#elif (LZO_CC_CLANG_C2 || LZO_CC_CLANG_MSC || LZO_CC_GHS || LZO_CC_INTELC_MSC || LZO_CC_MSC) +# undef HAVE_DIRENT_H +# undef HAVE_UNISTD_H +# undef HAVE_UTIME_H +# undef HAVE_SYS_TIME_H +# define HAVE_SYS_UTIME_H 1 +#elif (LZO_CC_LCCWIN32) +# undef HAVE_DIRENT_H +# undef HAVE_DOS_H +# undef HAVE_UNISTD_H +# undef HAVE_SYS_TIME_H +#elif (LZO_OS_WIN32 && LZO_CC_GNUC) && defined(__MINGW32__) +# undef HAVE_UTIME_H +# define HAVE_SYS_UTIME_H 1 +#elif (LZO_OS_WIN32 && LZO_LIBC_MSL) +# define HAVE_ALLOCA_H 1 +# undef HAVE_DOS_H +# undef HAVE_SHARE_H +# undef HAVE_SYS_TIME_H +#elif (LZO_CC_NDPC) +# undef HAVE_DIRENT_H +# undef HAVE_DOS_H +# undef HAVE_UNISTD_H +# undef HAVE_UTIME_H +# undef HAVE_SYS_TIME_H +#elif (LZO_CC_PACIFICC) +# undef HAVE_DIRECT_H +# undef HAVE_DIRENT_H +# undef HAVE_FCNTL_H +# undef HAVE_IO_H +# undef HAVE_MALLOC_H +# undef HAVE_MEMORY_H +# undef HAVE_SHARE_H +# undef HAVE_UNISTD_H +# undef HAVE_UTIME_H +# undef HAVE_SYS_STAT_H +# undef HAVE_SYS_TIME_H +# undef HAVE_SYS_TYPES_H +#elif (LZO_OS_WIN32 && LZO_CC_PELLESC) +# undef HAVE_DIRENT_H +# undef HAVE_DOS_H +# undef HAVE_MALLOC_H +# undef HAVE_SHARE_H +# undef HAVE_UNISTD_H +# undef HAVE_UTIME_H +# undef HAVE_SYS_TIME_H +# if (__POCC__ < 280) +# else +# define HAVE_SYS_UTIME_H 1 +# endif +#elif (LZO_OS_WIN32 && LZO_CC_PGI) && defined(__MINGW32__) +# undef HAVE_UTIME_H +# define HAVE_SYS_UTIME_H 1 +#elif (LZO_OS_WIN32 && LZO_CC_GNUC) && defined(__PW32__) +#elif (LZO_CC_SYMANTECC) +# undef HAVE_DIRENT_H +# undef HAVE_UNISTD_H +# if (__SC__ < 0x700) +# undef HAVE_UTIME_H +# undef HAVE_SYS_TIME_H +# endif +#elif (LZO_CC_TOPSPEEDC) +# undef HAVE_DIRENT_H +# undef HAVE_UNISTD_H +# undef HAVE_UTIME_H +# undef HAVE_SYS_STAT_H +# undef HAVE_SYS_TIME_H +# undef HAVE_SYS_TYPES_H +#elif (LZO_CC_TURBOC) +# undef HAVE_UNISTD_H +# undef HAVE_SYS_TIME_H +# undef HAVE_SYS_TYPES_H +# if (LZO_OS_WIN32 || LZO_OS_WIN64) +# undef HAVE_DIRENT_H +# endif +# if (__TURBOC__ < 0x0200) +# undef HAVE_SIGNAL_H +# endif +# if (__TURBOC__ < 0x0400) +# undef HAVE_DIRECT_H +# undef HAVE_DIRENT_H +# undef HAVE_MALLOC_H +# undef HAVE_MEMORY_H +# undef HAVE_UTIME_H +# endif +#elif (LZO_CC_WATCOMC) +# undef HAVE_DIRENT_H +# undef HAVE_UTIME_H +# undef HAVE_SYS_TIME_H +# define HAVE_SYS_UTIME_H 1 +# if (__WATCOMC__ < 950) +# undef HAVE_UNISTD_H +# endif +#elif (LZO_CC_ZORTECHC) +# undef HAVE_DIRENT_H +# undef HAVE_MEMORY_H +# undef HAVE_UNISTD_H +# undef HAVE_UTIME_H +# undef HAVE_SYS_TIME_H +#endif +#endif +#if (LZO_OS_CONSOLE) +# undef HAVE_DIRENT_H +#endif +#if (LZO_OS_EMBEDDED) +# undef HAVE_DIRENT_H +#endif +#if (LZO_LIBC_ISOC90 || LZO_LIBC_ISOC99) +# undef HAVE_DIRENT_H +# undef HAVE_FCNTL_H +# undef HAVE_MALLOC_H +# undef HAVE_UNISTD_H +# undef HAVE_UTIME_H +# undef HAVE_SYS_STAT_H +# undef HAVE_SYS_TIME_H +# undef HAVE_SYS_TYPES_H +#endif +#if (LZO_LIBC_GLIBC >= 0x020100ul) +# define HAVE_STDINT_H 1 +#elif (LZO_LIBC_DIETLIBC) +# undef HAVE_STDINT_H +#elif (LZO_LIBC_UCLIBC) +# define HAVE_STDINT_H 1 +#elif (LZO_CC_BORLANDC) && (__BORLANDC__ >= 0x560) +# undef HAVE_STDINT_H +#elif (LZO_CC_DMC) && (__DMC__ >= 0x825) +# define HAVE_STDINT_H 1 +#endif +#if (HAVE_SYS_TIME_H && HAVE_TIME_H) +# define TIME_WITH_SYS_TIME 1 +#endif +#endif +#endif +#if !(LZO_CFG_AUTO_NO_FUNCTIONS) +#if (LZO_LIBC_NAKED) +#elif (LZO_LIBC_FREESTANDING) +#elif (LZO_LIBC_MOSTLY_FREESTANDING) +# define HAVE_LONGJMP 1 +# define HAVE_MEMCMP 1 +# define HAVE_MEMCPY 1 +# define HAVE_MEMMOVE 1 +# define HAVE_MEMSET 1 +# define HAVE_SETJMP 1 +#else +#define HAVE_ACCESS 1 +#define HAVE_ALLOCA 1 +#define HAVE_ATEXIT 1 +#define HAVE_ATOI 1 +#define HAVE_ATOL 1 +#define HAVE_CHMOD 1 +#define HAVE_CHOWN 1 +#define HAVE_CTIME 1 +#define HAVE_DIFFTIME 1 +#define HAVE_FILENO 1 +#define HAVE_FSTAT 1 +#define HAVE_GETENV 1 +#define HAVE_GETTIMEOFDAY 1 +#define HAVE_GMTIME 1 +#define HAVE_ISATTY 1 +#define HAVE_LOCALTIME 1 +#define HAVE_LONGJMP 1 +#define HAVE_LSTAT 1 +#define HAVE_MEMCMP 1 +#define HAVE_MEMCPY 1 +#define HAVE_MEMMOVE 1 +#define HAVE_MEMSET 1 +#define HAVE_MKDIR 1 +#define HAVE_MKTIME 1 +#define HAVE_QSORT 1 +#define HAVE_RAISE 1 +#define HAVE_RMDIR 1 +#define HAVE_SETJMP 1 +#define HAVE_SIGNAL 1 +#define HAVE_SNPRINTF 1 +#define HAVE_STAT 1 +#define HAVE_STRCHR 1 +#define HAVE_STRDUP 1 +#define HAVE_STRERROR 1 +#define HAVE_STRFTIME 1 +#define HAVE_STRRCHR 1 +#define HAVE_STRSTR 1 +#define HAVE_TIME 1 +#define HAVE_UMASK 1 +#define HAVE_UTIME 1 +#define HAVE_VSNPRINTF 1 +#if (LZO_OS_BEOS || LZO_OS_CYGWIN || LZO_OS_POSIX || LZO_OS_QNX || LZO_OS_VMS) +# define HAVE_STRCASECMP 1 +# define HAVE_STRNCASECMP 1 +#elif (LZO_OS_WIN32 && LZO_CC_GNUC) && defined(__PW32__) +# define HAVE_STRCASECMP 1 +# define HAVE_STRNCASECMP 1 +#else +# define HAVE_STRICMP 1 +# define HAVE_STRNICMP 1 +#endif +#if (LZO_OS_POSIX) +# if (LZO_OS_POSIX_AIX) +# define HAVE_GETRUSAGE 1 +# elif (LZO_OS_POSIX_DARWIN && LZO_LIBC_MSL) +# undef HAVE_CHOWN +# undef HAVE_LSTAT +# elif (LZO_OS_POSIX_UNICOS) +# undef HAVE_ALLOCA +# undef HAVE_SNPRINTF +# undef HAVE_VSNPRINTF +# endif +# if (LZO_CC_TINYC) +# undef HAVE_ALLOCA +# endif +# if (LZO_LIBC_DIETLIBC || LZO_LIBC_GLIBC || LZO_LIBC_UCLIBC) +# define HAVE_GETRUSAGE 1 +# define HAVE_GETPAGESIZE 1 +# define HAVE_MMAP 1 +# define HAVE_MPROTECT 1 +# define HAVE_MUNMAP 1 +# endif +#elif (LZO_OS_CYGWIN) +# if (LZO_CC_GNUC < 0x025a00ul) +# undef HAVE_GETTIMEOFDAY +# undef HAVE_LSTAT +# endif +# if (LZO_CC_GNUC < 0x025f00ul) +# undef HAVE_SNPRINTF +# undef HAVE_VSNPRINTF +# endif +#elif (LZO_OS_EMX) +# undef HAVE_CHOWN +# undef HAVE_LSTAT +#elif (LZO_ARCH_M68K && LZO_OS_TOS && LZO_CC_GNUC) +# if !defined(__MINT__) +# undef HAVE_SNPRINTF +# undef HAVE_VSNPRINTF +# endif +#elif (LZO_ARCH_M68K && LZO_OS_TOS && (LZO_CC_PUREC || LZO_CC_TURBOC)) +# undef HAVE_ALLOCA +# undef HAVE_ACCESS +# undef HAVE_CHMOD +# undef HAVE_CHOWN +# undef HAVE_FSTAT +# undef HAVE_GETTIMEOFDAY +# undef HAVE_LSTAT +# undef HAVE_SNPRINTF +# undef HAVE_UMASK +# undef HAVE_UTIME +# undef HAVE_VSNPRINTF +#endif +#if (LZO_OS_DOS16 || LZO_OS_DOS32 || LZO_OS_OS2 || LZO_OS_OS216 || LZO_OS_WIN16 || LZO_OS_WIN32 || LZO_OS_WIN64) +#undef HAVE_CHOWN +#undef HAVE_GETTIMEOFDAY +#undef HAVE_LSTAT +#undef HAVE_UMASK +#if (LZO_CC_AZTECC) +# undef HAVE_ALLOCA +# undef HAVE_DIFFTIME +# undef HAVE_FSTAT +# undef HAVE_STRDUP +# undef HAVE_SNPRINTF +# undef HAVE_UTIME +# undef HAVE_VSNPRINTF +#elif (LZO_CC_BORLANDC) +# if (__BORLANDC__ < 0x0400) +# undef HAVE_ALLOCA +# undef HAVE_UTIME +# endif +# if ((__BORLANDC__ < 0x0410) && LZO_OS_WIN16) +# undef HAVE_ALLOCA +# endif +# if (__BORLANDC__ < 0x0550) +# undef HAVE_SNPRINTF +# undef HAVE_VSNPRINTF +# endif +#elif (LZO_CC_DMC) +# if (LZO_OS_WIN16) +# undef HAVE_ALLOCA +# endif +# define snprintf _snprintf +# define vsnprintf _vsnprintf +#elif (LZO_OS_DOS32 && LZO_CC_GNUC) && defined(__DJGPP__) +# undef HAVE_SNPRINTF +# undef HAVE_VSNPRINTF +#elif (LZO_OS_DOS32 && LZO_CC_HIGHC) +# undef HAVE_SNPRINTF +# undef HAVE_VSNPRINTF +#elif (LZO_CC_GHS) +# undef HAVE_ALLOCA +# ifndef snprintf +# define snprintf _snprintf +# endif +# ifndef vsnprintf +# define vsnprintf _vsnprintf +# endif +#elif (LZO_CC_IBMC) +# undef HAVE_SNPRINTF +# undef HAVE_VSNPRINTF +#elif (LZO_CC_CLANG_MSC || LZO_CC_INTELC_MSC) +# ifndef snprintf +# define snprintf _snprintf +# endif +# ifndef vsnprintf +# define vsnprintf _vsnprintf +# endif +#elif (LZO_CC_LCCWIN32) +# define utime _utime +#elif (LZO_CC_CLANG_C2 || LZO_CC_MSC) +# if (_MSC_VER < 600) +# undef HAVE_STRFTIME +# endif +# if (_MSC_VER < 700) +# undef HAVE_SNPRINTF +# undef HAVE_VSNPRINTF +# elif (_MSC_VER < 1500) +# ifndef snprintf +# define snprintf _snprintf +# endif +# ifndef vsnprintf +# define vsnprintf _vsnprintf +# endif +# elif (_MSC_VER < 1900) +# ifndef snprintf +# define snprintf _snprintf +# endif +# endif +# if ((_MSC_VER < 800) && LZO_OS_WIN16) +# undef HAVE_ALLOCA +# endif +# if (LZO_ARCH_I086) && defined(__cplusplus) +# undef HAVE_LONGJMP +# undef HAVE_SETJMP +# endif +#elif (LZO_OS_WIN32 && LZO_CC_GNUC) && defined(__MINGW32__) +# if (LZO_CC_GNUC < 0x025f00ul) +# undef HAVE_SNPRINTF +# undef HAVE_VSNPRINTF +# else +# define snprintf _snprintf +# define vsnprintf _vsnprintf +# endif +#elif (LZO_OS_WIN32 && LZO_LIBC_MSL) +# if (__MSL__ < 0x8000ul) +# undef HAVE_CHMOD +# endif +#elif (LZO_CC_NDPC) +# undef HAVE_ALLOCA +# undef HAVE_SNPRINTF +# undef HAVE_STRNICMP +# undef HAVE_UTIME +# undef HAVE_VSNPRINTF +# if defined(__cplusplus) +# undef HAVE_STAT +# endif +#elif (LZO_CC_PACIFICC) +# undef HAVE_ACCESS +# undef HAVE_ALLOCA +# undef HAVE_CHMOD +# undef HAVE_DIFFTIME +# undef HAVE_FSTAT +# undef HAVE_MKTIME +# undef HAVE_RAISE +# undef HAVE_SNPRINTF +# undef HAVE_STRFTIME +# undef HAVE_UTIME +# undef HAVE_VSNPRINTF +#elif (LZO_OS_WIN32 && LZO_CC_PELLESC) +# if (__POCC__ < 280) +# define alloca _alloca +# undef HAVE_UTIME +# endif +#elif (LZO_OS_WIN32 && LZO_CC_PGI) && defined(__MINGW32__) +# define snprintf _snprintf +# define vsnprintf _vsnprintf +#elif (LZO_OS_WIN32 && LZO_CC_GNUC) && defined(__PW32__) +# undef HAVE_SNPRINTF +# undef HAVE_VSNPRINTF +#elif (LZO_CC_SYMANTECC) +# if (LZO_OS_WIN16 && (LZO_MM_MEDIUM || LZO_MM_LARGE || LZO_MM_HUGE)) +# undef HAVE_ALLOCA +# endif +# if (__SC__ < 0x600) +# undef HAVE_SNPRINTF +# undef HAVE_VSNPRINTF +# else +# define snprintf _snprintf +# define vsnprintf _vsnprintf +# endif +# if (__SC__ < 0x700) +# undef HAVE_DIFFTIME +# undef HAVE_UTIME +# endif +#elif (LZO_CC_TOPSPEEDC) +# undef HAVE_SNPRINTF +# undef HAVE_VSNPRINTF +#elif (LZO_CC_TURBOC) +# undef HAVE_ALLOCA +# undef HAVE_SNPRINTF +# undef HAVE_VSNPRINTF +# if (__TURBOC__ < 0x0200) +# undef HAVE_RAISE +# undef HAVE_SIGNAL +# endif +# if (__TURBOC__ < 0x0295) +# undef HAVE_MKTIME +# undef HAVE_STRFTIME +# endif +# if (__TURBOC__ < 0x0400) +# undef HAVE_UTIME +# endif +#elif (LZO_CC_WATCOMC) +# if (__WATCOMC__ < 1100) +# undef HAVE_SNPRINTF +# undef HAVE_VSNPRINTF +# elif (__WATCOMC__ < 1200) +# define snprintf _snprintf +# define vsnprintf _vsnprintf +# endif +#elif (LZO_CC_ZORTECHC) +# if (LZO_OS_WIN16 && (LZO_MM_MEDIUM || LZO_MM_LARGE || LZO_MM_HUGE)) +# undef HAVE_ALLOCA +# endif +# undef HAVE_DIFFTIME +# undef HAVE_SNPRINTF +# undef HAVE_UTIME +# undef HAVE_VSNPRINTF +#endif +#endif +#if (LZO_OS_CONSOLE) +# undef HAVE_ACCESS +# undef HAVE_CHMOD +# undef HAVE_CHOWN +# undef HAVE_GETTIMEOFDAY +# undef HAVE_LSTAT +# undef HAVE_TIME +# undef HAVE_UMASK +# undef HAVE_UTIME +#endif +#if (LZO_LIBC_ISOC90 || LZO_LIBC_ISOC99) +# undef HAVE_ACCESS +# undef HAVE_CHMOD +# undef HAVE_CHOWN +# undef HAVE_FILENO +# undef HAVE_FSTAT +# undef HAVE_GETTIMEOFDAY +# undef HAVE_LSTAT +# undef HAVE_STAT +# undef HAVE_UMASK +# undef HAVE_UTIME +# if 1 +# undef HAVE_ALLOCA +# undef HAVE_ISATTY +# undef HAVE_MKDIR +# undef HAVE_RMDIR +# undef HAVE_STRDUP +# undef HAVE_STRICMP +# undef HAVE_STRNICMP +# endif +#endif +#endif +#endif +#if !(LZO_CFG_AUTO_NO_SIZES) +#if !defined(SIZEOF_SHORT) && defined(LZO_SIZEOF_SHORT) +# define SIZEOF_SHORT LZO_SIZEOF_SHORT +#endif +#if !defined(SIZEOF_INT) && defined(LZO_SIZEOF_INT) +# define SIZEOF_INT LZO_SIZEOF_INT +#endif +#if !defined(SIZEOF_LONG) && defined(LZO_SIZEOF_LONG) +# define SIZEOF_LONG LZO_SIZEOF_LONG +#endif +#if !defined(SIZEOF_LONG_LONG) && defined(LZO_SIZEOF_LONG_LONG) +# define SIZEOF_LONG_LONG LZO_SIZEOF_LONG_LONG +#endif +#if !defined(SIZEOF___INT32) && defined(LZO_SIZEOF___INT32) +# define SIZEOF___INT32 LZO_SIZEOF___INT32 +#endif +#if !defined(SIZEOF___INT64) && defined(LZO_SIZEOF___INT64) +# define SIZEOF___INT64 LZO_SIZEOF___INT64 +#endif +#if !defined(SIZEOF_VOID_P) && defined(LZO_SIZEOF_VOID_P) +# define SIZEOF_VOID_P LZO_SIZEOF_VOID_P +#endif +#if !defined(SIZEOF_SIZE_T) && defined(LZO_SIZEOF_SIZE_T) +# define SIZEOF_SIZE_T LZO_SIZEOF_SIZE_T +#endif +#if !defined(SIZEOF_PTRDIFF_T) && defined(LZO_SIZEOF_PTRDIFF_T) +# define SIZEOF_PTRDIFF_T LZO_SIZEOF_PTRDIFF_T +#endif +#endif +#if (HAVE_SIGNAL) && !defined(RETSIGTYPE) +# define RETSIGTYPE void +#endif +#endif +#if !(LZO_CFG_SKIP_LZO_TYPES) +#if 1 && !defined(lzo_signo_t) && defined(__linux__) && defined(__dietlibc__) && (LZO_SIZEOF_INT != 4) +# define lzo_signo_t lzo_int32e_t +#endif +#if !defined(lzo_signo_t) +# define lzo_signo_t int +#endif +#if defined(__cplusplus) +extern "C" { +#endif +#if (LZO_BROKEN_CDECL_ALT_SYNTAX) +typedef void __lzo_cdecl_sighandler (*lzo_sighandler_t)(lzo_signo_t); +#else +typedef void (__lzo_cdecl_sighandler *lzo_sighandler_t)(lzo_signo_t); +#endif +#if defined(__cplusplus) +} +#endif +#endif +#endif +#if defined(LZO_WANT_ACC_INCD_H) +# undef LZO_WANT_ACC_INCD_H +#ifndef __LZO_INCD_H_INCLUDED +#define __LZO_INCD_H_INCLUDED 1 +#if (LZO_LIBC_NAKED) +#ifndef __LZO_FALLBACK_STDDEF_H_INCLUDED +#define __LZO_FALLBACK_STDDEF_H_INCLUDED 1 +#if defined(__PTRDIFF_TYPE__) +typedef __PTRDIFF_TYPE__ lzo_fallback_ptrdiff_t; +#elif defined(__MIPS_PSX2__) +typedef int lzo_fallback_ptrdiff_t; +#else +typedef long lzo_fallback_ptrdiff_t; +#endif +#if defined(__SIZE_TYPE__) +typedef __SIZE_TYPE__ lzo_fallback_size_t; +#elif defined(__MIPS_PSX2__) +typedef unsigned int lzo_fallback_size_t; +#else +typedef unsigned long lzo_fallback_size_t; +#endif +#if !defined(ptrdiff_t) +typedef lzo_fallback_ptrdiff_t ptrdiff_t; +#ifndef _PTRDIFF_T_DEFINED +#define _PTRDIFF_T_DEFINED 1 +#endif +#endif +#if !defined(size_t) +typedef lzo_fallback_size_t size_t; +#ifndef _SIZE_T_DEFINED +#define _SIZE_T_DEFINED 1 +#endif +#endif +#if !defined(__cplusplus) && !defined(wchar_t) +typedef unsigned short wchar_t; +#ifndef _WCHAR_T_DEFINED +#define _WCHAR_T_DEFINED 1 +#endif +#endif +#ifndef NULL +#if defined(__cplusplus) && defined(__GNUC__) && (__GNUC__ >= 4) +#define NULL __null +#elif defined(__cplusplus) +#define NULL 0 +#else +#define NULL ((void*)0) +#endif +#endif +#ifndef offsetof +#define offsetof(s,m) ((size_t)((ptrdiff_t)&(((s*)0)->m))) +#endif +#endif +#elif (LZO_LIBC_FREESTANDING) +# if defined(HAVE_STDDEF_H) && (HAVE_STDDEF_H+0) +# include +# endif +# if defined(HAVE_STDINT_H) && (HAVE_STDINT_H+0) +# include +# endif +#elif (LZO_LIBC_MOSTLY_FREESTANDING) +# if defined(HAVE_STDIO_H) && (HAVE_STDIO_H+0) +# include +# endif +# if defined(HAVE_STDDEF_H) && (HAVE_STDDEF_H+0) +# include +# endif +# if defined(HAVE_STDINT_H) && (HAVE_STDINT_H+0) +# include +# endif +#else +#include +#if defined(HAVE_TIME_H) && (HAVE_TIME_H+0) && defined(__MSL__) && defined(__cplusplus) +# include +#endif +#if defined(HAVE_SYS_TYPES_H) && (HAVE_SYS_TYPES_H+0) +# include +#endif +#if defined(HAVE_SYS_STAT_H) && (HAVE_SYS_STAT_H+0) +# include +#endif +#if defined(STDC_HEADERS) && (STDC_HEADERS+0) +# include +#elif defined(HAVE_STDLIB_H) && (HAVE_STDLIB_H+0) +# include +#endif +#include +#if defined(HAVE_STRING_H) && (HAVE_STRING_H+0) +# if defined(STDC_HEADERS) && (STDC_HEADERS+0) +# elif defined(HAVE_MEMORY_H) && (HAVE_MEMORY_H+0) +# include +# endif +# include +#endif +#if defined(HAVE_STRINGS_H) && (HAVE_STRINGS_H+0) +# include +#endif +#if defined(HAVE_INTTYPES_H) && (HAVE_INTTYPES_H+0) +# include +#endif +#if defined(HAVE_STDINT_H) && (HAVE_STDINT_H+0) +# include +#endif +#if defined(HAVE_UNISTD_H) && (HAVE_UNISTD_H+0) +# include +#endif +#endif +#endif +#endif +#if defined(LZO_WANT_ACC_INCE_H) +# undef LZO_WANT_ACC_INCE_H +#ifndef __LZO_INCE_H_INCLUDED +#define __LZO_INCE_H_INCLUDED 1 +#if (LZO_LIBC_NAKED) +#elif (LZO_LIBC_FREESTANDING) +#elif (LZO_LIBC_MOSTLY_FREESTANDING) +# if (HAVE_SETJMP_H) +# include +# endif +#else +#if (HAVE_STDARG_H) +# include +#endif +#if (HAVE_CTYPE_H) +# include +#endif +#if (HAVE_ERRNO_H) +# include +#endif +#if (HAVE_MALLOC_H) +# include +#endif +#if (HAVE_ALLOCA_H) +# include +#endif +#if (HAVE_FCNTL_H) +# include +#endif +#if (HAVE_DIRENT_H) +# include +#endif +#if (HAVE_SETJMP_H) +# include +#endif +#if (HAVE_SIGNAL_H) +# include +#endif +#if (HAVE_SYS_TIME_H && HAVE_TIME_H) +# include +# include +#elif (HAVE_TIME_H) +# include +#endif +#if (HAVE_UTIME_H) +# include +#elif (HAVE_SYS_UTIME_H) +# include +#endif +#if (HAVE_IO_H) +# include +#endif +#if (HAVE_DOS_H) +# include +#endif +#if (HAVE_DIRECT_H) +# include +#endif +#if (HAVE_SHARE_H) +# include +#endif +#if (LZO_CC_NDPC) +# include +#endif +#if defined(__TOS__) && (defined(__PUREC__) || defined(__TURBOC__)) +# include +#endif +#endif +#endif +#endif +#if defined(LZO_WANT_ACC_INCI_H) +# undef LZO_WANT_ACC_INCI_H +#ifndef __LZO_INCI_H_INCLUDED +#define __LZO_INCI_H_INCLUDED 1 +#if (LZO_LIBC_NAKED) +#elif (LZO_LIBC_FREESTANDING) +#elif (LZO_LIBC_MOSTLY_FREESTANDING) +#else +#if (LZO_OS_TOS && (LZO_CC_PUREC || LZO_CC_TURBOC)) +# include +#elif (LZO_HAVE_WINDOWS_H) +# if 1 && !defined(WIN32_LEAN_AND_MEAN) +# define WIN32_LEAN_AND_MEAN 1 +# endif +# if 1 && !defined(_WIN32_WINNT) +# define _WIN32_WINNT 0x0400 +# endif +# include +# if (LZO_CC_BORLANDC || LZO_CC_TURBOC) +# include +# endif +#elif (LZO_OS_DOS16 || LZO_OS_DOS32 || LZO_OS_WIN16) +# if (LZO_CC_AZTECC) +# include +# include +# elif (LZO_CC_BORLANDC || LZO_CC_TURBOC) +# include +# include +# elif (LZO_OS_DOS32 && LZO_CC_GNUC) && defined(__DJGPP__) +# include +# elif (LZO_CC_PACIFICC) +# include +# include +# include +# elif (LZO_CC_WATCOMC) +# include +# endif +#elif (LZO_OS_OS216) +# if (LZO_CC_WATCOMC) +# include +# endif +#endif +#if (HAVE_SYS_MMAN_H) +# include +#endif +#if (HAVE_SYS_RESOURCE_H) +# include +#endif +#if (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16) +# if defined(FP_OFF) +# define LZO_PTR_FP_OFF(x) FP_OFF(x) +# elif defined(_FP_OFF) +# define LZO_PTR_FP_OFF(x) _FP_OFF(x) +# else +# define LZO_PTR_FP_OFF(x) (((const unsigned __far*)&(x))[0]) +# endif +# if defined(FP_SEG) +# define LZO_PTR_FP_SEG(x) FP_SEG(x) +# elif defined(_FP_SEG) +# define LZO_PTR_FP_SEG(x) _FP_SEG(x) +# else +# define LZO_PTR_FP_SEG(x) (((const unsigned __far*)&(x))[1]) +# endif +# if defined(MK_FP) +# define LZO_PTR_MK_FP(s,o) MK_FP(s,o) +# elif defined(_MK_FP) +# define LZO_PTR_MK_FP(s,o) _MK_FP(s,o) +# else +# define LZO_PTR_MK_FP(s,o) ((void __far*)(((unsigned long)(s)<<16)+(unsigned)(o))) +# endif +# if 0 +# undef LZO_PTR_FP_OFF +# undef LZO_PTR_FP_SEG +# undef LZO_PTR_MK_FP +# define LZO_PTR_FP_OFF(x) (((const unsigned __far*)&(x))[0]) +# define LZO_PTR_FP_SEG(x) (((const unsigned __far*)&(x))[1]) +# define LZO_PTR_MK_FP(s,o) ((void __far*)(((unsigned long)(s)<<16)+(unsigned)(o))) +# endif +#endif +#endif +#endif +#endif +#if defined(LZO_WANT_ACC_LIB_H) +# undef LZO_WANT_ACC_LIB_H +#ifndef __LZO_LIB_H_INCLUDED +#define __LZO_LIB_H_INCLUDED 1 +#if !defined(__LZOLIB_FUNCNAME) +# define __LZOLIB_FUNCNAME(f) f +#endif +#if !defined(LZOLIB_EXTERN) +# define LZOLIB_EXTERN(r,f) extern r __LZOLIB_FUNCNAME(f) +#endif +#if !defined(LZOLIB_EXTERN_NOINLINE) +# if defined(__lzo_noinline) +# define LZOLIB_EXTERN_NOINLINE(r,f) extern __lzo_noinline r __LZOLIB_FUNCNAME(f) +# else +# define LZOLIB_EXTERN_NOINLINE(r,f) extern r __LZOLIB_FUNCNAME(f) +# endif +#endif +#if (LZO_SIZEOF_LONG > LZO_SIZEOF_VOID_P) +# define lzolib_handle_t long +#else +# define lzolib_handle_t lzo_intptr_t +#endif +#if 0 +LZOLIB_EXTERN(int, lzo_ascii_digit) (int); +LZOLIB_EXTERN(int, lzo_ascii_islower) (int); +LZOLIB_EXTERN(int, lzo_ascii_isupper) (int); +LZOLIB_EXTERN(int, lzo_ascii_tolower) (int); +LZOLIB_EXTERN(int, lzo_ascii_toupper) (int); +LZOLIB_EXTERN(int, lzo_ascii_utolower) (int); +LZOLIB_EXTERN(int, lzo_ascii_utoupper) (int); +#endif +#define lzo_ascii_isdigit(c) ((LZO_ICAST(unsigned, c) - 48) < 10) +#define lzo_ascii_islower(c) ((LZO_ICAST(unsigned, c) - 97) < 26) +#define lzo_ascii_isupper(c) ((LZO_ICAST(unsigned, c) - 65) < 26) +#define lzo_ascii_tolower(c) (LZO_ICAST(int, c) + (lzo_ascii_isupper(c) << 5)) +#define lzo_ascii_toupper(c) (LZO_ICAST(int, c) - (lzo_ascii_islower(c) << 5)) +#define lzo_ascii_utolower(c) lzo_ascii_tolower(LZO_ITRUNC(unsigned char, c)) +#define lzo_ascii_utoupper(c) lzo_ascii_toupper(LZO_ITRUNC(unsigned char, c)) +#ifndef lzo_hsize_t +#if (LZO_HAVE_MM_HUGE_PTR) +# define lzo_hsize_t unsigned long +# define lzo_hvoid_p void __huge * +# define lzo_hchar_p char __huge * +# define lzo_hchar_pp char __huge * __huge * +# define lzo_hbyte_p unsigned char __huge * +#else +# define lzo_hsize_t size_t +# define lzo_hvoid_p void * +# define lzo_hchar_p char * +# define lzo_hchar_pp char ** +# define lzo_hbyte_p unsigned char * +#endif +#endif +LZOLIB_EXTERN(lzo_hvoid_p, lzo_halloc) (lzo_hsize_t); +LZOLIB_EXTERN(void, lzo_hfree) (lzo_hvoid_p); +#if (LZO_OS_DOS16 || LZO_OS_OS216) +LZOLIB_EXTERN(void __far*, lzo_dos_alloc) (unsigned long); +LZOLIB_EXTERN(int, lzo_dos_free) (void __far*); +#endif +LZOLIB_EXTERN(int, lzo_hmemcmp) (const lzo_hvoid_p, const lzo_hvoid_p, lzo_hsize_t); +LZOLIB_EXTERN(lzo_hvoid_p, lzo_hmemcpy) (lzo_hvoid_p, const lzo_hvoid_p, lzo_hsize_t); +LZOLIB_EXTERN(lzo_hvoid_p, lzo_hmemmove) (lzo_hvoid_p, const lzo_hvoid_p, lzo_hsize_t); +LZOLIB_EXTERN(lzo_hvoid_p, lzo_hmemset) (lzo_hvoid_p, int, lzo_hsize_t); +LZOLIB_EXTERN(lzo_hsize_t, lzo_hstrlen) (const lzo_hchar_p); +LZOLIB_EXTERN(int, lzo_hstrcmp) (const lzo_hchar_p, const lzo_hchar_p); +LZOLIB_EXTERN(int, lzo_hstrncmp)(const lzo_hchar_p, const lzo_hchar_p, lzo_hsize_t); +LZOLIB_EXTERN(int, lzo_ascii_hstricmp) (const lzo_hchar_p, const lzo_hchar_p); +LZOLIB_EXTERN(int, lzo_ascii_hstrnicmp)(const lzo_hchar_p, const lzo_hchar_p, lzo_hsize_t); +LZOLIB_EXTERN(int, lzo_ascii_hmemicmp) (const lzo_hvoid_p, const lzo_hvoid_p, lzo_hsize_t); +LZOLIB_EXTERN(lzo_hchar_p, lzo_hstrstr) (const lzo_hchar_p, const lzo_hchar_p); +LZOLIB_EXTERN(lzo_hchar_p, lzo_ascii_hstristr) (const lzo_hchar_p, const lzo_hchar_p); +LZOLIB_EXTERN(lzo_hvoid_p, lzo_hmemmem) (const lzo_hvoid_p, lzo_hsize_t, const lzo_hvoid_p, lzo_hsize_t); +LZOLIB_EXTERN(lzo_hvoid_p, lzo_ascii_hmemimem) (const lzo_hvoid_p, lzo_hsize_t, const lzo_hvoid_p, lzo_hsize_t); +LZOLIB_EXTERN(lzo_hchar_p, lzo_hstrcpy) (lzo_hchar_p, const lzo_hchar_p); +LZOLIB_EXTERN(lzo_hchar_p, lzo_hstrcat) (lzo_hchar_p, const lzo_hchar_p); +LZOLIB_EXTERN(lzo_hsize_t, lzo_hstrlcpy) (lzo_hchar_p, const lzo_hchar_p, lzo_hsize_t); +LZOLIB_EXTERN(lzo_hsize_t, lzo_hstrlcat) (lzo_hchar_p, const lzo_hchar_p, lzo_hsize_t); +LZOLIB_EXTERN(int, lzo_hstrscpy) (lzo_hchar_p, const lzo_hchar_p, lzo_hsize_t); +LZOLIB_EXTERN(int, lzo_hstrscat) (lzo_hchar_p, const lzo_hchar_p, lzo_hsize_t); +LZOLIB_EXTERN(lzo_hchar_p, lzo_hstrccpy) (lzo_hchar_p, const lzo_hchar_p, int); +LZOLIB_EXTERN(lzo_hvoid_p, lzo_hmemccpy) (lzo_hvoid_p, const lzo_hvoid_p, int, lzo_hsize_t); +LZOLIB_EXTERN(lzo_hchar_p, lzo_hstrchr) (const lzo_hchar_p, int); +LZOLIB_EXTERN(lzo_hchar_p, lzo_hstrrchr) (const lzo_hchar_p, int); +LZOLIB_EXTERN(lzo_hchar_p, lzo_ascii_hstrichr) (const lzo_hchar_p, int); +LZOLIB_EXTERN(lzo_hchar_p, lzo_ascii_hstrrichr) (const lzo_hchar_p, int); +LZOLIB_EXTERN(lzo_hvoid_p, lzo_hmemchr) (const lzo_hvoid_p, int, lzo_hsize_t); +LZOLIB_EXTERN(lzo_hvoid_p, lzo_hmemrchr) (const lzo_hvoid_p, int, lzo_hsize_t); +LZOLIB_EXTERN(lzo_hvoid_p, lzo_ascii_hmemichr) (const lzo_hvoid_p, int, lzo_hsize_t); +LZOLIB_EXTERN(lzo_hvoid_p, lzo_ascii_hmemrichr) (const lzo_hvoid_p, int, lzo_hsize_t); +LZOLIB_EXTERN(lzo_hsize_t, lzo_hstrspn) (const lzo_hchar_p, const lzo_hchar_p); +LZOLIB_EXTERN(lzo_hsize_t, lzo_hstrrspn) (const lzo_hchar_p, const lzo_hchar_p); +LZOLIB_EXTERN(lzo_hsize_t, lzo_hstrcspn) (const lzo_hchar_p, const lzo_hchar_p); +LZOLIB_EXTERN(lzo_hsize_t, lzo_hstrrcspn) (const lzo_hchar_p, const lzo_hchar_p); +LZOLIB_EXTERN(lzo_hchar_p, lzo_hstrpbrk) (const lzo_hchar_p, const lzo_hchar_p); +LZOLIB_EXTERN(lzo_hchar_p, lzo_hstrrpbrk) (const lzo_hchar_p, const lzo_hchar_p); +LZOLIB_EXTERN(lzo_hchar_p, lzo_hstrsep) (lzo_hchar_pp, const lzo_hchar_p); +LZOLIB_EXTERN(lzo_hchar_p, lzo_hstrrsep) (lzo_hchar_pp, const lzo_hchar_p); +LZOLIB_EXTERN(lzo_hchar_p, lzo_ascii_hstrlwr) (lzo_hchar_p); +LZOLIB_EXTERN(lzo_hchar_p, lzo_ascii_hstrupr) (lzo_hchar_p); +LZOLIB_EXTERN(lzo_hvoid_p, lzo_ascii_hmemlwr) (lzo_hvoid_p, lzo_hsize_t); +LZOLIB_EXTERN(lzo_hvoid_p, lzo_ascii_hmemupr) (lzo_hvoid_p, lzo_hsize_t); +LZOLIB_EXTERN(lzo_hsize_t, lzo_hfread) (void *, lzo_hvoid_p, lzo_hsize_t); +LZOLIB_EXTERN(lzo_hsize_t, lzo_hfwrite) (void *, const lzo_hvoid_p, lzo_hsize_t); +#if (LZO_HAVE_MM_HUGE_PTR) +LZOLIB_EXTERN(long, lzo_hread) (int, lzo_hvoid_p, long); +LZOLIB_EXTERN(long, lzo_hwrite) (int, const lzo_hvoid_p, long); +#endif +LZOLIB_EXTERN(long, lzo_safe_hread) (int, lzo_hvoid_p, long); +LZOLIB_EXTERN(long, lzo_safe_hwrite) (int, const lzo_hvoid_p, long); +LZOLIB_EXTERN(unsigned, lzo_ua_get_be16) (const lzo_hvoid_p); +LZOLIB_EXTERN(lzo_uint32l_t, lzo_ua_get_be24) (const lzo_hvoid_p); +LZOLIB_EXTERN(lzo_uint32l_t, lzo_ua_get_be32) (const lzo_hvoid_p); +LZOLIB_EXTERN(void, lzo_ua_set_be16) (lzo_hvoid_p, unsigned); +LZOLIB_EXTERN(void, lzo_ua_set_be24) (lzo_hvoid_p, lzo_uint32l_t); +LZOLIB_EXTERN(void, lzo_ua_set_be32) (lzo_hvoid_p, lzo_uint32l_t); +LZOLIB_EXTERN(unsigned, lzo_ua_get_le16) (const lzo_hvoid_p); +LZOLIB_EXTERN(lzo_uint32l_t, lzo_ua_get_le24) (const lzo_hvoid_p); +LZOLIB_EXTERN(lzo_uint32l_t, lzo_ua_get_le32) (const lzo_hvoid_p); +LZOLIB_EXTERN(void, lzo_ua_set_le16) (lzo_hvoid_p, unsigned); +LZOLIB_EXTERN(void, lzo_ua_set_le24) (lzo_hvoid_p, lzo_uint32l_t); +LZOLIB_EXTERN(void, lzo_ua_set_le32) (lzo_hvoid_p, lzo_uint32l_t); +#if defined(lzo_int64l_t) +LZOLIB_EXTERN(lzo_uint64l_t, lzo_ua_get_be64) (const lzo_hvoid_p); +LZOLIB_EXTERN(void, lzo_ua_set_be64) (lzo_hvoid_p, lzo_uint64l_t); +LZOLIB_EXTERN(lzo_uint64l_t, lzo_ua_get_le64) (const lzo_hvoid_p); +LZOLIB_EXTERN(void, lzo_ua_set_le64) (lzo_hvoid_p, lzo_uint64l_t); +#endif +LZOLIB_EXTERN_NOINLINE(short, lzo_vget_short) (short, int); +LZOLIB_EXTERN_NOINLINE(int, lzo_vget_int) (int, int); +LZOLIB_EXTERN_NOINLINE(long, lzo_vget_long) (long, int); +#if defined(lzo_int64l_t) +LZOLIB_EXTERN_NOINLINE(lzo_int64l_t, lzo_vget_lzo_int64l_t) (lzo_int64l_t, int); +#endif +LZOLIB_EXTERN_NOINLINE(lzo_hsize_t, lzo_vget_lzo_hsize_t) (lzo_hsize_t, int); +#if !(LZO_CFG_NO_FLOAT) +LZOLIB_EXTERN_NOINLINE(float, lzo_vget_float) (float, int); +#endif +#if !(LZO_CFG_NO_DOUBLE) +LZOLIB_EXTERN_NOINLINE(double, lzo_vget_double) (double, int); +#endif +LZOLIB_EXTERN_NOINLINE(lzo_hvoid_p, lzo_vget_lzo_hvoid_p) (lzo_hvoid_p, int); +LZOLIB_EXTERN_NOINLINE(const lzo_hvoid_p, lzo_vget_lzo_hvoid_cp) (const lzo_hvoid_p, int); +#if !defined(LZO_FN_PATH_MAX) +#if (LZO_OS_DOS16 || LZO_OS_WIN16) +# define LZO_FN_PATH_MAX 143 +#elif (LZO_OS_DOS32 || LZO_OS_OS2 || LZO_OS_OS216 || LZO_OS_WIN32 || LZO_OS_WIN64) +# define LZO_FN_PATH_MAX 259 +#elif (LZO_OS_TOS) +# define LZO_FN_PATH_MAX 259 +#endif +#endif +#if !defined(LZO_FN_PATH_MAX) +# define LZO_FN_PATH_MAX 1023 +#endif +#if !defined(LZO_FN_NAME_MAX) +#if (LZO_OS_DOS16 || LZO_OS_WIN16) +# define LZO_FN_NAME_MAX 12 +#elif (LZO_ARCH_M68K && LZO_OS_TOS && (LZO_CC_PUREC || LZO_CC_TURBOC)) +# define LZO_FN_NAME_MAX 12 +#elif (LZO_OS_DOS32 && LZO_CC_GNUC) && defined(__DJGPP__) +#elif (LZO_OS_DOS32) +# define LZO_FN_NAME_MAX 12 +#endif +#endif +#if !defined(LZO_FN_NAME_MAX) +# define LZO_FN_NAME_MAX LZO_FN_PATH_MAX +#endif +#define LZO_FNMATCH_NOESCAPE 1 +#define LZO_FNMATCH_PATHNAME 2 +#define LZO_FNMATCH_PATHSTAR 4 +#define LZO_FNMATCH_PERIOD 8 +#define LZO_FNMATCH_ASCII_CASEFOLD 16 +LZOLIB_EXTERN(int, lzo_fnmatch) (const lzo_hchar_p, const lzo_hchar_p, int); +#undef __LZOLIB_USE_OPENDIR +#if (HAVE_DIRENT_H || LZO_CC_WATCOMC) +# define __LZOLIB_USE_OPENDIR 1 +# if (LZO_OS_DOS32 && defined(__BORLANDC__)) +# elif (LZO_OS_DOS32 && LZO_CC_GNUC) && defined(__DJGPP__) +# elif (LZO_OS_OS2 || LZO_OS_OS216) +# elif (LZO_ARCH_M68K && LZO_OS_TOS && LZO_CC_GNUC) +# elif (LZO_OS_WIN32 && !(LZO_HAVE_WINDOWS_H)) +# elif (LZO_OS_DOS16 || LZO_OS_DOS32 || LZO_OS_OS2 || LZO_OS_OS216 || LZO_OS_TOS || LZO_OS_WIN16 || LZO_OS_WIN32 || LZO_OS_WIN64) +# undef __LZOLIB_USE_OPENDIR +# endif +#endif +typedef struct +{ +#if defined(__LZOLIB_USE_OPENDIR) + void* u_dirp; +# if (LZO_CC_WATCOMC) + unsigned short f_time; + unsigned short f_date; + unsigned long f_size; +# endif + char f_name[LZO_FN_NAME_MAX+1]; +#elif (LZO_OS_WIN32 || LZO_OS_WIN64) + lzolib_handle_t u_handle; + unsigned f_attr; + unsigned f_size_low; + unsigned f_size_high; + char f_name[LZO_FN_NAME_MAX+1]; +#elif (LZO_OS_DOS16 || LZO_OS_DOS32 || LZO_OS_TOS || LZO_OS_WIN16) + char u_dta[21]; + unsigned char f_attr; + unsigned short f_time; + unsigned short f_date; + unsigned short f_size_low; + unsigned short f_size_high; + char f_name[LZO_FN_NAME_MAX+1]; + char u_dirp; +#else + void* u_dirp; + char f_name[LZO_FN_NAME_MAX+1]; +#endif +} lzo_dir_t; +#ifndef lzo_dir_p +#define lzo_dir_p lzo_dir_t * +#endif +LZOLIB_EXTERN(int, lzo_opendir) (lzo_dir_p, const char*); +LZOLIB_EXTERN(int, lzo_readdir) (lzo_dir_p); +LZOLIB_EXTERN(int, lzo_closedir) (lzo_dir_p); +#if (LZO_CC_GNUC) && (defined(__CYGWIN__) || defined(__MINGW32__)) +# define lzo_alloca(x) __builtin_alloca((x)) +#elif (LZO_CC_GNUC) && (LZO_OS_CONSOLE_PS2) +# define lzo_alloca(x) __builtin_alloca((x)) +#elif (LZO_CC_BORLANDC || LZO_CC_LCC) && defined(__linux__) +#elif (HAVE_ALLOCA) +# define lzo_alloca(x) LZO_STATIC_CAST(void *, alloca((x))) +#endif +#if (LZO_OS_DOS32 && LZO_CC_GNUC) && defined(__DJGPP__) +# define lzo_stackavail() stackavail() +#elif (LZO_ARCH_I086 && LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0410)) +# define lzo_stackavail() stackavail() +#elif (LZO_ARCH_I086 && LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0400)) +# if (LZO_OS_WIN16) && (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM) +# else +# define lzo_stackavail() stackavail() +# endif +#elif ((LZO_ARCH_I086 || LZO_ARCH_I386) && (LZO_CC_DMC || LZO_CC_SYMANTECC)) +# define lzo_stackavail() stackavail() +#elif ((LZO_ARCH_I086) && LZO_CC_MSC && (_MSC_VER >= 700)) +# define lzo_stackavail() _stackavail() +#elif ((LZO_ARCH_I086) && LZO_CC_MSC) +# define lzo_stackavail() stackavail() +#elif ((LZO_ARCH_I086 || LZO_ARCH_I386) && LZO_CC_TURBOC && (__TURBOC__ >= 0x0450)) +# define lzo_stackavail() stackavail() +#elif (LZO_ARCH_I086 && LZO_CC_TURBOC && (__TURBOC__ >= 0x0400)) + LZO_EXTERN_C size_t __cdecl stackavail(void); +# define lzo_stackavail() stackavail() +#elif ((LZO_ARCH_I086 || LZO_ARCH_I386) && (LZO_CC_WATCOMC)) +# define lzo_stackavail() stackavail() +#elif (LZO_ARCH_I086 && LZO_CC_ZORTECHC) +# define lzo_stackavail() _chkstack() +#endif +LZOLIB_EXTERN(lzo_intptr_t, lzo_get_osfhandle) (int); +LZOLIB_EXTERN(const char *, lzo_getenv) (const char *); +LZOLIB_EXTERN(int, lzo_isatty) (int); +LZOLIB_EXTERN(int, lzo_mkdir) (const char*, unsigned); +LZOLIB_EXTERN(int, lzo_rmdir) (const char*); +LZOLIB_EXTERN(int, lzo_response) (int*, char***); +LZOLIB_EXTERN(int, lzo_set_binmode) (int, int); +#if defined(lzo_int32e_t) +LZOLIB_EXTERN(lzo_int32e_t, lzo_muldiv32s) (lzo_int32e_t, lzo_int32e_t, lzo_int32e_t); +LZOLIB_EXTERN(lzo_uint32e_t, lzo_muldiv32u) (lzo_uint32e_t, lzo_uint32e_t, lzo_uint32e_t); +#endif +LZOLIB_EXTERN(void, lzo_wildargv) (int*, char***); +LZOLIB_EXTERN_NOINLINE(void, lzo_debug_break) (void); +LZOLIB_EXTERN_NOINLINE(void, lzo_debug_nop) (void); +LZOLIB_EXTERN_NOINLINE(int, lzo_debug_align_check_query) (void); +LZOLIB_EXTERN_NOINLINE(int, lzo_debug_align_check_enable) (int); +LZOLIB_EXTERN_NOINLINE(unsigned, lzo_debug_running_on_qemu) (void); +LZOLIB_EXTERN_NOINLINE(unsigned, lzo_debug_running_on_valgrind) (void); +#if defined(lzo_int32e_t) +LZOLIB_EXTERN(int, lzo_tsc_read) (lzo_uint32e_t*); +#endif +struct lzo_pclock_handle_t; +struct lzo_pclock_t; +typedef struct lzo_pclock_handle_t lzo_pclock_handle_t; +typedef struct lzo_pclock_t lzo_pclock_t; +#ifndef lzo_pclock_handle_p +#define lzo_pclock_handle_p lzo_pclock_handle_t * +#endif +#ifndef lzo_pclock_p +#define lzo_pclock_p lzo_pclock_t * +#endif +#define LZO_PCLOCK_REALTIME 0 +#define LZO_PCLOCK_MONOTONIC 1 +#define LZO_PCLOCK_PROCESS_CPUTIME_ID 2 +#define LZO_PCLOCK_THREAD_CPUTIME_ID 3 +typedef int (*lzo_pclock_gettime_t) (lzo_pclock_handle_p, lzo_pclock_p); +struct lzo_pclock_handle_t { + lzolib_handle_t h; + int mode; + int read_error; + const char* name; + lzo_pclock_gettime_t gettime; +#if defined(lzo_int64l_t) + lzo_uint64l_t ticks_base; +#endif +}; +struct lzo_pclock_t { +#if defined(lzo_int64l_t) + lzo_int64l_t tv_sec; +#else + lzo_int32l_t tv_sec_high; + lzo_uint32l_t tv_sec_low; +#endif + lzo_uint32l_t tv_nsec; +}; +LZOLIB_EXTERN(int, lzo_pclock_open) (lzo_pclock_handle_p, int); +LZOLIB_EXTERN(int, lzo_pclock_open_default) (lzo_pclock_handle_p); +LZOLIB_EXTERN(int, lzo_pclock_close) (lzo_pclock_handle_p); +LZOLIB_EXTERN(void, lzo_pclock_read) (lzo_pclock_handle_p, lzo_pclock_p); +#if !(LZO_CFG_NO_DOUBLE) +LZOLIB_EXTERN(double, lzo_pclock_get_elapsed) (lzo_pclock_handle_p, const lzo_pclock_p, const lzo_pclock_p); +#endif +LZOLIB_EXTERN(int, lzo_pclock_flush_cpu_cache) (lzo_pclock_handle_p, unsigned); +struct lzo_getopt_t; +typedef struct lzo_getopt_t lzo_getopt_t; +#ifndef lzo_getopt_p +#define lzo_getopt_p lzo_getopt_t * +#endif +struct lzo_getopt_longopt_t; +typedef struct lzo_getopt_longopt_t lzo_getopt_longopt_t; +#ifndef lzo_getopt_longopt_p +#define lzo_getopt_longopt_p lzo_getopt_longopt_t * +#endif +struct lzo_getopt_longopt_t { + const char* name; + int has_arg; + int* flag; + int val; +}; +typedef void (*lzo_getopt_opterr_t)(lzo_getopt_p, const char*, void *); +struct lzo_getopt_t { + void *user; + const char *progname; + int bad_option; + char *optarg; + lzo_getopt_opterr_t opterr; + int optind; + int optopt; + int errcount; + int argc; char** argv; + int eof; int shortpos; + int pending_rotate_first, pending_rotate_middle; +}; +enum { LZO_GETOPT_NO_ARG, LZO_GETOPT_REQUIRED_ARG, LZO_GETOPT_OPTIONAL_ARG, LZO_GETOPT_EXACT_ARG = 0x10 }; +enum { LZO_GETOPT_PERMUTE, LZO_GETOPT_RETURN_IN_ORDER, LZO_GETOPT_REQUIRE_ORDER }; +LZOLIB_EXTERN(void, lzo_getopt_init) (lzo_getopt_p g, + int start_argc, int argc, char** argv); +LZOLIB_EXTERN(int, lzo_getopt) (lzo_getopt_p g, + const char* shortopts, + const lzo_getopt_longopt_p longopts, + int* longind); +typedef struct { + lzo_uint32l_t seed; +} lzo_rand31_t; +#ifndef lzo_rand31_p +#define lzo_rand31_p lzo_rand31_t * +#endif +LZOLIB_EXTERN(void, lzo_srand31) (lzo_rand31_p, lzo_uint32l_t); +LZOLIB_EXTERN(lzo_uint32l_t, lzo_rand31) (lzo_rand31_p); +#if defined(lzo_int64l_t) +typedef struct { + lzo_uint64l_t seed; +} lzo_rand48_t; +#ifndef lzo_rand48_p +#define lzo_rand48_p lzo_rand48_t * +#endif +LZOLIB_EXTERN(void, lzo_srand48) (lzo_rand48_p, lzo_uint32l_t); +LZOLIB_EXTERN(lzo_uint32l_t, lzo_rand48) (lzo_rand48_p); +LZOLIB_EXTERN(lzo_uint32l_t, lzo_rand48_r32) (lzo_rand48_p); +#endif +#if defined(lzo_int64l_t) +typedef struct { + lzo_uint64l_t seed; +} lzo_rand64_t; +#ifndef lzo_rand64_p +#define lzo_rand64_p lzo_rand64_t * +#endif +LZOLIB_EXTERN(void, lzo_srand64) (lzo_rand64_p, lzo_uint64l_t); +LZOLIB_EXTERN(lzo_uint32l_t, lzo_rand64) (lzo_rand64_p); +LZOLIB_EXTERN(lzo_uint32l_t, lzo_rand64_r32) (lzo_rand64_p); +#endif +typedef struct { + unsigned n; + lzo_uint32l_t s[624]; +} lzo_randmt_t; +#ifndef lzo_randmt_p +#define lzo_randmt_p lzo_randmt_t * +#endif +LZOLIB_EXTERN(void, lzo_srandmt) (lzo_randmt_p, lzo_uint32l_t); +LZOLIB_EXTERN(lzo_uint32l_t, lzo_randmt) (lzo_randmt_p); +LZOLIB_EXTERN(lzo_uint32l_t, lzo_randmt_r32) (lzo_randmt_p); +#if defined(lzo_int64l_t) +typedef struct { + unsigned n; + lzo_uint64l_t s[312]; +} lzo_randmt64_t; +#ifndef lzo_randmt64_p +#define lzo_randmt64_p lzo_randmt64_t * +#endif +LZOLIB_EXTERN(void, lzo_srandmt64) (lzo_randmt64_p, lzo_uint64l_t); +LZOLIB_EXTERN(lzo_uint64l_t, lzo_randmt64_r64) (lzo_randmt64_p); +#endif +#define LZO_SPAWN_P_WAIT 0 +#define LZO_SPAWN_P_NOWAIT 1 +LZOLIB_EXTERN(int, lzo_spawnv) (int mode, const char* fn, const char* const * argv); +LZOLIB_EXTERN(int, lzo_spawnvp) (int mode, const char* fn, const char* const * argv); +LZOLIB_EXTERN(int, lzo_spawnve) (int mode, const char* fn, const char* const * argv, const char * const envp); +#endif +#endif +#if defined(LZO_WANT_ACC_CXX_H) +# undef LZO_WANT_ACC_CXX_H +#ifndef __LZO_CXX_H_INCLUDED +#define __LZO_CXX_H_INCLUDED 1 +#if defined(__cplusplus) +#if defined(LZO_CXX_NOTHROW) +#elif (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020800ul)) +#elif (LZO_CC_BORLANDC && (__BORLANDC__ < 0x0450)) +#elif (LZO_CC_GHS && !defined(__EXCEPTIONS)) +#elif (LZO_CC_HIGHC) +#elif (LZO_CC_MSC && (_MSC_VER < 1100)) +#elif (LZO_CC_NDPC) +#elif (LZO_CC_TURBOC) +#elif (LZO_CC_WATCOMC && !defined(_CPPUNWIND)) +#elif (LZO_CC_ZORTECHC) +#else +# define LZO_CXX_NOTHROW throw() +#endif +#if !defined(LZO_CXX_NOTHROW) +# define LZO_CXX_NOTHROW /*empty*/ +#endif +#if defined(__LZO_CXX_DO_NEW) +#elif (LZO_CC_GHS || LZO_CC_NDPC || LZO_CC_PGI) +# define __LZO_CXX_DO_NEW { return 0; } +#elif ((LZO_CC_BORLANDC || LZO_CC_TURBOC) && LZO_ARCH_I086) +# define __LZO_CXX_DO_NEW { return 0; } +#else +# define __LZO_CXX_DO_NEW ; +#endif +#if defined(__LZO_CXX_DO_DELETE) +#elif (LZO_CC_BORLANDC || LZO_CC_TURBOC) +# define __LZO_CXX_DO_DELETE { } +#else +# define __LZO_CXX_DO_DELETE LZO_CXX_NOTHROW { } +#endif +#if (LZO_CC_BORLANDC && (__BORLANDC__ < 0x0450)) +#elif (LZO_CC_MSC && LZO_MM_HUGE) +# define LZO_CXX_DISABLE_NEW_DELETE private: +#elif (LZO_CC_MSC && (_MSC_VER < 1100)) +#elif (LZO_CC_NDPC) +#elif (LZO_CC_SYMANTECC || LZO_CC_ZORTECHC) +#elif (LZO_CC_TURBOC) +#elif (LZO_CC_WATCOMC && (__WATCOMC__ < 1100)) +#else +# define __LZO_CXX_HAVE_ARRAY_NEW 1 +#endif +#if (__LZO_CXX_HAVE_ARRAY_NEW) +# define __LZO_CXX_HAVE_PLACEMENT_NEW 1 +#endif +#if (__LZO_CXX_HAVE_PLACEMENT_NEW) +# if (LZO_CC_GNUC >= 0x030000ul) +# define __LZO_CXX_HAVE_PLACEMENT_DELETE 1 +# elif (LZO_CC_INTELC) +# define __LZO_CXX_HAVE_PLACEMENT_DELETE 1 +# elif (LZO_CC_MSC && (_MSC_VER >= 1200)) +# define __LZO_CXX_HAVE_PLACEMENT_DELETE 1 +# elif (LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) +# define __LZO_CXX_HAVE_PLACEMENT_DELETE 1 +# elif (LZO_CC_PGI) +# define __LZO_CXX_HAVE_PLACEMENT_DELETE 1 +# endif +#endif +#if defined(LZO_CXX_DISABLE_NEW_DELETE) +#elif defined(new) || defined(delete) +# define LZO_CXX_DISABLE_NEW_DELETE private: +#elif (LZO_CC_GNUC && (LZO_CC_GNUC < 0x025b00ul)) +# define LZO_CXX_DISABLE_NEW_DELETE private: +#elif (LZO_CC_HIGHC) +# define LZO_CXX_DISABLE_NEW_DELETE private: +#elif !(__LZO_CXX_HAVE_ARRAY_NEW) +# define LZO_CXX_DISABLE_NEW_DELETE \ + protected: static void operator delete(void*) __LZO_CXX_DO_DELETE \ + protected: static void* operator new(size_t) __LZO_CXX_DO_NEW \ + private: +#else +# define LZO_CXX_DISABLE_NEW_DELETE \ + protected: static void operator delete(void*) __LZO_CXX_DO_DELETE \ + static void operator delete[](void*) __LZO_CXX_DO_DELETE \ + private: static void* operator new(size_t) __LZO_CXX_DO_NEW \ + static void* operator new[](size_t) __LZO_CXX_DO_NEW +#endif +#if defined(LZO_CXX_TRIGGER_FUNCTION) +#else +# define LZO_CXX_TRIGGER_FUNCTION \ + protected: virtual const void* lzo_cxx_trigger_function() const; \ + private: +#endif +#if defined(LZO_CXX_TRIGGER_FUNCTION_IMPL) +#else +# define LZO_CXX_TRIGGER_FUNCTION_IMPL(klass) \ + const void* klass::lzo_cxx_trigger_function() const { return LZO_STATIC_CAST(const void *, 0); } +#endif +#endif +#endif +#endif +#if defined(LZO_WANT_ACC_CHK_CH) +# undef LZO_WANT_ACC_CHK_CH +#if !defined(LZOCHK_ASSERT) +# define LZOCHK_ASSERT(expr) LZO_COMPILE_TIME_ASSERT_HEADER(expr) +#endif +#if !defined(LZOCHK_ASSERT_SIGN_T) +# define LZOCHK_ASSERT_SIGN_T(type,relop) \ + LZOCHK_ASSERT( LZO_STATIC_CAST(type, -1) relop LZO_STATIC_CAST(type, 0)) \ + LZOCHK_ASSERT( LZO_STATIC_CAST(type, ~LZO_STATIC_CAST(type, 0)) relop LZO_STATIC_CAST(type, 0)) \ + LZOCHK_ASSERT( LZO_STATIC_CAST(type, ~LZO_STATIC_CAST(type, 0)) == LZO_STATIC_CAST(type, -1)) +#endif +#if !defined(LZOCHK_ASSERT_IS_SIGNED_T) +# define LZOCHK_ASSERT_IS_SIGNED_T(type) LZOCHK_ASSERT_SIGN_T(type,<) +#endif +#if !defined(LZOCHK_ASSERT_IS_UNSIGNED_T) +# if (LZO_BROKEN_INTEGRAL_PROMOTION) +# define LZOCHK_ASSERT_IS_UNSIGNED_T(type) \ + LZOCHK_ASSERT( LZO_STATIC_CAST(type, -1) > LZO_STATIC_CAST(type, 0) ) +# else +# define LZOCHK_ASSERT_IS_UNSIGNED_T(type) LZOCHK_ASSERT_SIGN_T(type,>) +# endif +#endif +#if defined(LZOCHK_CFG_PEDANTIC) +#if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0550) && (__BORLANDC__ < 0x0560)) +# pragma option push -w-8055 +#elif (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0530) && (__BORLANDC__ < 0x0550)) +# pragma option push -w-osh +#endif +#endif +#if (LZO_0xffffffffL - LZO_UINT32_C(4294967294) != 1) +# error "preprocessor error" +#endif +#if (LZO_0xffffffffL - LZO_UINT32_C(0xfffffffd) != 2) +# error "preprocessor error" +#endif +#if +0 +# error "preprocessor error" +#endif +#if -0 +# error "preprocessor error" +#endif +#if +0 != 0 +# error "preprocessor error" +#endif +#if -0 != 0 +# error "preprocessor error" +#endif +#define LZOCHK_VAL 1 +#define LZOCHK_TMP1 LZOCHK_VAL +#undef LZOCHK_VAL +#define LZOCHK_VAL 2 +#define LZOCHK_TMP2 LZOCHK_VAL +#if (LZOCHK_TMP1 != 2) +# error "preprocessor error 3a" +#endif +#if (LZOCHK_TMP2 != 2) +# error "preprocessor error 3b" +#endif +#undef LZOCHK_VAL +#if (LZOCHK_TMP2) +# error "preprocessor error 3c" +#endif +#if (LZOCHK_TMP2 + 0 != 0) +# error "preprocessor error 3d" +#endif +#undef LZOCHK_TMP1 +#undef LZOCHK_TMP2 +#if 0 || defined(LZOCHK_CFG_PEDANTIC) +# if (LZO_ARCH_MIPS) && defined(_MIPS_SZINT) + LZOCHK_ASSERT((_MIPS_SZINT) == 8 * sizeof(int)) +# endif +# if (LZO_ARCH_MIPS) && defined(_MIPS_SZLONG) + LZOCHK_ASSERT((_MIPS_SZLONG) == 8 * sizeof(long)) +# endif +# if (LZO_ARCH_MIPS) && defined(_MIPS_SZPTR) + LZOCHK_ASSERT((_MIPS_SZPTR) == 8 * sizeof(void *)) +# endif +#endif + LZOCHK_ASSERT(1 == 1) + LZOCHK_ASSERT(__LZO_MASK_GEN(1u,1) == 1u) + LZOCHK_ASSERT(__LZO_MASK_GEN(1u,2) == 3u) + LZOCHK_ASSERT(__LZO_MASK_GEN(1u,3) == 7u) + LZOCHK_ASSERT(__LZO_MASK_GEN(1u,8) == 255u) +#if (LZO_SIZEOF_INT >= 2) + LZOCHK_ASSERT(__LZO_MASK_GEN(1,15) == 32767) + LZOCHK_ASSERT(__LZO_MASK_GEN(1u,16) == 0xffffU) + LZOCHK_ASSERT(__LZO_MASK_GEN(0u,16) == 0u) +#endif + LZOCHK_ASSERT(__LZO_MASK_GEN(1ul,16) == 0xffffUL) + LZOCHK_ASSERT(__LZO_MASK_GEN(0ul,16) == 0ul) +#if (LZO_SIZEOF_INT >= 4) + LZOCHK_ASSERT(__LZO_MASK_GEN(1,31) == 2147483647) + LZOCHK_ASSERT(__LZO_MASK_GEN(1u,32) == 0xffffffffU) + LZOCHK_ASSERT(__LZO_MASK_GEN(0u,32) == 0u) +#endif +#if (LZO_SIZEOF_LONG >= 4) + LZOCHK_ASSERT(__LZO_MASK_GEN(1ul,32) == 0xffffffffUL) + LZOCHK_ASSERT(__LZO_MASK_GEN(0ul,32) == 0ul) +#endif +#if (LZO_SIZEOF_LONG >= 8) + LZOCHK_ASSERT(__LZO_MASK_GEN(1ul,64) == 0xffffffffffffffffUL) + LZOCHK_ASSERT(__LZO_MASK_GEN(0ul,64) == 0ul) +#endif +#if !(LZO_BROKEN_INTEGRAL_PROMOTION) + LZOCHK_ASSERT(__LZO_MASK_GEN(1u,LZO_SIZEOF_INT*8) == ~0u) + LZOCHK_ASSERT(__LZO_MASK_GEN(1ul,LZO_SIZEOF_LONG*8) == ~0ul) +#endif +#if 1 + LZOCHK_ASSERT(__LZO_MASK_GEN(0,0) == 0) + LZOCHK_ASSERT(__LZO_MASK_GEN(1,0) == 0) + LZOCHK_ASSERT(__LZO_MASK_GEN(2,0) == 0) + LZOCHK_ASSERT(__LZO_MASK_GEN(4,0) == 0) +#endif +#if 1 + LZOCHK_ASSERT(__LZO_MASK_GEN(2,1) == 2) + LZOCHK_ASSERT(__LZO_MASK_GEN(4,1) == 4) + LZOCHK_ASSERT(__LZO_MASK_GEN(8,1) == 8) + LZOCHK_ASSERT(__LZO_MASK_GEN(2,2) == 2+4) + LZOCHK_ASSERT(__LZO_MASK_GEN(4,2) == 4+8) + LZOCHK_ASSERT(__LZO_MASK_GEN(8,2) == 8+16) + LZOCHK_ASSERT(__LZO_MASK_GEN(2,3) == 2+4+8) + LZOCHK_ASSERT(__LZO_MASK_GEN(4,3) == 4+8+16) + LZOCHK_ASSERT(__LZO_MASK_GEN(8,3) == 8+16+32) + LZOCHK_ASSERT(__LZO_MASK_GEN(7,1) == 7) + LZOCHK_ASSERT(__LZO_MASK_GEN(7,2) == 7+14) + LZOCHK_ASSERT(__LZO_MASK_GEN(7,3) == 7+14+28) +#endif +#if !(LZO_BROKEN_SIGNED_RIGHT_SHIFT) + LZOCHK_ASSERT(((-1) >> 7) == -1) +#endif + LZOCHK_ASSERT(((1) >> 7) == 0) +#if (LZO_CC_INTELC && (__INTEL_COMPILER >= 900)) +# pragma warning(push) +# pragma warning(disable: 1025) +#endif + LZOCHK_ASSERT((~0l & ~0) == ~0l) + LZOCHK_ASSERT((~0l & ~0u) == ~0u) + LZOCHK_ASSERT((~0ul & ~0) == ~0ul) + LZOCHK_ASSERT((~0ul & ~0u) == ~0u) +#if defined(__MSDOS__) && defined(__TURBOC__) && (__TURBOC__ < 0x0150) +#elif (LZO_SIZEOF_INT == 2) + LZOCHK_ASSERT((~0l & ~0u) == 0xffffU) + LZOCHK_ASSERT((~0ul & ~0u) == 0xffffU) +#elif (LZO_SIZEOF_INT == 4) + LZOCHK_ASSERT((~0l & ~0u) == 0xffffffffU) + LZOCHK_ASSERT((~0ul & ~0u) == 0xffffffffU) +#endif +#if (LZO_CC_INTELC && (__INTEL_COMPILER >= 900)) +# pragma warning(pop) +#endif + LZOCHK_ASSERT_IS_SIGNED_T(signed char) + LZOCHK_ASSERT_IS_UNSIGNED_T(unsigned char) + LZOCHK_ASSERT(sizeof(signed char) == sizeof(char)) + LZOCHK_ASSERT(sizeof(unsigned char) == sizeof(char)) + LZOCHK_ASSERT(sizeof(char) == 1) +#if (LZO_CC_CILLY) && (!defined(__CILLY__) || (__CILLY__ < 0x010302L)) +#else + LZOCHK_ASSERT(sizeof(char) == sizeof(LZO_STATIC_CAST(char, 0))) +#endif +#if defined(__cplusplus) + LZOCHK_ASSERT(sizeof('\0') == sizeof(char)) +#else +# if (LZO_CC_DMC) +# else + LZOCHK_ASSERT(sizeof('\0') == sizeof(int)) +# endif +#endif +#if defined(__lzo_alignof) + LZOCHK_ASSERT(__lzo_alignof(char) == 1) + LZOCHK_ASSERT(__lzo_alignof(signed char) == 1) + LZOCHK_ASSERT(__lzo_alignof(unsigned char) == 1) +#if defined(lzo_int16e_t) + LZOCHK_ASSERT(__lzo_alignof(lzo_int16e_t) >= 1) + LZOCHK_ASSERT(__lzo_alignof(lzo_int16e_t) <= 2) +#endif +#if defined(lzo_int32e_t) + LZOCHK_ASSERT(__lzo_alignof(lzo_int32e_t) >= 1) + LZOCHK_ASSERT(__lzo_alignof(lzo_int32e_t) <= 4) +#endif +#endif + LZOCHK_ASSERT_IS_SIGNED_T(short) + LZOCHK_ASSERT_IS_UNSIGNED_T(unsigned short) + LZOCHK_ASSERT(sizeof(short) == sizeof(unsigned short)) +#if !(LZO_ABI_I8LP16) + LZOCHK_ASSERT(sizeof(short) >= 2) +#endif + LZOCHK_ASSERT(sizeof(short) >= sizeof(char)) +#if (LZO_CC_CILLY) && (!defined(__CILLY__) || (__CILLY__ < 0x010302L)) +#else + LZOCHK_ASSERT(sizeof(short) == sizeof(LZO_STATIC_CAST(short, 0))) +#endif +#if (LZO_SIZEOF_SHORT > 0) + LZOCHK_ASSERT(sizeof(short) == LZO_SIZEOF_SHORT) +#endif + LZOCHK_ASSERT_IS_SIGNED_T(int) + LZOCHK_ASSERT_IS_UNSIGNED_T(unsigned int) + LZOCHK_ASSERT(sizeof(int) == sizeof(unsigned int)) +#if !(LZO_ABI_I8LP16) + LZOCHK_ASSERT(sizeof(int) >= 2) +#endif + LZOCHK_ASSERT(sizeof(int) >= sizeof(short)) + LZOCHK_ASSERT(sizeof(int) == sizeof(0)) + LZOCHK_ASSERT(sizeof(int) == sizeof(LZO_STATIC_CAST(int, 0))) +#if (LZO_SIZEOF_INT > 0) + LZOCHK_ASSERT(sizeof(int) == LZO_SIZEOF_INT) +#endif + LZOCHK_ASSERT(sizeof(0) == sizeof(int)) + LZOCHK_ASSERT_IS_SIGNED_T(long) + LZOCHK_ASSERT_IS_UNSIGNED_T(unsigned long) + LZOCHK_ASSERT(sizeof(long) == sizeof(unsigned long)) +#if !(LZO_ABI_I8LP16) + LZOCHK_ASSERT(sizeof(long) >= 4) +#endif + LZOCHK_ASSERT(sizeof(long) >= sizeof(int)) + LZOCHK_ASSERT(sizeof(long) == sizeof(0L)) + LZOCHK_ASSERT(sizeof(long) == sizeof(LZO_STATIC_CAST(long, 0))) +#if (LZO_SIZEOF_LONG > 0) + LZOCHK_ASSERT(sizeof(long) == LZO_SIZEOF_LONG) +#endif + LZOCHK_ASSERT(sizeof(0L) == sizeof(long)) + LZOCHK_ASSERT_IS_UNSIGNED_T(size_t) + LZOCHK_ASSERT(sizeof(size_t) >= sizeof(int)) + LZOCHK_ASSERT(sizeof(size_t) == sizeof(sizeof(0))) +#if (LZO_SIZEOF_SIZE_T > 0) + LZOCHK_ASSERT(sizeof(size_t) == LZO_SIZEOF_SIZE_T) +#endif + LZOCHK_ASSERT_IS_SIGNED_T(ptrdiff_t) + LZOCHK_ASSERT(sizeof(ptrdiff_t) >= sizeof(int)) + LZOCHK_ASSERT(sizeof(ptrdiff_t) >= sizeof(size_t)) +#if !(LZO_BROKEN_SIZEOF) + LZOCHK_ASSERT(sizeof(ptrdiff_t) == sizeof(LZO_STATIC_CAST(char*, 0) - LZO_STATIC_CAST(char*, 0))) +# if (LZO_HAVE_MM_HUGE_PTR) + LZOCHK_ASSERT(4 == sizeof(LZO_STATIC_CAST(char __huge*, 0) - LZO_STATIC_CAST(char __huge*, 0))) +# endif +#endif +#if (LZO_SIZEOF_PTRDIFF_T > 0) + LZOCHK_ASSERT(sizeof(ptrdiff_t) == LZO_SIZEOF_PTRDIFF_T) +#endif + LZOCHK_ASSERT(sizeof(void*) >= sizeof(char*)) +#if (LZO_SIZEOF_VOID_P > 0) + LZOCHK_ASSERT(sizeof(void*) == LZO_SIZEOF_VOID_P) + LZOCHK_ASSERT(sizeof(char*) == LZO_SIZEOF_VOID_P) +#endif +#if (LZO_HAVE_MM_HUGE_PTR) + LZOCHK_ASSERT(4 == sizeof(void __huge*)) + LZOCHK_ASSERT(4 == sizeof(char __huge*)) +#endif +#if (LZO_ABI_I8LP16) + LZOCHK_ASSERT((((1u << 7) + 1) >> 7) == 1) + LZOCHK_ASSERT((((1ul << 15) + 1) >> 15) == 1) +#else + LZOCHK_ASSERT((((1u << 15) + 1) >> 15) == 1) + LZOCHK_ASSERT((((1ul << 31) + 1) >> 31) == 1) +#endif +#if defined(LZOCHK_CFG_PEDANTIC) +#if defined(__MSDOS__) && defined(__TURBOC__) && (__TURBOC__ < 0x0150) +#else + LZOCHK_ASSERT((1 << (8*LZO_SIZEOF_INT-1)) < 0) +#endif +#endif + LZOCHK_ASSERT((1u << (8*LZO_SIZEOF_INT-1)) > 0) +#if defined(LZOCHK_CFG_PEDANTIC) + LZOCHK_ASSERT((1l << (8*LZO_SIZEOF_LONG-1)) < 0) +#endif + LZOCHK_ASSERT((1ul << (8*LZO_SIZEOF_LONG-1)) > 0) +#if defined(lzo_int16e_t) + LZOCHK_ASSERT(sizeof(lzo_int16e_t) == 2) + LZOCHK_ASSERT(sizeof(lzo_int16e_t) == LZO_SIZEOF_LZO_INT16E_T) + LZOCHK_ASSERT(sizeof(lzo_uint16e_t) == 2) + LZOCHK_ASSERT(sizeof(lzo_int16e_t) == sizeof(lzo_uint16e_t)) + LZOCHK_ASSERT_IS_SIGNED_T(lzo_int16e_t) + LZOCHK_ASSERT_IS_UNSIGNED_T(lzo_uint16e_t) +#if defined(__MSDOS__) && defined(__TURBOC__) && (__TURBOC__ < 0x0150) +#else + LZOCHK_ASSERT((LZO_STATIC_CAST(lzo_uint16e_t, (~LZO_STATIC_CAST(lzo_uint16e_t,0ul))) >> 15) == 1) +#endif + LZOCHK_ASSERT( LZO_STATIC_CAST(lzo_int16e_t, (1 + ~LZO_STATIC_CAST(lzo_int16e_t, 0))) == 0) +#if defined(LZOCHK_CFG_PEDANTIC) + LZOCHK_ASSERT( LZO_STATIC_CAST(lzo_uint16e_t, (1 + ~LZO_STATIC_CAST(lzo_uint16e_t, 0))) == 0) +#endif +#endif +#if defined(lzo_int32e_t) + LZOCHK_ASSERT(sizeof(lzo_int32e_t) == 4) + LZOCHK_ASSERT(sizeof(lzo_int32e_t) == LZO_SIZEOF_LZO_INT32E_T) + LZOCHK_ASSERT(sizeof(lzo_uint32e_t) == 4) + LZOCHK_ASSERT(sizeof(lzo_int32e_t) == sizeof(lzo_uint32e_t)) + LZOCHK_ASSERT_IS_SIGNED_T(lzo_int32e_t) + LZOCHK_ASSERT(((( LZO_STATIC_CAST(lzo_int32e_t, 1) << 30) + 1) >> 30) == 1) + LZOCHK_ASSERT_IS_UNSIGNED_T(lzo_uint32e_t) + LZOCHK_ASSERT(((( LZO_STATIC_CAST(lzo_uint32e_t, 1) << 31) + 1) >> 31) == 1) + LZOCHK_ASSERT((LZO_STATIC_CAST(lzo_uint32e_t, (~LZO_STATIC_CAST(lzo_uint32e_t, 0ul))) >> 31) == 1) + LZOCHK_ASSERT( LZO_STATIC_CAST(lzo_int32e_t, (1 + ~LZO_STATIC_CAST(lzo_int32e_t, 0))) == 0) +#if defined(LZOCHK_CFG_PEDANTIC) + LZOCHK_ASSERT( LZO_STATIC_CAST(lzo_uint32e_t, (1 + ~LZO_STATIC_CAST(lzo_uint32e_t, 0))) == 0) +#endif +#endif +#if defined(lzo_int32e_t) + LZOCHK_ASSERT(sizeof(lzo_int32l_t) >= sizeof(lzo_int32e_t)) +#endif + LZOCHK_ASSERT(sizeof(lzo_int32l_t) >= 4) + LZOCHK_ASSERT(sizeof(lzo_int32l_t) == LZO_SIZEOF_LZO_INT32L_T) + LZOCHK_ASSERT(sizeof(lzo_uint32l_t) >= 4) + LZOCHK_ASSERT(sizeof(lzo_int32l_t) == sizeof(lzo_uint32l_t)) + LZOCHK_ASSERT_IS_SIGNED_T(lzo_int32l_t) + LZOCHK_ASSERT(((( LZO_STATIC_CAST(lzo_int32l_t, 1) << 30) + 1) >> 30) == 1) + LZOCHK_ASSERT_IS_UNSIGNED_T(lzo_uint32l_t) + LZOCHK_ASSERT(((( LZO_STATIC_CAST(lzo_uint32l_t, 1) << 31) + 1) >> 31) == 1) + LZOCHK_ASSERT(sizeof(lzo_int32f_t) >= sizeof(int)) +#if defined(lzo_int32e_t) + LZOCHK_ASSERT(sizeof(lzo_int32f_t) >= sizeof(lzo_int32e_t)) +#endif + LZOCHK_ASSERT(sizeof(lzo_int32f_t) >= sizeof(lzo_int32l_t)) + LZOCHK_ASSERT(sizeof(lzo_int32f_t) >= 4) + LZOCHK_ASSERT(sizeof(lzo_int32f_t) >= sizeof(lzo_int32l_t)) + LZOCHK_ASSERT(sizeof(lzo_int32f_t) == LZO_SIZEOF_LZO_INT32F_T) + LZOCHK_ASSERT(sizeof(lzo_uint32f_t) >= 4) + LZOCHK_ASSERT(sizeof(lzo_uint32f_t) >= sizeof(lzo_uint32l_t)) + LZOCHK_ASSERT(sizeof(lzo_int32f_t) == sizeof(lzo_uint32f_t)) + LZOCHK_ASSERT_IS_SIGNED_T(lzo_int32f_t) + LZOCHK_ASSERT(((( LZO_STATIC_CAST(lzo_int32f_t, 1) << 30) + 1) >> 30) == 1) + LZOCHK_ASSERT_IS_UNSIGNED_T(lzo_uint32f_t) + LZOCHK_ASSERT(((( LZO_STATIC_CAST(lzo_uint32f_t, 1) << 31) + 1) >> 31) == 1) +#if defined(lzo_int64e_t) + LZOCHK_ASSERT(sizeof(lzo_int64e_t) == 8) + LZOCHK_ASSERT(sizeof(lzo_int64e_t) == LZO_SIZEOF_LZO_INT64E_T) + LZOCHK_ASSERT(sizeof(lzo_uint64e_t) == 8) + LZOCHK_ASSERT(sizeof(lzo_int64e_t) == sizeof(lzo_uint64e_t)) + LZOCHK_ASSERT_IS_SIGNED_T(lzo_int64e_t) +#if (LZO_CC_BORLANDC && (__BORLANDC__ < 0x0530)) +#else + LZOCHK_ASSERT_IS_UNSIGNED_T(lzo_uint64e_t) +#endif +#endif +#if defined(lzo_int64l_t) +#if defined(lzo_int64e_t) + LZOCHK_ASSERT(sizeof(lzo_int64l_t) >= sizeof(lzo_int64e_t)) +#endif + LZOCHK_ASSERT(sizeof(lzo_int64l_t) >= 8) + LZOCHK_ASSERT(sizeof(lzo_int64l_t) == LZO_SIZEOF_LZO_INT64L_T) + LZOCHK_ASSERT(sizeof(lzo_uint64l_t) >= 8) + LZOCHK_ASSERT(sizeof(lzo_int64l_t) == sizeof(lzo_uint64l_t)) + LZOCHK_ASSERT_IS_SIGNED_T(lzo_int64l_t) + LZOCHK_ASSERT(((( LZO_STATIC_CAST(lzo_int64l_t, 1) << 62) + 1) >> 62) == 1) + LZOCHK_ASSERT(((( LZO_INT64_C(1) << 62) + 1) >> 62) == 1) +#if (LZO_CC_BORLANDC && (__BORLANDC__ < 0x0530)) +#else + LZOCHK_ASSERT_IS_UNSIGNED_T(lzo_uint64l_t) + LZOCHK_ASSERT(LZO_UINT64_C(18446744073709551615) > 0) +#endif + LZOCHK_ASSERT(((( LZO_STATIC_CAST(lzo_uint64l_t, 1) << 63) + 1) >> 63) == 1) + LZOCHK_ASSERT(((( LZO_UINT64_C(1) << 63) + 1) >> 63) == 1) +#if (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020600ul)) + LZOCHK_ASSERT(LZO_INT64_C(9223372036854775807) > LZO_INT64_C(0)) +#else + LZOCHK_ASSERT(LZO_INT64_C(9223372036854775807) > 0) +#endif + LZOCHK_ASSERT(LZO_INT64_C(-9223372036854775807) - 1 < 0) + LZOCHK_ASSERT( LZO_INT64_C(9223372036854775807) % LZO_INT32_C(2147483629) == 721) + LZOCHK_ASSERT( LZO_INT64_C(9223372036854775807) % LZO_INT32_C(2147483647) == 1) + LZOCHK_ASSERT(LZO_UINT64_C(9223372036854775807) % LZO_UINT32_C(2147483629) == 721) + LZOCHK_ASSERT(LZO_UINT64_C(9223372036854775807) % LZO_UINT32_C(2147483647) == 1) +#endif +#if defined(lzo_int64f_t) +#if defined(lzo_int64e_t) + LZOCHK_ASSERT(sizeof(lzo_int64f_t) >= sizeof(lzo_int64e_t)) +#endif + LZOCHK_ASSERT(sizeof(lzo_int64f_t) >= sizeof(lzo_int64l_t)) + LZOCHK_ASSERT(sizeof(lzo_int64f_t) >= 8) + LZOCHK_ASSERT(sizeof(lzo_int64f_t) >= sizeof(lzo_int64l_t)) + LZOCHK_ASSERT(sizeof(lzo_int64f_t) == LZO_SIZEOF_LZO_INT64F_T) + LZOCHK_ASSERT(sizeof(lzo_uint64f_t) >= 8) + LZOCHK_ASSERT(sizeof(lzo_uint64f_t) >= sizeof(lzo_uint64l_t)) + LZOCHK_ASSERT(sizeof(lzo_int64f_t) == sizeof(lzo_uint64f_t)) + LZOCHK_ASSERT_IS_SIGNED_T(lzo_int64f_t) +#if (LZO_CC_BORLANDC && (__BORLANDC__ < 0x0530)) +#else + LZOCHK_ASSERT_IS_UNSIGNED_T(lzo_uint64f_t) +#endif +#endif +#if !defined(__LZO_INTPTR_T_IS_POINTER) + LZOCHK_ASSERT_IS_SIGNED_T(lzo_intptr_t) + LZOCHK_ASSERT_IS_UNSIGNED_T(lzo_uintptr_t) +#endif + LZOCHK_ASSERT(sizeof(lzo_intptr_t) >= sizeof(void *)) + LZOCHK_ASSERT(sizeof(lzo_intptr_t) == LZO_SIZEOF_LZO_INTPTR_T) + LZOCHK_ASSERT(sizeof(lzo_intptr_t) == sizeof(lzo_uintptr_t)) +#if defined(lzo_word_t) + LZOCHK_ASSERT(LZO_WORDSIZE == LZO_SIZEOF_LZO_WORD_T) + LZOCHK_ASSERT_IS_UNSIGNED_T(lzo_word_t) + LZOCHK_ASSERT_IS_SIGNED_T(lzo_sword_t) + LZOCHK_ASSERT(sizeof(lzo_word_t) == LZO_SIZEOF_LZO_WORD_T) + LZOCHK_ASSERT(sizeof(lzo_word_t) == sizeof(lzo_sword_t)) +#endif + LZOCHK_ASSERT(sizeof(lzo_int8_t) == 1) + LZOCHK_ASSERT(sizeof(lzo_uint8_t) == 1) + LZOCHK_ASSERT(sizeof(lzo_int8_t) == sizeof(lzo_uint8_t)) + LZOCHK_ASSERT_IS_SIGNED_T(lzo_int8_t) + LZOCHK_ASSERT_IS_UNSIGNED_T(lzo_uint8_t) +#if defined(LZO_INT16_C) + LZOCHK_ASSERT(sizeof(LZO_INT16_C(0)) >= 2) + LZOCHK_ASSERT(sizeof(LZO_UINT16_C(0)) >= 2) + LZOCHK_ASSERT((LZO_UINT16_C(0xffff) >> 15) == 1) +#endif +#if defined(LZO_INT32_C) + LZOCHK_ASSERT(sizeof(LZO_INT32_C(0)) >= 4) + LZOCHK_ASSERT(sizeof(LZO_UINT32_C(0)) >= 4) + LZOCHK_ASSERT((LZO_UINT32_C(0xffffffff) >> 31) == 1) +#endif +#if defined(LZO_INT64_C) +#if (LZO_CC_BORLANDC && (__BORLANDC__ < 0x0560)) +#else + LZOCHK_ASSERT(sizeof(LZO_INT64_C(0)) >= 8) + LZOCHK_ASSERT(sizeof(LZO_UINT64_C(0)) >= 8) +#endif + LZOCHK_ASSERT((LZO_UINT64_C(0xffffffffffffffff) >> 63) == 1) + LZOCHK_ASSERT((LZO_UINT64_C(0xffffffffffffffff) & ~0) == LZO_UINT64_C(0xffffffffffffffff)) + LZOCHK_ASSERT((LZO_UINT64_C(0xffffffffffffffff) & ~0l) == LZO_UINT64_C(0xffffffffffffffff)) +#if (LZO_SIZEOF_INT == 4) +# if (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020000ul)) +# else + LZOCHK_ASSERT((LZO_UINT64_C(0xffffffffffffffff) & (~0u+0u)) == 0xffffffffu) +# endif +#endif +#if (LZO_SIZEOF_LONG == 4) +# if (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020000ul)) +# else + LZOCHK_ASSERT((LZO_UINT64_C(0xffffffffffffffff) & (~0ul+0ul)) == 0xfffffffful) +# endif +#endif +#endif +#if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM) + LZOCHK_ASSERT(sizeof(void*) == 2) + LZOCHK_ASSERT(sizeof(ptrdiff_t) == 2) +#elif (LZO_MM_COMPACT || LZO_MM_LARGE || LZO_MM_HUGE) + LZOCHK_ASSERT(sizeof(void*) == 4) +#endif +#if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_COMPACT) + LZOCHK_ASSERT(sizeof(void (*)(void)) == 2) +#elif (LZO_MM_MEDIUM || LZO_MM_LARGE || LZO_MM_HUGE) + LZOCHK_ASSERT(sizeof(void (*)(void)) == 4) +#endif +#if (LZO_ABI_ILP32) + LZOCHK_ASSERT(sizeof(int) == 4) + LZOCHK_ASSERT(sizeof(long) == 4) + LZOCHK_ASSERT(sizeof(void*) == 4) + LZOCHK_ASSERT(sizeof(ptrdiff_t) == sizeof(void*)) + LZOCHK_ASSERT(sizeof(size_t) == sizeof(void*)) + LZOCHK_ASSERT(sizeof(lzo_intptr_t) == sizeof(void *)) +#endif +#if (LZO_ABI_ILP64) + LZOCHK_ASSERT(sizeof(int) == 8) + LZOCHK_ASSERT(sizeof(long) == 8) + LZOCHK_ASSERT(sizeof(void*) == 8) + LZOCHK_ASSERT(sizeof(ptrdiff_t) == sizeof(void*)) + LZOCHK_ASSERT(sizeof(size_t) == sizeof(void*)) + LZOCHK_ASSERT(sizeof(lzo_intptr_t) == sizeof(void *)) +#endif +#if (LZO_ABI_IP32L64) + LZOCHK_ASSERT(sizeof(int) == 4) + LZOCHK_ASSERT(sizeof(long) == 8) + LZOCHK_ASSERT(sizeof(void*) == 4) + LZOCHK_ASSERT(sizeof(ptrdiff_t) == sizeof(void*)) + LZOCHK_ASSERT(sizeof(size_t) == sizeof(void*)) + LZOCHK_ASSERT(sizeof(lzo_intptr_t) == sizeof(void *)) +#endif +#if (LZO_ABI_LLP64) + LZOCHK_ASSERT(sizeof(int) == 4) + LZOCHK_ASSERT(sizeof(long) == 4) + LZOCHK_ASSERT(sizeof(void*) == 8) + LZOCHK_ASSERT(sizeof(ptrdiff_t) == sizeof(void*)) + LZOCHK_ASSERT(sizeof(size_t) == sizeof(void*)) + LZOCHK_ASSERT(sizeof(lzo_intptr_t) == sizeof(void *)) +#endif +#if (LZO_ABI_LP32) + LZOCHK_ASSERT(sizeof(int) == 2) + LZOCHK_ASSERT(sizeof(long) == 4) + LZOCHK_ASSERT(sizeof(void*) == 4) + LZOCHK_ASSERT(sizeof(lzo_intptr_t) == sizeof(void *)) +#endif +#if (LZO_ABI_LP64) + LZOCHK_ASSERT(sizeof(int) == 4) + LZOCHK_ASSERT(sizeof(long) == 8) + LZOCHK_ASSERT(sizeof(void*) == 8) + LZOCHK_ASSERT(sizeof(ptrdiff_t) == sizeof(void*)) + LZOCHK_ASSERT(sizeof(size_t) == sizeof(void*)) + LZOCHK_ASSERT(sizeof(lzo_intptr_t) == sizeof(void *)) +#endif +#if (LZO_ABI_IP32W64) + LZOCHK_ASSERT(sizeof(int) == 4) + LZOCHK_ASSERT(sizeof(void*) == 4) + LZOCHK_ASSERT(sizeof(ptrdiff_t) == sizeof(void*)) + LZOCHK_ASSERT(sizeof(size_t) == sizeof(void*)) + LZOCHK_ASSERT(sizeof(lzo_intptr_t) == sizeof(void *)) + LZOCHK_ASSERT(LZO_WORDSIZE == 8) +#endif +#if (LZO_ARCH_I086) + LZOCHK_ASSERT(sizeof(size_t) == 2) + LZOCHK_ASSERT(sizeof(lzo_intptr_t) == sizeof(void *)) +#elif (LZO_ARCH_I386 || LZO_ARCH_M68K) + LZOCHK_ASSERT(sizeof(size_t) == 4) + LZOCHK_ASSERT(sizeof(ptrdiff_t) == 4) + LZOCHK_ASSERT(sizeof(lzo_intptr_t) == sizeof(void *)) +#endif +#if (LZO_OS_DOS32 || LZO_OS_OS2 || LZO_OS_WIN32) + LZOCHK_ASSERT(sizeof(size_t) == 4) + LZOCHK_ASSERT(sizeof(ptrdiff_t) == 4) + LZOCHK_ASSERT(sizeof(void (*)(void)) == 4) +#elif (LZO_OS_WIN64) + LZOCHK_ASSERT(sizeof(size_t) == 8) + LZOCHK_ASSERT(sizeof(ptrdiff_t) == 8) + LZOCHK_ASSERT(sizeof(void (*)(void)) == 8) +#endif +#if (LZO_CC_NDPC) +#elif (LZO_SIZEOF_INT > 1) + LZOCHK_ASSERT( LZO_STATIC_CAST(int, LZO_STATIC_CAST(unsigned char, LZO_STATIC_CAST(signed char, -1))) == 255) +#endif +#if defined(LZOCHK_CFG_PEDANTIC) +#if (LZO_CC_KEILC) +#elif (LZO_CC_NDPC) +#elif !(LZO_BROKEN_INTEGRAL_PROMOTION) && (LZO_SIZEOF_INT > 1) + LZOCHK_ASSERT( ((LZO_STATIC_CAST(unsigned char, 128)) << LZO_STATIC_CAST(int, (8*sizeof(int)-8))) < 0) +#endif +#endif +#if defined(LZOCHK_CFG_PEDANTIC) +#if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0530) && (__BORLANDC__ < 0x0560)) +# pragma option pop +#endif +#endif +#endif +#if defined(LZO_WANT_ACCLIB_VGET) +# undef LZO_WANT_ACCLIB_VGET +#define __LZOLIB_VGET_CH_INCLUDED 1 +#if !defined(LZOLIB_PUBLIC) +# define LZOLIB_PUBLIC(r,f) r __LZOLIB_FUNCNAME(f) +#endif +#if !defined(LZOLIB_PUBLIC_NOINLINE) +# if !defined(__lzo_noinline) +# define LZOLIB_PUBLIC_NOINLINE(r,f) r __LZOLIB_FUNCNAME(f) +# elif (LZO_CC_CLANG || (LZO_CC_GNUC >= 0x030400ul) || LZO_CC_LLVM) +# define LZOLIB_PUBLIC_NOINLINE(r,f) __lzo_noinline __attribute__((__used__)) r __LZOLIB_FUNCNAME(f) +# else +# define LZOLIB_PUBLIC_NOINLINE(r,f) __lzo_noinline r __LZOLIB_FUNCNAME(f) +# endif +#endif +extern void* volatile lzo_vget_ptr__; +#if (LZO_CC_CLANG || (LZO_CC_GNUC >= 0x030400ul) || LZO_CC_LLVM) +void* volatile __attribute__((__used__)) lzo_vget_ptr__ = LZO_STATIC_CAST(void *, 0); +#else +void* volatile lzo_vget_ptr__ = LZO_STATIC_CAST(void *, 0); +#endif +#ifndef __LZOLIB_VGET_BODY +#define __LZOLIB_VGET_BODY(T) \ + if __lzo_unlikely(lzo_vget_ptr__) { \ + typedef T __lzo_may_alias TT; \ + unsigned char e; expr &= 255; e = LZO_STATIC_CAST(unsigned char, expr); \ + * LZO_STATIC_CAST(TT *, lzo_vget_ptr__) = v; \ + * LZO_STATIC_CAST(unsigned char *, lzo_vget_ptr__) = e; \ + v = * LZO_STATIC_CAST(TT *, lzo_vget_ptr__); \ + } \ + return v; +#endif +LZOLIB_PUBLIC_NOINLINE(short, lzo_vget_short) (short v, int expr) +{ + __LZOLIB_VGET_BODY(short) +} +LZOLIB_PUBLIC_NOINLINE(int, lzo_vget_int) (int v, int expr) +{ + __LZOLIB_VGET_BODY(int) +} +LZOLIB_PUBLIC_NOINLINE(long, lzo_vget_long) (long v, int expr) +{ + __LZOLIB_VGET_BODY(long) +} +#if defined(lzo_int64l_t) +LZOLIB_PUBLIC_NOINLINE(lzo_int64l_t, lzo_vget_lzo_int64l_t) (lzo_int64l_t v, int expr) +{ + __LZOLIB_VGET_BODY(lzo_int64l_t) +} +#endif +LZOLIB_PUBLIC_NOINLINE(lzo_hsize_t, lzo_vget_lzo_hsize_t) (lzo_hsize_t v, int expr) +{ + __LZOLIB_VGET_BODY(lzo_hsize_t) +} +#if !(LZO_CFG_NO_DOUBLE) +LZOLIB_PUBLIC_NOINLINE(double, lzo_vget_double) (double v, int expr) +{ + __LZOLIB_VGET_BODY(double) +} +#endif +LZOLIB_PUBLIC_NOINLINE(lzo_hvoid_p, lzo_vget_lzo_hvoid_p) (lzo_hvoid_p v, int expr) +{ + __LZOLIB_VGET_BODY(lzo_hvoid_p) +} +#if (LZO_ARCH_I086 && LZO_CC_TURBOC && (__TURBOC__ == 0x0295)) && !defined(__cplusplus) +LZOLIB_PUBLIC_NOINLINE(lzo_hvoid_p, lzo_vget_lzo_hvoid_cp) (const lzo_hvoid_p vv, int expr) +{ + lzo_hvoid_p v = (lzo_hvoid_p) vv; + __LZOLIB_VGET_BODY(lzo_hvoid_p) +} +#else +LZOLIB_PUBLIC_NOINLINE(const lzo_hvoid_p, lzo_vget_lzo_hvoid_cp) (const lzo_hvoid_p v, int expr) +{ + __LZOLIB_VGET_BODY(const lzo_hvoid_p) +} +#endif +#endif +#if defined(LZO_WANT_ACCLIB_HMEMCPY) +# undef LZO_WANT_ACCLIB_HMEMCPY +#define __LZOLIB_HMEMCPY_CH_INCLUDED 1 +#if !defined(LZOLIB_PUBLIC) +# define LZOLIB_PUBLIC(r,f) r __LZOLIB_FUNCNAME(f) +#endif +LZOLIB_PUBLIC(int, lzo_hmemcmp) (const lzo_hvoid_p s1, const lzo_hvoid_p s2, lzo_hsize_t len) +{ +#if (LZO_HAVE_MM_HUGE_PTR) || !(HAVE_MEMCMP) + const lzo_hbyte_p p1 = LZO_STATIC_CAST(const lzo_hbyte_p, s1); + const lzo_hbyte_p p2 = LZO_STATIC_CAST(const lzo_hbyte_p, s2); + if __lzo_likely(len > 0) do + { + int d = *p1 - *p2; + if (d != 0) + return d; + p1++; p2++; + } while __lzo_likely(--len > 0); + return 0; +#else + return memcmp(s1, s2, len); +#endif +} +LZOLIB_PUBLIC(lzo_hvoid_p, lzo_hmemcpy) (lzo_hvoid_p dest, const lzo_hvoid_p src, lzo_hsize_t len) +{ +#if (LZO_HAVE_MM_HUGE_PTR) || !(HAVE_MEMCPY) + lzo_hbyte_p p1 = LZO_STATIC_CAST(lzo_hbyte_p, dest); + const lzo_hbyte_p p2 = LZO_STATIC_CAST(const lzo_hbyte_p, src); + if (!(len > 0) || p1 == p2) + return dest; + do + *p1++ = *p2++; + while __lzo_likely(--len > 0); + return dest; +#else + return memcpy(dest, src, len); +#endif +} +LZOLIB_PUBLIC(lzo_hvoid_p, lzo_hmemmove) (lzo_hvoid_p dest, const lzo_hvoid_p src, lzo_hsize_t len) +{ +#if (LZO_HAVE_MM_HUGE_PTR) || !(HAVE_MEMMOVE) + lzo_hbyte_p p1 = LZO_STATIC_CAST(lzo_hbyte_p, dest); + const lzo_hbyte_p p2 = LZO_STATIC_CAST(const lzo_hbyte_p, src); + if (!(len > 0) || p1 == p2) + return dest; + if (p1 < p2) + { + do + *p1++ = *p2++; + while __lzo_likely(--len > 0); + } + else + { + p1 += len; + p2 += len; + do + *--p1 = *--p2; + while __lzo_likely(--len > 0); + } + return dest; +#else + return memmove(dest, src, len); +#endif +} +LZOLIB_PUBLIC(lzo_hvoid_p, lzo_hmemset) (lzo_hvoid_p s, int cc, lzo_hsize_t len) +{ +#if (LZO_HAVE_MM_HUGE_PTR) || !(HAVE_MEMSET) + lzo_hbyte_p p = LZO_STATIC_CAST(lzo_hbyte_p, s); + unsigned char c = LZO_ITRUNC(unsigned char, cc); + if __lzo_likely(len > 0) do + *p++ = c; + while __lzo_likely(--len > 0); + return s; +#else + return memset(s, cc, len); +#endif +} +#endif +#if defined(LZO_WANT_ACCLIB_RAND) +# undef LZO_WANT_ACCLIB_RAND +#define __LZOLIB_RAND_CH_INCLUDED 1 +#if !defined(LZOLIB_PUBLIC) +# define LZOLIB_PUBLIC(r,f) r __LZOLIB_FUNCNAME(f) +#endif +LZOLIB_PUBLIC(void, lzo_srand31) (lzo_rand31_p r, lzo_uint32l_t seed) +{ + r->seed = seed & LZO_UINT32_C(0xffffffff); +} +LZOLIB_PUBLIC(lzo_uint32l_t, lzo_rand31) (lzo_rand31_p r) +{ + r->seed = r->seed * LZO_UINT32_C(1103515245) + 12345; + r->seed &= LZO_UINT32_C(0x7fffffff); + return r->seed; +} +#if defined(lzo_int64l_t) +LZOLIB_PUBLIC(void, lzo_srand48) (lzo_rand48_p r, lzo_uint32l_t seed) +{ + r->seed = seed & LZO_UINT32_C(0xffffffff); + r->seed <<= 16; r->seed |= 0x330e; +} +LZOLIB_PUBLIC(lzo_uint32l_t, lzo_rand48) (lzo_rand48_p r) +{ + lzo_uint64l_t a; + r->seed = r->seed * LZO_UINT64_C(25214903917) + 11; + r->seed &= LZO_UINT64_C(0xffffffffffff); + a = r->seed >> 17; + return LZO_STATIC_CAST(lzo_uint32l_t, a); +} +LZOLIB_PUBLIC(lzo_uint32l_t, lzo_rand48_r32) (lzo_rand48_p r) +{ + lzo_uint64l_t a; + r->seed = r->seed * LZO_UINT64_C(25214903917) + 11; + r->seed &= LZO_UINT64_C(0xffffffffffff); + a = r->seed >> 16; + return LZO_STATIC_CAST(lzo_uint32l_t, a); +} +#endif +#if defined(lzo_int64l_t) +LZOLIB_PUBLIC(void, lzo_srand64) (lzo_rand64_p r, lzo_uint64l_t seed) +{ + r->seed = seed & LZO_UINT64_C(0xffffffffffffffff); +} +LZOLIB_PUBLIC(lzo_uint32l_t, lzo_rand64) (lzo_rand64_p r) +{ + lzo_uint64l_t a; + r->seed = r->seed * LZO_UINT64_C(6364136223846793005) + 1; +#if (LZO_SIZEOF_LZO_INT64L_T > 8) + r->seed &= LZO_UINT64_C(0xffffffffffffffff); +#endif + a = r->seed >> 33; + return LZO_STATIC_CAST(lzo_uint32l_t, a); +} +LZOLIB_PUBLIC(lzo_uint32l_t, lzo_rand64_r32) (lzo_rand64_p r) +{ + lzo_uint64l_t a; + r->seed = r->seed * LZO_UINT64_C(6364136223846793005) + 1; +#if (LZO_SIZEOF_LZO_INT64L_T > 8) + r->seed &= LZO_UINT64_C(0xffffffffffffffff); +#endif + a = r->seed >> 32; + return LZO_STATIC_CAST(lzo_uint32l_t, a); +} +#endif +LZOLIB_PUBLIC(void, lzo_srandmt) (lzo_randmt_p r, lzo_uint32l_t seed) +{ + unsigned i = 0; + do { + r->s[i++] = (seed &= LZO_UINT32_C(0xffffffff)); + seed ^= seed >> 30; + seed = seed * LZO_UINT32_C(0x6c078965) + i; + } while (i != 624); + r->n = i; +} +LZOLIB_PUBLIC(lzo_uint32l_t, lzo_randmt) (lzo_randmt_p r) +{ + return (__LZOLIB_FUNCNAME(lzo_randmt_r32)(r)) >> 1; +} +LZOLIB_PUBLIC(lzo_uint32l_t, lzo_randmt_r32) (lzo_randmt_p r) +{ + lzo_uint32l_t v; + if __lzo_unlikely(r->n == 624) { + unsigned i = 0, j; + r->n = 0; + do { + j = i - 623; if (LZO_STATIC_CAST(int, j) < 0) j += 624; + v = (r->s[i] & LZO_UINT32_C(0x80000000)) ^ (r->s[j] & LZO_UINT32_C(0x7fffffff)); + j = i - 227; if (LZO_STATIC_CAST(int, j) < 0) j += 624; + r->s[i] = r->s[j] ^ (v >> 1); + if (v & 1) r->s[i] ^= LZO_UINT32_C(0x9908b0df); + } while (++i != 624); + } + { unsigned i = r->n++; v = r->s[i]; } + v ^= v >> 11; v ^= (v & LZO_UINT32_C(0x013a58ad)) << 7; + v ^= (v & LZO_UINT32_C(0x0001df8c)) << 15; v ^= v >> 18; + return v; +} +#if defined(lzo_int64l_t) +LZOLIB_PUBLIC(void, lzo_srandmt64) (lzo_randmt64_p r, lzo_uint64l_t seed) +{ + unsigned i = 0; + do { + r->s[i++] = (seed &= LZO_UINT64_C(0xffffffffffffffff)); + seed ^= seed >> 62; + seed = seed * LZO_UINT64_C(0x5851f42d4c957f2d) + i; + } while (i != 312); + r->n = i; +} +#if 0 +LZOLIB_PUBLIC(lzo_uint32l_t, lzo_randmt64) (lzo_randmt64_p r) +{ + lzo_uint64l_t v; + v = (__LZOLIB_FUNCNAME(lzo_randmt64_r64)(r)) >> 33; + return LZO_STATIC_CAST(lzo_uint32l_t, v); +} +#endif +LZOLIB_PUBLIC(lzo_uint64l_t, lzo_randmt64_r64) (lzo_randmt64_p r) +{ + lzo_uint64l_t v; + if __lzo_unlikely(r->n == 312) { + unsigned i = 0, j; + r->n = 0; + do { + j = i - 311; if (LZO_STATIC_CAST(int, j) < 0) j += 312; + v = (r->s[i] & LZO_UINT64_C(0xffffffff80000000)) ^ (r->s[j] & LZO_UINT64_C(0x7fffffff)); + j = i - 156; if (LZO_STATIC_CAST(int, j) < 0) j += 312; + r->s[i] = r->s[j] ^ (v >> 1); + if (v & 1) r->s[i] ^= LZO_UINT64_C(0xb5026f5aa96619e9); + } while (++i != 312); + } + { unsigned i = r->n++; v = r->s[i]; } + v ^= (v & LZO_UINT64_C(0xaaaaaaaaa0000000)) >> 29; + v ^= (v & LZO_UINT64_C(0x38eb3ffff6d3)) << 17; + v ^= (v & LZO_UINT64_C(0x7ffbf77)) << 37; + return v ^ (v >> 43); +} +#endif +#endif +#if defined(LZO_WANT_ACCLIB_RDTSC) +# undef LZO_WANT_ACCLIB_RDTSC +#define __LZOLIB_RDTSC_CH_INCLUDED 1 +#if !defined(LZOLIB_PUBLIC) +# define LZOLIB_PUBLIC(r,f) r __LZOLIB_FUNCNAME(f) +#endif +#if defined(lzo_int32e_t) +#if (LZO_OS_WIN32 && LZO_CC_PELLESC && (__POCC__ >= 290)) +# pragma warn(push) +# pragma warn(disable:2007) +#endif +#if (LZO_ARCH_AMD64 || LZO_ARCH_I386) && (LZO_ASM_SYNTAX_GNUC) +#if (LZO_ARCH_AMD64 && LZO_CC_INTELC) +# define __LZOLIB_RDTSC_REGS : : "c" (t) : "memory", "rax", "rdx" +#elif (LZO_ARCH_AMD64) +# define __LZOLIB_RDTSC_REGS : : "c" (t) : "cc", "memory", "rax", "rdx" +#elif (LZO_ARCH_I386 && LZO_CC_GNUC && (LZO_CC_GNUC < 0x020000ul)) +# define __LZOLIB_RDTSC_REGS : : "c" (t) : "ax", "dx" +#elif (LZO_ARCH_I386 && LZO_CC_INTELC) +# define __LZOLIB_RDTSC_REGS : : "c" (t) : "memory", "eax", "edx" +#else +# define __LZOLIB_RDTSC_REGS : : "c" (t) : "cc", "memory", "eax", "edx" +#endif +#endif +LZOLIB_PUBLIC(int, lzo_tsc_read) (lzo_uint32e_t* t) +{ +#if (LZO_ARCH_AMD64 || LZO_ARCH_I386) && (LZO_ASM_SYNTAX_GNUC) + __asm__ __volatile__( + "clc \n" ".byte 0x0f,0x31\n" + "movl %%eax,(%0)\n" "movl %%edx,4(%0)\n" + __LZOLIB_RDTSC_REGS + ); + return 0; +#elif (LZO_ARCH_I386) && (LZO_ASM_SYNTAX_MSC) + LZO_UNUSED(t); + __asm { + mov ecx, t + clc +# if (LZO_CC_MSC && (_MSC_VER < 1200)) + _emit 0x0f + _emit 0x31 +# else + rdtsc +# endif + mov [ecx], eax + mov [ecx+4], edx + } + return 0; +#else + t[0] = t[1] = 0; return -1; +#endif +} +#if (LZO_OS_WIN32 && LZO_CC_PELLESC && (__POCC__ >= 290)) +# pragma warn(pop) +#endif +#endif +#endif +#if defined(LZO_WANT_ACCLIB_DOSALLOC) +# undef LZO_WANT_ACCLIB_DOSALLOC +#define __LZOLIB_DOSALLOC_CH_INCLUDED 1 +#if !defined(LZOLIB_PUBLIC) +# define LZOLIB_PUBLIC(r,f) r __LZOLIB_FUNCNAME(f) +#endif +#if (LZO_OS_OS216) +LZO_EXTERN_C unsigned short __far __pascal DosAllocHuge(unsigned short, unsigned short, unsigned short __far *, unsigned short, unsigned short); +LZO_EXTERN_C unsigned short __far __pascal DosFreeSeg(unsigned short); +#endif +#if (LZO_OS_DOS16 || LZO_OS_WIN16) +#if !(LZO_CC_AZTECC) +LZOLIB_PUBLIC(void __far*, lzo_dos_alloc) (unsigned long size) +{ + void __far* p = 0; + union REGS ri, ro; + if ((long)size <= 0) + return p; + size = (size + 15) >> 4; + if (size > 0xffffu) + return p; + ri.x.ax = 0x4800; + ri.x.bx = (unsigned short) size; + int86(0x21, &ri, &ro); + if ((ro.x.cflag & 1) == 0) + p = (void __far*) LZO_PTR_MK_FP(ro.x.ax, 0); + return p; +} +LZOLIB_PUBLIC(int, lzo_dos_free) (void __far* p) +{ + union REGS ri, ro; + struct SREGS rs; + if (!p) + return 0; + if (LZO_PTR_FP_OFF(p) != 0) + return -1; + segread(&rs); + ri.x.ax = 0x4900; + rs.es = LZO_PTR_FP_SEG(p); + int86x(0x21, &ri, &ro, &rs); + if (ro.x.cflag & 1) + return -1; + return 0; +} +#endif +#endif +#if (LZO_OS_OS216) +LZOLIB_PUBLIC(void __far*, lzo_dos_alloc) (unsigned long size) +{ + void __far* p = 0; + unsigned short sel = 0; + if ((long)size <= 0) + return p; + if (DosAllocHuge((unsigned short)(size >> 16), (unsigned short)size, &sel, 0, 0) == 0) + p = (void __far*) LZO_PTR_MK_FP(sel, 0); + return p; +} +LZOLIB_PUBLIC(int, lzo_dos_free) (void __far* p) +{ + if (!p) + return 0; + if (LZO_PTR_FP_OFF(p) != 0) + return -1; + if (DosFreeSeg(LZO_PTR_FP_SEG(p)) != 0) + return -1; + return 0; +} +#endif +#endif +#if defined(LZO_WANT_ACCLIB_GETOPT) +# undef LZO_WANT_ACCLIB_GETOPT +#define __LZOLIB_GETOPT_CH_INCLUDED 1 +#if !defined(LZOLIB_PUBLIC) +# define LZOLIB_PUBLIC(r,f) r __LZOLIB_FUNCNAME(f) +#endif +LZOLIB_PUBLIC(void, lzo_getopt_init) (lzo_getopt_p g, + int start_argc, int argc, char** argv) +{ + memset(g, 0, sizeof(*g)); + g->optind = start_argc; + g->argc = argc; g->argv = argv; + g->optopt = -1; +} +static int __LZOLIB_FUNCNAME(lzo_getopt_rotate) (char** p, int first, int middle, int last) +{ + int i = middle, n = middle - first; + if (first >= middle || middle >= last) return 0; + for (;;) + { + char* t = p[first]; p[first] = p[i]; p[i] = t; + if (++first == middle) + { + if (++i == last) break; + middle = i; + } + else if (++i == last) + i = middle; + } + return n; +} +static int __LZOLIB_FUNCNAME(lzo_getopt_perror) (lzo_getopt_p g, int ret, const char* f, ...) +{ + if (g->opterr) + { +#if (HAVE_STDARG_H) + struct { va_list ap; } s; + va_start(s.ap, f); + g->opterr(g, f, &s); + va_end(s.ap); +#else + g->opterr(g, f, NULL); +#endif + } + ++g->errcount; + return ret; +} +LZOLIB_PUBLIC(int, lzo_getopt) (lzo_getopt_p g, + const char* shortopts, + const lzo_getopt_longopt_p longopts, + int* longind) +{ +#define pe __LZOLIB_FUNCNAME(lzo_getopt_perror) + int ordering = LZO_GETOPT_PERMUTE; + int missing_arg_ret = g->bad_option; + char* a; + if (shortopts) + { + if (*shortopts == '-' || *shortopts == '+') + ordering = *shortopts++ == '-' ? LZO_GETOPT_RETURN_IN_ORDER : LZO_GETOPT_REQUIRE_ORDER; + if (*shortopts == ':') + missing_arg_ret = *shortopts++; + } + g->optarg = NULL; + if (g->optopt == -1) + g->optopt = g->bad_option; + if (longind) + *longind = -1; + if (g->eof) + return -1; + if (g->shortpos) + goto lzo_label_next_shortopt; + g->optind -= __LZOLIB_FUNCNAME(lzo_getopt_rotate)(g->argv, g->pending_rotate_first, g->pending_rotate_middle, g->optind); + g->pending_rotate_first = g->pending_rotate_middle = g->optind; + if (ordering == LZO_GETOPT_PERMUTE) + { + while (g->optind < g->argc && !(g->argv[g->optind][0] == '-' && g->argv[g->optind][1])) + ++g->optind; + g->pending_rotate_middle = g->optind; + } + if (g->optind >= g->argc) + { + g->optind = g->pending_rotate_first; + goto lzo_label_eof; + } + a = g->argv[g->optind]; + if (a[0] == '-' && a[1] == '-') + { + size_t l = 0; + const lzo_getopt_longopt_p o; + const lzo_getopt_longopt_p o1 = NULL; + const lzo_getopt_longopt_p o2 = NULL; + int need_exact = 0; + ++g->optind; + if (!a[2]) + goto lzo_label_eof; + for (a += 2; a[l] && a[l] != '=' && a[l] != '#'; ) + ++l; + for (o = longopts; l && o && o->name; ++o) + { + if (strncmp(a, o->name, l) != 0) + continue; + if (!o->name[l]) + goto lzo_label_found_o; + need_exact |= o->has_arg & LZO_GETOPT_EXACT_ARG; + if (o1) o2 = o; + else o1 = o; + } + if (!o1 || need_exact) + return pe(g, g->bad_option, "unrecognized option '--%s'", a); + if (o2) + return pe(g, g->bad_option, "option '--%s' is ambiguous (could be '--%s' or '--%s')", a, o1->name, o2->name); + o = o1; + lzo_label_found_o: + a += l; + switch (o->has_arg & 0x2f) + { + case LZO_GETOPT_OPTIONAL_ARG: + if (a[0]) + g->optarg = a + 1; + break; + case LZO_GETOPT_REQUIRED_ARG: + if (a[0]) + g->optarg = a + 1; + else if (g->optind < g->argc) + g->optarg = g->argv[g->optind++]; + if (!g->optarg) + return pe(g, missing_arg_ret, "option '--%s' requires an argument", o->name); + break; + case LZO_GETOPT_REQUIRED_ARG | 0x20: + if (a[0] && a[1]) + g->optarg = a + 1; + if (!g->optarg) + return pe(g, missing_arg_ret, "option '--%s=' requires an argument", o->name); + break; + default: + if (a[0]) + return pe(g, g->bad_option, "option '--%s' doesn't allow an argument", o->name); + break; + } + if (longind) + *longind = (int) (o - longopts); + if (o->flag) + { + *o->flag = o->val; + return 0; + } + return o->val; + } + if (a[0] == '-' && a[1]) + { + unsigned char c; + const char* s; + lzo_label_next_shortopt: + a = g->argv[g->optind] + ++g->shortpos; + c = (unsigned char) *a++; s = NULL; + if (c != ':' && shortopts) + s = strchr(shortopts, c); + if (!s || s[1] != ':') + { + if (!a[0]) + { ++g->optind; g->shortpos = 0; } + if (!s) + { + g->optopt = c; + return pe(g, g->bad_option, "invalid option '-%c'", c); + } + } + else + { + ++g->optind; g->shortpos = 0; + if (a[0]) + g->optarg = a; + else if (s[2] != ':') + { + if (g->optind < g->argc) + g->optarg = g->argv[g->optind++]; + else + { + g->optopt = c; + return pe(g, missing_arg_ret, "option '-%c' requires an argument", c); + } + } + } + return c; + } + if (ordering == LZO_GETOPT_RETURN_IN_ORDER) + { + ++g->optind; + g->optarg = a; + return 1; + } +lzo_label_eof: + g->optind -= __LZOLIB_FUNCNAME(lzo_getopt_rotate)(g->argv, g->pending_rotate_first, g->pending_rotate_middle, g->optind); + g->pending_rotate_first = g->pending_rotate_middle = g->optind; + g->eof = 1; + return -1; +#undef pe +} +#endif +#if defined(LZO_WANT_ACCLIB_HALLOC) +# undef LZO_WANT_ACCLIB_HALLOC +#define __LZOLIB_HALLOC_CH_INCLUDED 1 +#if !defined(LZOLIB_PUBLIC) +# define LZOLIB_PUBLIC(r,f) r __LZOLIB_FUNCNAME(f) +#endif +#if (LZO_HAVE_MM_HUGE_PTR) +#if 1 && (LZO_OS_DOS16 && defined(BLX286)) +# define __LZOLIB_HALLOC_USE_DAH 1 +#elif 1 && (LZO_OS_DOS16 && defined(DOSX286)) +# define __LZOLIB_HALLOC_USE_DAH 1 +#elif 1 && (LZO_OS_OS216) +# define __LZOLIB_HALLOC_USE_DAH 1 +#elif 1 && (LZO_OS_WIN16) +# define __LZOLIB_HALLOC_USE_GA 1 +#elif 1 && (LZO_OS_DOS16) && (LZO_CC_BORLANDC) && defined(__DPMI16__) +# define __LZOLIB_HALLOC_USE_GA 1 +#endif +#endif +#if (__LZOLIB_HALLOC_USE_DAH) +#if 0 && (LZO_OS_OS216) +#include +#else +LZO_EXTERN_C unsigned short __far __pascal DosAllocHuge(unsigned short, unsigned short, unsigned short __far *, unsigned short, unsigned short); +LZO_EXTERN_C unsigned short __far __pascal DosFreeSeg(unsigned short); +#endif +#endif +#if (__LZOLIB_HALLOC_USE_GA) +#if 0 +#define STRICT 1 +#include +#else +LZO_EXTERN_C const void __near* __far __pascal GlobalAlloc(unsigned, unsigned long); +LZO_EXTERN_C const void __near* __far __pascal GlobalFree(const void __near*); +LZO_EXTERN_C unsigned long __far __pascal GlobalHandle(unsigned); +LZO_EXTERN_C void __far* __far __pascal GlobalLock(const void __near*); +LZO_EXTERN_C int __far __pascal GlobalUnlock(const void __near*); +#endif +#endif +LZOLIB_PUBLIC(lzo_hvoid_p, lzo_halloc) (lzo_hsize_t size) +{ + lzo_hvoid_p p = LZO_STATIC_CAST(lzo_hvoid_p, 0); + if (!(size > 0)) + return p; +#if 0 && defined(__palmos__) + p = MemPtrNew(size); +#elif !(LZO_HAVE_MM_HUGE_PTR) + if (size < LZO_STATIC_CAST(size_t, -1)) + p = malloc(LZO_STATIC_CAST(size_t, size)); +#else + if (LZO_STATIC_CAST(long, size) <= 0) + return p; +{ +#if (__LZOLIB_HALLOC_USE_DAH) + unsigned short sel = 0; + if (DosAllocHuge((unsigned short)(size >> 16), (unsigned short)size, &sel, 0, 0) == 0) + p = (lzo_hvoid_p) LZO_PTR_MK_FP(sel, 0); +#elif (__LZOLIB_HALLOC_USE_GA) + const void __near* h = GlobalAlloc(2, size); + if (h) { + p = GlobalLock(h); + if (p && LZO_PTR_FP_OFF(p) != 0) { + GlobalUnlock(h); + p = 0; + } + if (!p) + GlobalFree(h); + } +#elif (LZO_CC_MSC && (_MSC_VER >= 700)) + p = _halloc(size, 1); +#elif (LZO_CC_MSC || LZO_CC_WATCOMC) + p = halloc(size, 1); +#elif (LZO_CC_DMC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC) + p = farmalloc(size); +#elif (LZO_CC_BORLANDC || LZO_CC_TURBOC) + p = farmalloc(size); +#elif (LZO_CC_AZTECC) + p = lmalloc(size); +#else + if (size < LZO_STATIC_CAST(size_t, -1)) + p = malloc(LZO_STATIC_CAST(size_t, size)); +#endif +} +#endif + return p; +} +LZOLIB_PUBLIC(void, lzo_hfree) (lzo_hvoid_p p) +{ + if (!p) + return; +#if 0 && defined(__palmos__) + MemPtrFree(p); +#elif !(LZO_HAVE_MM_HUGE_PTR) + free(p); +#else +#if (__LZOLIB_HALLOC_USE_DAH) + if (LZO_PTR_FP_OFF(p) == 0) + DosFreeSeg((unsigned short) LZO_PTR_FP_SEG(p)); +#elif (__LZOLIB_HALLOC_USE_GA) + if (LZO_PTR_FP_OFF(p) == 0) { + const void __near* h = (const void __near*) (unsigned) GlobalHandle(LZO_PTR_FP_SEG(p)); + if (h) { + GlobalUnlock(h); + GlobalFree(h); + } + } +#elif (LZO_CC_MSC && (_MSC_VER >= 700)) + _hfree(p); +#elif (LZO_CC_MSC || LZO_CC_WATCOMC) + hfree(p); +#elif (LZO_CC_DMC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC) + farfree((void __far*) p); +#elif (LZO_CC_BORLANDC || LZO_CC_TURBOC) + farfree((void __far*) p); +#elif (LZO_CC_AZTECC) + lfree(p); +#else + free(p); +#endif +#endif +} +#endif +#if defined(LZO_WANT_ACCLIB_HFREAD) +# undef LZO_WANT_ACCLIB_HFREAD +#define __LZOLIB_HFREAD_CH_INCLUDED 1 +#if !defined(LZOLIB_PUBLIC) +# define LZOLIB_PUBLIC(r,f) r __LZOLIB_FUNCNAME(f) +#endif +LZOLIB_PUBLIC(lzo_hsize_t, lzo_hfread) (void* vfp, lzo_hvoid_p buf, lzo_hsize_t size) +{ + FILE* fp = LZO_STATIC_CAST(FILE *, vfp); +#if (LZO_HAVE_MM_HUGE_PTR) +#if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM) +#define __LZOLIB_REQUIRE_HMEMCPY_CH 1 + unsigned char tmp[512]; + lzo_hsize_t l = 0; + while (l < size) + { + size_t n = size - l > sizeof(tmp) ? sizeof(tmp) : (size_t) (size - l); + n = fread(tmp, 1, n, fp); + if (n == 0) + break; + __LZOLIB_FUNCNAME(lzo_hmemcpy)((lzo_hbyte_p)buf + l, tmp, (lzo_hsize_t)n); + l += n; + } + return l; +#elif (LZO_MM_COMPACT || LZO_MM_LARGE || LZO_MM_HUGE) + lzo_hbyte_p b = (lzo_hbyte_p) buf; + lzo_hsize_t l = 0; + while (l < size) + { + size_t n; + n = LZO_PTR_FP_OFF(b); n = (n <= 1) ? 0x8000u : (0u - n); + if ((lzo_hsize_t) n > size - l) + n = (size_t) (size - l); + n = fread((void __far*)b, 1, n, fp); + if (n == 0) + break; + b += n; l += n; + } + return l; +#else +# error "unknown memory model" +#endif +#else + return fread(buf, 1, size, fp); +#endif +} +LZOLIB_PUBLIC(lzo_hsize_t, lzo_hfwrite) (void* vfp, const lzo_hvoid_p buf, lzo_hsize_t size) +{ + FILE* fp = LZO_STATIC_CAST(FILE *, vfp); +#if (LZO_HAVE_MM_HUGE_PTR) +#if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM) +#define __LZOLIB_REQUIRE_HMEMCPY_CH 1 + unsigned char tmp[512]; + lzo_hsize_t l = 0; + while (l < size) + { + size_t n = size - l > sizeof(tmp) ? sizeof(tmp) : (size_t) (size - l); + __LZOLIB_FUNCNAME(lzo_hmemcpy)(tmp, (const lzo_hbyte_p)buf + l, (lzo_hsize_t)n); + n = fwrite(tmp, 1, n, fp); + if (n == 0) + break; + l += n; + } + return l; +#elif (LZO_MM_COMPACT || LZO_MM_LARGE || LZO_MM_HUGE) + const lzo_hbyte_p b = (const lzo_hbyte_p) buf; + lzo_hsize_t l = 0; + while (l < size) + { + size_t n; + n = LZO_PTR_FP_OFF(b); n = (n <= 1) ? 0x8000u : (0u - n); + if ((lzo_hsize_t) n > size - l) + n = (size_t) (size - l); + n = fwrite((void __far*)b, 1, n, fp); + if (n == 0) + break; + b += n; l += n; + } + return l; +#else +# error "unknown memory model" +#endif +#else + return fwrite(buf, 1, size, fp); +#endif +} +#endif +#if defined(LZO_WANT_ACCLIB_HSREAD) +# undef LZO_WANT_ACCLIB_HSREAD +#define __LZOLIB_HSREAD_CH_INCLUDED 1 +#if !defined(LZOLIB_PUBLIC) +# define LZOLIB_PUBLIC(r,f) r __LZOLIB_FUNCNAME(f) +#endif +LZOLIB_PUBLIC(long, lzo_safe_hread) (int fd, lzo_hvoid_p buf, long size) +{ + lzo_hbyte_p b = (lzo_hbyte_p) buf; + long l = 0; + int saved_errno; + saved_errno = errno; + while (l < size) + { + long n = size - l; +#if (LZO_HAVE_MM_HUGE_PTR) +# define __LZOLIB_REQUIRE_HREAD_CH 1 + errno = 0; n = lzo_hread(fd, b, n); +#elif (LZO_OS_DOS32) && defined(__DJGPP__) + errno = 0; n = _read(fd, b, n); +#else + errno = 0; n = read(fd, b, n); +#endif + if (n == 0) + break; + if (n < 0) { +#if defined(EAGAIN) + if (errno == (EAGAIN)) continue; +#endif +#if defined(EINTR) + if (errno == (EINTR)) continue; +#endif + if (errno == 0) errno = 1; + return l; + } + b += n; l += n; + } + errno = saved_errno; + return l; +} +LZOLIB_PUBLIC(long, lzo_safe_hwrite) (int fd, const lzo_hvoid_p buf, long size) +{ + const lzo_hbyte_p b = (const lzo_hbyte_p) buf; + long l = 0; + int saved_errno; + saved_errno = errno; + while (l < size) + { + long n = size - l; +#if (LZO_HAVE_MM_HUGE_PTR) +# define __LZOLIB_REQUIRE_HREAD_CH 1 + errno = 0; n = lzo_hwrite(fd, b, n); +#elif (LZO_OS_DOS32) && defined(__DJGPP__) + errno = 0; n = _write(fd, b, n); +#else + errno = 0; n = write(fd, b, n); +#endif + if (n == 0) + break; + if (n < 0) { +#if defined(EAGAIN) + if (errno == (EAGAIN)) continue; +#endif +#if defined(EINTR) + if (errno == (EINTR)) continue; +#endif + if (errno == 0) errno = 1; + return l; + } + b += n; l += n; + } + errno = saved_errno; + return l; +} +#endif +#if defined(LZO_WANT_ACCLIB_PCLOCK) +# undef LZO_WANT_ACCLIB_PCLOCK +#define __LZOLIB_PCLOCK_CH_INCLUDED 1 +#if !defined(LZOLIB_PUBLIC) +# define LZOLIB_PUBLIC(r,f) r __LZOLIB_FUNCNAME(f) +#endif +#if 1 && (LZO_OS_POSIX_LINUX && LZO_ARCH_AMD64 && LZO_ASM_SYNTAX_GNUC && !LZO_CFG_NO_SYSCALL) +#ifndef lzo_pclock_syscall_clock_gettime +#define lzo_pclock_syscall_clock_gettime lzo_pclock_syscall_clock_gettime +#endif +__lzo_static_noinline long lzo_pclock_syscall_clock_gettime(long clockid, struct timespec *ts) +{ + unsigned long r = 228; + __asm__ __volatile__("syscall\n" : "=a" (r), "=m" (*ts) : "0" (r), "D" (clockid), "S" (ts) __LZO_ASM_CLOBBER_LIST_CC); + return LZO_ICAST(long, r); +} +#endif +#if 1 && (LZO_OS_POSIX_LINUX && LZO_ARCH_I386 && LZO_ASM_SYNTAX_GNUC && !LZO_CFG_NO_SYSCALL) && defined(lzo_int64l_t) +#ifndef lzo_pclock_syscall_clock_gettime +#define lzo_pclock_syscall_clock_gettime lzo_pclock_syscall_clock_gettime +#endif +__lzo_static_noinline long lzo_pclock_syscall_clock_gettime(long clockid, struct timespec *ts) +{ + unsigned long r = 265; + __asm__ __volatile__("pushl %%ebx\n pushl %%edx\n popl %%ebx\n int $0x80\n popl %%ebx\n": "=a" (r), "=m" (*ts) : "0" (r), "d" (clockid), "c" (ts) __LZO_ASM_CLOBBER_LIST_CC); + return LZO_ICAST(long, r); +} +#endif +#if 0 && defined(lzo_pclock_syscall_clock_gettime) +#ifndef lzo_pclock_read_clock_gettime_r_syscall +#define lzo_pclock_read_clock_gettime_r_syscall lzo_pclock_read_clock_gettime_r_syscall +#endif +static int lzo_pclock_read_clock_gettime_r_syscall(lzo_pclock_handle_p h, lzo_pclock_p c) +{ + struct timespec ts; + if (lzo_pclock_syscall_clock_gettime(0, &ts) != 0) + return -1; + c->tv_sec = ts.tv_sec; + c->tv_nsec = LZO_STATIC_CAST(lzo_uint32l_t, ts.tv_nsec); + LZO_UNUSED(h); return 0; +} +#endif +#if (HAVE_GETTIMEOFDAY) +#ifndef lzo_pclock_read_gettimeofday +#define lzo_pclock_read_gettimeofday lzo_pclock_read_gettimeofday +#endif +static int lzo_pclock_read_gettimeofday(lzo_pclock_handle_p h, lzo_pclock_p c) +{ + struct timeval tv; + if (gettimeofday(&tv, NULL) != 0) + return -1; +#if defined(lzo_int64l_t) + c->tv_sec = tv.tv_sec; +#else + c->tv_sec_high = 0; + c->tv_sec_low = tv.tv_sec; +#endif + c->tv_nsec = LZO_STATIC_CAST(lzo_uint32l_t, (tv.tv_usec * 1000u)); + LZO_UNUSED(h); return 0; +} +#endif +#if defined(CLOCKS_PER_SEC) && !(LZO_CFG_NO_DOUBLE) +#ifndef lzo_pclock_read_clock +#define lzo_pclock_read_clock lzo_pclock_read_clock +#endif +static int lzo_pclock_read_clock(lzo_pclock_handle_p h, lzo_pclock_p c) +{ + clock_t ticks; + double secs; +#if defined(lzo_int64l_t) + lzo_uint64l_t nsecs; + ticks = clock(); + secs = LZO_STATIC_CAST(double, ticks) / (CLOCKS_PER_SEC); + nsecs = LZO_STATIC_CAST(lzo_uint64l_t, (secs * 1000000000.0)); + c->tv_sec = LZO_STATIC_CAST(lzo_int64l_t, (nsecs / 1000000000ul)); + nsecs = (nsecs % 1000000000ul); + c->tv_nsec = LZO_STATIC_CAST(lzo_uint32l_t, nsecs); +#else + ticks = clock(); + secs = LZO_STATIC_CAST(double, ticks) / (CLOCKS_PER_SEC); + c->tv_sec_high = 0; + c->tv_sec_low = LZO_STATIC_CAST(lzo_uint32l_t, (secs + 0.5)); + c->tv_nsec = 0; +#endif + LZO_UNUSED(h); return 0; +} +#endif +#if 1 && defined(lzo_pclock_syscall_clock_gettime) +#ifndef lzo_pclock_read_clock_gettime_m_syscall +#define lzo_pclock_read_clock_gettime_m_syscall lzo_pclock_read_clock_gettime_m_syscall +#endif +static int lzo_pclock_read_clock_gettime_m_syscall(lzo_pclock_handle_p h, lzo_pclock_p c) +{ + struct timespec ts; + if (lzo_pclock_syscall_clock_gettime(1, &ts) != 0) + return -1; + c->tv_sec = ts.tv_sec; + c->tv_nsec = LZO_STATIC_CAST(lzo_uint32l_t, ts.tv_nsec); + LZO_UNUSED(h); return 0; +} +#endif +#if (LZO_OS_DOS32 && LZO_CC_GNUC) && defined(__DJGPP__) && defined(UCLOCKS_PER_SEC) && !(LZO_CFG_NO_DOUBLE) +#ifndef lzo_pclock_read_uclock +#define lzo_pclock_read_uclock lzo_pclock_read_uclock +#endif +static int lzo_pclock_read_uclock(lzo_pclock_handle_p h, lzo_pclock_p c) +{ + lzo_uint64l_t ticks; + double secs; + lzo_uint64l_t nsecs; + ticks = uclock(); + secs = LZO_STATIC_CAST(double, ticks) / (UCLOCKS_PER_SEC); + nsecs = LZO_STATIC_CAST(lzo_uint64l_t, (secs * 1000000000.0)); + c->tv_sec = nsecs / 1000000000ul; + c->tv_nsec = LZO_STATIC_CAST(lzo_uint32l_t, (nsecs % 1000000000ul)); + LZO_UNUSED(h); return 0; +} +#endif +#if 1 && (HAVE_CLOCK_GETTIME) && defined(CLOCK_PROCESS_CPUTIME_ID) && defined(lzo_int64l_t) +#ifndef lzo_pclock_read_clock_gettime_p_libc +#define lzo_pclock_read_clock_gettime_p_libc lzo_pclock_read_clock_gettime_p_libc +#endif +static int lzo_pclock_read_clock_gettime_p_libc(lzo_pclock_handle_p h, lzo_pclock_p c) +{ + struct timespec ts; + if (clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &ts) != 0) + return -1; + c->tv_sec = ts.tv_sec; + c->tv_nsec = LZO_STATIC_CAST(lzo_uint32l_t, ts.tv_nsec); + LZO_UNUSED(h); return 0; +} +#endif +#if 1 && defined(lzo_pclock_syscall_clock_gettime) +#ifndef lzo_pclock_read_clock_gettime_p_syscall +#define lzo_pclock_read_clock_gettime_p_syscall lzo_pclock_read_clock_gettime_p_syscall +#endif +static int lzo_pclock_read_clock_gettime_p_syscall(lzo_pclock_handle_p h, lzo_pclock_p c) +{ + struct timespec ts; + if (lzo_pclock_syscall_clock_gettime(2, &ts) != 0) + return -1; + c->tv_sec = ts.tv_sec; + c->tv_nsec = LZO_STATIC_CAST(lzo_uint32l_t, ts.tv_nsec); + LZO_UNUSED(h); return 0; +} +#endif +#if (LZO_OS_CYGWIN || LZO_OS_WIN32 || LZO_OS_WIN64) && (LZO_HAVE_WINDOWS_H) && defined(lzo_int64l_t) +#ifndef lzo_pclock_read_getprocesstimes +#define lzo_pclock_read_getprocesstimes lzo_pclock_read_getprocesstimes +#endif +static int lzo_pclock_read_getprocesstimes(lzo_pclock_handle_p h, lzo_pclock_p c) +{ + FILETIME ct, et, kt, ut; + lzo_uint64l_t ticks; + if (GetProcessTimes(GetCurrentProcess(), &ct, &et, &kt, &ut) == 0) + return -1; + ticks = (LZO_STATIC_CAST(lzo_uint64l_t, ut.dwHighDateTime) << 32) | ut.dwLowDateTime; + if __lzo_unlikely(h->ticks_base == 0) + h->ticks_base = ticks; + else + ticks -= h->ticks_base; + c->tv_sec = LZO_STATIC_CAST(lzo_int64l_t, (ticks / 10000000ul)); + ticks = (ticks % 10000000ul) * 100u; + c->tv_nsec = LZO_STATIC_CAST(lzo_uint32l_t, ticks); + LZO_UNUSED(h); return 0; +} +#endif +#if (HAVE_GETRUSAGE) && defined(RUSAGE_SELF) +#ifndef lzo_pclock_read_getrusage +#define lzo_pclock_read_getrusage lzo_pclock_read_getrusage +#endif +static int lzo_pclock_read_getrusage(lzo_pclock_handle_p h, lzo_pclock_p c) +{ + struct rusage ru; + if (getrusage(RUSAGE_SELF, &ru) != 0) + return -1; +#if defined(lzo_int64l_t) + c->tv_sec = ru.ru_utime.tv_sec; +#else + c->tv_sec_high = 0; + c->tv_sec_low = ru.ru_utime.tv_sec; +#endif + c->tv_nsec = LZO_STATIC_CAST(lzo_uint32l_t, (ru.ru_utime.tv_usec * 1000u)); + LZO_UNUSED(h); return 0; +} +#endif +#if 1 && (HAVE_CLOCK_GETTIME) && defined(CLOCK_THREAD_CPUTIME_ID) && defined(lzo_int64l_t) +#ifndef lzo_pclock_read_clock_gettime_t_libc +#define lzo_pclock_read_clock_gettime_t_libc lzo_pclock_read_clock_gettime_t_libc +#endif +static int lzo_pclock_read_clock_gettime_t_libc(lzo_pclock_handle_p h, lzo_pclock_p c) +{ + struct timespec ts; + if (clock_gettime(CLOCK_THREAD_CPUTIME_ID, &ts) != 0) + return -1; + c->tv_sec = ts.tv_sec; + c->tv_nsec = (lzo_uint32l_t) ts.tv_nsec; + LZO_UNUSED(h); return 0; +} +#endif +#if 1 && defined(lzo_pclock_syscall_clock_gettime) +#ifndef lzo_pclock_read_clock_gettime_t_syscall +#define lzo_pclock_read_clock_gettime_t_syscall lzo_pclock_read_clock_gettime_t_syscall +#endif +static int lzo_pclock_read_clock_gettime_t_syscall(lzo_pclock_handle_p h, lzo_pclock_p c) +{ + struct timespec ts; + if (lzo_pclock_syscall_clock_gettime(3, &ts) != 0) + return -1; + c->tv_sec = ts.tv_sec; + c->tv_nsec = LZO_STATIC_CAST(lzo_uint32l_t, ts.tv_nsec); + LZO_UNUSED(h); return 0; +} +#endif +#if (LZO_OS_CYGWIN || LZO_OS_WIN32 || LZO_OS_WIN64) && (LZO_HAVE_WINDOWS_H) && defined(lzo_int64l_t) +#ifndef lzo_pclock_read_getthreadtimes +#define lzo_pclock_read_getthreadtimes lzo_pclock_read_getthreadtimes +#endif +static int lzo_pclock_read_getthreadtimes(lzo_pclock_handle_p h, lzo_pclock_p c) +{ + FILETIME ct, et, kt, ut; + lzo_uint64l_t ticks; + if (GetThreadTimes(GetCurrentThread(), &ct, &et, &kt, &ut) == 0) + return -1; + ticks = (LZO_STATIC_CAST(lzo_uint64l_t, ut.dwHighDateTime) << 32) | ut.dwLowDateTime; + if __lzo_unlikely(h->ticks_base == 0) + h->ticks_base = ticks; + else + ticks -= h->ticks_base; + c->tv_sec = LZO_STATIC_CAST(lzo_int64l_t, (ticks / 10000000ul)); + ticks = (ticks % 10000000ul) * 100u; + c->tv_nsec = LZO_STATIC_CAST(lzo_uint32l_t, ticks); + LZO_UNUSED(h); return 0; +} +#endif +LZOLIB_PUBLIC(int, lzo_pclock_open) (lzo_pclock_handle_p h, int mode) +{ + lzo_pclock_t c; + int i; + h->h = LZO_STATIC_CAST(lzolib_handle_t, 0); + h->mode = -1; + h->read_error = 2; + h->name = NULL; + h->gettime = LZO_STATIC_CAST(lzo_pclock_gettime_t, 0); +#if defined(lzo_int64l_t) + h->ticks_base = 0; +#endif + switch (mode) + { + case LZO_PCLOCK_REALTIME: +# if defined(lzo_pclock_read_clock_gettime_r_syscall) + if (lzo_pclock_read_clock_gettime_r_syscall(h, &c) == 0) { + h->gettime = lzo_pclock_read_clock_gettime_r_syscall; + h->name = "CLOCK_REALTIME/syscall"; + break; + } +# endif +# if defined(lzo_pclock_read_gettimeofday) + if (lzo_pclock_read_gettimeofday(h, &c) == 0) { + h->gettime = lzo_pclock_read_gettimeofday; + h->name = "gettimeofday"; + break; + } +# endif + break; + case LZO_PCLOCK_MONOTONIC: +# if defined(lzo_pclock_read_clock_gettime_m_syscall) + if (lzo_pclock_read_clock_gettime_m_syscall(h, &c) == 0) { + h->gettime = lzo_pclock_read_clock_gettime_m_syscall; + h->name = "CLOCK_MONOTONIC/syscall"; + break; + } +# endif +# if defined(lzo_pclock_read_uclock) + if (lzo_pclock_read_uclock(h, &c) == 0) { + h->gettime = lzo_pclock_read_uclock; + h->name = "uclock"; + break; + } +# endif +# if defined(lzo_pclock_read_clock) + if (lzo_pclock_read_clock(h, &c) == 0) { + h->gettime = lzo_pclock_read_clock; + h->name = "clock"; + break; + } +# endif + break; + case LZO_PCLOCK_PROCESS_CPUTIME_ID: +# if defined(lzo_pclock_read_getprocesstimes) + if (lzo_pclock_read_getprocesstimes(h, &c) == 0) { + h->gettime = lzo_pclock_read_getprocesstimes; + h->name = "GetProcessTimes"; + break; + } +# endif +# if defined(lzo_pclock_read_clock_gettime_p_syscall) + if (lzo_pclock_read_clock_gettime_p_syscall(h, &c) == 0) { + h->gettime = lzo_pclock_read_clock_gettime_p_syscall; + h->name = "CLOCK_PROCESS_CPUTIME_ID/syscall"; + break; + } +# endif +# if defined(lzo_pclock_read_clock_gettime_p_libc) + if (lzo_pclock_read_clock_gettime_p_libc(h, &c) == 0) { + h->gettime = lzo_pclock_read_clock_gettime_p_libc; + h->name = "CLOCK_PROCESS_CPUTIME_ID/libc"; + break; + } +# endif +# if defined(lzo_pclock_read_getrusage) + if (lzo_pclock_read_getrusage(h, &c) == 0) { + h->gettime = lzo_pclock_read_getrusage; + h->name = "getrusage"; + break; + } +# endif + break; + case LZO_PCLOCK_THREAD_CPUTIME_ID: +# if defined(lzo_pclock_read_getthreadtimes) + if (lzo_pclock_read_getthreadtimes(h, &c) == 0) { + h->gettime = lzo_pclock_read_getthreadtimes; + h->name = "GetThreadTimes"; + } +# endif +# if defined(lzo_pclock_read_clock_gettime_t_syscall) + if (lzo_pclock_read_clock_gettime_t_syscall(h, &c) == 0) { + h->gettime = lzo_pclock_read_clock_gettime_t_syscall; + h->name = "CLOCK_THREAD_CPUTIME_ID/syscall"; + break; + } +# endif +# if defined(lzo_pclock_read_clock_gettime_t_libc) + if (lzo_pclock_read_clock_gettime_t_libc(h, &c) == 0) { + h->gettime = lzo_pclock_read_clock_gettime_t_libc; + h->name = "CLOCK_THREAD_CPUTIME_ID/libc"; + break; + } +# endif + break; + } + if (!h->gettime) + return -1; + if (!h->h) + h->h = LZO_STATIC_CAST(lzolib_handle_t, 1); + h->mode = mode; + h->read_error = 0; + if (!h->name) + h->name = "unknown"; + for (i = 0; i < 10; i++) { + __LZOLIB_FUNCNAME(lzo_pclock_read)(h, &c); + } + return 0; +} +LZOLIB_PUBLIC(int, lzo_pclock_open_default) (lzo_pclock_handle_p h) +{ + if (__LZOLIB_FUNCNAME(lzo_pclock_open)(h, LZO_PCLOCK_PROCESS_CPUTIME_ID) == 0) + return 0; + if (__LZOLIB_FUNCNAME(lzo_pclock_open)(h, LZO_PCLOCK_MONOTONIC) == 0) + return 0; + if (__LZOLIB_FUNCNAME(lzo_pclock_open)(h, LZO_PCLOCK_REALTIME) == 0) + return 0; + if (__LZOLIB_FUNCNAME(lzo_pclock_open)(h, LZO_PCLOCK_THREAD_CPUTIME_ID) == 0) + return 0; + return -1; +} +LZOLIB_PUBLIC(int, lzo_pclock_close) (lzo_pclock_handle_p h) +{ + h->h = LZO_STATIC_CAST(lzolib_handle_t, 0); + h->mode = -1; + h->name = NULL; + h->gettime = LZO_STATIC_CAST(lzo_pclock_gettime_t, 0); + return 0; +} +LZOLIB_PUBLIC(void, lzo_pclock_read) (lzo_pclock_handle_p h, lzo_pclock_p c) +{ + if (h->gettime) { + if (h->gettime(h, c) == 0) + return; + } + h->read_error = 1; +#if defined(lzo_int64l_t) + c->tv_sec = 0; +#else + c->tv_sec_high = 0; + c->tv_sec_low = 0; +#endif + c->tv_nsec = 0; +} +#if !(LZO_CFG_NO_DOUBLE) +LZOLIB_PUBLIC(double, lzo_pclock_get_elapsed) (lzo_pclock_handle_p h, const lzo_pclock_p start, const lzo_pclock_p stop) +{ + if (!h->h) { h->mode = -1; return 0.0; } + { +#if 1 && (LZO_ARCH_I386 && LZO_CC_GNUC) && defined(__STRICT_ALIGNMENT__) + float tstop, tstart; + tstop = LZO_STATIC_CAST(float, (stop->tv_sec + stop->tv_nsec / 1000000000.0)); + tstart = LZO_STATIC_CAST(float, (start->tv_sec + start->tv_nsec / 1000000000.0)); +#elif defined(lzo_int64l_t) + double tstop, tstart; +#if 1 && (LZO_CC_INTELC) + { lzo_int64l_t a = stop->tv_sec; lzo_uint32l_t b = stop->tv_nsec; + tstop = a + b / 1000000000.0; } + { lzo_int64l_t a = start->tv_sec; lzo_uint32l_t b = start->tv_nsec; + tstart = a + b / 1000000000.0; } +#else + tstop = stop->tv_sec + stop->tv_nsec / 1000000000.0; + tstart = start->tv_sec + start->tv_nsec / 1000000000.0; +#endif +#else + double tstop, tstart; + tstop = stop->tv_sec_low + stop->tv_nsec / 1000000000.0; + tstart = start->tv_sec_low + start->tv_nsec / 1000000000.0; +#endif + return tstop - tstart; + } +} +#endif +LZOLIB_PUBLIC(int, lzo_pclock_flush_cpu_cache) (lzo_pclock_handle_p h, unsigned flags) +{ + LZO_UNUSED(h); LZO_UNUSED(flags); + return -1; +} +#endif +#if defined(LZO_WANT_ACCLIB_MISC) +# undef LZO_WANT_ACCLIB_MISC +#define __LZOLIB_MISC_CH_INCLUDED 1 +#if !defined(LZOLIB_PUBLIC) +# define LZOLIB_PUBLIC(r,f) r __LZOLIB_FUNCNAME(f) +#endif +#if !defined(LZOLIB_PUBLIC_NOINLINE) +# if !defined(__lzo_noinline) +# define LZOLIB_PUBLIC_NOINLINE(r,f) r __LZOLIB_FUNCNAME(f) +# elif (LZO_CC_CLANG || (LZO_CC_GNUC >= 0x030400ul) || LZO_CC_LLVM) +# define LZOLIB_PUBLIC_NOINLINE(r,f) __lzo_noinline __attribute__((__used__)) r __LZOLIB_FUNCNAME(f) +# else +# define LZOLIB_PUBLIC_NOINLINE(r,f) __lzo_noinline r __LZOLIB_FUNCNAME(f) +# endif +#endif +#if (LZO_OS_WIN32 && LZO_CC_PELLESC && (__POCC__ >= 290)) +# pragma warn(push) +# pragma warn(disable:2007) +#endif +LZOLIB_PUBLIC(const char *, lzo_getenv) (const char *s) +{ +#if (HAVE_GETENV) + return getenv(s); +#else + LZO_UNUSED(s); return LZO_STATIC_CAST(const char *, 0); +#endif +} +LZOLIB_PUBLIC(lzo_intptr_t, lzo_get_osfhandle) (int fd) +{ + if (fd < 0) + return -1; +#if (LZO_OS_CYGWIN) + return get_osfhandle(fd); +#elif (LZO_OS_EMX && defined(__RSXNT__)) + return -1; +#elif (LZO_OS_WIN32 && LZO_CC_GNUC) && defined(__PW32__) + return -1; +#elif (LZO_OS_WIN32 || LZO_OS_WIN64) +# if (LZO_CC_PELLESC && (__POCC__ < 280)) + return -1; +# elif (LZO_CC_WATCOMC && (__WATCOMC__ < 1000)) + return -1; +# elif (LZO_CC_WATCOMC && (__WATCOMC__ < 1100)) + return _os_handle(fd); +# else + return _get_osfhandle(fd); +# endif +#else + return fd; +#endif +} +LZOLIB_PUBLIC(int, lzo_set_binmode) (int fd, int binary) +{ +#if (LZO_ARCH_M68K && LZO_OS_TOS && LZO_CC_GNUC) && defined(__MINT__) + FILE* fp; int old_binary; + if (fd == STDIN_FILENO) fp = stdin; + else if (fd == STDOUT_FILENO) fp = stdout; + else if (fd == STDERR_FILENO) fp = stderr; + else return -1; + old_binary = fp->__mode.__binary; + __set_binmode(fp, binary ? 1 : 0); + return old_binary ? 1 : 0; +#elif (LZO_ARCH_M68K && LZO_OS_TOS) + LZO_UNUSED(fd); LZO_UNUSED(binary); + return -1; +#elif (LZO_OS_DOS16 && (LZO_CC_AZTECC || LZO_CC_PACIFICC)) + LZO_UNUSED(fd); LZO_UNUSED(binary); + return -1; +#elif (LZO_OS_DOS32 && LZO_CC_GNUC) && defined(__DJGPP__) + int r; unsigned old_flags = __djgpp_hwint_flags; + LZO_COMPILE_TIME_ASSERT(O_BINARY > 0) + LZO_COMPILE_TIME_ASSERT(O_TEXT > 0) + if (fd < 0) return -1; + r = setmode(fd, binary ? O_BINARY : O_TEXT); + if ((old_flags & 1u) != (__djgpp_hwint_flags & 1u)) + __djgpp_set_ctrl_c(!(old_flags & 1)); + if (r == -1) return -1; + return (r & O_TEXT) ? 0 : 1; +#elif (LZO_OS_WIN32 && LZO_CC_GNUC) && defined(__PW32__) + if (fd < 0) return -1; + LZO_UNUSED(binary); + return 1; +#elif (LZO_OS_DOS32 && LZO_CC_HIGHC) + FILE* fp; int r; + if (fd == fileno(stdin)) fp = stdin; + else if (fd == fileno(stdout)) fp = stdout; + else if (fd == fileno(stderr)) fp = stderr; + else return -1; + r = _setmode(fp, binary ? _BINARY : _TEXT); + if (r == -1) return -1; + return (r & _BINARY) ? 1 : 0; +#elif (LZO_OS_WIN32 && LZO_CC_MWERKS) && defined(__MSL__) + LZO_UNUSED(fd); LZO_UNUSED(binary); + return -1; +#elif (LZO_OS_CYGWIN && (LZO_CC_GNUC < 0x025a00ul)) + LZO_UNUSED(fd); LZO_UNUSED(binary); + return -1; +#elif (LZO_OS_CYGWIN || LZO_OS_DOS16 || LZO_OS_DOS32 || LZO_OS_EMX || LZO_OS_OS2 || LZO_OS_OS216 || LZO_OS_WIN16 || LZO_OS_WIN32 || LZO_OS_WIN64) + int r; +#if !(LZO_CC_ZORTECHC) + LZO_COMPILE_TIME_ASSERT(O_BINARY > 0) +#endif + LZO_COMPILE_TIME_ASSERT(O_TEXT > 0) + if (fd < 0) return -1; + r = setmode(fd, binary ? O_BINARY : O_TEXT); + if (r == -1) return -1; + return (r & O_TEXT) ? 0 : 1; +#else + if (fd < 0) return -1; + LZO_UNUSED(binary); + return 1; +#endif +} +LZOLIB_PUBLIC(int, lzo_isatty) (int fd) +{ + if (fd < 0) + return 0; +#if (LZO_OS_DOS16 && !(LZO_CC_AZTECC)) + { + union REGS ri, ro; + ri.x.ax = 0x4400; ri.x.bx = fd; + int86(0x21, &ri, &ro); + if ((ro.x.cflag & 1) == 0) + if ((ro.x.ax & 0x83) != 0x83) + return 0; + } +#elif (LZO_OS_DOS32 && LZO_CC_WATCOMC) + { + union REGS ri, ro; + ri.w.ax = 0x4400; ri.w.bx = LZO_STATIC_CAST(unsigned short, fd); + int386(0x21, &ri, &ro); + if ((ro.w.cflag & 1) == 0) + if ((ro.w.ax & 0x83) != 0x83) + return 0; + } +#elif (LZO_HAVE_WINDOWS_H) + { + lzo_intptr_t h = __LZOLIB_FUNCNAME(lzo_get_osfhandle)(fd); + LZO_COMPILE_TIME_ASSERT(sizeof(h) == sizeof(HANDLE)) + if (h != -1) + { + DWORD d = 0; + if (GetConsoleMode(LZO_REINTERPRET_CAST(HANDLE, h), &d) == 0) + return 0; + } + } +#endif +#if (HAVE_ISATTY) + return (isatty(fd)) ? 1 : 0; +#else + return 0; +#endif +} +LZOLIB_PUBLIC(int, lzo_mkdir) (const char* name, unsigned mode) +{ +#if !(HAVE_MKDIR) + LZO_UNUSED(name); LZO_UNUSED(mode); + return -1; +#elif (LZO_ARCH_M68K && LZO_OS_TOS && (LZO_CC_PUREC || LZO_CC_TURBOC)) + LZO_UNUSED(mode); + return Dcreate(name); +#elif (LZO_OS_DOS32 && LZO_CC_GNUC) && defined(__DJGPP__) + return mkdir(name, mode); +#elif (LZO_OS_WIN32 && LZO_CC_GNUC) && defined(__PW32__) + return mkdir(name, mode); +#elif ((LZO_OS_DOS16 || LZO_OS_DOS32) && (LZO_CC_HIGHC || LZO_CC_PACIFICC)) + LZO_UNUSED(mode); + return mkdir(LZO_UNCONST_CAST(char *, name)); +#elif (LZO_OS_DOS16 || LZO_OS_DOS32 || LZO_OS_OS2 || LZO_OS_OS216 || LZO_OS_WIN16 || LZO_OS_WIN32 || LZO_OS_WIN64) + LZO_UNUSED(mode); + return mkdir(name); +#elif (LZO_CC_WATCOMC) + return mkdir(name, LZO_STATIC_CAST(mode_t, mode)); +#else + return mkdir(name, mode); +#endif +} +LZOLIB_PUBLIC(int, lzo_rmdir) (const char* name) +{ +#if !(HAVE_RMDIR) + LZO_UNUSED(name); + return -1; +#elif ((LZO_OS_DOS16 || LZO_OS_DOS32) && (LZO_CC_HIGHC || LZO_CC_PACIFICC)) + return rmdir(LZO_UNCONST_CAST(char *, name)); +#else + return rmdir(name); +#endif +} +#if defined(lzo_int32e_t) +LZOLIB_PUBLIC(lzo_int32e_t, lzo_muldiv32s) (lzo_int32e_t a, lzo_int32e_t b, lzo_int32e_t x) +{ + lzo_int32e_t r = 0; + if __lzo_likely(x != 0) + { +#if defined(lzo_int64l_t) + lzo_int64l_t rr = (LZO_ICONV(lzo_int64l_t, a) * b) / x; + r = LZO_ITRUNC(lzo_int32e_t, rr); +#else + LZO_UNUSED(a); LZO_UNUSED(b); +#endif + } + return r; +} +LZOLIB_PUBLIC(lzo_uint32e_t, lzo_muldiv32u) (lzo_uint32e_t a, lzo_uint32e_t b, lzo_uint32e_t x) +{ + lzo_uint32e_t r = 0; + if __lzo_likely(x != 0) + { +#if defined(lzo_int64l_t) + lzo_uint64l_t rr = (LZO_ICONV(lzo_uint64l_t, a) * b) / x; + r = LZO_ITRUNC(lzo_uint32e_t, rr); +#else + LZO_UNUSED(a); LZO_UNUSED(b); +#endif + } + return r; +} +#endif +#if (LZO_OS_WIN16) +LZO_EXTERN_C void __far __pascal DebugBreak(void); +#endif +LZOLIB_PUBLIC_NOINLINE(void, lzo_debug_break) (void) +{ +#if (LZO_OS_WIN16) + DebugBreak(); +#elif (LZO_ARCH_I086) +#elif (LZO_OS_WIN64) && (LZO_HAVE_WINDOWS_H) + DebugBreak(); +#elif (LZO_ARCH_AMD64 || LZO_ARCH_I386) && (LZO_ASM_SYNTAX_GNUC) + __asm__ __volatile__("int $3\n" : : __LZO_ASM_CLOBBER_LIST_CC_MEMORY); +#elif (LZO_ARCH_I386) && (LZO_ASM_SYNTAX_MSC) + __asm { int 3 } +#elif (LZO_OS_WIN32) && (LZO_HAVE_WINDOWS_H) + DebugBreak(); +#else + volatile lzo_intptr_t a = -1; + * LZO_STATIC_CAST(volatile unsigned long *, LZO_REINTERPRET_CAST(volatile void *, a)) = ~0ul; +#endif +} +LZOLIB_PUBLIC_NOINLINE(void, lzo_debug_nop) (void) +{ +} +LZOLIB_PUBLIC_NOINLINE(int, lzo_debug_align_check_query) (void) +{ +#if (LZO_ARCH_AMD64 || LZO_ARCH_I386) && (LZO_ASM_SYNTAX_GNUC) +# if (LZO_ARCH_AMD64) + lzo_uint64e_t r = 0; +# else + size_t r = 0; +# endif + __asm__ __volatile__("pushf\n pop %0\n" : "=a" (r) : __LZO_ASM_CLOBBER_LIST_CC_MEMORY); + return LZO_ICONV(int, (r >> 18) & 1); +#elif (LZO_ARCH_I386) && (LZO_ASM_SYNTAX_MSC) + unsigned long r; + __asm { + pushf + pop eax + mov r,eax + } + return LZO_ICONV(int, (r >> 18) & 1); +#else + return -1; +#endif +} +LZOLIB_PUBLIC_NOINLINE(int, lzo_debug_align_check_enable) (int v) +{ +#if (LZO_ARCH_AMD64) && (LZO_ASM_SYNTAX_GNUC) + if (v) { + __asm__ __volatile__("pushf\n orl $262144,(%%rsp)\n popf\n" : : __LZO_ASM_CLOBBER_LIST_CC_MEMORY); + } else { + __asm__ __volatile__("pushf\n andl $-262145,(%%rsp)\n popf\n" : : __LZO_ASM_CLOBBER_LIST_CC_MEMORY); + } + return 0; +#elif (LZO_ARCH_I386) && (LZO_ASM_SYNTAX_GNUC) + if (v) { + __asm__ __volatile__("pushf\n orl $262144,(%%esp)\n popf\n" : : __LZO_ASM_CLOBBER_LIST_CC_MEMORY); + } else { + __asm__ __volatile__("pushf\n andl $-262145,(%%esp)\n popf\n" : : __LZO_ASM_CLOBBER_LIST_CC_MEMORY); + } + return 0; +#elif (LZO_ARCH_I386) && (LZO_ASM_SYNTAX_MSC) + if (v) { __asm { + pushf + or dword ptr [esp],262144 + popf + }} else { __asm { + pushf + and dword ptr [esp],-262145 + popf + }} + return 0; +#else + LZO_UNUSED(v); return -1; +#endif +} +LZOLIB_PUBLIC_NOINLINE(unsigned, lzo_debug_running_on_qemu) (void) +{ + unsigned r = 0; +#if (LZO_OS_POSIX_LINUX || LZO_OS_WIN32 || LZO_OS_WIN64) + const char* p; + p = __LZOLIB_FUNCNAME(lzo_getenv)(LZO_PP_STRINGIZE(LZO_ENV_RUNNING_ON_QEMU)); + if (p) { + if (p[0] == 0) r = 0; + else if ((p[0] >= '0' && p[0] <= '9') && p[1] == 0) r = LZO_ICAST(unsigned, p[0]) - '0'; + else r = 1; + } +#endif + return r; +} +LZOLIB_PUBLIC_NOINLINE(unsigned, lzo_debug_running_on_valgrind) (void) +{ +#if (LZO_ARCH_AMD64 && LZO_ABI_ILP32) + return 0; +#elif (LZO_ARCH_AMD64 || LZO_ARCH_I386) && (LZO_ASM_SYNTAX_GNUC) + volatile size_t a[6]; + size_t r = 0; + a[0] = 0x1001; a[1] = 0; a[2] = 0; a[3] = 0; a[4] = 0; a[5] = 0; +# if (LZO_ARCH_AMD64) + __asm__ __volatile__(".byte 0x48,0xc1,0xc7,0x03,0x48,0xc1,0xc7,0x0d,0x48,0xc1,0xc7,0x3d,0x48,0xc1,0xc7,0x33,0x48,0x87,0xdb\n" : "=d" (r) : "a" (&a[0]), "d" (r) __LZO_ASM_CLOBBER_LIST_CC_MEMORY); +# elif (LZO_ARCH_I386) + __asm__ __volatile__(".byte 0xc1,0xc7,0x03,0xc1,0xc7,0x0d,0xc1,0xc7,0x1d,0xc1,0xc7,0x13,0x87,0xdb\n" : "=d" (r) : "a" (&a[0]), "d" (r) __LZO_ASM_CLOBBER_LIST_CC_MEMORY); +# endif + return LZO_ITRUNC(unsigned, r); +#else + return 0; +#endif +} +#if (LZO_OS_WIN32 && LZO_CC_PELLESC && (__POCC__ >= 290)) +# pragma warn(pop) +#endif +#endif +#if defined(LZO_WANT_ACCLIB_WILDARGV) +# undef LZO_WANT_ACCLIB_WILDARGV +#define __LZOLIB_WILDARGV_CH_INCLUDED 1 +#if !defined(LZOLIB_PUBLIC) +# define LZOLIB_PUBLIC(r,f) r __LZOLIB_FUNCNAME(f) +#endif +#if (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16) +#if 0 && (LZO_CC_MSC) +LZO_EXTERN_C int __lzo_cdecl __setargv(void); +LZO_EXTERN_C int __lzo_cdecl _setargv(void); +LZO_EXTERN_C int __lzo_cdecl _setargv(void) { return __setargv(); } +#endif +#endif +#if (LZO_OS_WIN32 || LZO_OS_WIN64) +#if (LZO_CC_MSC && (_MSC_VER >= 1900)) +#elif (LZO_CC_INTELC || LZO_CC_MSC) +LZO_EXTERN_C int __lzo_cdecl __setargv(void); +LZO_EXTERN_C int __lzo_cdecl _setargv(void); +LZO_EXTERN_C int __lzo_cdecl _setargv(void) { return __setargv(); } +#endif +#endif +#if (LZO_OS_EMX) +#define __LZOLIB_HAVE_LZO_WILDARGV 1 +LZOLIB_PUBLIC(void, lzo_wildargv) (int* argc, char*** argv) +{ + if (argc && argv) { + _response(argc, argv); + _wildcard(argc, argv); + } +} +#endif +#if (LZO_OS_CONSOLE_PSP) && defined(__PSPSDK_DEBUG__) +#define __LZOLIB_HAVE_LZO_WILDARGV 1 +LZO_EXTERN_C int lzo_psp_init_module(int*, char***, int); +LZOLIB_PUBLIC(void, lzo_wildargv) (int* argc, char*** argv) +{ + lzo_psp_init_module(argc, argv, -1); +} +#endif +#if !(__LZOLIB_HAVE_LZO_WILDARGV) +#define __LZOLIB_HAVE_LZO_WILDARGV 1 +LZOLIB_PUBLIC(void, lzo_wildargv) (int* argc, char*** argv) +{ +#if 1 && (LZO_ARCH_I086PM) + if (LZO_MM_AHSHIFT != 3) { exit(1); } +#elif 1 && (LZO_ARCH_M68K && LZO_OS_TOS && LZO_CC_GNUC) && defined(__MINT__) + __binmode(1); + if (isatty(1)) __set_binmode(stdout, 0); + if (isatty(2)) __set_binmode(stderr, 0); +#endif + LZO_UNUSED(argc); LZO_UNUSED(argv); +} +#endif +#endif + +/* vim:set ts=4 sw=4 et: */ diff --git a/tools/z64compress/src/enc/lzo/lzo_swd.ch b/tools/z64compress/src/enc/lzo/lzo_swd.ch new file mode 100644 index 0000000000..20bc46175d --- /dev/null +++ b/tools/z64compress/src/enc/lzo/lzo_swd.ch @@ -0,0 +1,700 @@ +/* lzo_swd.ch -- sliding window dictionary + + This file is part of the LZO real-time data compression library. + + Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer + All Rights Reserved. + + The LZO library is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + The LZO library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with the LZO library; see the file COPYING. + If not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + Markus F.X.J. Oberhumer + + http://www.oberhumer.com/opensource/lzo/ + */ + + +#if (LZO_UINT_MAX < LZO_0xffffffffL) +# error "LZO_UINT_MAX" +#endif +#if defined(LZO_DEBUG) +# include +#endif +#if defined(__LZO_CHECKER) +# include +#endif + + +/*********************************************************************** +// +************************************************************************/ + +/* unsigned type for dictionary access - don't waste memory here */ +#if (0UL + SWD_N + SWD_F + SWD_F < 65535UL) + typedef lzo_uint16_t swd_uint; +# define SWD_UINT_MAX 0xffffu +#else + typedef lzo_uint32_t swd_uint; +# define SWD_UINT_MAX 0xffffffffu +#endif +#define swd_uintp swd_uint * +#define SWD_UINT(x) ((swd_uint)(x)) + + +#ifndef SWD_HSIZE +# define SWD_HSIZE 16384 +#endif +#ifndef SWD_MAX_CHAIN +# define SWD_MAX_CHAIN 2048 +#endif + +#if !defined(HEAD3) +#if 1 +# define HEAD3(b,p) \ + ((DMUL(0x9f5f,(((((lzo_xint)b[p]<<5)^b[p+1])<<5)^b[p+2]))>>5) & (SWD_HSIZE-1)) +#else +# define HEAD3(b,p) \ + ((DMUL(0x9f5f,(((((lzo_xint)b[p+2]<<5)^b[p+1])<<5)^b[p]))>>5) & (SWD_HSIZE-1)) +#endif +#endif + +#if !(SWD_NO_HEAD2) && (SWD_THRESHOLD == 1) && !defined(HEAD2) +# if 1 && (LZO_OPT_UNALIGNED16) +# define HEAD2(b,p) UA_GET_NE16((b)+(p)) +# else +# define HEAD2(b,p) (b[p] ^ ((unsigned)b[(p)+1]<<8)) +# endif +# define NIL2 SWD_UINT_MAX +#endif +#ifndef IF_HEAD2 +#define IF_HEAD2(s) /*empty*/ +#endif + + +typedef struct +{ +/* public - "built-in" */ + lzo_uint swd_n; + lzo_uint swd_f; + lzo_uint swd_threshold; + +/* public - configuration */ + lzo_uint max_chain; + lzo_uint nice_length; + lzo_bool use_best_off; + lzo_uint lazy_insert; + +/* public - output */ + lzo_uint m_len; + lzo_uint m_off; + lzo_uint look; + int b_char; +#if defined(SWD_BEST_OFF) + lzo_uint best_off[ SWD_BEST_OFF ]; +#endif + +/* semi public */ + LZO_COMPRESS_T *c; + lzo_uint m_pos; +#if defined(SWD_BEST_OFF) + lzo_uint best_pos[ SWD_BEST_OFF ]; +#endif + +/* private */ + const lzo_bytep dict; + const lzo_bytep dict_end; + lzo_uint dict_len; + +/* private */ + lzo_uint ip; /* input pointer (lookahead) */ + lzo_uint bp; /* buffer pointer */ + lzo_uint rp; /* remove pointer */ + lzo_uint b_size; + + lzo_bytep b_wrap; + + lzo_uint node_count; + lzo_uint first_rp; + +#if defined(__LZO_CHECKER) + /* malloc arrays of the exact size to detect any overrun */ + unsigned char *b; + swd_uint *head3; + swd_uint *succ3; + swd_uint *best3; + swd_uint *llen3; +# ifdef HEAD2 + swd_uint *head2; +# endif + +#else + unsigned char b [ SWD_N + SWD_F + SWD_F ]; + swd_uint head3 [ SWD_HSIZE ]; + swd_uint succ3 [ SWD_N + SWD_F ]; + swd_uint best3 [ SWD_N + SWD_F ]; + swd_uint llen3 [ SWD_HSIZE ]; +# ifdef HEAD2 + swd_uint head2 [ 65536L ]; +# endif +#endif +} +lzo_swd_t; +#define lzo_swd_p lzo_swd_t * + + +#define s_b(s) s->b +#define s_head3(s) s->head3 +#define s_succ3(s) s->succ3 +#define s_best3(s) s->best3 +#define s_llen3(s) s->llen3 +#ifdef HEAD2 +#define s_head2(s) s->head2 +#endif +#define SIZEOF_LZO_SWD_T (sizeof(lzo_swd_t)) + + +/* Access macro for head3. + * head3[key] may be uninitialized if the list is emtpy, + * but then its value will never be used. + */ +#if 1 || defined(__LZO_CHECKER) +# define s_get_head3(s,key) \ + ((swd_uint)((s_llen3(s)[key] == 0) ? SWD_UINT_MAX : s_head3(s)[key])) +#else +# define s_get_head3(s,key) (s_head3(s)[key]) +#endif + + +/*********************************************************************** +// +************************************************************************/ + +static +void swd_initdict(lzo_swd_p s, const lzo_bytep dict, lzo_uint dict_len) +{ + s->dict = s->dict_end = NULL; + s->dict_len = 0; + + if (!dict || dict_len == 0) + return; + if (dict_len > s->swd_n) + { + dict += dict_len - s->swd_n; + dict_len = s->swd_n; + } + + s->dict = dict; + s->dict_len = dict_len; + s->dict_end = dict + dict_len; + lzo_memcpy(s_b(s),dict,dict_len); + s->ip = dict_len; +} + + +static +void swd_insertdict(lzo_swd_p s, lzo_uint node, lzo_uint len) +{ + lzo_uint key; + + s->node_count = s->swd_n - len; + s->first_rp = node; + + if (len) do + { + key = HEAD3(s_b(s),node); + s_succ3(s)[node] = s_get_head3(s,key); + s_head3(s)[key] = SWD_UINT(node); + s_best3(s)[node] = SWD_UINT(s->swd_f + 1); + s_llen3(s)[key]++; + assert(s_llen3(s)[key] <= s->swd_n); + +#ifdef HEAD2 + IF_HEAD2(s) { + key = HEAD2(s_b(s),node); + s_head2(s)[key] = SWD_UINT(node); + } +#endif + + node++; + } + while (--len != 0); +} + + +/*********************************************************************** +// +************************************************************************/ + +static void swd_exit(lzo_swd_p s); + +static +int swd_init(lzo_swd_p s, const lzo_bytep dict, lzo_uint dict_len) +{ +#if defined(__LZO_CHECKER) + unsigned r = 1; + s->b = (lzo_bytep) malloc(SWD_N + SWD_F + SWD_F); + s->head3 = (swd_uintp) malloc(sizeof(swd_uint) * SWD_HSIZE); + s->succ3 = (swd_uintp) malloc(sizeof(swd_uint) * (SWD_N + SWD_F)); + s->best3 = (swd_uintp) malloc(sizeof(swd_uint) * (SWD_N + SWD_F)); + s->llen3 = (swd_uintp) malloc(sizeof(swd_uint) * SWD_HSIZE); + r &= s->b != NULL; + r &= s->head3 != NULL; + r &= s->succ3 != NULL; + r &= s->best3 != NULL; + r &= s->llen3 != NULL; +#ifdef HEAD2 + IF_HEAD2(s) { + s->head2 = (swd_uintp) malloc(sizeof(swd_uint) * 65536L); + r &= s->head2 != NULL; + } +#endif + if (r != 1) { + swd_exit(s); + return LZO_E_OUT_OF_MEMORY; + } +#endif + + s->m_len = 0; + s->m_off = 0; +#if defined(SWD_BEST_OFF) + { + unsigned i; + for (i = 0; i < SWD_BEST_OFF; i++) + s->best_off[i] = s->best_pos[i] = 0; + } +#endif + + s->swd_n = SWD_N; + s->swd_f = SWD_F; + s->swd_threshold = SWD_THRESHOLD; + + /* defaults */ + s->max_chain = SWD_MAX_CHAIN; + s->nice_length = s->swd_f; + s->use_best_off = 0; + s->lazy_insert = 0; + + s->b_size = s->swd_n + s->swd_f; +#if 0 + if (2 * s->swd_f >= s->swd_n || s->b_size + s->swd_f >= SWD_UINT_MAX) + return LZO_E_ERROR; +#else + LZO_COMPILE_TIME_ASSERT(!(0ul + 2 * SWD_F >= SWD_N)) + LZO_COMPILE_TIME_ASSERT(!(0ul + SWD_N + SWD_F + SWD_F >= SWD_UINT_MAX)) +#endif + s->b_wrap = s_b(s) + s->b_size; + s->node_count = s->swd_n; + + lzo_memset(s_llen3(s), 0, (lzo_uint)sizeof(s_llen3(s)[0]) * (lzo_uint)SWD_HSIZE); +#ifdef HEAD2 + IF_HEAD2(s) { +#if 1 + lzo_memset(s_head2(s), 0xff, (lzo_uint)sizeof(s_head2(s)[0]) * 65536L); + assert(s_head2(s)[0] == NIL2); +#else + lzo_xint i; + for (i = 0; i < 65536L; i++) + s_head2(s)[i] = NIL2; +#endif + } +#endif + + s->ip = 0; + swd_initdict(s,dict,dict_len); + s->bp = s->ip; + s->first_rp = s->ip; + + assert(s->ip + s->swd_f <= s->b_size); +#if 1 + s->look = (lzo_uint) (s->c->in_end - s->c->ip); + if (s->look > 0) + { + if (s->look > s->swd_f) + s->look = s->swd_f; + lzo_memcpy(&s_b(s)[s->ip],s->c->ip,s->look); + s->c->ip += s->look; + s->ip += s->look; + } +#else + s->look = 0; + while (s->look < s->swd_f) + { + int c; + if ((c = getbyte(*(s->c))) < 0) + break; + s_b(s)[s->ip] = LZO_BYTE(c); + s->ip++; + s->look++; + } +#endif + if (s->ip == s->b_size) + s->ip = 0; + + if (s->look >= 2 && s->dict_len > 0) + swd_insertdict(s,0,s->dict_len); + + s->rp = s->first_rp; + if (s->rp >= s->node_count) + s->rp -= s->node_count; + else + s->rp += s->b_size - s->node_count; + +#if 1 || defined(__LZO_CHECKER) + /* initialize memory for the first few HEAD3 (if s->ip is not far + * enough ahead to do this job for us). The value doesn't matter. */ + if (s->look < 3) { + lzo_bytep p = &s_b(s)[s->bp+s->look]; + p[0] = p[1] = p[2] = 0; + } +#endif + + return LZO_E_OK; +} + + +static +void swd_exit(lzo_swd_p s) +{ +#if defined(__LZO_CHECKER) + /* free in reverse order of allocations */ +#ifdef HEAD2 + free(s->head2); s->head2 = NULL; +#endif + free(s->llen3); s->llen3 = NULL; + free(s->best3); s->best3 = NULL; + free(s->succ3); s->succ3 = NULL; + free(s->head3); s->head3 = NULL; + free(s->b); s->b = NULL; +#else + LZO_UNUSED(s); +#endif +} + + +#define swd_pos2off(s,pos) \ + (s->bp > (pos) ? s->bp - (pos) : s->b_size - ((pos) - s->bp)) + + +/*********************************************************************** +// +************************************************************************/ + +static __lzo_inline +void swd_getbyte(lzo_swd_p s) +{ + int c; + + if ((c = getbyte(*(s->c))) < 0) + { + if (s->look > 0) + --s->look; +#if 1 || defined(__LZO_CHECKER) + /* initialize memory - value doesn't matter */ + s_b(s)[s->ip] = 0; + if (s->ip < s->swd_f) + s->b_wrap[s->ip] = 0; +#endif + } + else + { + s_b(s)[s->ip] = LZO_BYTE(c); + if (s->ip < s->swd_f) + s->b_wrap[s->ip] = LZO_BYTE(c); + } + if (++s->ip == s->b_size) + s->ip = 0; + if (++s->bp == s->b_size) + s->bp = 0; + if (++s->rp == s->b_size) + s->rp = 0; +} + + +/*********************************************************************** +// remove node from lists +************************************************************************/ + +static __lzo_inline +void swd_remove_node(lzo_swd_p s, lzo_uint node) +{ + if (s->node_count == 0) + { + lzo_uint key; + +#ifdef LZO_DEBUG + if (s->first_rp != LZO_UINT_MAX) + { + if (node != s->first_rp) + printf("Remove %5ld: %5ld %5ld %5ld %5ld %6ld %6ld\n", + (long)node, (long)s->rp, (long)s->ip, (long)s->bp, + (long)s->first_rp, (long)(s->ip - node), + (long)(s->ip - s->bp)); + assert(node == s->first_rp); + s->first_rp = LZO_UINT_MAX; + } +#endif + + key = HEAD3(s_b(s),node); + assert(s_llen3(s)[key] > 0); + --s_llen3(s)[key]; + +#ifdef HEAD2 + IF_HEAD2(s) { + key = HEAD2(s_b(s),node); + assert(s_head2(s)[key] != NIL2); + if ((lzo_uint) s_head2(s)[key] == node) + s_head2(s)[key] = NIL2; + } +#endif + } + else + --s->node_count; +} + + +/*********************************************************************** +// +************************************************************************/ + +static +void swd_accept(lzo_swd_p s, lzo_uint n) +{ + assert(n <= s->look); + + if (n) do + { + lzo_uint key; + + swd_remove_node(s,s->rp); + + /* add bp into HEAD3 */ + key = HEAD3(s_b(s),s->bp); + s_succ3(s)[s->bp] = s_get_head3(s,key); + s_head3(s)[key] = SWD_UINT(s->bp); + s_best3(s)[s->bp] = SWD_UINT(s->swd_f + 1); + s_llen3(s)[key]++; + assert(s_llen3(s)[key] <= s->swd_n); + +#ifdef HEAD2 + /* add bp into HEAD2 */ + IF_HEAD2(s) { + key = HEAD2(s_b(s),s->bp); + s_head2(s)[key] = SWD_UINT(s->bp); + } +#endif + + swd_getbyte(s); + } while (--n != 0); +} + + +/*********************************************************************** +// +************************************************************************/ + +static +void swd_search(lzo_swd_p s, lzo_uint node, lzo_uint cnt) +{ + const lzo_bytep p1; + const lzo_bytep p2; + const lzo_bytep px; + lzo_uint m_len = s->m_len; + const lzo_bytep b = s_b(s); + const lzo_bytep bp = s_b(s) + s->bp; + const lzo_bytep bx = s_b(s) + s->bp + s->look; + swd_uintp succ3 = s_succ3(s); + unsigned char scan_end1; + + assert(s->m_len > 0); + + scan_end1 = bp[m_len - 1]; + for ( ; cnt-- > 0; node = succ3[node]) + { + p1 = bp; + p2 = b + node; + px = bx; + + assert(m_len < s->look); + + if ( +#if 1 + p2[m_len - 1] == scan_end1 && + p2[m_len] == p1[m_len] && +#endif + p2[0] == p1[0] && + p2[1] == p1[1]) + { + lzo_uint i; + assert(lzo_memcmp(bp,&b[node],3) == 0); + +#if 0 && (LZO_OPT_UNALIGNED32) + p1 += 3; p2 += 3; + while (p1 + 4 <= px && UA_GET_NE32(p1) == UA_GET_NE32(p2)) + p1 += 4, p2 += 4; + while (p1 < px && *p1 == *p2) + p1 += 1, p2 += 1; +#else + p1 += 2; p2 += 2; + do {} while (++p1 < px && *p1 == *++p2); +#endif + i = pd(p1, bp); + +#ifdef LZO_DEBUG + if (lzo_memcmp(bp,&b[node],i) != 0) + printf("%5ld %5ld %5ld %02x/%02x %02x/%02x\n", + (long)s->bp, (long) node, (long) i, + bp[0], bp[1], b[node], b[node+1]); +#endif + assert(lzo_memcmp(bp,&b[node],i) == 0); + +#if defined(SWD_BEST_OFF) + if (i < SWD_BEST_OFF) + { + if (s->best_pos[i] == 0) + s->best_pos[i] = node + 1; + } +#endif + if (i > m_len) + { + s->m_len = m_len = i; + s->m_pos = node; + if (m_len == s->look) + return; + if (m_len >= s->nice_length) + return; + if (m_len > (lzo_uint) s_best3(s)[node]) + return; + scan_end1 = bp[m_len - 1]; + } + } + } +} + + +/*********************************************************************** +// +************************************************************************/ + +#ifdef HEAD2 + +static +lzo_bool swd_search2(lzo_swd_p s) +{ + lzo_uint key; + + assert(s->look >= 2); + assert(s->m_len > 0); + + key = s_head2(s)[ HEAD2(s_b(s),s->bp) ]; + if (key == NIL2) + return 0; +#ifdef LZO_DEBUG + if (lzo_memcmp(&s_b(s)[s->bp],&s_b(s)[key],2) != 0) + printf("%5ld %5ld %02x/%02x %02x/%02x\n", (long)s->bp, (long)key, + s_b(s)[s->bp], s_b(s)[s->bp+1], s_b(s)[key], s_b(s)[key+1]); +#endif + assert(lzo_memcmp(&s_b(s)[s->bp],&s_b(s)[key],2) == 0); +#if defined(SWD_BEST_OFF) + if (s->best_pos[2] == 0) + s->best_pos[2] = key + 1; +#endif + + if (s->m_len < 2) + { + s->m_len = 2; + s->m_pos = key; + } + return 1; +} + +#endif + + +/*********************************************************************** +// +************************************************************************/ + +static +void swd_findbest(lzo_swd_p s) +{ + lzo_uint key; + lzo_uint cnt, node; + lzo_uint len; + + assert(s->m_len > 0); + + /* get current head, add bp into HEAD3 */ + key = HEAD3(s_b(s),s->bp); + node = s_succ3(s)[s->bp] = s_get_head3(s,key); + cnt = s_llen3(s)[key]++; + assert(s_llen3(s)[key] <= s->swd_n + s->swd_f); + if (cnt > s->max_chain && s->max_chain > 0) + cnt = s->max_chain; + s_head3(s)[key] = SWD_UINT(s->bp); + + s->b_char = s_b(s)[s->bp]; + len = s->m_len; + if (s->m_len >= s->look) + { + if (s->look == 0) + s->b_char = -1; + s->m_off = 0; + s_best3(s)[s->bp] = SWD_UINT(s->swd_f + 1); + } + else + { +#if defined(HEAD2) + if (swd_search2(s) && s->look >= 3) + swd_search(s,node,cnt); +#else + if (s->look >= 3) + swd_search(s,node,cnt); +#endif + if (s->m_len > len) + s->m_off = swd_pos2off(s,s->m_pos); + s_best3(s)[s->bp] = SWD_UINT(s->m_len); + +#if defined(SWD_BEST_OFF) + if (s->use_best_off) + { + unsigned i; + for (i = 2; i < SWD_BEST_OFF; i++) + if (s->best_pos[i] > 0) + s->best_off[i] = swd_pos2off(s,s->best_pos[i]-1); + else + s->best_off[i] = 0; + } +#endif + } + + swd_remove_node(s,s->rp); + +#ifdef HEAD2 + /* add bp into HEAD2 */ + IF_HEAD2(s) { + key = HEAD2(s_b(s),s->bp); + s_head2(s)[key] = SWD_UINT(s->bp); + } +#endif +} + + +#undef HEAD3 +#undef HEAD2 +#undef IF_HEAD2 +#undef s_get_head3 + + +/* vim:set ts=4 sw=4 et: */ diff --git a/tools/z64compress/src/enc/lzo/lzoconf.h b/tools/z64compress/src/enc/lzo/lzoconf.h new file mode 100644 index 0000000000..1a1dd98c23 --- /dev/null +++ b/tools/z64compress/src/enc/lzo/lzoconf.h @@ -0,0 +1,453 @@ +/* lzoconf.h -- configuration of the LZO data compression library + + This file is part of the LZO real-time data compression library. + + Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer + All Rights Reserved. + + The LZO library is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + The LZO library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with the LZO library; see the file COPYING. + If not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + Markus F.X.J. Oberhumer + + http://www.oberhumer.com/opensource/lzo/ + */ + + +#ifndef __LZOCONF_H_INCLUDED +#define __LZOCONF_H_INCLUDED 1 + +#define LZO_VERSION 0x20a0 /* 2.10 */ +#define LZO_VERSION_STRING "2.10" +#define LZO_VERSION_DATE "Mar 01 2017" + +/* internal Autoconf configuration file - only used when building LZO */ +#if defined(LZO_HAVE_CONFIG_H) +# include +#endif +#include +#include + + +/*********************************************************************** +// LZO requires a conforming +************************************************************************/ + +#if !defined(CHAR_BIT) || (CHAR_BIT != 8) +# error "invalid CHAR_BIT" +#endif +#if !defined(UCHAR_MAX) || !defined(USHRT_MAX) || !defined(UINT_MAX) || !defined(ULONG_MAX) +# error "check your compiler installation" +#endif +#if (USHRT_MAX < 1) || (UINT_MAX < 1) || (ULONG_MAX < 1) +# error "your limits.h macros are broken" +#endif + +/* get OS and architecture defines */ +#ifndef __LZODEFS_H_INCLUDED +#include "lzodefs.h" +#endif + + +#ifdef __cplusplus +extern "C" { +#endif + + +/*********************************************************************** +// some core defines +************************************************************************/ + +/* memory checkers */ +#if !defined(__LZO_CHECKER) +# if defined(__BOUNDS_CHECKING_ON) +# define __LZO_CHECKER 1 +# elif defined(__CHECKER__) +# define __LZO_CHECKER 1 +# elif defined(__INSURE__) +# define __LZO_CHECKER 1 +# elif defined(__PURIFY__) +# define __LZO_CHECKER 1 +# endif +#endif + + +/*********************************************************************** +// integral and pointer types +************************************************************************/ + +/* lzo_uint must match size_t */ +#if !defined(LZO_UINT_MAX) +# if (LZO_ABI_LLP64) +# if (LZO_OS_WIN64) + typedef unsigned __int64 lzo_uint; + typedef __int64 lzo_int; +# define LZO_TYPEOF_LZO_INT LZO_TYPEOF___INT64 +# else + typedef lzo_ullong_t lzo_uint; + typedef lzo_llong_t lzo_int; +# define LZO_TYPEOF_LZO_INT LZO_TYPEOF_LONG_LONG +# endif +# define LZO_SIZEOF_LZO_INT 8 +# define LZO_UINT_MAX 0xffffffffffffffffull +# define LZO_INT_MAX 9223372036854775807LL +# define LZO_INT_MIN (-1LL - LZO_INT_MAX) +# elif (LZO_ABI_IP32L64) /* MIPS R5900 */ + typedef unsigned int lzo_uint; + typedef int lzo_int; +# define LZO_SIZEOF_LZO_INT LZO_SIZEOF_INT +# define LZO_TYPEOF_LZO_INT LZO_TYPEOF_INT +# define LZO_UINT_MAX UINT_MAX +# define LZO_INT_MAX INT_MAX +# define LZO_INT_MIN INT_MIN +# elif (ULONG_MAX >= LZO_0xffffffffL) + typedef unsigned long lzo_uint; + typedef long lzo_int; +# define LZO_SIZEOF_LZO_INT LZO_SIZEOF_LONG +# define LZO_TYPEOF_LZO_INT LZO_TYPEOF_LONG +# define LZO_UINT_MAX ULONG_MAX +# define LZO_INT_MAX LONG_MAX +# define LZO_INT_MIN LONG_MIN +# else +# error "lzo_uint" +# endif +#endif + +/* The larger type of lzo_uint and lzo_uint32_t. */ +#if (LZO_SIZEOF_LZO_INT >= 4) +# define lzo_xint lzo_uint +#else +# define lzo_xint lzo_uint32_t +#endif + +typedef int lzo_bool; + +/* sanity checks */ +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int) == LZO_SIZEOF_LZO_INT) +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uint) == LZO_SIZEOF_LZO_INT) +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_xint) >= sizeof(lzo_uint)) +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_xint) >= sizeof(lzo_uint32_t)) + +#ifndef __LZO_MMODEL +#define __LZO_MMODEL /*empty*/ +#endif + +/* no typedef here because of const-pointer issues */ +#define lzo_bytep unsigned char __LZO_MMODEL * +#define lzo_charp char __LZO_MMODEL * +#define lzo_voidp void __LZO_MMODEL * +#define lzo_shortp short __LZO_MMODEL * +#define lzo_ushortp unsigned short __LZO_MMODEL * +#define lzo_intp lzo_int __LZO_MMODEL * +#define lzo_uintp lzo_uint __LZO_MMODEL * +#define lzo_xintp lzo_xint __LZO_MMODEL * +#define lzo_voidpp lzo_voidp __LZO_MMODEL * +#define lzo_bytepp lzo_bytep __LZO_MMODEL * + +#define lzo_int8_tp lzo_int8_t __LZO_MMODEL * +#define lzo_uint8_tp lzo_uint8_t __LZO_MMODEL * +#define lzo_int16_tp lzo_int16_t __LZO_MMODEL * +#define lzo_uint16_tp lzo_uint16_t __LZO_MMODEL * +#define lzo_int32_tp lzo_int32_t __LZO_MMODEL * +#define lzo_uint32_tp lzo_uint32_t __LZO_MMODEL * +#if defined(lzo_int64_t) +#define lzo_int64_tp lzo_int64_t __LZO_MMODEL * +#define lzo_uint64_tp lzo_uint64_t __LZO_MMODEL * +#endif + +/* Older LZO versions used to support ancient systems and memory models + * such as 16-bit MSDOS with __huge pointers or Cray PVP, but these + * obsolete configurations are not supported any longer. + */ +#if defined(__LZO_MMODEL_HUGE) +#error "__LZO_MMODEL_HUGE memory model is unsupported" +#endif +#if (LZO_MM_PVP) +#error "LZO_MM_PVP memory model is unsupported" +#endif +#if (LZO_SIZEOF_INT < 4) +#error "LZO_SIZEOF_INT < 4 is unsupported" +#endif +#if (__LZO_UINTPTR_T_IS_POINTER) +#error "__LZO_UINTPTR_T_IS_POINTER is unsupported" +#endif +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(int) >= 4) +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uint) >= 4) +/* Strange configurations where sizeof(lzo_uint) != sizeof(size_t) should + * work but have not received much testing lately, so be strict here. + */ +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uint) == sizeof(size_t)) +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uint) == sizeof(ptrdiff_t)) +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uint) == sizeof(lzo_uintptr_t)) +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(void *) == sizeof(lzo_uintptr_t)) +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(char *) == sizeof(lzo_uintptr_t)) +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(long *) == sizeof(lzo_uintptr_t)) +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(void *) == sizeof(lzo_voidp)) +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(char *) == sizeof(lzo_bytep)) + + +/*********************************************************************** +// function types +************************************************************************/ + +/* name mangling */ +#if !defined(__LZO_EXTERN_C) +# ifdef __cplusplus +# define __LZO_EXTERN_C extern "C" +# else +# define __LZO_EXTERN_C extern +# endif +#endif + +/* calling convention */ +#if !defined(__LZO_CDECL) +# define __LZO_CDECL __lzo_cdecl +#endif + +/* DLL export information */ +#if !defined(__LZO_EXPORT1) +# define __LZO_EXPORT1 /*empty*/ +#endif +#if !defined(__LZO_EXPORT2) +# define __LZO_EXPORT2 /*empty*/ +#endif + +/* __cdecl calling convention for public C and assembly functions */ +#if !defined(LZO_PUBLIC) +# define LZO_PUBLIC(r) __LZO_EXPORT1 r __LZO_EXPORT2 __LZO_CDECL +#endif +#if !defined(LZO_EXTERN) +# define LZO_EXTERN(r) __LZO_EXTERN_C LZO_PUBLIC(r) +#endif +#if !defined(LZO_PRIVATE) +# define LZO_PRIVATE(r) static r __LZO_CDECL +#endif + +/* function types */ +typedef int +(__LZO_CDECL *lzo_compress_t) ( const lzo_bytep src, lzo_uint src_len, + lzo_bytep dst, lzo_uintp dst_len, + lzo_voidp wrkmem ); + +typedef int +(__LZO_CDECL *lzo_decompress_t) ( const lzo_bytep src, lzo_uint src_len, + lzo_bytep dst, lzo_uintp dst_len, + lzo_voidp wrkmem ); + +typedef int +(__LZO_CDECL *lzo_optimize_t) ( lzo_bytep src, lzo_uint src_len, + lzo_bytep dst, lzo_uintp dst_len, + lzo_voidp wrkmem ); + +typedef int +(__LZO_CDECL *lzo_compress_dict_t)(const lzo_bytep src, lzo_uint src_len, + lzo_bytep dst, lzo_uintp dst_len, + lzo_voidp wrkmem, + const lzo_bytep dict, lzo_uint dict_len ); + +typedef int +(__LZO_CDECL *lzo_decompress_dict_t)(const lzo_bytep src, lzo_uint src_len, + lzo_bytep dst, lzo_uintp dst_len, + lzo_voidp wrkmem, + const lzo_bytep dict, lzo_uint dict_len ); + + +/* Callback interface. Currently only the progress indicator ("nprogress") + * is used, but this may change in a future release. */ + +struct lzo_callback_t; +typedef struct lzo_callback_t lzo_callback_t; +#define lzo_callback_p lzo_callback_t __LZO_MMODEL * + +/* malloc & free function types */ +typedef lzo_voidp (__LZO_CDECL *lzo_alloc_func_t) + (lzo_callback_p self, lzo_uint items, lzo_uint size); +typedef void (__LZO_CDECL *lzo_free_func_t) + (lzo_callback_p self, lzo_voidp ptr); + +/* a progress indicator callback function */ +typedef void (__LZO_CDECL *lzo_progress_func_t) + (lzo_callback_p, lzo_uint, lzo_uint, int); + +struct lzo_callback_t +{ + /* custom allocators (set to 0 to disable) */ + lzo_alloc_func_t nalloc; /* [not used right now] */ + lzo_free_func_t nfree; /* [not used right now] */ + + /* a progress indicator callback function (set to 0 to disable) */ + lzo_progress_func_t nprogress; + + /* INFO: the first parameter "self" of the nalloc/nfree/nprogress + * callbacks points back to this struct, so you are free to store + * some extra info in the following variables. */ + lzo_voidp user1; + lzo_xint user2; + lzo_xint user3; +}; + + +/*********************************************************************** +// error codes and prototypes +************************************************************************/ + +/* Error codes for the compression/decompression functions. Negative + * values are errors, positive values will be used for special but + * normal events. + */ +#define LZO_E_OK 0 +#define LZO_E_ERROR (-1) +#define LZO_E_OUT_OF_MEMORY (-2) /* [lzo_alloc_func_t failure] */ +#define LZO_E_NOT_COMPRESSIBLE (-3) /* [not used right now] */ +#define LZO_E_INPUT_OVERRUN (-4) +#define LZO_E_OUTPUT_OVERRUN (-5) +#define LZO_E_LOOKBEHIND_OVERRUN (-6) +#define LZO_E_EOF_NOT_FOUND (-7) +#define LZO_E_INPUT_NOT_CONSUMED (-8) +#define LZO_E_NOT_YET_IMPLEMENTED (-9) /* [not used right now] */ +#define LZO_E_INVALID_ARGUMENT (-10) +#define LZO_E_INVALID_ALIGNMENT (-11) /* pointer argument is not properly aligned */ +#define LZO_E_OUTPUT_NOT_CONSUMED (-12) +#define LZO_E_INTERNAL_ERROR (-99) + + +#ifndef lzo_sizeof_dict_t +# define lzo_sizeof_dict_t ((unsigned)sizeof(lzo_bytep)) +#endif + +/* lzo_init() should be the first function you call. + * Check the return code ! + * + * lzo_init() is a macro to allow checking that the library and the + * compiler's view of various types are consistent. + */ +#define lzo_init() __lzo_init_v2(LZO_VERSION,(int)sizeof(short),(int)sizeof(int),\ + (int)sizeof(long),(int)sizeof(lzo_uint32_t),(int)sizeof(lzo_uint),\ + (int)lzo_sizeof_dict_t,(int)sizeof(char *),(int)sizeof(lzo_voidp),\ + (int)sizeof(lzo_callback_t)) +LZO_EXTERN(int) __lzo_init_v2(unsigned,int,int,int,int,int,int,int,int,int); + +/* version functions (useful for shared libraries) */ +LZO_EXTERN(unsigned) lzo_version(void); +LZO_EXTERN(const char *) lzo_version_string(void); +LZO_EXTERN(const char *) lzo_version_date(void); +LZO_EXTERN(const lzo_charp) _lzo_version_string(void); +LZO_EXTERN(const lzo_charp) _lzo_version_date(void); + +/* string functions */ +LZO_EXTERN(int) + lzo_memcmp(const lzo_voidp a, const lzo_voidp b, lzo_uint len); +LZO_EXTERN(lzo_voidp) + lzo_memcpy(lzo_voidp dst, const lzo_voidp src, lzo_uint len); +LZO_EXTERN(lzo_voidp) + lzo_memmove(lzo_voidp dst, const lzo_voidp src, lzo_uint len); +LZO_EXTERN(lzo_voidp) + lzo_memset(lzo_voidp buf, int c, lzo_uint len); + +/* checksum functions */ +LZO_EXTERN(lzo_uint32_t) + lzo_adler32(lzo_uint32_t c, const lzo_bytep buf, lzo_uint len); +LZO_EXTERN(lzo_uint32_t) + lzo_crc32(lzo_uint32_t c, const lzo_bytep buf, lzo_uint len); +LZO_EXTERN(const lzo_uint32_tp) + lzo_get_crc32_table(void); + +/* misc. */ +LZO_EXTERN(int) _lzo_config_check(void); +typedef union { + lzo_voidp a00; lzo_bytep a01; lzo_uint a02; lzo_xint a03; lzo_uintptr_t a04; + void *a05; unsigned char *a06; unsigned long a07; size_t a08; ptrdiff_t a09; +#if defined(lzo_int64_t) + lzo_uint64_t a10; +#endif +} lzo_align_t; + +/* align a char pointer on a boundary that is a multiple of 'size' */ +LZO_EXTERN(unsigned) __lzo_align_gap(const lzo_voidp p, lzo_uint size); +#define LZO_PTR_ALIGN_UP(p,size) \ + ((p) + (lzo_uint) __lzo_align_gap((const lzo_voidp)(p),(lzo_uint)(size))) + + +/*********************************************************************** +// deprecated macros - only for backward compatibility +************************************************************************/ + +/* deprecated - use 'lzo_bytep' instead of 'lzo_byte *' */ +#define lzo_byte unsigned char +/* deprecated type names */ +#define lzo_int32 lzo_int32_t +#define lzo_uint32 lzo_uint32_t +#define lzo_int32p lzo_int32_t __LZO_MMODEL * +#define lzo_uint32p lzo_uint32_t __LZO_MMODEL * +#define LZO_INT32_MAX LZO_INT32_C(2147483647) +#define LZO_UINT32_MAX LZO_UINT32_C(4294967295) +#if defined(lzo_int64_t) +#define lzo_int64 lzo_int64_t +#define lzo_uint64 lzo_uint64_t +#define lzo_int64p lzo_int64_t __LZO_MMODEL * +#define lzo_uint64p lzo_uint64_t __LZO_MMODEL * +#define LZO_INT64_MAX LZO_INT64_C(9223372036854775807) +#define LZO_UINT64_MAX LZO_UINT64_C(18446744073709551615) +#endif +/* deprecated types */ +typedef union { lzo_bytep a; lzo_uint b; } __lzo_pu_u; +typedef union { lzo_bytep a; lzo_uint32_t b; } __lzo_pu32_u; +/* deprecated defines */ +#if !defined(LZO_SIZEOF_LZO_UINT) +# define LZO_SIZEOF_LZO_UINT LZO_SIZEOF_LZO_INT +#endif + +#if defined(LZO_CFG_COMPAT) + +#define __LZOCONF_H 1 + +#if defined(LZO_ARCH_I086) +# define __LZO_i386 1 +#elif defined(LZO_ARCH_I386) +# define __LZO_i386 1 +#endif + +#if defined(LZO_OS_DOS16) +# define __LZO_DOS 1 +# define __LZO_DOS16 1 +#elif defined(LZO_OS_DOS32) +# define __LZO_DOS 1 +#elif defined(LZO_OS_WIN16) +# define __LZO_WIN 1 +# define __LZO_WIN16 1 +#elif defined(LZO_OS_WIN32) +# define __LZO_WIN 1 +#endif + +#define __LZO_CMODEL /*empty*/ +#define __LZO_DMODEL /*empty*/ +#define __LZO_ENTRY __LZO_CDECL +#define LZO_EXTERN_CDECL LZO_EXTERN +#define LZO_ALIGN LZO_PTR_ALIGN_UP + +#define lzo_compress_asm_t lzo_compress_t +#define lzo_decompress_asm_t lzo_decompress_t + +#endif /* LZO_CFG_COMPAT */ + + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /* already included */ + + +/* vim:set ts=4 sw=4 et: */ diff --git a/tools/z64compress/src/enc/lzo/lzodefs.h b/tools/z64compress/src/enc/lzo/lzodefs.h new file mode 100644 index 0000000000..c3e2bcf5d8 --- /dev/null +++ b/tools/z64compress/src/enc/lzo/lzodefs.h @@ -0,0 +1,3268 @@ +/* lzodefs.h -- architecture, OS and compiler specific defines + + This file is part of the LZO real-time data compression library. + + Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer + All Rights Reserved. + + The LZO library is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + The LZO library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with the LZO library; see the file COPYING. + If not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + Markus F.X.J. Oberhumer + + http://www.oberhumer.com/opensource/lzo/ + */ + + +#ifndef __LZODEFS_H_INCLUDED +#define __LZODEFS_H_INCLUDED 1 + +#if defined(__CYGWIN32__) && !defined(__CYGWIN__) +# define __CYGWIN__ __CYGWIN32__ +#endif +#if 1 && defined(__INTERIX) && defined(__GNUC__) && !defined(_ALL_SOURCE) +# define _ALL_SOURCE 1 +#endif +#if defined(__mips__) && defined(__R5900__) +# if !defined(__LONG_MAX__) +# define __LONG_MAX__ 9223372036854775807L +# endif +#endif +#if 0 +#elif !defined(__LZO_LANG_OVERRIDE) +#if (defined(__clang__) || defined(__GNUC__)) && defined(__ASSEMBLER__) +# if (__ASSEMBLER__+0) <= 0 +# error "__ASSEMBLER__" +# else +# define LZO_LANG_ASSEMBLER 1 +# endif +#elif defined(__cplusplus) +# if (__cplusplus+0) <= 0 +# error "__cplusplus" +# elif (__cplusplus < 199711L) +# define LZO_LANG_CXX 1 +# elif defined(_MSC_VER) && defined(_MSVC_LANG) && (_MSVC_LANG+0 >= 201402L) && 1 +# define LZO_LANG_CXX _MSVC_LANG +# else +# define LZO_LANG_CXX __cplusplus +# endif +# define LZO_LANG_CPLUSPLUS LZO_LANG_CXX +#else +# if defined(__STDC_VERSION__) && (__STDC_VERSION__+0 >= 199409L) +# define LZO_LANG_C __STDC_VERSION__ +# else +# define LZO_LANG_C 1 +# endif +#endif +#endif +#if !defined(LZO_CFG_NO_DISABLE_WUNDEF) +#if defined(__ARMCC_VERSION) +# pragma diag_suppress 193 +#elif defined(__clang__) && defined(__clang_minor__) +# pragma clang diagnostic ignored "-Wundef" +#elif defined(__INTEL_COMPILER) +# pragma warning(disable: 193) +#elif defined(__KEIL__) && defined(__C166__) +# pragma warning disable = 322 +#elif defined(__GNUC__) && defined(__GNUC_MINOR__) && !defined(__PATHSCALE__) +# if ((__GNUC__-0) >= 5 || ((__GNUC__-0) == 4 && (__GNUC_MINOR__-0) >= 2)) +# pragma GCC diagnostic ignored "-Wundef" +# endif +#elif defined(_MSC_VER) && !defined(__clang__) && !defined(__INTEL_COMPILER) && !defined(__MWERKS__) +# if ((_MSC_VER-0) >= 1300) +# pragma warning(disable: 4668) +# endif +#endif +#endif +#if 0 && defined(__POCC__) && defined(_WIN32) +# if (__POCC__ >= 400) +# pragma warn(disable: 2216) +# endif +#endif +#if 0 && defined(__WATCOMC__) +# if (__WATCOMC__ >= 1050) && (__WATCOMC__ < 1060) +# pragma warning 203 9 +# endif +#endif +#if defined(__BORLANDC__) && defined(__MSDOS__) && !defined(__FLAT__) +# pragma option -h +#endif +#if !(LZO_CFG_NO_DISABLE_WCRTNONSTDC) +#ifndef _CRT_NONSTDC_NO_DEPRECATE +#define _CRT_NONSTDC_NO_DEPRECATE 1 +#endif +#ifndef _CRT_NONSTDC_NO_WARNINGS +#define _CRT_NONSTDC_NO_WARNINGS 1 +#endif +#ifndef _CRT_SECURE_NO_DEPRECATE +#define _CRT_SECURE_NO_DEPRECATE 1 +#endif +#ifndef _CRT_SECURE_NO_WARNINGS +#define _CRT_SECURE_NO_WARNINGS 1 +#endif +#endif +#if 0 +#define LZO_0xffffUL 0xfffful +#define LZO_0xffffffffUL 0xfffffffful +#else +#define LZO_0xffffUL 65535ul +#define LZO_0xffffffffUL 4294967295ul +#endif +#define LZO_0xffffL LZO_0xffffUL +#define LZO_0xffffffffL LZO_0xffffffffUL +#if (LZO_0xffffL == LZO_0xffffffffL) +# error "your preprocessor is broken 1" +#endif +#if (16ul * 16384ul != 262144ul) +# error "your preprocessor is broken 2" +#endif +#if 0 +#if (32767 >= 4294967295ul) +# error "your preprocessor is broken 3" +#endif +#if (65535u >= 4294967295ul) +# error "your preprocessor is broken 4" +#endif +#endif +#if defined(__COUNTER__) +# ifndef LZO_CFG_USE_COUNTER +# define LZO_CFG_USE_COUNTER 1 +# endif +#else +# undef LZO_CFG_USE_COUNTER +#endif +#if (UINT_MAX == LZO_0xffffL) +#if defined(__ZTC__) && defined(__I86__) && !defined(__OS2__) +# if !defined(MSDOS) +# define MSDOS 1 +# endif +# if !defined(_MSDOS) +# define _MSDOS 1 +# endif +#elif 0 && defined(__VERSION) && defined(MB_LEN_MAX) +# if (__VERSION == 520) && (MB_LEN_MAX == 1) +# if !defined(__AZTEC_C__) +# define __AZTEC_C__ __VERSION +# endif +# if !defined(__DOS__) +# define __DOS__ 1 +# endif +# endif +#endif +#endif +#if (UINT_MAX == LZO_0xffffL) +#if defined(_MSC_VER) && defined(M_I86HM) +# define ptrdiff_t long +# define _PTRDIFF_T_DEFINED 1 +#endif +#endif +#if (UINT_MAX == LZO_0xffffL) +# undef __LZO_RENAME_A +# undef __LZO_RENAME_B +# if defined(__AZTEC_C__) && defined(__DOS__) +# define __LZO_RENAME_A 1 +# elif defined(_MSC_VER) && defined(MSDOS) +# if (_MSC_VER < 600) +# define __LZO_RENAME_A 1 +# elif (_MSC_VER < 700) +# define __LZO_RENAME_B 1 +# endif +# elif defined(__TSC__) && defined(__OS2__) +# define __LZO_RENAME_A 1 +# elif defined(__MSDOS__) && defined(__TURBOC__) && (__TURBOC__ < 0x0410) +# define __LZO_RENAME_A 1 +# elif defined(__PACIFIC__) && defined(DOS) +# if !defined(__far) +# define __far far +# endif +# if !defined(__near) +# define __near near +# endif +# endif +# if defined(__LZO_RENAME_A) +# if !defined(__cdecl) +# define __cdecl cdecl +# endif +# if !defined(__far) +# define __far far +# endif +# if !defined(__huge) +# define __huge huge +# endif +# if !defined(__near) +# define __near near +# endif +# if !defined(__pascal) +# define __pascal pascal +# endif +# if !defined(__huge) +# define __huge huge +# endif +# elif defined(__LZO_RENAME_B) +# if !defined(__cdecl) +# define __cdecl _cdecl +# endif +# if !defined(__far) +# define __far _far +# endif +# if !defined(__huge) +# define __huge _huge +# endif +# if !defined(__near) +# define __near _near +# endif +# if !defined(__pascal) +# define __pascal _pascal +# endif +# elif (defined(__PUREC__) || defined(__TURBOC__)) && defined(__TOS__) +# if !defined(__cdecl) +# define __cdecl cdecl +# endif +# if !defined(__pascal) +# define __pascal pascal +# endif +# endif +# undef __LZO_RENAME_A +# undef __LZO_RENAME_B +#endif +#if (UINT_MAX == LZO_0xffffL) +#if defined(__AZTEC_C__) && defined(__DOS__) +# define LZO_BROKEN_CDECL_ALT_SYNTAX 1 +#elif defined(_MSC_VER) && defined(MSDOS) +# if (_MSC_VER < 600) +# define LZO_BROKEN_INTEGRAL_CONSTANTS 1 +# endif +# if (_MSC_VER < 700) +# define LZO_BROKEN_INTEGRAL_PROMOTION 1 +# define LZO_BROKEN_SIZEOF 1 +# endif +#elif defined(__PACIFIC__) && defined(DOS) +# define LZO_BROKEN_INTEGRAL_CONSTANTS 1 +#elif defined(__TURBOC__) && defined(__MSDOS__) +# if (__TURBOC__ < 0x0150) +# define LZO_BROKEN_CDECL_ALT_SYNTAX 1 +# define LZO_BROKEN_INTEGRAL_CONSTANTS 1 +# define LZO_BROKEN_INTEGRAL_PROMOTION 1 +# endif +# if (__TURBOC__ < 0x0200) +# define LZO_BROKEN_SIZEOF 1 +# endif +# if (__TURBOC__ < 0x0400) && defined(__cplusplus) +# define LZO_BROKEN_CDECL_ALT_SYNTAX 1 +# endif +#elif (defined(__PUREC__) || defined(__TURBOC__)) && defined(__TOS__) +# define LZO_BROKEN_CDECL_ALT_SYNTAX 1 +# define LZO_BROKEN_SIZEOF 1 +#endif +#endif +#if defined(__WATCOMC__) && (__WATCOMC__ < 900) +# define LZO_BROKEN_INTEGRAL_CONSTANTS 1 +#endif +#if defined(_CRAY) && defined(_CRAY1) +# define LZO_BROKEN_SIGNED_RIGHT_SHIFT 1 +#endif +#define LZO_PP_STRINGIZE(x) #x +#define LZO_PP_MACRO_EXPAND(x) LZO_PP_STRINGIZE(x) +#define LZO_PP_CONCAT0() /*empty*/ +#define LZO_PP_CONCAT1(a) a +#define LZO_PP_CONCAT2(a,b) a ## b +#define LZO_PP_CONCAT3(a,b,c) a ## b ## c +#define LZO_PP_CONCAT4(a,b,c,d) a ## b ## c ## d +#define LZO_PP_CONCAT5(a,b,c,d,e) a ## b ## c ## d ## e +#define LZO_PP_CONCAT6(a,b,c,d,e,f) a ## b ## c ## d ## e ## f +#define LZO_PP_CONCAT7(a,b,c,d,e,f,g) a ## b ## c ## d ## e ## f ## g +#define LZO_PP_ECONCAT0() LZO_PP_CONCAT0() +#define LZO_PP_ECONCAT1(a) LZO_PP_CONCAT1(a) +#define LZO_PP_ECONCAT2(a,b) LZO_PP_CONCAT2(a,b) +#define LZO_PP_ECONCAT3(a,b,c) LZO_PP_CONCAT3(a,b,c) +#define LZO_PP_ECONCAT4(a,b,c,d) LZO_PP_CONCAT4(a,b,c,d) +#define LZO_PP_ECONCAT5(a,b,c,d,e) LZO_PP_CONCAT5(a,b,c,d,e) +#define LZO_PP_ECONCAT6(a,b,c,d,e,f) LZO_PP_CONCAT6(a,b,c,d,e,f) +#define LZO_PP_ECONCAT7(a,b,c,d,e,f,g) LZO_PP_CONCAT7(a,b,c,d,e,f,g) +#define LZO_PP_EMPTY /*empty*/ +#define LZO_PP_EMPTY0() /*empty*/ +#define LZO_PP_EMPTY1(a) /*empty*/ +#define LZO_PP_EMPTY2(a,b) /*empty*/ +#define LZO_PP_EMPTY3(a,b,c) /*empty*/ +#define LZO_PP_EMPTY4(a,b,c,d) /*empty*/ +#define LZO_PP_EMPTY5(a,b,c,d,e) /*empty*/ +#define LZO_PP_EMPTY6(a,b,c,d,e,f) /*empty*/ +#define LZO_PP_EMPTY7(a,b,c,d,e,f,g) /*empty*/ +#if 1 +#define LZO_CPP_STRINGIZE(x) #x +#define LZO_CPP_MACRO_EXPAND(x) LZO_CPP_STRINGIZE(x) +#define LZO_CPP_CONCAT2(a,b) a ## b +#define LZO_CPP_CONCAT3(a,b,c) a ## b ## c +#define LZO_CPP_CONCAT4(a,b,c,d) a ## b ## c ## d +#define LZO_CPP_CONCAT5(a,b,c,d,e) a ## b ## c ## d ## e +#define LZO_CPP_CONCAT6(a,b,c,d,e,f) a ## b ## c ## d ## e ## f +#define LZO_CPP_CONCAT7(a,b,c,d,e,f,g) a ## b ## c ## d ## e ## f ## g +#define LZO_CPP_ECONCAT2(a,b) LZO_CPP_CONCAT2(a,b) +#define LZO_CPP_ECONCAT3(a,b,c) LZO_CPP_CONCAT3(a,b,c) +#define LZO_CPP_ECONCAT4(a,b,c,d) LZO_CPP_CONCAT4(a,b,c,d) +#define LZO_CPP_ECONCAT5(a,b,c,d,e) LZO_CPP_CONCAT5(a,b,c,d,e) +#define LZO_CPP_ECONCAT6(a,b,c,d,e,f) LZO_CPP_CONCAT6(a,b,c,d,e,f) +#define LZO_CPP_ECONCAT7(a,b,c,d,e,f,g) LZO_CPP_CONCAT7(a,b,c,d,e,f,g) +#endif +#define __LZO_MASK_GEN(o,b) (((((o) << ((b)-((b)!=0))) - (o)) << 1) + (o)*((b)!=0)) +#if 1 && defined(__cplusplus) +# if !defined(__STDC_CONSTANT_MACROS) +# define __STDC_CONSTANT_MACROS 1 +# endif +# if !defined(__STDC_LIMIT_MACROS) +# define __STDC_LIMIT_MACROS 1 +# endif +#endif +#if defined(__cplusplus) +# define LZO_EXTERN_C extern "C" +# define LZO_EXTERN_C_BEGIN extern "C" { +# define LZO_EXTERN_C_END } +#else +# define LZO_EXTERN_C extern +# define LZO_EXTERN_C_BEGIN /*empty*/ +# define LZO_EXTERN_C_END /*empty*/ +#endif +#if !defined(__LZO_OS_OVERRIDE) +#if (LZO_OS_FREESTANDING) +# define LZO_INFO_OS "freestanding" +#elif (LZO_OS_EMBEDDED) +# define LZO_INFO_OS "embedded" +#elif 1 && defined(__IAR_SYSTEMS_ICC__) +# define LZO_OS_EMBEDDED 1 +# define LZO_INFO_OS "embedded" +#elif defined(__CYGWIN__) && defined(__GNUC__) +# define LZO_OS_CYGWIN 1 +# define LZO_INFO_OS "cygwin" +#elif defined(__EMX__) && defined(__GNUC__) +# define LZO_OS_EMX 1 +# define LZO_INFO_OS "emx" +#elif defined(__BEOS__) +# define LZO_OS_BEOS 1 +# define LZO_INFO_OS "beos" +#elif defined(__Lynx__) +# define LZO_OS_LYNXOS 1 +# define LZO_INFO_OS "lynxos" +#elif defined(__OS400__) +# define LZO_OS_OS400 1 +# define LZO_INFO_OS "os400" +#elif defined(__QNX__) +# define LZO_OS_QNX 1 +# define LZO_INFO_OS "qnx" +#elif defined(__BORLANDC__) && defined(__DPMI32__) && (__BORLANDC__ >= 0x0460) +# define LZO_OS_DOS32 1 +# define LZO_INFO_OS "dos32" +#elif defined(__BORLANDC__) && defined(__DPMI16__) +# define LZO_OS_DOS16 1 +# define LZO_INFO_OS "dos16" +#elif defined(__ZTC__) && defined(DOS386) +# define LZO_OS_DOS32 1 +# define LZO_INFO_OS "dos32" +#elif defined(__OS2__) || defined(__OS2V2__) +# if (UINT_MAX == LZO_0xffffL) +# define LZO_OS_OS216 1 +# define LZO_INFO_OS "os216" +# elif (UINT_MAX == LZO_0xffffffffL) +# define LZO_OS_OS2 1 +# define LZO_INFO_OS "os2" +# else +# error "check your limits.h header" +# endif +#elif defined(__WIN64__) || defined(_WIN64) || defined(WIN64) +# define LZO_OS_WIN64 1 +# define LZO_INFO_OS "win64" +#elif defined(__WIN32__) || defined(_WIN32) || defined(WIN32) || defined(__WINDOWS_386__) +# define LZO_OS_WIN32 1 +# define LZO_INFO_OS "win32" +#elif defined(__MWERKS__) && defined(__INTEL__) +# define LZO_OS_WIN32 1 +# define LZO_INFO_OS "win32" +#elif defined(__WINDOWS__) || defined(_WINDOWS) || defined(_Windows) +# if (UINT_MAX == LZO_0xffffL) +# define LZO_OS_WIN16 1 +# define LZO_INFO_OS "win16" +# elif (UINT_MAX == LZO_0xffffffffL) +# define LZO_OS_WIN32 1 +# define LZO_INFO_OS "win32" +# else +# error "check your limits.h header" +# endif +#elif defined(__DOS__) || defined(__MSDOS__) || defined(_MSDOS) || defined(MSDOS) || (defined(__PACIFIC__) && defined(DOS)) +# if (UINT_MAX == LZO_0xffffL) +# define LZO_OS_DOS16 1 +# define LZO_INFO_OS "dos16" +# elif (UINT_MAX == LZO_0xffffffffL) +# define LZO_OS_DOS32 1 +# define LZO_INFO_OS "dos32" +# else +# error "check your limits.h header" +# endif +#elif defined(__WATCOMC__) +# if defined(__NT__) && (UINT_MAX == LZO_0xffffL) +# define LZO_OS_DOS16 1 +# define LZO_INFO_OS "dos16" +# elif defined(__NT__) && (__WATCOMC__ < 1100) +# define LZO_OS_WIN32 1 +# define LZO_INFO_OS "win32" +# elif defined(__linux__) || defined(__LINUX__) +# define LZO_OS_POSIX 1 +# define LZO_INFO_OS "posix" +# else +# error "please specify a target using the -bt compiler option" +# endif +#elif defined(__palmos__) +# define LZO_OS_PALMOS 1 +# define LZO_INFO_OS "palmos" +#elif defined(__TOS__) || defined(__atarist__) +# define LZO_OS_TOS 1 +# define LZO_INFO_OS "tos" +#elif defined(macintosh) && !defined(__arm__) && !defined(__i386__) && !defined(__ppc__) && !defined(__x64_64__) +# define LZO_OS_MACCLASSIC 1 +# define LZO_INFO_OS "macclassic" +#elif defined(__VMS) +# define LZO_OS_VMS 1 +# define LZO_INFO_OS "vms" +#elif (defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__) +# define LZO_OS_CONSOLE 1 +# define LZO_OS_CONSOLE_PS2 1 +# define LZO_INFO_OS "console" +# define LZO_INFO_OS_CONSOLE "ps2" +#elif defined(__mips__) && defined(__psp__) +# define LZO_OS_CONSOLE 1 +# define LZO_OS_CONSOLE_PSP 1 +# define LZO_INFO_OS "console" +# define LZO_INFO_OS_CONSOLE "psp" +#else +# define LZO_OS_POSIX 1 +# define LZO_INFO_OS "posix" +#endif +#if (LZO_OS_POSIX) +# if defined(_AIX) || defined(__AIX__) || defined(__aix__) +# define LZO_OS_POSIX_AIX 1 +# define LZO_INFO_OS_POSIX "aix" +# elif defined(__FreeBSD__) +# define LZO_OS_POSIX_FREEBSD 1 +# define LZO_INFO_OS_POSIX "freebsd" +# elif defined(__hpux__) || defined(__hpux) +# define LZO_OS_POSIX_HPUX 1 +# define LZO_INFO_OS_POSIX "hpux" +# elif defined(__INTERIX) +# define LZO_OS_POSIX_INTERIX 1 +# define LZO_INFO_OS_POSIX "interix" +# elif defined(__IRIX__) || defined(__irix__) +# define LZO_OS_POSIX_IRIX 1 +# define LZO_INFO_OS_POSIX "irix" +# elif defined(__linux__) || defined(__linux) || defined(__LINUX__) +# define LZO_OS_POSIX_LINUX 1 +# define LZO_INFO_OS_POSIX "linux" +# elif defined(__APPLE__) && defined(__MACH__) +# if ((__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__-0) >= 20000) +# define LZO_OS_POSIX_DARWIN 1040 +# define LZO_INFO_OS_POSIX "darwin_iphone" +# elif ((__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__-0) >= 1040) +# define LZO_OS_POSIX_DARWIN __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ +# define LZO_INFO_OS_POSIX "darwin" +# else +# define LZO_OS_POSIX_DARWIN 1 +# define LZO_INFO_OS_POSIX "darwin" +# endif +# define LZO_OS_POSIX_MACOSX LZO_OS_POSIX_DARWIN +# elif defined(__minix__) || defined(__minix) +# define LZO_OS_POSIX_MINIX 1 +# define LZO_INFO_OS_POSIX "minix" +# elif defined(__NetBSD__) +# define LZO_OS_POSIX_NETBSD 1 +# define LZO_INFO_OS_POSIX "netbsd" +# elif defined(__OpenBSD__) +# define LZO_OS_POSIX_OPENBSD 1 +# define LZO_INFO_OS_POSIX "openbsd" +# elif defined(__osf__) +# define LZO_OS_POSIX_OSF 1 +# define LZO_INFO_OS_POSIX "osf" +# elif defined(__solaris__) || defined(__sun) +# if defined(__SVR4) || defined(__svr4__) +# define LZO_OS_POSIX_SOLARIS 1 +# define LZO_INFO_OS_POSIX "solaris" +# else +# define LZO_OS_POSIX_SUNOS 1 +# define LZO_INFO_OS_POSIX "sunos" +# endif +# elif defined(__ultrix__) || defined(__ultrix) +# define LZO_OS_POSIX_ULTRIX 1 +# define LZO_INFO_OS_POSIX "ultrix" +# elif defined(_UNICOS) +# define LZO_OS_POSIX_UNICOS 1 +# define LZO_INFO_OS_POSIX "unicos" +# else +# define LZO_OS_POSIX_UNKNOWN 1 +# define LZO_INFO_OS_POSIX "unknown" +# endif +#endif +#endif +#if (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16) +# if (UINT_MAX != LZO_0xffffL) +# error "unexpected configuration - check your compiler defines" +# endif +# if (ULONG_MAX != LZO_0xffffffffL) +# error "unexpected configuration - check your compiler defines" +# endif +#endif +#if (LZO_OS_DOS32 || LZO_OS_OS2 || LZO_OS_WIN32 || LZO_OS_WIN64) +# if (UINT_MAX != LZO_0xffffffffL) +# error "unexpected configuration - check your compiler defines" +# endif +# if (ULONG_MAX != LZO_0xffffffffL) +# error "unexpected configuration - check your compiler defines" +# endif +#endif +#if defined(CIL) && defined(_GNUCC) && defined(__GNUC__) +# define LZO_CC_CILLY 1 +# define LZO_INFO_CC "Cilly" +# if defined(__CILLY__) +# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__CILLY__) +# else +# define LZO_INFO_CCVER "unknown" +# endif +#elif 0 && defined(SDCC) && defined(__VERSION__) && !defined(__GNUC__) +# define LZO_CC_SDCC 1 +# define LZO_INFO_CC "sdcc" +# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(SDCC) +#elif defined(__PATHSCALE__) && defined(__PATHCC_PATCHLEVEL__) +# define LZO_CC_PATHSCALE (__PATHCC__ * 0x10000L + (__PATHCC_MINOR__-0) * 0x100 + (__PATHCC_PATCHLEVEL__-0)) +# define LZO_INFO_CC "Pathscale C" +# define LZO_INFO_CCVER __PATHSCALE__ +# if defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__) +# define LZO_CC_PATHSCALE_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0)) +# endif +#elif defined(__INTEL_COMPILER) && ((__INTEL_COMPILER-0) > 0) +# define LZO_CC_INTELC __INTEL_COMPILER +# define LZO_INFO_CC "Intel C" +# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__INTEL_COMPILER) +# if defined(_MSC_VER) && ((_MSC_VER-0) > 0) +# define LZO_CC_INTELC_MSC _MSC_VER +# elif defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__) +# define LZO_CC_INTELC_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0)) +# endif +#elif defined(__POCC__) && defined(_WIN32) +# define LZO_CC_PELLESC 1 +# define LZO_INFO_CC "Pelles C" +# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__POCC__) +#elif defined(__ARMCC_VERSION) && defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__) +# if defined(__GNUC_PATCHLEVEL__) +# define LZO_CC_ARMCC_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0)) +# else +# define LZO_CC_ARMCC_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100) +# endif +# define LZO_CC_ARMCC __ARMCC_VERSION +# define LZO_INFO_CC "ARM C Compiler" +# define LZO_INFO_CCVER __VERSION__ +#elif defined(__clang__) && defined(__c2__) && defined(__c2_version__) && defined(_MSC_VER) +# define LZO_CC_CLANG (__clang_major__ * 0x10000L + (__clang_minor__-0) * 0x100 + (__clang_patchlevel__-0)) +# define LZO_CC_CLANG_C2 _MSC_VER +# define LZO_CC_CLANG_VENDOR_MICROSOFT 1 +# define LZO_INFO_CC "clang/c2" +# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__c2_version__) +#elif defined(__clang__) && defined(__llvm__) && defined(__VERSION__) +# if defined(__clang_major__) && defined(__clang_minor__) && defined(__clang_patchlevel__) +# define LZO_CC_CLANG (__clang_major__ * 0x10000L + (__clang_minor__-0) * 0x100 + (__clang_patchlevel__-0)) +# else +# define LZO_CC_CLANG 0x010000L +# endif +# if defined(_MSC_VER) && ((_MSC_VER-0) > 0) +# define LZO_CC_CLANG_MSC _MSC_VER +# elif defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__) +# define LZO_CC_CLANG_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0)) +# endif +# if defined(__APPLE_CC__) +# define LZO_CC_CLANG_VENDOR_APPLE 1 +# define LZO_INFO_CC "clang/apple" +# else +# define LZO_CC_CLANG_VENDOR_LLVM 1 +# define LZO_INFO_CC "clang" +# endif +# if defined(__clang_version__) +# define LZO_INFO_CCVER __clang_version__ +# else +# define LZO_INFO_CCVER __VERSION__ +# endif +#elif defined(__llvm__) && defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__) +# if defined(__GNUC_PATCHLEVEL__) +# define LZO_CC_LLVM_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0)) +# else +# define LZO_CC_LLVM_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100) +# endif +# define LZO_CC_LLVM LZO_CC_LLVM_GNUC +# define LZO_INFO_CC "llvm-gcc" +# define LZO_INFO_CCVER __VERSION__ +#elif defined(__ACK__) && defined(_ACK) +# define LZO_CC_ACK 1 +# define LZO_INFO_CC "Amsterdam Compiler Kit C" +# define LZO_INFO_CCVER "unknown" +#elif defined(__ARMCC_VERSION) && !defined(__GNUC__) +# define LZO_CC_ARMCC __ARMCC_VERSION +# define LZO_CC_ARMCC_ARMCC __ARMCC_VERSION +# define LZO_INFO_CC "ARM C Compiler" +# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__ARMCC_VERSION) +#elif defined(__AZTEC_C__) +# define LZO_CC_AZTECC 1 +# define LZO_INFO_CC "Aztec C" +# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__AZTEC_C__) +#elif defined(__CODEGEARC__) +# define LZO_CC_CODEGEARC 1 +# define LZO_INFO_CC "CodeGear C" +# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__CODEGEARC__) +#elif defined(__BORLANDC__) +# define LZO_CC_BORLANDC 1 +# define LZO_INFO_CC "Borland C" +# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__BORLANDC__) +#elif defined(_CRAYC) && defined(_RELEASE) +# define LZO_CC_CRAYC 1 +# define LZO_INFO_CC "Cray C" +# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(_RELEASE) +#elif defined(__DMC__) && defined(__SC__) +# define LZO_CC_DMC 1 +# define LZO_INFO_CC "Digital Mars C" +# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__DMC__) +#elif defined(__DECC) +# define LZO_CC_DECC 1 +# define LZO_INFO_CC "DEC C" +# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__DECC) +#elif (defined(__ghs) || defined(__ghs__)) && defined(__GHS_VERSION_NUMBER) && ((__GHS_VERSION_NUMBER-0) > 0) +# define LZO_CC_GHS 1 +# define LZO_INFO_CC "Green Hills C" +# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__GHS_VERSION_NUMBER) +# if defined(_MSC_VER) && ((_MSC_VER-0) > 0) +# define LZO_CC_GHS_MSC _MSC_VER +# elif defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__) +# define LZO_CC_GHS_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0)) +# endif +#elif defined(__HIGHC__) +# define LZO_CC_HIGHC 1 +# define LZO_INFO_CC "MetaWare High C" +# define LZO_INFO_CCVER "unknown" +#elif defined(__HP_aCC) && ((__HP_aCC-0) > 0) +# define LZO_CC_HPACC __HP_aCC +# define LZO_INFO_CC "HP aCC" +# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__HP_aCC) +#elif defined(__IAR_SYSTEMS_ICC__) +# define LZO_CC_IARC 1 +# define LZO_INFO_CC "IAR C" +# if defined(__VER__) +# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__VER__) +# else +# define LZO_INFO_CCVER "unknown" +# endif +#elif defined(__IBMC__) && ((__IBMC__-0) > 0) +# define LZO_CC_IBMC __IBMC__ +# define LZO_INFO_CC "IBM C" +# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__IBMC__) +#elif defined(__IBMCPP__) && ((__IBMCPP__-0) > 0) +# define LZO_CC_IBMC __IBMCPP__ +# define LZO_INFO_CC "IBM C" +# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__IBMCPP__) +#elif defined(__KEIL__) && defined(__C166__) +# define LZO_CC_KEILC 1 +# define LZO_INFO_CC "Keil C" +# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__C166__) +#elif defined(__LCC__) && defined(_WIN32) && defined(__LCCOPTIMLEVEL) +# define LZO_CC_LCCWIN32 1 +# define LZO_INFO_CC "lcc-win32" +# define LZO_INFO_CCVER "unknown" +#elif defined(__LCC__) +# define LZO_CC_LCC 1 +# define LZO_INFO_CC "lcc" +# if defined(__LCC_VERSION__) +# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__LCC_VERSION__) +# else +# define LZO_INFO_CCVER "unknown" +# endif +#elif defined(__MWERKS__) && ((__MWERKS__-0) > 0) +# define LZO_CC_MWERKS __MWERKS__ +# define LZO_INFO_CC "Metrowerks C" +# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__MWERKS__) +#elif (defined(__NDPC__) || defined(__NDPX__)) && defined(__i386) +# define LZO_CC_NDPC 1 +# define LZO_INFO_CC "Microway NDP C" +# define LZO_INFO_CCVER "unknown" +#elif defined(__PACIFIC__) +# define LZO_CC_PACIFICC 1 +# define LZO_INFO_CC "Pacific C" +# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__PACIFIC__) +#elif defined(__PGI) && defined(__PGIC__) && defined(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define LZO_CC_PGI (__PGIC__ * 0x10000L + (__PGIC_MINOR__-0) * 0x100 + (__PGIC_PATCHLEVEL__-0)) +# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__PGIC__) "." LZO_PP_MACRO_EXPAND(__PGIC_MINOR__) "." LZO_PP_MACRO_EXPAND(__PGIC_PATCHLEVEL__) +# else +# define LZO_CC_PGI (__PGIC__ * 0x10000L + (__PGIC_MINOR__-0) * 0x100) +# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__PGIC__) "." LZO_PP_MACRO_EXPAND(__PGIC_MINOR__) ".0" +# endif +# define LZO_INFO_CC "Portland Group PGI C" +#elif defined(__PGI) && (defined(__linux__) || defined(__WIN32__)) +# define LZO_CC_PGI 1 +# define LZO_INFO_CC "Portland Group PGI C" +# define LZO_INFO_CCVER "unknown" +#elif defined(__PUREC__) && defined(__TOS__) +# define LZO_CC_PUREC 1 +# define LZO_INFO_CC "Pure C" +# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__PUREC__) +#elif defined(__SC__) && defined(__ZTC__) +# define LZO_CC_SYMANTECC 1 +# define LZO_INFO_CC "Symantec C" +# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__SC__) +#elif defined(__SUNPRO_C) +# define LZO_INFO_CC "SunPro C" +# if ((__SUNPRO_C-0) > 0) +# define LZO_CC_SUNPROC __SUNPRO_C +# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__SUNPRO_C) +# else +# define LZO_CC_SUNPROC 1 +# define LZO_INFO_CCVER "unknown" +# endif +#elif defined(__SUNPRO_CC) +# define LZO_INFO_CC "SunPro C" +# if ((__SUNPRO_CC-0) > 0) +# define LZO_CC_SUNPROC __SUNPRO_CC +# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__SUNPRO_CC) +# else +# define LZO_CC_SUNPROC 1 +# define LZO_INFO_CCVER "unknown" +# endif +#elif defined(__TINYC__) +# define LZO_CC_TINYC 1 +# define LZO_INFO_CC "Tiny C" +# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__TINYC__) +#elif defined(__TSC__) +# define LZO_CC_TOPSPEEDC 1 +# define LZO_INFO_CC "TopSpeed C" +# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__TSC__) +#elif defined(__WATCOMC__) +# define LZO_CC_WATCOMC 1 +# define LZO_INFO_CC "Watcom C" +# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__WATCOMC__) +#elif defined(__TURBOC__) +# define LZO_CC_TURBOC 1 +# define LZO_INFO_CC "Turbo C" +# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__TURBOC__) +#elif defined(__ZTC__) +# define LZO_CC_ZORTECHC 1 +# define LZO_INFO_CC "Zortech C" +# if ((__ZTC__-0) == 0x310) +# define LZO_INFO_CCVER "0x310" +# else +# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__ZTC__) +# endif +#elif defined(__GNUC__) && defined(__VERSION__) +# if defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__) +# define LZO_CC_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100 + (__GNUC_PATCHLEVEL__-0)) +# elif defined(__GNUC_MINOR__) +# define LZO_CC_GNUC (__GNUC__ * 0x10000L + (__GNUC_MINOR__-0) * 0x100) +# else +# define LZO_CC_GNUC (__GNUC__ * 0x10000L) +# endif +# define LZO_INFO_CC "gcc" +# define LZO_INFO_CCVER __VERSION__ +#elif defined(_MSC_VER) && ((_MSC_VER-0) > 0) +# define LZO_CC_MSC _MSC_VER +# define LZO_INFO_CC "Microsoft C" +# if defined(_MSC_FULL_VER) +# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(_MSC_VER) "." LZO_PP_MACRO_EXPAND(_MSC_FULL_VER) +# else +# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(_MSC_VER) +# endif +#else +# define LZO_CC_UNKNOWN 1 +# define LZO_INFO_CC "unknown" +# define LZO_INFO_CCVER "unknown" +#endif +#if (LZO_CC_GNUC) && defined(__OPEN64__) +# if defined(__OPENCC__) && defined(__OPENCC_MINOR__) && defined(__OPENCC_PATCHLEVEL__) +# define LZO_CC_OPEN64 (__OPENCC__ * 0x10000L + (__OPENCC_MINOR__-0) * 0x100 + (__OPENCC_PATCHLEVEL__-0)) +# define LZO_CC_OPEN64_GNUC LZO_CC_GNUC +# endif +#endif +#if (LZO_CC_GNUC) && defined(__PCC__) +# if defined(__PCC__) && defined(__PCC_MINOR__) && defined(__PCC_MINORMINOR__) +# define LZO_CC_PCC (__PCC__ * 0x10000L + (__PCC_MINOR__-0) * 0x100 + (__PCC_MINORMINOR__-0)) +# define LZO_CC_PCC_GNUC LZO_CC_GNUC +# endif +#endif +#if 0 && (LZO_CC_MSC && (_MSC_VER >= 1200)) && !defined(_MSC_FULL_VER) +# error "LZO_CC_MSC: _MSC_FULL_VER is not defined" +#endif +#if !defined(__LZO_ARCH_OVERRIDE) && !(LZO_ARCH_GENERIC) && defined(_CRAY) +# if (UINT_MAX > LZO_0xffffffffL) && defined(_CRAY) +# if defined(_CRAYMPP) || defined(_CRAYT3D) || defined(_CRAYT3E) +# define LZO_ARCH_CRAY_MPP 1 +# elif defined(_CRAY1) +# define LZO_ARCH_CRAY_PVP 1 +# endif +# endif +#endif +#if !defined(__LZO_ARCH_OVERRIDE) +#if (LZO_ARCH_GENERIC) +# define LZO_INFO_ARCH "generic" +#elif (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16) +# define LZO_ARCH_I086 1 +# define LZO_INFO_ARCH "i086" +#elif defined(__aarch64__) || defined(_M_ARM64) +# define LZO_ARCH_ARM64 1 +# define LZO_INFO_ARCH "arm64" +#elif defined(__alpha__) || defined(__alpha) || defined(_M_ALPHA) +# define LZO_ARCH_ALPHA 1 +# define LZO_INFO_ARCH "alpha" +#elif (LZO_ARCH_CRAY_MPP) && (defined(_CRAYT3D) || defined(_CRAYT3E)) +# define LZO_ARCH_ALPHA 1 +# define LZO_INFO_ARCH "alpha" +#elif defined(__amd64__) || defined(__x86_64__) || defined(_M_AMD64) +# define LZO_ARCH_AMD64 1 +# define LZO_INFO_ARCH "amd64" +#elif defined(__arm__) || defined(_M_ARM) +# define LZO_ARCH_ARM 1 +# define LZO_INFO_ARCH "arm" +#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCARM__) +# define LZO_ARCH_ARM 1 +# define LZO_INFO_ARCH "arm" +#elif (UINT_MAX <= LZO_0xffffL) && defined(__AVR__) +# define LZO_ARCH_AVR 1 +# define LZO_INFO_ARCH "avr" +#elif defined(__avr32__) || defined(__AVR32__) +# define LZO_ARCH_AVR32 1 +# define LZO_INFO_ARCH "avr32" +#elif defined(__bfin__) +# define LZO_ARCH_BLACKFIN 1 +# define LZO_INFO_ARCH "blackfin" +#elif (UINT_MAX == LZO_0xffffL) && defined(__C166__) +# define LZO_ARCH_C166 1 +# define LZO_INFO_ARCH "c166" +#elif defined(__cris__) +# define LZO_ARCH_CRIS 1 +# define LZO_INFO_ARCH "cris" +#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCEZ80__) +# define LZO_ARCH_EZ80 1 +# define LZO_INFO_ARCH "ez80" +#elif defined(__H8300__) || defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__) +# define LZO_ARCH_H8300 1 +# define LZO_INFO_ARCH "h8300" +#elif defined(__hppa__) || defined(__hppa) +# define LZO_ARCH_HPPA 1 +# define LZO_INFO_ARCH "hppa" +#elif defined(__386__) || defined(__i386__) || defined(__i386) || defined(_M_IX86) || defined(_M_I386) +# define LZO_ARCH_I386 1 +# define LZO_ARCH_IA32 1 +# define LZO_INFO_ARCH "i386" +#elif (LZO_CC_ZORTECHC && defined(__I86__)) +# define LZO_ARCH_I386 1 +# define LZO_ARCH_IA32 1 +# define LZO_INFO_ARCH "i386" +#elif (LZO_OS_DOS32 && LZO_CC_HIGHC) && defined(_I386) +# define LZO_ARCH_I386 1 +# define LZO_ARCH_IA32 1 +# define LZO_INFO_ARCH "i386" +#elif defined(__ia64__) || defined(__ia64) || defined(_M_IA64) +# define LZO_ARCH_IA64 1 +# define LZO_INFO_ARCH "ia64" +#elif (UINT_MAX == LZO_0xffffL) && defined(__m32c__) +# define LZO_ARCH_M16C 1 +# define LZO_INFO_ARCH "m16c" +#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCM16C__) +# define LZO_ARCH_M16C 1 +# define LZO_INFO_ARCH "m16c" +#elif defined(__m32r__) +# define LZO_ARCH_M32R 1 +# define LZO_INFO_ARCH "m32r" +#elif (LZO_OS_TOS) || defined(__m68k__) || defined(__m68000__) || defined(__mc68000__) || defined(__mc68020__) || defined(_M_M68K) +# define LZO_ARCH_M68K 1 +# define LZO_INFO_ARCH "m68k" +#elif (UINT_MAX == LZO_0xffffL) && defined(__C251__) +# define LZO_ARCH_MCS251 1 +# define LZO_INFO_ARCH "mcs251" +#elif (UINT_MAX == LZO_0xffffL) && defined(__C51__) +# define LZO_ARCH_MCS51 1 +# define LZO_INFO_ARCH "mcs51" +#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICC8051__) +# define LZO_ARCH_MCS51 1 +# define LZO_INFO_ARCH "mcs51" +#elif defined(__mips__) || defined(__mips) || defined(_MIPS_ARCH) || defined(_M_MRX000) +# define LZO_ARCH_MIPS 1 +# define LZO_INFO_ARCH "mips" +#elif (UINT_MAX == LZO_0xffffL) && defined(__MSP430__) +# define LZO_ARCH_MSP430 1 +# define LZO_INFO_ARCH "msp430" +#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICC430__) +# define LZO_ARCH_MSP430 1 +# define LZO_INFO_ARCH "msp430" +#elif defined(__powerpc__) || defined(__powerpc) || defined(__ppc__) || defined(__PPC__) || defined(_M_PPC) || defined(_ARCH_PPC) || defined(_ARCH_PWR) +# define LZO_ARCH_POWERPC 1 +# define LZO_INFO_ARCH "powerpc" +#elif defined(__powerpc64__) || defined(__powerpc64) || defined(__ppc64__) || defined(__PPC64__) +# define LZO_ARCH_POWERPC 1 +# define LZO_INFO_ARCH "powerpc" +#elif defined(__powerpc64le__) || defined(__powerpc64le) || defined(__ppc64le__) || defined(__PPC64LE__) +# define LZO_ARCH_POWERPC 1 +# define LZO_INFO_ARCH "powerpc" +#elif defined(__riscv) +# define LZO_ARCH_RISCV 1 +# define LZO_INFO_ARCH "riscv" +#elif defined(__s390__) || defined(__s390) || defined(__s390x__) || defined(__s390x) +# define LZO_ARCH_S390 1 +# define LZO_INFO_ARCH "s390" +#elif defined(__sh__) || defined(_M_SH) +# define LZO_ARCH_SH 1 +# define LZO_INFO_ARCH "sh" +#elif defined(__sparc__) || defined(__sparc) || defined(__sparcv8) +# define LZO_ARCH_SPARC 1 +# define LZO_INFO_ARCH "sparc" +#elif defined(__SPU__) +# define LZO_ARCH_SPU 1 +# define LZO_INFO_ARCH "spu" +#elif (UINT_MAX == LZO_0xffffL) && defined(__z80) +# define LZO_ARCH_Z80 1 +# define LZO_INFO_ARCH "z80" +#elif (LZO_ARCH_CRAY_PVP) +# if defined(_CRAYSV1) +# define LZO_ARCH_CRAY_SV1 1 +# define LZO_INFO_ARCH "cray_sv1" +# elif (_ADDR64) +# define LZO_ARCH_CRAY_T90 1 +# define LZO_INFO_ARCH "cray_t90" +# elif (_ADDR32) +# define LZO_ARCH_CRAY_YMP 1 +# define LZO_INFO_ARCH "cray_ymp" +# else +# define LZO_ARCH_CRAY_XMP 1 +# define LZO_INFO_ARCH "cray_xmp" +# endif +#else +# define LZO_ARCH_UNKNOWN 1 +# define LZO_INFO_ARCH "unknown" +#endif +#endif +#if !defined(LZO_ARCH_ARM_THUMB2) +#if (LZO_ARCH_ARM) +# if defined(__thumb__) || defined(__thumb) || defined(_M_THUMB) +# if defined(__thumb2__) +# define LZO_ARCH_ARM_THUMB2 1 +# elif 1 && defined(__TARGET_ARCH_THUMB) && ((__TARGET_ARCH_THUMB)+0 >= 4) +# define LZO_ARCH_ARM_THUMB2 1 +# elif 1 && defined(_MSC_VER) && defined(_M_THUMB) && ((_M_THUMB)+0 >= 7) +# define LZO_ARCH_ARM_THUMB2 1 +# endif +# endif +#endif +#endif +#if (LZO_ARCH_ARM_THUMB2) +# undef LZO_INFO_ARCH +# define LZO_INFO_ARCH "arm_thumb2" +#endif +#if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_DOS32 || LZO_OS_OS2) +# error "FIXME - missing define for CPU architecture" +#endif +#if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_WIN32) +# error "FIXME - missing LZO_OS_WIN32 define for CPU architecture" +#endif +#if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_WIN64) +# error "FIXME - missing LZO_OS_WIN64 define for CPU architecture" +#endif +#if (LZO_OS_OS216 || LZO_OS_WIN16) +# define LZO_ARCH_I086PM 1 +#elif 1 && (LZO_OS_DOS16 && defined(BLX286)) +# define LZO_ARCH_I086PM 1 +#elif 1 && (LZO_OS_DOS16 && defined(DOSX286)) +# define LZO_ARCH_I086PM 1 +#elif 1 && (LZO_OS_DOS16 && LZO_CC_BORLANDC && defined(__DPMI16__)) +# define LZO_ARCH_I086PM 1 +#endif +#if (LZO_ARCH_AMD64 && !LZO_ARCH_X64) +# define LZO_ARCH_X64 1 +#elif (!LZO_ARCH_AMD64 && LZO_ARCH_X64) && defined(__LZO_ARCH_OVERRIDE) +# define LZO_ARCH_AMD64 1 +#endif +#if (LZO_ARCH_ARM64 && !LZO_ARCH_AARCH64) +# define LZO_ARCH_AARCH64 1 +#elif (!LZO_ARCH_ARM64 && LZO_ARCH_AARCH64) && defined(__LZO_ARCH_OVERRIDE) +# define LZO_ARCH_ARM64 1 +#endif +#if (LZO_ARCH_I386 && !LZO_ARCH_X86) +# define LZO_ARCH_X86 1 +#elif (!LZO_ARCH_I386 && LZO_ARCH_X86) && defined(__LZO_ARCH_OVERRIDE) +# define LZO_ARCH_I386 1 +#endif +#if (LZO_ARCH_AMD64 && !LZO_ARCH_X64) || (!LZO_ARCH_AMD64 && LZO_ARCH_X64) +# error "unexpected configuration - check your compiler defines" +#endif +#if (LZO_ARCH_ARM64 && !LZO_ARCH_AARCH64) || (!LZO_ARCH_ARM64 && LZO_ARCH_AARCH64) +# error "unexpected configuration - check your compiler defines" +#endif +#if (LZO_ARCH_I386 && !LZO_ARCH_X86) || (!LZO_ARCH_I386 && LZO_ARCH_X86) +# error "unexpected configuration - check your compiler defines" +#endif +#if (LZO_ARCH_ARM_THUMB1 && !LZO_ARCH_ARM) +# error "unexpected configuration - check your compiler defines" +#endif +#if (LZO_ARCH_ARM_THUMB2 && !LZO_ARCH_ARM) +# error "unexpected configuration - check your compiler defines" +#endif +#if (LZO_ARCH_ARM_THUMB1 && LZO_ARCH_ARM_THUMB2) +# error "unexpected configuration - check your compiler defines" +#endif +#if (LZO_ARCH_I086PM && !LZO_ARCH_I086) +# error "unexpected configuration - check your compiler defines" +#endif +#if (LZO_ARCH_I086) +# if (UINT_MAX != LZO_0xffffL) +# error "unexpected configuration - check your compiler defines" +# endif +# if (ULONG_MAX != LZO_0xffffffffL) +# error "unexpected configuration - check your compiler defines" +# endif +#endif +#if (LZO_ARCH_I386) +# if (UINT_MAX != LZO_0xffffL) && defined(__i386_int16__) +# error "unexpected configuration - check your compiler defines" +# endif +# if (UINT_MAX != LZO_0xffffffffL) && !defined(__i386_int16__) +# error "unexpected configuration - check your compiler defines" +# endif +# if (ULONG_MAX != LZO_0xffffffffL) +# error "unexpected configuration - check your compiler defines" +# endif +#endif +#if (LZO_ARCH_AMD64 || LZO_ARCH_I386) +# if !defined(LZO_TARGET_FEATURE_SSE2) +# if defined(__SSE2__) +# define LZO_TARGET_FEATURE_SSE2 1 +# elif defined(_MSC_VER) && (defined(_M_IX86_FP) && ((_M_IX86_FP)+0 >= 2)) +# define LZO_TARGET_FEATURE_SSE2 1 +# elif (LZO_CC_INTELC_MSC || LZO_CC_MSC) && defined(_M_AMD64) +# define LZO_TARGET_FEATURE_SSE2 1 +# endif +# endif +# if !defined(LZO_TARGET_FEATURE_SSSE3) +# if (LZO_TARGET_FEATURE_SSE2) +# if defined(__SSSE3__) +# define LZO_TARGET_FEATURE_SSSE3 1 +# elif defined(_MSC_VER) && defined(__AVX__) +# define LZO_TARGET_FEATURE_SSSE3 1 +# endif +# endif +# endif +# if !defined(LZO_TARGET_FEATURE_SSE4_2) +# if (LZO_TARGET_FEATURE_SSSE3) +# if defined(__SSE4_2__) +# define LZO_TARGET_FEATURE_SSE4_2 1 +# endif +# endif +# endif +# if !defined(LZO_TARGET_FEATURE_AVX) +# if (LZO_TARGET_FEATURE_SSSE3) +# if defined(__AVX__) +# define LZO_TARGET_FEATURE_AVX 1 +# endif +# endif +# endif +# if !defined(LZO_TARGET_FEATURE_AVX2) +# if (LZO_TARGET_FEATURE_AVX) +# if defined(__AVX2__) +# define LZO_TARGET_FEATURE_AVX2 1 +# endif +# endif +# endif +#endif +#if (LZO_TARGET_FEATURE_SSSE3 && !(LZO_TARGET_FEATURE_SSE2)) +# error "unexpected configuration - check your compiler defines" +#endif +#if (LZO_TARGET_FEATURE_SSE4_2 && !(LZO_TARGET_FEATURE_SSSE3)) +# error "unexpected configuration - check your compiler defines" +#endif +#if (LZO_TARGET_FEATURE_AVX && !(LZO_TARGET_FEATURE_SSSE3)) +# error "unexpected configuration - check your compiler defines" +#endif +#if (LZO_TARGET_FEATURE_AVX2 && !(LZO_TARGET_FEATURE_AVX)) +# error "unexpected configuration - check your compiler defines" +#endif +#if (LZO_ARCH_ARM) +# if !defined(LZO_TARGET_FEATURE_NEON) +# if defined(__ARM_NEON) && ((__ARM_NEON)+0) +# define LZO_TARGET_FEATURE_NEON 1 +# elif 1 && defined(__ARM_NEON__) && ((__ARM_NEON__)+0) +# define LZO_TARGET_FEATURE_NEON 1 +# elif 1 && defined(__TARGET_FEATURE_NEON) && ((__TARGET_FEATURE_NEON)+0) +# define LZO_TARGET_FEATURE_NEON 1 +# endif +# endif +#elif (LZO_ARCH_ARM64) +# if !defined(LZO_TARGET_FEATURE_NEON) +# if 1 +# define LZO_TARGET_FEATURE_NEON 1 +# endif +# endif +#endif +#if 0 +#elif !defined(__LZO_MM_OVERRIDE) +#if (LZO_ARCH_I086) +#if (UINT_MAX != LZO_0xffffL) +# error "unexpected configuration - check your compiler defines" +#endif +#if defined(__TINY__) || defined(M_I86TM) || defined(_M_I86TM) +# define LZO_MM_TINY 1 +#elif defined(__HUGE__) || defined(_HUGE_) || defined(M_I86HM) || defined(_M_I86HM) +# define LZO_MM_HUGE 1 +#elif defined(__SMALL__) || defined(M_I86SM) || defined(_M_I86SM) || defined(SMALL_MODEL) +# define LZO_MM_SMALL 1 +#elif defined(__MEDIUM__) || defined(M_I86MM) || defined(_M_I86MM) +# define LZO_MM_MEDIUM 1 +#elif defined(__COMPACT__) || defined(M_I86CM) || defined(_M_I86CM) +# define LZO_MM_COMPACT 1 +#elif defined(__LARGE__) || defined(M_I86LM) || defined(_M_I86LM) || defined(LARGE_MODEL) +# define LZO_MM_LARGE 1 +#elif (LZO_CC_AZTECC) +# if defined(_LARGE_CODE) && defined(_LARGE_DATA) +# define LZO_MM_LARGE 1 +# elif defined(_LARGE_CODE) +# define LZO_MM_MEDIUM 1 +# elif defined(_LARGE_DATA) +# define LZO_MM_COMPACT 1 +# else +# define LZO_MM_SMALL 1 +# endif +#elif (LZO_CC_ZORTECHC && defined(__VCM__)) +# define LZO_MM_LARGE 1 +#else +# error "unknown LZO_ARCH_I086 memory model" +#endif +#if (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16) +#define LZO_HAVE_MM_HUGE_PTR 1 +#define LZO_HAVE_MM_HUGE_ARRAY 1 +#if (LZO_MM_TINY) +# undef LZO_HAVE_MM_HUGE_ARRAY +#endif +#if (LZO_CC_AZTECC || LZO_CC_PACIFICC || LZO_CC_ZORTECHC) +# undef LZO_HAVE_MM_HUGE_PTR +# undef LZO_HAVE_MM_HUGE_ARRAY +#elif (LZO_CC_DMC || LZO_CC_SYMANTECC) +# undef LZO_HAVE_MM_HUGE_ARRAY +#elif (LZO_CC_MSC && defined(_QC)) +# undef LZO_HAVE_MM_HUGE_ARRAY +# if (_MSC_VER < 600) +# undef LZO_HAVE_MM_HUGE_PTR +# endif +#elif (LZO_CC_TURBOC && (__TURBOC__ < 0x0295)) +# undef LZO_HAVE_MM_HUGE_ARRAY +#endif +#if (LZO_ARCH_I086PM) && !(LZO_HAVE_MM_HUGE_PTR) +# if (LZO_OS_DOS16) +# error "unexpected configuration - check your compiler defines" +# elif (LZO_CC_ZORTECHC) +# else +# error "unexpected configuration - check your compiler defines" +# endif +#endif +#if defined(__cplusplus) +extern "C" { +#endif +#if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0200)) + extern void __near __cdecl _AHSHIFT(void); +# define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT) +#elif (LZO_CC_DMC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC) + extern void __near __cdecl _AHSHIFT(void); +# define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT) +#elif (LZO_CC_MSC || LZO_CC_TOPSPEEDC) + extern void __near __cdecl _AHSHIFT(void); +# define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT) +#elif (LZO_CC_TURBOC && (__TURBOC__ >= 0x0295)) + extern void __near __cdecl _AHSHIFT(void); +# define LZO_MM_AHSHIFT ((unsigned) _AHSHIFT) +#elif ((LZO_CC_AZTECC || LZO_CC_PACIFICC || LZO_CC_TURBOC) && LZO_OS_DOS16) +# define LZO_MM_AHSHIFT 12 +#elif (LZO_CC_WATCOMC) + extern unsigned char _HShift; +# define LZO_MM_AHSHIFT ((unsigned) _HShift) +#else +# error "FIXME - implement LZO_MM_AHSHIFT" +#endif +#if defined(__cplusplus) +} +#endif +#endif +#elif (LZO_ARCH_C166) +#if !defined(__MODEL__) +# error "FIXME - LZO_ARCH_C166 __MODEL__" +#elif ((__MODEL__) == 0) +# define LZO_MM_SMALL 1 +#elif ((__MODEL__) == 1) +# define LZO_MM_SMALL 1 +#elif ((__MODEL__) == 2) +# define LZO_MM_LARGE 1 +#elif ((__MODEL__) == 3) +# define LZO_MM_TINY 1 +#elif ((__MODEL__) == 4) +# define LZO_MM_XTINY 1 +#elif ((__MODEL__) == 5) +# define LZO_MM_XSMALL 1 +#else +# error "FIXME - LZO_ARCH_C166 __MODEL__" +#endif +#elif (LZO_ARCH_MCS251) +#if !defined(__MODEL__) +# error "FIXME - LZO_ARCH_MCS251 __MODEL__" +#elif ((__MODEL__) == 0) +# define LZO_MM_SMALL 1 +#elif ((__MODEL__) == 2) +# define LZO_MM_LARGE 1 +#elif ((__MODEL__) == 3) +# define LZO_MM_TINY 1 +#elif ((__MODEL__) == 4) +# define LZO_MM_XTINY 1 +#elif ((__MODEL__) == 5) +# define LZO_MM_XSMALL 1 +#else +# error "FIXME - LZO_ARCH_MCS251 __MODEL__" +#endif +#elif (LZO_ARCH_MCS51) +#if !defined(__MODEL__) +# error "FIXME - LZO_ARCH_MCS51 __MODEL__" +#elif ((__MODEL__) == 1) +# define LZO_MM_SMALL 1 +#elif ((__MODEL__) == 2) +# define LZO_MM_LARGE 1 +#elif ((__MODEL__) == 3) +# define LZO_MM_TINY 1 +#elif ((__MODEL__) == 4) +# define LZO_MM_XTINY 1 +#elif ((__MODEL__) == 5) +# define LZO_MM_XSMALL 1 +#else +# error "FIXME - LZO_ARCH_MCS51 __MODEL__" +#endif +#elif (LZO_ARCH_CRAY_PVP) +# define LZO_MM_PVP 1 +#else +# define LZO_MM_FLAT 1 +#endif +#if (LZO_MM_COMPACT) +# define LZO_INFO_MM "compact" +#elif (LZO_MM_FLAT) +# define LZO_INFO_MM "flat" +#elif (LZO_MM_HUGE) +# define LZO_INFO_MM "huge" +#elif (LZO_MM_LARGE) +# define LZO_INFO_MM "large" +#elif (LZO_MM_MEDIUM) +# define LZO_INFO_MM "medium" +#elif (LZO_MM_PVP) +# define LZO_INFO_MM "pvp" +#elif (LZO_MM_SMALL) +# define LZO_INFO_MM "small" +#elif (LZO_MM_TINY) +# define LZO_INFO_MM "tiny" +#else +# error "unknown memory model" +#endif +#endif +#if !defined(__lzo_gnuc_extension__) +#if (LZO_CC_GNUC >= 0x020800ul) +# define __lzo_gnuc_extension__ __extension__ +#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) +# define __lzo_gnuc_extension__ __extension__ +#elif (LZO_CC_IBMC >= 600) +# define __lzo_gnuc_extension__ __extension__ +#endif +#endif +#if !defined(__lzo_gnuc_extension__) +# define __lzo_gnuc_extension__ /*empty*/ +#endif +#if !defined(lzo_has_builtin) +#if (LZO_CC_CLANG) && defined(__has_builtin) +# define lzo_has_builtin __has_builtin +#endif +#endif +#if !defined(lzo_has_builtin) +# define lzo_has_builtin(x) 0 +#endif +#if !defined(lzo_has_attribute) +#if (LZO_CC_CLANG) && defined(__has_attribute) +# define lzo_has_attribute __has_attribute +#endif +#endif +#if !defined(lzo_has_attribute) +# define lzo_has_attribute(x) 0 +#endif +#if !defined(lzo_has_declspec_attribute) +#if (LZO_CC_CLANG) && defined(__has_declspec_attribute) +# define lzo_has_declspec_attribute __has_declspec_attribute +#endif +#endif +#if !defined(lzo_has_declspec_attribute) +# define lzo_has_declspec_attribute(x) 0 +#endif +#if !defined(lzo_has_feature) +#if (LZO_CC_CLANG) && defined(__has_feature) +# define lzo_has_feature __has_feature +#endif +#endif +#if !defined(lzo_has_feature) +# define lzo_has_feature(x) 0 +#endif +#if !defined(lzo_has_extension) +#if (LZO_CC_CLANG) && defined(__has_extension) +# define lzo_has_extension __has_extension +#elif (LZO_CC_CLANG) && defined(__has_feature) +# define lzo_has_extension __has_feature +#endif +#endif +#if !defined(lzo_has_extension) +# define lzo_has_extension(x) 0 +#endif +#if !defined(LZO_CFG_USE_NEW_STYLE_CASTS) && defined(__cplusplus) && 0 +# if (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020800ul)) +# define LZO_CFG_USE_NEW_STYLE_CASTS 0 +# elif (LZO_CC_INTELC && (__INTEL_COMPILER < 1200)) +# define LZO_CFG_USE_NEW_STYLE_CASTS 0 +# else +# define LZO_CFG_USE_NEW_STYLE_CASTS 1 +# endif +#endif +#if !defined(LZO_CFG_USE_NEW_STYLE_CASTS) +# define LZO_CFG_USE_NEW_STYLE_CASTS 0 +#endif +#if !defined(__cplusplus) +# if defined(LZO_CFG_USE_NEW_STYLE_CASTS) +# undef LZO_CFG_USE_NEW_STYLE_CASTS +# endif +# define LZO_CFG_USE_NEW_STYLE_CASTS 0 +#endif +#if !defined(LZO_REINTERPRET_CAST) +# if (LZO_CFG_USE_NEW_STYLE_CASTS) +# define LZO_REINTERPRET_CAST(t,e) (reinterpret_cast (e)) +# endif +#endif +#if !defined(LZO_REINTERPRET_CAST) +# define LZO_REINTERPRET_CAST(t,e) ((t) (e)) +#endif +#if !defined(LZO_STATIC_CAST) +# if (LZO_CFG_USE_NEW_STYLE_CASTS) +# define LZO_STATIC_CAST(t,e) (static_cast (e)) +# endif +#endif +#if !defined(LZO_STATIC_CAST) +# define LZO_STATIC_CAST(t,e) ((t) (e)) +#endif +#if !defined(LZO_STATIC_CAST2) +# define LZO_STATIC_CAST2(t1,t2,e) LZO_STATIC_CAST(t1, LZO_STATIC_CAST(t2, e)) +#endif +#if !defined(LZO_UNCONST_CAST) +# if (LZO_CFG_USE_NEW_STYLE_CASTS) +# define LZO_UNCONST_CAST(t,e) (const_cast (e)) +# elif (LZO_HAVE_MM_HUGE_PTR) +# define LZO_UNCONST_CAST(t,e) ((t) (e)) +# elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE) +# define LZO_UNCONST_CAST(t,e) ((t) ((void *) ((lzo_uintptr_t) ((const void *) (e))))) +# endif +#endif +#if !defined(LZO_UNCONST_CAST) +# define LZO_UNCONST_CAST(t,e) ((t) ((void *) ((const void *) (e)))) +#endif +#if !defined(LZO_UNCONST_VOLATILE_CAST) +# if (LZO_CFG_USE_NEW_STYLE_CASTS) +# define LZO_UNCONST_VOLATILE_CAST(t,e) (const_cast (e)) +# elif (LZO_HAVE_MM_HUGE_PTR) +# define LZO_UNCONST_VOLATILE_CAST(t,e) ((t) (e)) +# elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE) +# define LZO_UNCONST_VOLATILE_CAST(t,e) ((t) ((volatile void *) ((lzo_uintptr_t) ((volatile const void *) (e))))) +# endif +#endif +#if !defined(LZO_UNCONST_VOLATILE_CAST) +# define LZO_UNCONST_VOLATILE_CAST(t,e) ((t) ((volatile void *) ((volatile const void *) (e)))) +#endif +#if !defined(LZO_UNVOLATILE_CAST) +# if (LZO_CFG_USE_NEW_STYLE_CASTS) +# define LZO_UNVOLATILE_CAST(t,e) (const_cast (e)) +# elif (LZO_HAVE_MM_HUGE_PTR) +# define LZO_UNVOLATILE_CAST(t,e) ((t) (e)) +# elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE) +# define LZO_UNVOLATILE_CAST(t,e) ((t) ((void *) ((lzo_uintptr_t) ((volatile void *) (e))))) +# endif +#endif +#if !defined(LZO_UNVOLATILE_CAST) +# define LZO_UNVOLATILE_CAST(t,e) ((t) ((void *) ((volatile void *) (e)))) +#endif +#if !defined(LZO_UNVOLATILE_CONST_CAST) +# if (LZO_CFG_USE_NEW_STYLE_CASTS) +# define LZO_UNVOLATILE_CONST_CAST(t,e) (const_cast (e)) +# elif (LZO_HAVE_MM_HUGE_PTR) +# define LZO_UNVOLATILE_CONST_CAST(t,e) ((t) (e)) +# elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE) +# define LZO_UNVOLATILE_CONST_CAST(t,e) ((t) ((const void *) ((lzo_uintptr_t) ((volatile const void *) (e))))) +# endif +#endif +#if !defined(LZO_UNVOLATILE_CONST_CAST) +# define LZO_UNVOLATILE_CONST_CAST(t,e) ((t) ((const void *) ((volatile const void *) (e)))) +#endif +#if !defined(LZO_PCAST) +# if (LZO_HAVE_MM_HUGE_PTR) +# define LZO_PCAST(t,e) ((t) (e)) +# endif +#endif +#if !defined(LZO_PCAST) +# define LZO_PCAST(t,e) LZO_STATIC_CAST(t, LZO_STATIC_CAST(void *, e)) +#endif +#if !defined(LZO_CCAST) +# if (LZO_HAVE_MM_HUGE_PTR) +# define LZO_CCAST(t,e) ((t) (e)) +# endif +#endif +#if !defined(LZO_CCAST) +# define LZO_CCAST(t,e) LZO_STATIC_CAST(t, LZO_STATIC_CAST(const void *, e)) +#endif +#if !defined(LZO_ICONV) +# define LZO_ICONV(t,e) LZO_STATIC_CAST(t, e) +#endif +#if !defined(LZO_ICAST) +# define LZO_ICAST(t,e) LZO_STATIC_CAST(t, e) +#endif +#if !defined(LZO_ITRUNC) +# define LZO_ITRUNC(t,e) LZO_STATIC_CAST(t, e) +#endif +#if !defined(__lzo_cte) +# if (LZO_CC_MSC || LZO_CC_WATCOMC) +# define __lzo_cte(e) ((void)0,(e)) +# elif 1 +# define __lzo_cte(e) ((void)0,(e)) +# endif +#endif +#if !defined(__lzo_cte) +# define __lzo_cte(e) (e) +#endif +#if !defined(LZO_BLOCK_BEGIN) +# define LZO_BLOCK_BEGIN do { +# define LZO_BLOCK_END } while __lzo_cte(0) +#endif +#if !defined(LZO_UNUSED) +# if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0600)) +# define LZO_UNUSED(var) ((void) &var) +# elif (LZO_CC_BORLANDC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PELLESC || LZO_CC_TURBOC) +# define LZO_UNUSED(var) if (&var) ; else +# elif (LZO_CC_CLANG && (LZO_CC_CLANG >= 0x030200ul)) +# define LZO_UNUSED(var) ((void) &var) +# elif (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE) +# define LZO_UNUSED(var) ((void) var) +# elif (LZO_CC_MSC && (_MSC_VER < 900)) +# define LZO_UNUSED(var) if (&var) ; else +# elif (LZO_CC_KEILC) +# define LZO_UNUSED(var) {extern int lzo_unused__[1-2*!(sizeof(var)>0)]; (void)lzo_unused__;} +# elif (LZO_CC_PACIFICC) +# define LZO_UNUSED(var) ((void) sizeof(var)) +# elif (LZO_CC_WATCOMC) && defined(__cplusplus) +# define LZO_UNUSED(var) ((void) var) +# else +# define LZO_UNUSED(var) ((void) &var) +# endif +#endif +#if !defined(LZO_UNUSED_RESULT) +# define LZO_UNUSED_RESULT(var) LZO_UNUSED(var) +#endif +#if !defined(LZO_UNUSED_FUNC) +# if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0600)) +# define LZO_UNUSED_FUNC(func) ((void) func) +# elif (LZO_CC_BORLANDC || LZO_CC_NDPC || LZO_CC_TURBOC) +# define LZO_UNUSED_FUNC(func) if (func) ; else +# elif (LZO_CC_CLANG || LZO_CC_LLVM) +# define LZO_UNUSED_FUNC(func) ((void) &func) +# elif (LZO_CC_MSC && (_MSC_VER < 900)) +# define LZO_UNUSED_FUNC(func) if (func) ; else +# elif (LZO_CC_MSC) +# define LZO_UNUSED_FUNC(func) ((void) &func) +# elif (LZO_CC_KEILC || LZO_CC_PELLESC) +# define LZO_UNUSED_FUNC(func) {extern int lzo_unused__[1-2*!(sizeof((int)func)>0)]; (void)lzo_unused__;} +# else +# define LZO_UNUSED_FUNC(func) ((void) func) +# endif +#endif +#if !defined(LZO_UNUSED_LABEL) +# if (LZO_CC_CLANG >= 0x020800ul) +# define LZO_UNUSED_LABEL(l) (__lzo_gnuc_extension__ ((void) ((const void *) &&l))) +# elif (LZO_CC_ARMCC || LZO_CC_CLANG || LZO_CC_INTELC || LZO_CC_WATCOMC) +# define LZO_UNUSED_LABEL(l) if __lzo_cte(0) goto l +# else +# define LZO_UNUSED_LABEL(l) switch (0) case 1:goto l +# endif +#endif +#if !defined(LZO_DEFINE_UNINITIALIZED_VAR) +# if 0 +# define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var +# elif 0 && (LZO_CC_GNUC) +# define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var = var +# else +# define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var = init +# endif +#endif +#if !defined(__lzo_inline) +#if (LZO_CC_TURBOC && (__TURBOC__ <= 0x0295)) +#elif defined(__cplusplus) +# define __lzo_inline inline +#elif defined(__STDC_VERSION__) && (__STDC_VERSION__-0 >= 199901L) +# define __lzo_inline inline +#elif (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0550)) +# define __lzo_inline __inline +#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CILLY || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI) +# define __lzo_inline __inline__ +#elif (LZO_CC_DMC) +# define __lzo_inline __inline +#elif (LZO_CC_GHS) +# define __lzo_inline __inline__ +#elif (LZO_CC_IBMC >= 600) +# define __lzo_inline __inline__ +#elif (LZO_CC_INTELC) +# define __lzo_inline __inline +#elif (LZO_CC_MWERKS && (__MWERKS__ >= 0x2405)) +# define __lzo_inline __inline +#elif (LZO_CC_MSC && (_MSC_VER >= 900)) +# define __lzo_inline __inline +#elif (LZO_CC_SUNPROC >= 0x5100) +# define __lzo_inline __inline__ +#endif +#endif +#if defined(__lzo_inline) +# ifndef __lzo_HAVE_inline +# define __lzo_HAVE_inline 1 +# endif +#else +# define __lzo_inline /*empty*/ +#endif +#if !defined(__lzo_forceinline) +#if (LZO_CC_GNUC >= 0x030200ul) +# define __lzo_forceinline __inline__ __attribute__((__always_inline__)) +#elif (LZO_CC_IBMC >= 700) +# define __lzo_forceinline __inline__ __attribute__((__always_inline__)) +#elif (LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 450)) +# define __lzo_forceinline __forceinline +#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 800)) +# define __lzo_forceinline __inline__ __attribute__((__always_inline__)) +#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) +# define __lzo_forceinline __inline__ __attribute__((__always_inline__)) +#elif (LZO_CC_MSC && (_MSC_VER >= 1200)) +# define __lzo_forceinline __forceinline +#elif (LZO_CC_PGI >= 0x0d0a00ul) +# define __lzo_forceinline __inline__ __attribute__((__always_inline__)) +#elif (LZO_CC_SUNPROC >= 0x5100) +# define __lzo_forceinline __inline__ __attribute__((__always_inline__)) +#endif +#endif +#if defined(__lzo_forceinline) +# ifndef __lzo_HAVE_forceinline +# define __lzo_HAVE_forceinline 1 +# endif +#else +# define __lzo_forceinline __lzo_inline +#endif +#if !defined(__lzo_noinline) +#if 1 && (LZO_ARCH_I386) && (LZO_CC_GNUC >= 0x040000ul) && (LZO_CC_GNUC < 0x040003ul) +# define __lzo_noinline __attribute__((__noinline__,__used__)) +#elif (LZO_CC_GNUC >= 0x030200ul) +# define __lzo_noinline __attribute__((__noinline__)) +#elif (LZO_CC_IBMC >= 700) +# define __lzo_noinline __attribute__((__noinline__)) +#elif (LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 600)) +# define __lzo_noinline __declspec(noinline) +#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 800)) +# define __lzo_noinline __attribute__((__noinline__)) +#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) +# define __lzo_noinline __attribute__((__noinline__)) +#elif (LZO_CC_MSC && (_MSC_VER >= 1300)) +# define __lzo_noinline __declspec(noinline) +#elif (LZO_CC_MWERKS && (__MWERKS__ >= 0x3200) && (LZO_OS_WIN32 || LZO_OS_WIN64)) +# if defined(__cplusplus) +# else +# define __lzo_noinline __declspec(noinline) +# endif +#elif (LZO_CC_PGI >= 0x0d0a00ul) +# define __lzo_noinline __attribute__((__noinline__)) +#elif (LZO_CC_SUNPROC >= 0x5100) +# define __lzo_noinline __attribute__((__noinline__)) +#endif +#endif +#if defined(__lzo_noinline) +# ifndef __lzo_HAVE_noinline +# define __lzo_HAVE_noinline 1 +# endif +#else +# define __lzo_noinline /*empty*/ +#endif +#if (__lzo_HAVE_forceinline || __lzo_HAVE_noinline) && !(__lzo_HAVE_inline) +# error "unexpected configuration - check your compiler defines" +#endif +#if !defined(__lzo_static_inline) +#if (LZO_CC_IBMC) +# define __lzo_static_inline __lzo_gnuc_extension__ static __lzo_inline +#endif +#endif +#if !defined(__lzo_static_inline) +# define __lzo_static_inline static __lzo_inline +#endif +#if !defined(__lzo_static_forceinline) +#if (LZO_CC_IBMC) +# define __lzo_static_forceinline __lzo_gnuc_extension__ static __lzo_forceinline +#endif +#endif +#if !defined(__lzo_static_forceinline) +# define __lzo_static_forceinline static __lzo_forceinline +#endif +#if !defined(__lzo_static_noinline) +#if (LZO_CC_IBMC) +# define __lzo_static_noinline __lzo_gnuc_extension__ static __lzo_noinline +#endif +#endif +#if !defined(__lzo_static_noinline) +# define __lzo_static_noinline static __lzo_noinline +#endif +#if !defined(__lzo_c99_extern_inline) +#if defined(__GNUC_GNU_INLINE__) +# define __lzo_c99_extern_inline __lzo_inline +#elif defined(__GNUC_STDC_INLINE__) +# define __lzo_c99_extern_inline extern __lzo_inline +#elif defined(__STDC_VERSION__) && (__STDC_VERSION__-0 >= 199901L) +# define __lzo_c99_extern_inline extern __lzo_inline +#endif +#if !defined(__lzo_c99_extern_inline) && (__lzo_HAVE_inline) +# define __lzo_c99_extern_inline __lzo_inline +#endif +#endif +#if defined(__lzo_c99_extern_inline) +# ifndef __lzo_HAVE_c99_extern_inline +# define __lzo_HAVE_c99_extern_inline 1 +# endif +#else +# define __lzo_c99_extern_inline /*empty*/ +#endif +#if !defined(__lzo_may_alias) +#if (LZO_CC_GNUC >= 0x030400ul) +# define __lzo_may_alias __attribute__((__may_alias__)) +#elif (LZO_CC_CLANG >= 0x020900ul) +# define __lzo_may_alias __attribute__((__may_alias__)) +#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 1210)) && 0 +# define __lzo_may_alias __attribute__((__may_alias__)) +#elif (LZO_CC_PGI >= 0x0d0a00ul) && 0 +# define __lzo_may_alias __attribute__((__may_alias__)) +#endif +#endif +#if defined(__lzo_may_alias) +# ifndef __lzo_HAVE_may_alias +# define __lzo_HAVE_may_alias 1 +# endif +#else +# define __lzo_may_alias /*empty*/ +#endif +#if !defined(__lzo_noreturn) +#if (LZO_CC_GNUC >= 0x020700ul) +# define __lzo_noreturn __attribute__((__noreturn__)) +#elif (LZO_CC_IBMC >= 700) +# define __lzo_noreturn __attribute__((__noreturn__)) +#elif (LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 450)) +# define __lzo_noreturn __declspec(noreturn) +#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 600)) +# define __lzo_noreturn __attribute__((__noreturn__)) +#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) +# define __lzo_noreturn __attribute__((__noreturn__)) +#elif (LZO_CC_MSC && (_MSC_VER >= 1200)) +# define __lzo_noreturn __declspec(noreturn) +#elif (LZO_CC_PGI >= 0x0d0a00ul) +# define __lzo_noreturn __attribute__((__noreturn__)) +#endif +#endif +#if defined(__lzo_noreturn) +# ifndef __lzo_HAVE_noreturn +# define __lzo_HAVE_noreturn 1 +# endif +#else +# define __lzo_noreturn /*empty*/ +#endif +#if !defined(__lzo_nothrow) +#if (LZO_CC_GNUC >= 0x030300ul) +# define __lzo_nothrow __attribute__((__nothrow__)) +#elif (LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 450)) && defined(__cplusplus) +# define __lzo_nothrow __declspec(nothrow) +#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 900)) +# define __lzo_nothrow __attribute__((__nothrow__)) +#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) +# define __lzo_nothrow __attribute__((__nothrow__)) +#elif (LZO_CC_MSC && (_MSC_VER >= 1200)) && defined(__cplusplus) +# define __lzo_nothrow __declspec(nothrow) +#endif +#endif +#if defined(__lzo_nothrow) +# ifndef __lzo_HAVE_nothrow +# define __lzo_HAVE_nothrow 1 +# endif +#else +# define __lzo_nothrow /*empty*/ +#endif +#if !defined(__lzo_restrict) +#if (LZO_CC_GNUC >= 0x030400ul) +# define __lzo_restrict __restrict__ +#elif (LZO_CC_IBMC >= 800) && !defined(__cplusplus) +# define __lzo_restrict __restrict__ +#elif (LZO_CC_IBMC >= 1210) +# define __lzo_restrict __restrict__ +#elif (LZO_CC_INTELC_MSC && (__INTEL_COMPILER >= 600)) +#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 600)) +# define __lzo_restrict __restrict__ +#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM) +# define __lzo_restrict __restrict__ +#elif (LZO_CC_MSC && (_MSC_VER >= 1400)) +# define __lzo_restrict __restrict +#elif (LZO_CC_PGI >= 0x0d0a00ul) +# define __lzo_restrict __restrict__ +#endif +#endif +#if defined(__lzo_restrict) +# ifndef __lzo_HAVE_restrict +# define __lzo_HAVE_restrict 1 +# endif +#else +# define __lzo_restrict /*empty*/ +#endif +#if !defined(__lzo_alignof) +#if (LZO_CC_ARMCC || LZO_CC_CILLY || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI) +# define __lzo_alignof(e) __alignof__(e) +#elif (LZO_CC_GHS) && !defined(__cplusplus) +# define __lzo_alignof(e) __alignof__(e) +#elif (LZO_CC_IBMC >= 600) +# define __lzo_alignof(e) (__lzo_gnuc_extension__ __alignof__(e)) +#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 700)) +# define __lzo_alignof(e) __alignof__(e) +#elif (LZO_CC_MSC && (_MSC_VER >= 1300)) +# define __lzo_alignof(e) __alignof(e) +#elif (LZO_CC_SUNPROC >= 0x5100) +# define __lzo_alignof(e) __alignof__(e) +#endif +#endif +#if defined(__lzo_alignof) +# ifndef __lzo_HAVE_alignof +# define __lzo_HAVE_alignof 1 +# endif +#endif +#if !defined(__lzo_struct_packed) +#if (LZO_CC_CLANG && (LZO_CC_CLANG < 0x020800ul)) && defined(__cplusplus) +#elif (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020700ul)) +#elif (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020800ul)) && defined(__cplusplus) +#elif (LZO_CC_PCC && (LZO_CC_PCC < 0x010100ul)) +#elif (LZO_CC_SUNPROC && (LZO_CC_SUNPROC < 0x5110)) && !defined(__cplusplus) +#elif (LZO_CC_GNUC >= 0x030400ul) && !(LZO_CC_PCC_GNUC) && (LZO_ARCH_AMD64 || LZO_ARCH_I386) +# define __lzo_struct_packed(s) struct s { +# define __lzo_struct_packed_end() } __attribute__((__gcc_struct__,__packed__)); +# define __lzo_struct_packed_ma_end() } __lzo_may_alias __attribute__((__gcc_struct__,__packed__)); +#elif (LZO_CC_ARMCC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_INTELC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || (LZO_CC_PGI >= 0x0d0a00ul) || (LZO_CC_SUNPROC >= 0x5100)) +# define __lzo_struct_packed(s) struct s { +# define __lzo_struct_packed_end() } __attribute__((__packed__)); +# define __lzo_struct_packed_ma_end() } __lzo_may_alias __attribute__((__packed__)); +#elif (LZO_CC_IBMC >= 700) +# define __lzo_struct_packed(s) __lzo_gnuc_extension__ struct s { +# define __lzo_struct_packed_end() } __attribute__((__packed__)); +# define __lzo_struct_packed_ma_end() } __lzo_may_alias __attribute__((__packed__)); +#elif (LZO_CC_INTELC_MSC) || (LZO_CC_MSC && (_MSC_VER >= 1300)) +# define __lzo_struct_packed(s) __pragma(pack(push,1)) struct s { +# define __lzo_struct_packed_end() } __pragma(pack(pop)); +#elif (LZO_CC_WATCOMC && (__WATCOMC__ >= 900)) +# define __lzo_struct_packed(s) _Packed struct s { +# define __lzo_struct_packed_end() }; +#endif +#endif +#if defined(__lzo_struct_packed) && !defined(__lzo_struct_packed_ma) +# define __lzo_struct_packed_ma(s) __lzo_struct_packed(s) +#endif +#if defined(__lzo_struct_packed_end) && !defined(__lzo_struct_packed_ma_end) +# define __lzo_struct_packed_ma_end() __lzo_struct_packed_end() +#endif +#if !defined(__lzo_byte_struct) +#if defined(__lzo_struct_packed) +# define __lzo_byte_struct(s,n) __lzo_struct_packed(s) unsigned char a[n]; __lzo_struct_packed_end() +# define __lzo_byte_struct_ma(s,n) __lzo_struct_packed_ma(s) unsigned char a[n]; __lzo_struct_packed_ma_end() +#elif (LZO_CC_CILLY || LZO_CC_CLANG || LZO_CC_PGI || (LZO_CC_SUNPROC >= 0x5100)) +# define __lzo_byte_struct(s,n) struct s { unsigned char a[n]; } __attribute__((__packed__)); +# define __lzo_byte_struct_ma(s,n) struct s { unsigned char a[n]; } __lzo_may_alias __attribute__((__packed__)); +#endif +#endif +#if defined(__lzo_byte_struct) && !defined(__lzo_byte_struct_ma) +# define __lzo_byte_struct_ma(s,n) __lzo_byte_struct(s,n) +#endif +#if !defined(__lzo_struct_align16) && (__lzo_HAVE_alignof) +#if (LZO_CC_GNUC && (LZO_CC_GNUC < 0x030000ul)) +#elif (LZO_CC_CLANG && (LZO_CC_CLANG < 0x020800ul)) && defined(__cplusplus) +#elif (LZO_CC_CILLY || LZO_CC_PCC) +#elif (LZO_CC_INTELC_MSC) || (LZO_CC_MSC && (_MSC_VER >= 1300)) +# define __lzo_struct_align16(s) struct __declspec(align(16)) s { +# define __lzo_struct_align16_end() }; +# define __lzo_struct_align32(s) struct __declspec(align(32)) s { +# define __lzo_struct_align32_end() }; +# define __lzo_struct_align64(s) struct __declspec(align(64)) s { +# define __lzo_struct_align64_end() }; +#elif (LZO_CC_ARMCC || LZO_CC_CLANG || LZO_CC_GNUC || (LZO_CC_IBMC >= 700) || LZO_CC_INTELC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE) +# define __lzo_struct_align16(s) struct s { +# define __lzo_struct_align16_end() } __attribute__((__aligned__(16))); +# define __lzo_struct_align32(s) struct s { +# define __lzo_struct_align32_end() } __attribute__((__aligned__(32))); +# define __lzo_struct_align64(s) struct s { +# define __lzo_struct_align64_end() } __attribute__((__aligned__(64))); +#endif +#endif +#if !defined(__lzo_union_um) +#if (LZO_CC_CLANG && (LZO_CC_CLANG < 0x020800ul)) && defined(__cplusplus) +#elif (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020700ul)) +#elif (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020800ul)) && defined(__cplusplus) +#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER < 810)) +#elif (LZO_CC_PCC && (LZO_CC_PCC < 0x010100ul)) +#elif (LZO_CC_SUNPROC && (LZO_CC_SUNPROC < 0x5110)) && !defined(__cplusplus) +#elif (LZO_CC_ARMCC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_INTELC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || (LZO_CC_PGI >= 0x0d0a00ul) || (LZO_CC_SUNPROC >= 0x5100)) +# define __lzo_union_am(s) union s { +# define __lzo_union_am_end() } __lzo_may_alias; +# define __lzo_union_um(s) union s { +# define __lzo_union_um_end() } __lzo_may_alias __attribute__((__packed__)); +#elif (LZO_CC_IBMC >= 700) +# define __lzo_union_am(s) __lzo_gnuc_extension__ union s { +# define __lzo_union_am_end() } __lzo_may_alias; +# define __lzo_union_um(s) __lzo_gnuc_extension__ union s { +# define __lzo_union_um_end() } __lzo_may_alias __attribute__((__packed__)); +#elif (LZO_CC_INTELC_MSC) || (LZO_CC_MSC && (_MSC_VER >= 1300)) +# define __lzo_union_um(s) __pragma(pack(push,1)) union s { +# define __lzo_union_um_end() } __pragma(pack(pop)); +#elif (LZO_CC_WATCOMC && (__WATCOMC__ >= 900)) +# define __lzo_union_um(s) _Packed union s { +# define __lzo_union_um_end() }; +#endif +#endif +#if !defined(__lzo_union_am) +# define __lzo_union_am(s) union s { +# define __lzo_union_am_end() }; +#endif +#if !defined(__lzo_constructor) +#if (LZO_CC_GNUC >= 0x030400ul) +# define __lzo_constructor __attribute__((__constructor__,__used__)) +#elif (LZO_CC_GNUC >= 0x020700ul) +# define __lzo_constructor __attribute__((__constructor__)) +#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 800)) +# define __lzo_constructor __attribute__((__constructor__,__used__)) +#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) +# define __lzo_constructor __attribute__((__constructor__)) +#endif +#endif +#if defined(__lzo_constructor) +# ifndef __lzo_HAVE_constructor +# define __lzo_HAVE_constructor 1 +# endif +#endif +#if !defined(__lzo_destructor) +#if (LZO_CC_GNUC >= 0x030400ul) +# define __lzo_destructor __attribute__((__destructor__,__used__)) +#elif (LZO_CC_GNUC >= 0x020700ul) +# define __lzo_destructor __attribute__((__destructor__)) +#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 800)) +# define __lzo_destructor __attribute__((__destructor__,__used__)) +#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) +# define __lzo_destructor __attribute__((__destructor__)) +#endif +#endif +#if defined(__lzo_destructor) +# ifndef __lzo_HAVE_destructor +# define __lzo_HAVE_destructor 1 +# endif +#endif +#if (__lzo_HAVE_destructor) && !(__lzo_HAVE_constructor) +# error "unexpected configuration - check your compiler defines" +#endif +#if !defined(__lzo_likely) && !defined(__lzo_unlikely) +#if (LZO_CC_GNUC >= 0x030200ul) +# define __lzo_likely(e) (__builtin_expect(!!(e),1)) +# define __lzo_unlikely(e) (__builtin_expect(!!(e),0)) +#elif (LZO_CC_IBMC >= 1010) +# define __lzo_likely(e) (__builtin_expect(!!(e),1)) +# define __lzo_unlikely(e) (__builtin_expect(!!(e),0)) +#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800)) +# define __lzo_likely(e) (__builtin_expect(!!(e),1)) +# define __lzo_unlikely(e) (__builtin_expect(!!(e),0)) +#elif (LZO_CC_CLANG && LZO_CC_CLANG_C2) +#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE) +# define __lzo_likely(e) (__builtin_expect(!!(e),1)) +# define __lzo_unlikely(e) (__builtin_expect(!!(e),0)) +#endif +#endif +#if defined(__lzo_likely) +# ifndef __lzo_HAVE_likely +# define __lzo_HAVE_likely 1 +# endif +#else +# define __lzo_likely(e) (e) +#endif +#if defined(__lzo_very_likely) +# ifndef __lzo_HAVE_very_likely +# define __lzo_HAVE_very_likely 1 +# endif +#else +# define __lzo_very_likely(e) __lzo_likely(e) +#endif +#if defined(__lzo_unlikely) +# ifndef __lzo_HAVE_unlikely +# define __lzo_HAVE_unlikely 1 +# endif +#else +# define __lzo_unlikely(e) (e) +#endif +#if defined(__lzo_very_unlikely) +# ifndef __lzo_HAVE_very_unlikely +# define __lzo_HAVE_very_unlikely 1 +# endif +#else +# define __lzo_very_unlikely(e) __lzo_unlikely(e) +#endif +#if !defined(__lzo_loop_forever) +# if (LZO_CC_IBMC) +# define __lzo_loop_forever() LZO_BLOCK_BEGIN for (;;) { ; } LZO_BLOCK_END +# else +# define __lzo_loop_forever() do { ; } while __lzo_cte(1) +# endif +#endif +#if !defined(__lzo_unreachable) +#if (LZO_CC_CLANG && (LZO_CC_CLANG >= 0x020800ul)) && lzo_has_builtin(__builtin_unreachable) +# define __lzo_unreachable() __builtin_unreachable(); +#elif (LZO_CC_GNUC >= 0x040500ul) +# define __lzo_unreachable() __builtin_unreachable(); +#elif (LZO_CC_INTELC_GNUC && (__INTEL_COMPILER >= 1300)) && 1 +# define __lzo_unreachable() __builtin_unreachable(); +#endif +#endif +#if defined(__lzo_unreachable) +# ifndef __lzo_HAVE_unreachable +# define __lzo_HAVE_unreachable 1 +# endif +#else +# if 0 +# define __lzo_unreachable() ((void)0); +# else +# define __lzo_unreachable() __lzo_loop_forever(); +# endif +#endif +#if !defined(lzo_unused_funcs_impl) +# if 1 && (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || (LZO_CC_GNUC >= 0x020700ul) || LZO_CC_INTELC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI) +# define lzo_unused_funcs_impl(r,f) static r __attribute__((__unused__)) f +# elif 1 && (LZO_CC_BORLANDC || LZO_CC_GNUC) +# define lzo_unused_funcs_impl(r,f) static r f +# else +# define lzo_unused_funcs_impl(r,f) __lzo_static_forceinline r f +# endif +#endif +#ifndef __LZO_CTA_NAME +#if (LZO_CFG_USE_COUNTER) +# define __LZO_CTA_NAME(a) LZO_PP_ECONCAT2(a,__COUNTER__) +#else +# define __LZO_CTA_NAME(a) LZO_PP_ECONCAT2(a,__LINE__) +#endif +#endif +#if !defined(LZO_COMPILE_TIME_ASSERT_HEADER) +# if (LZO_CC_AZTECC || LZO_CC_ZORTECHC) +# define LZO_COMPILE_TIME_ASSERT_HEADER(e) LZO_EXTERN_C_BEGIN extern int __LZO_CTA_NAME(lzo_cta__)[1-!(e)]; LZO_EXTERN_C_END +# elif (LZO_CC_DMC || LZO_CC_SYMANTECC) +# define LZO_COMPILE_TIME_ASSERT_HEADER(e) LZO_EXTERN_C_BEGIN extern int __LZO_CTA_NAME(lzo_cta__)[1u-2*!(e)]; LZO_EXTERN_C_END +# elif (LZO_CC_TURBOC && (__TURBOC__ == 0x0295)) +# define LZO_COMPILE_TIME_ASSERT_HEADER(e) LZO_EXTERN_C_BEGIN extern int __LZO_CTA_NAME(lzo_cta__)[1-!(e)]; LZO_EXTERN_C_END +# elif (LZO_CC_CLANG && (LZO_CC_CLANG < 0x020900ul)) && defined(__cplusplus) +# define LZO_COMPILE_TIME_ASSERT_HEADER(e) LZO_EXTERN_C_BEGIN int __LZO_CTA_NAME(lzo_cta_f__)(int [1-2*!(e)]); LZO_EXTERN_C_END +# elif (LZO_CC_GNUC) && defined(__CHECKER__) && defined(__SPARSE_CHECKER__) +# define LZO_COMPILE_TIME_ASSERT_HEADER(e) LZO_EXTERN_C_BEGIN enum {__LZO_CTA_NAME(lzo_cta_e__)=1/!!(e)} __attribute__((__unused__)); LZO_EXTERN_C_END +# else +# define LZO_COMPILE_TIME_ASSERT_HEADER(e) LZO_EXTERN_C_BEGIN extern int __LZO_CTA_NAME(lzo_cta__)[1-2*!(e)]; LZO_EXTERN_C_END +# endif +#endif +#if !defined(LZO_COMPILE_TIME_ASSERT) +# if (LZO_CC_AZTECC) +# define LZO_COMPILE_TIME_ASSERT(e) {typedef int __LZO_CTA_NAME(lzo_cta_t__)[1-!(e)];} +# elif (LZO_CC_CLANG && (LZO_CC_CLANG >= 0x030000ul)) +# define LZO_COMPILE_TIME_ASSERT(e) {typedef int __LZO_CTA_NAME(lzo_cta_t__)[1-2*!(e)] __attribute__((__unused__));} +# elif (LZO_CC_DMC || LZO_CC_PACIFICC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC) +# define LZO_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break; +# elif (LZO_CC_GNUC) && defined(__CHECKER__) && defined(__SPARSE_CHECKER__) +# define LZO_COMPILE_TIME_ASSERT(e) {(void) (0/!!(e));} +# elif (LZO_CC_GNUC >= 0x040700ul) && (LZO_CFG_USE_COUNTER) && defined(__cplusplus) +# define LZO_COMPILE_TIME_ASSERT(e) {enum {__LZO_CTA_NAME(lzo_cta_e__)=1/!!(e)} __attribute__((__unused__));} +# elif (LZO_CC_GNUC >= 0x040700ul) +# define LZO_COMPILE_TIME_ASSERT(e) {typedef int __LZO_CTA_NAME(lzo_cta_t__)[1-2*!(e)] __attribute__((__unused__));} +# elif (LZO_CC_MSC && (_MSC_VER < 900)) +# define LZO_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break; +# elif (LZO_CC_TURBOC && (__TURBOC__ == 0x0295)) +# define LZO_COMPILE_TIME_ASSERT(e) switch(0) case 1:case !(e):break; +# else +# define LZO_COMPILE_TIME_ASSERT(e) {typedef int __LZO_CTA_NAME(lzo_cta_t__)[1-2*!(e)];} +# endif +#endif +#if (LZO_LANG_ASSEMBLER) +# undef LZO_COMPILE_TIME_ASSERT_HEADER +# define LZO_COMPILE_TIME_ASSERT_HEADER(e) /*empty*/ +#else +LZO_COMPILE_TIME_ASSERT_HEADER(1 == 1) +#if defined(__cplusplus) +extern "C" { LZO_COMPILE_TIME_ASSERT_HEADER(2 == 2) } +#endif +LZO_COMPILE_TIME_ASSERT_HEADER(3 == 3) +#endif +#if (LZO_ARCH_I086 || LZO_ARCH_I386) && (LZO_OS_DOS16 || LZO_OS_DOS32 || LZO_OS_OS2 || LZO_OS_OS216 || LZO_OS_WIN16 || LZO_OS_WIN32 || LZO_OS_WIN64) +# if (LZO_CC_GNUC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PACIFICC) +# elif (LZO_CC_DMC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC) +# define __lzo_cdecl __cdecl +# define __lzo_cdecl_atexit /*empty*/ +# define __lzo_cdecl_main __cdecl +# if (LZO_OS_OS2 && (LZO_CC_DMC || LZO_CC_SYMANTECC)) +# define __lzo_cdecl_qsort __pascal +# elif (LZO_OS_OS2 && (LZO_CC_ZORTECHC)) +# define __lzo_cdecl_qsort _stdcall +# else +# define __lzo_cdecl_qsort __cdecl +# endif +# elif (LZO_CC_WATCOMC) +# define __lzo_cdecl __cdecl +# else +# define __lzo_cdecl __cdecl +# define __lzo_cdecl_atexit __cdecl +# define __lzo_cdecl_main __cdecl +# define __lzo_cdecl_qsort __cdecl +# endif +# if (LZO_CC_GNUC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PACIFICC || LZO_CC_WATCOMC) +# elif (LZO_OS_OS2 && (LZO_CC_DMC || LZO_CC_SYMANTECC)) +# define __lzo_cdecl_sighandler __pascal +# elif (LZO_OS_OS2 && (LZO_CC_ZORTECHC)) +# define __lzo_cdecl_sighandler _stdcall +# elif (LZO_CC_MSC && (_MSC_VER >= 1400)) && defined(_M_CEE_PURE) +# define __lzo_cdecl_sighandler __clrcall +# elif (LZO_CC_MSC && (_MSC_VER >= 600 && _MSC_VER < 700)) +# if defined(_DLL) +# define __lzo_cdecl_sighandler _far _cdecl _loadds +# elif defined(_MT) +# define __lzo_cdecl_sighandler _far _cdecl +# else +# define __lzo_cdecl_sighandler _cdecl +# endif +# else +# define __lzo_cdecl_sighandler __cdecl +# endif +#elif (LZO_ARCH_I386) && (LZO_CC_WATCOMC) +# define __lzo_cdecl __cdecl +#elif (LZO_ARCH_M68K && LZO_OS_TOS && (LZO_CC_PUREC || LZO_CC_TURBOC)) +# define __lzo_cdecl cdecl +#endif +#if !defined(__lzo_cdecl) +# define __lzo_cdecl /*empty*/ +#endif +#if !defined(__lzo_cdecl_atexit) +# define __lzo_cdecl_atexit /*empty*/ +#endif +#if !defined(__lzo_cdecl_main) +# define __lzo_cdecl_main /*empty*/ +#endif +#if !defined(__lzo_cdecl_qsort) +# define __lzo_cdecl_qsort /*empty*/ +#endif +#if !defined(__lzo_cdecl_sighandler) +# define __lzo_cdecl_sighandler /*empty*/ +#endif +#if !defined(__lzo_cdecl_va) +# define __lzo_cdecl_va __lzo_cdecl +#endif +#if !(LZO_CFG_NO_WINDOWS_H) +#if !defined(LZO_HAVE_WINDOWS_H) +#if (LZO_OS_CYGWIN || (LZO_OS_EMX && defined(__RSXNT__)) || LZO_OS_WIN32 || LZO_OS_WIN64) +# if (LZO_CC_WATCOMC && (__WATCOMC__ < 1000)) +# elif ((LZO_OS_WIN32 && defined(__PW32__)) && (LZO_CC_GNUC && (LZO_CC_GNUC < 0x030000ul))) +# elif ((LZO_OS_CYGWIN || defined(__MINGW32__)) && (LZO_CC_GNUC && (LZO_CC_GNUC < 0x025f00ul))) +# else +# define LZO_HAVE_WINDOWS_H 1 +# endif +#endif +#endif +#endif +#define LZO_SIZEOF_CHAR 1 +#ifndef LZO_SIZEOF_SHORT +#if defined(SIZEOF_SHORT) +# define LZO_SIZEOF_SHORT (SIZEOF_SHORT) +#elif defined(__SIZEOF_SHORT__) +# define LZO_SIZEOF_SHORT (__SIZEOF_SHORT__) +#endif +#endif +#ifndef LZO_SIZEOF_INT +#if defined(SIZEOF_INT) +# define LZO_SIZEOF_INT (SIZEOF_INT) +#elif defined(__SIZEOF_INT__) +# define LZO_SIZEOF_INT (__SIZEOF_INT__) +#endif +#endif +#ifndef LZO_SIZEOF_LONG +#if defined(SIZEOF_LONG) +# define LZO_SIZEOF_LONG (SIZEOF_LONG) +#elif defined(__SIZEOF_LONG__) +# define LZO_SIZEOF_LONG (__SIZEOF_LONG__) +#endif +#endif +#ifndef LZO_SIZEOF_LONG_LONG +#if defined(SIZEOF_LONG_LONG) +# define LZO_SIZEOF_LONG_LONG (SIZEOF_LONG_LONG) +#elif defined(__SIZEOF_LONG_LONG__) +# define LZO_SIZEOF_LONG_LONG (__SIZEOF_LONG_LONG__) +#endif +#endif +#ifndef LZO_SIZEOF___INT16 +#if defined(SIZEOF___INT16) +# define LZO_SIZEOF___INT16 (SIZEOF___INT16) +#endif +#endif +#ifndef LZO_SIZEOF___INT32 +#if defined(SIZEOF___INT32) +# define LZO_SIZEOF___INT32 (SIZEOF___INT32) +#endif +#endif +#ifndef LZO_SIZEOF___INT64 +#if defined(SIZEOF___INT64) +# define LZO_SIZEOF___INT64 (SIZEOF___INT64) +#endif +#endif +#ifndef LZO_SIZEOF_VOID_P +#if defined(SIZEOF_VOID_P) +# define LZO_SIZEOF_VOID_P (SIZEOF_VOID_P) +#elif defined(__SIZEOF_POINTER__) +# define LZO_SIZEOF_VOID_P (__SIZEOF_POINTER__) +#endif +#endif +#ifndef LZO_SIZEOF_SIZE_T +#if defined(SIZEOF_SIZE_T) +# define LZO_SIZEOF_SIZE_T (SIZEOF_SIZE_T) +#elif defined(__SIZEOF_SIZE_T__) +# define LZO_SIZEOF_SIZE_T (__SIZEOF_SIZE_T__) +#endif +#endif +#ifndef LZO_SIZEOF_PTRDIFF_T +#if defined(SIZEOF_PTRDIFF_T) +# define LZO_SIZEOF_PTRDIFF_T (SIZEOF_PTRDIFF_T) +#elif defined(__SIZEOF_PTRDIFF_T__) +# define LZO_SIZEOF_PTRDIFF_T (__SIZEOF_PTRDIFF_T__) +#endif +#endif +#define __LZO_LSR(x,b) (((x)+0ul) >> (b)) +#if !defined(LZO_SIZEOF_SHORT) +# if (LZO_ARCH_CRAY_PVP) +# define LZO_SIZEOF_SHORT 8 +# elif (USHRT_MAX == LZO_0xffffL) +# define LZO_SIZEOF_SHORT 2 +# elif (__LZO_LSR(USHRT_MAX,7) == 1) +# define LZO_SIZEOF_SHORT 1 +# elif (__LZO_LSR(USHRT_MAX,15) == 1) +# define LZO_SIZEOF_SHORT 2 +# elif (__LZO_LSR(USHRT_MAX,31) == 1) +# define LZO_SIZEOF_SHORT 4 +# elif (__LZO_LSR(USHRT_MAX,63) == 1) +# define LZO_SIZEOF_SHORT 8 +# elif (__LZO_LSR(USHRT_MAX,127) == 1) +# define LZO_SIZEOF_SHORT 16 +# else +# error "LZO_SIZEOF_SHORT" +# endif +#endif +LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_SHORT == sizeof(short)) +#if !defined(LZO_SIZEOF_INT) +# if (LZO_ARCH_CRAY_PVP) +# define LZO_SIZEOF_INT 8 +# elif (UINT_MAX == LZO_0xffffL) +# define LZO_SIZEOF_INT 2 +# elif (UINT_MAX == LZO_0xffffffffL) +# define LZO_SIZEOF_INT 4 +# elif (__LZO_LSR(UINT_MAX,7) == 1) +# define LZO_SIZEOF_INT 1 +# elif (__LZO_LSR(UINT_MAX,15) == 1) +# define LZO_SIZEOF_INT 2 +# elif (__LZO_LSR(UINT_MAX,31) == 1) +# define LZO_SIZEOF_INT 4 +# elif (__LZO_LSR(UINT_MAX,63) == 1) +# define LZO_SIZEOF_INT 8 +# elif (__LZO_LSR(UINT_MAX,127) == 1) +# define LZO_SIZEOF_INT 16 +# else +# error "LZO_SIZEOF_INT" +# endif +#endif +LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_INT == sizeof(int)) +#if !defined(LZO_SIZEOF_LONG) +# if (ULONG_MAX == LZO_0xffffffffL) +# define LZO_SIZEOF_LONG 4 +# elif (__LZO_LSR(ULONG_MAX,7) == 1) +# define LZO_SIZEOF_LONG 1 +# elif (__LZO_LSR(ULONG_MAX,15) == 1) +# define LZO_SIZEOF_LONG 2 +# elif (__LZO_LSR(ULONG_MAX,31) == 1) +# define LZO_SIZEOF_LONG 4 +# elif (__LZO_LSR(ULONG_MAX,39) == 1) +# define LZO_SIZEOF_LONG 5 +# elif (__LZO_LSR(ULONG_MAX,63) == 1) +# define LZO_SIZEOF_LONG 8 +# elif (__LZO_LSR(ULONG_MAX,127) == 1) +# define LZO_SIZEOF_LONG 16 +# else +# error "LZO_SIZEOF_LONG" +# endif +#endif +LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_LONG == sizeof(long)) +#if !defined(LZO_SIZEOF_LONG_LONG) && !defined(LZO_SIZEOF___INT64) +#if (LZO_SIZEOF_LONG > 0 && LZO_SIZEOF_LONG < 8) +# if defined(__LONG_MAX__) && defined(__LONG_LONG_MAX__) +# if (LZO_CC_GNUC >= 0x030300ul) +# if ((__LONG_MAX__-0) == (__LONG_LONG_MAX__-0)) +# define LZO_SIZEOF_LONG_LONG LZO_SIZEOF_LONG +# elif (__LZO_LSR(__LONG_LONG_MAX__,30) == 1) +# define LZO_SIZEOF_LONG_LONG 4 +# endif +# endif +# endif +#endif +#endif +#if !defined(LZO_SIZEOF_LONG_LONG) && !defined(LZO_SIZEOF___INT64) +#if (LZO_SIZEOF_LONG > 0 && LZO_SIZEOF_LONG < 8) +#if (LZO_ARCH_I086 && LZO_CC_DMC) +#elif (LZO_CC_CILLY) && defined(__GNUC__) +# define LZO_SIZEOF_LONG_LONG 8 +#elif (LZO_CC_ARMCC_GNUC || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE) +# define LZO_SIZEOF_LONG_LONG 8 +#elif ((LZO_OS_WIN32 || LZO_OS_WIN64 || defined(_WIN32)) && LZO_CC_MSC && (_MSC_VER >= 1400)) +# define LZO_SIZEOF_LONG_LONG 8 +#elif (LZO_OS_WIN64 || defined(_WIN64)) +# define LZO_SIZEOF___INT64 8 +#elif (LZO_ARCH_I386 && (LZO_CC_DMC)) +# define LZO_SIZEOF_LONG_LONG 8 +#elif (LZO_ARCH_I386 && (LZO_CC_SYMANTECC && (__SC__ >= 0x700))) +# define LZO_SIZEOF_LONG_LONG 8 +#elif (LZO_ARCH_I386 && (LZO_CC_INTELC && defined(__linux__))) +# define LZO_SIZEOF_LONG_LONG 8 +#elif (LZO_ARCH_I386 && (LZO_CC_MWERKS || LZO_CC_PELLESC || LZO_CC_PGI || LZO_CC_SUNPROC)) +# define LZO_SIZEOF_LONG_LONG 8 +#elif (LZO_ARCH_I386 && (LZO_CC_INTELC || LZO_CC_MSC)) +# define LZO_SIZEOF___INT64 8 +#elif ((LZO_OS_WIN32 || defined(_WIN32)) && (LZO_CC_MSC)) +# define LZO_SIZEOF___INT64 8 +#elif (LZO_ARCH_I386 && (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0520))) +# define LZO_SIZEOF___INT64 8 +#elif (LZO_ARCH_I386 && (LZO_CC_WATCOMC && (__WATCOMC__ >= 1100))) +# define LZO_SIZEOF___INT64 8 +#elif (LZO_CC_GHS && defined(__LLONG_BIT) && ((__LLONG_BIT-0) == 64)) +# define LZO_SIZEOF_LONG_LONG 8 +#elif (LZO_CC_WATCOMC && defined(_INTEGRAL_MAX_BITS) && ((_INTEGRAL_MAX_BITS-0) == 64)) +# define LZO_SIZEOF___INT64 8 +#elif (LZO_OS_OS400 || defined(__OS400__)) && defined(__LLP64_IFC__) +# define LZO_SIZEOF_LONG_LONG 8 +#elif (defined(__vms) || defined(__VMS)) && ((__INITIAL_POINTER_SIZE-0) == 64) +# define LZO_SIZEOF_LONG_LONG 8 +#elif (LZO_CC_SDCC) && (LZO_SIZEOF_INT == 2) +#elif 1 && defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) +# define LZO_SIZEOF_LONG_LONG 8 +#endif +#endif +#endif +#if defined(__cplusplus) && (LZO_CC_GNUC) +# if (LZO_CC_GNUC < 0x020800ul) +# undef LZO_SIZEOF_LONG_LONG +# endif +#endif +#if (LZO_CFG_NO_LONG_LONG) +# undef LZO_SIZEOF_LONG_LONG +#elif defined(__NO_LONG_LONG) +# undef LZO_SIZEOF_LONG_LONG +#elif defined(_NO_LONGLONG) +# undef LZO_SIZEOF_LONG_LONG +#endif +#if !defined(LZO_WORDSIZE) +#if (LZO_ARCH_ALPHA) +# define LZO_WORDSIZE 8 +#elif (LZO_ARCH_AMD64) +# define LZO_WORDSIZE 8 +#elif (LZO_ARCH_ARM64) +# define LZO_WORDSIZE 8 +#elif (LZO_ARCH_AVR) +# define LZO_WORDSIZE 1 +#elif (LZO_ARCH_H8300) +# if defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__) +# define LZO_WORDSIZE 4 +# else +# define LZO_WORDSIZE 2 +# endif +#elif (LZO_ARCH_I086) +# define LZO_WORDSIZE 2 +#elif (LZO_ARCH_IA64) +# define LZO_WORDSIZE 8 +#elif (LZO_ARCH_M16C) +# define LZO_WORDSIZE 2 +#elif (LZO_ARCH_SPU) +# define LZO_WORDSIZE 4 +#elif (LZO_ARCH_Z80) +# define LZO_WORDSIZE 1 +#elif (LZO_SIZEOF_LONG == 8) && ((defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__)) +# define LZO_WORDSIZE 8 +#elif (LZO_OS_OS400 || defined(__OS400__)) +# define LZO_WORDSIZE 8 +#elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64) +# define LZO_WORDSIZE 8 +#endif +#endif +#if !defined(LZO_SIZEOF_VOID_P) +#if defined(__ILP32__) || defined(__ILP32) || defined(_ILP32) +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(int) == 4) +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(long) == 4) +# define LZO_SIZEOF_VOID_P 4 +#elif defined(__ILP64__) || defined(__ILP64) || defined(_ILP64) +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(int) == 8) +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(long) == 8) +# define LZO_SIZEOF_VOID_P 8 +#elif defined(__LLP64__) || defined(__LLP64) || defined(_LLP64) || defined(_WIN64) +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(long) == 4) +# define LZO_SIZEOF_VOID_P 8 +#elif defined(__LP64__) || defined(__LP64) || defined(_LP64) +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(long) == 8) +# define LZO_SIZEOF_VOID_P 8 +#elif (LZO_ARCH_AVR) +# define LZO_SIZEOF_VOID_P 2 +#elif (LZO_ARCH_C166 || LZO_ARCH_MCS51 || LZO_ARCH_MCS251 || LZO_ARCH_MSP430) +# define LZO_SIZEOF_VOID_P 2 +#elif (LZO_ARCH_H8300) +# if defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__) + LZO_COMPILE_TIME_ASSERT_HEADER(LZO_WORDSIZE == 4) +# if defined(__NORMAL_MODE__) +# define LZO_SIZEOF_VOID_P 2 +# else +# define LZO_SIZEOF_VOID_P 4 +# endif +# else + LZO_COMPILE_TIME_ASSERT_HEADER(LZO_WORDSIZE == 2) +# define LZO_SIZEOF_VOID_P 2 +# endif +# if (LZO_CC_GNUC && (LZO_CC_GNUC < 0x040000ul)) && (LZO_SIZEOF_INT == 4) +# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_INT +# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_INT +# endif +#elif (LZO_ARCH_I086) +# if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM) +# define LZO_SIZEOF_VOID_P 2 +# elif (LZO_MM_COMPACT || LZO_MM_LARGE || LZO_MM_HUGE) +# define LZO_SIZEOF_VOID_P 4 +# else +# error "invalid LZO_ARCH_I086 memory model" +# endif +#elif (LZO_ARCH_M16C) +# if defined(__m32c_cpu__) || defined(__m32cm_cpu__) +# define LZO_SIZEOF_VOID_P 4 +# else +# define LZO_SIZEOF_VOID_P 2 +# endif +#elif (LZO_ARCH_SPU) +# define LZO_SIZEOF_VOID_P 4 +#elif (LZO_ARCH_Z80) +# define LZO_SIZEOF_VOID_P 2 +#elif (LZO_SIZEOF_LONG == 8) && ((defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__)) +# define LZO_SIZEOF_VOID_P 4 +#elif (LZO_OS_OS400 || defined(__OS400__)) +# if defined(__LLP64_IFC__) +# define LZO_SIZEOF_VOID_P 8 +# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG +# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG +# else +# define LZO_SIZEOF_VOID_P 16 +# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG +# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG +# endif +#elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64) +# define LZO_SIZEOF_VOID_P 8 +# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG +# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG +#endif +#endif +#if !defined(LZO_SIZEOF_VOID_P) +# define LZO_SIZEOF_VOID_P LZO_SIZEOF_LONG +#endif +LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_VOID_P == sizeof(void *)) +#if !defined(LZO_SIZEOF_SIZE_T) +#if (LZO_ARCH_I086 || LZO_ARCH_M16C) +# define LZO_SIZEOF_SIZE_T 2 +#endif +#endif +#if !defined(LZO_SIZEOF_SIZE_T) +# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_VOID_P +#endif +#if defined(offsetof) +LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_SIZE_T == sizeof(size_t)) +#endif +#if !defined(LZO_SIZEOF_PTRDIFF_T) +#if (LZO_ARCH_I086) +# if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM || LZO_MM_HUGE) +# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_VOID_P +# elif (LZO_MM_COMPACT || LZO_MM_LARGE) +# if (LZO_CC_BORLANDC || LZO_CC_TURBOC) +# define LZO_SIZEOF_PTRDIFF_T 4 +# else +# define LZO_SIZEOF_PTRDIFF_T 2 +# endif +# else +# error "invalid LZO_ARCH_I086 memory model" +# endif +#endif +#endif +#if !defined(LZO_SIZEOF_PTRDIFF_T) +# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_SIZE_T +#endif +#if defined(offsetof) +LZO_COMPILE_TIME_ASSERT_HEADER(LZO_SIZEOF_PTRDIFF_T == sizeof(ptrdiff_t)) +#endif +#if !defined(LZO_WORDSIZE) +# define LZO_WORDSIZE LZO_SIZEOF_VOID_P +#endif +#if (LZO_ABI_NEUTRAL_ENDIAN) +# undef LZO_ABI_BIG_ENDIAN +# undef LZO_ABI_LITTLE_ENDIAN +#elif !(LZO_ABI_BIG_ENDIAN) && !(LZO_ABI_LITTLE_ENDIAN) +#if (LZO_ARCH_ALPHA) && (LZO_ARCH_CRAY_MPP) +# define LZO_ABI_BIG_ENDIAN 1 +#elif (LZO_ARCH_IA64) && (LZO_OS_POSIX_LINUX || LZO_OS_WIN64) +# define LZO_ABI_LITTLE_ENDIAN 1 +#elif (LZO_ARCH_ALPHA || LZO_ARCH_AMD64 || LZO_ARCH_BLACKFIN || LZO_ARCH_CRIS || LZO_ARCH_I086 || LZO_ARCH_I386 || LZO_ARCH_MSP430 || LZO_ARCH_RISCV) +# define LZO_ABI_LITTLE_ENDIAN 1 +#elif (LZO_ARCH_AVR32 || LZO_ARCH_M68K || LZO_ARCH_S390 || LZO_ARCH_SPU) +# define LZO_ABI_BIG_ENDIAN 1 +#elif 1 && defined(__IAR_SYSTEMS_ICC__) && defined(__LITTLE_ENDIAN__) +# if (__LITTLE_ENDIAN__ == 1) +# define LZO_ABI_LITTLE_ENDIAN 1 +# else +# define LZO_ABI_BIG_ENDIAN 1 +# endif +#elif 1 && defined(__BIG_ENDIAN__) && !defined(__LITTLE_ENDIAN__) +# define LZO_ABI_BIG_ENDIAN 1 +#elif 1 && defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__) +# define LZO_ABI_LITTLE_ENDIAN 1 +#elif 1 && (LZO_ARCH_ARM) && defined(__ARM_BIG_ENDIAN) && ((__ARM_BIG_ENDIAN)+0) +# define LZO_ABI_BIG_ENDIAN 1 +#elif 1 && (LZO_ARCH_ARM) && defined(__ARMEB__) && !defined(__ARMEL__) +# define LZO_ABI_BIG_ENDIAN 1 +#elif 1 && (LZO_ARCH_ARM) && defined(__ARMEL__) && !defined(__ARMEB__) +# define LZO_ABI_LITTLE_ENDIAN 1 +#elif 1 && (LZO_ARCH_ARM) && defined(_MSC_VER) && defined(_WIN32) +# define LZO_ABI_LITTLE_ENDIAN 1 +#elif 1 && (LZO_ARCH_ARM && LZO_CC_ARMCC_ARMCC) +# if defined(__BIG_ENDIAN) && defined(__LITTLE_ENDIAN) +# error "unexpected configuration - check your compiler defines" +# elif defined(__BIG_ENDIAN) +# define LZO_ABI_BIG_ENDIAN 1 +# else +# define LZO_ABI_LITTLE_ENDIAN 1 +# endif +# define LZO_ABI_LITTLE_ENDIAN 1 +#elif 1 && (LZO_ARCH_ARM64) && defined(__ARM_BIG_ENDIAN) && ((__ARM_BIG_ENDIAN)+0) +# define LZO_ABI_BIG_ENDIAN 1 +#elif 1 && (LZO_ARCH_ARM64) && defined(__AARCH64EB__) && !defined(__AARCH64EL__) +# define LZO_ABI_BIG_ENDIAN 1 +#elif 1 && (LZO_ARCH_ARM64) && defined(__AARCH64EL__) && !defined(__AARCH64EB__) +# define LZO_ABI_LITTLE_ENDIAN 1 +#elif 1 && (LZO_ARCH_ARM64) && defined(_MSC_VER) && defined(_WIN32) +# define LZO_ABI_LITTLE_ENDIAN 1 +#elif 1 && (LZO_ARCH_MIPS) && defined(__MIPSEB__) && !defined(__MIPSEL__) +# define LZO_ABI_BIG_ENDIAN 1 +#elif 1 && (LZO_ARCH_MIPS) && defined(__MIPSEL__) && !defined(__MIPSEB__) +# define LZO_ABI_LITTLE_ENDIAN 1 +#endif +#endif +#if (LZO_ABI_BIG_ENDIAN) && (LZO_ABI_LITTLE_ENDIAN) +# error "unexpected configuration - check your compiler defines" +#endif +#if (LZO_ABI_BIG_ENDIAN) +# define LZO_INFO_ABI_ENDIAN "be" +#elif (LZO_ABI_LITTLE_ENDIAN) +# define LZO_INFO_ABI_ENDIAN "le" +#elif (LZO_ABI_NEUTRAL_ENDIAN) +# define LZO_INFO_ABI_ENDIAN "neutral" +#endif +#if (LZO_SIZEOF_INT == 1 && LZO_SIZEOF_LONG == 2 && LZO_SIZEOF_VOID_P == 2) +# define LZO_ABI_I8LP16 1 +# define LZO_INFO_ABI_PM "i8lp16" +#elif (LZO_SIZEOF_INT == 2 && LZO_SIZEOF_LONG == 2 && LZO_SIZEOF_VOID_P == 2) +# define LZO_ABI_ILP16 1 +# define LZO_INFO_ABI_PM "ilp16" +#elif (LZO_SIZEOF_INT == 2 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 4) +# define LZO_ABI_LP32 1 +# define LZO_INFO_ABI_PM "lp32" +#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 4) +# define LZO_ABI_ILP32 1 +# define LZO_INFO_ABI_PM "ilp32" +#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 8 && LZO_SIZEOF_SIZE_T == 8) +# define LZO_ABI_LLP64 1 +# define LZO_INFO_ABI_PM "llp64" +#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 8) +# define LZO_ABI_LP64 1 +# define LZO_INFO_ABI_PM "lp64" +#elif (LZO_SIZEOF_INT == 8 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 8) +# define LZO_ABI_ILP64 1 +# define LZO_INFO_ABI_PM "ilp64" +#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 4) +# define LZO_ABI_IP32L64 1 +# define LZO_INFO_ABI_PM "ip32l64" +#endif +#if (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_VOID_P == 4 && LZO_WORDSIZE == 8) +# define LZO_ABI_IP32W64 1 +# ifndef LZO_INFO_ABI_PM +# define LZO_INFO_ABI_PM "ip32w64" +# endif +#endif +#if 0 +#elif !defined(__LZO_LIBC_OVERRIDE) +#if (LZO_LIBC_NAKED) +# define LZO_INFO_LIBC "naked" +#elif (LZO_LIBC_FREESTANDING) +# define LZO_INFO_LIBC "freestanding" +#elif (LZO_LIBC_MOSTLY_FREESTANDING) +# define LZO_INFO_LIBC "mfreestanding" +#elif (LZO_LIBC_ISOC90) +# define LZO_INFO_LIBC "isoc90" +#elif (LZO_LIBC_ISOC99) +# define LZO_INFO_LIBC "isoc99" +#elif (LZO_CC_ARMCC_ARMCC) && defined(__ARMCLIB_VERSION) +# define LZO_LIBC_ISOC90 1 +# define LZO_INFO_LIBC "isoc90" +#elif defined(__dietlibc__) +# define LZO_LIBC_DIETLIBC 1 +# define LZO_INFO_LIBC "dietlibc" +#elif defined(_NEWLIB_VERSION) +# define LZO_LIBC_NEWLIB 1 +# define LZO_INFO_LIBC "newlib" +#elif defined(__UCLIBC__) && defined(__UCLIBC_MAJOR__) && defined(__UCLIBC_MINOR__) +# if defined(__UCLIBC_SUBLEVEL__) +# define LZO_LIBC_UCLIBC (__UCLIBC_MAJOR__ * 0x10000L + (__UCLIBC_MINOR__-0) * 0x100 + (__UCLIBC_SUBLEVEL__-0)) +# else +# define LZO_LIBC_UCLIBC 0x00090bL +# endif +# define LZO_INFO_LIBC "uc" "libc" +#elif defined(__GLIBC__) && defined(__GLIBC_MINOR__) +# define LZO_LIBC_GLIBC (__GLIBC__ * 0x10000L + (__GLIBC_MINOR__-0) * 0x100) +# define LZO_INFO_LIBC "glibc" +#elif (LZO_CC_MWERKS) && defined(__MSL__) +# define LZO_LIBC_MSL __MSL__ +# define LZO_INFO_LIBC "msl" +#elif 1 && defined(__IAR_SYSTEMS_ICC__) +# define LZO_LIBC_ISOC90 1 +# define LZO_INFO_LIBC "isoc90" +#else +# define LZO_LIBC_DEFAULT 1 +# define LZO_INFO_LIBC "default" +#endif +#endif +#if (LZO_ARCH_I386 && (LZO_OS_DOS32 || LZO_OS_WIN32) && (LZO_CC_DMC || LZO_CC_INTELC || LZO_CC_MSC || LZO_CC_PELLESC)) +# define LZO_ASM_SYNTAX_MSC 1 +#elif (LZO_OS_WIN64 && (LZO_CC_DMC || LZO_CC_INTELC || LZO_CC_MSC || LZO_CC_PELLESC)) +#elif (LZO_ARCH_I386 && LZO_CC_GNUC && (LZO_CC_GNUC == 0x011f00ul)) +#elif (LZO_ARCH_I386 && (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_INTELC || LZO_CC_PATHSCALE)) +# define LZO_ASM_SYNTAX_GNUC 1 +#elif (LZO_ARCH_AMD64 && (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_INTELC || LZO_CC_PATHSCALE)) +# define LZO_ASM_SYNTAX_GNUC 1 +#elif (LZO_CC_GNUC) +# define LZO_ASM_SYNTAX_GNUC 1 +#endif +#if (LZO_ASM_SYNTAX_GNUC) +#if (LZO_ARCH_I386 && LZO_CC_GNUC && (LZO_CC_GNUC < 0x020000ul)) +# define __LZO_ASM_CLOBBER "ax" +# define __LZO_ASM_CLOBBER_LIST_CC /*empty*/ +# define __LZO_ASM_CLOBBER_LIST_CC_MEMORY /*empty*/ +# define __LZO_ASM_CLOBBER_LIST_EMPTY /*empty*/ +#elif (LZO_CC_INTELC && (__INTEL_COMPILER < 1000)) +# define __LZO_ASM_CLOBBER "memory" +# define __LZO_ASM_CLOBBER_LIST_CC /*empty*/ +# define __LZO_ASM_CLOBBER_LIST_CC_MEMORY : "memory" +# define __LZO_ASM_CLOBBER_LIST_EMPTY /*empty*/ +#else +# define __LZO_ASM_CLOBBER "cc", "memory" +# define __LZO_ASM_CLOBBER_LIST_CC : "cc" +# define __LZO_ASM_CLOBBER_LIST_CC_MEMORY : "cc", "memory" +# define __LZO_ASM_CLOBBER_LIST_EMPTY /*empty*/ +#endif +#endif +#if (LZO_ARCH_ALPHA) +# define LZO_OPT_AVOID_UINT_INDEX 1 +#elif (LZO_ARCH_AMD64) +# define LZO_OPT_AVOID_INT_INDEX 1 +# define LZO_OPT_AVOID_UINT_INDEX 1 +# ifndef LZO_OPT_UNALIGNED16 +# define LZO_OPT_UNALIGNED16 1 +# endif +# ifndef LZO_OPT_UNALIGNED32 +# define LZO_OPT_UNALIGNED32 1 +# endif +# ifndef LZO_OPT_UNALIGNED64 +# define LZO_OPT_UNALIGNED64 1 +# endif +#elif (LZO_ARCH_ARM) +# if defined(__ARM_FEATURE_UNALIGNED) +# if ((__ARM_FEATURE_UNALIGNED)+0) +# ifndef LZO_OPT_UNALIGNED16 +# define LZO_OPT_UNALIGNED16 1 +# endif +# ifndef LZO_OPT_UNALIGNED32 +# define LZO_OPT_UNALIGNED32 1 +# endif +# endif +# elif 1 && (LZO_ARCH_ARM_THUMB2) +# ifndef LZO_OPT_UNALIGNED16 +# define LZO_OPT_UNALIGNED16 1 +# endif +# ifndef LZO_OPT_UNALIGNED32 +# define LZO_OPT_UNALIGNED32 1 +# endif +# elif 1 && defined(__ARM_ARCH) && ((__ARM_ARCH)+0 >= 7) +# ifndef LZO_OPT_UNALIGNED16 +# define LZO_OPT_UNALIGNED16 1 +# endif +# ifndef LZO_OPT_UNALIGNED32 +# define LZO_OPT_UNALIGNED32 1 +# endif +# elif 1 && defined(__TARGET_ARCH_ARM) && ((__TARGET_ARCH_ARM)+0 >= 7) +# ifndef LZO_OPT_UNALIGNED16 +# define LZO_OPT_UNALIGNED16 1 +# endif +# ifndef LZO_OPT_UNALIGNED32 +# define LZO_OPT_UNALIGNED32 1 +# endif +# elif 1 && defined(__TARGET_ARCH_ARM) && ((__TARGET_ARCH_ARM)+0 >= 6) && (defined(__TARGET_PROFILE_A) || defined(__TARGET_PROFILE_R)) +# ifndef LZO_OPT_UNALIGNED16 +# define LZO_OPT_UNALIGNED16 1 +# endif +# ifndef LZO_OPT_UNALIGNED32 +# define LZO_OPT_UNALIGNED32 1 +# endif +# elif 1 && defined(_MSC_VER) && defined(_M_ARM) && ((_M_ARM)+0 >= 7) +# ifndef LZO_OPT_UNALIGNED16 +# define LZO_OPT_UNALIGNED16 1 +# endif +# ifndef LZO_OPT_UNALIGNED32 +# define LZO_OPT_UNALIGNED32 1 +# endif +# endif +#elif (LZO_ARCH_ARM64) +# ifndef LZO_OPT_UNALIGNED16 +# define LZO_OPT_UNALIGNED16 1 +# endif +# ifndef LZO_OPT_UNALIGNED32 +# define LZO_OPT_UNALIGNED32 1 +# endif +# ifndef LZO_OPT_UNALIGNED64 +# define LZO_OPT_UNALIGNED64 1 +# endif +#elif (LZO_ARCH_CRIS) +# ifndef LZO_OPT_UNALIGNED16 +# define LZO_OPT_UNALIGNED16 1 +# endif +# ifndef LZO_OPT_UNALIGNED32 +# define LZO_OPT_UNALIGNED32 1 +# endif +#elif (LZO_ARCH_I386) +# ifndef LZO_OPT_UNALIGNED16 +# define LZO_OPT_UNALIGNED16 1 +# endif +# ifndef LZO_OPT_UNALIGNED32 +# define LZO_OPT_UNALIGNED32 1 +# endif +#elif (LZO_ARCH_IA64) +# define LZO_OPT_AVOID_INT_INDEX 1 +# define LZO_OPT_AVOID_UINT_INDEX 1 +# define LZO_OPT_PREFER_POSTINC 1 +#elif (LZO_ARCH_M68K) +# define LZO_OPT_PREFER_POSTINC 1 +# define LZO_OPT_PREFER_PREDEC 1 +# if defined(__mc68020__) && !defined(__mcoldfire__) +# ifndef LZO_OPT_UNALIGNED16 +# define LZO_OPT_UNALIGNED16 1 +# endif +# ifndef LZO_OPT_UNALIGNED32 +# define LZO_OPT_UNALIGNED32 1 +# endif +# endif +#elif (LZO_ARCH_MIPS) +# define LZO_OPT_AVOID_UINT_INDEX 1 +#elif (LZO_ARCH_POWERPC) +# define LZO_OPT_PREFER_PREINC 1 +# define LZO_OPT_PREFER_PREDEC 1 +# if (LZO_ABI_BIG_ENDIAN) || (LZO_WORDSIZE == 8) +# ifndef LZO_OPT_UNALIGNED16 +# define LZO_OPT_UNALIGNED16 1 +# endif +# ifndef LZO_OPT_UNALIGNED32 +# define LZO_OPT_UNALIGNED32 1 +# endif +# if (LZO_WORDSIZE == 8) +# ifndef LZO_OPT_UNALIGNED64 +# define LZO_OPT_UNALIGNED64 1 +# endif +# endif +# endif +#elif (LZO_ARCH_RISCV) +# define LZO_OPT_AVOID_UINT_INDEX 1 +# ifndef LZO_OPT_UNALIGNED16 +# define LZO_OPT_UNALIGNED16 1 +# endif +# ifndef LZO_OPT_UNALIGNED32 +# define LZO_OPT_UNALIGNED32 1 +# endif +# if (LZO_WORDSIZE == 8) +# ifndef LZO_OPT_UNALIGNED64 +# define LZO_OPT_UNALIGNED64 1 +# endif +# endif +#elif (LZO_ARCH_S390) +# ifndef LZO_OPT_UNALIGNED16 +# define LZO_OPT_UNALIGNED16 1 +# endif +# ifndef LZO_OPT_UNALIGNED32 +# define LZO_OPT_UNALIGNED32 1 +# endif +# if (LZO_WORDSIZE == 8) +# ifndef LZO_OPT_UNALIGNED64 +# define LZO_OPT_UNALIGNED64 1 +# endif +# endif +#elif (LZO_ARCH_SH) +# define LZO_OPT_PREFER_POSTINC 1 +# define LZO_OPT_PREFER_PREDEC 1 +#endif +#ifndef LZO_CFG_NO_INLINE_ASM +#if (LZO_ABI_NEUTRAL_ENDIAN) || (LZO_ARCH_GENERIC) +# define LZO_CFG_NO_INLINE_ASM 1 +#elif (LZO_CC_LLVM) +# define LZO_CFG_NO_INLINE_ASM 1 +#endif +#endif +#if (LZO_CFG_NO_INLINE_ASM) +# undef LZO_ASM_SYNTAX_MSC +# undef LZO_ASM_SYNTAX_GNUC +# undef __LZO_ASM_CLOBBER +# undef __LZO_ASM_CLOBBER_LIST_CC +# undef __LZO_ASM_CLOBBER_LIST_CC_MEMORY +# undef __LZO_ASM_CLOBBER_LIST_EMPTY +#endif +#ifndef LZO_CFG_NO_UNALIGNED +#if (LZO_ABI_NEUTRAL_ENDIAN) || (LZO_ARCH_GENERIC) +# define LZO_CFG_NO_UNALIGNED 1 +#endif +#endif +#if (LZO_CFG_NO_UNALIGNED) +# undef LZO_OPT_UNALIGNED16 +# undef LZO_OPT_UNALIGNED32 +# undef LZO_OPT_UNALIGNED64 +#endif +#if defined(__LZO_INFOSTR_MM) +#elif (LZO_MM_FLAT) && (defined(__LZO_INFOSTR_PM) || defined(LZO_INFO_ABI_PM)) +# define __LZO_INFOSTR_MM "" +#elif defined(LZO_INFO_MM) +# define __LZO_INFOSTR_MM "." LZO_INFO_MM +#else +# define __LZO_INFOSTR_MM "" +#endif +#if defined(__LZO_INFOSTR_PM) +#elif defined(LZO_INFO_ABI_PM) +# define __LZO_INFOSTR_PM "." LZO_INFO_ABI_PM +#else +# define __LZO_INFOSTR_PM "" +#endif +#if defined(__LZO_INFOSTR_ENDIAN) +#elif defined(LZO_INFO_ABI_ENDIAN) +# define __LZO_INFOSTR_ENDIAN "." LZO_INFO_ABI_ENDIAN +#else +# define __LZO_INFOSTR_ENDIAN "" +#endif +#if defined(__LZO_INFOSTR_OSNAME) +#elif defined(LZO_INFO_OS_CONSOLE) +# define __LZO_INFOSTR_OSNAME LZO_INFO_OS "." LZO_INFO_OS_CONSOLE +#elif defined(LZO_INFO_OS_POSIX) +# define __LZO_INFOSTR_OSNAME LZO_INFO_OS "." LZO_INFO_OS_POSIX +#else +# define __LZO_INFOSTR_OSNAME LZO_INFO_OS +#endif +#if defined(__LZO_INFOSTR_LIBC) +#elif defined(LZO_INFO_LIBC) +# define __LZO_INFOSTR_LIBC "." LZO_INFO_LIBC +#else +# define __LZO_INFOSTR_LIBC "" +#endif +#if defined(__LZO_INFOSTR_CCVER) +#elif defined(LZO_INFO_CCVER) +# define __LZO_INFOSTR_CCVER " " LZO_INFO_CCVER +#else +# define __LZO_INFOSTR_CCVER "" +#endif +#define LZO_INFO_STRING \ + LZO_INFO_ARCH __LZO_INFOSTR_MM __LZO_INFOSTR_PM __LZO_INFOSTR_ENDIAN \ + " " __LZO_INFOSTR_OSNAME __LZO_INFOSTR_LIBC " " LZO_INFO_CC __LZO_INFOSTR_CCVER +#if !(LZO_CFG_SKIP_LZO_TYPES) +#if (!(LZO_SIZEOF_SHORT+0 > 0 && LZO_SIZEOF_INT+0 > 0 && LZO_SIZEOF_LONG+0 > 0)) +# error "missing defines for sizes" +#endif +#if (!(LZO_SIZEOF_PTRDIFF_T+0 > 0 && LZO_SIZEOF_SIZE_T+0 > 0 && LZO_SIZEOF_VOID_P+0 > 0)) +# error "missing defines for sizes" +#endif +#define LZO_TYPEOF_CHAR 1u +#define LZO_TYPEOF_SHORT 2u +#define LZO_TYPEOF_INT 3u +#define LZO_TYPEOF_LONG 4u +#define LZO_TYPEOF_LONG_LONG 5u +#define LZO_TYPEOF___INT8 17u +#define LZO_TYPEOF___INT16 18u +#define LZO_TYPEOF___INT32 19u +#define LZO_TYPEOF___INT64 20u +#define LZO_TYPEOF___INT128 21u +#define LZO_TYPEOF___INT256 22u +#define LZO_TYPEOF___MODE_QI 33u +#define LZO_TYPEOF___MODE_HI 34u +#define LZO_TYPEOF___MODE_SI 35u +#define LZO_TYPEOF___MODE_DI 36u +#define LZO_TYPEOF___MODE_TI 37u +#define LZO_TYPEOF_CHAR_P 129u +#if !defined(lzo_llong_t) +#if (LZO_SIZEOF_LONG_LONG+0 > 0) +# if !(LZO_LANG_ASSEMBLER) + __lzo_gnuc_extension__ typedef long long lzo_llong_t__; + __lzo_gnuc_extension__ typedef unsigned long long lzo_ullong_t__; +# endif +# define lzo_llong_t lzo_llong_t__ +# define lzo_ullong_t lzo_ullong_t__ +#endif +#endif +#if !defined(lzo_int16e_t) +#if (LZO_CFG_PREFER_TYPEOF_ACC_INT16E_T == LZO_TYPEOF_SHORT) && (LZO_SIZEOF_SHORT != 2) +# undef LZO_CFG_PREFER_TYPEOF_ACC_INT16E_T +#endif +#if (LZO_SIZEOF_LONG == 2) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT16E_T == LZO_TYPEOF_SHORT) +# define lzo_int16e_t long +# define lzo_uint16e_t unsigned long +# define LZO_TYPEOF_LZO_INT16E_T LZO_TYPEOF_LONG +#elif (LZO_SIZEOF_INT == 2) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT16E_T == LZO_TYPEOF_SHORT) +# define lzo_int16e_t int +# define lzo_uint16e_t unsigned int +# define LZO_TYPEOF_LZO_INT16E_T LZO_TYPEOF_INT +#elif (LZO_SIZEOF_SHORT == 2) +# define lzo_int16e_t short int +# define lzo_uint16e_t unsigned short int +# define LZO_TYPEOF_LZO_INT16E_T LZO_TYPEOF_SHORT +#elif 1 && !(LZO_CFG_TYPE_NO_MODE_HI) && (LZO_CC_CLANG || (LZO_CC_GNUC >= 0x025f00ul) || LZO_CC_LLVM) +# if !(LZO_LANG_ASSEMBLER) + typedef int lzo_int16e_hi_t__ __attribute__((__mode__(__HI__))); + typedef unsigned int lzo_uint16e_hi_t__ __attribute__((__mode__(__HI__))); +# endif +# define lzo_int16e_t lzo_int16e_hi_t__ +# define lzo_uint16e_t lzo_uint16e_hi_t__ +# define LZO_TYPEOF_LZO_INT16E_T LZO_TYPEOF___MODE_HI +#elif (LZO_SIZEOF___INT16 == 2) +# define lzo_int16e_t __int16 +# define lzo_uint16e_t unsigned __int16 +# define LZO_TYPEOF_LZO_INT16E_T LZO_TYPEOF___INT16 +#else +#endif +#endif +#if defined(lzo_int16e_t) +# define LZO_SIZEOF_LZO_INT16E_T 2 + LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int16e_t) == 2) + LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int16e_t) == LZO_SIZEOF_LZO_INT16E_T) +#endif +#if !defined(lzo_int32e_t) +#if (LZO_CFG_PREFER_TYPEOF_ACC_INT32E_T == LZO_TYPEOF_INT) && (LZO_SIZEOF_INT != 4) +# undef LZO_CFG_PREFER_TYPEOF_ACC_INT32E_T +#endif +#if (LZO_SIZEOF_LONG == 4) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT32E_T == LZO_TYPEOF_INT) +# define lzo_int32e_t long int +# define lzo_uint32e_t unsigned long int +# define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF_LONG +#elif (LZO_SIZEOF_INT == 4) +# define lzo_int32e_t int +# define lzo_uint32e_t unsigned int +# define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF_INT +#elif (LZO_SIZEOF_SHORT == 4) +# define lzo_int32e_t short int +# define lzo_uint32e_t unsigned short int +# define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF_SHORT +#elif (LZO_SIZEOF_LONG_LONG == 4) +# define lzo_int32e_t lzo_llong_t +# define lzo_uint32e_t lzo_ullong_t +# define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF_LONG_LONG +#elif 1 && !(LZO_CFG_TYPE_NO_MODE_SI) && (LZO_CC_CLANG || (LZO_CC_GNUC >= 0x025f00ul) || LZO_CC_LLVM) && (__INT_MAX__+0 > 2147483647L) +# if !(LZO_LANG_ASSEMBLER) + typedef int lzo_int32e_si_t__ __attribute__((__mode__(__SI__))); + typedef unsigned int lzo_uint32e_si_t__ __attribute__((__mode__(__SI__))); +# endif +# define lzo_int32e_t lzo_int32e_si_t__ +# define lzo_uint32e_t lzo_uint32e_si_t__ +# define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF___MODE_SI +#elif 1 && !(LZO_CFG_TYPE_NO_MODE_SI) && (LZO_CC_GNUC >= 0x025f00ul) && defined(__AVR__) && (__LONG_MAX__+0 == 32767L) +# if !(LZO_LANG_ASSEMBLER) + typedef int lzo_int32e_si_t__ __attribute__((__mode__(__SI__))); + typedef unsigned int lzo_uint32e_si_t__ __attribute__((__mode__(__SI__))); +# endif +# define lzo_int32e_t lzo_int32e_si_t__ +# define lzo_uint32e_t lzo_uint32e_si_t__ +# define LZO_INT32_C(c) (c##LL) +# define LZO_UINT32_C(c) (c##ULL) +# define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF___MODE_SI +#elif (LZO_SIZEOF___INT32 == 4) +# define lzo_int32e_t __int32 +# define lzo_uint32e_t unsigned __int32 +# define LZO_TYPEOF_LZO_INT32E_T LZO_TYPEOF___INT32 +#else +#endif +#endif +#if defined(lzo_int32e_t) +# define LZO_SIZEOF_LZO_INT32E_T 4 + LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32e_t) == 4) + LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32e_t) == LZO_SIZEOF_LZO_INT32E_T) +#endif +#if !defined(lzo_int64e_t) +#if (LZO_SIZEOF___INT64 == 8) +# if (LZO_CC_BORLANDC) && !defined(LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T) +# define LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T LZO_TYPEOF___INT64 +# endif +#endif +#if (LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T == LZO_TYPEOF_LONG_LONG) && (LZO_SIZEOF_LONG_LONG != 8) +# undef LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T +#endif +#if (LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T == LZO_TYPEOF___INT64) && (LZO_SIZEOF___INT64 != 8) +# undef LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T +#endif +#if (LZO_SIZEOF_INT == 8) && (LZO_SIZEOF_INT < LZO_SIZEOF_LONG) +# define lzo_int64e_t int +# define lzo_uint64e_t unsigned int +# define LZO_TYPEOF_LZO_INT64E_T LZO_TYPEOF_INT +#elif (LZO_SIZEOF_LONG == 8) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T == LZO_TYPEOF_LONG_LONG) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T == LZO_TYPEOF___INT64) +# define lzo_int64e_t long int +# define lzo_uint64e_t unsigned long int +# define LZO_TYPEOF_LZO_INT64E_T LZO_TYPEOF_LONG +#elif (LZO_SIZEOF_LONG_LONG == 8) && !(LZO_CFG_PREFER_TYPEOF_ACC_INT64E_T == LZO_TYPEOF___INT64) +# define lzo_int64e_t lzo_llong_t +# define lzo_uint64e_t lzo_ullong_t +# define LZO_TYPEOF_LZO_INT64E_T LZO_TYPEOF_LONG_LONG +# if (LZO_CC_BORLANDC) +# define LZO_INT64_C(c) ((c) + 0ll) +# define LZO_UINT64_C(c) ((c) + 0ull) +# elif 0 +# define LZO_INT64_C(c) (__lzo_gnuc_extension__ (c##LL)) +# define LZO_UINT64_C(c) (__lzo_gnuc_extension__ (c##ULL)) +# else +# define LZO_INT64_C(c) (c##LL) +# define LZO_UINT64_C(c) (c##ULL) +# endif +#elif (LZO_SIZEOF___INT64 == 8) +# define lzo_int64e_t __int64 +# define lzo_uint64e_t unsigned __int64 +# define LZO_TYPEOF_LZO_INT64E_T LZO_TYPEOF___INT64 +# if (LZO_CC_BORLANDC) +# define LZO_INT64_C(c) ((c) + 0i64) +# define LZO_UINT64_C(c) ((c) + 0ui64) +# else +# define LZO_INT64_C(c) (c##i64) +# define LZO_UINT64_C(c) (c##ui64) +# endif +#else +#endif +#endif +#if defined(lzo_int64e_t) +# define LZO_SIZEOF_LZO_INT64E_T 8 + LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64e_t) == 8) + LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64e_t) == LZO_SIZEOF_LZO_INT64E_T) +#endif +#if !defined(lzo_int32l_t) +#if defined(lzo_int32e_t) +# define lzo_int32l_t lzo_int32e_t +# define lzo_uint32l_t lzo_uint32e_t +# define LZO_SIZEOF_LZO_INT32L_T LZO_SIZEOF_LZO_INT32E_T +# define LZO_TYPEOF_LZO_INT32L_T LZO_TYPEOF_LZO_INT32E_T +#elif (LZO_SIZEOF_INT >= 4) && (LZO_SIZEOF_INT < LZO_SIZEOF_LONG) +# define lzo_int32l_t int +# define lzo_uint32l_t unsigned int +# define LZO_SIZEOF_LZO_INT32L_T LZO_SIZEOF_INT +# define LZO_TYPEOF_LZO_INT32L_T LZO_SIZEOF_INT +#elif (LZO_SIZEOF_LONG >= 4) +# define lzo_int32l_t long int +# define lzo_uint32l_t unsigned long int +# define LZO_SIZEOF_LZO_INT32L_T LZO_SIZEOF_LONG +# define LZO_TYPEOF_LZO_INT32L_T LZO_SIZEOF_LONG +#else +# error "lzo_int32l_t" +#endif +#endif +#if 1 + LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32l_t) >= 4) + LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32l_t) == LZO_SIZEOF_LZO_INT32L_T) +#endif +#if !defined(lzo_int64l_t) +#if defined(lzo_int64e_t) +# define lzo_int64l_t lzo_int64e_t +# define lzo_uint64l_t lzo_uint64e_t +# define LZO_SIZEOF_LZO_INT64L_T LZO_SIZEOF_LZO_INT64E_T +# define LZO_TYPEOF_LZO_INT64L_T LZO_TYPEOF_LZO_INT64E_T +#else +#endif +#endif +#if defined(lzo_int64l_t) + LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64l_t) >= 8) + LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64l_t) == LZO_SIZEOF_LZO_INT64L_T) +#endif +#if !defined(lzo_int32f_t) +#if (LZO_SIZEOF_SIZE_T >= 8) +# define lzo_int32f_t lzo_int64l_t +# define lzo_uint32f_t lzo_uint64l_t +# define LZO_SIZEOF_LZO_INT32F_T LZO_SIZEOF_LZO_INT64L_T +# define LZO_TYPEOF_LZO_INT32F_T LZO_TYPEOF_LZO_INT64L_T +#else +# define lzo_int32f_t lzo_int32l_t +# define lzo_uint32f_t lzo_uint32l_t +# define LZO_SIZEOF_LZO_INT32F_T LZO_SIZEOF_LZO_INT32L_T +# define LZO_TYPEOF_LZO_INT32F_T LZO_TYPEOF_LZO_INT32L_T +#endif +#endif +#if 1 + LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32f_t) >= 4) + LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32f_t) == LZO_SIZEOF_LZO_INT32F_T) +#endif +#if !defined(lzo_int64f_t) +#if defined(lzo_int64l_t) +# define lzo_int64f_t lzo_int64l_t +# define lzo_uint64f_t lzo_uint64l_t +# define LZO_SIZEOF_LZO_INT64F_T LZO_SIZEOF_LZO_INT64L_T +# define LZO_TYPEOF_LZO_INT64F_T LZO_TYPEOF_LZO_INT64L_T +#else +#endif +#endif +#if defined(lzo_int64f_t) + LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64f_t) >= 8) + LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64f_t) == LZO_SIZEOF_LZO_INT64F_T) +#endif +#if !defined(lzo_intptr_t) +#if 1 && (LZO_OS_OS400 && (LZO_SIZEOF_VOID_P == 16)) +# define __LZO_INTPTR_T_IS_POINTER 1 +# if !(LZO_LANG_ASSEMBLER) + typedef char * lzo_intptr_t; + typedef char * lzo_uintptr_t; +# endif +# define lzo_intptr_t lzo_intptr_t +# define lzo_uintptr_t lzo_uintptr_t +# define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_VOID_P +# define LZO_TYPEOF_LZO_INTPTR_T LZO_TYPEOF_CHAR_P +#elif (LZO_CC_MSC && (_MSC_VER >= 1300) && (LZO_SIZEOF_VOID_P == 4) && (LZO_SIZEOF_INT == 4)) +# if !(LZO_LANG_ASSEMBLER) + typedef __w64 int lzo_intptr_t; + typedef __w64 unsigned int lzo_uintptr_t; +# endif +# define lzo_intptr_t lzo_intptr_t +# define lzo_uintptr_t lzo_uintptr_t +# define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_INT +# define LZO_TYPEOF_LZO_INTPTR_T LZO_TYPEOF_INT +#elif (LZO_SIZEOF_SHORT == LZO_SIZEOF_VOID_P) && (LZO_SIZEOF_INT > LZO_SIZEOF_VOID_P) +# define lzo_intptr_t short +# define lzo_uintptr_t unsigned short +# define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_SHORT +# define LZO_TYPEOF_LZO_INTPTR_T LZO_TYPEOF_SHORT +#elif (LZO_SIZEOF_INT >= LZO_SIZEOF_VOID_P) && (LZO_SIZEOF_INT < LZO_SIZEOF_LONG) +# define lzo_intptr_t int +# define lzo_uintptr_t unsigned int +# define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_INT +# define LZO_TYPEOF_LZO_INTPTR_T LZO_TYPEOF_INT +#elif (LZO_SIZEOF_LONG >= LZO_SIZEOF_VOID_P) +# define lzo_intptr_t long +# define lzo_uintptr_t unsigned long +# define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_LONG +# define LZO_TYPEOF_LZO_INTPTR_T LZO_TYPEOF_LONG +#elif (LZO_SIZEOF_LZO_INT64L_T >= LZO_SIZEOF_VOID_P) +# define lzo_intptr_t lzo_int64l_t +# define lzo_uintptr_t lzo_uint64l_t +# define LZO_SIZEOF_LZO_INTPTR_T LZO_SIZEOF_LZO_INT64L_T +# define LZO_TYPEOF_LZO_INTPTR_T LZO_TYPEOF_LZO_INT64L_T +#else +# error "lzo_intptr_t" +#endif +#endif +#if 1 + LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_intptr_t) >= sizeof(void *)) + LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_intptr_t) == sizeof(lzo_uintptr_t)) +#endif +#if !defined(lzo_word_t) +#if defined(LZO_WORDSIZE) && (LZO_WORDSIZE+0 > 0) +#if (LZO_WORDSIZE == LZO_SIZEOF_LZO_INTPTR_T) && !(__LZO_INTPTR_T_IS_POINTER) +# define lzo_word_t lzo_uintptr_t +# define lzo_sword_t lzo_intptr_t +# define LZO_SIZEOF_LZO_WORD_T LZO_SIZEOF_LZO_INTPTR_T +# define LZO_TYPEOF_LZO_WORD_T LZO_TYPEOF_LZO_INTPTR_T +#elif (LZO_WORDSIZE == LZO_SIZEOF_LONG) +# define lzo_word_t unsigned long +# define lzo_sword_t long +# define LZO_SIZEOF_LZO_WORD_T LZO_SIZEOF_LONG +# define LZO_TYPEOF_LZO_WORD_T LZO_TYPEOF_LONG +#elif (LZO_WORDSIZE == LZO_SIZEOF_INT) +# define lzo_word_t unsigned int +# define lzo_sword_t int +# define LZO_SIZEOF_LZO_WORD_T LZO_SIZEOF_INT +# define LZO_TYPEOF_LZO_WORD_T LZO_TYPEOF_INT +#elif (LZO_WORDSIZE == LZO_SIZEOF_SHORT) +# define lzo_word_t unsigned short +# define lzo_sword_t short +# define LZO_SIZEOF_LZO_WORD_T LZO_SIZEOF_SHORT +# define LZO_TYPEOF_LZO_WORD_T LZO_TYPEOF_SHORT +#elif (LZO_WORDSIZE == 1) +# define lzo_word_t unsigned char +# define lzo_sword_t signed char +# define LZO_SIZEOF_LZO_WORD_T 1 +# define LZO_TYPEOF_LZO_WORD_T LZO_TYPEOF_CHAR +#elif (LZO_WORDSIZE == LZO_SIZEOF_LZO_INT64L_T) +# define lzo_word_t lzo_uint64l_t +# define lzo_sword_t lzo_int64l_t +# define LZO_SIZEOF_LZO_WORD_T LZO_SIZEOF_LZO_INT64L_T +# define LZO_TYPEOF_LZO_WORD_T LZO_SIZEOF_LZO_INT64L_T +#elif (LZO_ARCH_SPU) && (LZO_CC_GNUC) +#if 0 +# if !(LZO_LANG_ASSEMBLER) + typedef unsigned lzo_word_t __attribute__((__mode__(__V16QI__))); + typedef int lzo_sword_t __attribute__((__mode__(__V16QI__))); +# endif +# define lzo_word_t lzo_word_t +# define lzo_sword_t lzo_sword_t +# define LZO_SIZEOF_LZO_WORD_T 16 +# define LZO_TYPEOF_LZO_WORD_T LZO_TYPEOF___MODE_V16QI +#endif +#else +# error "lzo_word_t" +#endif +#endif +#endif +#if 1 && defined(lzo_word_t) + LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_word_t) == LZO_WORDSIZE) + LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_sword_t) == LZO_WORDSIZE) +#endif +#if 1 +#define lzo_int8_t signed char +#define lzo_uint8_t unsigned char +#define LZO_SIZEOF_LZO_INT8_T 1 +#define LZO_TYPEOF_LZO_INT8_T LZO_TYPEOF_CHAR +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int8_t) == 1) +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int8_t) == sizeof(lzo_uint8_t)) +#endif +#if defined(lzo_int16e_t) +#define lzo_int16_t lzo_int16e_t +#define lzo_uint16_t lzo_uint16e_t +#define LZO_SIZEOF_LZO_INT16_T LZO_SIZEOF_LZO_INT16E_T +#define LZO_TYPEOF_LZO_INT16_T LZO_TYPEOF_LZO_INT16E_T +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int16_t) == 2) +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int16_t) == sizeof(lzo_uint16_t)) +#endif +#if defined(lzo_int32e_t) +#define lzo_int32_t lzo_int32e_t +#define lzo_uint32_t lzo_uint32e_t +#define LZO_SIZEOF_LZO_INT32_T LZO_SIZEOF_LZO_INT32E_T +#define LZO_TYPEOF_LZO_INT32_T LZO_TYPEOF_LZO_INT32E_T +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32_t) == 4) +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int32_t) == sizeof(lzo_uint32_t)) +#endif +#if defined(lzo_int64e_t) +#define lzo_int64_t lzo_int64e_t +#define lzo_uint64_t lzo_uint64e_t +#define LZO_SIZEOF_LZO_INT64_T LZO_SIZEOF_LZO_INT64E_T +#define LZO_TYPEOF_LZO_INT64_T LZO_TYPEOF_LZO_INT64E_T +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64_t) == 8) +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int64_t) == sizeof(lzo_uint64_t)) +#endif +#if 1 +#define lzo_int_least32_t lzo_int32l_t +#define lzo_uint_least32_t lzo_uint32l_t +#define LZO_SIZEOF_LZO_INT_LEAST32_T LZO_SIZEOF_LZO_INT32L_T +#define LZO_TYPEOF_LZO_INT_LEAST32_T LZO_TYPEOF_LZO_INT32L_T +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_least32_t) >= 4) +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_least32_t) == sizeof(lzo_uint_least32_t)) +#endif +#if defined(lzo_int64l_t) +#define lzo_int_least64_t lzo_int64l_t +#define lzo_uint_least64_t lzo_uint64l_t +#define LZO_SIZEOF_LZO_INT_LEAST64_T LZO_SIZEOF_LZO_INT64L_T +#define LZO_TYPEOF_LZO_INT_LEAST64_T LZO_TYPEOF_LZO_INT64L_T +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_least64_t) >= 8) +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_least64_t) == sizeof(lzo_uint_least64_t)) +#endif +#if 1 +#define lzo_int_fast32_t lzo_int32f_t +#define lzo_uint_fast32_t lzo_uint32f_t +#define LZO_SIZEOF_LZO_INT_FAST32_T LZO_SIZEOF_LZO_INT32F_T +#define LZO_TYPEOF_LZO_INT_FAST32_T LZO_TYPEOF_LZO_INT32F_T +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_fast32_t) >= 4) +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_fast32_t) == sizeof(lzo_uint_fast32_t)) +#endif +#if defined(lzo_int64f_t) +#define lzo_int_fast64_t lzo_int64f_t +#define lzo_uint_fast64_t lzo_uint64f_t +#define LZO_SIZEOF_LZO_INT_FAST64_T LZO_SIZEOF_LZO_INT64F_T +#define LZO_TYPEOF_LZO_INT_FAST64_T LZO_TYPEOF_LZO_INT64F_T +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_fast64_t) >= 8) +LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_int_fast64_t) == sizeof(lzo_uint_fast64_t)) +#endif +#if !defined(LZO_INT16_C) +# if (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_INT >= 2) +# define LZO_INT16_C(c) ((c) + 0) +# define LZO_UINT16_C(c) ((c) + 0U) +# elif (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_LONG >= 2) +# define LZO_INT16_C(c) ((c) + 0L) +# define LZO_UINT16_C(c) ((c) + 0UL) +# elif (LZO_SIZEOF_INT >= 2) +# define LZO_INT16_C(c) (c) +# define LZO_UINT16_C(c) (c##U) +# elif (LZO_SIZEOF_LONG >= 2) +# define LZO_INT16_C(c) (c##L) +# define LZO_UINT16_C(c) (c##UL) +# else +# error "LZO_INT16_C" +# endif +#endif +#if !defined(LZO_INT32_C) +# if (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_INT >= 4) +# define LZO_INT32_C(c) ((c) + 0) +# define LZO_UINT32_C(c) ((c) + 0U) +# elif (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_LONG >= 4) +# define LZO_INT32_C(c) ((c) + 0L) +# define LZO_UINT32_C(c) ((c) + 0UL) +# elif (LZO_SIZEOF_INT >= 4) +# define LZO_INT32_C(c) (c) +# define LZO_UINT32_C(c) (c##U) +# elif (LZO_SIZEOF_LONG >= 4) +# define LZO_INT32_C(c) (c##L) +# define LZO_UINT32_C(c) (c##UL) +# elif (LZO_SIZEOF_LONG_LONG >= 4) +# define LZO_INT32_C(c) (c##LL) +# define LZO_UINT32_C(c) (c##ULL) +# else +# error "LZO_INT32_C" +# endif +#endif +#if !defined(LZO_INT64_C) && defined(lzo_int64l_t) +# if (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_INT >= 8) +# define LZO_INT64_C(c) ((c) + 0) +# define LZO_UINT64_C(c) ((c) + 0U) +# elif (LZO_BROKEN_INTEGRAL_CONSTANTS) && (LZO_SIZEOF_LONG >= 8) +# define LZO_INT64_C(c) ((c) + 0L) +# define LZO_UINT64_C(c) ((c) + 0UL) +# elif (LZO_SIZEOF_INT >= 8) +# define LZO_INT64_C(c) (c) +# define LZO_UINT64_C(c) (c##U) +# elif (LZO_SIZEOF_LONG >= 8) +# define LZO_INT64_C(c) (c##L) +# define LZO_UINT64_C(c) (c##UL) +# else +# error "LZO_INT64_C" +# endif +#endif +#endif + +#endif /* already included */ + +/* vim:set ts=4 sw=4 et: */ diff --git a/tools/z64compress/src/enc/stretchy_buffer.h b/tools/z64compress/src/enc/stretchy_buffer.h new file mode 100644 index 0000000000..cbd48a3003 --- /dev/null +++ b/tools/z64compress/src/enc/stretchy_buffer.h @@ -0,0 +1,262 @@ +// stretchy_buffer.h - v1.03 - public domain - nothings.org/stb +// a vector<>-like dynamic array for C +// +// version history: +// 1.03 - compile as C++ maybe +// 1.02 - tweaks to syntax for no good reason +// 1.01 - added a "common uses" documentation section +// 1.0 - fixed bug in the version I posted prematurely +// 0.9 - rewrite to try to avoid strict-aliasing optimization +// issues, but won't compile as C++ +// +// Will probably not work correctly with strict-aliasing optimizations. +// +// The idea: +// +// This implements an approximation to C++ vector<> for C, in that it +// provides a generic definition for dynamic arrays which you can +// still access in a typesafe way using arr[i] or *(arr+i). However, +// it is simply a convenience wrapper around the common idiom of +// of keeping a set of variables (in a struct or globals) which store +// - pointer to array +// - the length of the "in-use" part of the array +// - the current size of the allocated array +// +// I find it to be the single most useful non-built-in-structure when +// programming in C (hash tables a close second), but to be clear +// it lacks many of the capabilities of C++ vector<>: there is no +// range checking, the object address isn't stable (see next section +// for details), the set of methods available is small (although +// the file stb.h has another implementation of stretchy buffers +// called 'stb_arr' which provides more methods, e.g. for insertion +// and deletion). +// +// How to use: +// +// Unlike other stb header file libraries, there is no need to +// define an _IMPLEMENTATION symbol. Every #include creates as +// much implementation is needed. +// +// stretchy_buffer.h does not define any types, so you do not +// need to #include it to before defining data types that are +// stretchy buffers, only in files that *manipulate* stretchy +// buffers. +// +// If you want a stretchy buffer aka dynamic array containing +// objects of TYPE, declare such an array as: +// +// TYPE *myarray = NULL; +// +// (There is no typesafe way to distinguish between stretchy +// buffers and regular arrays/pointers; this is necessary to +// make ordinary array indexing work on these objects.) +// +// Unlike C++ vector<>, the stretchy_buffer has the same +// semantics as an object that you manually malloc and realloc. +// The pointer may relocate every time you add a new object +// to it, so you: +// +// 1. can't take long-term pointers to elements of the array +// 2. have to return the pointer from functions which might expand it +// (either as a return value or by storing it to a ptr-to-ptr) +// +// Now you can do the following things with this array: +// +// sb_free(TYPE *a) free the array +// sb_count(TYPE *a) the number of elements in the array +// sb_push(TYPE *a, TYPE v) adds v on the end of the array, a la push_back +// sb_add(TYPE *a, int n) adds n uninitialized elements at end of array & returns pointer to first added +// sb_last(TYPE *a) returns an lvalue of the last item in the array +// a[n] access the nth (counting from 0) element of the array +// +// #define STRETCHY_BUFFER_NO_SHORT_NAMES to only export +// names of the form 'stb_sb_' if you have a name that would +// otherwise collide. +// +// Note that these are all macros and many of them evaluate +// their arguments more than once, so the arguments should +// be side-effect-free. +// +// Note that 'TYPE *a' in sb_push and sb_add must be lvalues +// so that the library can overwrite the existing pointer if +// the object has to be reallocated. +// +// In an out-of-memory condition, the code will try to +// set up a null-pointer or otherwise-invalid-pointer +// exception to happen later. It's possible optimizing +// compilers could detect this write-to-null statically +// and optimize away some of the code, but it should only +// be along the failure path. Nevertheless, for more security +// in the face of such compilers, #define STRETCHY_BUFFER_OUT_OF_MEMORY +// to a statement such as assert(0) or exit(1) or something +// to force a failure when out-of-memory occurs. +// +// Common use: +// +// The main application for this is when building a list of +// things with an unknown quantity, either due to loading from +// a file or through a process which produces an unpredictable +// number. +// +// My most common idiom is something like: +// +// SomeStruct *arr = NULL; +// while (something) +// { +// SomeStruct new_one; +// new_one.whatever = whatever; +// new_one.whatup = whatup; +// new_one.foobar = barfoo; +// sb_push(arr, new_one); +// } +// +// and various closely-related factorings of that. For example, +// you might have several functions to create/init new SomeStructs, +// and if you use the above idiom, you might prefer to make them +// return structs rather than take non-const-pointers-to-structs, +// so you can do things like: +// +// SomeStruct *arr = NULL; +// while (something) +// { +// if (case_A) { +// sb_push(arr, some_func1()); +// } else if (case_B) { +// sb_push(arr, some_func2()); +// } else { +// sb_push(arr, some_func3()); +// } +// } +// +// Note that the above relies on the fact that sb_push doesn't +// evaluate its second argument more than once. The macros do +// evaluate the *array* argument multiple times, and numeric +// arguments may be evaluated multiple times, but you can rely +// on the second argument of sb_push being evaluated only once. +// +// Of course, you don't have to store bare objects in the array; +// if you need the objects to have stable pointers, store an array +// of pointers instead: +// +// SomeStruct **arr = NULL; +// while (something) +// { +// SomeStruct *new_one = malloc(sizeof(*new_one)); +// new_one->whatever = whatever; +// new_one->whatup = whatup; +// new_one->foobar = barfoo; +// sb_push(arr, new_one); +// } +// +// How it works: +// +// A long-standing tradition in things like malloc implementations +// is to store extra data before the beginning of the block returned +// to the user. The stretchy buffer implementation here uses the +// same trick; the current-count and current-allocation-size are +// stored before the beginning of the array returned to the user. +// (This means you can't directly free() the pointer, because the +// allocated pointer is different from the type-safe pointer provided +// to the user.) +// +// The details are trivial and implementation is straightforward; +// the main trick is in realizing in the first place that it's +// possible to do this in a generic, type-safe way in C. +// +// Contributors: +// +// Timothy Wright (github:ZenToad) +// +// LICENSE +// +// See end of file for license information. + +#ifndef STB_STRETCHY_BUFFER_H_INCLUDED +#define STB_STRETCHY_BUFFER_H_INCLUDED + +#ifndef NO_STRETCHY_BUFFER_SHORT_NAMES +#define sb_free stb_sb_free +#define sb_push stb_sb_push +#define sb_count stb_sb_count +#define sb_add stb_sb_add +#define sb_last stb_sb_last +#endif + +#define stb_sb_free(a) ((a) ? free(stb__sbraw(a)),0 : 0) +#define stb_sb_push(a,v) (stb__sbmaybegrow(a,1), (a)[stb__sbn(a)++] = (v)) +#define stb_sb_count(a) ((a) ? stb__sbn(a) : 0) +#define stb_sb_add(a,n) (stb__sbmaybegrow(a,n), stb__sbn(a)+=(n), &(a)[stb__sbn(a)-(n)]) +#define stb_sb_last(a) ((a)[stb__sbn(a)-1]) + +#define stb__sbraw(a) ((int *) (a) - 2) +#define stb__sbm(a) stb__sbraw(a)[0] +#define stb__sbn(a) stb__sbraw(a)[1] + +#define stb__sbneedgrow(a,n) ((a)==0 || stb__sbn(a)+(n) >= stb__sbm(a)) +#define stb__sbmaybegrow(a,n) (stb__sbneedgrow(a,(n)) ? stb__sbgrow(a,n) : 0) +#define stb__sbgrow(a,n) (*((void **)&(a)) = stb__sbgrowf((a), (n), sizeof(*(a)))) + +#include + +static void * stb__sbgrowf(void *arr, int increment, int itemsize) +{ + int dbl_cur = arr ? 2*stb__sbm(arr) : 0; + int min_needed = stb_sb_count(arr) + increment; + int m = dbl_cur > min_needed ? dbl_cur : min_needed; + int *p = (int *) realloc(arr ? stb__sbraw(arr) : 0, itemsize * m + sizeof(int)*2); + if (p) { + if (!arr) + p[1] = 0; + p[0] = m; + return p+2; + } else { + #ifdef STRETCHY_BUFFER_OUT_OF_MEMORY + STRETCHY_BUFFER_OUT_OF_MEMORY ; + #endif + return (void *) (2*sizeof(int)); // try to force a NULL pointer exception later + } +} +#endif // STB_STRETCHY_BUFFER_H_INCLUDED + + +/* +------------------------------------------------------------------------------ +This software is available under 2 licenses -- choose whichever you prefer. +------------------------------------------------------------------------------ +ALTERNATIVE A - MIT License +Copyright (c) 2017 Sean Barrett +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +------------------------------------------------------------------------------ +ALTERNATIVE B - Public Domain (www.unlicense.org) +This is free and unencumbered software released into the public domain. +Anyone is free to copy, modify, publish, use, compile, sell, or distribute this +software, either in source code form or as a compiled binary, for any purpose, +commercial or non-commercial, and by any means. +In jurisdictions that recognize copyright laws, the author or authors of this +software dedicate any and all copyright interest in the software to the public +domain. We make this dedication for the benefit of the public at large and to +the detriment of our heirs and successors. We intend this dedication to be an +overt act of relinquishment in perpetuity of all present and future rights to +this software under copyright law. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------------------ +*/ diff --git a/tools/z64compress/src/enc/ucl.c b/tools/z64compress/src/enc/ucl.c new file mode 100644 index 0000000000..59b6936add --- /dev/null +++ b/tools/z64compress/src/enc/ucl.c @@ -0,0 +1,50 @@ +#include +#include +#include +#include "ucl/ucl.h" + +int +uclenc( + void *_src + , unsigned src_sz + , void *_dst + , unsigned *dst_sz + , void *_ctx +) +{ + unsigned char *src = _src; + unsigned char *dst = _dst; + int r; + int level = 10; + ucl_uint result_sz; + + int hlen = 8; /* header length; required due to MM's archives */ + memset(dst, 0, hlen); + memcpy(dst, "UCL0", 4); + dst[4] = (src_sz >> 24); + dst[5] = (src_sz >> 16); + dst[6] = (src_sz >> 8); + dst[7] = (src_sz >> 0); + + r = ucl_nrv2b_99_compress( + src /* in */ + , src_sz /* in size */ + , dst + hlen /* out */ + , &result_sz /* out size */ + , NULL /* callback */ + , level /* level */ + , NULL /* conf */ + , NULL /* result */ + ); + + if (r != UCL_E_OK) + { + fprintf(stderr, "[!] fatal compression error %d\n", r); + exit(EXIT_FAILURE); + } + + *dst_sz = result_sz + hlen; + + return 0; +} + diff --git a/tools/z64compress/src/enc/ucl/comp/n2_99.ch b/tools/z64compress/src/enc/ucl/comp/n2_99.ch new file mode 100644 index 0000000000..06c5c64671 --- /dev/null +++ b/tools/z64compress/src/enc/ucl/comp/n2_99.ch @@ -0,0 +1,651 @@ +/* n2_99.ch -- implementation of the NRV2[BDE]-99 compression algorithms + + This file is part of the UCL data compression library. + + Copyright (C) 1996-2004 Markus Franz Xaver Johannes Oberhumer + All Rights Reserved. + + The UCL library is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + The UCL library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with the UCL library; see the file COPYING. + If not, write to the Free Software Foundation, Inc., + 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + Markus F.X.J. Oberhumer + + http://www.oberhumer.com/opensource/ucl/ + */ + + + +#define HAVE_MEMCMP 1 +#define HAVE_MEMCPY 1 +#define HAVE_MEMMOVE 1 +#define HAVE_MEMSET 1 + + +#include "../ucl_conf.h" +#include "../ucl.h" + +#include +#include +#include +#include + + +/*********************************************************************** +// +************************************************************************/ + +#define SWD_USE_MALLOC 1 +#if (ACC_OS_DOS16) +#define SWD_HMASK (s->hmask) +#define HEAD2_VAR +#define IF_HEAD2(s) if (s->use_head2) +#else +#define SWD_HMASK (UCL_UINT32_C(65535)) +#define IF_HEAD2(s) +#endif +#define SWD_N (8*1024*1024ul) /* max. size of ring buffer */ +#define SWD_F 2048 /* upper limit for match length */ +#define SWD_THRESHOLD 1 /* lower limit for match length */ + +#if defined(NRV2B) +# define UCL_COMPRESS_T ucl_nrv2b_t +# define ucl_swd_t ucl_nrv2b_swd_t +# define ucl_nrv_99_compress ucl_nrv2b_99_compress +# define M2_MAX_OFFSET 0xd00 +#elif defined(NRV2D) +# define UCL_COMPRESS_T ucl_nrv2d_t +# define ucl_swd_t ucl_nrv2d_swd_t +# define ucl_nrv_99_compress ucl_nrv2d_99_compress +# define M2_MAX_OFFSET 0x500 +#elif defined(NRV2E) +# define UCL_COMPRESS_T ucl_nrv2e_t +# define ucl_swd_t ucl_nrv2e_swd_t +# define ucl_nrv_99_compress ucl_nrv2e_99_compress +# define M2_MAX_OFFSET 0x500 +#else +# error +#endif +#define ucl_swd_p ucl_swd_t * __UCL_MMODEL + +#include "ucl_mchw.ch" + + +/*********************************************************************** +// start-step-stop prefix coding +************************************************************************/ + +static void code_prefix_ss11(UCL_COMPRESS_T *c, ucl_uint32 i) +{ + if (i >= 2) + { + ucl_uint32 t = 4; + i += 2; + do { + t <<= 1; + } while (i >= t); + t >>= 1; + do { + t >>= 1; + bbPutBit(c, (i & t) ? 1 : 0); + bbPutBit(c, 0); + } while (t > 2); + } + bbPutBit(c, (unsigned)i & 1); + bbPutBit(c, 1); +} + + +#if defined(NRV2D) || defined(NRV2E) +static void code_prefix_ss12(UCL_COMPRESS_T *c, ucl_uint32 i) +{ + if (i >= 2) + { + ucl_uint32 t = 2; + do { + i -= t; + t <<= 2; + } while (i >= t); + do { + t >>= 1; + bbPutBit(c, (i & t) ? 1 : 0); + bbPutBit(c, 0); + t >>= 1; + bbPutBit(c, (i & t) ? 1 : 0); + } while (t > 2); + } + bbPutBit(c, (unsigned)i & 1); + bbPutBit(c, 1); +} +#endif + + +static void +code_match(UCL_COMPRESS_T *c, ucl_uint m_len, const ucl_uint m_off) +{ + unsigned m_low = 0; + + while (m_len > c->conf.max_match) + { + code_match(c, c->conf.max_match - 3, m_off); + m_len -= c->conf.max_match - 3; + } + + c->match_bytes += m_len; + if (m_len > c->result[3]) + c->result[3] = m_len; + if (m_off > c->result[1]) + c->result[1] = m_off; + + bbPutBit(c, 0); + +#if defined(NRV2B) + if (m_off == c->last_m_off) + { + bbPutBit(c, 0); + bbPutBit(c, 1); + } + else + { + code_prefix_ss11(c, 1 + ((m_off - 1) >> 8)); + bbPutByte(c, (unsigned)m_off - 1); + } + m_len = m_len - 1 - (m_off > M2_MAX_OFFSET); + if (m_len >= 4) + { + bbPutBit(c,0); + bbPutBit(c,0); + code_prefix_ss11(c, m_len - 4); + } + else + { + bbPutBit(c, m_len > 1); + bbPutBit(c, (unsigned)m_len & 1); + } +#elif defined(NRV2D) + m_len = m_len - 1 - (m_off > M2_MAX_OFFSET); + assert(m_len > 0); + m_low = (m_len >= 4) ? 0u : (unsigned) m_len; + if (m_off == c->last_m_off) + { + bbPutBit(c, 0); + bbPutBit(c, 1); + bbPutBit(c, m_low > 1); + bbPutBit(c, m_low & 1); + } + else + { + code_prefix_ss12(c, 1 + ((m_off - 1) >> 7)); + bbPutByte(c, ((((unsigned)m_off - 1) & 0x7f) << 1) | ((m_low > 1) ? 0 : 1)); + bbPutBit(c, m_low & 1); + } + if (m_len >= 4) + code_prefix_ss11(c, m_len - 4); +#elif defined(NRV2E) + m_len = m_len - 1 - (m_off > M2_MAX_OFFSET); + assert(m_len > 0); + m_low = (m_len <= 2); + if (m_off == c->last_m_off) + { + bbPutBit(c, 0); + bbPutBit(c, 1); + bbPutBit(c, m_low); + } + else + { + code_prefix_ss12(c, 1 + ((m_off - 1) >> 7)); + bbPutByte(c, ((((unsigned)m_off - 1) & 0x7f) << 1) | (m_low ^ 1)); + } + if (m_low) + bbPutBit(c, (unsigned)m_len - 1); + else if (m_len <= 4) + { + bbPutBit(c, 1); + bbPutBit(c, (unsigned)m_len - 3); + } + else + { + bbPutBit(c, 0); + code_prefix_ss11(c, m_len - 5); + } +#else +# error +#endif + + c->last_m_off = m_off; + (void)m_low; +} + + +static void +code_run(UCL_COMPRESS_T *c, const ucl_bytep ii, ucl_uint lit) +{ + if (lit == 0) + return; + c->lit_bytes += lit; + if (lit > c->result[5]) + c->result[5] = lit; + do { + bbPutBit(c, 1); + bbPutByte(c, *ii++); + } while (--lit > 0); +} + + +/*********************************************************************** +// +************************************************************************/ + +static int +len_of_coded_match(UCL_COMPRESS_T *c, ucl_uint m_len, ucl_uint m_off) +{ + int b; + if (m_len < 2 || (m_len == 2 && (m_off > M2_MAX_OFFSET)) + || m_off > c->conf.max_offset) + return -1; + assert(m_off > 0); + + m_len = m_len - 2 - (m_off > M2_MAX_OFFSET); + + if (m_off == c->last_m_off) + b = 1 + 2; + else + { +#if defined(NRV2B) + b = 1 + 10; + m_off = (m_off - 1) >> 8; + while (m_off > 0) + { + b += 2; + m_off >>= 1; + } +#elif defined(NRV2D) || defined(NRV2E) + b = 1 + 9; + m_off = (m_off - 1) >> 7; + while (m_off > 0) + { + b += 3; + m_off >>= 2; + } +#else +# error +#endif + } + +#if defined(NRV2B) || defined(NRV2D) + b += 2; + if (m_len < 3) + return b; + m_len -= 3; +#elif defined(NRV2E) + b += 2; + if (m_len < 2) + return b; + if (m_len < 4) + return b + 1; + m_len -= 4; +#else +# error +#endif + do { + b += 2; + m_len >>= 1; + } while (m_len > 0); + + return b; +} + + +/*********************************************************************** +// +************************************************************************/ + +#if !defined(NDEBUG) +static +void assert_match( const ucl_swd_p swd, ucl_uint m_len, ucl_uint m_off ) +{ + const UCL_COMPRESS_T *c = swd->c; + ucl_uint d_off; + + assert(m_len >= 2); + if (m_off <= (ucl_uint) (c->bp - c->in)) + { + assert(c->bp - m_off + m_len < c->ip); + assert(ucl_memcmp(c->bp, c->bp - m_off, m_len) == 0); + } + else + { + assert(swd->dict != NULL); + d_off = m_off - (ucl_uint) (c->bp - c->in); + assert(d_off <= swd->dict_len); + if (m_len > d_off) + { + assert(ucl_memcmp(c->bp, swd->dict_end - d_off, d_off) == 0); + assert(c->in + m_len - d_off < c->ip); + assert(ucl_memcmp(c->bp + d_off, c->in, m_len - d_off) == 0); + } + else + { + assert(ucl_memcmp(c->bp, swd->dict_end - d_off, m_len) == 0); + } + } +} +#else +# define assert_match(a,b,c) ((void)0) +#endif + + +#if defined(SWD_BEST_OFF) + +static void +better_match ( const ucl_swd_p swd, ucl_uint *m_len, ucl_uint *m_off ) +{ +} + +#endif + + +/*********************************************************************** +// +************************************************************************/ + +UCL_PUBLIC(int) +ucl_nrv_99_compress ( const ucl_bytep in, ucl_uint in_len, + ucl_bytep out, ucl_uintp out_len, + ucl_progress_callback_p cb, + int level, + const struct ucl_compress_config_p conf, + ucl_uintp result) +{ + const ucl_bytep ii; + ucl_uint lit; + ucl_uint m_len, m_off; + UCL_COMPRESS_T c_buffer; + UCL_COMPRESS_T * const c = &c_buffer; +#undef s +#if defined(SWD_USE_MALLOC) + ucl_swd_t the_swd = {0}; +# define s (&the_swd) +#else +// static ucl_swd_p s = 0; +#endif + ucl_uint result_buffer[16]; + int r; + + struct swd_config_t + { + unsigned try_lazy; + ucl_uint good_length; + ucl_uint max_lazy; + ucl_uint nice_length; + ucl_uint max_chain; + ucl_uint32 flags; + ucl_uint32 max_offset; + }; + const struct swd_config_t *sc; + static const struct swd_config_t swd_config[10] = { +#define F SWD_F + /* faster compression */ + { 0, 0, 0, 8, 4, 0, 48*1024L }, + { 0, 0, 0, 16, 8, 0, 48*1024L }, + { 0, 0, 0, 32, 16, 0, 48*1024L }, + { 1, 4, 4, 16, 16, 0, 48*1024L }, + { 1, 8, 16, 32, 32, 0, 48*1024L }, + { 1, 8, 16, 128, 128, 0, 48*1024L }, + { 2, 8, 32, 128, 256, 0, 128*1024L }, + { 2, 32, 128, F, 2048, 1, 128*1024L }, + { 2, 32, 128, F, 2048, 1, 256*1024L }, + { 2, F, F, F, 4096, 1, SWD_N } + /* max. compression */ +#undef F + }; + + if (level < 1 || level > 10) + return UCL_E_INVALID_ARGUMENT; + sc = &swd_config[level - 1]; + + memset(c, 0, sizeof(*c)); + memset(&c->conf, 0xff, sizeof(c->conf)); + c->ip = c->in = in; + c->in_end = in + in_len; + c->out = out; + if (cb && cb->callback) + c->cb = cb; + cb = NULL; + c->result = result ? result : (ucl_uintp) result_buffer; + result = NULL; + ucl_memset(c->result, 0, 16*sizeof(*c->result)); + c->result[0] = c->result[2] = c->result[4] = UCL_UINT_MAX; + if (conf) + ucl_memcpy(&c->conf, conf, sizeof(c->conf)); + conf = NULL; + r = bbConfig(c, 0, 8); + if (r == 0) + r = bbConfig(c, c->conf.bb_endian, c->conf.bb_size); + if (r != 0) + return UCL_E_INVALID_ARGUMENT; + c->bb_op = out; + + ii = c->ip; /* point to start of literal run */ + lit = 0; + +#if !defined(s) + if (!s) + s = (ucl_swd_p) ucl_malloc(ucl_sizeof(*s)); + if (!s) + return UCL_E_OUT_OF_MEMORY; + memset(s, 0, ucl_sizeof(*s)); +#endif + s->f = UCL_MIN((ucl_uint)SWD_F, c->conf.max_match); + s->n = UCL_MIN((ucl_uint)SWD_N, sc->max_offset); + s->hmask = UCL_UINT32_C(65535); +#ifdef HEAD2_VAR + s->use_head2 = 1; +#if defined(ACC_MM_AHSHIFT) + if (ACC_MM_AHSHIFT != 3) { + s->hmask = 16 * 1024 - 1; + s->use_head2 = 0; + } +#endif +#endif + if (c->conf.max_offset != UCL_UINT_MAX) + s->n = UCL_MIN(SWD_N, c->conf.max_offset); + if (in_len < s->n) + s->n = UCL_MAX(in_len, 256); + if (s->f < 8 || s->n < 256) + return UCL_E_INVALID_ARGUMENT; + r = init_match(c,s,NULL,0,sc->flags); + if (r == UCL_E_OK && (SWD_HSIZE - 1 != s->hmask)) + r = UCL_E_ERROR; + if (r != UCL_E_OK) + { +#if !defined(s) + ucl_free(s); +#endif + return r; + } + if (sc->max_chain > 0) + s->max_chain = sc->max_chain; + if (sc->nice_length > 0) + s->nice_length = sc->nice_length; + if (c->conf.max_match < s->nice_length) + s->nice_length = c->conf.max_match; + + if (c->cb) + (*c->cb->callback)(0,0,-1,c->cb->user); + + c->last_m_off = 1; + r = find_match(c,s,0,0); + if (r != UCL_E_OK) + return r; + while (c->look > 0) + { + ucl_uint ahead; + ucl_uint max_ahead; + int l1, l2; + + c->codesize = (ucl_uint) (c->bb_op - out); + + m_len = c->m_len; + m_off = c->m_off; + + assert(c->bp == c->ip - c->look); + assert(c->bp >= in); + if (lit == 0) + ii = c->bp; + assert(ii + lit == c->bp); + assert(s->b_char == *(c->bp)); + + if (m_len < 2 || (m_len == 2 && (m_off > M2_MAX_OFFSET)) + || m_off > c->conf.max_offset) + { + /* a literal */ + lit++; + s->max_chain = sc->max_chain; + r = find_match(c,s,1,0); + assert(r == 0); + continue; + } + + /* a match */ +#if defined(SWD_BEST_OFF) + if (s->use_best_off) + better_match(s,&m_len,&m_off); +#endif + assert_match(s,m_len,m_off); + + /* shall we try a lazy match ? */ + ahead = 0; + if (sc->try_lazy <= 0 || m_len >= sc->max_lazy || m_off == c->last_m_off) + { + /* no */ + l1 = 0; + max_ahead = 0; + } + else + { + /* yes, try a lazy match */ + l1 = len_of_coded_match(c,m_len,m_off); + assert(l1 > 0); + max_ahead = UCL_MIN((ucl_uint)sc->try_lazy, m_len - 1); + } + + while (ahead < max_ahead && c->look > m_len) + { + if (m_len >= sc->good_length) + s->max_chain = sc->max_chain >> 2; + else + s->max_chain = sc->max_chain; + r = find_match(c,s,1,0); + ahead++; + + assert(r == 0); + assert(c->look > 0); + assert(ii + lit + ahead == c->bp); + + if (c->m_len < 2) + continue; +#if defined(SWD_BEST_OFF) + if (s->use_best_off) + better_match(s,&c->m_len,&c->m_off); +#endif + l2 = len_of_coded_match(c,c->m_len,c->m_off); + if (l2 < 0) + continue; +#if 1 + if (l1 + (int)(ahead + c->m_len - m_len) * 5 > l2 + (int)(ahead) * 9) +#else + if (l1 > l2) +#endif + { + c->lazy++; + assert_match(s,c->m_len,c->m_off); + +#if 0 + if (l3 > 0) + { + /* code previous run */ + code_run(c,ii,lit); + lit = 0; + /* code shortened match */ + code_match(c,ahead,m_off); + } + else +#endif + { + lit += ahead; + assert(ii + lit == c->bp); + } + goto lazy_match_done; + } + } + + assert(ii + lit + ahead == c->bp); + + /* 1 - code run */ + code_run(c,ii,lit); + lit = 0; + + /* 2 - code match */ + code_match(c,m_len,m_off); + s->max_chain = sc->max_chain; + r = find_match(c,s,m_len,1+ahead); + assert(r == 0); + +lazy_match_done: ; + } + + /* store final run */ + code_run(c,ii,lit); + + /* EOF */ + bbPutBit(c, 0); +#if defined(NRV2B) + code_prefix_ss11(c, UCL_UINT32_C(0x1000000)); + bbPutByte(c, 0xff); +#elif defined(NRV2D) || defined(NRV2E) + code_prefix_ss12(c, UCL_UINT32_C(0x1000000)); + bbPutByte(c, 0xff); +#else +# error +#endif + bbFlushBits(c, 0); + + assert(c->textsize == in_len); + c->codesize = (ucl_uint) (c->bb_op - out); + *out_len = (ucl_uint) (c->bb_op - out); + if (c->cb) + (*c->cb->callback)(c->textsize,c->codesize,4,c->cb->user); + +#if 0 + printf("%7ld %7ld -> %7ld %7ld %7ld %ld (max: %d %d %d)\n", + (long) c->textsize, (long) in_len, (long) c->codesize, + c->match_bytes, c->lit_bytes, c->lazy, + c->result[1], c->result[3], c->result[5]); +#endif + assert(c->lit_bytes + c->match_bytes == in_len); + + swd_exit(s); +#if !defined(s) + ucl_free(s); +#endif + return UCL_E_OK; +#undef s +} + + +/* +vi:ts=4:et +*/ + diff --git a/tools/z64compress/src/enc/ucl/comp/n2b_99.c b/tools/z64compress/src/enc/ucl/comp/n2b_99.c new file mode 100644 index 0000000000..e3b11cc162 --- /dev/null +++ b/tools/z64compress/src/enc/ucl/comp/n2b_99.c @@ -0,0 +1,38 @@ +/* n2b_99.c -- implementation of the NRV2B-99 compression algorithm + + This file is part of the UCL data compression library. + + Copyright (C) 1996-2004 Markus Franz Xaver Johannes Oberhumer + All Rights Reserved. + + The UCL library is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + The UCL library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with the UCL library; see the file COPYING. + If not, write to the Free Software Foundation, Inc., + 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + Markus F.X.J. Oberhumer + + http://www.oberhumer.com/opensource/ucl/ + */ + + + +#define NRV2B +#include "n2_99.ch" +#undef NRV2B + + +/* +vi:ts=4:et +*/ + diff --git a/tools/z64compress/src/enc/ucl/comp/ucl_mchw.ch b/tools/z64compress/src/enc/ucl/comp/ucl_mchw.ch new file mode 100644 index 0000000000..c462576d80 --- /dev/null +++ b/tools/z64compress/src/enc/ucl/comp/ucl_mchw.ch @@ -0,0 +1,312 @@ +/* ucl_mchw.ch -- matching functions using a window + + This file is part of the UCL data compression library. + + Copyright (C) 1996-2004 Markus Franz Xaver Johannes Oberhumer + All Rights Reserved. + + The UCL library is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + The UCL library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with the UCL library; see the file COPYING. + If not, write to the Free Software Foundation, Inc., + 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + Markus F.X.J. Oberhumer + + http://www.oberhumer.com/opensource/ucl/ + */ + + +/*********************************************************************** +// +************************************************************************/ + +typedef struct +{ + int init; + + ucl_uint look; /* bytes in lookahead buffer */ + + ucl_uint m_len; + ucl_uint m_off; + + ucl_uint last_m_len; + ucl_uint last_m_off; + + const ucl_bytep bp; + const ucl_bytep ip; + const ucl_bytep in; + const ucl_bytep in_end; + ucl_bytep out; + + ucl_uint32 bb_b; + unsigned bb_k; + unsigned bb_c_endian; + unsigned bb_c_s; + unsigned bb_c_s8; + ucl_bytep bb_p; + ucl_bytep bb_op; + + struct ucl_compress_config_t conf; + ucl_uintp result; + + ucl_progress_callback_p cb; + + ucl_uint textsize; /* text size counter */ + ucl_uint codesize; /* code size counter */ + ucl_uint printcount; /* counter for reporting progress every 1K bytes */ + + /* some stats */ + unsigned long lit_bytes; + unsigned long match_bytes; + unsigned long rep_bytes; + unsigned long lazy; +} +UCL_COMPRESS_T; + + + +#if (ACC_OS_TOS && (ACC_CC_PUREC || ACC_CC_TURBOC)) +/* the cast is needed to work around a code generation bug */ +#define getbyte(c) ((c).ip < (c).in_end ? (int) (unsigned) *((c).ip)++ : (-1)) +#else +#define getbyte(c) ((c).ip < (c).in_end ? *((c).ip)++ : (-1)) +#endif + +#include "ucl_swd.ch" + + + +/*********************************************************************** +// +************************************************************************/ + +static int +init_match ( UCL_COMPRESS_T *c, ucl_swd_t *s, + const ucl_bytep dict, ucl_uint dict_len, + ucl_uint32 flags ) +{ + int r; + + assert(!c->init); + c->init = 1; + + s->c = c; + + c->last_m_len = c->last_m_off = 0; + + c->textsize = c->codesize = c->printcount = 0; + c->lit_bytes = c->match_bytes = c->rep_bytes = 0; + c->lazy = 0; + + r = swd_init(s,dict,dict_len); + if (r != UCL_E_OK) + { + swd_exit(s); + return r; + } + + s->use_best_off = (flags & 1) ? 1 : 0; + return UCL_E_OK; +} + + +/*********************************************************************** +// +************************************************************************/ + +static int +find_match ( UCL_COMPRESS_T *c, ucl_swd_t *s, + ucl_uint this_len, ucl_uint skip ) +{ + assert(c->init); + + if (skip > 0) + { + assert(this_len >= skip); + swd_accept(s, this_len - skip); + c->textsize += this_len - skip + 1; + } + else + { + assert(this_len <= 1); + c->textsize += this_len - skip; + } + + s->m_len = SWD_THRESHOLD; +#ifdef SWD_BEST_OFF + if (s->use_best_off) + memset(s->best_pos,0,sizeof(s->best_pos)); +#endif + swd_findbest(s); + c->m_len = s->m_len; +#if defined(__UCL_CHECKER) + /* s->m_off may be uninitialized if we didn't find a match, + * but then its value will never be used. + */ + c->m_off = (s->m_len == SWD_THRESHOLD) ? 0 : s->m_off; +#else + c->m_off = s->m_off; +#endif + + swd_getbyte(s); + + if (s->b_char < 0) + { + c->look = 0; + c->m_len = 0; + swd_exit(s); + } + else + { + c->look = s->look + 1; + } + c->bp = c->ip - c->look; + +#if 0 + /* brute force match search */ + if (c->m_len > SWD_THRESHOLD && c->m_len + 1 <= c->look) + { + const ucl_bytep ip = c->bp; + const ucl_bytep m = c->bp - c->m_off; + const ucl_bytep in = c->in; + + if (ip - in > s->n) + in = ip - s->n; + for (;;) + { + while (*in != *ip) + in++; + if (in == ip) + break; + if (in != m) + if (memcmp(in,ip,c->m_len+1) == 0) + printf("%p %p %p %5d\n",in,ip,m,c->m_len); + in++; + } + } +#endif + + if (c->cb && c->textsize > c->printcount) + { + (*c->cb->callback)(c->textsize,c->codesize,3,c->cb->user); + c->printcount += 1024; + } + + return UCL_E_OK; +} + + +/*********************************************************************** +// bit buffer +************************************************************************/ + +static int bbConfig(UCL_COMPRESS_T *c, int endian, int bitsize) +{ + if (endian != -1) + { + if (endian != 0) + return UCL_E_ERROR; + c->bb_c_endian = endian; + } + if (bitsize != -1) + { + if (bitsize != 8 && bitsize != 16 && bitsize != 32) + return UCL_E_ERROR; + c->bb_c_s = bitsize; + c->bb_c_s8 = bitsize / 8; + } + c->bb_b = 0; c->bb_k = 0; + c->bb_p = NULL; + c->bb_op = NULL; + return UCL_E_OK; +} + + +static void bbWriteBits(UCL_COMPRESS_T *c) +{ + ucl_bytep p = c->bb_p; + ucl_uint32 b = c->bb_b; + + p[0] = UCL_BYTE(b >> 0); + if (c->bb_c_s >= 16) + { + p[1] = UCL_BYTE(b >> 8); + if (c->bb_c_s == 32) + { + p[2] = UCL_BYTE(b >> 16); + p[3] = UCL_BYTE(b >> 24); + } + } +} + + +static void bbPutBit(UCL_COMPRESS_T *c, unsigned bit) +{ + assert(bit == 0 || bit == 1); + assert(c->bb_k <= c->bb_c_s); + + if (c->bb_k < c->bb_c_s) + { + if (c->bb_k == 0) + { + assert(c->bb_p == NULL); + c->bb_p = c->bb_op; + c->bb_op += c->bb_c_s8; + } + assert(c->bb_p != NULL); + assert(c->bb_p + c->bb_c_s8 <= c->bb_op); + + c->bb_b = (c->bb_b << 1) + bit; + c->bb_k++; + } + else + { + assert(c->bb_p != NULL); + assert(c->bb_p + c->bb_c_s8 <= c->bb_op); + + bbWriteBits(c); + c->bb_p = c->bb_op; + c->bb_op += c->bb_c_s8; + c->bb_b = bit; + c->bb_k = 1; + } +} + + +static void bbPutByte(UCL_COMPRESS_T *c, unsigned b) +{ + /**printf("putbyte %p %p %x (%d)\n", op, bb_p, x, bb_k);*/ + assert(c->bb_p == NULL || c->bb_p + c->bb_c_s8 <= c->bb_op); + *c->bb_op++ = UCL_BYTE(b); +} + + +static void bbFlushBits(UCL_COMPRESS_T *c, unsigned filler_bit) +{ + if (c->bb_k > 0) + { + assert(c->bb_k <= c->bb_c_s); + while (c->bb_k != c->bb_c_s) + bbPutBit(c, filler_bit); + bbWriteBits(c); + c->bb_k = 0; + } + c->bb_p = NULL; +} + + + +/* +vi:ts=4:et +*/ + diff --git a/tools/z64compress/src/enc/ucl/comp/ucl_swd.ch b/tools/z64compress/src/enc/ucl/comp/ucl_swd.ch new file mode 100644 index 0000000000..8b829415b0 --- /dev/null +++ b/tools/z64compress/src/enc/ucl/comp/ucl_swd.ch @@ -0,0 +1,686 @@ +/* ucl_swd.c -- sliding window dictionary + + This file is part of the UCL data compression library. + + Copyright (C) 1996-2004 Markus Franz Xaver Johannes Oberhumer + All Rights Reserved. + + The UCL library is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + The UCL library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with the UCL library; see the file COPYING. + If not, write to the Free Software Foundation, Inc., + 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + Markus F.X.J. Oberhumer + + http://www.oberhumer.com/opensource/ucl/ + */ + + +#if (UCL_UINT_MAX < UCL_0xffffffffL) +# error "UCL_UINT_MAX" +#endif + + +/*********************************************************************** +// +************************************************************************/ + +/* unsigned type for dictionary access - don't waste memory here */ +#if (0UL + SWD_N + SWD_F + SWD_F < 0UL + USHRT_MAX) + typedef unsigned short swd_uint; +# define SWD_UINT_MAX USHRT_MAX +#else + typedef ucl_uint swd_uint; +# define SWD_UINT_MAX UCL_UINT_MAX +#endif +#define swd_uintp swd_uint __UCL_MMODEL * +#define SWD_UINT(x) ((swd_uint)(x)) + + +#ifndef SWD_MAX_CHAIN +# define SWD_MAX_CHAIN 2048 +#endif +#define SWD_HSIZE (SWD_HMASK + 1) + +#if !defined(HEAD3) +#if 1 +# define HEAD3(b,p) \ + (((0x9f5f*(((((ucl_uint32)b[p]<<5)^b[p+1])<<5)^b[p+2]))>>5) & SWD_HMASK) +#else +# define HEAD3(b,p) \ + (((0x9f5f*(((((ucl_uint32)b[p+2]<<5)^b[p+1])<<5)^b[p]))>>5) & SWD_HMASK) +#endif +#endif + +#if !defined(HEAD2) +#if (SWD_THRESHOLD == 1) +# if 1 && defined(UA_GET2) +# define HEAD2(b,p) UA_GET2(&(b[p])) +# else +# define HEAD2(b,p) (b[p] ^ ((unsigned)b[p+1]<<8)) +# endif +# define NIL2 SWD_UINT_MAX +#endif +#endif + + +#if defined(__UCL_CHECKER) + /* malloc arrays of the exact size to detect any overrun */ +# ifndef SWD_USE_MALLOC +# define SWD_USE_MALLOC +# endif +#endif + + +typedef struct +{ +/* public - "built-in" */ + ucl_uint n; + ucl_uint f; + ucl_uint threshold; + ucl_uint hmask; + +/* public - configuration */ + ucl_uint max_chain; + ucl_uint nice_length; + ucl_bool use_best_off; + ucl_uint lazy_insert; + +/* public - output */ + ucl_uint m_len; + ucl_uint m_off; + ucl_uint look; + int b_char; +#if defined(SWD_BEST_OFF) + ucl_uint best_off[ SWD_BEST_OFF ]; +#endif + +/* semi public */ + UCL_COMPRESS_T *c; + ucl_uint m_pos; +#if defined(SWD_BEST_OFF) + ucl_uint best_pos[ SWD_BEST_OFF ]; +#endif + +/* private */ + const ucl_bytep dict; + const ucl_bytep dict_end; + ucl_uint dict_len; + +/* private */ + ucl_uint ip; /* input pointer (lookahead) */ + ucl_uint bp; /* buffer pointer */ + ucl_uint rp; /* remove pointer */ + ucl_uint b_size; + + ucl_bytep b_wrap; + + ucl_uint node_count; + ucl_uint first_rp; + +#if defined(SWD_USE_MALLOC) + ucl_bytep b; + swd_uintp head3; + swd_uintp succ3; + swd_uintp best3; + swd_uintp llen3; +#ifdef HEAD2 + swd_uintp head2; +#ifdef HEAD2_VAR + int use_head2; +#endif +#endif +#else + unsigned char b [ SWD_N + SWD_F + SWD_F ]; + swd_uint head3 [ SWD_HSIZE ]; + swd_uint succ3 [ SWD_N + SWD_F ]; + swd_uint best3 [ SWD_N + SWD_F ]; + swd_uint llen3 [ SWD_HSIZE ]; +#ifdef HEAD2 + swd_uint head2 [ UCL_UINT32_C(65536) ]; +#endif +#endif +} +ucl_swd_t; + + +/* Access macro for head3. + * head3[key] may be uninitialized if the list is emtpy, + * but then its value will never be used. + */ +#if defined(__UCL_CHECKER) +# define s_get_head3(s,key) \ + ((s->llen3[key] == 0) ? SWD_UINT_MAX : s->head3[key]) +#else +# define s_get_head3(s,key) s->head3[key] +#endif + + +/*********************************************************************** +// +************************************************************************/ + +static +void swd_initdict(ucl_swd_t *s, const ucl_bytep dict, ucl_uint dict_len) +{ + s->dict = s->dict_end = NULL; + s->dict_len = 0; + + if (!dict || dict_len <= 0) + return; + if (dict_len > s->n) + { + dict += dict_len - s->n; + dict_len = s->n; + } + + s->dict = dict; + s->dict_len = dict_len; + s->dict_end = dict + dict_len; + ucl_memcpy(s->b,dict,dict_len); + s->ip = dict_len; +} + + +static +void swd_insertdict(ucl_swd_t *s, ucl_uint node, ucl_uint len) +{ + ucl_uint key; + + s->node_count = s->n - len; + s->first_rp = node; + + while (len-- > 0) + { + key = HEAD3(s->b,node); + s->succ3[node] = s_get_head3(s,key); + s->head3[key] = SWD_UINT(node); + s->best3[node] = SWD_UINT(s->f + 1); + s->llen3[key]++; + assert(s->llen3[key] <= s->n); + +#ifdef HEAD2 + IF_HEAD2(s) { + key = HEAD2(s->b,node); + s->head2[key] = SWD_UINT(node); + } +#endif + + node++; + } +} + + +/*********************************************************************** +// +************************************************************************/ + +static +int swd_init(ucl_swd_t *s, const ucl_bytep dict, ucl_uint dict_len) +{ +#if defined(SWD_USE_MALLOC) + s->b = NULL; + s->head3 = NULL; + s->succ3 = NULL; + s->best3 = NULL; + s->llen3 = NULL; +#ifdef HEAD2 + s->head2 = NULL; +#endif +#endif + + if (s->n == 0) + s->n = SWD_N; + if (s->f == 0) + s->f = SWD_F; + s->threshold = SWD_THRESHOLD; + if (s->n > SWD_N || s->f > SWD_F) + return UCL_E_INVALID_ARGUMENT; + +#if defined(SWD_USE_MALLOC) + s->b = (ucl_bytep) ucl_alloc(1, s->n + s->f + s->f); + s->head3 = (swd_uintp) ucl_alloc(SWD_HSIZE, sizeof(*s->head3)); + s->succ3 = (swd_uintp) ucl_alloc(s->n + s->f, sizeof(*s->succ3)); + s->best3 = (swd_uintp) ucl_alloc(s->n + s->f, sizeof(*s->best3)); + s->llen3 = (swd_uintp) ucl_alloc(SWD_HSIZE, sizeof(*s->llen3)); + if (!s->b || !s->head3 || !s->succ3 || !s->best3 || !s->llen3) + return UCL_E_OUT_OF_MEMORY; +#ifdef HEAD2 + IF_HEAD2(s) { + s->head2 = (swd_uintp) ucl_alloc(UCL_UINT32_C(65536), sizeof(*s->head2)); + if (!s->head2) + return UCL_E_OUT_OF_MEMORY; + } +#endif +#endif + + /* defaults */ + s->max_chain = SWD_MAX_CHAIN; + s->nice_length = s->f; + s->use_best_off = 0; + s->lazy_insert = 0; + + s->b_size = s->n + s->f; + if (s->b_size + s->f >= SWD_UINT_MAX) + return UCL_E_ERROR; + s->b_wrap = s->b + s->b_size; + s->node_count = s->n; + + ucl_memset(s->llen3, 0, (ucl_uint)sizeof(s->llen3[0]) * SWD_HSIZE); +#ifdef HEAD2 + IF_HEAD2(s) { +#if 1 + ucl_memset(s->head2, 0xff, (ucl_uint)sizeof(s->head2[0]) * UCL_UINT32_C(65536)); + assert(s->head2[0] == NIL2); +#else + ucl_uint32 i; + for (i = 0; i < UCL_UINT32_C(65536); i++) + s->head2[i] = NIL2; +#endif + } +#endif + + s->ip = 0; + swd_initdict(s,dict,dict_len); + s->bp = s->ip; + s->first_rp = s->ip; + + assert(s->ip + s->f <= s->b_size); +#if 1 + s->look = (ucl_uint) (s->c->in_end - s->c->ip); + if (s->look > 0) + { + if (s->look > s->f) + s->look = s->f; + ucl_memcpy(&s->b[s->ip],s->c->ip,s->look); + s->c->ip += s->look; + s->ip += s->look; + } +#else + s->look = 0; + while (s->look < s->f) + { + int c; + if ((c = getbyte(*(s->c))) < 0) + break; + s->b[s->ip] = UCL_BYTE(c); + s->ip++; + s->look++; + } +#endif + if (s->ip == s->b_size) + s->ip = 0; + + if (s->look >= 2 && s->dict_len > 0) + swd_insertdict(s,0,s->dict_len); + + s->rp = s->first_rp; + if (s->rp >= s->node_count) + s->rp -= s->node_count; + else + s->rp += s->b_size - s->node_count; + +#if defined(__UCL_CHECKER) + /* initialize memory for the first few HEAD3 (if s->ip is not far + * enough ahead to do this job for us). The value doesn't matter. */ + if (s->look < 3) + ucl_memset(&s->b[s->bp+s->look],0,3); +#endif + + return UCL_E_OK; +} + + +static +void swd_exit(ucl_swd_t *s) +{ +#if defined(SWD_USE_MALLOC) + /* free in reverse order of allocations */ +# ifdef HEAD2 + ucl_free(s->head2); s->head2 = NULL; +#endif + ucl_free(s->llen3); s->llen3 = NULL; + ucl_free(s->best3); s->best3 = NULL; + ucl_free(s->succ3); s->succ3 = NULL; + ucl_free(s->head3); s->head3 = NULL; + ucl_free(s->b); s->b = NULL; +#else + //ACC_UNUSED(s); +#endif +} + + +#define swd_pos2off(s,pos) \ + (s->bp > (pos) ? s->bp - (pos) : s->b_size - ((pos) - s->bp)) + + +/*********************************************************************** +// +************************************************************************/ + +static +void swd_getbyte(ucl_swd_t *s) +{ + int c; + + if ((c = getbyte(*(s->c))) < 0) + { + if (s->look > 0) + --s->look; +#if defined(__UCL_CHECKER) + /* initialize memory - value doesn't matter */ + s->b[s->ip] = 0; + if (s->ip < s->f) + s->b_wrap[s->ip] = 0; +#endif + } + else + { + s->b[s->ip] = UCL_BYTE(c); + if (s->ip < s->f) + s->b_wrap[s->ip] = UCL_BYTE(c); + } + if (++s->ip == s->b_size) + s->ip = 0; + if (++s->bp == s->b_size) + s->bp = 0; + if (++s->rp == s->b_size) + s->rp = 0; +} + + +/*********************************************************************** +// remove node from lists +************************************************************************/ + +static +void swd_remove_node(ucl_swd_t *s, ucl_uint node) +{ + if (s->node_count == 0) + { + ucl_uint key; + +#ifdef UCL_DEBUG + if (s->first_rp != UCL_UINT_MAX) + { + if (node != s->first_rp) + printf("Remove %5u: %5u %5u %5u %5u %6u %6u\n", + node, s->rp, s->ip, s->bp, s->first_rp, + s->ip - node, s->ip - s->bp); + assert(node == s->first_rp); + s->first_rp = UCL_UINT_MAX; + } +#endif + + key = HEAD3(s->b,node); + assert(s->llen3[key] > 0); + --s->llen3[key]; + +#ifdef HEAD2 + IF_HEAD2(s) { + key = HEAD2(s->b,node); + assert(s->head2[key] != NIL2); + if ((ucl_uint) s->head2[key] == node) + s->head2[key] = NIL2; + } +#endif + } + else + --s->node_count; +} + + +/*********************************************************************** +// +************************************************************************/ + +static +void swd_accept(ucl_swd_t *s, ucl_uint n) +{ + assert(n <= s->look); + + if (n > 0) do + { + ucl_uint key; + + swd_remove_node(s,s->rp); + + /* add bp into HEAD3 */ + key = HEAD3(s->b,s->bp); + s->succ3[s->bp] = s_get_head3(s,key); + s->head3[key] = SWD_UINT(s->bp); + s->best3[s->bp] = SWD_UINT(s->f + 1); + s->llen3[key]++; + assert(s->llen3[key] <= s->n); + +#ifdef HEAD2 + IF_HEAD2(s) { + /* add bp into HEAD2 */ + key = HEAD2(s->b,s->bp); + s->head2[key] = SWD_UINT(s->bp); + } +#endif + + swd_getbyte(s); + } while (--n > 0); +} + + +/*********************************************************************** +// +************************************************************************/ + +static +void swd_search(ucl_swd_t *s, ucl_uint node, ucl_uint cnt) +{ + const ucl_bytep p1; + const ucl_bytep p2; + const ucl_bytep px; + ucl_uint m_len = s->m_len; + const ucl_bytep b = s->b; + const ucl_bytep bp = s->b + s->bp; + const ucl_bytep bx = s->b + s->bp + s->look; + unsigned char scan_end1; + + assert(s->m_len > 0); + + scan_end1 = bp[m_len - 1]; + for ( ; cnt-- > 0; node = s->succ3[node]) + { + p1 = bp; + p2 = b + node; + px = bx; + + assert(m_len < s->look); + + if ( +#if 1 + p2[m_len - 1] == scan_end1 && + p2[m_len] == p1[m_len] && +#endif + p2[0] == p1[0] && + p2[1] == p1[1]) + { + ucl_uint i; + assert(ucl_memcmp(bp,&b[node],3) == 0); + +#if 0 && defined(UA_GET4) + p1 += 3; p2 += 3; + while (p1 < px && UA_GET4(p1) == UA_GET4(p2)) + p1 += 4, p2 += 4; + while (p1 < px && *p1 == *p2) + p1 += 1, p2 += 1; +#else + p1 += 2; p2 += 2; + do {} while (++p1 < px && *p1 == *++p2); +#endif + i = (ucl_uint) (p1 - bp); + +#ifdef UCL_DEBUG + if (ucl_memcmp(bp,&b[node],i) != 0) + printf("%5ld %5ld %02x%02x %02x%02x\n", + (long)s->bp, (long) node, + bp[0], bp[1], b[node], b[node+1]); +#endif + assert(ucl_memcmp(bp,&b[node],i) == 0); + +#if defined(SWD_BEST_OFF) + if (i < SWD_BEST_OFF) + { + if (s->best_pos[i] == 0) + s->best_pos[i] = node + 1; + } +#endif + if (i > m_len) + { + s->m_len = m_len = i; + s->m_pos = node; + if (m_len == s->look) + return; + if (m_len >= s->nice_length) + return; + if (m_len > (ucl_uint) s->best3[node]) + return; + scan_end1 = bp[m_len - 1]; + } + } + } +} + + +/*********************************************************************** +// +************************************************************************/ + +#ifdef HEAD2 + +static +ucl_bool swd_search2(ucl_swd_t *s) +{ + ucl_uint key; + + assert(s->look >= 2); + assert(s->m_len > 0); + + key = s->head2[ HEAD2(s->b,s->bp) ]; + if (key == NIL2) + return 0; +#ifdef UCL_DEBUG + if (ucl_memcmp(&s->b[s->bp],&s->b[key],2) != 0) + printf("%5ld %5ld %02x%02x %02x%02x\n", (long)s->bp, (long)key, + s->b[s->bp], s->b[s->bp+1], s->b[key], s->b[key+1]); +#endif + assert(ucl_memcmp(&s->b[s->bp],&s->b[key],2) == 0); +#if defined(SWD_BEST_OFF) + if (s->best_pos[2] == 0) + s->best_pos[2] = key + 1; +#endif + + if (s->m_len < 2) + { + s->m_len = 2; + s->m_pos = key; + } + return 1; +} + +#endif + + +/*********************************************************************** +// +************************************************************************/ + +static +void swd_findbest(ucl_swd_t *s) +{ + ucl_uint key; + ucl_uint cnt, node; + ucl_uint len; + + assert(s->m_len > 0); + + /* get current head, add bp into HEAD3 */ + key = HEAD3(s->b,s->bp); + node = s->succ3[s->bp] = s_get_head3(s,key); + cnt = s->llen3[key]++; + assert(s->llen3[key] <= s->n + s->f); + if (cnt > s->max_chain && s->max_chain > 0) + cnt = s->max_chain; + s->head3[key] = SWD_UINT(s->bp); + + s->b_char = s->b[s->bp]; + len = s->m_len; + if (s->m_len >= s->look) + { + if (s->look == 0) + s->b_char = -1; + s->m_off = 0; + s->best3[s->bp] = SWD_UINT(s->f + 1); + } + else + { +#if defined(HEAD2_VAR) + if (s->use_head2) { + if (swd_search2(s) && s->look >= 3) + swd_search(s,node,cnt); + } else { + if (s->look >= 3) + swd_search(s,node,cnt); + } +#elif defined(HEAD2) + if (swd_search2(s) && s->look >= 3) + swd_search(s,node,cnt); +#else + if (s->look >= 3) + swd_search(s,node,cnt); +#endif + if (s->m_len > len) + s->m_off = swd_pos2off(s,s->m_pos); + s->best3[s->bp] = SWD_UINT(s->m_len); + +#if defined(SWD_BEST_OFF) + if (s->use_best_off) + { + int i; + for (i = 2; i < SWD_BEST_OFF; i++) + if (s->best_pos[i] > 0) + s->best_off[i] = swd_pos2off(s,s->best_pos[i]-1); + else + s->best_off[i] = 0; + } +#endif + } + + swd_remove_node(s,s->rp); + +#ifdef HEAD2 + /* add bp into HEAD2 */ + IF_HEAD2(s) { + key = HEAD2(s->b,s->bp); + s->head2[key] = SWD_UINT(s->bp); + } +#endif +} + + +#undef HEAD3 +#undef HEAD2 +#undef IF_HEAD2 +#undef s_get_head3 + + +/* +vi:ts=4:et +*/ + diff --git a/tools/z64compress/src/enc/ucl/getbit.h b/tools/z64compress/src/enc/ucl/getbit.h new file mode 100644 index 0000000000..36ef48c99c --- /dev/null +++ b/tools/z64compress/src/enc/ucl/getbit.h @@ -0,0 +1,64 @@ +/* getbit.h -- bit-buffer access + + This file is part of the UCL data compression library. + + Copyright (C) 1996-2004 Markus Franz Xaver Johannes Oberhumer + All Rights Reserved. + + The UCL library is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + The UCL library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with the UCL library; see the file COPYING. + If not, write to the Free Software Foundation, Inc., + 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + Markus F.X.J. Oberhumer + + http://www.oberhumer.com/opensource/ucl/ + */ + + +/*********************************************************************** +// +************************************************************************/ + +#if 1 +#define getbit_8(bb, src, ilen) \ + (((bb = bb & 0x7f ? bb*2 : ((unsigned)src[ilen++]*2+1)) >> 8) & 1) +#elif 1 +#define getbit_8(bb, src, ilen) \ + (bb*=2,bb&0xff ? (bb>>8)&1 : ((bb=src[ilen++]*2+1)>>8)&1) +#else +#define getbit_8(bb, src, ilen) \ + (((bb*=2, (bb&0xff ? bb : (bb=src[ilen++]*2+1,bb))) >> 8) & 1) +#endif + + +#define getbit_le16(bb, src, ilen) \ + (bb*=2,bb&0xffff ? (bb>>16)&1 : (ilen+=2,((bb=(src[ilen-2]+src[ilen-1]*256u)*2+1)>>16)&1)) + + +#if 1 && (ACC_ENDIAN_LITTLE_ENDIAN) && defined(UA_GET4) +#define getbit_le32(bb, bc, src, ilen) \ + (bc > 0 ? ((bb>>--bc)&1) : (bc=31,\ + bb=UA_GET4((src)+ilen),ilen+=4,(bb>>31)&1)) +#else +#define getbit_le32(bb, bc, src, ilen) \ + (bc > 0 ? ((bb>>--bc)&1) : (bc=31,\ + bb=src[ilen]+src[ilen+1]*0x100+src[ilen+2]*UCL_UINT32_C(0x10000)+src[ilen+3]*UCL_UINT32_C(0x1000000),\ + ilen+=4,(bb>>31)&1)) +#endif + + +/* +vi:ts=4:et +*/ + diff --git a/tools/z64compress/src/enc/ucl/n2b_d.c b/tools/z64compress/src/enc/ucl/n2b_d.c new file mode 100644 index 0000000000..0dc3590685 --- /dev/null +++ b/tools/z64compress/src/enc/ucl/n2b_d.c @@ -0,0 +1,179 @@ +/* n2b_d.c -- implementation of the NRV2B decompression algorithm + + This file is part of the UCL data compression library. + + Copyright (C) 1996-2004 Markus Franz Xaver Johannes Oberhumer + All Rights Reserved. + + The UCL library is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + The UCL library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with the UCL library; see the file COPYING. + If not, write to the Free Software Foundation, Inc., + 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + Markus F.X.J. Oberhumer + + http://www.oberhumer.com/opensource/ucl/ + */ + + +/*********************************************************************** +// actual implementation used by a recursive #include +************************************************************************/ + +#ifdef getbit + +#ifdef SAFE +#define fail(x,r) if (x) { *dst_len = olen; return r; } +#else +#define fail(x,r) +#endif + +{ + ucl_uint32 bb = 0; +#ifdef TEST_OVERLAP + ucl_uint ilen = src_off, olen = 0, last_m_off = 1; +#else + ucl_uint ilen = 0, olen = 0, last_m_off = 1; +#endif +#ifdef SAFE + const ucl_uint oend = *dst_len; +#endif + //ACC_UNUSED(wrkmem); + +#ifdef TEST_OVERLAP + src_len += src_off; + fail(oend >= src_len, UCL_E_OVERLAP_OVERRUN); +#endif + + for (;;) + { + ucl_uint m_off, m_len; + + while (getbit(bb)) + { + fail(ilen >= src_len, UCL_E_INPUT_OVERRUN); + fail(olen >= oend, UCL_E_OUTPUT_OVERRUN); +#ifdef TEST_OVERLAP + fail(olen > ilen, UCL_E_OVERLAP_OVERRUN); + olen++; ilen++; +#else + dst[olen++] = src[ilen++]; +#endif + } + m_off = 1; + do { + m_off = m_off*2 + getbit(bb); + fail(ilen >= src_len, UCL_E_INPUT_OVERRUN); + fail(m_off > UCL_UINT32_C(0xffffff) + 3, UCL_E_LOOKBEHIND_OVERRUN); + } while (!getbit(bb)); + if (m_off == 2) + { + m_off = last_m_off; + } + else + { + fail(ilen >= src_len, UCL_E_INPUT_OVERRUN); + m_off = (m_off-3)*256 + src[ilen++]; + if (m_off == UCL_UINT32_C(0xffffffff)) + break; + last_m_off = ++m_off; + } + m_len = getbit(bb); + m_len = m_len*2 + getbit(bb); + if (m_len == 0) + { + m_len++; + do { + m_len = m_len*2 + getbit(bb); + fail(ilen >= src_len, UCL_E_INPUT_OVERRUN); + fail(m_len >= oend, UCL_E_OUTPUT_OVERRUN); + } while (!getbit(bb)); + m_len += 2; + } + m_len += (m_off > 0xd00); + fail(olen + m_len > oend, UCL_E_OUTPUT_OVERRUN); + fail(m_off > olen, UCL_E_LOOKBEHIND_OVERRUN); +#ifdef TEST_OVERLAP + olen += m_len + 1; + fail(olen > ilen, UCL_E_OVERLAP_OVERRUN); +#else + { + const ucl_bytep m_pos; + m_pos = dst + olen - m_off; + dst[olen++] = *m_pos++; + do dst[olen++] = *m_pos++; while (--m_len > 0); + } +#endif + } + *dst_len = olen; + return ilen == src_len ? UCL_E_OK : (ilen < src_len ? UCL_E_INPUT_NOT_CONSUMED : UCL_E_INPUT_OVERRUN); +} + +#undef fail + +#endif /* getbit */ + + +/*********************************************************************** +// decompressor entries for the different bit-buffer sizes +************************************************************************/ + +#ifndef getbit + +#include "ucl_conf.h" +#include "ucl.h" +#include "getbit.h" + + +UCL_PUBLIC(int) +ucl_nrv2b_decompress_8 ( const ucl_bytep src, ucl_uint src_len, + ucl_bytep dst, ucl_uintp dst_len, + ucl_voidp wrkmem ) +{ +#define getbit(bb) getbit_8(bb,src,ilen) +#include "n2b_d.c" +#undef getbit +} + +#if 0 +UCL_PUBLIC(int) +ucl_nrv2b_decompress_le16 ( const ucl_bytep src, ucl_uint src_len, + ucl_bytep dst, ucl_uintp dst_len, + ucl_voidp wrkmem ) +{ +#define getbit(bb) getbit_le16(bb,src,ilen) +#include "n2b_d.c" +#undef getbit +} + + +UCL_PUBLIC(int) +ucl_nrv2b_decompress_le32 ( const ucl_bytep src, ucl_uint src_len, + ucl_bytep dst, ucl_uintp dst_len, + ucl_voidp wrkmem ) +{ + unsigned bc = 0; +#define getbit(bb) getbit_le32(bb,bc,src,ilen) +#include "n2b_d.c" +#undef getbit +} +#endif /* 0 */ + + +#endif /* !getbit */ + + +/* +vi:ts=4:et +*/ + diff --git a/tools/z64compress/src/enc/ucl/ucl.h b/tools/z64compress/src/enc/ucl/ucl.h new file mode 100644 index 0000000000..f136d4a2df --- /dev/null +++ b/tools/z64compress/src/enc/ucl/ucl.h @@ -0,0 +1,249 @@ +/* ucl.h -- prototypes for the UCL data compression library + + This file is part of the UCL data compression library. + + Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer + All Rights Reserved. + + The UCL library is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + The UCL library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with the UCL library; see the file COPYING. + If not, write to the Free Software Foundation, Inc., + 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + Markus F.X.J. Oberhumer + + http://www.oberhumer.com/opensource/ucl/ + */ + + +#ifndef __UCL_H_INCLUDED +#define __UCL_H_INCLUDED + +#ifndef __UCLCONF_H_INCLUDED +#include "uclconf.h" +#endif + +#ifdef __cplusplus +extern "C" { +#endif + + +/*********************************************************************** +// Compression fine-tuning configuration. +// +// Pass a NULL pointer to the compression functions for default values. +// Otherwise set all values to -1 [i.e. initialize the struct by a +// `memset(x,0xff,sizeof(x))'] and then set the required values. +************************************************************************/ + +struct ucl_compress_config_t +{ + int bb_endian; + int bb_size; + ucl_uint max_offset; + ucl_uint max_match; + int s_level; + int h_level; + int p_level; + int c_flags; + ucl_uint m_size; +}; + +#define ucl_compress_config_p ucl_compress_config_t __UCL_MMODEL * + + +/*********************************************************************** +// compressors +// +// Pass NULL for `cb' (no progress callback), `conf' (default compression +// configuration) and `result' (no statistical result). +************************************************************************/ + +UCL_EXTERN(int) +ucl_nrv2b_99_compress ( const ucl_bytep src, ucl_uint src_len, + ucl_bytep dst, ucl_uintp dst_len, + ucl_progress_callback_p cb, + int level, + const struct ucl_compress_config_p conf, + ucl_uintp result ); + +UCL_EXTERN(int) +ucl_nrv2d_99_compress ( const ucl_bytep src, ucl_uint src_len, + ucl_bytep dst, ucl_uintp dst_len, + ucl_progress_callback_p cb, + int level, + const struct ucl_compress_config_p conf, + ucl_uintp result ); + +UCL_EXTERN(int) +ucl_nrv2e_99_compress ( const ucl_bytep src, ucl_uint src_len, + ucl_bytep dst, ucl_uintp dst_len, + ucl_progress_callback_p cb, + int level, + const struct ucl_compress_config_p conf, + ucl_uintp result ); + + +/*********************************************************************** +// decompressors +// +// Always pass NULL for `wrkmem'. This parameter is for symetry +// with my other compression libaries and is not used in UCL - +// UCL does not need any additional memory (or even local stack space) +// for decompression. +************************************************************************/ + +UCL_EXTERN(int) +ucl_nrv2b_decompress_8 ( const ucl_bytep src, ucl_uint src_len, + ucl_bytep dst, ucl_uintp dst_len, + ucl_voidp wrkmem ); +UCL_EXTERN(int) +ucl_nrv2b_decompress_le16 ( const ucl_bytep src, ucl_uint src_len, + ucl_bytep dst, ucl_uintp dst_len, + ucl_voidp wrkmem ); +UCL_EXTERN(int) +ucl_nrv2b_decompress_le32 ( const ucl_bytep src, ucl_uint src_len, + ucl_bytep dst, ucl_uintp dst_len, + ucl_voidp wrkmem ); +UCL_EXTERN(int) +ucl_nrv2b_decompress_safe_8 ( const ucl_bytep src, ucl_uint src_len, + ucl_bytep dst, ucl_uintp dst_len, + ucl_voidp wrkmem ); +UCL_EXTERN(int) +ucl_nrv2b_decompress_safe_le16 ( const ucl_bytep src, ucl_uint src_len, + ucl_bytep dst, ucl_uintp dst_len, + ucl_voidp wrkmem ); +UCL_EXTERN(int) +ucl_nrv2b_decompress_safe_le32 ( const ucl_bytep src, ucl_uint src_len, + ucl_bytep dst, ucl_uintp dst_len, + ucl_voidp wrkmem ); + +UCL_EXTERN(int) +ucl_nrv2d_decompress_8 ( const ucl_bytep src, ucl_uint src_len, + ucl_bytep dst, ucl_uintp dst_len, + ucl_voidp wrkmem ); +UCL_EXTERN(int) +ucl_nrv2d_decompress_le16 ( const ucl_bytep src, ucl_uint src_len, + ucl_bytep dst, ucl_uintp dst_len, + ucl_voidp wrkmem ); +UCL_EXTERN(int) +ucl_nrv2d_decompress_le32 ( const ucl_bytep src, ucl_uint src_len, + ucl_bytep dst, ucl_uintp dst_len, + ucl_voidp wrkmem ); +UCL_EXTERN(int) +ucl_nrv2d_decompress_safe_8 ( const ucl_bytep src, ucl_uint src_len, + ucl_bytep dst, ucl_uintp dst_len, + ucl_voidp wrkmem ); +UCL_EXTERN(int) +ucl_nrv2d_decompress_safe_le16 ( const ucl_bytep src, ucl_uint src_len, + ucl_bytep dst, ucl_uintp dst_len, + ucl_voidp wrkmem ); +UCL_EXTERN(int) +ucl_nrv2d_decompress_safe_le32 ( const ucl_bytep src, ucl_uint src_len, + ucl_bytep dst, ucl_uintp dst_len, + ucl_voidp wrkmem ); + +UCL_EXTERN(int) +ucl_nrv2e_decompress_8 ( const ucl_bytep src, ucl_uint src_len, + ucl_bytep dst, ucl_uintp dst_len, + ucl_voidp wrkmem ); +UCL_EXTERN(int) +ucl_nrv2e_decompress_le16 ( const ucl_bytep src, ucl_uint src_len, + ucl_bytep dst, ucl_uintp dst_len, + ucl_voidp wrkmem ); +UCL_EXTERN(int) +ucl_nrv2e_decompress_le32 ( const ucl_bytep src, ucl_uint src_len, + ucl_bytep dst, ucl_uintp dst_len, + ucl_voidp wrkmem ); +UCL_EXTERN(int) +ucl_nrv2e_decompress_safe_8 ( const ucl_bytep src, ucl_uint src_len, + ucl_bytep dst, ucl_uintp dst_len, + ucl_voidp wrkmem ); +UCL_EXTERN(int) +ucl_nrv2e_decompress_safe_le16 ( const ucl_bytep src, ucl_uint src_len, + ucl_bytep dst, ucl_uintp dst_len, + ucl_voidp wrkmem ); +UCL_EXTERN(int) +ucl_nrv2e_decompress_safe_le32 ( const ucl_bytep src, ucl_uint src_len, + ucl_bytep dst, ucl_uintp dst_len, + ucl_voidp wrkmem ); + + +/*********************************************************************** +// assembler decompressors [TO BE ADDED] +************************************************************************/ + + +/*********************************************************************** +// test an overlapping in-place decompression within a buffer: +// - try a virtual decompression from &buf[src_off] -> &buf[0] +// - no data is actually written +// - only the bytes at buf[src_off..src_off+src_len-1] will get accessed +// +// NOTE: always pass NULL for `wrkmem' - see above. +************************************************************************/ + +UCL_EXTERN(int) +ucl_nrv2b_test_overlap_8 ( const ucl_bytep buf, ucl_uint src_off, + ucl_uint src_len, ucl_uintp dst_len, + ucl_voidp wrkmem ); +UCL_EXTERN(int) +ucl_nrv2b_test_overlap_le16 ( const ucl_bytep buf, ucl_uint src_off, + ucl_uint src_len, ucl_uintp dst_len, + ucl_voidp wrkmem ); +UCL_EXTERN(int) +ucl_nrv2b_test_overlap_le32 ( const ucl_bytep buf, ucl_uint src_off, + ucl_uint src_len, ucl_uintp dst_len, + ucl_voidp wrkmem ); + +UCL_EXTERN(int) +ucl_nrv2d_test_overlap_8 ( const ucl_bytep buf, ucl_uint src_off, + ucl_uint src_len, ucl_uintp dst_len, + ucl_voidp wrkmem ); +UCL_EXTERN(int) +ucl_nrv2d_test_overlap_le16 ( const ucl_bytep buf, ucl_uint src_off, + ucl_uint src_len, ucl_uintp dst_len, + ucl_voidp wrkmem ); +UCL_EXTERN(int) +ucl_nrv2d_test_overlap_le32 ( const ucl_bytep buf, ucl_uint src_off, + ucl_uint src_len, ucl_uintp dst_len, + ucl_voidp wrkmem ); + +UCL_EXTERN(int) +ucl_nrv2e_test_overlap_8 ( const ucl_bytep buf, ucl_uint src_off, + ucl_uint src_len, ucl_uintp dst_len, + ucl_voidp wrkmem ); +UCL_EXTERN(int) +ucl_nrv2e_test_overlap_le16 ( const ucl_bytep buf, ucl_uint src_off, + ucl_uint src_len, ucl_uintp dst_len, + ucl_voidp wrkmem ); +UCL_EXTERN(int) +ucl_nrv2e_test_overlap_le32 ( const ucl_bytep buf, ucl_uint src_off, + ucl_uint src_len, ucl_uintp dst_len, + ucl_voidp wrkmem ); + + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /* already included */ + diff --git a/tools/z64compress/src/enc/ucl/ucl_conf.h b/tools/z64compress/src/enc/ucl/ucl_conf.h new file mode 100644 index 0000000000..79f5c6b61b --- /dev/null +++ b/tools/z64compress/src/enc/ucl/ucl_conf.h @@ -0,0 +1,220 @@ +/* ucl_conf.h -- main internal configuration file for the the UCL library + + This file is part of the UCL data compression library. + + Copyright (C) 1996-2004 Markus Franz Xaver Johannes Oberhumer + All Rights Reserved. + + The UCL library is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + The UCL library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with the UCL library; see the file COPYING. + If not, write to the Free Software Foundation, Inc., + 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + Markus F.X.J. Oberhumer + + http://www.oberhumer.com/opensource/ucl/ + */ + + +/* WARNING: this file should *not* be used by applications. It is + part of the implementation of the library and is subject + to change. + */ + + +#ifndef __UCL_CONF_H +#define __UCL_CONF_H + + +/*********************************************************************** +// +************************************************************************/ + +#if defined(__UCLCONF_H_INCLUDED) +# error "include this file first" +#endif +#include "uclconf.h" + +#if !defined(__UCL_MMODEL_HUGE) && defined(HAVE_MEMCMP) +# define ucl_memcmp(a,b,c) memcmp(a,b,c) +#endif +#if !defined(__UCL_MMODEL_HUGE) && defined(HAVE_MEMCPY) +# define ucl_memcpy(a,b,c) memcpy(a,b,c) +#endif +#if !defined(__UCL_MMODEL_HUGE) && defined(HAVE_MEMMOVE) +# define ucl_memmove(a,b,c) memmove(a,b,c) +#endif +#if !defined(__UCL_MMODEL_HUGE) && defined(HAVE_MEMSET) +# define ucl_memset(a,b,c) memset(a,b,c) +#endif +#if 0 /* WANT_ACC */ +#if defined(UCL_HAVE_CONFIG_H) +# define ACC_CONFIG_NO_HEADER 1 +#endif +#define __ACCLIB_FUNCNAME(f) error_do_not_use_acclib +#include "acc/acc.h" + +#if (ACC_CC_MSC && (_MSC_VER >= 1300)) + /* avoid `-Wall' warnings in system header files */ +# pragma warning(disable: 4820) + /* avoid warnings about inlining */ +# pragma warning(disable: 4710 4711) +#endif + +#if defined(__UCL_MMODEL_HUGE) && (!ACC_HAVE_MM_HUGE_PTR) +# error "this should not happen - check defines for __huge" +#endif + +#if (ACC_OS_DOS16 + 0 != UCL_OS_DOS16 + 0) +# error "DOS16" +#endif +#if (ACC_OS_OS216 + 0 != UCL_OS_OS216 + 0) +# error "OS216" +#endif +#if (ACC_OS_WIN16 + 0 != UCL_OS_WIN16 + 0) +# error "WIN16" +#endif +#if (ACC_OS_DOS32 + 0 != UCL_OS_DOS32 + 0) +# error "DOS32" +#endif +#if (ACC_OS_OS2 + 0 != UCL_OS_OS2 + 0) +# error "DOS32" +#endif +#if (ACC_OS_WIN32 + 0 != UCL_OS_WIN32 + 0) +# error "WIN32" +#endif +#if (ACC_OS_WIN64 + 0 != UCL_OS_WIN64 + 0) +# error "WIN64" +#endif + + +#include "acc/acc_incd.h" +#if (ACC_OS_DOS16 || ACC_OS_OS216 || ACC_OS_WIN16) +# include "acc/acc_ince.h" +# include "acc/acc_inci.h" +#endif + +#undef NDEBUG +#if !defined(UCL_DEBUG) +# define NDEBUG 1 +#endif +#include + + +#if (ACC_OS_DOS16 || ACC_OS_OS216 || ACC_OS_WIN16) && (ACC_CC_BORLANDC) +# if (__BORLANDC__ >= 0x0450) /* v4.00 */ +# pragma option -h /* enable fast huge pointers */ +# else +# pragma option -h- /* disable fast huge pointers - compiler bug */ +# endif +#endif +#endif /* WANT_ACC */ + + +/*********************************************************************** +// +************************************************************************/ + +#if 1 +# define UCL_BYTE(x) ((unsigned char) (x)) +#else +# define UCL_BYTE(x) ((unsigned char) ((x) & 0xff)) +#endif +#if 0 +# define UCL_USHORT(x) ((unsigned short) (x)) +#else +# define UCL_USHORT(x) ((unsigned short) ((x) & 0xffff)) +#endif + +#define UCL_MAX(a,b) ((a) >= (b) ? (a) : (b)) +#define UCL_MIN(a,b) ((a) <= (b) ? (a) : (b)) +#define UCL_MAX3(a,b,c) ((a) >= (b) ? UCL_MAX(a,c) : UCL_MAX(b,c)) +#define UCL_MIN3(a,b,c) ((a) <= (b) ? UCL_MIN(a,c) : UCL_MIN(b,c)) + +#define ucl_sizeof(type) ((ucl_uint) (sizeof(type))) + +#define UCL_HIGH(array) ((ucl_uint) (sizeof(array)/sizeof(*(array)))) + +/* this always fits into 16 bits */ +#define UCL_SIZE(bits) (1u << (bits)) +#define UCL_MASK(bits) (UCL_SIZE(bits) - 1) + +#define UCL_LSIZE(bits) (1ul << (bits)) +#define UCL_LMASK(bits) (UCL_LSIZE(bits) - 1) + +#define UCL_USIZE(bits) ((ucl_uint) 1 << (bits)) +#define UCL_UMASK(bits) (UCL_USIZE(bits) - 1) + +/* Maximum value of a signed/unsigned type. + Do not use casts, avoid overflows ! */ +#define UCL_STYPE_MAX(b) (((1l << (8*(b)-2)) - 1l) + (1l << (8*(b)-2))) +#define UCL_UTYPE_MAX(b) (((1ul << (8*(b)-1)) - 1ul) + (1ul << (8*(b)-1))) + + +/*********************************************************************** +// compiler and architecture specific stuff +************************************************************************/ + +/* Some defines that indicate if memory can be accessed at unaligned + * memory addresses. You should also test that this is actually faster + * even if it is allowed by your system. + */ + +#undef UA_GET2 +#undef UA_SET2 +#undef UA_GET4 +#undef UA_SET4 +#if 1 && (ACC_ARCH_AMD64 || ACC_ARCH_IA32) +# define UA_GET2(p) (* (const ucl_ushortp) (p)) +# define UA_SET2(p) (* (ucl_ushortp) (p)) +# define UA_GET4(p) (* (const acc_uint32e_t *) (p)) +# define UA_SET4(p) (* (acc_uint32e_t *) (p)) +#elif 0 && (ACC_ARCH_M68K) && (ACC_CC_GNUC >= 0x020900ul) + typedef struct { unsigned short v; } __ucl_ua2_t __attribute__((__aligned__(1))); + typedef struct { unsigned long v; } __ucl_ua4_t __attribute__((__aligned__(1))); +# define UA_GET2(p) (((const __ucl_ua2_t *)(p))->v) +# define UA_SET2(p) (((__ucl_ua2_t *)(p))->v) +# define UA_GET4(p) (((const __ucl_ua4_t *)(p))->v) +# define UA_SET4(p) (((__ucl_ua4_t *)(p))->v) +#endif + + +/*********************************************************************** +// some globals +************************************************************************/ + +__UCL_EXTERN_C int __ucl_init_done; +UCL_EXTERN(const ucl_bytep) ucl_copyright(void); + + +/*********************************************************************** +// ANSI C preprocessor macros +************************************************************************/ + +#define _UCL_STRINGIZE(x) #x +#define _UCL_MEXPAND(x) _UCL_STRINGIZE(x) + + +/*********************************************************************** +// +************************************************************************/ + +//#include "ucl_ptr.h" + + +#endif /* already included */ + +/* +vi:ts=4:et +*/ + diff --git a/tools/z64compress/src/enc/ucl/uclconf.h b/tools/z64compress/src/enc/ucl/uclconf.h new file mode 100644 index 0000000000..ab18ca173d --- /dev/null +++ b/tools/z64compress/src/enc/ucl/uclconf.h @@ -0,0 +1,490 @@ +/* uclconf.h -- configuration for the UCL data compression library + + This file is part of the UCL data compression library. + + Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer + Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer + All Rights Reserved. + + The UCL library is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + The UCL library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with the UCL library; see the file COPYING. + If not, write to the Free Software Foundation, Inc., + 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + Markus F.X.J. Oberhumer + + http://www.oberhumer.com/opensource/ucl/ + */ + + +#ifndef __UCLCONF_H_INCLUDED +#define __UCLCONF_H_INCLUDED + +#define UCL_VERSION 0x010300L +#define UCL_VERSION_STRING "1.03" +#define UCL_VERSION_DATE "Jul 20 2004" + +/* internal Autoconf configuration file - only used when building UCL */ +#if defined(UCL_HAVE_CONFIG_H) +# include +#endif +#include + +#ifdef __cplusplus +extern "C" { +#endif + + + +/*********************************************************************** +// UCL requires a conforming +************************************************************************/ + +#if !defined(CHAR_BIT) || (CHAR_BIT != 8) +# error "invalid CHAR_BIT" +#endif +#if !defined(UCHAR_MAX) || !defined(UINT_MAX) || !defined(ULONG_MAX) +# error "check your compiler installation" +#endif +#if (USHRT_MAX < 1) || (UINT_MAX < 1) || (ULONG_MAX < 1) +# error "your limits.h macros are broken" +#endif + +/* workaround a compiler bug under hpux 10.20 */ +#define UCL_0xffffL 65535ul +#define UCL_0xffffffffL 4294967295ul + +#if !defined(UCL_UINT32_C) +# if (UINT_MAX < UCL_0xffffffffL) +# define UCL_UINT32_C(c) c ## UL +# else +# define UCL_UINT32_C(c) ((c) + 0U) +# endif +#endif + + +/*********************************************************************** +// architecture defines +************************************************************************/ + +#if (defined(__CYGWIN__) || defined(__CYGWIN32__)) && defined(__GNUC__) +# define UCL_OS_CYGWIN 1 +#elif defined(__EMX__) && defined(__GNUC__) +# define UCL_OS_EMX 1 +#elif defined(__BORLANDC__) && defined(__DPMI32__) && (__BORLANDC__ >= 0x0460) +# define UCL_OS_DOS32 1 +#elif defined(__BORLANDC__) && defined(__DPMI16__) +# define UCL_OS_DOS16 1 +#elif defined(__ZTC__) && defined(DOS386) +# define UCL_OS_DOS32 1 +#elif defined(__OS2__) || defined(__OS2V2__) +# if (UINT_MAX == UCL_0xffffL) +# define UCL_OS_OS216 1 +# elif (UINT_MAX == UCL_0xffffffffL) +# define UCL_OS_OS2 1 +# else +# error "check your limits.h header" +# endif +#elif defined(__WIN64__) || defined(_WIN64) || defined(WIN64) +# define UCL_OS_WIN64 1 +#elif defined(__WIN32__) || defined(_WIN32) || defined(WIN32) || defined(__WINDOWS_386__) +# define UCL_OS_WIN32 1 +#elif defined(__MWERKS__) && defined(__INTEL__) +# define UCL_OS_WIN32 1 +#elif defined(__WINDOWS__) || defined(_WINDOWS) || defined(_Windows) +# if (UINT_MAX == UCL_0xffffL) +# define UCL_OS_WIN16 1 +# elif (UINT_MAX == UCL_0xffffffffL) +# define UCL_OS_WIN32 1 +# else +# error "check your limits.h header" +# endif +#elif defined(__DOS__) || defined(__MSDOS__) || defined(_MSDOS) || defined(MSDOS) || (defined(__PACIFIC__) && defined(DOS)) +# if (UINT_MAX == UCL_0xffffL) +# define UCL_OS_DOS16 1 +# elif (UINT_MAX == UCL_0xffffffffL) +# define UCL_OS_DOS32 1 +# else +# error "check your limits.h header" +# endif +#elif defined(__WATCOMC__) +# if defined(__NT__) && (UINT_MAX == UCL_0xffffL) + /* wcl: NT host defaults to DOS target */ +# define UCL_OS_DOS16 1 +# elif defined(__NT__) && (__WATCOMC__ < 1100) + /* wcl386: Watcom C 11 defines _WIN32 */ +# define UCL_OS_WIN32 1 +# else +# error "please specify a target using the -bt compiler option" +# endif +#elif defined(__palmos__) +# if (UINT_MAX == UCL_0xffffL) +# define UCL_OS_PALMOS 1 +# else +# error "check your limits.h header" +# endif +#elif defined(__TOS__) || defined(__atarist__) +# define UCL_OS_TOS 1 +#elif defined(macintosh) +# define UCL_OS_MACCLASSIC 1 +#elif defined(__VMS) +# define UCL_OS_VMS 1 +#else +# define UCL_OS_POSIX 1 +#endif + +/* memory checkers */ +#if !defined(__UCL_CHECKER) +# if defined(__BOUNDS_CHECKING_ON) +# define __UCL_CHECKER 1 +# elif defined(__CHECKER__) +# define __UCL_CHECKER 1 +# elif defined(__INSURE__) +# define __UCL_CHECKER 1 +# elif defined(__PURIFY__) +# define __UCL_CHECKER 1 +# endif +#endif + +/* fix ancient compiler versions */ +#if (UINT_MAX == UCL_0xffffL) +#if (defined(__MSDOS__) && defined(__TURBOC__) && (__TURBOC__ < 0x0410)) || (defined(MSDOS) && defined(_MSC_VER) && (_MSC_VER < 700)) +# if !defined(__cdecl) +# define __cdecl cdecl +# endif +# if !defined(__far) +# define __far far +# endif +# if !defined(__huge) +# define __huge huge +# endif +# if !defined(__near) +# define __near near +# endif +#endif +#endif + + +/*********************************************************************** +// integral and pointer types +************************************************************************/ + +/* Integral types with 32 bits or more */ +#if !defined(UCL_UINT32_MAX) +# if (UINT_MAX >= UCL_0xffffffffL) + typedef unsigned int ucl_uint32; + typedef int ucl_int32; +# define UCL_UINT32_MAX UINT_MAX +# define UCL_INT32_MAX INT_MAX +# define UCL_INT32_MIN INT_MIN +# elif (ULONG_MAX >= UCL_0xffffffffL) + typedef unsigned long ucl_uint32; + typedef long ucl_int32; +# define UCL_UINT32_MAX ULONG_MAX +# define UCL_INT32_MAX LONG_MAX +# define UCL_INT32_MIN LONG_MIN +# else +# error "ucl_uint32" +# endif +#endif + +/* ucl_uint is used like size_t */ +#if !defined(UCL_UINT_MAX) +# if (UINT_MAX >= UCL_0xffffffffL) + typedef unsigned int ucl_uint; + typedef int ucl_int; +# define UCL_UINT_MAX UINT_MAX +# define UCL_INT_MAX INT_MAX +# define UCL_INT_MIN INT_MIN +# elif (ULONG_MAX >= UCL_0xffffffffL) + typedef unsigned long ucl_uint; + typedef long ucl_int; +# define UCL_UINT_MAX ULONG_MAX +# define UCL_INT_MAX LONG_MAX +# define UCL_INT_MIN LONG_MIN +# else +# error "ucl_uint" +# endif +#endif + +/* Memory model that allows to access memory at offsets of ucl_uint. */ +#if !defined(__UCL_MMODEL) +# if (UCL_UINT_MAX <= UINT_MAX) +# define __UCL_MMODEL +# elif defined(UCL_OS_DOS16) || defined(UCL_OS_OS216) || defined(UCL_OS_WIN16) +# define __UCL_MMODEL_HUGE 1 +# define __UCL_MMODEL __huge +# define ucl_uintptr_t unsigned long +# else +# define __UCL_MMODEL +# endif +#endif + +/* no typedef here because of const-pointer issues */ +#define ucl_bytep unsigned char __UCL_MMODEL * +#define ucl_charp char __UCL_MMODEL * +#define ucl_voidp void __UCL_MMODEL * +#define ucl_shortp short __UCL_MMODEL * +#define ucl_ushortp unsigned short __UCL_MMODEL * +#define ucl_uint32p ucl_uint32 __UCL_MMODEL * +#define ucl_int32p ucl_int32 __UCL_MMODEL * +#define ucl_uintp ucl_uint __UCL_MMODEL * +#define ucl_intp ucl_int __UCL_MMODEL * +#define ucl_voidpp ucl_voidp __UCL_MMODEL * +#define ucl_bytepp ucl_bytep __UCL_MMODEL * +/* deprecated - use `ucl_bytep' instead of `ucl_byte *' */ +#define ucl_byte unsigned char __UCL_MMODEL + +typedef int ucl_bool; + + +/*********************************************************************** +// function types +************************************************************************/ + +/* name mangling */ +#if !defined(__UCL_EXTERN_C) +# ifdef __cplusplus +# define __UCL_EXTERN_C extern "C" +# else +# define __UCL_EXTERN_C extern +# endif +#endif + +/* calling convention */ +#if !defined(__UCL_CDECL) +# if defined(__GNUC__) || defined(__HIGHC__) || defined(__NDPC__) +# define __UCL_CDECL +# elif defined(UCL_OS_DOS16) || defined(UCL_OS_OS216) || defined(UCL_OS_WIN16) +# define __UCL_CDECL __far __cdecl +# elif defined(UCL_OS_DOS32) || defined(UCL_OS_OS2) || defined(UCL_OS_WIN32) || defined(UCL_OS_WIN64) +# define __UCL_CDECL __cdecl +# else +# define __UCL_CDECL +# endif +#endif + +/* DLL export information */ +#if !defined(__UCL_EXPORT1) +# define __UCL_EXPORT1 +#endif +#if !defined(__UCL_EXPORT2) +# define __UCL_EXPORT2 +#endif + +/* __cdecl calling convention for public C and assembly functions */ +#if !defined(UCL_PUBLIC) +# define UCL_PUBLIC(_rettype) __UCL_EXPORT1 _rettype __UCL_EXPORT2 __UCL_CDECL +#endif +#if !defined(UCL_EXTERN) +# define UCL_EXTERN(_rettype) __UCL_EXTERN_C UCL_PUBLIC(_rettype) +#endif +#if !defined(UCL_PRIVATE) +# define UCL_PRIVATE(_rettype) static _rettype __UCL_CDECL +#endif + +/* C++ exception specification for extern "C" function types */ +#if !defined(__cplusplus) +# undef UCL_NOTHROW +# define UCL_NOTHROW +#elif !defined(UCL_NOTHROW) +# define UCL_NOTHROW +#endif + +/* function types */ +typedef int +(__UCL_CDECL *ucl_compress_t) ( const ucl_bytep src, ucl_uint src_len, + ucl_bytep dst, ucl_uintp dst_len, + ucl_voidp wrkmem ); + +typedef int +(__UCL_CDECL *ucl_decompress_t) ( const ucl_bytep src, ucl_uint src_len, + ucl_bytep dst, ucl_uintp dst_len, + ucl_voidp wrkmem ); + +typedef int +(__UCL_CDECL *ucl_optimize_t) ( ucl_bytep src, ucl_uint src_len, + ucl_bytep dst, ucl_uintp dst_len, + ucl_voidp wrkmem ); + +typedef int +(__UCL_CDECL *ucl_compress_dict_t)(const ucl_bytep src, ucl_uint src_len, + ucl_bytep dst, ucl_uintp dst_len, + ucl_voidp wrkmem, + const ucl_bytep dict, ucl_uint dict_len ); + +typedef int +(__UCL_CDECL *ucl_decompress_dict_t)(const ucl_bytep src, ucl_uint src_len, + ucl_bytep dst, ucl_uintp dst_len, + ucl_voidp wrkmem, + const ucl_bytep dict, ucl_uint dict_len ); + +/* a progress indicator callback function */ +typedef struct +{ + void (__UCL_CDECL *callback) (ucl_uint, ucl_uint, int, ucl_voidp); + ucl_voidp user; +} +ucl_progress_callback_t; +#define ucl_progress_callback_p ucl_progress_callback_t __UCL_MMODEL * + + +/*********************************************************************** +// error codes and prototypes +************************************************************************/ + +/* Error codes for the compression/decompression functions. Negative + * values are errors, positive values will be used for special but + * normal events. + */ +#define UCL_E_OK 0 +#define UCL_E_ERROR (-1) +#define UCL_E_INVALID_ARGUMENT (-2) +#define UCL_E_OUT_OF_MEMORY (-3) +/* compression errors */ +#define UCL_E_NOT_COMPRESSIBLE (-101) +/* decompression errors */ +#define UCL_E_INPUT_OVERRUN (-201) +#define UCL_E_OUTPUT_OVERRUN (-202) +#define UCL_E_LOOKBEHIND_OVERRUN (-203) +#define UCL_E_EOF_NOT_FOUND (-204) +#define UCL_E_INPUT_NOT_CONSUMED (-205) +#define UCL_E_OVERLAP_OVERRUN (-206) + + +/* ucl_init() should be the first function you call. + * Check the return code ! + * + * ucl_init() is a macro to allow checking that the library and the + * compiler's view of various types are consistent. + */ +#define ucl_init() __ucl_init2(UCL_VERSION,(int)sizeof(short),(int)sizeof(int),\ + (int)sizeof(long),(int)sizeof(ucl_uint32),(int)sizeof(ucl_uint),\ + (int)-1,(int)sizeof(char *),(int)sizeof(ucl_voidp),\ + (int)sizeof(ucl_compress_t)) +UCL_EXTERN(int) __ucl_init2(ucl_uint32,int,int,int,int,int,int,int,int,int); + +/* version functions (useful for shared libraries) */ +UCL_EXTERN(ucl_uint32) ucl_version(void); +UCL_EXTERN(const char *) ucl_version_string(void); +UCL_EXTERN(const char *) ucl_version_date(void); +UCL_EXTERN(const ucl_charp) _ucl_version_string(void); +UCL_EXTERN(const ucl_charp) _ucl_version_date(void); + +/* string functions */ +UCL_EXTERN(int) +ucl_memcmp(const ucl_voidp _s1, const ucl_voidp _s2, ucl_uint _len); +UCL_EXTERN(ucl_voidp) +ucl_memcpy(ucl_voidp _dest, const ucl_voidp _src, ucl_uint _len); +UCL_EXTERN(ucl_voidp) +ucl_memmove(ucl_voidp _dest, const ucl_voidp _src, ucl_uint _len); +UCL_EXTERN(ucl_voidp) +ucl_memset(ucl_voidp _s, int _c, ucl_uint _len); + +/* checksum functions */ +UCL_EXTERN(ucl_uint32) +ucl_adler32(ucl_uint32 _adler, const ucl_bytep _buf, ucl_uint _len); +UCL_EXTERN(ucl_uint32) +ucl_crc32(ucl_uint32 _c, const ucl_bytep _buf, ucl_uint _len); +UCL_EXTERN(const ucl_uint32p) +ucl_get_crc32_table(void); + +/* memory allocation hooks */ +typedef ucl_voidp (__UCL_CDECL *ucl_malloc_hook_t) (ucl_uint); +typedef void (__UCL_CDECL *ucl_free_hook_t) (ucl_voidp); +UCL_EXTERN(void) +ucl_set_malloc_hooks(ucl_malloc_hook_t, ucl_free_hook_t); +UCL_EXTERN(void) +ucl_get_malloc_hooks(ucl_malloc_hook_t*, ucl_free_hook_t*); + +#ifndef UCL_SAFE_ALLOC +#define UCL_SAFE_ALLOC 1 +#include +#include + +/* safe calloc */ +static +inline +void * +calloc_safe(size_t nmemb, size_t size) +{ + void *result; + + result = calloc(nmemb, size); + + if (!result) + { + fprintf(stderr, "[!] memory error\n"); + exit(EXIT_FAILURE); + } + + return result; +} + +/* safe malloc */ +static +inline +void * +malloc_safe(size_t size) +{ + void *result; + + result = malloc(size); + + if (!result) + { + fprintf(stderr, "[!] memory error\n"); + exit(EXIT_FAILURE); + } + + return result; +} +#endif /* UCL_SAFE_ALLOC */ + +/* memory allocation functions */ +#if 0 +UCL_EXTERN(ucl_voidp) ucl_malloc(ucl_uint); +UCL_EXTERN(ucl_voidp) ucl_alloc(ucl_uint, ucl_uint); +UCL_EXTERN(void) ucl_free(ucl_voidp); +#else +# define ucl_malloc(a) (malloc_safe(a)) +# define ucl_alloc(a, b) (calloc_safe(a, b)) +# define ucl_free(a) (free(a)) +#endif + + +/* misc. */ +UCL_EXTERN(ucl_bool) ucl_assert(int _expr); +UCL_EXTERN(int) _ucl_config_check(void); +typedef union { ucl_bytep p; ucl_uint u; } __ucl_pu_u; +typedef union { ucl_bytep p; ucl_uint32 u32; } __ucl_pu32_u; + +/* align a char pointer on a boundary that is a multiple of `size' */ +UCL_EXTERN(unsigned) __ucl_align_gap(const ucl_voidp _ptr, ucl_uint _size); +#define UCL_PTR_ALIGN_UP(_ptr,_size) \ + ((_ptr) + (ucl_uint) __ucl_align_gap((const ucl_voidp)(_ptr),(ucl_uint)(_size))) + + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /* already included */ + diff --git a/tools/z64compress/src/enc/yar.c b/tools/z64compress/src/enc/yar.c new file mode 100644 index 0000000000..823b3425d3 --- /dev/null +++ b/tools/z64compress/src/enc/yar.c @@ -0,0 +1,450 @@ +/* yar.c: decode and encode MM yaz archives */ + +#include +#include +#include +#include + +#define FERR(x) { \ + fprintf(stderr, x); \ + fprintf(stderr, "\n"); \ + exit(EXIT_FAILURE); \ +} + +/* surely an archive won't exceed 64 MB */ +#define YAR_MAX (1024 * 1024 * 64) + +/* align out address before writing compressed file */ +#define FILE_ALIGN \ + while ((outSz % align)) \ + { \ + out[outSz] = 0; \ + outSz += 1; \ + } + +struct yarFile +{ + int idx; /* original index in list */ + int ofs; /* global offset of file */ +}; + +static +unsigned int +u32b(void *src) +{ + unsigned char *arr = src; + + return (arr[0] << 24) | (arr[1] << 16) | (arr[2] << 8) | arr[3]; +} + +static +void +u32wr(void *dst, unsigned int src) +{ + unsigned char *arr = dst; + + arr[0] = src >> 24; + arr[1] = src >> 16; + arr[2] = src >> 8; + arr[3] = src; +} + +static +void +progress(const char *name, int progress, int end) +{ + fprintf( + stderr + , "\r""repacking '%s' %d/%d: " + , name + , progress + , end + ); +} + +/* reencode yar archive */ +/* returns 0 on success, pointer to error message otherwise */ +char * +yar_reencode( + unsigned char *src /* source archive */ + , unsigned int sz /* source archive size */ + , unsigned char *dst /* destination archive */ + , unsigned int *dst_sz /* destination archive size */ + , int align /* compressed file alignment */ + + , const char *name /* name of archive (0 = hide progress) */ + , const char *codec /* the expected encoding header "Yaz0" */ + , void *imm /* intermediate buffer for conversion */ + , void *ctx /* compression context (if applicable) */ + + /* decompresses file; return non-zero on fail; optional + * if files are already decompressed (up to user to know) + */ + , int decode(void *src, void *dst, unsigned dstSz, unsigned *srcSz) + + /* compress file; returns non-zero on fail; optional if + * files are desired to be left decompressed + */ + , int encode(void *src, unsigned srcSz, void *dst, unsigned *dstSz, void *ctx) + + /* test if file has been previously encoded; optional */ + , int exist(void *src, unsigned srcSz, void *dst, unsigned *dstSz) +) +{ + unsigned char *ss; + unsigned char *out; + unsigned int end; + unsigned int end_out; + unsigned int outSz = 0; + int progress_end; + struct yarFile *list = 0; + struct yarFile *item; + int list_num; + + assert(src); + assert(sz); + assert(dst_sz); + assert(dst); + assert(align >= 0); + assert((align & 3) == 0); /* cannot have alignment smaller than 4 */ + + out = dst; + + end = 0; + + ss = src; + item = list; + do + { + unsigned ofs; + unsigned uncompSz; + unsigned OG_encSz; + unsigned char *b; + + ofs = u32b(ss) + end; + + /* first entry points to end of list, and first file */ + if (!end) + { + end = ofs; + outSz = end; + + /* allocate file list */ + list_num = (end / 4) + 1; + list = calloc(list_num, sizeof(*list)); + if (!list) + return "memory error"; + item = list; + + FILE_ALIGN + + /* output file may be aligned differently */ + end_out = outSz; + + progress_end = end / 4; + } + + /* b now points to compressed file */ + b = src + ofs; + + /* update progress display */ + if (name) + progress(name, (ss - src) / 4, progress_end); + + /* there should be room for 4-byte codec and 4-byte size */ + if (b + 4 >= src + sz) + break; + + /* decompressed file size is second word */ + uncompSz = u32b(b + 4); + + /* yaz-encoded file */ + if (!memcmp(b, codec, 4)) + { + unsigned char *fout = out + outSz; + unsigned encSz; + + /* user doesn't want encoded data */ + if (!encode) + { + imm = fout; + encSz = uncompSz; + } + + /* decode 'b' only if user provided decoder */ + if (decode) + { + if (decode(b, imm, uncompSz, &OG_encSz)) + return "decoder error"; + } + /* if no decoder is provided, direct copy */ + else + memcpy(imm, b + 0x10, uncompSz); + + /* encode only if user wants that */ + if (encode) + { + /* if no exist function has been provided, or + * if it hasn't been encoded yet, encode it + */ + if (!exist || !exist(imm, uncompSz, fout, &encSz)) + { + if (encode(imm, uncompSz, fout, &encSz, ctx)) + return "encoder error"; + } + } + + /* point current entry to new file location */ + if (ss > src) + u32wr(out + (ss - src), outSz - end_out); + + /* first entry follows different rules */ + else + u32wr(out + (ss - src), end_out); + + /* advance out_sz to immediately after current file */ + outSz += encSz; + + /* align output */ + FILE_ALIGN + } + + /* end of list */ + else if (u32b(b) == 0) + break; + + /* unknown codec */ + else + { + char *errmsg = (char*)out; + char srep[16]; + sprintf(srep, "%08x", u32b(b)); + sprintf( + errmsg + , "unknown codec 0x%s encountered at %08X!\n" + , srep + , ofs + ); + return errmsg; + } + + ss += 4; + item += 1; + + } while (ss - src < end); + + /* update progress display */ + if (name) + progress(name, progress_end, progress_end); + + /* point final entry to end (four 00 bytes) */ + u32wr(out + (ss - src), outSz - end_out); + memset(out + outSz, 0, 16); + outSz += 4; + + /* in case list end changed due to padding, make multiple * + * end-of-list markers throughout the alignment space */ + if (end_out > end) + { + unsigned i; + unsigned last = u32b(out + (end - 4)); + for (i = 0; i < (end_out - end) / 4; ++i) + { + u32wr(out + end + i * 4, last); + } + } + + /* align final output size to 16 */ + if (outSz & 15) + outSz += 16 - (outSz & 15); + + /* if new file was constructed, note its size */ + *dst_sz = outSz; + + /* cleanup */ + free(list); + + /* success */ + return 0; +} + +#ifdef YAR_MAIN_TEST +/* + * + * usage example (writes decompressed archive) + * + */ + +/* yaz decoder, courtesy of spinout182 */ +static +int spinout_yaz_dec(void *_src, void *_dst, int dstSz) +{ + unsigned char *src = _src; + unsigned char *dst = _dst; + + int srcPlace = 0, dstPlace = 0; /*current read/write positions*/ + + unsigned int validBitCount = 0; /*number of valid bits left in "code" byte*/ + unsigned char currCodeByte = 0; + + int uncompressedSize = dstSz; + + src += 0x10; + + while(dstPlace < uncompressedSize) + { + /*read new "code" byte if the current one is used up*/ + if(!validBitCount) + { + currCodeByte = src[srcPlace]; + ++srcPlace; + validBitCount = 8; + } + + if(currCodeByte & 0x80) + { + /*direct copy*/ + dst[dstPlace] = src[srcPlace]; + dstPlace++; + srcPlace++; + } + else + { + /*RLE part*/ + unsigned char byte1 = src[srcPlace]; + unsigned char byte2 = src[srcPlace + 1]; + srcPlace += 2; + + unsigned int dist = ((byte1 & 0xF) << 8) | byte2; + unsigned int copySource = dstPlace - (dist + 1); + + unsigned int numBytes = byte1 >> 4; + if(numBytes) + numBytes += 2; + else + { + numBytes = src[srcPlace] + 0x12; + srcPlace++; + } + + /*copy run*/ + int i; + for(i = 0; i < numBytes; ++i) + { + dst[dstPlace] = dst[copySource]; + copySource++; + dstPlace++; + } + } + + /*use next bit from "code" byte*/ + currCodeByte <<= 1; + validBitCount-=1; + } + + return 0; +} + + +/* encodes decompressed data, storing result in dst */ +static +int encode(void *src, int srcSz, void *_dst, int *dstSz, void *ctx) +{ + unsigned char *dst = _dst; + +/* header */ + /* codec */ + memcpy(dst, "raw0", 4); + + /* decompressed size */ + u32wr(dst + 4, srcSz); + + /* 8 more bytes of padding */ + memset(dst + 8, 0, 8); + +/* contents */ + /* direct copy (data left unencoded; you could encode here though) */ + memcpy(dst + 0x10, src, srcSz); + *dstSz = srcSz + 0x10; + + return 0; +} + +/* checks if data has already been encoded */ +/* if it does, dst is filled with that data and 1 is returned */ +/* 0 is returned otherwise */ +static +int exist(void *src, int srcSz, void *dst, int *dstSz) +{ + return 0; +} + +/* unsafe but it's a test program so it's fine */ +static +unsigned char * +file_read(char *fn, unsigned *sz) +{ + FILE *fp; + unsigned char *raw; + + assert(fn); + assert(sz); + + fp = fopen(fn, "rb"); + if (!fp) + FERR("failed to open file for reading"); + + fseek(fp, 0, SEEK_END); + *sz = ftell(fp); + + if (!sz) + FERR("read file size == 0"); + + fseek(fp, 0, SEEK_SET); + raw = malloc(*sz); + if (!raw) + FERR("memory error"); + + if (fread(raw, 1, *sz, fp) != *sz) + FERR("file read error"); + + fclose(fp); + return raw; +} + +int main(int argc, char *argv[]) +{ + unsigned char *raw; + unsigned int raw_sz; + + unsigned char *out; + unsigned char *imm; + unsigned int out_sz = 0; + + if (argc != 2) + FERR("args: unyar in.yar > out.yar"); + + raw = file_read(argv[1], &raw_sz); + fprintf(stderr, "input file %s:\n", argv[1]); + + /* surely an archive won't exceed 64 MB */ + out = malloc(1024 * 1024 * 64); + imm = malloc(1024 * 1024 * 64); + + yar_reencode( + raw, raw_sz, out, &out_sz, 12, "Yaz0", imm + , spinout_yaz_dec + , encode + , exist + ); + + /* write output to stdout */ + fwrite(out, 1, out_sz, stdout); + + free(raw); + free(out); + free(imm); +} + +#endif /* YAR_MAIN_TEST */ + diff --git a/tools/z64compress/src/enc/yar.h b/tools/z64compress/src/enc/yar.h new file mode 100644 index 0000000000..08890949e1 --- /dev/null +++ b/tools/z64compress/src/enc/yar.h @@ -0,0 +1,36 @@ +/* yar.c: decode and encode MM yaz archives */ + +#ifndef Z64YAR_H_INCLUDED +#define Z64YAR_H_INCLUDED + +/* reencode yar archive */ +/* returns 0 on success, pointer to error message otherwise */ +char * +yar_reencode( + unsigned char *src /* source archive */ + , unsigned int sz /* source archive size */ + , unsigned char *dst /* destination archive */ + , unsigned int *dst_sz /* destination archive size */ + , int align /* compressed file alignment */ + + , const char *name /* name of archive (0 = hide progress) */ + , const char *codec /* the expected encoding header "Yaz0" */ + , void *imm /* intermediate buffer for conversion */ + , void *ctx /* compression context (if applicable) */ + + /* decompresses file; return non-zero on fail; optional + * if files are already decompressed (up to user to know) + */ + , int decode(void *src, void *dst, unsigned dstSz, unsigned *srcSz) + + /* compress file; returns non-zero on fail; optional if + * files are desired to be left decompressed + */ + , int encode(void *src, unsigned srcSz, void *dst, unsigned *dstSz, void *ctx) + + /* test if file has been previously encoded; optional */ + , int exist(void *src, unsigned srcSz, void *dst, unsigned *dstSz) +); + +#endif /* Z64YAR_H_INCLUDED */ + diff --git a/tools/z64compress/src/enc/yaz.c b/tools/z64compress/src/enc/yaz.c new file mode 100644 index 0000000000..a6897a7fd3 --- /dev/null +++ b/tools/z64compress/src/enc/yaz.c @@ -0,0 +1,464 @@ +#include +#include +#include +#include +#include "stretchy_buffer.h" + +struct yazCtx +{ + uint16_t *c; + uint32_t *cmds; + uint16_t *ctrl; + uint8_t *raws; + uint8_t *ctl; + uint8_t *back; + int *return_data; +}; + +void yazCtx_free(void *_ctx) +{ + struct yazCtx *ctx = _ctx; + + if (!ctx) + return; + + free(ctx->return_data); + sb_free(ctx->c); + sb_free(ctx->raws); + sb_free(ctx->ctrl); + sb_free(ctx->cmds); + sb_free(ctx->ctl); + sb_free(ctx->back); +} + +void *yazCtx_new(void) +{ + struct yazCtx *ctx = calloc(1, sizeof(*ctx)); + + if (!ctx) + return 0; + + /* allocate everything */ + ctx->c = sb_add(ctx->c, 32); + ctx->return_data = malloc(2 * sizeof(*ctx->return_data)); + ctx->raws = sb_add(ctx->raws, 32); + ctx->ctrl = sb_add(ctx->ctrl, 32); + ctx->cmds = sb_add(ctx->cmds, 32); + ctx->ctl = sb_add(ctx->ctl , 32); + ctx->back = sb_add(ctx->back, 32); + + return ctx; +} + +// MIO0 encoding +#define MIx 0 + +#define min(MINA, MINB) ( ( (MINA)<(MINB) ) ? (MINA) : (MINB) ) +#define max(MAXA, MAXB) ( ( (MAXA)>(MAXB) ) ? (MAXA) : (MAXB) ) + +#define U32b(u32X) ((u32X)[0]<<24|(u32X)[1]<<16|(u32X)[2]<<8|(u32X)[3]) +#define U16b(u32X) ((u32X)[0]<<8|(u32X)[1]) +#define U32wr(u32DST,u32SRC) (*(u32DST+0))=((u32SRC)>>24)&0xFF,\ + (*(u32DST+1))=((u32SRC)>>16)&0xFF,\ + (*(u32DST+2))=((u32SRC)>>8)&0xFF,\ + (*(u32DST+3))=((u32SRC)>>0)&0xFF +#define U16wr(u16DST,u16SRC) (*(u16DST+0))=((u16SRC)>>8)&0xFF,\ + (*(u16DST+1))=((u16SRC)>>0)&0xFF + +static uint16_t *_enc_next_cpy(struct yazCtx *ctx, uint8_t *back) { + stb__sbn(ctx->c)=0; // initialize count to 0 + int x; + for (x=0; x < (sb_count(back) & (0xFFFFFFFE)); x += 2) { + sb_push(ctx->c, (back[x]<<8) | back[x+1]); + } + return ctx->c; +} + +static uint32_t _enc_z_from_tables(struct yazCtx *ctx, uint8_t *ctl, uint8_t *back, uint8_t *values, uint8_t *output, int dec_s, const char *mode) { + //_enc_next_cpy(NULL); + uint8_t *b=ctl, *v=values; + uint16_t *c = _enc_next_cpy(ctx, back); + uint32_t bit=0x10000, output_position=0; + // if dec_s declared, will keep accurate track + while (dec_s > 0) { + // get next bit + if (bit > 0xFFFF) { + bit = b[0]; + b++; + output[output_position++] = bit & 0xFF; + bit |= 0x100; + } + // catch end of control commands + if (bit & 0x80) { + output[output_position++] = v[0]; + v++; + dec_s--; + } else { + uint16_t val=c[0]; + c++; + output[output_position++] = ((val>>8)&0xFF); + output[output_position++] = ((val)&0xFF); + + // decrement dec_s accurately with length + val>>=12; + val&=0xF; + if(MIx) + dec_s--; + else if(val==0) { + val = v[0]; + v++; + output[output_position++]=val; + val+=16; + } + dec_s -= val+2; + } + bit <<= 1; + } + return output_position; +} + +static int _enc_find(struct yazCtx *ctx, uint8_t *array, uint8_t *needle, int needle_len, int start_index, int source_length) { + while(start_index < (source_length - needle_len + 1)) { + int r, index = -1; + for(r=start_index; r < (source_length - needle_len + 1); r++) { + if(array[r]==needle[0]) { + index=r; + break; + } + } + + // if we did not find even the first element, the search has failed + if (index == -1) + return -1; + + int i, p; + // check for needle + for (i = 0, p = index; i < needle_len; i++, p++) { + if (array[p] != needle[i]) + break; + } + if(i==needle_len) { + // needle was found + return index; + } + // continue to search for needle + start_index = index + 1; + } + return -1; +} + +static int *_enc_search(struct yazCtx *ctx, uint8_t *data, uint32_t pos, uint32_t sz, uint32_t cap/*=0x111*/) { + int *return_data = ctx->return_data; + // this is necessary unless pos is signed, so let's play it safe + int mp = (pos>0x1000)?(pos-0x1000):0; + int ml = min(cap, sz - pos); + if(ml<3) { + return_data[0]=return_data[1]=0; + return return_data; + } + int + hitp = 0, + hitl = 3, + hl = -1 + ; + + if (mp < pos) { + hl = _enc_find(ctx, data+mp, data+pos, hitl, 0, pos + hitl - mp); + while (hl < (pos - mp)) { + while ((hitl < ml) && (data[pos + hitl] == data[mp + hl + hitl]) ) { + hitl += 1; + } + mp += hl; + hitp = mp; + if (hitl == ml) { + return_data[0] = hitp; + return_data[1] = hitl; + return return_data; + } + mp += 1; + hitl += 1; + if (mp >= pos) + break; + hl = _enc_find(ctx, data+mp, data+pos, hitl, 0, pos + hitl - mp); + } + } + + // if length < 4, return miss + if (hitl < 4) + hitl = 1; + + return_data[0] = hitp; + return_data[1] = hitl-1; + return return_data; +} + +static +uint32_t encode(struct yazCtx *ctx, uint8_t *data, uint32_t data_size, uint8_t *output, const char *mode) { + uint32_t + cap=0x111, + sz=data_size, + pos=0, + flag=0x80000000 + ; + // initialize count of each to 0 + stb__sbn(ctx->raws)=0; + stb__sbn(ctx->ctrl)=0; + stb__sbn(ctx->cmds)=0; + + sb_push(ctx->cmds, 0); + + if(data_size==0) { + memcpy(output, mode, 4); + int i; + for(i=4; i<16; i++) + output[i]=0x00; + return 16; + } + while(posraws, data[pos]); + ctx->cmds[sb_count(ctx->cmds)-1] |= flag; + pos += 1; + } else { + search_return = _enc_search(ctx, data, pos+1, sz, cap); + int tstp = search_return[0]; + int tstl = search_return[1]; + + if ((hitl + 1) < tstl) { + sb_push(ctx->raws, data[pos]); + ctx->cmds[sb_count(ctx->cmds)-1] |= flag; + pos += 1; + flag >>= 1; + if (flag == 0) { + flag = 0x80000000; + sb_push(ctx->cmds, 0); + } + hitl = tstl; + hitp = tstp; + } + int e = pos - hitp - 1; + pos += hitl; + // handle MIx first, then Yax conditions + if (cap == 0x12) { + hitl -= 3; + sb_push(ctx->ctrl, (hitl<<12) | e); + } else if (hitl < 0x12) { + hitl -= 2; + sb_push(ctx->ctrl, (hitl<<12)|e); + } else { + sb_push(ctx->ctrl, e); + sb_push(ctx->raws, hitl - 0x12); + } + } + // advance the flag and refill if required + flag >>= 1; + if (flag == 0) { + flag = 0x80000000; + sb_push(ctx->cmds, 0);//cmds.push_back(0); + } + } + + // if no cmds in final word, delete it + if (flag == 0x80000000) { + stb__sbn(ctx->cmds) -= 1;//cmds.erase(cmds.end()-1); + } + + // block and stream differentiation + // Yay is block, Yaz is stream + int mode_block=1, mode_stream=1; // temporary, for testing + mode_block=!strcmp(mode,"Yay0"); + if (mode_block ) { + uint32_t l = (sb_count(ctx->cmds) << 2) + 16; + uint32_t o = (sb_count(ctx->ctrl) << 1) + l; + memcpy(output, mode, 4); + U32wr(output+4, sz); + U32wr(output+8, l); + U32wr(output+12, o); + + uint32_t output_position = 16; + uint32_t x; + for (x=0; xcmds); x++) { + U32wr(output+output_position, ctx->cmds[x]); + output_position+=4; + } + for (x=0; xctrl); x++) { + U16wr(output+output_position, ctx->ctrl[x]); + output_position+=2; + } + for (x=0; xraws); x++) { + output[output_position++] = ctx->raws[x]; + } + return output_position; + } else if(mode_stream) { + memcpy(output, mode, 4); + U32wr(output+4, sz); + U32wr(output+8, 0); + U32wr(output+12, 0); + + uint32_t output_position = 0; + stb__sbn(ctx->ctl)=0; // initialize count to 0 + stb__sbn(ctx->back)=0; // initialize count to 0 + uint32_t x; + for (x=0; x < sb_count(ctx->cmds); x++) { + sb_push(ctx->ctl, (ctx->cmds[x]>>24)&0xFF); + sb_push(ctx->ctl, (ctx->cmds[x]>>16)&0xFF); + sb_push(ctx->ctl, (ctx->cmds[x]>>8)&0xFF); + sb_push(ctx->ctl, (ctx->cmds[x])&0xFF); + } + for (x=0; x < sb_count(ctx->ctrl); x++) { + sb_push(ctx->back, (ctx->ctrl[x]>>8)&0xFF); + sb_push(ctx->back, (ctx->ctrl[x])&0xFF); + } + output_position = _enc_z_from_tables(ctx, ctx->ctl, ctx->back, ctx->raws, output+16, data_size, mode); + return 16 + output_position; + } + return 0; +} + + +int +yazenc( + void *_src + , unsigned src_sz + , void *_dst + , unsigned *dst_sz + , void *_ctx +) +{ + unsigned char *src = _src; + unsigned char *dst = _dst; + if (!_ctx) + return 1; + *dst_sz = encode(_ctx, src, src_sz, dst, "Yaz0"); + return 0; +} + +/* yaz decoder, courtesy of spinout182 */ +int +yazdec(void *_src, void *_dst, unsigned dstSz, unsigned *srcSz) +{ + unsigned char *src = _src; + unsigned char *dst = _dst; + + int srcPlace = 0, dstPlace = 0; /*current read/write positions*/ + + unsigned int validBitCount = 0; /*number of valid bits left in "code" byte*/ + unsigned char currCodeByte = 0; + + int uncompressedSize = dstSz; + + src += 0x10; + + while(dstPlace < uncompressedSize) + { + /*read new "code" byte if the current one is used up*/ + if(!validBitCount) + { + currCodeByte = src[srcPlace]; + ++srcPlace; + validBitCount = 8; + } + + if(currCodeByte & 0x80) + { + /*direct copy*/ + dst[dstPlace] = src[srcPlace]; + dstPlace++; + srcPlace++; + } + else + { + /*RLE part*/ + unsigned char byte1 = src[srcPlace]; + unsigned char byte2 = src[srcPlace + 1]; + srcPlace += 2; + + unsigned int dist = ((byte1 & 0xF) << 8) | byte2; + unsigned int copySource = dstPlace - (dist + 1); + + unsigned int numBytes = byte1 >> 4; + if(numBytes) + numBytes += 2; + else + { + numBytes = src[srcPlace] + 0x12; + srcPlace++; + } + + /*copy run*/ + int i; + for(i = 0; i < numBytes; ++i) + { + dst[dstPlace] = dst[copySource]; + copySource++; + dstPlace++; + } + } + + /*use next bit from "code" byte*/ + currCodeByte <<= 1; + validBitCount-=1; + } + + if (srcSz) + *srcSz = srcPlace; + + return 0; +} + +#ifdef YAZ_MAIN_TEST + +#define FERR(x) { \ + fprintf(stderr, x); \ + fprintf(stderr, "\n"); \ + exit(EXIT_FAILURE); \ +} + +int main(int argc, char* argv[]) +{ + FILE *fp; + struct yazCtx *ctx; + unsigned size; + + if(argc < 2) + FERR("args: yazenc in.raw > out.yaz"); + + fp = fopen(argv[1], "rb"); + if(fp == NULL) + FERR("failed to open file"); + + fseek(fp, 0, SEEK_END); + size = ftell(fp); + fseek(fp, 0, SEEK_SET); + + fprintf(stderr, "input file size: %d\n", size); + + void *buf = malloc(size); + void *outbuf = malloc( (size + 64) * 2); + + if (fread(buf, 1, size, fp) != size) + FERR("failed to read file"); + + fclose(fp); + + ctx = yazCtx_new(); + if (yazenc(buf, size, outbuf, &size, ctx)) + FERR("encoding error"); + + if (fwrite(outbuf, 1, size, stdout) != size) + FERR("failed to write stdout"); + + yazCtx_free(ctx); + free(buf); + free(outbuf); + return EXIT_SUCCESS; +} +#endif /* YAZ_MAIN_TEST */ + + diff --git a/tools/z64compress/src/enc/zx7.c b/tools/z64compress/src/enc/zx7.c new file mode 100644 index 0000000000..4b4fdb0f9a --- /dev/null +++ b/tools/z64compress/src/enc/zx7.c @@ -0,0 +1,37 @@ +#if 0 +#include "zx7/zx7.h" +#include "zx7/optimize.c" +#include "zx7/compress.c" +#include "zx7/zx7.c" + +int +zx7enc( + void *_src + , unsigned src_sz + , void *_dst + , unsigned *dst_sz + , void *_ctx +) +{ + unsigned char *src = _src; + unsigned char *dst = _dst; + + int hlen = 8; /* header length; required due to MM's archives */ + memset(dst, 0, hlen); + memcpy(dst, "ZX70", 4); + dst[4] = (src_sz >> 24); + dst[5] = (src_sz >> 16); + dst[6] = (src_sz >> 8); + dst[7] = (src_sz >> 0); + + *dst_sz = ZX7Compress(src, src_sz, dst + hlen); + + if (!*dst_sz) + return 1; + + *dst_sz += hlen; + + return 0; +} +#endif + diff --git a/tools/z64compress/src/enc/zx7/compress.c b/tools/z64compress/src/enc/zx7/compress.c new file mode 100644 index 0000000000..1df625e3df --- /dev/null +++ b/tools/z64compress/src/enc/zx7/compress.c @@ -0,0 +1,160 @@ +/* + * (c) Copyright 2012-2016 by Einar Saukas. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * The name of its author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "zx7.h" + +#if !TARGET_PRIZM + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +static unsigned char* c_output_data; +static unsigned int c_output_index; +static unsigned int c_bit_index; +static int c_bit_mask; + +static inline void c_write_byte(int value) { + c_output_data[c_output_index++] = value; +} + +static void c_write_bit(int value) { + if (c_bit_mask == 0) { + c_bit_mask = 128; + c_bit_index = c_output_index; + c_write_byte(0); + } + if (value > 0) { + c_output_data[c_bit_index] |= c_bit_mask; + } + c_bit_mask >>= 1; +} + +static void write_elias_gamma(int value) { + int i; + + for (i = 2; i <= value; i <<= 1) { + c_write_bit(0); + } + while ((i >>= 1) > 0) { + c_write_bit(value & i); + } +} + +unsigned char *compress( + Optimal *optimal + , unsigned char *input_data + , unsigned int input_size + , long skip + , unsigned int *output_size + , unsigned char *dst +) +{ + unsigned int input_index; + unsigned int input_prev; + int offset1; + int mask; + int i; + + /* calculate and allocate output buffer */ + input_index = input_size-1; + *output_size = (optimal[input_index].bits+18+7)/8 + 3; + unsigned char *ret = dst; + if (!ret) { + return 0; + } + + c_output_data = ret + 3; + + /* un-reverse optimal sequence */ + optimal[input_index].bits = 0; + while (input_index != skip) { + input_prev = input_index - (optimal[input_index].len > 0 ? optimal[input_index].len : 1); + optimal[input_prev].bits = input_index; + input_index = input_prev; + } + + c_output_index = 0; + c_bit_mask = 0; + + /* first byte is always literal */ + c_write_byte(input_data[input_index]); + + /* process remaining bytes */ + while ((input_index = optimal[input_index].bits) > 0) { + if (optimal[input_index].len == 0) { + + /* literal indicator */ + c_write_bit(0); + + /* literal value */ + c_write_byte(input_data[input_index]); + + } else { + + /* sequence indicator */ + c_write_bit(1); + + /* sequence length */ + write_elias_gamma(optimal[input_index].len-1); + + /* sequence offset */ + offset1 = optimal[input_index].offset-1; + if (offset1 < 128) { + c_write_byte(offset1); + } else { + offset1 -= 128; + c_write_byte((offset1 & 127) | 128); + for (mask = 1024; mask > 127; mask >>= 1) { + c_write_bit(offset1 & mask); + } + } + } + } + + /* sequence indicator */ + c_write_bit(1); + + /* end marker > MAX_LEN */ + for (i = 0; i < 16; i++) { + c_write_bit(0); + } + c_write_bit(1); + + // decompressed size is first three bytes + ret[0] = (input_size & 0xFF0000) >> 16; + ret[1] = (input_size & 0x00FF00) >> 8; + ret[2] = (input_size & 0x0000FF); + + return ret; +} + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/z64compress/src/enc/zx7/dzx7.c b/tools/z64compress/src/enc/zx7/dzx7.c new file mode 100644 index 0000000000..5909f31f7a --- /dev/null +++ b/tools/z64compress/src/enc/zx7/dzx7.c @@ -0,0 +1,138 @@ +/* + * (c) Copyright 2015 by Einar Saukas. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * The name of its author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "zx7.h" + +#ifdef __cplusplus +extern "C" { +#endif + +static unsigned char *d_input_data; +static unsigned char *d_output_data; +static unsigned int d_input_index; +static unsigned int d_output_index; +static unsigned int d_input_size; +static int bit_mask; +static int bit_value; + +static +int d_read_byte(void) { + return d_input_data[d_input_index++]; +} + +static +int d_read_bit(void) { + bit_mask >>= 1; + if (bit_mask == 0) { + bit_mask = 128; + bit_value = d_read_byte(); + } + return bit_value & bit_mask ? 1 : 0; +} + +static +int read_elias_gamma(void) { + int i; + int value; + + i = 0; + while (!d_read_bit()) { + i++; + } + if (i > 15) { + return -1; + } + value = 1; + while (i--) { + value = value << 1 | d_read_bit(); + } + return value; +} + +int read_offset(void) { + int value; + int i; + + value = d_read_byte(); + if (value < 128) { + return value; + } else { + i = d_read_bit(); + i = i << 1 | d_read_bit(); + i = i << 1 | d_read_bit(); + i = i << 1 | d_read_bit(); + return ((value & 127) | (i << 7)) + 128; + } +} + +static +void d_write_byte(int value) { + d_output_data[d_output_index++] = value; +} + +void d_write_bytes(int offset, int length) { + int i; + while (length-- > 0) { + i = d_output_index-offset; + d_write_byte(d_output_data[i]); + } +} + +unsigned int ZX7GetDecompressedSize(unsigned char* compressedData) { + return compressedData[0] * 65536 + compressedData[1] * 256 + compressedData[2]; +} + +int ZX7Decompress(unsigned char* srcData, unsigned char* destData, unsigned int destLength) { + if (destLength < ZX7GetDecompressedSize(srcData) || !srcData || !destData) { + return -1; + } + + int length; + + d_input_data = srcData + 3; + d_output_data = destData; + + d_input_size = 0; + d_input_index = 0; + d_output_index = 0; + bit_mask = 0; + + d_write_byte(d_read_byte()); + while (1) { + if (!d_read_bit()) { + d_write_byte(d_read_byte()); + } else { + length = read_elias_gamma()+1; + if (length == 0) { + return 0; + } + d_write_bytes(read_offset()+1, length); + } + } +} + +#ifdef __cplusplus +} +#endif diff --git a/tools/z64compress/src/enc/zx7/optimize.c b/tools/z64compress/src/enc/zx7/optimize.c new file mode 100644 index 0000000000..e0d59396d8 --- /dev/null +++ b/tools/z64compress/src/enc/zx7/optimize.c @@ -0,0 +1,167 @@ +/* + * (c) Copyright 2012-2016 by Einar Saukas. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * The name of its author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "zx7.h" + +#if !TARGET_PRIZM + +#ifdef __cplusplus +extern "C" { +#endif + + +#include +#include /* memset */ + +/* reusable memory (free using zx7_shutdown()) */ +static unsigned int *min = 0; +static unsigned int *max = 0; +static unsigned int *matches = 0; +static unsigned int *match_slots = 0; +static Optimal *optimal = 0; + +void +zx7_shutdown(void) +{ + if (min) + free(min); + if (max) + free(max); + if (matches) + free(matches); + if (match_slots) + free(match_slots); + if (optimal) + free(optimal); +} + +static int elias_gamma_bits(int value) { + int bits; + + bits = 1; + while (value > 1) { + bits += 2; + value >>= 1; + } + return bits; +} + +static int count_bits(int offset, int len) { + return 1 + (offset > 128 ? 12 : 8) + elias_gamma_bits(len-1); +} + +Optimal *optimize( + unsigned char *input_data + , unsigned int input_size + , unsigned long skip +) { + + unsigned int *match; + int match_index; + int offset; + unsigned int len; + unsigned int best_len; + unsigned int bits; + unsigned int i; + + /* allocate all data structures at once */ + if (!min) + min = malloc((MAX_OFFSET+1) * sizeof(*min)); + if (!max) + max = malloc((MAX_OFFSET+1) * sizeof(*max)); + if (!matches) + matches = malloc(256 * 256 * sizeof(*matches)); + if (!match_slots) + match_slots = malloc(input_size * sizeof(*match_slots)); + if (!optimal) + optimal = malloc(input_size * sizeof(*optimal)); + + if (!min || !max || !matches || !match_slots || !optimal) + return 0; + + memset(min, 0, (MAX_OFFSET+1) * sizeof(*min)); + memset(max, 0, (MAX_OFFSET+1) * sizeof(*max)); + memset(matches, 0, 256 * 256 * sizeof(*matches)); + memset(match_slots, 0, input_size * sizeof(*match_slots)); + memset(optimal, 0, input_size * sizeof(*optimal)); + + /* index skipped bytes */ + for (i = 1; i <= skip; i++) { + match_index = input_data[i-1] << 8 | input_data[i]; + match_slots[i] = matches[match_index]; + matches[match_index] = i; + } + + /* first byte is always literal */ + optimal[skip].bits = 8; + + /* process remaining bytes */ + for (; i < input_size; i++) { + + optimal[i].bits = optimal[i-1].bits + 9; + match_index = input_data[i-1] << 8 | input_data[i]; + best_len = 1; + for (match = &matches[match_index]; *match != 0 && best_len < MAX_LEN; match = &match_slots[*match]) { + offset = i - *match; + if (offset > MAX_OFFSET) { + *match = 0; + break; + } + + for (len = 2; len <= MAX_LEN && i >= skip+len; len++) { + if (len > best_len) { + best_len = len; + bits = optimal[i-len].bits + count_bits(offset, len); + if (optimal[i].bits > bits) { + optimal[i].bits = bits; + optimal[i].offset = offset; + optimal[i].len = len; + } + } else if (max[offset] != 0 && i+1 == max[offset]+len) { + len = i-min[offset]; + if (len > best_len) { + len = best_len; + } + } + if (i < offset+len || input_data[i-len] != input_data[i-len-offset]) { + break; + } + } + min[offset] = i+1-len; + max[offset] = i; + } + match_slots[i] = matches[match_index]; + matches[match_index] = i; + } + + return optimal; +} + + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/z64compress/src/enc/zx7/zx7.c b/tools/z64compress/src/enc/zx7/zx7.c new file mode 100644 index 0000000000..06f65d3748 --- /dev/null +++ b/tools/z64compress/src/enc/zx7/zx7.c @@ -0,0 +1,46 @@ +/* + * (c) Copyright 2012-2016 by Einar Saukas. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * The name of its author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "zx7.h" + +#if !TARGET_PRIZM + +#ifdef __cplusplus +extern "C" { +#endif + +// ZX7 Compress the given data, outData is malloc'd and the return value is the length (first 3 bytes of data will be 24-bit size result for convenience) +unsigned int ZX7Compress(unsigned char *srcData, unsigned int inLength, unsigned char *outData) { + unsigned int output_size; + compress(optimize(srcData, inLength, 0), srcData, inLength, 0, &output_size, outData); + + return output_size; +} + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/z64compress/src/enc/zx7/zx7.h b/tools/z64compress/src/enc/zx7/zx7.h new file mode 100644 index 0000000000..a3a4e6cdaf --- /dev/null +++ b/tools/z64compress/src/enc/zx7/zx7.h @@ -0,0 +1,66 @@ +/* + * (c) Copyright 2012-2016 by Einar Saukas. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * The name of its author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +#if !TARGET_PRIZM + +typedef struct optimal_t { + unsigned int bits; + int offset; + int len; +} Optimal; + +#define MAX_OFFSET 2176 /* range 1..2176 */ +#define MAX_LEN 65536 /* range 2..65536 */ + +Optimal *optimize(unsigned char *input_data, unsigned int input_size, unsigned long skip); + +unsigned char *compress(Optimal *optimal, unsigned char *input_data, unsigned int input_size, long skip, unsigned int *output_size, unsigned char *dst); + +// THOMAS : added these for my use: + +// ZX7 Compress the given data, outData is malloc'd and the return value is the length (first 3 bytes of data will be 24-bit size result for convenience) +unsigned int ZX7Compress(unsigned char *srcData, unsigned int inLength, unsigned char *outData); + +#endif + +// Get decompressed size of ZX7Compress'd data +unsigned int ZX7GetDecompressedSize(unsigned char* compressedData); + +// Decompress the given data. Returns 0 with no errors +int ZX7Decompress(unsigned char* srcData, unsigned char* destData, unsigned int destLength); + +/* free reusable buffers */ +void +zx7_shutdown(void); + +#ifdef __cplusplus +} +#endif diff --git a/tools/z64compress/src/main.c b/tools/z64compress/src/main.c new file mode 100644 index 0000000000..eaa196aba1 --- /dev/null +++ b/tools/z64compress/src/main.c @@ -0,0 +1,380 @@ +#include +#include +#include +#include +#include + +#include "wow.h" +#include "rom.h" + +FILE* printer; + +static void compress(struct rom *rom, int start, int end) +{ + rom_dma_compress(rom, start, end, 1); +} + +static void skip(struct rom *rom, int start, int end) +{ + rom_dma_compress(rom, start, end, 0); +} + +static void repack(struct rom *rom, int start, int end) +{ + rom_dma_repack( + rom + , start + , end + , "yaz" /* old codec */ + , 0 /* new codec */ + ); +} + +static void do_pattern( + struct rom *rom + , const char *str + , void func(struct rom *rom, int start, int end) +) +{ + const char *Ostr = str; + int last_int = -1; + int last_op = 0; + int cur; + int len; + + while (*str) + { + if (*str == '\'' || *str == '"') + { + ++str; + continue; + } + + /* calculate length of current token */ + len = strspn(str, "0123456789xXaAbBcCdDeEfF"); /* allow hex */ + if (!len) /* no len, assume it's an operator */ + len = 1; + + /* is a number or variable */ + if (isdigit(*str) || !strncmp(str, "END", 3)) + { + /* 'END' is shorthand for last entry */ + if (!strncmp(str, "END", 3)) + { + cur = rom_dma_num(rom); + str += 2; + } + + /* otherwise, it's a number */ + else + sscanf(str, "%i", &cur); + + if (cur < last_int) + die( + "invalid pattern '%s'; " + "values are not in ascending order" + , Ostr + ); + + /* apply operations on item(s) */ + if (last_op == '-') + func(rom, last_int, cur); + else + func(rom, cur, cur); + + /* prevents processing this item + * again when 'through' is used + */ + cur += 1; + } + + /* 'through' or 'single item', respectively */ + else if (*str == '-' || *str == ',') + { + if (last_int < 0) + die( + "invalid pattern '%s'; " + "pattern does not begin with number" + , Ostr + ); + last_op = *str; + } + + /* unknown character encountered */ + else + { + die( + "invalid pattern '%s'; " + "encountered unknown operator '%c'" + , Ostr + , *str + ); + } + + /* advance */ + str += len; + last_int = cur; + } +} + +static void usage(void) +{ + /* compression examples for users to adapt to their needs */ + fprintf(printer, "\n"); + fprintf(printer, " compressing oot debug\n"); + fprintf(printer, " --in \"path/to/in.z64\"\n"); + fprintf(printer, " --out \"path/to/out.z64\"\n"); + fprintf(printer, " --mb 32\n"); + fprintf(printer, " --codec yaz\n"); + fprintf(printer, " --cache \"path/to/cache\"\n"); + fprintf(printer, " --dma \"0x12F70,1548\"\n"); + fprintf(printer, " --compress \"9-14,28-END\"\n"); + fprintf(printer, " --threads 4\n"); + fprintf(printer, "\n"); + fprintf(printer, " compressing oot ntsc 1.0\n"); + fprintf(printer, " --in \"path/to/in.z64\"\n"); + fprintf(printer, " --out \"path/to/out.z64\"\n"); + fprintf(printer, " --mb 32\n"); + fprintf(printer, " --codec yaz\n"); + fprintf(printer, " --cache \"path/to/cache\"\n"); + fprintf(printer, " --dma \"0x7430,1526\"\n"); + fprintf(printer, " --compress \"10-14,27-END\"\n"); + fprintf(printer, " --threads 4\n"); + fprintf(printer, "\n"); + fprintf(printer, " compressing mm usa\n"); + fprintf(printer, " --in \"path/to/in.z64\"\n"); + fprintf(printer, " --out \"path/to/out.z64\"\n"); + fprintf(printer, " --mb 32\n"); + fprintf(printer, " --codec yaz\n"); + fprintf(printer, " --cache \"path/to/cache\"\n"); + fprintf(printer, " --dma \"0x1A500,1568\"\n"); + fprintf(printer, " --compress \"10-14,23,24,31-END\"\n"); + fprintf(printer, " --skip \"1127\"\n"); + fprintf(printer, " --repack \"15-20,22\"\n"); + fprintf(printer, " --threads 4\n"); + fprintf(printer, "\n"); + fprintf(printer, " arguments\n"); + fprintf(printer, " --in uncompressed input rom\n"); + fprintf(printer, "\n"); + fprintf(printer, " --out compressed output rom\n"); + fprintf(printer, "\n"); + fprintf(printer, " --matching attempt matching compression at the cost of\n"); + fprintf(printer, " some optimizations and reduced performance\n"); + fprintf(printer, "\n"); + fprintf(printer, " --mb how many mb the compressed rom should be\n"); + fprintf(printer, "\n"); + fprintf(printer, " --codec currently supported codecs\n"); + fprintf(printer, " yaz\n"); + fprintf(printer, " ucl\n"); + fprintf(printer, " lzo\n"); + fprintf(printer, " aplib\n"); + fprintf(printer, " * to use non-yaz codecs, find patches\n"); + fprintf(printer, " and code on my z64enc repo\n"); + fprintf(printer, "\n"); + fprintf(printer, " --cache is optional and won't be created if\n"); + fprintf(printer, " no path is specified (having a cache\n"); + fprintf(printer, " makes subsequent compressions faster)\n"); + fprintf(printer, " * pro-tip: linux users who don't want a\n"); + fprintf(printer, " cache to persist across power cycles\n"); + fprintf(printer, " can use the path \"/tmp/z64compress\"\n"); + fprintf(printer, "\n"); + fprintf(printer, " --dma specify dmadata address and count\n"); + fprintf(printer, "\n"); + fprintf(printer, " --compress enable compression on specified files\n"); + fprintf(printer, "\n"); + fprintf(printer, " --skip disable compression on specified files\n"); + fprintf(printer, "\n"); + fprintf(printer, " --repack handles Majora's Mask archives\n"); + fprintf(printer, "\n"); + fprintf(printer, " --threads optional multithreading;\n"); + fprintf(printer, " exclude this argument to disable it\n"); + fprintf(printer, "\n"); + fprintf(printer, " --only-stdout reserve stderr for errors and print\n"); + fprintf(printer, " everything else to stdout\n"); + fprintf(printer, "\n"); + fprintf(printer, " arguments are executed as they\n"); + fprintf(printer, " are parsed, so order matters!\n"); + fprintf(printer, "\n"); +} + +wow_main +{ + struct rom *rom = 0; + const char *Ain = 0; + const char *Aout = 0; + const char *Adma = 0; + const char *Acodec = 0; + const char *Acache = 0; + int Amb = 0; + int Athreads = 0; + bool Amatching = false; + bool Aonly_stdout = false; + wow_main_argv; + + printer = stderr; + for (int i = 1; i < argc; ++i) + { + if (!strcmp(argv[i], "--only-stdout")) + { + setvbuf(stdout, NULL, _IONBF, 0); + printer = stdout; + } + } + + fprintf(printer, "welcome to z64compress \n"); + + if (argc <= 1) + { + usage(); + return EXIT_FAILURE; + } + + /* hacky argument handling */ + for (int i = 1; i < argc; i += 2) + { + const char *arg = argv[i]; + + /* arguments that do not require additional parameters */ + + if(!strcmp(arg, "--only-stdout")) + { + if (Aonly_stdout) + die("--only-stdout arg provided more than once"); + // handled above + Aonly_stdout = true; + i--; + continue; + } + else if (!strcmp(arg, "--matching")) + { + if (Amatching) + die("--matching arg provided more than once"); + Amatching = true; + i--; + continue; + } + + /* arguments with additional parameters */ + + const char *next = argv[i + 1]; + + if (!next) + die("%s missing parameter", arg); + + if (!strcmp(arg, "--in")) + { + if (Ain) + die("--in arg provided more than once"); + Ain = next; + rom = rom_new(Ain); + } + else if (!strcmp(arg, "--out")) + { + if (Aout) + die("--out arg provided more than once"); + Aout = next; + } + else if (!strcmp(arg, "--cache")) + { + if (Acache) + die("--cache arg provided more than once"); + Acache = next; + rom_set_cache(rom, Acache); + } + else if (!strcmp(arg, "--codec")) + { + if (Acodec) + die("--codec arg provided more than once"); + if (!Ain) + die("--dma arg provided before --in arg"); + Acodec = next; + rom_set_codec(rom, Acodec); + } + else if (!strcmp(arg, "--dma")) + { + int num; + int start = 0; + + if (!Acodec) + die("--dma arg provided before --codec arg"); + if (!Ain) + die("--dma arg provided before --in arg"); + if (Adma) + die("--dma arg provided more than once"); + Adma = next; + if (sscanf(Adma, "%i,%i", &start, &num) != 2) + die("--dma bad formatting '%s'", Adma); + rom_dma(rom, start, num, Amatching); + } + else if (!strcmp(arg, "--mb")) + { + if (Amb) + die("--mb arg provided more than once"); + if (sscanf(next, "%i", &Amb) != 1) + die("--mb could not get value from string '%s'", next); + if (Amb <= 0) + die("--mb invalid value %d", Amb); + } + else if (!strcmp(arg, "--compress")) + { + if (!Adma) + die("--compress arg provided before --dma arg"); + do_pattern(rom, next, compress); + } + else if (!strcmp(arg, "--skip")) + { + if (!Adma) + die("--skip arg provided before --dma arg"); + do_pattern(rom, next, skip); + } + else if (!strcmp(arg, "--repack")) + { + if (!Adma) + die("--repack arg provided before --dma arg"); + if (!Acodec) + die("--repack arg provided before --codec arg"); + do_pattern(rom, next, repack); + } + else if(!strcmp(arg, "--threads")) + { + if (Athreads) + die("--threads arg provided more than once"); + if (sscanf(next, "%i", &Athreads) != 1) + die("--threads could not get value from string '%s'", next); + if (Athreads < 0) + die("--threads invalid value %d", Athreads); + } + else + { + die("unknown argument '%s'", arg); + } + } + + #define ARG_ZERO_TEST(TEST, NAME) \ + if (!(TEST)) \ + die("no " NAME " arg provided") + + ARG_ZERO_TEST(Ain , "--in" ); + ARG_ZERO_TEST(Aout , "--out" ); + ARG_ZERO_TEST(Amb , "--mb" ); + ARG_ZERO_TEST(Acodec, "--codec"); + + #undef ARG_ZERO_TEST + + /* finished initializing dma settings */ + rom_dma_ready(rom, Amatching); + + /* compress rom */ + rom_compress(rom, Amb, Athreads, Amatching); + fprintf(printer, "rom compressed successfully!\n"); + + /* write compressed rom */ + rom_save(rom, Aout); + fprintf(printer, "compressed rom written successfully!\n"); + + /* cleanup */ + rom_free(rom); + + return EXIT_SUCCESS; +} + diff --git a/tools/z64compress/src/n64crc.c b/tools/z64compress/src/n64crc.c new file mode 100644 index 0000000000..a34d646eac --- /dev/null +++ b/tools/z64compress/src/n64crc.c @@ -0,0 +1,197 @@ +/* snesrc - SNES Recompiler + * + * Mar 23, 2010: addition by spinout to actually fix CRC if it is incorrect + * + * Copyright notice for this file: + * Copyright (C) 2005 Parasyte + * + * Based on uCON64's N64 checksum algorithm by Andreas Sterbenz + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#include + +#define ROL(i, b) (((i) << (b)) | ((i) >> (32 - (b)))) +#define BYTES2LONG(b) ( (b)[0] << 24 | \ + (b)[1] << 16 | \ + (b)[2] << 8 | \ + (b)[3] ) + +#define N64_HEADER_SIZE 0x40 +#define N64_BC_SIZE (0x1000 - N64_HEADER_SIZE) + +#define N64_CRC1 0x10 +#define N64_CRC2 0x14 + +#define CHECKSUM_START 0x00001000 +#define CHECKSUM_LENGTH 0x00100000 +#define CHECKSUM_CIC6102 0xF8CA4DDC +#define CHECKSUM_CIC6103 0xA3886759 +#define CHECKSUM_CIC6105 0xDF26F436 +#define CHECKSUM_CIC6106 0x1FEA617A + + +static void gen_table(unsigned int crc_table[256]) +{ + unsigned int crc, poly; + int i, j; + + poly = 0xEDB88320; + for (i = 0; i < 256; i++) { + crc = i; + for (j = 8; j > 0; j--) { + if (crc & 1) crc = (crc >> 1) ^ poly; + else crc >>= 1; + } + crc_table[i] = crc; + } +} + + +static unsigned int crc32( + unsigned int crc_table[256] + , unsigned char *data + , int len +) +{ + unsigned int crc = ~0; + int i; + + for (i = 0; i < len; i++) { + crc = (crc >> 8) ^ crc_table[(crc ^ data[i]) & 0xFF]; + } + + return ~crc; +} + + +static int N64GetCIC(unsigned int crc_table[256], unsigned char *data) +{ + switch (crc32(crc_table, &data[N64_HEADER_SIZE], N64_BC_SIZE)) { + case 0x6170A4A1: return 6101; + case 0x90BB6CB5: return 6102; + case 0x0B050EE0: return 6103; + case 0x98BC2C86: return 6105; + case 0xACC8580A: return 6106; + } + + return 0; +} + + +static int N64CalcCRC( + unsigned int crc_table[256] + , unsigned int *crc + , unsigned char *data +) +{ + int bootcode, i; + unsigned int seed; + unsigned int t1, t2, t3; + unsigned int t4, t5, t6; + unsigned int r, d; + + switch ((bootcode = N64GetCIC(crc_table, data))) { + case 6101: + case 6102: + seed = CHECKSUM_CIC6102; + break; + case 6103: + seed = CHECKSUM_CIC6103; + break; + case 6105: + seed = CHECKSUM_CIC6105; + break; + case 6106: + seed = CHECKSUM_CIC6106; + break; + default: + return 1; + } + + t1 = t2 = t3 = t4 = t5 = t6 = seed; + + i = CHECKSUM_START; + while (i < (CHECKSUM_START + CHECKSUM_LENGTH)) { + d = BYTES2LONG(&data[i]); + if ((t6 + d) < t6) + t4++; + t6 += d; + t3 ^= d; + r = ROL(d, (d & 0x1F)); + t5 += r; + if (t2 > d) + t2 ^= r; + else + t2 ^= t6 ^ d; + + if (bootcode == 6105) + t1 += BYTES2LONG(&data[N64_HEADER_SIZE + 0x0710 + (i & 0xFF)]) ^ d; + else + t1 += t5 ^ d; + + i += 4; + } + if (bootcode == 6103) { + crc[0] = (t6 ^ t4) + t3; + crc[1] = (t5 ^ t2) + t1; + } + else if (bootcode == 6106) { + crc[0] = (t6 * t4) + t3; + crc[1] = (t5 * t2) + t1; + } + else { + crc[0] = t6 ^ t4 ^ t3; + crc[1] = t5 ^ t2 ^ t1; + } + + return 0; +} + + +/* recalculate rom crc */ +void n64crc(void *rom) +{ + unsigned int crc_table[256]; + unsigned char CRC1[4]; + unsigned char CRC2[4]; + unsigned int crc[2]; + unsigned char *rom8 = rom; + + assert(rom); + + gen_table(crc_table); + + if (!N64CalcCRC(crc_table, crc, rom)) + { + unsigned int kk1 = crc[0]; + unsigned int kk2 = crc[1]; + int i; + + for (i = 0; i < 4; ++i) + { + CRC1[i] = (kk1 >> (24-8*i))&0xFF; + CRC2[i] = (kk2 >> (24-8*i))&0xFF; + } + + for (i = 0; i < 4; ++i) + *(rom8 + N64_CRC1 + i) = CRC1[i]; + + for (i = 0; i < 4; ++i) + *(rom8 + N64_CRC2 + i) = CRC2[i]; + } +} + diff --git a/tools/z64compress/src/n64crc.h b/tools/z64compress/src/n64crc.h new file mode 100644 index 0000000000..b5342dac62 --- /dev/null +++ b/tools/z64compress/src/n64crc.h @@ -0,0 +1,32 @@ +/* snesrc - SNES Recompiler + * + * Mar 23, 2010: addition by spinout to actually fix CRC if it is incorrect + * + * Copyright notice for this file: + * Copyright (C) 2005 Parasyte + * + * Based on uCON64's N64 checksum algorithm by Andreas Sterbenz + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef N64CRC_H_INCLUDED +#define N64CRC_H_INCLUDED + +/* recalculate rom crc */ +void n64crc(void *rom); + +#endif /* N64CRC_H_INCLUDED */ + diff --git a/tools/z64compress/src/rom.c b/tools/z64compress/src/rom.c new file mode 100644 index 0000000000..e8aceb5327 --- /dev/null +++ b/tools/z64compress/src/rom.c @@ -0,0 +1,1677 @@ +/* + * rom.c + * + * functions for compression magic reside herein + * + * z64me + * + */ + +#include +#include +#include +#include +#include +#include +#include + +/* POSIX dependencies */ +#include +#include +#include + +/* threading */ +#include + +#include "enc/enc.h" /* file compression */ +#include "enc/yar.h" /* MM archive tools */ + +#include "sha1.h" /* sha1 helpers */ +#include "n64crc.h" /* n64crc() */ + +#include "wow.h" +#include "wow_dirent.h" /* XXX always #include after dirent.h */ +#undef fopen +#undef fread +#undef fwrite +#undef remove +#define fopen wow_fopen +#define fread wow_fread +#define fwrite wow_fwrite +#define remove wow_remove + +extern FILE* printer; + +#define SIZE_16MB (1024 * 1024 * 16) +#define SIZE_4MB (1024 * 1024 * 4) + +#define DMA_DELETED 0xffffffff /* aka UINT32_MAX */ + +#define DMASORT(ROM, FUNC) \ + qsort( \ + ROM->dma \ + , ROM->dma_num \ + , sizeof(*(ROM->dma)) \ + , FUNC \ + ) + +#define DMASORT_N(ROM, FUNC, NUM) \ + qsort( \ + ROM->dma \ + , NUM \ + , sizeof(*(ROM->dma)) \ + , FUNC \ + ) + +#define DMA_FOR_EACH \ +for (dma = rom->dma; (unsigned)(dma - rom->dma) < rom->dma_num; ++dma) + +#define PROGRESS_A_B (int)(dma - rom->dma), rom->dma_num + +#define ALIGN16(x) (((x) + 0xF) & ~0xF) + +/* + * + * private types + * + */ + + +struct encoder +{ + int (*encfunc)( + void *src + , unsigned src_sz + , void *dst + , unsigned *dst_sz + , void *_ctx + ); + void *(*ctx_new)(void); + void (*ctx_free)(void *); +}; + + +struct dma +{ + char *compname; /* name of compressed file */ + void *compbuf; /* cache-less compressed data */ + unsigned int index; /* original index location */ + int compress; /* entry can be compressed */ + int deleted; /* points to deleted file */ + unsigned compSz; /* cache-less compressed size */ + unsigned int start; /* start offset */ + unsigned int end; /* end offset */ + unsigned int Pstart; /* start of physical (P) data */ + unsigned int Pend; /* end of physical (P) data */ + unsigned int Ostart; /* original (O) start */ + unsigned int Oend; /* original (O) end */ +}; + + +struct rom +{ + char *fn; /* filename of loaded rom */ + char *codec; /* compression codec */ + char *cache; /* compression cache */ + unsigned char *data; /* raw rom data */ + unsigned int data_sz; /* size of rom data */ + unsigned int ofs; /* offset where rom_write() writes */ + int is_comp; /* non-0 if rom has been compressed */ + struct dma *dma; /* dma array */ + unsigned int dma_num; /* number of entries in dma array */ + unsigned char *dma_raw; /* pointer to raw dmadata */ + int dma_ready; /* non-zero after dma_ready() */ + + /* memory pools for things like compression */ + struct + { + void *mb16; /* 16 mb */ + void *mb4; /* 4 mb */ + } mem; +}; + + +struct fldr_item +{ + char *name; /* name */ + void *udata; /* udata */ +}; + + +struct folder +{ + struct fldr_item *item; /* item array */ + int num; /* number of items in array */ + struct fldr_item *active; /* active item */ +}; + + +struct compThread +{ + struct rom *rom; + void *data; + int (*encfunc)( + void *src + , unsigned src_sz + , void *dst + , unsigned *dst_sz + , void *_ctx + ); + const char *codec; + char *dot_codec; + struct folder *list; + int stride; /* number of entries to advance each time */ + int ofs; /* starting entry in list */ + int report; /* report progress to stderr (last thread only) */ + void *ctx; /* compression context */ + bool matching; + pthread_t pt; /* pthread */ +}; + +/* + * + * private functions + * + */ + + +/* get 32-bit value from raw data */ +static int get32(void *_data) +{ + unsigned char *data = _data; + + return (data[0] << 24) | (data[1] << 16) | (data[2] << 8) | data[3]; +} + + +/* get size of a file; returns 0 if fopen fails */ +static unsigned int file_size(const char *fn) +{ + FILE *fp; + unsigned int sz; + + fp = fopen(fn, "rb"); + if (!fp) + return 0; + + fseek(fp, 0, SEEK_END); + sz = ftell(fp); + fclose(fp); + + return sz; +} + +/* load a file into an existing buffer */ +static void *file_load_into( + const char *dir + , const char *fn + , unsigned int *sz + , void *dst +) +{ + FILE *fp; + + assert(fn); + assert(sz); + assert(dst); + + if (!dir) + dir = ""; + + *sz = 0; + + fp = fopen(fn, "rb"); + if (!fp) + die("failed to open '%s%s' for reading", dir, fn); + + fseek(fp, 0, SEEK_END); + *sz = ftell(fp); + + if (!*sz) + die("size of file '%s%s' is zero", dir, fn); + + fseek(fp, 0, SEEK_SET); + + if (fread(dst, 1, *sz, fp) != *sz) + die("failed to read contents of '%s%s'", dir, fn); + + fclose(fp); + + return dst; +} + +/* load a file */ +static void *file_load(const char *fn, unsigned int *sz) +{ + unsigned char *dst; + + assert(fn); + assert(sz); + + *sz = file_size(fn); + if (!*sz) + die("failed to get size of file '%s'", fn); + + dst = malloc_safe(*sz); + + return file_load_into(0, fn, sz, dst); +} + +/* write file */ +static unsigned int file_write( + const char *fn + , void *data + , unsigned int data_sz +) +{ + FILE *fp; + + assert(fn); + assert(data); + assert(data_sz); + + fp = fopen(fn, "wb"); + if (!fp) + return 0; + + data_sz = fwrite(data, 1, data_sz, fp); + + fclose(fp); + + return data_sz; +} + + +/* allocate a folder structure and parse current working directory */ +static struct folder *folder_new(void) +{ + wow_DIR *dir; + struct wow_dirent *ep; + struct fldr_item *item; + struct folder *folder; + char cwd[4096]; + int count = 0; + int recount = 0; + + /* allocate a folder */ + folder = calloc_safe(1, sizeof(*folder)); + + /* get current working directory for error reporting */ + wow_getcwd_safe(cwd, sizeof(cwd)); + + /* first pass: count the contents */ + dir = wow_opendir("."); + if (!dir) + die("failed to parse directory '%s'", cwd); + while ((ep = wow_readdir(dir))) + count += 1; + wow_closedir(dir); + + /* folder is empty */ + if (!count) + die("folder '%s' is empty", cwd); + + /* allocate item array */ + item = calloc_safe(count, sizeof(*item)); + folder->item = item; + folder->num = count; + + /* second pass: retrieve requested contents */ + dir = wow_opendir("."); + if (!dir) + die("failed to parse directory '%s'", cwd); + for ( + recount = 0 + ; (ep = wow_readdir(dir)) && recount < count + ; ++recount, ++item + ) + { + const char *dn; + + dn = (const char*)ep->d_name; + + /* skip names starting with '.' (covers both "." and "..") */ + if (*dn == '.') + continue; + + /* skip directories */ + if (wow_is_dir(dn)) + continue; + + /* make a copy of the string */ + item->name = strdup_safe(dn); + } + + if (recount != count) + die("contents of '%s' changed during read, try again", cwd); + wow_closedir(dir); + + return folder; +} + + +/* free a folder structure */ +static void folder_free(struct folder *folder) +{ + if (!folder) + return; + + /* folder contains items */ + if (folder->item) + { + struct fldr_item *item; + + /* walk item list, freeing resources owned by each */ + for ( + item = folder->item + ; item - folder->item < folder->num + ; ++item + ) + { + if (item->name) + free(item->name); + } + + /* free item list */ + free(folder->item); + } + + /* free folder */ + free(folder); +} + + +/* locate folder item by name, ignoring extension (such as '.raw') */ +static struct fldr_item *folder_findNameNoExt( + struct folder *folder + , char *name +) +{ + struct fldr_item *item; + + assert(folder); + assert(name); + + for ( + item = folder->item + ; item - folder->item < folder->num + ; ++item + ) + { + char *period; + int nchar; + + /* item has no name */ + if (!item->name) + continue; + + /* doesn't contain a period */ + if (!(period = strrchr(item->name, '.'))) + continue; + + /* number of bytes to compare */ + nchar = period - item->name; + + /* names match */ + if (!memcmp(item->name, name, nchar)) + return item; + } + + return 0; +} + + +/* retrieve encoder from name */ +static const struct encoder *encoder(const char *name) +{ + if (!strcmp(name, "yaz")) + { + static const struct encoder yaz = { + .encfunc = yazenc + , .ctx_new = yazCtx_new + , .ctx_free = yazCtx_free + }; + + return &yaz; + } + else if (!strcmp(name, "lzo")) + { + static const struct encoder lzo = { + .encfunc = lzoenc + , .ctx_new = lzoCtx_new + , .ctx_free = lzoCtx_free + }; + + return &lzo; + } + else if (!strcmp(name, "ucl")) + { + static const struct encoder ucl = { + .encfunc = uclenc + }; + + return &ucl; + } + /*else if (!strcmp(name, "zx7")) + { + static const struct encoder zx7 = { + .encfunc = zx7enc + }; + + return &zx7; + }*/ + else if (!strcmp(name, "aplib")) + { + static const struct encoder aplib = { + .encfunc = aplenc + }; + + return &aplib; + } + else + die("unknown compression codec '%s'", name); + + return 0; +} + + +/* sort dma array by start, ascending */ +static int sortfunc_dma_start_ascend(const void *_a, const void *_b) +{ + const struct dma *a = _a; + const struct dma *b = _b; + + if (a->start < b->start) + return -1; + + else if (a->start > b->start) + return 1; + + return 0; +} + + +/* sort dma array by size, descending */ +static int sortfunc_dma_size_descend(const void *_a, const void *_b) +{ + const struct dma *a = _a; + const struct dma *b = _b; + + unsigned int a_len = a->end - a->start; + unsigned int b_len = b->end - b->start; + + if (a_len < b_len) + return 1; + + else if (a_len > b_len) + return -1; + + return 0; +} + + +/* enter a directory (will be created if it doesn't exist) */ +static void dir_enter(const char *dir) +{ + /* unable to enter directory */ + if (wow_chdir(dir)) + { + /* attempt to create directory */ + if (wow_mkdir(dir)) + die("failed to create directory '%s'", dir); + + if (wow_chdir(dir)) + die("failed to enter directory '%s'", dir); + } +} + + +static void report_progress( + struct rom *rom + , const char *codec + , int v + , int total +) +{ + /* caching enabled */ + if (rom->cache) + fprintf( + printer + , "\r""updating '%s/%s' %d/%d: " + , rom->cache + , codec + , v + , total + ); + + else + fprintf( + printer + , "\r""compressing file %d/%d: " + , v + , total + ); +} + +/* compress a list of files */ +static void dma_compress( + struct rom *rom + , void *compbuf + , int encfunc( + void *src + , unsigned src_sz + , void *dst + , unsigned *dst_sz + , void *_ctx + ) + , const char *codec + , char *dot_codec + , struct folder *list + , int stride /* number of entries to advance each time */ + , int ofs /* starting entry in list */ + , int report /* report progress to stderr (last thread only) */ + , void *ctx /* compression context */ + , bool matching +) +{ + struct dma *dma; + struct fldr_item *item; + + for (dma = rom->dma + ofs + ; (unsigned)(dma - rom->dma) < rom->dma_num + ; dma += stride + ) + { + char *iname = 0; + unsigned char *data = rom->data + dma->start; + unsigned char checksum[64]; + char readable[64]; + int len = dma->end - dma->start; + + /* report the progress */ + if (report) + report_progress(rom, codec, PROGRESS_A_B); + + /* skip files that have a size of 0 */ + if (dma->start == dma->end) + continue; + + /* caching is disabled, just compress */ + if (!rom->cache) + { + int err; + dma->compbuf = compbuf; + + /* don't compress this file */ + if (!dma->compress) + { + dma->compSz = dma->end - dma->start; + dma->compbuf = memdup_safe( + rom->data + dma->start + , dma->compSz + ); + continue; + } + + err = + encfunc( + rom->data + dma->start + , dma->end - dma->start + , dma->compbuf + , &dma->compSz + , ctx + ); + + /* file doesn't benefit from compression */ + if (!matching && dma->compSz >= dma->end - dma->start) + { + dma->compSz = dma->end - dma->start; + dma->compbuf = memdup_safe( + rom->data + dma->start + , dma->compSz + ); + dma->compress = 0; + } + else + dma->compbuf = memdup_safe(dma->compbuf, dma->compSz); + + if (err) + die("compression error"); + + /* the rest of the loop applies only to caches */ + continue; + } + + /* get readable checksum name */ + stb_sha1(checksum, data, len); + stb_sha1_readable(readable, checksum); + + /* see if item already exists in folder */ + item = folder_findNameNoExt(list, readable); + if (item) + { + /* use full file name, including extension */ + iname = item->name; + + /* it exists, so use udata to mark the file as used */ + item->udata = dot_codec; + dma->compSz = file_size(iname); + + /* uncompressed file */ + if (strstr(iname, ".raw")) + dma->compress = 0; + } + /* item doesn't exist, so create it */ + else + { + void *out = compbuf; + unsigned out_sz; + int err; + + /* file not marked for compression */ + if (!dma->compress) + { + out = rom->data + dma->start; + out_sz = dma->end - dma->start; + dma->compress = 0; + strcat(readable, ".raw"); + + /* write file */ + if (file_write(readable, out, out_sz) != out_sz) + die("error writing file 'cache/%s/%s'", codec, readable); + + dma->compSz = out_sz; + dma->compname = strdup_safe(readable); + + /* the remaining block applies only to compressed files */ + continue; + } + + err = + encfunc( + rom->data + dma->start + , dma->end - dma->start + , out + , &out_sz + , ctx + ); + + if (err) + die("compression error"); + + /* file doesn't benefit from compression */ + if (!matching && out_sz >= dma->end - dma->start) + { + out = rom->data + dma->start; + out_sz = dma->end - dma->start; + dma->compress = 0; + strcat(readable, ".raw"); + } + /* file benefits from compression */ + else + /* add encoding as extension, ex '.yaz' */ + strcat(readable, dot_codec); + + /* write file */ + if (file_write(readable, out, out_sz) != out_sz) + die("error writing file 'cache/%s/%s'", codec, readable); + + dma->compSz = out_sz; + iname = readable; + } + + /* back up compressed filename to + * avoid having to re-checksum later + */ + dma->compname = strdup_safe(iname); + } +} + + +static void *dma_compress_threadfunc(void *_CT) +{ + struct compThread *CT = _CT; + + dma_compress( + CT->rom + , CT->data + , CT->encfunc + , CT->codec + , CT->dot_codec + , CT->list + , CT->stride + , CT->ofs + , CT->report + , CT->ctx + , CT->matching + ); + + return 0; +} + + +static void dma_compress_thread( + struct compThread *CT + , struct rom *rom + , void *compbuf + , int encfunc( + void *src + , unsigned src_sz + , void *dst + , unsigned *dst_sz + , void *_ctx + ) + , const char *codec + , char *dot_codec + , struct folder *list + , int stride /* number of entries to advance each time */ + , int ofs /* starting entry in list */ + , int report /* report progress to stderr (last thread only) */ + , void *ctx /* compression context */ + , bool matching +) +{ + CT->rom = rom; + CT->data = compbuf; + CT->encfunc = encfunc; + CT->codec = codec; + CT->dot_codec = dot_codec; + CT->list = list; + CT->stride = stride; + CT->ofs = ofs; + CT->report = report; + CT->ctx = ctx; + CT->matching = matching; + + if (pthread_create(&CT->pt, 0, dma_compress_threadfunc, CT)) + die("threading error"); +} + + +/* get dma entry by original index (useful after reordering) */ +static struct dma *dma_get_idx(struct rom *rom, unsigned idx) +{ + struct dma *dma; + + assert(idx < rom->dma_num && "dma index too high"); + + /* walk dma list for matching index */ + DMA_FOR_EACH + { + if (dma->index == idx) + break; + } + + return dma; +} + + +/* write 'num' bytes to rom and advance */ +static void rom_write(struct rom *rom, void *data, int sz) +{ + unsigned char *raw; + + assert(rom); + assert(rom->data); + assert(data); + assert(sz); + + if (rom->ofs + sz > rom->data_sz) + die( + "can't write %d bytes at 0x%X b/c it exceeds rom size" + , sz, rom->ofs + ); + + raw = rom->data + rom->ofs; + + memcpy(raw, data, sz); + + rom->ofs += sz; +} + + +/* write 32 bit value to rom and advance */ +static void rom_write32(struct rom *rom, unsigned int value) +{ + unsigned char raw[4]; + + raw[0] = value >> 24; + raw[1] = value >> 16; + raw[2] = value >> 8; + raw[3] = value; + + rom_write(rom, raw, 4); +} + + +/* write dma table into rom */ +static void rom_write_dmadata(struct rom *rom) +{ + struct dma *dma; + int num; + int numUsed; + + assert(rom); + assert(rom->dma); + assert(rom->dma_raw); + + dma = rom->dma; + num = rom->dma_num; + + /* sort all entries by size, descending */ + DMASORT(rom, sortfunc_dma_size_descend); + + /* find first entry where size == 0 (aka first unused entry) */ + for (dma = rom->dma; dma - rom->dma < num; ++dma) + if (dma->start == dma->end) + break; + numUsed = dma - rom->dma; + + /* sort all used entries by start address, ascending */ + DMASORT_N(rom, sortfunc_dma_start_ascend, numUsed); + + /* + * at this point, unused entries have been moved to the end + */ + + /* zero the table */ + memset(rom->dma_raw, 0, num * 16); + + /* write every entry */ + rom->ofs = rom->dma_raw - rom->data; + for (dma = rom->dma; dma - rom->dma < num; ++dma) + { + rom_write32(rom, dma->start); + rom_write32(rom, dma->end); + rom_write32(rom, dma->Pstart); + rom_write32(rom, dma->Pend); + + /* early end condition: all entries have been written */ + if (!dma->end) + break; + } +} + + +/* + * + * public functions + * + */ + +/* compress rom using specified algorithm */ +void rom_compress(struct rom *rom, int mb, int numThreads, bool matching) +{ + struct dma *dma; + struct folder *list = 0; + struct fldr_item *item; + char *dot_codec = 0; + const char *codec; + char cwd[4096] = {0}; + char cache_codec[4096] = {0}; + const char *cache; + const struct encoder *enc = 0; + unsigned int compsz = mb * 0x100000; + unsigned int comp_total = 0; + unsigned int largest_compress = 1024; + float total_compressed = 0; + float total_decompressed = 0; + struct compThread *compThread = 0; + int dma_num = rom->dma_num; + int i; + + assert(rom); + assert(rom->dma); + assert(rom->dma_ready); + assert(rom->is_comp == 0 && "rom_compressed called more than once"); + + rom->is_comp = 1; + + if (numThreads <= 0) + numThreads = 1; + + /* default codec = yaz */ + if (!(codec = rom->codec)) + codec = "yaz"; + + cache = rom->cache; + + if (compsz > rom->data_sz || mb <= 0) + die("invalid mb argument %d", mb); + + /* get encoding functions */ + enc = encoder(codec); + + /* restore original start/end for nonexistent files */ + DMA_FOR_EACH + { + if (dma->deleted) + { + dma->start = dma->Ostart; + dma->end = dma->Oend; + dma->compress = 0; /* deleted files don't compress */ + } + } + + /* sort dma entries by size, descending */ + DMASORT(rom, sortfunc_dma_size_descend); + + /* locate largest file that will be compressed */ + DMA_FOR_EACH + { + if (dma->compress && dma->end - dma->start > largest_compress) + largest_compress = dma->end - dma->start; + } + + /* no file should compress to over 2x its uncompressed size */ + largest_compress *= 2; + + /* allocate compression buffer for each thread */ + compThread = calloc_safe(numThreads, sizeof(*compThread)); + for (i = 0; i < numThreads; ++i) + { + compThread[i].data = malloc_safe(largest_compress); + + /* allocate compression contexts (if applicable) */ + if (enc->ctx_new) + { + compThread[i].ctx = enc->ctx_new(); + if (!compThread[i].ctx) + die("memory error"); + } + } + + /* if using compression cache */ + if (cache) + { + sprintf(cache_codec, "%s/%s/", cache, codec); + + /* store current working directory for later */ + wow_getcwd_safe(cwd, sizeof(cwd)); + + /* create and enter cache folder */ + dir_enter(cache); + + /* create and enter directory for the encoding algorithm */ + dir_enter(codec); + + /* make a '.yaz' string from 'yaz' */ + dot_codec = malloc_safe(strlen(codec) + 1/*'.'*/ + 1/*'\0'*/); + strcpy(dot_codec, "."); + strcat(dot_codec, codec); + + /* get list of all files in current working directory */ + list = folder_new(); + } + + /* now compress every compressible file */ + if (numThreads <= 1) + { + dma_compress( + rom + , compThread[0].data + , enc->encfunc + , codec + , dot_codec + , list + , 1 /* stride */ + , 0 /* ofs */ + , 1 /* report */ + , compThread[0].ctx + , matching + ); + } + else + { + /* spawn threads */ + for (i = 0; i < numThreads; ++i) + { + dma_compress_thread( + &compThread[i] + , rom + , compThread[i].data + , enc->encfunc + , codec + , dot_codec + , list + , numThreads /* stride */ + , i /* ofs */ + , (i+1)==numThreads /* report */ + , compThread[i].ctx + , matching + ); + } + + /* wait for all threads to complete */ + for (i = 0; i < numThreads; ++i) + { + if (pthread_join(compThread[i].pt, NULL)) + die("threading error"); + } + } + + /* all files now compressed */ + report_progress(rom, codec, PROGRESS_A_B); + fprintf(printer, "success!\n"); + + /* sort by original start, ascending */ + DMASORT(rom, sortfunc_dma_start_ascend); + + if (matching) + { + /* fill the entire (compressed) rom space with 00010203...FF... + in order to match retail rom padding */ + unsigned char n = 0; // will intentionally overflow + for (unsigned int j = 0; j < compsz; j++, n++) + { + rom->data[j] = n; + } + } + else + { + /* zero the entire (compressed) rom space */ + memset(rom->data, 0, compsz); + } + + /* go through dma table, injecting compressed files */ + comp_total = 0; + DMA_FOR_EACH + { + unsigned char *dst; + char *fn = dma->compname; + unsigned int sz; + unsigned int sz16; + fprintf(printer, "\r""injecting file %d/%d: ", PROGRESS_A_B); + + if (dma->deleted) + continue; + + /* cached file logic */ + if (cache) + { + /* skip entries that don't reference compressed files */ + if (!fn) + continue; + + sz = dma->compSz; + + /* sz == 0 */ + if (!sz) + die("'%s/%s/%s' file size == 0", cache, codec, fn); + } + + /* in-memory file logic */ + else + { + /* skip entries that don't reference compressed data */ + sz = dma->compSz; + if (!sz) + continue; + } + + /* ensure we remain 16-byte-aligned after advancing */ + sz16 = sz; + if (sz16 & 15) + sz16 += 16 - (sz16 & 15); + + /* put the files in */ + dst = rom->data + comp_total; + + dma->Pstart = comp_total; + if (dma->compress) + { + dma->Pend = dma->Pstart + sz16; + + /* compressed file ratio variables */ + total_compressed += sz16; + total_decompressed += dma->end - dma->start; + } + else + dma->Pend = 0; + comp_total += sz16; + + if (dma->Pend > compsz) + die("ran out of compressed rom space"); + + /* external cached file logic */ + if (cache) + { + /* load file into rom at offset */ + dst = file_load_into(cache_codec, fn, &sz, dst); + } + + /* otherwise, a simple memcpy */ + else + { + memcpy(dst, dma->compbuf, dma->compSz); + if (matching) + { + // since matching rom padding is not zero but file padding is zero, + // fill file padding space with zeros + memset(dst + dma->compSz, 0, ALIGN16(dma->compSz) - dma->compSz); + } + } + } + fprintf(printer, "\r""injecting file %d/%d: ", dma_num, dma_num); + fprintf(printer, "success!\n"); + + fprintf( + printer + , "compression ratio: %.02f%%\n" + , (total_compressed / total_decompressed) * 100.0f + ); + + /* now free compressed file names */ + DMA_FOR_EACH + { + if (dma->compname) + free(dma->compname); + } + + /* remove unused cache files */ + if (list) + { + for (item = list->item; item - list->item < list->num; ++item) + { + /* udata hasn't been marked, so file is unused */ + if (item->name && !item->udata) + { + if (remove(item->name)) + die("failed to remove '%s/%s/%s'" + , cache, codec, item->name + ); + } + } + } + + /* update rom size for when rom_save() is used */ + rom->data_sz = compsz; + + /* cleanup */ + DMA_FOR_EACH + { + /* zero starts/ends of deleted files */ + if (!matching && dma->deleted) + { + dma->start = 0; + dma->end = 0; + dma->Pstart = 0; + dma->Pend = 0; + } + + /* free any compbufs */ + if (dma->compbuf) + free(dma->compbuf); + dma->compSz = 0; + dma->compbuf = 0; + } + if (list) + folder_free(list); + if (dot_codec) + free(dot_codec); + for (i = 0; i < numThreads; ++i) + { + free(compThread[i].data); + + /* free compression contexts (if applicable) */ + if (enc->ctx_free) + { + assert(compThread[i].ctx); + enc->ctx_free(compThread[i].ctx); + } + } + free(compThread); + + /* return to prior working directory */ + if (*cwd) + wow_chdir(cwd); +} + + +/* specify start of dmadata and number of entries */ +void rom_dma(struct rom *rom, unsigned int offset, int num_entries, bool matching) +{ + struct dma *dma; + unsigned char *raw; + + assert(rom); + assert(rom->data); + assert(rom->dma == 0 && "called rom_dma() more than once"); + + if (num_entries <= 0) + die("invalid number of dma entries %d", num_entries); + + dma = calloc_safe(num_entries, sizeof(*dma)); + rom->dma = dma; + rom->dma_num = num_entries; + + raw = rom->data + offset; + rom->dma_raw = raw; + + /* initialize every entry */ + while (dma - rom->dma < num_entries) + { + /* propagate defaults */ + dma->index = dma - rom->dma; + dma->start = get32(raw); + dma->end = get32(raw + 4); + dma->Pstart = get32(raw + 8); + dma->Pend = get32(raw + 12); + dma->Ostart = dma->start; + dma->Oend = dma->end; + dma->compress = 0; /* compression off by default */ + + /* nonexistent file */ + if (dma->Pstart == DMA_DELETED && dma->Pend == DMA_DELETED) + { + dma->deleted = 1; + + if (!matching) + { + dma->start = 0; + dma->end = 0; + dma->Ostart = 0; + dma->Oend = 0; + dma->Pstart = 0; + dma->Pend = 0; + } + } + + /* invalid dma conditions */ + else if ( + (dma->Pend & 15) /* not 16-byte aligned */ + || (dma->Pstart & 15) + || (dma->start & 15) + || (dma->end & 15) + || dma->start > dma->end + || (dma->Pstart > dma->Pend && dma->Pend) + || dma->Pend > rom->data_sz + ) + { + die( + "invalid dma entry encountered: %08X %08X %08X %08X" + , dma->start, dma->end, dma->Pstart, dma->Pend + ); + } + + /* rom is compressed */ + if (dma->Pend && dma->Pend != DMA_DELETED) + { + die( + "encountered dma entry %08X %08X %08X %08X" + ", which suggests the rom is already compressed...\n" + "now exiting..." + , dma->start, dma->end, dma->Pstart, dma->Pend + ); + } + + /* advance to next entry */ + raw += 16; + dma += 1; + } +} + +/* call this once dma settings are finalized */ +void rom_dma_ready(struct rom *rom, bool matching) +{ + struct dma *dma; + int num; + unsigned int lowest = 0; + unsigned int highest_end = 0; /* highest end dma offset */ + + assert(rom); + assert(rom->data); + assert(rom->dma); + assert(rom->dma_ready == 0 && "dma_ready called more than once"); + + dma = rom->dma; + num = rom->dma_num; + + /* sort by start offset, ascending */ + DMASORT(rom, sortfunc_dma_start_ascend); + + /* confirm no entries overlap */ + for (dma = rom->dma ; dma - rom->dma < num; ++dma) + { + /* skip blank entries */ + if (!dma->start && !dma->end) + continue; + + /* warn on empty files */ + if (dma->end == dma->start) + { + fprintf( + printer + , "warning: dma entry %d is empty file (%08X == %08X)\n" + , dma->index, dma->start, dma->end + ); + dma->Pstart = dma->Pend = DMA_DELETED; + } + + /* nonexistent file */ + if (dma->Pstart == DMA_DELETED && dma->Pend == DMA_DELETED) + { + dma->deleted = 1; + + if (!matching) + { + dma->Ostart = 0; + dma->Oend = 0; + dma->start = 0; + dma->end = 0; + dma->compress = 0; + } + continue; + } + + /* fatal error on entries where end < start */ + if (dma->end < dma->start) + die( + "dma invalid entry %d (%08X < %08X)" + , dma->index, dma->end, dma->start + ); + + /* fatal error on unaligned entries */ + if ((dma->start & 3) || (dma->end & 3)) + die( + "dma unaligned pointer (%08X %08X)" + , dma->start + , dma->end + ); + + /* fatal error on entries exceeding rom size */ + if (dma->end > rom->data_sz) + die( + "dma entry %d (%08X - %08X) exceeds rom size (%08X)" + , dma->index, dma->start, dma->end, rom->data_sz + ); + + /* if at least one entry has been processed, and its + * start is lower than any of the previous ends + */ + if (dma > rom->dma && dma->start < lowest) + die( + "dma table entry %d (%08X - %08X) " + "overlaps entry %d (%08X - %08X)" + , dma->index, dma->start, dma->end + , (dma-1)->index, (dma-1)->start, (dma-1)->end + ); + + /* store highest dma end offset */ + if (dma->end > highest_end) + highest_end = dma->end; + + /* lowest acceptable start for next entry is end of current */ + lowest = dma->end; + } + + /* note dma_ready() has been called */ + rom->dma_ready = 1; +} + +/* reencode existing archives within rom + * NOTE: must be used before dma_ready() + */ +/* TODO optimization opportunities: threading, caching */ +void rom_dma_repack( + struct rom *rom + , unsigned start + , unsigned end + , const char *from /* old codec */ + , const char *to /* new codec */ +) +{ + const struct encoder *enc = 0; + int (*decfunc)( + void *src, void *dst, unsigned dstSz, unsigned *srcSz + ) = 0; + void *ctx = 0; + + assert(rom); + assert(rom->data); + assert(rom->dma); + assert(rom->dma_ready == 0 && "dma_repack must precede dma_ready"); + + /* default codec = yaz */ + if (!from) + from = "yaz"; + if (!(to = rom->codec)) + to = "yaz"; + + /* swap start and end if they are not in ascending order */ + if (end < start) + { + int t = end; + end = start; + start = t; + } + + /* allocate compression buffers, 16 mb */ + if (!rom->mem.mb16) + rom->mem.mb16 = malloc_safe(SIZE_16MB); + if (!rom->mem.mb4) + rom->mem.mb4 = malloc_safe(SIZE_4MB); + + /* no need to reencode when the codec is the same */ + if (!strcmp(from, to)) + return; + + /* get decoding function */ + if (!strcmp(from, "yaz")) + { + from = "Yaz0"; + decfunc = yazdec; + } + else if (!strcmp(from, "raw")) + { + from = "raw0"; + } + else + die("dma_repack from='%s' unsupported", from); + + /* get encoding function */ + enc = encoder(to); + + /* allocate compression context (if applicable) */ + if (enc->ctx_new) + { + ctx = enc->ctx_new(); + if (!ctx) + die("memory error"); + } + + /* start <= idx <= end */ + while (start <= end && start < rom->dma_num) + { + struct dma *dma = dma_get_idx(rom, start); + + unsigned char *dst = rom->data + dma->start; + const char *errstr; + unsigned int Osz = dma->end - dma->start; + unsigned int Nsz; + char name[32]; + + dma->compress = 0; + + sprintf(name, "%08X", dma->start); + + errstr = + yar_reencode( + dst + , Osz + , rom->mem.mb16 + , &Nsz + , 4 + + , name + , from + , rom->mem.mb4 + , ctx + + , decfunc + , enc->encfunc + , 0 + ); + + /* fatal error */ + if (errstr) + die("%s", errstr); + + /* repacked archive won't fit in place of original archive */ + if (Nsz > Osz) + die("repacking failed, new archive 0x%X bytes too big" + , Nsz - Osz + ); + + /* copy encoded file into rom */ + memcpy(dst, rom->mem.mb16, Nsz); + + /* file sizes changed */ + fprintf(printer, "%.2f kb saved!\n", ((float)(Osz-Nsz))/1000.0f); + + dma->end = dma->start + Nsz; + + start += 1; + } + + /* free compression context (if applicable) */ + if (enc->ctx_free) + { + assert(ctx); + enc->ctx_free(ctx); + } +} + + +/* set compression flag on indices start <= idx <= end */ +void rom_dma_compress( + struct rom *rom + , unsigned start + , unsigned end + , int comp +) +{ + assert(rom); + assert(rom->data); + assert(rom->dma); + assert(rom->dma_ready == 0 && "dma_compress must precede dma_ready"); + + /* swap start and end if they are not in ascending order */ + if (end < start) + { + int t = end; + end = start; + start = t; + } + + /* start <= idx <= end */ + while (start <= end && start < rom->dma_num) + { + struct dma *dma = rom->dma + start; + + dma->compress = comp; + start += 1; + } +} + + +/* set rom compressed file cache directory */ +void rom_set_cache(struct rom *rom, const char *cache) +{ + assert(rom); + assert(cache); + + if (rom->cache) + free(rom->cache); + + rom->cache = strdup_safe(cache); +} + +/* get number of dma entries */ +int rom_dma_num(struct rom *rom) +{ + assert(rom); + + return rom->dma_num; +} + +/* set rom compression codec + * valid options: "yaz", "lzo", "ucl", "aplib" + * NOTE: to use codecs besides yaz, get patches from the z64enc repo + */ +void rom_set_codec(struct rom *rom, const char *codec) +{ + assert(rom); + assert(codec); + + if (rom->codec) + free(rom->codec); + + rom->codec = strdup_safe(codec); +} + +/* save rom to disk using specified filename */ +void rom_save(struct rom *rom, const char *fn) +{ + assert(rom); + assert(rom->data); + + /* updates dmadata */ + rom_write_dmadata(rom); + + /* recalculate crc */ + n64crc(rom->data); + + if (file_write(fn, rom->data, rom->data_sz) != rom->data_sz) + die("failed to write file '%s'", fn); +} + +/* allocate a rom structure */ +struct rom *rom_new(const char *fn) +{ + struct rom *dst; + + assert(fn); + + /* allocate destination rom structure */ + dst = calloc_safe(1, sizeof(*dst)); + + /* propagate rom file */ + dst->data = file_load(fn, &dst->data_sz); + + /* back up load file name */ + dst->fn = strdup_safe(fn); + + return dst; +} + +/* free a rom structure */ +void rom_free(struct rom *rom) +{ + if (!rom) + return; + + if (rom->codec) + free(rom->codec); + + if (rom->data) + free(rom->data); + + if (rom->dma) + free(rom->dma); + + if (rom->cache) + free(rom->cache); + + if (rom->fn) + free(rom->fn); + + /* free any memory pools that were allocated */ + if (rom->mem.mb16) + free(rom->mem.mb16); + if (rom->mem.mb4) + free(rom->mem.mb4); + + free(rom); +} + diff --git a/tools/z64compress/src/rom.h b/tools/z64compress/src/rom.h new file mode 100644 index 0000000000..dbc6eaa430 --- /dev/null +++ b/tools/z64compress/src/rom.h @@ -0,0 +1,62 @@ +/* + * rom.h + * + * functions for compression magic reside herein + * + * z64me + * + */ + +#ifndef Z64COMPRESS_ROM_H_INCLUDED +#define Z64COMPRESS_ROM_H_INCLUDED + +/* opaque definition */ +struct rom; + +/* allocate a rom structure and load rom file */ +struct rom *rom_new(const char *fn); + +/* free a rom structure */ +void rom_free(struct rom *rom); + +/* save rom to disk using specified filename */ +void rom_save(struct rom *rom, const char *fn); + +/* compress rom using specified algorithm */ +void rom_compress(struct rom *rom, int mb, int numThreads, bool matching); + +/* specify start of dmadata and number of entries */ +void rom_dma(struct rom *rom, unsigned int offset, int num_entries, bool matching); + +/* call this once dma settings are finalized */ +void rom_dma_ready(struct rom *rom, bool matching); + +/* set compression flag on indices start <= idx <= end */ +void +rom_dma_compress(struct rom *rom, unsigned start, unsigned end, int comp); + +/* reencode existing archives within rom + * NOTE: must be used before dma_ready() + */ +void rom_dma_repack( + struct rom *rom + , unsigned start + , unsigned end + , const char *from /* old codec */ + , const char *to /* new codec */ +); + +/* get number of dma entries */ +int rom_dma_num(struct rom *rom); + +/* set rom compression codec + * valid options: "yaz", "lzo", "ucl", "aplib" + * NOTE: to use codecs besides yaz, get patches from the z64enc repo + */ +void rom_set_codec(struct rom *rom, const char *codec); + +/* set rom compressed file cache directory */ +void rom_set_cache(struct rom *rom, const char *cache); + +#endif /* Z64COMPRESS_ROM_H_INCLUDED */ + diff --git a/tools/z64compress/src/sha1.c b/tools/z64compress/src/sha1.c new file mode 100644 index 0000000000..07b068dd68 --- /dev/null +++ b/tools/z64compress/src/sha1.c @@ -0,0 +1,141 @@ +#include +#include +#include + +#define stb_big32(c) (((c)[0]<<24) + (c)[1]*65536 + (c)[2]*256 + (c)[3]) + +static void stb__sha1(unsigned char *chunk, unsigned h[5]) +{ + int i; + unsigned a,b,c,d,e; + unsigned w[80]; + + for (i=0; i < 16; ++i) + w[i] = stb_big32(&chunk[i*4]); + for (i=16; i < 80; ++i) { + unsigned t; + t = w[i-3] ^ w[i-8] ^ w[i-14] ^ w[i-16]; + w[i] = (t + t) | (t >> 31); + } + + a = h[0]; + b = h[1]; + c = h[2]; + d = h[3]; + e = h[4]; + + #define STB__SHA1(k,f) \ + { \ + unsigned temp = (a << 5) + (a >> 27) + (f) + e + (k) + w[i]; \ + e = d; \ + d = c; \ + c = (b << 30) + (b >> 2); \ + b = a; \ + a = temp; \ + } + + i=0; + for (; i < 20; ++i) STB__SHA1(0x5a827999, d ^ (b & (c ^ d)) ); + for (; i < 40; ++i) STB__SHA1(0x6ed9eba1, b ^ c ^ d ); + for (; i < 60; ++i) STB__SHA1(0x8f1bbcdc, (b & c) + (d & (b ^ c)) ); + for (; i < 80; ++i) STB__SHA1(0xca62c1d6, b ^ c ^ d ); + + #undef STB__SHA1 + + h[0] += a; + h[1] += b; + h[2] += c; + h[3] += d; + h[4] += e; +} + +void stb_sha1(unsigned char output[20], unsigned char *buffer, unsigned len) +{ + unsigned char final_block[128]; + unsigned end_start, final_len, j; + int i; + + unsigned h[5]; + + h[0] = 0x67452301; + h[1] = 0xefcdab89; + h[2] = 0x98badcfe; + h[3] = 0x10325476; + h[4] = 0xc3d2e1f0; + + // we need to write padding to the last one or two + // blocks, so build those first into 'final_block' + + // we have to write one special byte, plus the 8-byte length + + // compute the block where the data runs out + end_start = len & ~63; + + // compute the earliest we can encode the length + if (((len+9) & ~63) == end_start) { + // it all fits in one block, so fill a second-to-last block + end_start -= 64; + } + + final_len = end_start + 128; + + // now we need to copy the data in + assert(end_start + 128 >= len+9); + assert(end_start < len || len < 64-9); + + j = 0; + if (end_start > len) + j = (unsigned) - (int) end_start; + + for (; end_start + j < len; ++j) + final_block[j] = buffer[end_start + j]; + final_block[j++] = 0x80; + while (j < 128-5) // 5 byte length, so write 4 extra padding bytes + final_block[j++] = 0; + // big-endian size + final_block[j++] = len >> 29; + final_block[j++] = len >> 21; + final_block[j++] = len >> 13; + final_block[j++] = len >> 5; + final_block[j++] = len << 3; + assert(j == 128 && end_start + j == final_len); + + for (j=0; j < final_len; j += 64) { // 512-bit chunks + if (j+64 >= end_start+64) + stb__sha1(&final_block[j - end_start], h); + else + stb__sha1(&buffer[j], h); + } + + for (i=0; i < 5; ++i) { + output[i*4 + 0] = h[i] >> 24; + output[i*4 + 1] = h[i] >> 16; + output[i*4 + 2] = h[i] >> 8; + output[i*4 + 3] = h[i] >> 0; + } +} + +// client can truncate this wherever they like +void stb_sha1_readable(char display[30], unsigned char sha[20]) +{ + char encoding[65] = "0123456789abcdefghijklmnopqrstuv" + "wxyzABCDEFGHIJKLMNOPQRSTUVWXYZ#$"; + int num_bits = 0, acc=0; + int i=0,o=0; + while (o < 26) { + int v; + // expand the accumulator + if (num_bits < 6) { + assert(i != 20); + acc += sha[i++] << num_bits; + num_bits += 8; + } + v = acc & ((1 << 6) - 1); + display[o++] = encoding[v]; + acc >>= 6; + num_bits -= 6; + } + assert(num_bits == 20*8 - 26*6); + display[o++] = '\0'; +} + diff --git a/tools/z64compress/src/sha1.h b/tools/z64compress/src/sha1.h new file mode 100644 index 0000000000..3c7e0dc238 --- /dev/null +++ b/tools/z64compress/src/sha1.h @@ -0,0 +1,8 @@ +#ifndef STB_SHA1_H_INCLUDED +#define STB_SHA1_H_INCLUDED + +void stb_sha1(unsigned char output[20], unsigned char *buffer, unsigned len); +void stb_sha1_readable(char display[30], unsigned char sha[20]); + +#endif /* STB_SHA1_H_INCLUDED */ + diff --git a/tools/z64compress/src/wow.c b/tools/z64compress/src/wow.c new file mode 100644 index 0000000000..21b2c671df --- /dev/null +++ b/tools/z64compress/src/wow.c @@ -0,0 +1,3 @@ +#define WOW_IMPLEMENTATION +#include "wow.h" + diff --git a/tools/z64compress/src/wow.h b/tools/z64compress/src/wow.h new file mode 100644 index 0000000000..cc2d88cd35 --- /dev/null +++ b/tools/z64compress/src/wow.h @@ -0,0 +1,769 @@ +/* + * wow.h + * + * a small collection of functions + * to make writing software easier + * + * z64me + * + */ + +#ifndef WOW_H_INCLUDED +#define WOW_H_INCLUDED + +#include /* size_t */ +#include /* file ops */ +#include /* alloc */ +#include /* stat */ +#include /* strdup */ +#include /* chdir, getcwd */ +#include +#include + +#ifdef _WIN32 + #include + #undef near + #undef far +#endif + + +#if (_WIN32 && UNICODE) + #define wow_main int wmain(int argc, wchar_t *Wargv[]) + #define wow_main_argv char **argv = wow_conv_args(argc, (void*)Wargv) +#else + #define wow_main int main(int argc, char *argv[]) + #define wow_main_argv do{}while(0) +#endif + + +#ifndef WOW_API_PREFIX + #define WOW_API_PREFIX +#endif + +WOW_API_PREFIX +void * +wow_utf8_to_wchar(const char *str); + +WOW_API_PREFIX +char * +wow_wchar_to_utf8(void *wstr); + + +/* converts argv[] from wchar to char win32, in place */ +WOW_API_PREFIX +void * +wow_conv_args(int argc, void *argv[]); + + +/* returns non-zero if path is a directory */ +WOW_API_PREFIX +int +wow_is_dir_w(void const *path); + + +/* returns non-zero if path is a directory */ +WOW_API_PREFIX +int +wow_is_dir(char const *path); + + +/* fread abstraction that falls back to buffer-based fread * + * if a big fread fails; if that still fails, returns 0 */ +WOW_API_PREFIX +size_t +wow_fread_bytes(void *ptr, size_t bytes, FILE *stream); + + +/* fwrite abstraction that falls back to buffer-based fwrite * + * if a big fwrite fails; if that still fails, returns 0 */ +WOW_API_PREFIX +size_t +wow_fwrite_bytes(const void *ptr, size_t bytes, FILE *stream); + + +/* fread abstraction that falls back to buffer-based fread * + * if a big fread fails; if that still fails, returns 0 */ +WOW_API_PREFIX +size_t +wow_fread(void *ptr, size_t size, size_t nmemb, FILE *stream); + + +/* fwrite abstraction that falls back to buffer-based fwrite * + * if a big fwrite fails; if that still fails, returns 0 */ +WOW_API_PREFIX +size_t +wow_fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream); + + +/* fopen abstraction for utf8 support on windows win32 */ +WOW_API_PREFIX +FILE * +wow_fopen(char const *name, char const *mode); + + +/* remove abstraction for utf8 support on windows win32 */ +WOW_API_PREFIX +int +wow_remove(char const *path); + + +/* mkdir */ +WOW_API_PREFIX +int +wow_mkdir(char const *path); + + +/* chdir */ +WOW_API_PREFIX +int +wow_chdir(char const *path); + + +/* getcwd */ +WOW_API_PREFIX +char * +wow_getcwd(char *buf, size_t size); + + +/* getcwd_safe */ +WOW_API_PREFIX +char * +wow_getcwd_safe(char *buf, size_t size); + + +/* system */ +WOW_API_PREFIX +int +wow_system(char const *path); + +WOW_API_PREFIX void die(const char *fmt, ...) + __attribute__ ((format (printf, 1, 2))) +; +WOW_API_PREFIX void *calloc_safe(size_t nmemb, size_t size); +WOW_API_PREFIX void *malloc_safe(size_t size); +WOW_API_PREFIX void *realloc_safe(void *ptr, size_t size); +WOW_API_PREFIX char *strdup_safe(const char *s); +WOW_API_PREFIX void *memdup_safe(void *ptr, size_t size); + +#ifdef WOW_IMPLEMENTATION + +WOW_API_PREFIX void die(const char *fmt, ...) +{ + va_list args; + va_start(args, fmt); +#ifdef UNICODE + char buf[4096]; + vsprintf(buf, fmt, args); + wchar_t *wc = wow_utf8_to_wchar(buf); + setlocale(LC_ALL, ""); + fwprintf(stderr, L"%ls", wc); + free(wc); +#else + vfprintf(stderr, fmt, args); +#endif + va_end(args); + fprintf(stderr, "\n"); + exit(EXIT_FAILURE); +} + +WOW_API_PREFIX void *calloc_safe(size_t nmemb, size_t size) +{ + void *result = calloc(nmemb, size); + + if (!result) + die("memory error"); + + return result; +} + +WOW_API_PREFIX void *malloc_safe(size_t size) +{ + void *result = malloc(size); + + if (!result) + die("memory error"); + + return result; +} + +WOW_API_PREFIX void *realloc_safe(void *ptr, size_t size) +{ + void *result = realloc(ptr, size); + + if (!result) + die("memory error"); + + return result; +} + +WOW_API_PREFIX char *strdup_safe(const char *s) +{ + char *result; + int n; + + if (!s) + return 0; + + n = strlen(s) + 1; + + result = malloc_safe(n); + + strcpy(result, s); + + return result; +} + +WOW_API_PREFIX void *memdup_safe(void *ptr, size_t size) +{ + void *result; + + if (!ptr || !size) + return 0; + + result = malloc_safe(size); + + memcpy(result, ptr, size); + + return result; +} + + +WOW_API_PREFIX +void * +wow_utf8_to_wchar(const char *str) +{ +#ifdef UNICODE +extern __declspec(dllimport) int __stdcall MultiByteToWideChar(unsigned int cp, unsigned long flags, const char *str, int cbmb, wchar_t *widestr, int cchwide); + wchar_t *wstr; + int wstr_sz = (strlen(str) + 1) * 16;//sizeof(*wstr); + wstr = calloc_safe(1, wstr_sz); + MultiByteToWideChar(65001/*utf8*/, 0, str, -1, wstr, wstr_sz); + return wstr; +#else + return strdup(str); +#endif +} + +WOW_API_PREFIX +char * +wow_wchar_to_utf8_buf(void *wstr, void *dst, int dst_max) +{ +#ifdef UNICODE +extern __declspec(dllimport) int __stdcall WideCharToMultiByte(unsigned int cp, unsigned long flags, const wchar_t *widestr, int cchwide, char *str, int cbmb, const char *defchar, int *used_default); + WideCharToMultiByte(65001/*utf8*/, 0, wstr, -1, dst, dst_max, NULL, NULL); + return dst; +#else + (void)dst_max; /* unused parameter */ + return strcpy(dst, wstr); +#endif +} + +WOW_API_PREFIX +char * +wow_wchar_to_utf8(void *wstr) +{ +#ifdef UNICODE +extern __declspec(dllimport) int __stdcall WideCharToMultiByte(unsigned int cp, unsigned long flags, const wchar_t *widestr, int cchwide, char *str, int cbmb, const char *defchar, int *used_default); + char *str; + int str_sz = (wcslen(wstr) + 1) * sizeof(*str); + str = calloc_safe(1, str_sz); + WideCharToMultiByte(65001/*utf8*/, 0, wstr, -1, str, str_sz, NULL, NULL); + return str; +#else + return strdup(wstr); +#endif +} + +WOW_API_PREFIX +char * +wow_wchar_to_utf8_inplace(void *wstr) +{ +#ifdef UNICODE +extern __declspec(dllimport) int __stdcall WideCharToMultiByte(unsigned int cp, unsigned long flags, const wchar_t *widestr, int cchwide, char *str, int cbmb, const char *defchar, int *used_default); + char buf[4096]; + char *str; + int wstr_len = wcslen(wstr); + unsigned str_sz = (wstr_len + 1) * sizeof(*str); + if (str_sz >= sizeof(buf)) + str = malloc_safe(str_sz); + else + str = buf; + WideCharToMultiByte(65001/*utf8*/, 0, wstr, -1, str, str_sz, NULL, NULL); + memcpy(wstr, str, wstr_len + 1); + ((char*)wstr)[wstr_len+1] = '\0'; + if (str != buf) + free(str); + return wstr; +#else + return wstr; +#endif +} + + +/* argument abstraction: converts argv[] from wchar to char win32 */ +WOW_API_PREFIX +void * +wow_conv_args(int argc, void *argv[]) +{ +#ifdef UNICODE + int i; + for (i=0; i < argc; ++i) + { + //fprintf(stderr, "[%d]: %s\n", i, argv[i]); + //fwprintf(stderr, L"[%d]: %s\n", i, (wchar_t*)argv[i]); + argv[i] = wow_wchar_to_utf8_inplace(argv[i]); + //fwprintf(stderr, L"[%d]: %s\n", i, wow_utf8_to_wchar(argv[i])); + } +#else + (void)argc; /* unused parameter */ +#endif + return argv; +} + +/* returns non-zero if path is a directory */ +WOW_API_PREFIX +int +wow_is_dir_w(void const *path) +{ + struct stat s; +#if (_WIN32 && UNICODE) + if (wstat(path, &s) == 0) +#else + if (stat(path, &s) == 0) +#endif + { + if (s.st_mode & S_IFDIR) + return 1; + } + + return 0; +} + + +/* returns non-zero if path is a directory */ +WOW_API_PREFIX +int +wow_is_dir(char const *path) +{ + int rv; + void *wpath = 0; + +#if (_WIN32 && UNICODE) + wpath = wow_utf8_to_wchar(path); + rv = wow_is_dir_w(wpath); +#else + rv = wow_is_dir_w(path); +#endif + if (wpath) + free(wpath); + + return rv; +} + + +/* fread abstraction that falls back to buffer-based fread * + * if a big fread fails; if that still fails, returns 0 */ +WOW_API_PREFIX +size_t +wow_fread_bytes(void *ptr, size_t bytes, FILE *stream) +{ + if (!stream || !ptr || !bytes) + return 0; + + unsigned char *ptr8 = ptr; + size_t Oofs = ftell(stream); + size_t bufsz = 1024 * 1024; /* 1 mb at a time */ + size_t Obytes = bytes; + size_t rem; + + fseek(stream, 0, SEEK_END); + rem = ftell(stream) - Oofs; + fseek(stream, Oofs, SEEK_SET); + + if (bytes > rem) + bytes = rem; + + /* everything worked */ + if (fread(ptr, 1, bytes, stream) == bytes) + return Obytes; + + /* failed: try falling back to slower buffered read */ + fseek(stream, Oofs, SEEK_SET); + while (bytes) + { + /* don't read past end */ + if (bytes < bufsz) + bufsz = bytes; + if (bufsz > rem) + { + bytes = rem; + bufsz = rem; + } + + /* still failed */ + if (fread(ptr8, 1, bufsz, stream) != bufsz) + return 0; + + /* advance */ + ptr8 += bufsz; + bytes -= bufsz; + rem -= bufsz; + } + + /* success */ + return Obytes; +} + + +/* fwrite abstraction that falls back to buffer-based fwrite * + * if a big fwrite fails; if that still fails, returns 0 */ +WOW_API_PREFIX +size_t +wow_fwrite_bytes(const void *ptr, size_t bytes, FILE *stream) +{ + if (!stream || !ptr || !bytes) + return 0; + + const unsigned char *ptr8 = ptr; + size_t bufsz = 1024 * 1024; /* 1 mb at a time */ + size_t Obytes = bytes; + + /* everything worked */ + if (fwrite(ptr, 1, bytes, stream) == bytes) + return bytes; + + /* failed: try falling back to slower buffered read */ + while (bytes) + { + /* don't read past end */ + if (bytes < bufsz) + bufsz = bytes; + + /* still failed */ + if (fwrite(ptr8, 1, bufsz, stream) != bufsz) + return 0; + + /* advance */ + ptr8 += bufsz; + bytes -= bufsz; + } + + /* success */ + return Obytes; +} + + +/* fread abstraction that falls back to buffer-based fread * + * if a big fread fails; if that still fails, returns 0 */ +WOW_API_PREFIX +size_t +wow_fread(void *ptr, size_t size, size_t nmemb, FILE *stream) +{ + if (!stream || !ptr || !size || !nmemb) + return 0; + + if (wow_fread_bytes(ptr, size * nmemb, stream) == size * nmemb) + return nmemb; + + return 0; +} + + +/* fwrite abstraction that falls back to buffer-based fwrite * + * if a big fwrite fails; if that still fails, returns 0 */ +WOW_API_PREFIX +size_t +wow_fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream) +{ + if (!stream || !ptr || !size || !nmemb) + return 0; + + if (wow_fwrite_bytes(ptr, size * nmemb, stream) == size * nmemb) + return nmemb; + + return 0; +} + + +/* fopen abstraction for utf8 support on windows win32 */ +WOW_API_PREFIX +FILE * +wow_fopen(char const *name, char const *mode) +{ +#ifdef UNICODE + void *wname = 0; + void *wmode = 0; + FILE *fp = 0; + + wname = wow_utf8_to_wchar(name); + if (!wname) + goto L_cleanup; + + /* TODO eventually, an error message would be cool */ + if (wow_is_dir_w(wname)) + goto L_cleanup; + + wmode = wow_utf8_to_wchar(mode); + if (!wmode) + goto L_cleanup; + + fp = _wfopen(wname, wmode); + +L_cleanup: + if (wname) free(wname); + if (wmode) free(wmode); + if (fp) + return fp; + return 0; +#else + /* TODO eventually, an error message would be cool */ + if (wow_is_dir_w(name)) + return 0; + return fopen(name, mode); +#endif +} + + +/* remove abstraction for utf8 support on windows win32 */ +WOW_API_PREFIX +int +wow_remove(char const *path) +{ +#ifdef UNICODE + void *wpath = 0; + int rval; + + wpath = wow_utf8_to_wchar(path); + if (!wpath) + return -1; + + rval = _wremove(wpath); + free(wpath); + return rval; +#else + return remove(path); +#endif +} + + +/* mkdir */ +WOW_API_PREFIX +int +wow_mkdir(char const *path) +{ +#if defined(_WIN32) && defined(UNICODE) +extern int _wmkdir(const wchar_t *); + void *wname = 0; + int rval; + + wname = wow_utf8_to_wchar(path); + if (!wname) + return -1; + + rval = _wmkdir(wname); + + if (wname) + free(wname); + + return rval; +#elif defined(_WIN32) /* win32 no unicode */ +extern int _mkdir(const char *); + return _mkdir(path); +#else /* ! _WIN32 */ + return mkdir(path, 0777); +#endif +} + + +/* chdir */ +WOW_API_PREFIX +int +wow_chdir(char const *path) +{ +#if defined(_WIN32) && defined(UNICODE) +extern int _wchdir(const wchar_t *); + void *wname = 0; + int rval; + + wname = wow_utf8_to_wchar(path); + if (!wname) + return -1; + + rval = _wchdir(wname); + + if (wname) + free(wname); + + return rval; +#elif defined(_WIN32) /* win32 no unicode */ +extern int _chdir(const char *); + return _chdir(path); +#else /* ! _WIN32 */ + return chdir(path); +#endif +} + + +/* getcwd */ +WOW_API_PREFIX +char * +wow_getcwd(char *buf, size_t size) +{ +#if defined(_WIN32) && defined(UNICODE) +//extern int _wgetcwd(const wchar_t *, int); +extern _CRTIMP wchar_t *__cdecl _wgetcwd(wchar_t *_DstBuf,int _SizeInWords); + wchar_t wname[4096]; + + if (!buf || !size) + return 0; + + if (!_wgetcwd(wname, sizeof(wname) / sizeof(wname[0]))) + return 0; + + return wow_wchar_to_utf8_buf(wname, buf, size); +#elif defined(_WIN32) /* win32 no unicode */ +//extern char *_getcwd(char *, int); + return _getcwd(buf, size); +#else /* ! _WIN32 */ + return getcwd(buf, size); +#endif +} + + +/* getcwd_safe */ +WOW_API_PREFIX +char * +wow_getcwd_safe(char *buf, size_t size) +{ + char *result = wow_getcwd(buf, size); + + if (!result) + die("failed to get current working directory"); + + return result; +} + + +/* system */ +WOW_API_PREFIX +int +wow_system(char const *path) +{ +#if defined(_WIN32) && defined(UNICODE) + void *wname = 0; + int rval; + + wname = wow_utf8_to_wchar(path); + if (!wname) + return -1; + + rval = _wsystem(wname); + + if (wname) + free(wname); + + return rval; +#else /* not win32 unicode */ + return system(path); +#endif +} + + +/* system_gui */ +WOW_API_PREFIX +int +wow_system_gui(char const *name, const char *param) +{ +#if defined(_WIN32) + STARTUPINFOW si; + PROCESS_INFORMATION pi; + + ZeroMemory(&si, sizeof(si)); + si.cb = sizeof(si); + ZeroMemory(&pi, sizeof(pi)); + int rval = 0 /*success */; +//extern int ShellExecuteA(void *hwnd, void *op, void *file, void *param, void *dir, int cmd); +//extern int ShellExecuteW(void *hwnd, void *op, void *file, void *param, void *dir, int cmd); +//const int SW_SHOWNORMAL = 1; + #if defined(UNICODE) + void *wname = 0; + void *wparam = 0; + + wname = wow_utf8_to_wchar(name); + if (!wname) + { + return -1; + } + wparam = wow_utf8_to_wchar(param); + if (!wparam) + { + free(wname); + return -1; + } + +#if 0 + if (CreateProcessW( + wname, wparam + , NULL, NULL + , FALSE + , CREATE_NO_WINDOW + , NULL + , NULL + , &si, &pi) + ) + { + //WaitForSingleObject(pi.hProcess, INFINITE); + //CloseHandle(pi.hProcess); + //CloseHandle(pi.hThread); + } + else + rval = 1; +#else + rval = (int)ShellExecuteW(NULL, L"open", wname, wparam, L".", SW_SHOWNORMAL); + rval = rval <= 32; +#endif + + free(wname); + free(wparam); + #else /* win32 non-unicode */ +#if 0 + if (CreateProcessA( + name, x + , NULL, NULL + , FALSE + , CREATE_NO_WINDOW + , NULL + , NULL + , &si, &pi) + ) + { + //WaitForSingleObject(pi.hProcess, INFINITE); + //CloseHandle(pi.hProcess); + //CloseHandle(pi.hThread); + } + else + rval = 1; +#else + rval = (int)ShellExecuteA(NULL, "open", name, param, ".", SW_SHOWNORMAL); + rval = rval <= 32; +#endif + #endif + return rval;//rval <= 32; +#else /* not win32 unicode */ + char *x = malloc_safe(strlen(name) + strlen(param) + 128); + if (!x) + return -1; + strcpy(x, "\""); + strcat(x, name); + strcat(x, "\" "); + strcat(x, param); + int rval = system(x); + free(x); + return rval; +#endif +} + +#endif /* WOW_IMPLEMENTATION */ + +#endif /* WOW_H_INCLUDED */ + diff --git a/tools/z64compress/src/wow_dirent.h b/tools/z64compress/src/wow_dirent.h new file mode 100644 index 0000000000..e9db5ca0b0 --- /dev/null +++ b/tools/z64compress/src/wow_dirent.h @@ -0,0 +1,61 @@ +/* + * wow_dirent.h + * + * dirent wrapper that abstracts unicode/utf8 platforms + * + * must be #include'd after dirent.h + * + * z64me + * + */ + +#ifndef WOW_DIRENT_INCLUDED +#define WOW_DIRENT_INCLUDED +#include "wow.h" + +#if defined(_WIN32) && defined(UNICODE) +# define wow_DIR _WDIR +# define wow_dirent _wdirent +static +wow_DIR * +wow_opendir(const char *path) +{ + void *wpath = wow_utf8_to_wchar(path); + if (!wpath) + return NULL; + + wow_DIR *rv = _wopendir(wpath); + + free(wpath); + + return rv; +} +static +struct wow_dirent * +wow_readdir(wow_DIR *dir) +{ + struct wow_dirent *ep = _wreaddir(dir); + if (!ep) + return 0; + + /* convert d_name to utf8 for working on them directly */ + char *str = wow_wchar_to_utf8(ep->d_name); + memcpy(ep->d_name, str, strlen(str) + 1); + free(str); + + return ep; +} +# define wow_closedir _wclosedir +# define wow_dirent_char wchar_t + +#else /* not win32 unicode */ +# define wow_DIR DIR +# define wow_dirent dirent +# define wow_opendir opendir +# define wow_readdir readdir +# define wow_closedir closedir +# define wow_dirent_char char +#endif + +#endif /* WOW_DIRENT_INCLUDED */ + diff --git a/tools/z64compress_wrapper.py b/tools/z64compress_wrapper.py new file mode 100644 index 0000000000..d70db84265 --- /dev/null +++ b/tools/z64compress_wrapper.py @@ -0,0 +1,104 @@ +#!/usr/bin/env python3 +# +# z64compress wrapper for decomp projects +# Arguments: [cache directory] [num threads] +# + +import argparse, itertools, subprocess, sys +from elftools.elf.elffile import ELFFile +from elftools.elf.sections import SymbolTableSection + +# Args from command line +parser = argparse.ArgumentParser(description="Compress rom produced by the OoT Decomp project") + +parser.add_argument("in_rom", help="uncompressed input rom filename") +parser.add_argument("out_rom", help="compressed output rom filename") +parser.add_argument("elf", help="path to the uncompressed rom elf file") +parser.add_argument("spec", help="path to processed spec file") +parser.add_argument("--cache", help="cache directory") +parser.add_argument("--threads", help="number of threads to run compression on, 0 disables multithreading") +parser.add_argument("--mb", help="compressed rom size in MB, default 32") +parser.add_argument("--matching", help="matching compression, forfeits some useful optimizations", action="store_true") +parser.add_argument("--stderr", help="z64compress will write its output messages to stderr instead of stdout", action="store_true") + +args = parser.parse_args() + +IN_ROM = args.in_rom +OUT_ROM = args.out_rom + +STDOUT = not args.stderr + +elf_path = args.elf + +CACHE_DIR = args.cache +N_THREADS = int(args.threads or 0) +MB = int(args.mb or 32) +matching = args.matching + +# Get segments to compress + +spec = "" +with open(args.spec, "r") as infile: + spec = infile.read() + +def ranges(i): + for _, b in itertools.groupby(enumerate(i), lambda pair: pair[1] - pair[0]): + b = list(b) + yield b[0][1], b[-1][1] + +compress_segments = [] + +shift = 0 +for i,segment in enumerate(spec.split("beginseg\n")[1:],0): + directives = segment.split("endseg")[0].split("\n") + + for directive in directives: + directive = directive.strip() + if directive.startswith("flags") and "NOLOAD" in directive: + shift += 1 + elif directive.startswith("compress"): + compress_segments.append(i - shift) + +compress_segments = list(ranges(compress_segments)) +COMPRESS_INDICES = ",".join([f"{start}-{end}" if start != end else f"{start}" for start,end in compress_segments]) + +# Find dmadata + +def get_dmadata_start_len(): + dmadata_start = -1 + dmadata_end = -1 + + with open(elf_path, "rb") as elf_file: + elf = ELFFile(elf_file) + + for section in elf.iter_sections(): + if not isinstance(section, SymbolTableSection): + continue + + for sym in section.iter_symbols(): + if sym.name == "_dmadataSegmentRomStart": + dmadata_start = sym['st_value'] + elif sym.name == "_dmadataSegmentRomEnd": + dmadata_end = sym['st_value'] + if dmadata_start != -1 and dmadata_end != -1: + break + + assert dmadata_start != -1 + assert dmadata_end != -1 + + return dmadata_start, (dmadata_end - dmadata_start)//0x10 + +DMADATA_ADDR, DMADATA_COUNT = get_dmadata_start_len() + +# Run + +cmd = f"./tools/z64compress/z64compress --in {IN_ROM} --out {OUT_ROM}{' --matching' if matching else ''} \ +--mb {MB} --codec yaz{f' --cache {CACHE_DIR}' if CACHE_DIR is not None else ''} --dma 0x{DMADATA_ADDR:X},{DMADATA_COUNT} \ +--compress {COMPRESS_INDICES}{f' --threads {N_THREADS}' if N_THREADS > 0 else ''}{f' --only-stdout' if STDOUT else ''}" + +print(cmd) + +try: + subprocess.check_call(cmd, shell=True) +except subprocess.CalledProcessError as e: + sys.exit(e.returncode) diff --git a/undef.txt b/undef.txt deleted file mode 100644 index dea300f31e..0000000000 --- a/undef.txt +++ /dev/null @@ -1,1172 +0,0 @@ -osTvType = 0x80000300; -osRomType = 0x80000304; -osRomBase = 0x80000308; -osResetType = 0x8000030C; -osCicId = 0x80000310; -osVersion = 0x80000314; -osMemSize = 0x80000318; -osAppNmiBuffer = 0x8000031C; -sBootThreadInfo = boot_bss_start + 0x00000000; -sIdleThread = boot_bss_start + 0x00000020; -sIdleThreadStack = boot_bss_start + 0x000001D0; -sIdleThreadInfo = boot_bss_start + 0x000005D0; -sBootThreadStack = boot_bss_start + 0x000005F0; -gIrqMgr = boot_bss_start + 0x000009F0; -sIrqMgrStack = boot_bss_start + 0x00000C70; -sIrqMgrStackInfo = boot_bss_start + 0x00001170; -gMainThread = boot_bss_start + 0x00001190; -sMainStack = boot_bss_start + 0x00001340; -sMainStackInfo = boot_bss_start + 0x00001C40; -sPiMgrCmdBuff = boot_bss_start + 0x00001C60; -gPiMgrCmdQ = boot_bss_start + 0x00001D28; -gViConfigMode = boot_bss_start + 0x00001D40; -D_8009B290 = boot_bss_start + 0x00001D90; -sDmaMgrStackInfo = boot_bss_start + 0x00001DA0; -numDmaEntries = boot_bss_start + 0x00001DBC; -sDmaMgrMsgQueue = boot_bss_start + 0x00001DC0; -sDmaMgrMsgs = boot_bss_start + 0x00001DD8; -sDmaMgrThread = boot_bss_start + 0x00001E58; -sDmaMgrStack = boot_bss_start + 0x00002008; -D_8009BA08 = boot_bss_start + 0x00002508; -sYaz0DataBuffer = boot_bss_start + 0x00002510; -sYaz0CurDataEnd = boot_bss_start + 0x00002910; -sYaz0CurRomStart = boot_bss_start + 0x00002914; -sYaz0CurSize = boot_bss_start + 0x00002918; -sYaz0MaxPtr = boot_bss_start + 0x0000291C; -D_8009BE20 = boot_bss_start + 0x00002920; -D_8009BE30 = boot_bss_start + 0x00002930; -D_8009BE34 = boot_bss_start + 0x00002934; -romInfoFaultClient = boot_bss_start + 0x00002938; -sFaultContext = boot_bss_start + 0x00002950; -D_8009BE54 = boot_bss_start + 0x00002954; -faultCustomOptions = boot_bss_start + 0x00002958; -faultCopyToLog = boot_bss_start + 0x0000295C; -sFaultStack = boot_bss_start + 0x00002960; -sFaultThreadInfo = boot_bss_start + 0x00002F60; -gFaultStruct = boot_bss_start + 0x00002F80; -sFaultDrawerStruct = boot_bss_start + 0x000037D0; -D_8009CD10 = boot_bss_start + 0x00003810; -startHeap = boot_bss_start + 0x00003820; -sRandFloat = boot_bss_start + 0x00003850; -sArenaLockMsg = boot_bss_start + 0x00003860; -tmp_task = boot_bss_start + 0x00003870; -D_8009CDB0 = boot_bss_start + 0x000038B0; -siAccessBuf = boot_bss_start + 0x000039B0; -__osSiAccessQueue = boot_bss_start + 0x000039B8; -__osContPifRam = boot_bss_start + 0x000039D0; -D_8009CF0C = boot_bss_start + 0x00003A0C; -__osContLastCmd = boot_bss_start + 0x00003A10; -__osMaxControllers = boot_bss_start + 0x00003A11; -D_8009CF38 = boot_bss_start + 0x00003A38; -D_8009CF50 = boot_bss_start + 0x00003A50; -D_8009CF60 = boot_bss_start + 0x00003A60; -D_8009CF70 = boot_bss_start + 0x00003A70; -__osThreadSave = boot_bss_start + 0x00003A80; -D_8009D130 = boot_bss_start + 0x00003C30; -D_8009D1A8 = boot_bss_start + 0x00003CA8; -D_8009D220 = boot_bss_start + 0x00003D20; -piManagerStack = boot_bss_start + 0x00003ED0; -D_8009E3D0 = boot_bss_start + 0x00004ED0; -D_8009E3E8 = boot_bss_start + 0x00004EE8; -D_8009E3F0 = boot_bss_start + 0x00004EF0; -__osPiAccessQueue = boot_bss_start + 0x00004EF8; -D_8009E410 = boot_bss_start + 0x00004F10; -__osEventStateTab = boot_bss_start + 0x00005010; -D_8009E590 = boot_bss_start + 0x00005090; -__osCurrentTime = boot_bss_start + 0x000050B0; -__osBaseCounter = boot_bss_start + 0x000050B8; -__osViIntrCount = boot_bss_start + 0x000050BC; -__osTimerCounter = boot_bss_start + 0x000050C0; -__osPfsPifRam = boot_bss_start + 0x000050D0; -CartRomHandle = boot_bss_start + 0x00005110; -viThread = boot_bss_start + 0x00005190; -viThreadStack = boot_bss_start + 0x00005340; -viEventQueue = boot_bss_start + 0x00006340; -viEventBuf = boot_bss_start + 0x00006358; -viRetraceMsg = boot_bss_start + 0x00006370; -viCounterMsg = boot_bss_start + 0x00006388; -viRetrace = boot_bss_start + 0x000063A0; -dmadata = boot_bss_start + 0x000063B0; -D_801E3FA0 = code_bss_start + 0x00000000; -sEffTable = code_bss_start + 0x00000010; -D_801E4514 = code_bss_start + 0x00000574; -D_801E4E08 = code_bss_start + 0x00000E68; -D_801E531C = code_bss_start + 0x0000137C; -D_801E69E0 = code_bss_start + 0x00002A40; -D_801E9AA0 = code_bss_start + 0x00005B00; -D_801ED4C0 = code_bss_start + 0x00009520; -D_801ED890 = code_bss_start + 0x000098F0; -D_801ED894 = code_bss_start + 0x000098F4; -D_801ED8A0 = code_bss_start + 0x00009900; -D_801ED8B0 = code_bss_start + 0x00009910; -D_801ED8B4 = code_bss_start + 0x00009914; -D_801ED8B8 = code_bss_start + 0x00009918; -D_801ED8BC = code_bss_start + 0x0000991C; -D_801ED8C0 = code_bss_start + 0x00009920; -D_801ED8C4 = code_bss_start + 0x00009924; -D_801ED8C8 = code_bss_start + 0x00009928; -D_801ED8CC = code_bss_start + 0x0000992C; -D_801ED8D0 = code_bss_start + 0x00009930; -D_801ED8D4 = code_bss_start + 0x00009934; -D_801ED8D8 = code_bss_start + 0x00009938; -D_801ED8DC = code_bss_start + 0x0000993C; -D_801ED8E0 = code_bss_start + 0x00009940; -D_801ED920 = code_bss_start + 0x00009980; -D_801ED930 = code_bss_start + 0x00009990; -D_801ED940 = code_bss_start + 0x000099A0; -D_801ED950 = code_bss_start + 0x000099B0; -D_801ED9A0 = code_bss_start + 0x00009A00; -D_801ED9F0 = code_bss_start + 0x00009A50; -D_801ED9FC = code_bss_start + 0x00009A5C; -D_801EDA08 = code_bss_start + 0x00009A68; -D_801EDA18 = code_bss_start + 0x00009A78; -D_801EDA24 = code_bss_start + 0x00009A84; -D_801EDA30 = code_bss_start + 0x00009A90; -D_801EDA40 = code_bss_start + 0x00009AA0; -D_801EDA80 = code_bss_start + 0x00009AE0; -D_801EDA8C = code_bss_start + 0x00009AEC; -D_801EDA98 = code_bss_start + 0x00009AF8; -D_801EDAA8 = code_bss_start + 0x00009B08; -D_801EDAF8 = code_bss_start + 0x00009B58; -D_801EDB48 = code_bss_start + 0x00009BA8; -D_01EDB54 = code_bss_start + 0x00009BB4; -D_01EDB60 = code_bss_start + 0x00009BC0; -D_01EDB70 = code_bss_start + 0x00009BD0; -D_801EDB7C = code_bss_start + 0x00009BDC; -D_801EDB88 = code_bss_start + 0x00009BE8; -D_801EDB98 = code_bss_start + 0x00009BF8; -D_801EDB9C = code_bss_start + 0x00009BFC; -D_801EDBA0 = code_bss_start + 0x00009C00; -D_801EDBA4 = code_bss_start + 0x00009C04; -D_801EDBA8 = code_bss_start + 0x00009C08; -D_801EDBB0 = code_bss_start + 0x00009C10; -D_801EDBD4 = code_bss_start + 0x00009C34; -D_801EDBD8 = code_bss_start + 0x00009C38; -D_801EDBDC = code_bss_start + 0x00009C3C; -D_801EDBE0 = code_bss_start + 0x00009C40; -D_801EDBF0 = code_bss_start + 0x00009C50; -D_801EDBF4 = code_bss_start + 0x00009C54; -D_801EDBF8 = code_bss_start + 0x00009C58; -D_801EDC00 = code_bss_start + 0x00009C60; -D_801EDC04 = code_bss_start + 0x00009C64; -D_801EDC08 = code_bss_start + 0x00009C68; -D_801EDC0C = code_bss_start + 0x00009C6C; -D_801EDC10 = code_bss_start + 0x00009C70; -D_801EDC14 = code_bss_start + 0x00009C74; -D_801EDC28 = code_bss_start + 0x00009C88; -D_801EDC30 = code_bss_start + 0x00009C90; -D_801EDC8C = code_bss_start + 0x00009CEC; -D_801EDC90 = code_bss_start + 0x00009CF0; -D_801EDC92 = code_bss_start + 0x00009CF2; -D_801EDC94 = code_bss_start + 0x00009CF4; -D_801EDC96 = code_bss_start + 0x00009CF6; -D_801EDDD0 = code_bss_start + 0x00009E30; -D_801EDDD4 = code_bss_start + 0x00009E34; -D_801EDDD8 = code_bss_start + 0x00009E38; -D_801EDDE0 = code_bss_start + 0x00009E40; -D_801EDDF0 = code_bss_start + 0x00009E50; -D_801EDE00 = code_bss_start + 0x00009E60; -D_801EDE10 = code_bss_start + 0x00009E70; -D_801EDE20 = code_bss_start + 0x00009E80; -D_801EDE30 = code_bss_start + 0x00009E90; -D_801EDE40 = code_bss_start + 0x00009EA0; -D_801EDE78 = code_bss_start + 0x00009ED8; -D_801EDEB0 = code_bss_start + 0x00009F10; -D_801EDEBC = code_bss_start + 0x00009F1C; -D_801EDEC8 = code_bss_start + 0x00009F28; -D_801EDF00 = code_bss_start + 0x00009F60; -D_801EDF38 = code_bss_start + 0x00009F98; -D_801EDF48 = code_bss_start + 0x00009FA8; -D_801EDF58 = code_bss_start + 0x00009FB8; -D_801EDF90 = code_bss_start + 0x00009FF0; -D_801EDFC8 = code_bss_start + 0x0000A028; -D_801EDFD4 = code_bss_start + 0x0000A034; -D_801EDFE0 = code_bss_start + 0x0000A040; -D_801EDFF0 = code_bss_start + 0x0000A050; -D_801EE000 = code_bss_start + 0x0000A060; -D_801EE038 = code_bss_start + 0x0000A098; -D_801EE070 = code_bss_start + 0x0000A0D0; -D_801EE0A4 = code_bss_start + 0x0000A104; -D_801EE0D8 = code_bss_start + 0x0000A138; -D_801EE0E8 = code_bss_start + 0x0000A148; -D_801EE11C = code_bss_start + 0x0000A17C; -D_801EE150 = code_bss_start + 0x0000A1B0; -D_801EE188 = code_bss_start + 0x0000A1E8; -D_801EE1C0 = code_bss_start + 0x0000A220; -D_801EE1C4 = code_bss_start + 0x0000A224; -D_801EE1C8 = code_bss_start + 0x0000A228; -D_801EE1D0 = code_bss_start + 0x0000A230; -D_801EE1D4 = code_bss_start + 0x0000A234; -D_801EE1D8 = code_bss_start + 0x0000A238; -D_801EE1E0 = code_bss_start + 0x0000A240; -D_801EE1E4 = code_bss_start + 0x0000A244; -D_801EE1E8 = code_bss_start + 0x0000A248; -D_801EE1F0 = code_bss_start + 0x0000A250; -D_801EE1F4 = code_bss_start + 0x0000A254; -D_801EE1F8 = code_bss_start + 0x0000A258; -D_801EE200 = code_bss_start + 0x0000A260; -D_801EE6C8 = code_bss_start + 0x0000A728; -D_801EE700 = code_bss_start + 0x0000A760; -D_801EE738 = code_bss_start + 0x0000A798; -D_801EEC00 = code_bss_start + 0x0000AC60; -D_801EF0C8 = code_bss_start + 0x0000B128; -D_801EF590 = code_bss_start + 0x0000B5F0; -D_801EF5C8 = code_bss_start + 0x0000B628; -D_801EF600 = code_bss_start + 0x0000B660; -D_801EF638 = code_bss_start + 0x0000B698; -D_801EF66D = code_bss_start + 0x0000B6CD; -gSaveContext = code_bss_start + 0x0000B6D0; -D_801F3F38 = code_bss_start + 0x0000FF98; -D_801F3F3A = code_bss_start + 0x0000FF9A; -D_801F3F3B = code_bss_start + 0x0000FF9B; -D_801F3F3C = code_bss_start + 0x0000FF9C; -D_801F3F42 = code_bss_start + 0x0000FFA2; -D_801F3F4A = code_bss_start + 0x0000FFAA; -D_801F3F5A = code_bss_start + 0x0000FFBA; -gGameInfo = code_bss_start + 0x0000FFC0; -D_801F3F70 = code_bss_start + 0x0000FFD0; -D_801F3F80 = code_bss_start + 0x0000FFE0; -D_801F3F83 = code_bss_start + 0x0000FFE3; -D_801F48C8 = code_bss_start + 0x00010928; -D_801F4D40 = code_bss_start + 0x00010DA0; -D_801F4D42 = code_bss_start + 0x00010DA2; -D_801F4D48 = code_bss_start + 0x00010DA8; -D_801F4DC8 = code_bss_start + 0x00010E28; -D_801F4DCA = code_bss_start + 0x00010E2A; -D_801F4DCC = code_bss_start + 0x00010E2C; -D_801F4DDC = code_bss_start + 0x00010E3C; -D_801F4DE0 = code_bss_start + 0x00010E40; -D_801F4DE2 = code_bss_start + 0x00010E42; -actorCutscenes = code_bss_start + 0x00010E50; -actorCutsceneCount = code_bss_start + 0x00010E54; -actorCutsceneWaiting = code_bss_start + 0x00010E58; -D_801F4E08 = code_bss_start + 0x00010E68; -actorCutsceneNextCutscenes = code_bss_start + 0x00010E70; -D_801F4E20 = code_bss_start + 0x00010E80; -D_801F4E30 = code_bss_start + 0x00010E90; -D_801F4E31 = code_bss_start + 0x00010E91; -D_801F4E32 = code_bss_start + 0x00010E92; -D_801F4E38 = code_bss_start + 0x00010E98; -D_801F4E3C = code_bss_start + 0x00010E9C; -D_801F4E40 = code_bss_start + 0x00010EA0; -D_801F4E44 = code_bss_start + 0x00010EA4; -D_801F4E48 = code_bss_start + 0x00010EA8; -D_801F4E4C = code_bss_start + 0x00010EAC; -D_801F4E4E = code_bss_start + 0x00010EAE; -D_801F4E50 = code_bss_start + 0x00010EB0; -D_801F4E54 = code_bss_start + 0x00010EB4; -D_801F4E58 = code_bss_start + 0x00010EB8; -D_801F4E5C = code_bss_start + 0x00010EBC; -D_801F4E60 = code_bss_start + 0x00010EC0; -D_801F4E64 = code_bss_start + 0x00010EC4; -D_801F4E68 = code_bss_start + 0x00010EC8; -D_801F4E70 = code_bss_start + 0x00010ED0; -D_801F4E74 = code_bss_start + 0x00010ED4; -D_801F4E78 = code_bss_start + 0x00010ED8; -D_801F4E7A = code_bss_start + 0x00010EDA; -D_801F4E80 = code_bss_start + 0x00010EE0; -D_801F4EE0 = code_bss_start + 0x00010F40; -D_801F4EE8 = code_bss_start + 0x00010F48; -D_801F4EF8 = code_bss_start + 0x00010F58; -D_801F4F00 = code_bss_start + 0x00010F60; -D_801F4F10 = code_bss_start + 0x00010F70; -D_801F4F14 = code_bss_start + 0x00010F74; -D_801F4F18 = code_bss_start + 0x00010F78; -D_801F4F1C = code_bss_start + 0x00010F7C; -D_801F4F20 = code_bss_start + 0x00010F80; -D_801F4F24 = code_bss_start + 0x00010F84; -D_801F4F28 = code_bss_start + 0x00010F88; -D_801F4F2C = code_bss_start + 0x00010F8C; -D_801F4F2E = code_bss_start + 0x00010F8E; -D_801F4F30 = code_bss_start + 0x00010F90; -D_801F4F31 = code_bss_start + 0x00010F91; -D_801F4F32 = code_bss_start + 0x00010F92; -D_801F4F33 = code_bss_start + 0x00010F93; -D_801F4F34 = code_bss_start + 0x00010F94; -D_801F4F38 = code_bss_start + 0x00010F98; -D_801F4F40 = code_bss_start + 0x00010FA0; -D_801F4F48 = code_bss_start + 0x00010FA8; -D_801F4F50 = code_bss_start + 0x00010FB0; -D_801F4F56 = code_bss_start + 0x00010FB6; -D_801F4F58 = code_bss_start + 0x00010FB8; -D_801F4F5A = code_bss_start + 0x00010FBA; -D_801F4F60 = code_bss_start + 0x00010FC0; -D_801F4F66 = code_bss_start + 0x00010FC6; -D_801F4F68 = code_bss_start + 0x00010FC8; -D_801F4F6A = code_bss_start + 0x00010FCA; -sLightsBuffer = code_bss_start + 0x00010FD0; -mainHeap = code_bss_start + 0x00011160; -D_801F5130 = code_bss_start + 0x00011190; -D_801F5270 = code_bss_start + 0x000112D0; -D_801F528E = code_bss_start + 0x000112EE; -D_801F53B0 = code_bss_start + 0x00011410; -D_801F56B0 = code_bss_start + 0x00011710; -D_801F5730 = code_bss_start + 0x00011790; -D_801F57B4 = code_bss_start + 0x00011814; -D_801F5834 = code_bss_start + 0x00011894; -gNMIBuffer = code_bss_start + 0x000118A0; -D_801F5850 = code_bss_start + 0x000118B0; -D_801F58B0 = code_bss_start + 0x00011910; -D_801F59AC = code_bss_start + 0x00011A0C; -D_801F59B0 = code_bss_start + 0x00011A10; -D_801F59C8 = code_bss_start + 0x00011A28; -D_801F59D0 = code_bss_start + 0x00011A30; -D_801F59DC = code_bss_start + 0x00011A3C; -D_801F59E0 = code_bss_start + 0x00011A40; -D_801F59E4 = code_bss_start + 0x00011A44; -D_801F59E8 = code_bss_start + 0x00011A48; -D_801F59EC = code_bss_start + 0x00011A4C; -D_801F59F0 = code_bss_start + 0x00011A50; -D_801F59F4 = code_bss_start + 0x00011A54; -D_801F59F8 = code_bss_start + 0x00011A58; -sQuakeRequest = code_bss_start + 0x00011A60; -sQuake2Context = code_bss_start + 0x00011AF0; -sMatAnimStep = code_bss_start + 0x00011B00; -sMatAnimFlags = code_bss_start + 0x00011B04; -sMatAnimAlphaRatio = code_bss_start + 0x00011B08; -D_801F5AB0 = code_bss_start + 0x00011B10; -D_801F5AB4 = code_bss_start + 0x00011B14; -D_801F5AC0 = code_bss_start + 0x00011B20; -D_801F69D0 = code_bss_start + 0x00012A30; -D_801F6A10 = code_bss_start + 0x00012A70; -D_801F6AD4 = code_bss_start + 0x00012B34; -D_801F6AD5 = code_bss_start + 0x00012B35; -D_801F6ADA = code_bss_start + 0x00012B3A; -D_801F6AE0 = code_bss_start + 0x00012B40; -D_801F6AF0 = code_bss_start + 0x00012B50; -D_801F6AF2 = code_bss_start + 0x00012B52; -D_801F6B00 = code_bss_start + 0x00012B60; -D_801F6B04 = code_bss_start + 0x00012B64; -D_801F6B08 = code_bss_start + 0x00012B68; -D_801F6B0C = code_bss_start + 0x00012B6C; -D_801F6B0E = code_bss_start + 0x00012B6E; -D_801F6B10 = code_bss_start + 0x00012B70; -D_801F6B12 = code_bss_start + 0x00012B72; -D_801F6B14 = code_bss_start + 0x00012B74; -D_801F6B16 = code_bss_start + 0x00012B76; -D_801F6B18 = code_bss_start + 0x00012B78; -D_801F6B1A = code_bss_start + 0x00012B7A; -D_801F6B1C = code_bss_start + 0x00012B7C; -D_801F6B1E = code_bss_start + 0x00012B7E; -D_801F6B20 = code_bss_start + 0x00012B80; -D_801F6B22 = code_bss_start + 0x00012B82; -D_801F6B30 = code_bss_start + 0x00012B90; -D_801F6B34 = code_bss_start + 0x00012B94; -D_801F6B38 = code_bss_start + 0x00012B98; -D_801F6B3C = code_bss_start + 0x00012B9C; -gShrinkWindowContext = code_bss_start + 0x00012BA0; -gShrinkWindowContextPtr = code_bss_start + 0x00012BA4; -D_801F6B50 = code_bss_start + 0x00012BB0; -D_801F6B58 = code_bss_start + 0x00012BB8; -D_801F6BF0 = code_bss_start + 0x00012C50; -D_801F6C00 = code_bss_start + 0x00012C60; -D_801F6C04 = code_bss_start + 0x00012C64; -D_801F6C10 = code_bss_start + 0x00012C70; -D_801F6C18 = code_bss_start + 0x00012C78; -D_801F6C30 = code_bss_start + 0x00012C90; -D_801F6D0C = code_bss_start + 0x00012D6C; -D_801F6D10 = code_bss_start + 0x00012D70; -D_801F6D18 = code_bss_start + 0x00012D78; -D_801F6D30 = code_bss_start + 0x00012D90; -D_801F6D38 = code_bss_start + 0x00012D98; -D_801F6D4C = code_bss_start + 0x00012DAC; -D_801F6D50 = code_bss_start + 0x00012DB0; -D_801F6DFC = code_bss_start + 0x00012E5C; -D_801F6DFD = code_bss_start + 0x00012E5D; -D_801F6E00 = code_bss_start + 0x00012E60; -D_801F6FC0 = code_bss_start + 0x00013020; -slowlyStackEntry = code_bss_start + 0x00013028; -slowlyStack = code_bss_start + 0x00013048; -D_801F7FE8 = code_bss_start + 0x00014048; -D_801F7FF0 = code_bss_start + 0x00014050; -D_801F8010 = code_bss_start + 0x00014070; -D_801F8020 = code_bss_start + 0x00014080; -sMonoColors = code_bss_start + 0x00014090; -D_801F8048 = code_bss_start + 0x000140A8; -grapgFaultAddrConvClient = code_bss_start + 0x00014130; -graphFaultClient = code_bss_start + 0x00014140; -graphDlEntry = code_bss_start + 0x00014150; -D_801F80F8 = code_bss_start + 0x00014158; -lastRenderFrameTimestamp = code_bss_start + 0x000141B0; -siEventCallbackQueue = code_bss_start + 0x000141C0; -siEventCallbackBuffer = code_bss_start + 0x000141D8; -gSegments = code_bss_start + 0x000141E0; -schedContext = code_bss_start + 0x00014220; -mainIrqmgrCallbackNode = code_bss_start + 0x00014558; -mainIrqmgrCallbackQueue = code_bss_start + 0x00014560; -mainIrqCallbackBuffer = code_bss_start + 0x00014578; -graphOSThread = code_bss_start + 0x00014668; -graphStack = code_bss_start + 0x00014818; -schedStack = code_bss_start + 0x00016018; -audioStack = code_bss_start + 0x00016618; -padmgrStack = code_bss_start + 0x00016E18; -graphStackEntry = code_bss_start + 0x00017318; -schedStackEntry = code_bss_start + 0x00017338; -audioStackEntry = code_bss_start + 0x00017358; -padmgrStackEntry = code_bss_start + 0x00017378; -audioContext = code_bss_start + 0x00017398; -D_801FB620 = code_bss_start + 0x00017680; -D_801FBAA0 = code_bss_start + 0x00017B00; -D_801FBAB0 = code_bss_start + 0x00017B10; -D_801FBAB4 = code_bss_start + 0x00017B14; -D_801FBAB8 = code_bss_start + 0x00017B18; -D_801FBABC = code_bss_start + 0x00017B1C; -D_801FBAC0 = code_bss_start + 0x00017B20; -D_801FBAC4 = code_bss_start + 0x00017B24; -D_801FBAC8 = code_bss_start + 0x00017B28; -D_801FBACC = code_bss_start + 0x00017B2C; -D_801FBAD0 = code_bss_start + 0x00017B30; -D_801FBAD4 = code_bss_start + 0x00017B34; -D_801FBAE0 = code_bss_start + 0x00017B40; -D_801FBAE8 = code_bss_start + 0x00017B48; -D_801FBAF0 = code_bss_start + 0x00017B50; -lastRenderFrameDuration = code_bss_start + 0x00017B58; -D_801FBB00 = code_bss_start + 0x00017B60; -D_801FBB04 = code_bss_start + 0x00017B64; -D_801FBB08 = code_bss_start + 0x00017B68; -D_801FBB0C = code_bss_start + 0x00017B6C; -D_801FBB10 = code_bss_start + 0x00017B70; -D_801FBB14 = code_bss_start + 0x00017B74; -D_801FBB20 = code_bss_start + 0x00017B80; -D_801FBB28 = code_bss_start + 0x00017B88; -D_801FBB30 = code_bss_start + 0x00017B90; -gFramebuffers = code_bss_start + 0x00017BE0; -D_801FBB88 = code_bss_start + 0x00017BE8; -gZBufferPtr = code_bss_start + 0x00017BEC; -D_801FBB90 = code_bss_start + 0x00017BF0; -D_801FBB94 = code_bss_start + 0x00017BF4; -D_801FBB98 = code_bss_start + 0x00017BF8; -D_801FBB9C = code_bss_start + 0x00017BFC; -D_801FBBA0 = code_bss_start + 0x00017C00; -sys_cfb_zbufl = code_bss_start + 0x00017C04; -sys_cfb_wbufl = code_bss_start + 0x00017C08; -sys_cfb_fifol = code_bss_start + 0x00017C0C; -D_801FBBB0 = code_bss_start + 0x00017C10; -D_801FBBB4 = code_bss_start + 0x00017C14; -D_801FBBB8 = code_bss_start + 0x00017C18; -D_801FBBBC = code_bss_start + 0x00017C1C; -D_801FBBC0 = code_bss_start + 0x00017C20; -D_801FBBC4 = code_bss_start + 0x00017C24; -D_801FBBC8 = code_bss_start + 0x00017C28; -D_801FBBCC = code_bss_start + 0x00017C2C; -D_801FBBCE = code_bss_start + 0x00017C2E; -D_801FBBD0 = code_bss_start + 0x00017C30; -D_801FBBD2 = code_bss_start + 0x00017C32; -D_801FBBD4 = code_bss_start + 0x00017C34; -D_801FBBE0 = code_bss_start + 0x00017C40; -D_801FBBF0 = code_bss_start + 0x00017C50; -Math3D_ColSphereTri_line = code_bss_start + 0x00017C60; -Math3D_ColSphereTri_point = code_bss_start + 0x00017C78; -D_801FBC28 = code_bss_start + 0x00017C88; -D_801FBC2C = code_bss_start + 0x00017C8C; -D_801FBC30 = code_bss_start + 0x00017C90; -D_801FBC38 = code_bss_start + 0x00017C98; -D_801FBC3A = code_bss_start + 0x00017C9A; -D_801FBC3C = code_bss_start + 0x00017C9C; -D_801FBC3E = code_bss_start + 0x00017C9E; -D_801FBC40 = code_bss_start + 0x00017CA0; -D_801FBC42 = code_bss_start + 0x00017CA2; -D_801FBC44 = code_bss_start + 0x00017CA4; -D_801FBC46 = code_bss_start + 0x00017CA6; -D_801FBC48 = code_bss_start + 0x00017CA8; -D_801FBC58 = code_bss_start + 0x00017CB8; -Math3D_NormalVector_temp1 = code_bss_start + 0x00017CC8; -Math3D_NormalVector_temp2 = code_bss_start + 0x00017CD8; -D_801FBC8C = code_bss_start + 0x00017CEC; -D_801FBC90 = code_bss_start + 0x00017CF0; -D_801FBC98 = code_bss_start + 0x00017CF8; -D_801FBCA4 = code_bss_start + 0x00017D04; -D_801FBCAC = code_bss_start + 0x00017D0C; -D_801FBCB0 = code_bss_start + 0x00017D10; -D_801FBCB4 = code_bss_start + 0x00017D14; -D_801FBCB8 = code_bss_start + 0x00017D18; -D_801FBCBC = code_bss_start + 0x00017D1C; -D_801FBCC0 = code_bss_start + 0x00017D20; -D_801FBCC4 = code_bss_start + 0x00017D24; -D_801FBCC8 = code_bss_start + 0x00017D28; -D_801FBCCC = code_bss_start + 0x00017D2C; -D_801FBCD0 = code_bss_start + 0x00017D30; -D_801FBCD4 = code_bss_start + 0x00017D34; -D_801FBCD8 = code_bss_start + 0x00017D38; -D_801FBCDC = code_bss_start + 0x00017D3C; -D_801FBCE0 = code_bss_start + 0x00017D40; -D_801FBCE4 = code_bss_start + 0x00017D44; -D_801FBCE8 = code_bss_start + 0x00017D48; -D_801FBCF0 = code_bss_start + 0x00017D50; -D_801FBCF4 = code_bss_start + 0x00017D54; -D_801FBCF8 = code_bss_start + 0x00017D58; -D_801FBD00 = code_bss_start + 0x00017D60; -D_801FBD04 = code_bss_start + 0x00017D64; -D_801FBD08 = code_bss_start + 0x00017D68; -D_801FBD10 = code_bss_start + 0x00017D70; -D_801FBD20 = code_bss_start + 0x00017D80; -D_801FBD24 = code_bss_start + 0x00017D84; -D_801FBD28 = code_bss_start + 0x00017D88; -D_801FBD30 = code_bss_start + 0x00017D90; -D_801FBD34 = code_bss_start + 0x00017D94; -D_801FBD38 = code_bss_start + 0x00017D98; -D_801FBD40 = code_bss_start + 0x00017DA0; -D_801FBD44 = code_bss_start + 0x00017DA4; -D_801FBD48 = code_bss_start + 0x00017DA8; -D_801FBD50 = code_bss_start + 0x00017DB0; -D_801FBD54 = code_bss_start + 0x00017DB4; -D_801FBD58 = code_bss_start + 0x00017DB8; -Math3D_UnitNormalVector_temp = code_bss_start + 0x00017DC0; -D_801FBD70 = code_bss_start + 0x00017DD0; -D_801FBD74 = code_bss_start + 0x00017DD4; -D_801FBD78 = code_bss_start + 0x00017DD8; -D_801FBD80 = code_bss_start + 0x00017DE0; -D_801FBD98 = code_bss_start + 0x00017DF8; -D_801FBDA4 = code_bss_start + 0x00017E04; -D_801FBDB0 = code_bss_start + 0x00017E10; -D_801FBDB4 = code_bss_start + 0x00017E14; -D_801FBDB8 = code_bss_start + 0x00017E18; -D_801FBDC0 = code_bss_start + 0x00017E20; -D_801FBDD8 = code_bss_start + 0x00017E38; -D_801FBDDC = code_bss_start + 0x00017E3C; -D_801FBDE0 = code_bss_start + 0x00017E40; -D_801FBDE8 = code_bss_start + 0x00017E48; -sMatrixStack = code_bss_start + 0x00017E60; -sCurrentMatrix = code_bss_start + 0x00017E64; -D_801FBE10 = code_bss_start + 0x00017E70; -D_801FBE28 = code_bss_start + 0x00017E88; -D_801FBE2C = code_bss_start + 0x00017E8C; -D_801FBE30 = code_bss_start + 0x00017E90; -sys_flashromStack = code_bss_start + 0x00017E98; -sys_flashromStackEntry = code_bss_start + 0x00018E98; -sys_flashromOSThread = code_bss_start + 0x00018EB8; -D_801FD008 = code_bss_start + 0x00019068; -D_801FD034 = code_bss_start + 0x00019094; -D_801FD040 = code_bss_start + 0x000190A0; -D_801FD050 = code_bss_start + 0x000190B0; -D_801FD068 = code_bss_start + 0x000190C8; -D_801FD080 = code_bss_start + 0x000190E0; -D_801FD0F4 = code_bss_start + 0x00019154; -D_801FD0F8 = code_bss_start + 0x00019158; -D_801FD120 = code_bss_start + 0x00019180; -D_801FD140 = code_bss_start + 0x000191A0; -D_801FD158 = code_bss_start + 0x000191B8; -D_801FD198 = code_bss_start + 0x000191F8; -D_801FD1E0 = code_bss_start + 0x00019240; -D_801FD1F0 = code_bss_start + 0x00019250; -D_801FD250 = code_bss_start + 0x000192B0; -D_801FD254 = code_bss_start + 0x000192B4; -D_801FD258 = code_bss_start + 0x000192B8; -D_801FD25C = code_bss_start + 0x000192BC; -D_801FD260 = code_bss_start + 0x000192C0; -D_801FD264 = code_bss_start + 0x000192C4; -D_801FD268 = code_bss_start + 0x000192C8; -D_801FD278 = code_bss_start + 0x000192D8; -D_801FD288 = code_bss_start + 0x000192E8; -D_801FD28C = code_bss_start + 0x000192EC; -D_801FD28D = code_bss_start + 0x000192ED; -D_801FD28E = code_bss_start + 0x000192EE; -D_801FD28F = code_bss_start + 0x000192EF; -D_801FD290 = code_bss_start + 0x000192F0; -D_801FD291 = code_bss_start + 0x000192F1; -D_801FD294 = code_bss_start + 0x000192F4; -D_801FD298 = code_bss_start + 0x000192F8; -D_801FD29C = code_bss_start + 0x000192FC; -D_801FD2A0 = code_bss_start + 0x00019300; -D_801FD2A8 = code_bss_start + 0x00019308; -D_801FD3A8 = code_bss_start + 0x00019408; -D_801FD3A9 = code_bss_start + 0x00019409; -D_801FD3AA = code_bss_start + 0x0001940A; -D_801FD3AB = code_bss_start + 0x0001940B; -D_801FD3AC = code_bss_start + 0x0001940C; -D_801FD3AE = code_bss_start + 0x0001940E; -D_801FD3AF = code_bss_start + 0x0001940F; -D_801FD3B0 = code_bss_start + 0x00019410; -D_801FD3B4 = code_bss_start + 0x00019414; -D_801FD3B7 = code_bss_start + 0x00019417; -D_801FD3B8 = code_bss_start + 0x00019418; -D_801FD3D8 = code_bss_start + 0x00019438; -D_801FD3D9 = code_bss_start + 0x00019439; -D_801FD3DA = code_bss_start + 0x0001943A; -D_801FD3E0 = code_bss_start + 0x00019440; -D_801FD3EC = code_bss_start + 0x0001944C; -D_801FD3F0 = code_bss_start + 0x00019450; -D_801FD3FC = code_bss_start + 0x0001945C; -D_801FD400 = code_bss_start + 0x00019460; -D_801FD404 = code_bss_start + 0x00019464; -D_801FD408 = code_bss_start + 0x00019468; -D_801FD40C = code_bss_start + 0x0001946C; -D_801FD410 = code_bss_start + 0x00019470; -D_801FD420 = code_bss_start + 0x00019480; -D_801FD42C = code_bss_start + 0x0001948C; -D_801FD430 = code_bss_start + 0x00019490; -D_801FD431 = code_bss_start + 0x00019491; -D_801FD432 = code_bss_start + 0x00019492; -D_801FD433 = code_bss_start + 0x00019493; -D_801FD434 = code_bss_start + 0x00019494; -D_801FD435 = code_bss_start + 0x00019495; -D_801FD436 = code_bss_start + 0x00019496; -D_801FD438 = code_bss_start + 0x00019498; -D_801FD43A = code_bss_start + 0x0001949A; -D_801FD43B = code_bss_start + 0x0001949B; -D_801FD43E = code_bss_start + 0x0001949E; -D_801FD442 = code_bss_start + 0x000194A2; -D_801FD448 = code_bss_start + 0x000194A8; -D_801FD44C = code_bss_start + 0x000194AC; -D_801FD44D = code_bss_start + 0x000194AD; -D_801FD450 = code_bss_start + 0x000194B0; -D_801FD454 = code_bss_start + 0x000194B4; -D_801FD458 = code_bss_start + 0x000194B8; -D_801FD45C = code_bss_start + 0x000194BC; -D_801FD460 = code_bss_start + 0x000194C0; -D_801FD461 = code_bss_start + 0x000194C1; -D_801FD462 = code_bss_start + 0x000194C2; -D_801FD463 = code_bss_start + 0x000194C3; -D_801FD464 = code_bss_start + 0x000194C4; -D_801FD468 = code_bss_start + 0x000194C8; -D_801FD46C = code_bss_start + 0x000194CC; -D_801FD470 = code_bss_start + 0x000194D0; -D_801FD4A0 = code_bss_start + 0x00019500; -D_801FD4D0 = code_bss_start + 0x00019530; -D_801FD500 = code_bss_start + 0x00019560; -D_801FD518 = code_bss_start + 0x00019578; -D_801FD530 = code_bss_start + 0x00019590; -D_801FD533 = code_bss_start + 0x00019593; -D_801FD590 = code_bss_start + 0x000195F0; -D_801FD598 = code_bss_start + 0x000195F8; -D_801FD5A0 = code_bss_start + 0x00019600; -D_801FD5A4 = code_bss_start + 0x00019604; -D_801FD5B8 = code_bss_start + 0x00019618; -D_801FD5C4 = code_bss_start + 0x00019624; -D_801FD5C8 = code_bss_start + 0x00019628; -D_801FD5E8 = code_bss_start + 0x00019648; -D_801FD608 = code_bss_start + 0x00019668; -D_801FD610 = code_bss_start + 0x00019670; -D_801FD710 = code_bss_start + 0x00019770; -D_801FD8C0 = code_bss_start + 0x00019920; -D_801FDB00 = code_bss_start + 0x00019B60; -D_801FE100 = code_bss_start + 0x0001A160; -D_801FE4C0 = code_bss_start + 0x0001A520; -D_801FE640 = code_bss_start + 0x0001A6A0; -D_801FE6D0 = code_bss_start + 0x0001A730; -D_801FE7C0 = code_bss_start + 0x0001A820; -D_801FFBC0 = code_bss_start + 0x0001BC20; -D_801FFBC8 = code_bss_start + 0x0001BC28; -D_801FFBD0 = code_bss_start + 0x0001BC30; -D_801FFBD8 = code_bss_start + 0x0001BC38; -D_801FFC80 = code_bss_start + 0x0001BCE0; -D_801FFC84 = code_bss_start + 0x0001BCE4; -D_801FFC90 = code_bss_start + 0x0001BCF0; -D_801FFD00 = code_bss_start + 0x0001BD60; -D_801FFD34 = code_bss_start + 0x0001BD94; -D_801FFD40 = code_bss_start + 0x0001BDA0; -D_80200000 = code_bss_start + 0x0001C060; -D_80200002 = code_bss_start + 0x0001C062; -D_80200004 = code_bss_start + 0x0001C064; -D_80200008 = code_bss_start + 0x0001C068; -D_8020001E = code_bss_start + 0x0001C07E; -D_802000C9 = code_bss_start + 0x0001C129; -D_802000D4 = code_bss_start + 0x0001C134; -D_80200140 = code_bss_start + 0x0001C1A0; -D_8020034A = code_bss_start + 0x0001C3AA; -D_80200B88 = code_bss_start + 0x0001CBE8; -D_80200BBA = code_bss_start + 0x0001CC1A; -D_80200BCC = code_bss_start + 0x0001CC2C; -D_80200BCE = code_bss_start + 0x0001CC2E; -D_80200BD0 = code_bss_start + 0x0001CC30; -D_80200C70 = code_bss_start + 0x0001CCD0; -D_80200C71 = code_bss_start + 0x0001CCD1; -D_80200C76 = code_bss_start + 0x0001CCD6; -D_80200C78 = code_bss_start + 0x0001CCD8; -D_80200C7C = code_bss_start + 0x0001CCDC; -D_80200C80 = code_bss_start + 0x0001CCE0; -D_80200C92 = code_bss_start + 0x0001CCF2; -D_80200C94 = code_bss_start + 0x0001CCF4; -D_80200C98 = code_bss_start + 0x0001CCF8; -D_80200C9A = code_bss_start + 0x0001CCFA; -D_80200C9E = code_bss_start + 0x0001CCFE; -D_80200CA0 = code_bss_start + 0x0001CD00; -D_80200CF0 = code_bss_start + 0x0001CD50; -D_80200D38 = code_bss_start + 0x0001CD98; -D_80200D70 = code_bss_start + 0x0001CDD0; -D_802011F0 = code_bss_start + 0x0001D250; -D_8020178C = code_bss_start + 0x0001D7EC; -D_802017B0 = code_bss_start + 0x0001D810; -D_80201D68 = code_bss_start + 0x0001DDC8; -D_80201D6C = code_bss_start + 0x0001DDCC; -D_802023FC = code_bss_start + 0x0001E45C; -D_80202878 = code_bss_start + 0x0001E8D8; -D_80202880 = code_bss_start + 0x0001E8E0; -D_802028BC = code_bss_start + 0x0001E91C; -D_80202980 = code_bss_start + 0x0001E9E0; -D_802029D8 = code_bss_start + 0x0001EA38; -D_80202AB0 = code_bss_start + 0x0001EB10; -D_80202AC8 = code_bss_start + 0x0001EB28; -D_80202B08 = code_bss_start + 0x0001EB68; -D_80202B20 = code_bss_start + 0x0001EB80; -D_80202B60 = code_bss_start + 0x0001EBC0; -D_80202B78 = code_bss_start + 0x0001EBD8; -D_80203278 = code_bss_start + 0x0001F2D8; -D_80203290 = code_bss_start + 0x0001F2F0; -D_80203294 = code_bss_start + 0x0001F2F4; -D_802034C0 = code_bss_start + 0x0001F520; -D_802034C4 = code_bss_start + 0x0001F524; -D_802034C8 = code_bss_start + 0x0001F528; -D_802034D0 = code_bss_start + 0x0001F530; -D_802034D4 = code_bss_start + 0x0001F534; -D_802034D8 = code_bss_start + 0x0001F538; -D_802034DC = code_bss_start + 0x0001F53C; -D_802034E8 = code_bss_start + 0x0001F548; -D_802034F0 = code_bss_start + 0x0001F550; -D_802034F8 = code_bss_start + 0x0001F558; -D_802034FC = code_bss_start + 0x0001F55C; -D_80203500 = code_bss_start + 0x0001F560; -D_80203528 = code_bss_start + 0x0001F588; -D_8020352C = code_bss_start + 0x0001F58C; -D_8020352E = code_bss_start + 0x0001F58E; -D_80203530 = code_bss_start + 0x0001F590; -D_8020360C = code_bss_start + 0x0001F66C; -D_80203618 = code_bss_start + 0x0001F678; -D_8020361C = code_bss_start + 0x0001F67C; -D_80203620 = code_bss_start + 0x0001F680; -D_80203624 = code_bss_start + 0x0001F684; -D_80203628 = code_bss_start + 0x0001F688; -D_80203630 = code_bss_start + 0x0001F690; -D_80203640 = code_bss_start + 0x0001F6A0; -D_80203650 = code_bss_start + 0x0001F6B0; -D_80203660 = code_bss_start + 0x0001F6C0; -D_80203690 = code_bss_start + 0x0001F6F0; -D_802036A0 = code_bss_start + 0x0001F700; -D_802036B0 = code_bss_start + 0x0001F710; -D_802036C0 = code_bss_start + 0x0001F720; -D_802036C4 = code_bss_start + 0x0001F724; -D_80203794 = code_bss_start + 0x0001F7F4; -D_80203798 = code_bss_start + 0x0001F7F8; -D_802037D0 = code_bss_start + 0x0001F830; -D_802037D4 = code_bss_start + 0x0001F834; -D_802038A4 = code_bss_start + 0x0001F904; -D_802038A8 = code_bss_start + 0x0001F908; -D_802038C2 = code_bss_start + 0x0001F922; -D_802038CE = code_bss_start + 0x0001F92E; -D_802038E0 = code_bss_start + 0x0001F940; -D_802038E4 = code_bss_start + 0x0001F944; -D_80203970 = code_bss_start + 0x0001F9D0; -D_802039B4 = code_bss_start + 0x0001FA14; -D_802039B8 = code_bss_start + 0x0001FA18; -D_802039D2 = code_bss_start + 0x0001FA32; -D_802039DE = code_bss_start + 0x0001FA3E; -D_802039F0 = code_bss_start + 0x0001FA50; -D_802039FC = code_bss_start + 0x0001FA5C; -D_80203B80 = code_bss_start + 0x0001FBE0; -D_80203B88 = code_bss_start + 0x0001FBE8; -D_80203B90 = code_bss_start + 0x0001FBF0; -D_80204590 = code_bss_start + 0x000205F0; -D_80204594 = code_bss_start + 0x000205F4; -D_80204598 = code_bss_start + 0x000205F8; -D_802045A4 = code_bss_start + 0x00020604; -D_80204FA4 = code_bss_start + 0x00021004; -D_80204FA8 = code_bss_start + 0x00021008; -D_80204FB4 = code_bss_start + 0x00021014; -D_80204FB8 = code_bss_start + 0x00021018; -D_80204FC0 = code_bss_start + 0x00021020; -D_80204FCC = code_bss_start + 0x0002102C; -D_80204FD8 = code_bss_start + 0x00021038; -D_80205008 = code_bss_start + 0x00021068; -D_80205038 = code_bss_start + 0x00021098; -D_802050B9 = code_bss_start + 0x00021119; -D_802050C0 = code_bss_start + 0x00021120; -D_802050C4 = code_bss_start + 0x00021124; -D_802050CC = code_bss_start + 0x0002112C; -D_802050D0 = code_bss_start + 0x00021130; -D_80205228 = code_bss_start + 0x00021288; -D_8020522B = code_bss_start + 0x0002128B; -D_80205390 = code_bss_start + 0x000213F0; -D_802053C8 = code_bss_start + 0x00021428; -D_802057B0 = code_bss_start + 0x00021810; -D_80205830 = code_bss_start + 0x00021890; -D_802084B0 = code_bss_start + 0x00024510; -D_80208530 = code_bss_start + 0x00024590; -D_80208598 = code_bss_start + 0x000245F8; -D_802085A8 = code_bss_start + 0x00024608; -D_802085B8 = code_bss_start + 0x00024618; -D_802085C8 = code_bss_start + 0x00024628; -D_802085D8 = code_bss_start + 0x00024638; -D_802085F8 = code_bss_start + 0x00024658; -D_802085FC = code_bss_start + 0x0002465C; -D_80208604 = code_bss_start + 0x00024664; -D_8020861C = code_bss_start + 0x0002467C; -D_80208634 = code_bss_start + 0x00024694; -D_8020864C = code_bss_start + 0x000246AC; -D_80208650 = code_bss_start + 0x000246B0; -D_80208654 = code_bss_start + 0x000246B4; -D_80208E68 = code_bss_start + 0x00024EC8; -D_80208E6C = code_bss_start + 0x00024ECC; -D_80208E70 = code_bss_start + 0x00024ED0; -D_80208E74 = code_bss_start + 0x00024ED4; -D_80208E90 = code_bss_start + 0x00024EF0; -D_80208E94 = code_bss_start + 0x00024EF4; -D_80208E98 = code_bss_start + 0x00024EF8; -D_80208E99 = code_bss_start + 0x00024EF9; -D_80208E9C = code_bss_start + 0x00024EFC; -D_80814E80 = ovl_file_choose_bss_start + 0x00000000; -D_80814E90 = ovl_file_choose_bss_start + 0x00000010; -D_8082DA50 = ovl_kaleido_scope_bss_start + 0x00000000; -D_8082DA52 = ovl_kaleido_scope_bss_start + 0x00000002; -D_8082DA54 = ovl_kaleido_scope_bss_start + 0x00000004; -D_8082DA56 = ovl_kaleido_scope_bss_start + 0x00000006; -D_8082DA58 = ovl_kaleido_scope_bss_start + 0x00000008; -D_8082DA60 = ovl_kaleido_scope_bss_start + 0x00000010; -D_8082DA64 = ovl_kaleido_scope_bss_start + 0x00000014; -D_8082DA68 = ovl_kaleido_scope_bss_start + 0x00000018; -D_8082DA6C = ovl_kaleido_scope_bss_start + 0x0000001C; -D_8082DA70 = ovl_kaleido_scope_bss_start + 0x00000020; -D_8082DA74 = ovl_kaleido_scope_bss_start + 0x00000024; -D_8082DA78 = ovl_kaleido_scope_bss_start + 0x00000028; -D_8082DA7C = ovl_kaleido_scope_bss_start + 0x0000002C; -D_8082DA80 = ovl_kaleido_scope_bss_start + 0x00000030; -D_8082DA82 = ovl_kaleido_scope_bss_start + 0x00000032; -D_8082DA84 = ovl_kaleido_scope_bss_start + 0x00000034; -D_8082DA86 = ovl_kaleido_scope_bss_start + 0x00000036; -D_80862AF0 = ovl_Player_Actor_bss_start + 0x00000000; -D_80862AF4 = ovl_Player_Actor_bss_start + 0x00000004; -D_80862AF8 = ovl_Player_Actor_bss_start + 0x00000008; -D_80862AFC = ovl_Player_Actor_bss_start + 0x0000000C; -D_80862B00 = ovl_Player_Actor_bss_start + 0x00000010; -D_80862B02 = ovl_Player_Actor_bss_start + 0x00000012; -D_80862B04 = ovl_Player_Actor_bss_start + 0x00000014; -D_80862B08 = ovl_Player_Actor_bss_start + 0x00000018; -D_80862B0C = ovl_Player_Actor_bss_start + 0x0000001C; -D_80862B10 = ovl_Player_Actor_bss_start + 0x00000020; -D_80862B14 = ovl_Player_Actor_bss_start + 0x00000024; -D_80862B16 = ovl_Player_Actor_bss_start + 0x00000026; -D_80862B18 = ovl_Player_Actor_bss_start + 0x00000028; -D_80862B1C = ovl_Player_Actor_bss_start + 0x0000002C; -D_80862B20 = ovl_Player_Actor_bss_start + 0x00000030; -D_80862B24 = ovl_Player_Actor_bss_start + 0x00000034; -D_80862B28 = ovl_Player_Actor_bss_start + 0x00000038; -D_80862B2C = ovl_Player_Actor_bss_start + 0x0000003C; -D_80862B30 = ovl_Player_Actor_bss_start + 0x00000040; -D_80862B3C = ovl_Player_Actor_bss_start + 0x0000004C; -D_80862B40 = ovl_Player_Actor_bss_start + 0x00000050; -D_80862B44 = ovl_Player_Actor_bss_start + 0x00000054; -D_80862B48 = ovl_Player_Actor_bss_start + 0x00000058; -D_80862B4C = ovl_Player_Actor_bss_start + 0x0000005C; -D_80862B50 = ovl_Player_Actor_bss_start + 0x00000060; -D_80862B6C = ovl_Player_Actor_bss_start + 0x0000007C; -D_80867BC0 = ovl_En_Door_bss_start + 0x00000000; -D_80874650 = ovl_En_Bom_bss_start + 0x00000000; -D_80874668 = ovl_En_Bom_bss_start + 0x00000018; -D_8087466A = ovl_En_Bom_bss_start + 0x0000001A; -D_8087466C = ovl_En_Bom_bss_start + 0x0000001C; -D_8089F4D0 = ovl_En_Viewer_bss_start + 0x00000000; -D_808BC000 = ovl_Door_Warp1_bss_start + 0x00000000; -D_808BC004 = ovl_Door_Warp1_bss_start + 0x00000004; -D_808BCDE0 = ovl_Obj_Syokudai_bss_start + 0x00000000; -D_808C4F70 = ovl_En_Wood02_bss_start + 0x00000000; -D_808C4F74 = ovl_En_Wood02_bss_start + 0x00000004; -D_808CC250 = ovl_En_Minideath_bss_start + 0x00000000; -D_808CC254 = ovl_En_Minideath_bss_start + 0x00000004; -D_808CC258 = ovl_En_Minideath_bss_start + 0x00000008; -D_808CC25C = ovl_En_Minideath_bss_start + 0x0000000C; -D_808DE5B0 = ovl_Object_Kankyo_bss_start + 0x00000000; -D_809101B0 = ovl_En_Fishing_bss_start + 0x00000000; -D_809101B4 = ovl_En_Fishing_bss_start + 0x00000004; -D_809101B8 = ovl_En_Fishing_bss_start + 0x00000008; -D_809101BC = ovl_En_Fishing_bss_start + 0x0000000C; -D_809101C0 = ovl_En_Fishing_bss_start + 0x00000010; -D_809101C4 = ovl_En_Fishing_bss_start + 0x00000014; -D_809101C8 = ovl_En_Fishing_bss_start + 0x00000018; -D_809101CC = ovl_En_Fishing_bss_start + 0x0000001C; -D_809101D0 = ovl_En_Fishing_bss_start + 0x00000020; -D_809101D8 = ovl_En_Fishing_bss_start + 0x00000028; -D_809101E8 = ovl_En_Fishing_bss_start + 0x00000038; -D_80910B3C = ovl_En_Fishing_bss_start + 0x0000098C; -D_80910B40 = ovl_En_Fishing_bss_start + 0x00000990; -D_80910B44 = ovl_En_Fishing_bss_start + 0x00000994; -D_80910B48 = ovl_En_Fishing_bss_start + 0x00000998; -D_809114A8 = ovl_En_Fishing_bss_start + 0x000012F8; -D_80911E08 = ovl_En_Fishing_bss_start + 0x00001C58; -D_80911E14 = ovl_En_Fishing_bss_start + 0x00001C64; -D_80911E20 = ovl_En_Fishing_bss_start + 0x00001C70; -D_80911E28 = ovl_En_Fishing_bss_start + 0x00001C78; -D_80911E30 = ovl_En_Fishing_bss_start + 0x00001C80; -D_80911E3C = ovl_En_Fishing_bss_start + 0x00001C8C; -D_80911F20 = ovl_En_Fishing_bss_start + 0x00001D70; -D_80911F24 = ovl_En_Fishing_bss_start + 0x00001D74; -D_80911F28 = ovl_En_Fishing_bss_start + 0x00001D78; -D_80911F2C = ovl_En_Fishing_bss_start + 0x00001D7C; -D_80911F30 = ovl_En_Fishing_bss_start + 0x00001D80; -D_80911F38 = ovl_En_Fishing_bss_start + 0x00001D88; -D_80911F3C = ovl_En_Fishing_bss_start + 0x00001D8C; -D_80911F40 = ovl_En_Fishing_bss_start + 0x00001D90; -D_80911F44 = ovl_En_Fishing_bss_start + 0x00001D94; -D_80911F48 = ovl_En_Fishing_bss_start + 0x00001D98; -D_80911F4C = ovl_En_Fishing_bss_start + 0x00001D9C; -D_80911F50 = ovl_En_Fishing_bss_start + 0x00001DA0; -D_80911F58 = ovl_En_Fishing_bss_start + 0x00001DA8; -D_80911F64 = ovl_En_Fishing_bss_start + 0x00001DB4; -D_80911F68 = ovl_En_Fishing_bss_start + 0x00001DB8; -D_80911F6C = ovl_En_Fishing_bss_start + 0x00001DBC; -D_80911F70 = ovl_En_Fishing_bss_start + 0x00001DC0; -D_80911F78 = ovl_En_Fishing_bss_start + 0x00001DC8; -D_80914048 = ovl_En_Fishing_bss_start + 0x00003E98; -D_80915128 = ovl_En_Fishing_bss_start + 0x00004F78; -D_8091512C = ovl_En_Fishing_bss_start + 0x00004F7C; -D_80915130 = ovl_En_Fishing_bss_start + 0x00004F80; -D_80915138 = ovl_En_Fishing_bss_start + 0x00004F88; -D_809171B8 = ovl_En_Fishing_bss_start + 0x00007008; -D_809171C4 = ovl_En_Fishing_bss_start + 0x00007014; -D_809171C8 = ovl_En_Fishing_bss_start + 0x00007018; -D_809171C9 = ovl_En_Fishing_bss_start + 0x00007019; -D_809171CA = ovl_En_Fishing_bss_start + 0x0000701A; -D_809171CB = ovl_En_Fishing_bss_start + 0x0000701B; -D_809171CC = ovl_En_Fishing_bss_start + 0x0000701C; -D_809171D0 = ovl_En_Fishing_bss_start + 0x00007020; -D_809171D1 = ovl_En_Fishing_bss_start + 0x00007021; -D_809171D2 = ovl_En_Fishing_bss_start + 0x00007022; -D_809171D4 = ovl_En_Fishing_bss_start + 0x00007024; -D_809171D6 = ovl_En_Fishing_bss_start + 0x00007026; -D_809171D8 = ovl_En_Fishing_bss_start + 0x00007028; -D_809171DA = ovl_En_Fishing_bss_start + 0x0000702A; -D_809171DC = ovl_En_Fishing_bss_start + 0x0000702C; -D_809171E0 = ovl_En_Fishing_bss_start + 0x00007030; -D_809171EC = ovl_En_Fishing_bss_start + 0x0000703C; -D_809171EE = ovl_En_Fishing_bss_start + 0x0000703E; -D_809171F0 = ovl_En_Fishing_bss_start + 0x00007040; -D_809171F2 = ovl_En_Fishing_bss_start + 0x00007042; -D_809171F4 = ovl_En_Fishing_bss_start + 0x00007044; -D_809171F6 = ovl_En_Fishing_bss_start + 0x00007046; -D_809171F8 = ovl_En_Fishing_bss_start + 0x00007048; -D_809171FC = ovl_En_Fishing_bss_start + 0x0000704C; -D_809171FE = ovl_En_Fishing_bss_start + 0x0000704E; -D_80917200 = ovl_En_Fishing_bss_start + 0x00007050; -D_80917202 = ovl_En_Fishing_bss_start + 0x00007052; -D_80917204 = ovl_En_Fishing_bss_start + 0x00007054; -D_80917206 = ovl_En_Fishing_bss_start + 0x00007056; -D_80917208 = ovl_En_Fishing_bss_start + 0x00007058; -D_8091720C = ovl_En_Fishing_bss_start + 0x0000705C; -D_80917210 = ovl_En_Fishing_bss_start + 0x00007060; -D_80917218 = ovl_En_Fishing_bss_start + 0x00007068; -D_80917228 = ovl_En_Fishing_bss_start + 0x00007078; -D_8091722C = ovl_En_Fishing_bss_start + 0x0000707C; -D_80917238 = ovl_En_Fishing_bss_start + 0x00007088; -D_8091723C = ovl_En_Fishing_bss_start + 0x0000708C; -D_80917248 = ovl_En_Fishing_bss_start + 0x00007098; -D_80917254 = ovl_En_Fishing_bss_start + 0x000070A4; -D_80917258 = ovl_En_Fishing_bss_start + 0x000070A8; -D_8091725C = ovl_En_Fishing_bss_start + 0x000070AC; -D_80917260 = ovl_En_Fishing_bss_start + 0x000070B0; -D_80917264 = ovl_En_Fishing_bss_start + 0x000070B4; -D_80917266 = ovl_En_Fishing_bss_start + 0x000070B6; -D_80917268 = ovl_En_Fishing_bss_start + 0x000070B8; -D_8091726C = ovl_En_Fishing_bss_start + 0x000070BC; -D_80917270 = ovl_En_Fishing_bss_start + 0x000070C0; -D_80917272 = ovl_En_Fishing_bss_start + 0x000070C2; -D_80917274 = ovl_En_Fishing_bss_start + 0x000070C4; -D_80917278 = ovl_En_Fishing_bss_start + 0x000070C8; -D_8091727C = ovl_En_Fishing_bss_start + 0x000070CC; -D_80936AD0 = ovl_En_Kusa_bss_start + 0x00000000; -D_80936AD8 = ovl_En_Kusa_bss_start + 0x00000008; -D_80936CD8 = ovl_En_Kusa_bss_start + 0x00000208; -D_80936CDA = ovl_En_Kusa_bss_start + 0x0000020A; -D_80936CDC = ovl_En_Kusa_bss_start + 0x0000020C; -D_80936CDE = ovl_En_Kusa_bss_start + 0x0000020E; -D_80936CE0 = ovl_En_Kusa_bss_start + 0x00000210; -D_8093D3B0 = ovl_Obj_Switch_bss_start + 0x00000000; -D_80947EA0 = ovl_En_Sda_bss_start + 0x00000000; -D_8096F5D0 = ovl_Bg_F40_Swlift_bss_start + 0x00000000; -D_809AADA0 = ovl_Obj_Grass_bss_start + 0x00000000; -D_809AADB0 = ovl_Obj_Grass_bss_start + 0x00000010; -D_809AADC0 = ovl_Obj_Grass_bss_start + 0x00000020; -D_809AAE10 = ovl_Obj_Grass_bss_start + 0x00000070; -D_809BEFD0 = ovl_En_Knight_bss_start + 0x00000000; -D_809BEFD4 = ovl_En_Knight_bss_start + 0x00000004; -D_809BEFD8 = ovl_En_Knight_bss_start + 0x00000008; -D_809BEFDC = ovl_En_Knight_bss_start + 0x0000000C; -D_809BEFE0 = ovl_En_Knight_bss_start + 0x00000010; -D_809BEFE4 = ovl_En_Knight_bss_start + 0x00000014; -D_809BEFE8 = ovl_En_Knight_bss_start + 0x00000018; -D_809C014A = ovl_En_Knight_bss_start + 0x0000117A; -D_809C0758 = ovl_En_Knight_bss_start + 0x00001788; -D_809D8A10 = ovl_Boss_01_bss_start + 0x00000000; -D_809D8A14 = ovl_Boss_01_bss_start + 0x00000004; -D_809D8A18 = ovl_Boss_01_bss_start + 0x00000008; -D_809D8A1C = ovl_Boss_01_bss_start + 0x0000000C; -D_809D8A20 = ovl_Boss_01_bss_start + 0x00000010; -D_809D8A24 = ovl_Boss_01_bss_start + 0x00000014; -D_809D8A28 = ovl_Boss_01_bss_start + 0x00000018; -D_809D8A2C = ovl_Boss_01_bss_start + 0x0000001C; -D_809D8A30 = ovl_Boss_01_bss_start + 0x00000020; -D_809D8A34 = ovl_Boss_01_bss_start + 0x00000024; -D_809D8A38 = ovl_Boss_01_bss_start + 0x00000028; -D_809D8A40 = ovl_Boss_01_bss_start + 0x00000030; -D_809D8A4C = ovl_Boss_01_bss_start + 0x0000003C; -D_809D8A50 = ovl_Boss_01_bss_start + 0x00000040; -D_809D8A54 = ovl_Boss_01_bss_start + 0x00000044; -D_809D8A58 = ovl_Boss_01_bss_start + 0x00000048; -D_809E0420 = ovl_Boss_02_bss_start + 0x00000000; -D_809E0421 = ovl_Boss_02_bss_start + 0x00000001; -D_809E0422 = ovl_Boss_02_bss_start + 0x00000002; -D_809E0424 = ovl_Boss_02_bss_start + 0x00000004; -D_809E0428 = ovl_Boss_02_bss_start + 0x00000008; -D_809E042C = ovl_Boss_02_bss_start + 0x0000000C; -D_809E0430 = ovl_Boss_02_bss_start + 0x00000010; -D_809E0434 = ovl_Boss_02_bss_start + 0x00000014; -D_809E0438 = ovl_Boss_02_bss_start + 0x00000018; -D_809E9840 = ovl_Boss_03_bss_start + 0x00000000; -D_809E9841 = ovl_Boss_03_bss_start + 0x00000001; -D_809E9842 = ovl_Boss_03_bss_start + 0x00000002; -D_809E9848 = ovl_Boss_03_bss_start + 0x00000008; -D_809E9858 = ovl_Boss_03_bss_start + 0x00000018; -D_809E989C = ovl_Boss_03_bss_start + 0x0000005C; -D_809E98E0 = ovl_Boss_03_bss_start + 0x000000A0; -D_809EC030 = ovl_Boss_03_bss_start + 0x000027F0; -D_809EC034 = ovl_Boss_03_bss_start + 0x000027F4; -D_809EC038 = ovl_Boss_03_bss_start + 0x000027F8; -D_809EC03C = ovl_Boss_03_bss_start + 0x000027FC; -D_809EE4D0 = ovl_Boss_04_bss_start + 0x00000000; -D_809F2110 = ovl_Boss_05_bss_start + 0x00000000; -D_809F4370 = ovl_Boss_06_bss_start + 0x00000000; -D_809F4970 = ovl_Boss_06_bss_start + 0x00000600; -D_809F4974 = ovl_Boss_06_bss_start + 0x00000604; -D_809F4978 = ovl_Boss_06_bss_start + 0x00000608; -D_809F497C = ovl_Boss_06_bss_start + 0x0000060C; -D_80A09A40 = ovl_Boss_07_bss_start + 0x00000000; -D_80A09A4C = ovl_Boss_07_bss_start + 0x0000000C; -D_80A09A50 = ovl_Boss_07_bss_start + 0x00000010; -D_80A09A54 = ovl_Boss_07_bss_start + 0x00000014; -D_80A09A58 = ovl_Boss_07_bss_start + 0x00000018; -D_80A09A5C = ovl_Boss_07_bss_start + 0x0000001C; -D_80A09A60 = ovl_Boss_07_bss_start + 0x00000020; -D_80A09A64 = ovl_Boss_07_bss_start + 0x00000024; -D_80A09A68 = ovl_Boss_07_bss_start + 0x00000028; -D_80A09A6C = ovl_Boss_07_bss_start + 0x0000002C; -D_80A09A70 = ovl_Boss_07_bss_start + 0x00000030; -D_80A09A71 = ovl_Boss_07_bss_start + 0x00000031; -D_80A09A78 = ovl_Boss_07_bss_start + 0x00000038; -D_80A0A888 = ovl_Boss_07_bss_start + 0x00000E48; -D_80A0A88C = ovl_Boss_07_bss_start + 0x00000E4C; -D_80A0A890 = ovl_Boss_07_bss_start + 0x00000E50; -D_80A1D830 = ovl_Obj_Flowerpot_bss_start + 0x00000000; -D_80A1D838 = ovl_Obj_Flowerpot_bss_start + 0x00000008; -D_80A1DA38 = ovl_Obj_Flowerpot_bss_start + 0x00000208; -D_80A1DA3A = ovl_Obj_Flowerpot_bss_start + 0x0000020A; -D_80A1DA3C = ovl_Obj_Flowerpot_bss_start + 0x0000020C; -D_80A1DA3E = ovl_Obj_Flowerpot_bss_start + 0x0000020E; -D_80A1DA40 = ovl_Obj_Flowerpot_bss_start + 0x00000210; -D_80A2BBF0 = ovl_Bg_Dblue_Movebg_bss_start + 0x00000000; -D_80A2BBF4 = ovl_Bg_Dblue_Movebg_bss_start + 0x00000004; -D_80A2BBF5 = ovl_Bg_Dblue_Movebg_bss_start + 0x00000005; -D_80A32200 = ovl_En_Slime_bss_start + 0x00000000; -D_80A41D20 = ovl_En_Test3_bss_start + 0x00000000; -D_80A41D24 = ovl_En_Test3_bss_start + 0x00000004; -D_80A41D28 = ovl_En_Test3_bss_start + 0x00000008; -D_80A41D40 = ovl_En_Test3_bss_start + 0x00000020; -D_80A41D44 = ovl_En_Test3_bss_start + 0x00000024; -D_80A41D48 = ovl_En_Test3_bss_start + 0x00000028; -D_80A41D50 = ovl_En_Test3_bss_start + 0x00000030; -D_80A41D5C = ovl_En_Test3_bss_start + 0x0000003C; -D_80A41D60 = ovl_En_Test3_bss_start + 0x00000040; -D_80A41D64 = ovl_En_Test3_bss_start + 0x00000044; -D_80A41D68 = ovl_En_Test3_bss_start + 0x00000048; -D_80A41D6C = ovl_En_Test3_bss_start + 0x0000004C; -D_80A434D0 = ovl_En_Test4_bss_start + 0x00000000; -D_80A434D4 = ovl_En_Test4_bss_start + 0x00000004; -D_80A44C70 = ovl_En_Bat_bss_start + 0x00000000; -D_80A44C74 = ovl_En_Bat_bss_start + 0x00000004; -D_80A5F1C0 = ovl_En_Kusa2_bss_start + 0x00000000; -D_80A60900 = ovl_En_Kusa2_bss_start + 0x00001740; -D_80A60908 = ovl_En_Kusa2_bss_start + 0x00001748; -D_80A60B08 = ovl_En_Kusa2_bss_start + 0x00001948; -D_80A60B0A = ovl_En_Kusa2_bss_start + 0x0000194A; -D_80A60B0C = ovl_En_Kusa2_bss_start + 0x0000194C; -D_80A60B0E = ovl_En_Kusa2_bss_start + 0x0000194E; -D_80A60B10 = ovl_En_Kusa2_bss_start + 0x00001950; -D_80A6E990 = ovl_En_Fall_bss_start + 0x00000000; -D_80A6E9B4 = ovl_En_Fall_bss_start + 0x00000024; -D_80A6E9D8 = ovl_En_Fall_bss_start + 0x00000048; -D_80A6F098 = ovl_En_Fall_bss_start + 0x00000708; -D_80A711B0 = ovl_Bg_Crace_Movebg_bss_start + 0x00000000; -D_80A849D0 = ovl_Obj_Mine_bss_start + 0x00000000; -D_80A94910 = ovl_En_Test6_bss_start + 0x00000000; -D_80A99E80 = ovl_En_Az_bss_start + 0x00000000; -D_80A99E8C = ovl_En_Az_bss_start + 0x0000000C; -D_80A99E90 = ovl_En_Az_bss_start + 0x00000010; -D_80A9DDC0 = ovl_Bg_Hakugin_Post_bss_start + 0x00000000; -D_80A9E028 = ovl_Bg_Hakugin_Post_bss_start + 0x00000268; -D_80A9E030 = ovl_Bg_Hakugin_Post_bss_start + 0x00000270; -D_80A9E2C8 = ovl_Bg_Hakugin_Post_bss_start + 0x00000508; -D_80A9F6A8 = ovl_Bg_Hakugin_Post_bss_start + 0x000018E8; -D_80A9F94C = ovl_Bg_Hakugin_Post_bss_start + 0x00001B8C; -D_80AAAE20 = ovl_Dm_Char01_bss_start + 0x00000000; -D_80AAAE22 = ovl_Dm_Char01_bss_start + 0x00000002; -D_80AAAE24 = ovl_Dm_Char01_bss_start + 0x00000004; -D_80AAAE26 = ovl_Dm_Char01_bss_start + 0x00000006; -D_80AC1230 = ovl_En_Twig_bss_start + 0x00000000; -D_80AC1234 = ovl_En_Twig_bss_start + 0x00000004; -D_80AC1238 = ovl_En_Twig_bss_start + 0x00000008; -D_80AC5060 = ovl_Bg_Icefloe_bss_start + 0x00000000; -D_80ADA450 = ovl_Obj_Takaraya_Wall_bss_start + 0x00000000; -D_80ADA458 = ovl_Obj_Takaraya_Wall_bss_start + 0x00000008; -D_80ADA508 = ovl_Obj_Takaraya_Wall_bss_start + 0x000000B8; -D_80ADA50C = ovl_Obj_Takaraya_Wall_bss_start + 0x000000BC; -D_80ADA510 = ovl_Obj_Takaraya_Wall_bss_start + 0x000000C0; -D_80ADA930 = ovl_Obj_Takaraya_Wall_bss_start + 0x000004E0; -D_80ADA988 = ovl_Obj_Takaraya_Wall_bss_start + 0x00000538; -D_80ADA98C = ovl_Obj_Takaraya_Wall_bss_start + 0x0000053C; -D_80ADA9A4 = ovl_Obj_Takaraya_Wall_bss_start + 0x00000554; -D_80ADAAC8 = ovl_Obj_Takaraya_Wall_bss_start + 0x00000678; -D_80ADAACC = ovl_Obj_Takaraya_Wall_bss_start + 0x0000067C; -D_80ADAAE0 = ovl_Obj_Takaraya_Wall_bss_start + 0x00000690; -D_80ADAAE8 = ovl_Obj_Takaraya_Wall_bss_start + 0x00000698; -D_80AF0050 = ovl_En_Tk_bss_start + 0x00000000; -D_80AF38B0 = ovl_En_Test7_bss_start + 0x00000000; -D_80AF38F0 = ovl_En_Test7_bss_start + 0x00000040; -D_80AF38F4 = ovl_En_Test7_bss_start + 0x00000044; -D_80AF38F8 = ovl_En_Test7_bss_start + 0x00000048; -D_80AF3900 = ovl_En_Test7_bss_start + 0x00000050; -D_80B16AF0 = ovl_Bg_Hakugin_Switch_bss_start + 0x00000000; -D_80B502A0 = ovl_En_Invadepoh_bss_start + 0x00000000; -D_80B502E0 = ovl_En_Invadepoh_bss_start + 0x00000040; -D_80B50320 = ovl_En_Invadepoh_bss_start + 0x00000080; -D_80B50324 = ovl_En_Invadepoh_bss_start + 0x00000084; -D_80B50328 = ovl_En_Invadepoh_bss_start + 0x00000088; -D_80B5032C = ovl_En_Invadepoh_bss_start + 0x0000008C; -D_80B50340 = ovl_En_Invadepoh_bss_start + 0x000000A0; -D_80B50348 = ovl_En_Invadepoh_bss_start + 0x000000A8; -D_80B50350 = ovl_En_Invadepoh_bss_start + 0x000000B0; -D_80B503F0 = ovl_En_Invadepoh_bss_start + 0x00000150; -D_80B503F4 = ovl_En_Invadepoh_bss_start + 0x00000154; -D_80B503F8 = ovl_En_Invadepoh_bss_start + 0x00000158; -D_80B503FC = ovl_En_Invadepoh_bss_start + 0x0000015C; -D_80B50400 = ovl_En_Invadepoh_bss_start + 0x00000160; -D_80B50404 = ovl_En_Invadepoh_bss_start + 0x00000164; -D_80B50406 = ovl_En_Invadepoh_bss_start + 0x00000166; -D_80B5040A = ovl_En_Invadepoh_bss_start + 0x0000016A; -D_80B5040C = ovl_En_Invadepoh_bss_start + 0x0000016C; -D_80B5E880 = ovl_En_Ot_bss_start + 0x00000000; -D_80B5E884 = ovl_En_Ot_bss_start + 0x00000004; -D_80B5E888 = ovl_En_Ot_bss_start + 0x00000008; -D_80B83C70 = ovl_Bg_Dblue_Balance_bss_start + 0x00000000; -D_80B83C74 = ovl_Bg_Dblue_Balance_bss_start + 0x00000004; -D_80B95E10 = ovl_En_Zog_bss_start + 0x00000000; -D_80B9DED0 = ovl_Obj_Hunsui_bss_start + 0x00000000; -D_80B9DED4 = ovl_Obj_Hunsui_bss_start + 0x00000004; -D_80B9DED8 = ovl_Obj_Hunsui_bss_start + 0x00000008; -D_80B9DED9 = ovl_Obj_Hunsui_bss_start + 0x00000009; -D_80B9DEDA = ovl_Obj_Hunsui_bss_start + 0x0000000A; -D_80BA36B0 = ovl_Obj_Nozoki_bss_start + 0x00000000; -D_80BA36B4 = ovl_Obj_Nozoki_bss_start + 0x00000004; -D_80BA36B8 = ovl_Obj_Nozoki_bss_start + 0x00000008; -D_80BB8450 = ovl_En_Tanron2_bss_start + 0x00000000; -D_80BB8454 = ovl_En_Tanron2_bss_start + 0x00000004; -D_80BB8458 = ovl_En_Tanron2_bss_start + 0x00000008; -D_80BB845C = ovl_En_Tanron2_bss_start + 0x0000000C; -D_80BB8460 = ovl_En_Tanron2_bss_start + 0x00000010; -D_80BBAC90 = ovl_Obj_Chan_bss_start + 0x00000000; -D_80BC4F20 = ovl_Bg_F40_Switch_bss_start + 0x00000000; -D_80BCF1C0 = ovl_Eff_Kamejima_Wave_bss_start + 0x00000000; -D_80BCF1C1 = ovl_Eff_Kamejima_Wave_bss_start + 0x00000001; -D_80BCF1C4 = ovl_Eff_Kamejima_Wave_bss_start + 0x00000004; -D_80BECBD0 = ovl_Bg_Ikana_Dharma_bss_start + 0x00000000; -D_80BF5C10 = ovl_En_Rg_bss_start + 0x00000000; -D_80C13920 = ovl_En_Thiefbird_bss_start + 0x00000000; -D_80C1392C = ovl_En_Thiefbird_bss_start + 0x0000000C; -D_80C16470 = ovl_Obj_Yado_bss_start + 0x00000000; -D_80C1AD40 = ovl_En_Invadepoh_Demo_bss_start + 0x00000000; -D_80C1AD80 = ovl_En_Invadepoh_Demo_bss_start + 0x00000040; diff --git a/undefined_syms.txt b/undefined_syms.txt new file mode 100644 index 0000000000..5e7996b157 --- /dev/null +++ b/undefined_syms.txt @@ -0,0 +1,4095 @@ +// libultra OS symbols + +D_80000000 = 0x80000000; // __osExceptionPreamble +D_80000004 = 0x80000004; // __osExceptionPreamble +D_80000008 = 0x80000008; // __osExceptionPreamble +D_8000000C = 0x8000000C; // __osExceptionPreamble +D_80000010 = 0x80000010; // +D_80000020 = 0x80000020; // + +osTvType = 0x80000300; +osRomType = 0x80000304; +osRomBase = 0x80000308; +osResetType = 0x8000030C; +osCicId = 0x80000310; +osVersion = 0x80000314; +osMemSize = 0x80000318; +osAppNmiBuffer = 0x8000031C; + +/// OS hardware registers + +// Signal Processor Registers + +D_A4040000 = 0xA4040000; // SP_MEM_ADDR_REG +D_A4040004 = 0xA4040004; // SP_DRAM_ADDR_REG +D_A4040008 = 0xA4040008; // SP_RD_LEN_REG +D_A404000C = 0xA404000C; // SP_WR_LEN_REG +D_A4040010 = 0xA4040010; // SP_STATUS_REG +D_A4040014 = 0xA4040014; // SP_DMA_FULL_REG +D_A4040018 = 0xA4040018; // SP_DMA_BUSY_REG +D_A404001C = 0xA404001C; // SP_SEMAPHORE_REG + +D_A4080000 = 0xA4080000; // SP PC + +// Display Processor Command Registers / Rasterizer Interface + +D_A4100000 = 0xA4100000; // DPC_START_REG +D_A4100004 = 0xA4100004; // DPC_END_REG +D_A4100008 = 0xA4100008; // DPC_CURRENT_REG +D_A410000C = 0xA410000C; // DPC_STATUS_REG +D_A4100010 = 0xA4100010; // DPC_CLOCK_REG +D_A4100014 = 0xA4100014; // DPC_BUFBUSY_REG +D_A4100018 = 0xA4100018; // DPC_PIPEBUSY_REG +D_A410001C = 0xA410001C; // DPC_TMEM_REG + +// Display Processor Span Registers + +D_A4200000 = 0xA4200000; // DPS_TBIST_REG / DP_TMEM_BIST +D_A4200004 = 0xA4200004; // DPS_TEST_MODE_REG +D_A4200008 = 0xA4200008; // DPS_BUFTEST_ADDR_REG +D_A420000C = 0xA420000C; // DPS_BUFTEST_DATA_REG + +// MIPS Interface Registers + +D_A4300000 = 0xA4300000; // MI_MODE_REG / MI_INIT_MODE_REG +D_A4300004 = 0xA4300004; // MI_VERSION_REG +D_A4300008 = 0xA4300008; // MI_INTR_REG +D_A430000C = 0xA430000C; // MI_INTR_MASK_REG + +// Video Interface Registers + +D_A4400000 = 0xA4400000; // VI_STATUS_REG / VI_CONTROL_REG +D_A4400004 = 0xA4400004; // VI_DRAM_ADDR_REG / VI_ORIGIN_REG +D_A4400008 = 0xA4400008; // VI_WIDTH_REG +D_A440000C = 0xA440000C; // VI_INTR_REG +D_A4400010 = 0xA4400010; // VI_CURRENT_REG +D_A4400014 = 0xA4400014; // VI_BURST_REG / VI_TIMING_REG +D_A4400018 = 0xA4400018; // VI_V_SYNC_REG +D_A440001C = 0xA440001C; // VI_H_SYNC_REG +D_A4400020 = 0xA4400020; // VI_LEAP_REG +D_A4400024 = 0xA4400024; // VI_H_START_REG +D_A4400028 = 0xA4400028; // VI_V_START_REG +D_A440002C = 0xA440002C; // VI_V_BURST_REG +D_A4400030 = 0xA4400030; // VI_X_SCALE_REG +D_A4400034 = 0xA4400034; // VI_Y_SCALE_REG + +// Audio Interface Registers + +D_A4500000 = 0xA4500000; // AI_DRAM_ADDR_REG +D_A4500004 = 0xA4500004; // AI_LEN_REG +D_A4500008 = 0xA4500008; // AI_CONTROL_REG +D_A450000C = 0xA450000C; // AI_STATUS_REG +D_A4500010 = 0xA4500010; // AI_DACRATE_REG +D_A4500014 = 0xA4500014; // AI_BITRATE_REG + +// Peripheral/Parallel Interface Registers + +D_A4600000 = 0xA4600000; // PI_DRAM_ADDR_REG +D_A4600004 = 0xA4600004; // PI_CART_ADDR_REG +D_A4600005 = 0xA4600005; +D_A4600006 = 0xA4600006; +D_A4600007 = 0xA4600007; +D_A4600008 = 0xA4600008; // PI_RD_LEN_REG +D_A460000C = 0xA460000C; // PI_WR_LEN_REG +D_A4600010 = 0xA4600010; // PI_STATUS_REG +D_A4600014 = 0xA4600014; // PI_BSD_DOM1_LAT_REG // PI dom1 latency +D_A4600018 = 0xA4600018; // PI_BSD_DOM1_PWD_REG // PI dom1 pulse width +D_A460001C = 0xA460001C; // PI_BSD_DOM1_PGS_REG // PI dom1 page size +D_A4600020 = 0xA4600020; // PI_BSD_DOM1_RLS_REG // PI dom1 release +D_A4600024 = 0xA4600024; // PI_BSD_DOM2_LAT_REG // PI dom2 latency +D_A4600028 = 0xA4600028; // PI_BSD_DOM2_LWD_REG // PI dom2 pulse width +D_A460002C = 0xA460002C; // PI_BSD_DOM2_PGS_REG // PI dom2 page size +D_A4600030 = 0xA4600030; // PI_BSD_DOM2_RLS_REG // PI dom2 release + +// RDRAM Interface Registers + +D_A4700000 = 0xA4700000; // RI_MODE_REG +D_A4700004 = 0xA4700004; // RI_CONFIG_REG +D_A4700008 = 0xA4700008; // RI_CURRENT_LOAD_REG +D_A470000C = 0xA470000C; // RI_SELECT_REG +D_A4700010 = 0xA4700010; // RI_REFRESH_REG +D_A4700014 = 0xA4700014; // RI_LATENCY_REG +D_A4700018 = 0xA4700018; // RI_RERROR_REG +D_A470001C = 0xA470001C; // RI_WERROR_REG + +// Serial Interface Registers + +D_A4800000 = 0xA4800000; // SI_DRAM_ADDR_REG +D_A4800004 = 0xA4800004; // SI_PIF_ADDR_RD64B_REG +D_A4800008 = 0xA4800008; // reserved +D_A480000C = 0xA480000C; // reserved +D_A4800010 = 0xA4800010; // SI_PIF_ADDR_WR64B_REG +D_A4800014 = 0xA4800014; // reserved +D_A4800018 = 0xA4800018; // SI_STATUS_REG + +// buffers + +gFramebuffer1 = 0x80000500; +D_80025D00 = 0x80025D00; + +// Segmented Addresses + +// segment 0x01 + +D_01000000 = 0x01000000; +D_01000680 = 0x01000680; +D_01001280 = 0x01001280; +D_01001800 = 0x01001800; +D_01002720 = 0x01002720; +D_01002800 = 0x01002800; +D_01007980 = 0x01007980; +D_010220B0 = 0x010220B0; +D_010277B0 = 0x010277B0; +D_0102A030 = 0x0102A030; +D_0102A6B0 = 0x0102A6B0; +D_0102A7B0 = 0x0102A7B0; +D_0102AAB0 = 0x0102AAB0; +D_0102B170 = 0x0102B170; +D_0102B3B0 = 0x0102B3B0; +D_0102B8F0 = 0x0102B8F0; +D_0102FCB0 = 0x0102FCB0; +D_010308F0 = 0x010308F0; +D_010310F0 = 0x010310F0; +D_010311F0 = 0x010311F0; +D_01031408 = 0x01031408; +D_01031618 = 0x01031618; + +// segment 0x02 + +D_02000000 = 0x02000000; +D_02000400 = 0x02000400; +D_02000500 = 0x02000500; +D_02000900 = 0x02000900; +D_02000A00 = 0x02000A00; +D_02000BE0 = 0x02000BE0; +D_02000D60 = 0x02000D60; +D_02000E60 = 0x02000E60; +D_02000F60 = 0x02000F60; +D_02001360 = 0x02001360; +D_02002360 = 0x02002360; +D_02002460 = 0x02002460; +D_020029A0 = 0x020029A0; +D_02002AA0 = 0x02002AA0; +D_02002DE0 = 0x02002DE0; +D_020031E0 = 0x020031E0; +D_020038A0 = 0x020038A0; +D_02003F20 = 0x02003F20; +D_02003FA0 = 0x02003FA0; +D_020042A0 = 0x020042A0; +D_020043A0 = 0x020043A0; +D_02004420 = 0x02004420; +D_020044A0 = 0x020044A0; +D_02004A20 = 0x02004A20; +D_02004AA0 = 0x02004AA0; +D_02004DA0 = 0x02004DA0; +D_02004E20 = 0x02004E20; +D_02004FA0 = 0x02004FA0; +D_02004FE0 = 0x02004FE0; +D_020054E0 = 0x020054E0; +D_02005720 = 0x02005720; +D_02005960 = 0x02005960; +D_02005F60 = 0x02005F60; +D_020063C0 = 0x020063C0; +D_02006B20 = 0x02006B20; +D_0200B998 = 0x0200B998; + +// segment 0x03 + + +// segment 0x04 + +D_04000320 = 0x04000320; +D_040003E0 = 0x040003E0; +D_040008D0 = 0x040008D0; +D_04001D00 = 0x04001D00; +D_040021A8 = 0x040021A8; +D_040032B0 = 0x040032B0; +D_0400CF48 = 0x0400CF48; +D_0400CF58 = 0x0400CF58; +D_0400CF88 = 0x0400CF88; +D_0400CF98 = 0x0400CF98; +D_0400D028 = 0x0400D028; +D_0400D030 = 0x0400D030; +D_0400D090 = 0x0400D090; +D_0400D0A8 = 0x0400D0A8; +D_0400D0B0 = 0x0400D0B0; +D_0400D0B8 = 0x0400D0B8; +D_0400D0C8 = 0x0400D0C8; +D_0400D0D0 = 0x0400D0D0; +D_0400D100 = 0x0400D100; +D_0400D108 = 0x0400D108; +D_0400D218 = 0x0400D218; +D_0400D220 = 0x0400D220; +D_0400D228 = 0x0400D228; +D_0400D2D0 = 0x0400D2D0; +D_0400D300 = 0x0400D300; +D_0400D3E8 = 0x0400D3E8; +D_0400D3F8 = 0x0400D3F8; +D_0400D420 = 0x0400D420; +D_0400D488 = 0x0400D488; +D_0400D490 = 0x0400D490; +D_0400D4A8 = 0x0400D4A8; +D_0400D4B0 = 0x0400D4B0; +D_0400D4B8 = 0x0400D4B8; +D_0400D4C0 = 0x0400D4C0; +D_0400D4D8 = 0x0400D4D8; +D_0400D4F0 = 0x0400D4F0; +D_0400D4F8 = 0x0400D4F8; +D_0400D500 = 0x0400D500; +D_0400D520 = 0x0400D520; +D_0400D568 = 0x0400D568; +D_0400D5A8 = 0x0400D5A8; +D_0400D5B0 = 0x0400D5B0; +D_0400D638 = 0x0400D638; +D_0400D660 = 0x0400D660; +D_0400D698 = 0x0400D698; +D_0400D728 = 0x0400D728; +D_0400D8B0 = 0x0400D8B0; +D_0400D9C8 = 0x0400D9C8; +D_0400D9D0 = 0x0400D9D0; +D_0400D9D8 = 0x0400D9D8; +D_0400DA60 = 0x0400DA60; +D_0400DA68 = 0x0400DA68; +D_0400DA70 = 0x0400DA70; +D_0400DA88 = 0x0400DA88; +D_0400DAA0 = 0x0400DAA0; +D_0400DAA8 = 0x0400DAA8; +D_0400DAC0 = 0x0400DAC0; +D_0400DAC8 = 0x0400DAC8; +D_0400DAD0 = 0x0400DAD0; +D_0400DAD8 = 0x0400DAD8; +D_0400DAE0 = 0x0400DAE0; +D_0400DAF0 = 0x0400DAF0; +D_0400DB10 = 0x0400DB10; +D_0400DB18 = 0x0400DB18; +D_0400DB30 = 0x0400DB30; +D_0400DB68 = 0x0400DB68; +D_0400DBB0 = 0x0400DBB0; +D_0400DBE8 = 0x0400DBE8; +D_0400DC20 = 0x0400DC20; +D_0400DC28 = 0x0400DC28; +D_0400DC30 = 0x0400DC30; +D_0400DC48 = 0x0400DC48; +D_0400DC50 = 0x0400DC50; +D_0400DC60 = 0x0400DC60; +D_0400DC78 = 0x0400DC78; +D_0400DC80 = 0x0400DC80; +D_0400DC88 = 0x0400DC88; +D_0400DCA8 = 0x0400DCA8; +D_0400DCD0 = 0x0400DCD0; +D_0400DCD8 = 0x0400DCD8; +D_0400DCF8 = 0x0400DCF8; +D_0400DD10 = 0x0400DD10; +D_0400DD30 = 0x0400DD30; +D_0400DD38 = 0x0400DD38; +D_0400DD40 = 0x0400DD40; +D_0400DD50 = 0x0400DD50; +D_0400DD58 = 0x0400DD58; +D_0400DD68 = 0x0400DD68; +D_0400DD70 = 0x0400DD70; +D_0400DD78 = 0x0400DD78; +D_0400DD80 = 0x0400DD80; +D_0400DDB0 = 0x0400DDB0; +D_0400DDF0 = 0x0400DDF0; +D_0400DDF8 = 0x0400DDF8; +D_0400DE00 = 0x0400DE00; +D_0400DE08 = 0x0400DE08; +D_0400DE10 = 0x0400DE10; +D_0400DE28 = 0x0400DE28; +D_0400DE30 = 0x0400DE30; +D_0400DE48 = 0x0400DE48; +D_0400DE50 = 0x0400DE50; +D_0400DE58 = 0x0400DE58; +D_0400DE60 = 0x0400DE60; +D_0400DEA0 = 0x0400DEA0; +D_0400DEA8 = 0x0400DEA8; +D_0400DF78 = 0x0400DF78; +D_0400DF90 = 0x0400DF90; +D_0400DF98 = 0x0400DF98; +D_0400DFA0 = 0x0400DFA0; +D_0400DFA8 = 0x0400DFA8; +D_0400DFB0 = 0x0400DFB0; +D_0400DFB8 = 0x0400DFB8; +D_0400DFC0 = 0x0400DFC0; +D_0400DFC8 = 0x0400DFC8; +D_0400DFD0 = 0x0400DFD0; +D_0400DFD8 = 0x0400DFD8; +D_0400DFE0 = 0x0400DFE0; +D_0400DFE8 = 0x0400DFE8; +D_0400DFF0 = 0x0400DFF0; +D_0400DFF8 = 0x0400DFF8; +D_0400E000 = 0x0400E000; +D_0400E008 = 0x0400E008; +D_0400E050 = 0x0400E050; +D_0400E060 = 0x0400E060; +D_0400E070 = 0x0400E070; +D_0400E080 = 0x0400E080; +D_0400E088 = 0x0400E088; +D_0400E098 = 0x0400E098; +D_0400E118 = 0x0400E118; +D_0400E120 = 0x0400E120; +D_0400E150 = 0x0400E150; +D_0400E1F0 = 0x0400E1F0; +D_0400E1F8 = 0x0400E1F8; +D_0400E200 = 0x0400E200; +D_0400E208 = 0x0400E208; +D_0400E218 = 0x0400E218; +D_0400E230 = 0x0400E230; +D_0400E248 = 0x0400E248; +D_0400E260 = 0x0400E260; +D_0400E270 = 0x0400E270; +D_0400E278 = 0x0400E278; +D_0400E290 = 0x0400E290; +D_0400E298 = 0x0400E298; +D_0400E2A0 = 0x0400E2A0; +D_0400E2A8 = 0x0400E2A8; +D_0400E2B0 = 0x0400E2B0; +D_0400E2B8 = 0x0400E2B8; +D_0400E2C0 = 0x0400E2C0; +D_0400E2C8 = 0x0400E2C8; +D_0400E2D0 = 0x0400E2D0; +D_0400E2D8 = 0x0400E2D8; +D_0400E2E8 = 0x0400E2E8; +D_0400E2F0 = 0x0400E2F0; +D_0400E2F8 = 0x0400E2F8; +D_0400E318 = 0x0400E318; +D_0400E330 = 0x0400E330; +D_0400E348 = 0x0400E348; +D_0400E350 = 0x0400E350; +D_0400E398 = 0x0400E398; +D_0400E3A0 = 0x0400E3A0; +D_0400E3A8 = 0x0400E3A8; +D_0400E3B0 = 0x0400E3B0; +D_0400E3B8 = 0x0400E3B8; +D_0400E3C0 = 0x0400E3C0; +D_0400E3D8 = 0x0400E3D8; +D_0400E3E0 = 0x0400E3E0; +D_0400E3E8 = 0x0400E3E8; +D_0400E3F0 = 0x0400E3F0; +D_0400E3F8 = 0x0400E3F8; +D_0400E408 = 0x0400E408; +D_0400E410 = 0x0400E410; +D_0400E418 = 0x0400E418; +D_0400E430 = 0x0400E430; +D_0400EB7C = 0x0400EB7C; +D_0400ED80 = 0x0400ED80; +D_04011518 = 0x04011518; +D_040117A8 = 0x040117A8; +D_04011BD0 = 0x04011BD0; +D_040127E8 = 0x040127E8; +D_04012860 = 0x04012860; +D_040128BC = 0x040128BC; +D_04014560 = 0x04014560; +D_04014570 = 0x04014570; +D_04015DB0 = 0x04015DB0; +D_04015FA0 = 0x04015FA0; +D_04016360 = 0x04016360; +D_0401A4D0 = 0x0401A4D0; +D_0401A538 = 0x0401A538; +D_0401A590 = 0x0401A590; +D_0401A620 = 0x0401A620; +D_0401ACF0 = 0x0401ACF0; +D_0401ED00 = 0x0401ED00; +D_0401F0F0 = 0x0401F0F0; +D_0401F740 = 0x0401F740; +D_0401F7C0 = 0x0401F7C0; +D_0401F8C0 = 0x0401F8C0; +D_0401FA40 = 0x0401FA40; +D_04020658 = 0x04020658; +D_04020BB8 = 0x04020BB8; +D_04020D00 = 0x04020D00; +D_040221B8 = 0x040221B8; +D_04022B28 = 0x04022B28; +D_04023100 = 0x04023100; +D_04023130 = 0x04023130; +D_04023210 = 0x04023210; +D_04023288 = 0x04023288; +D_04023348 = 0x04023348; +D_040233B8 = 0x040233B8; +D_04023428 = 0x04023428; +D_04023480 = 0x04023480; +D_040234F0 = 0x040234F0; +D_04025850 = 0x04025850; +D_04025970 = 0x04025970; +D_04025DD0 = 0x04025DD0; +D_04025EF0 = 0x04025EF0; +D_040268F0 = 0x040268F0; +D_04027CA0 = 0x04027CA0; +D_040281DC = 0x040281DC; +D_04028FEC = 0x04028FEC; +D_0402900C = 0x0402900C; +D_04029140 = 0x04029140; +D_04029CB0 = 0x04029CB0; +D_04029CF0 = 0x04029CF0; +D_04029D20 = 0x04029D20; +D_0402AF58 = 0x0402AF58; +D_0402B494 = 0x0402B494; +D_0402C818 = 0x0402C818; +D_0402C890 = 0x0402C890; +D_0402C908 = 0x0402C908; +D_0402C980 = 0x0402C980; +D_0402C9F8 = 0x0402C9F8; +D_0402CA98 = 0x0402CA98; +D_0402E510 = 0x0402E510; +D_0402E65C = 0x0402E65C; +D_0402F028 = 0x0402F028; +D_0402F0EC = 0x0402F0EC; +D_04030100 = 0x04030100; +D_040301B0 = 0x040301B0; +D_04032270 = 0x04032270; +D_04035710 = 0x04035710; +D_040367B0 = 0x040367B0; +D_040377B0 = 0x040377B0; +D_04037850 = 0x04037850; +D_040378F0 = 0x040378F0; +D_04037DF0 = 0x04037DF0; +D_040382F0 = 0x040382F0; +D_040387F0 = 0x040387F0; +D_04038CF0 = 0x04038CF0; +D_040391F0 = 0x040391F0; +D_040396F0 = 0x040396F0; +D_04039BF0 = 0x04039BF0; +D_0403A0F0 = 0x0403A0F0; +D_0403C190 = 0x0403C190; +D_0403F230 = 0x0403F230; +D_04044300 = 0x04044300; +D_0404F250 = 0x0404F250; +D_04050550 = 0x04050550; +D_04050648 = 0x04050648; +D_040506E0 = 0x040506E0; +D_04050D10 = 0x04050D10; +D_040510B0 = 0x040510B0; +D_04051180 = 0x04051180; +D_04051238 = 0x04051238; +D_0405140C = 0x0405140C; +D_040527A0 = 0x040527A0; +D_040527F0 = 0x040527F0; +D_040528B0 = 0x040528B0; +D_04054940 = 0x04054940; +D_040549A8 = 0x040549A8; +D_04054A90 = 0x04054A90; +D_04054C90 = 0x04054C90; +D_04054F18 = 0x04054F18; +D_04054F20 = 0x04054F20; +D_04055628 = 0x04055628; +D_04058BA0 = 0x04058BA0; +D_0405AAB0 = 0x0405AAB0; +D_0405AED0 = 0x0405AED0; +D_0405B6F0 = 0x0405B6F0; +D_0405BEF0 = 0x0405BEF0; +D_0405C6F0 = 0x0405C6F0; +D_0405CEF0 = 0x0405CEF0; +D_0405E6F0 = 0x0405E6F0; +D_0405F6F0 = 0x0405F6F0; +D_0405F7C0 = 0x0405F7C0; +D_0405FFC0 = 0x0405FFC0; +D_040607C0 = 0x040607C0; +D_04060FC0 = 0x04060FC0; +D_040617C0 = 0x040617C0; +D_04061FC0 = 0x04061FC0; +D_04061FE0 = 0x04061FE0; +D_04062000 = 0x04062000; +D_04062020 = 0x04062020; +D_04062040 = 0x04062040; +D_04062060 = 0x04062060; +D_040622C0 = 0x040622C0; +D_0406A800 = 0x0406A800; +D_0406AB30 = 0x0406AB30; +D_0406B6A0 = 0x0406B6A0; +D_0406B730 = 0x0406B730; +D_0406BB0C = 0x0406BB0C; +D_0406EB70 = 0x0406EB70; +D_0406F380 = 0x0406F380; +D_0406F9F0 = 0x0406F9F0; +D_0406FAE0 = 0x0406FAE0; +D_040706E0 = 0x040706E0; +D_04071230 = 0x04071230; +D_04073F00 = 0x04073F00; +D_04074330 = 0x04074330; +D_04075400 = 0x04075400; +D_04075A40 = 0x04075A40; +D_04075B30 = 0x04075B30; +D_04076BC0 = 0x04076BC0; +D_04077480 = 0x04077480; +D_04079B10 = 0x04079B10; +D_0407AB10 = 0x0407AB10; +D_0407AB58 = 0x0407AB58; +D_0407AB70 = 0x0407AB70; +D_0407AE00 = 0x0407AE00; +D_0407AFB0 = 0x0407AFB0; +D_0407D590 = 0x0407D590; +D_0407D650 = 0x0407D650; +D_0407E8C0 = 0x0407E8C0; +D_0407F218 = 0x0407F218; +D_04080FC8 = 0x04080FC8; +D_040815D0 = 0x040815D0; +D_04081628 = 0x04081628; +D_04083534 = 0x04083534; +D_04085640 = 0x04085640; +D_0408DBE0 = 0x0408DBE0; +D_0408DFE0 = 0x0408DFE0; +D_0408E3E0 = 0x0408E3E0; +D_0408E7E0 = 0x0408E7E0; +D_0408EBE0 = 0x0408EBE0; +D_0408EFE0 = 0x0408EFE0; +D_0408F3E0 = 0x0408F3E0; +D_0408F7E0 = 0x0408F7E0; +D_04091BE0 = 0x04091BE0; +D_04091CE0 = 0x04091CE0; + +// segment 0x05 + +D_05000C40 = 0x05000C40; +D_05001D20 = 0x05001D20; +D_05002FA0 = 0x05002FA0; +D_050061E8 = 0x050061E8; +D_05006420 = 0x05006420; +D_050066B0 = 0x050066B0; +D_05006760 = 0x05006760; +D_05007498 = 0x05007498; +D_05007890 = 0x05007890; +D_050078A0 = 0x050078A0; +D_05007938 = 0x05007938; +D_05007980 = 0x05007980; +D_05007E00 = 0x05007E00; +D_05008018 = 0x05008018; +D_050085F0 = 0x050085F0; +D_050089D0 = 0x050089D0; +D_05017EA0 = 0x05017EA0; +D_05018090 = 0x05018090; +D_050182A8 = 0x050182A8; +D_0501B370 = 0x0501B370; +D_0501B508 = 0x0501B508; +D_0501BEE0 = 0x0501BEE0; +D_0501BFB8 = 0x0501BFB8; +D_0501C058 = 0x0501C058; +D_0501C118 = 0x0501C118; +D_0501D980 = 0x0501D980; +D_050219E0 = 0x050219E0; +D_05021EF0 = 0x05021EF0; +D_05023008 = 0x05023008; +D_0502324C = 0x0502324C; + +// segment 0x06 + +// code + +D_06001254 = 0x06001254; +D_06001290 = 0x06001290; +D_06001470 = 0x06001470; +D_06001C60 = 0x06001C60; +D_06007390 = 0x06007390; +D_06008AA0 = 0x06008AA0; +D_06008C50 = 0x06008C50; +D_0600A348 = 0x0600A348; +D_0600E088 = 0x0600E088; +D_0600E2A0 = 0x0600E2A0; +D_0600FBB8 = 0x0600FBB8; +D_0600FC18 = 0x0600FC18; +D_0600FDF0 = 0x0600FDF0; +D_060110A8 = 0x060110A8; +D_06011210 = 0x06011210; +D_06011710 = 0x06011710; +D_06011760 = 0x06011760; +D_06011AB8 = 0x06011AB8; +D_06012A80 = 0x06012A80; +D_06013138 = 0x06013138; + +// ovl_Arms_Hook + +D_0601D960 = 0x0601D960; + +// ovl_Bg_Astr_Bombwall + +D_06002178 = 0x06002178; +D_060022E0 = 0x060022E0; +D_06002380 = 0x06002380; +D_06002498 = 0x06002498; + +// ovl_Bg_Botihasira + +D_06000638 = 0x06000638; +D_06001BD8 = 0x06001BD8; + +// ovl_Bg_Breakwall + +D_06000A50 = 0x06000A50; +D_06000C98 = 0x06000C98; + +// ovl_Bg_Crace_Movebg + +D_060003A0 = 0x060003A0; +D_06000E00 = 0x06000E00; + +// ovl_Bg_Ctower_Gear + +D_06010828 = 0x06010828; +D_06015F30 = 0x06015F30; +D_060160A0 = 0x060160A0; +D_06016E70 = 0x06016E70; +D_06017018 = 0x06017018; +D_06018118 = 0x06018118; +D_06018588 = 0x06018588; + +// ovl_Bg_Ctower_Rot + +D_060129D0 = 0x060129D0; +D_06012DA0 = 0x06012DA0; +D_060142E8 = 0x060142E8; +D_06017220 = 0x06017220; +D_06017410 = 0x06017410; +D_060174E0 = 0x060174E0; +D_06017650 = 0x06017650; + +// ovl_Bg_Dblue_Balance + +D_0600CD10 = 0x0600CD10; +D_0600CE00 = 0x0600CE00; +D_0600D110 = 0x0600D110; +D_0600D250 = 0x0600D250; + +// ovl_Bg_Dblue_Elevator + +D_060002C8 = 0x060002C8; +D_060005C4 = 0x060005C4; + +// ovl_Bg_Dblue_Movebg + +D_06004848 = 0x06004848; +D_060052B8 = 0x060052B8; +D_06008778 = 0x06008778; +D_0600A528 = 0x0600A528; +D_0600CD10 = 0x0600CD10; +D_0600CE00 = 0x0600CE00; + +// ovl_Bg_Dblue_Waterfall + +D_06003250 = 0x06003250; +D_06003358 = 0x06003358; +D_06003770 = 0x06003770; +D_0600B280 = 0x0600B280; +D_0600B448 = 0x0600B448; + +// ovl_Bg_Dkjail_Ivy + +D_06000080 = 0x06000080; +D_060011A8 = 0x060011A8; + +// ovl_Bg_Dy_Yoseizo + +D_06008090 = 0x06008090; +D_0600D1B0 = 0x0600D1B0; +D_0600D228 = 0x0600D228; +D_0601C6F4 = 0x0601C6F4; +D_0601C8B4 = 0x0601C8B4; + +// ovl_Bg_F40_Block + +D_060043D0 = 0x060043D0; +D_06004640 = 0x06004640; + +// ovl_Bg_F40_Flift + +D_06004038 = 0x06004038; +D_06004240 = 0x06004240; + +// ovl_Bg_F40_Switch + +D_06000118 = 0x06000118; +D_06000390 = 0x06000390; +D_06000438 = 0x06000438; + +// ovl_Bg_F40_Swlift + +D_06003B08 = 0x06003B08; +D_06003E80 = 0x06003E80; + +// ovl_Bg_Fire_Wall + +D_06000040 = 0x06000040; + +// ovl_Bg_Fu_Kaiten + +D_060005D0 = 0x060005D0; +D_06002D30 = 0x06002D30; + +// ovl_Bg_Fu_Mizu + +D_06002FC0 = 0x06002FC0; +D_060037D8 = 0x060037D8; +D_060037F8 = 0x060037F8; + +// ovl_Bg_Goron_Oyu + +D_06000080 = 0x06000080; +D_06000158 = 0x06000158; +D_06000968 = 0x06000968; +D_06000988 = 0x06000988; + +// ovl_Bg_Haka_Bombwall + +D_06000040 = 0x06000040; +D_06000148 = 0x06000148; +D_06001680 = 0x06001680; + +// ovl_Bg_Haka_Curtain + +D_06001410 = 0x06001410; +D_06001588 = 0x06001588; + +// ovl_Bg_Haka_Tomb + +D_060007B0 = 0x060007B0; +D_06000EE8 = 0x06000EE8; + +// ovl_Bg_Hakugin_Bombwall + +D_06009830 = 0x06009830; + +// ovl_Bg_Hakugin_Elvpole + +D_0600ACB8 = 0x0600ACB8; +D_0600BF40 = 0x0600BF40; + +// ovl_Bg_Hakugin_Post + +D_0600D3B0 = 0x0600D3B0; + +// ovl_Bg_Hakugin_Switch + +D_06000268 = 0x06000268; +D_060005C8 = 0x060005C8; + +// ovl_Bg_Icefloe + +D_060001E0 = 0x060001E0; +D_06000C90 = 0x06000C90; + +// ovl_Bg_Icicle + +D_060000D0 = 0x060000D0; +D_06000294 = 0x06000294; + +// ovl_Bg_Ikana_Bombwall + +D_06000128 = 0x06000128; +D_06000288 = 0x06000288; +D_06000488 = 0x06000488; + +// ovl_Bg_Ikana_Dharma + +D_060008C8 = 0x060008C8; +D_06000C50 = 0x06000C50; + +// ovl_Bg_Ikana_Mirror + +D_060014B0 = 0x060014B0; +D_06001678 = 0x06001678; +D_06001880 = 0x06001880; +D_06001AD8 = 0x06001AD8; +D_06001E18 = 0x06001E18; +D_06002358 = 0x06002358; + +// ovl_Bg_Ikana_Ray + +D_06001100 = 0x06001100; +D_06001228 = 0x06001228; + +// ovl_Bg_Ikana_Rotaryroom + +D_06004710 = 0x06004710; +D_060048A0 = 0x060048A0; +D_06007360 = 0x06007360; +D_06007448 = 0x06007448; +D_06007B68 = 0x06007B68; + +// ovl_Bg_Ikana_Shutter + +D_06000CE8 = 0x06000CE8; +D_06000F28 = 0x06000F28; + +// ovl_Bg_Ikninside + +D_0600CC78 = 0x0600CC78; +D_0600DE48 = 0x0600DE48; + +// ovl_Bg_Iknin_Susceil + +D_0600C308 = 0x0600C308; +D_0600C670 = 0x0600C670; +D_0600CBAC = 0x0600CBAC; + +// ovl_Bg_Iknv_Doukutu + +D_0600DB60 = 0x0600DB60; +D_0600DDD8 = 0x0600DDD8; +D_0600F1C0 = 0x0600F1C0; +D_06010D98 = 0x06010D98; +D_060115E0 = 0x060115E0; +D_060117A0 = 0x060117A0; +D_060117C8 = 0x060117C8; +D_06012700 = 0x06012700; +D_06012728 = 0x06012728; +D_06012788 = 0x06012788; + +// ovl_Bg_Iknv_Obj + +D_06011880 = 0x06011880; +D_060119D4 = 0x060119D4; +D_060129C8 = 0x060129C8; +D_06012CA4 = 0x06012CA4; +D_06013058 = 0x06013058; + +// ovl_Bg_Ingate + +D_060006B0 = 0x060006B0; +D_060016DC = 0x060016DC; + +// ovl_Bg_Keikoku_Saku + +D_06001640 = 0x06001640; +D_06002300 = 0x06002300; + +// ovl_Bg_Keikoku_Spr + +D_06000100 = 0x06000100; +D_060001F8 = 0x060001F8; +D_06000300 = 0x06000300; +D_060003F8 = 0x060003F8; +D_06000500 = 0x06000500; +D_060005F8 = 0x060005F8; + +// ovl_Bg_Kin2_Bombwall + +D_06000128 = 0x06000128; +D_060002C0 = 0x060002C0; +D_06000360 = 0x06000360; +D_06000490 = 0x06000490; + +// ovl_Bg_Kin2_Fence + +D_06000828 = 0x06000828; +D_06000908 = 0x06000908; + +// ovl_Bg_Kin2_Picture + +D_06000658 = 0x06000658; +D_06000798 = 0x06000798; + +// ovl_Bg_Ladder + +D_060000A0 = 0x060000A0; +D_060001D8 = 0x060001D8; +D_060002D0 = 0x060002D0; +D_06000408 = 0x06000408; +D_06000500 = 0x06000500; +D_06000638 = 0x06000638; +D_06000730 = 0x06000730; +D_06000868 = 0x06000868; + +// ovl_Bg_Last_Bwall + +D_06000098 = 0x06000098; + +// ovl_Bg_Lbfshot + +D_06000228 = 0x06000228; +D_060014D8 = 0x060014D8; + +// ovl_Bg_Lotus + +D_06000040 = 0x06000040; +D_06000A20 = 0x06000A20; + +// ovl_Bg_Market_Step + +D_0601F050 = 0x0601F050; +D_06018DA0 = 0x06018DA0; +D_0601EF10 = 0x0601EF10; +D_06018C60 = 0x06018C60; + +// ovl_Bg_Mbar_Chair + +D_06000288 = 0x06000288; +D_060019B4 = 0x060019B4; + +// ovl_Bg_Numa_Hana + +D_06000870 = 0x06000870; +D_06009FE0 = 0x06009FE0; +D_0600A740 = 0x0600A740; +D_0600AB88 = 0x0600AB88; +D_0600B928 = 0x0600B928; +D_0600BE58 = 0x0600BE58; + +// ovl_Bg_Open_Shutter + +D_060003E8 = 0x060003E8; +D_06001640 = 0x06001640; + +// ovl_Bg_Open_Spot + +D_06001A60 = 0x06001A60; +D_06001B40 = 0x06001B40; +D_06002CE0 = 0x06002CE0; + +// ovl_Bg_Sinkai_Kabe + +D_06000048 = 0x06000048; + +// ovl_Bg_Spdweb + +D_06000060 = 0x06000060; +D_060011C0 = 0x060011C0; +D_060012F0 = 0x060012F0; +D_06002678 = 0x06002678; + +// ovl_Bg_Spout_Fire + +D_06000040 = 0x06000040; + +// ovl_Bg_Tobira01 + +D_06000088 = 0x06000088; +D_060011C0 = 0x060011C0; + +// ovl_Bg_Umajump + +D_06001220 = 0x06001220; +D_06001438 = 0x06001438; +D_06001558 = 0x06001558; + +// ovl_Boss_01 + +D_06000C44 = 0x06000C44; +D_06001884 = 0x06001884; +D_0600C338 = 0x0600C338; +D_0600C498 = 0x0600C498; +D_0600C5E0 = 0x0600C5E0; +D_0600C7A8 = 0x0600C7A8; +D_0600C7C8 = 0x0600C7C8; +D_0600C7F8 = 0x0600C7F8; +D_0600E3E8 = 0x0600E3E8; +D_0600F0A8 = 0x0600F0A8; +D_0600FDEC = 0x0600FDEC; +D_0600FF94 = 0x0600FF94; +D_06010150 = 0x06010150; +D_06010980 = 0x06010980; +D_060124CC = 0x060124CC; +D_06012B70 = 0x06012B70; +D_06012D10 = 0x06012D10; +D_06012EBC = 0x06012EBC; +D_06013480 = 0x06013480; +D_0601407C = 0x0601407C; +D_06014F14 = 0x06014F14; +D_06015A30 = 0x06015A30; +D_06016168 = 0x06016168; +D_060164CC = 0x060164CC; +D_06018438 = 0x06018438; +D_06019C10 = 0x06019C10; +D_0601F6A4 = 0x0601F6A4; +D_060204AC = 0x060204AC; +D_060213A8 = 0x060213A8; +D_060220A0 = 0x060220A0; +D_06022118 = 0x06022118; +D_060222D0 = 0x060222D0; +D_06022550 = 0x06022550; + +// ovl_Boss_02 + +D_06000230 = 0x06000230; +D_060002E0 = 0x060002E0; +D_060003A0 = 0x060003A0; +D_060041A0 = 0x060041A0; +D_06008650 = 0x06008650; +D_06009B10 = 0x06009B10; +D_06009C78 = 0x06009C78; + +// ovl_Boss_03 + +D_06004260 = 0x06004260; +D_060042B0 = 0x060042B0; +D_060042F8 = 0x060042F8; +D_06007E50 = 0x06007E50; +D_06007EB0 = 0x06007EB0; +D_06007EC8 = 0x06007EC8; +D_060093A8 = 0x060093A8; +D_06009554 = 0x06009554; +D_060099D0 = 0x060099D0; +D_06009C14 = 0x06009C14; +D_06009CF8 = 0x06009CF8; +D_0600A6C8 = 0x0600A6C8; + +// ovl_Boss_04 + +D_0600004C = 0x0600004C; +D_06004510 = 0x06004510; +D_06004550 = 0x06004550; +D_060045E8 = 0x060045E8; + +// ovl_Boss_05 + +D_060006A4 = 0x060006A4; +D_06000A5C = 0x06000A5C; +D_06000ABC = 0x06000ABC; +D_060024E0 = 0x060024E0; +D_06002F0C = 0x06002F0C; +D_06003448 = 0x06003448; +D_06006240 = 0x06006240; +D_06006378 = 0x06006378; +D_06006484 = 0x06006484; +D_06006E50 = 0x06006E50; +D_06007488 = 0x06007488; +D_06007908 = 0x06007908; + +// ovl_Boss_06 + +D_06018BD0 = 0x06018BD0; +D_06018CF0 = 0x06018CF0; +D_06018DE0 = 0x06018DE0; +D_06019360 = 0x06019360; +D_060193B0 = 0x060193B0; +D_06019490 = 0x06019490; + +// ovl_Boss_07 + +D_06000194 = 0x06000194; +D_06000428 = 0x06000428; +D_06000D0C = 0x06000D0C; +D_06002C40 = 0x06002C40; +D_06002D84 = 0x06002D84; +D_060031E4 = 0x060031E4; +D_06003854 = 0x06003854; +D_06003A64 = 0x06003A64; +D_060099A0 = 0x060099A0; +D_06009C7C = 0x06009C7C; +D_06009EA8 = 0x06009EA8; +D_0600A194 = 0x0600A194; +D_0600A400 = 0x0600A400; +D_0600A6AC = 0x0600A6AC; +D_0600AE40 = 0x0600AE40; +D_0600AFB0 = 0x0600AFB0; +D_0600B020 = 0x0600B020; +D_0600C7D8 = 0x0600C7D8; +D_0600CEE8 = 0x0600CEE8; +D_060149A0 = 0x060149A0; +D_06016090 = 0x06016090; +D_06017DE0 = 0x06017DE0; +D_06019328 = 0x06019328; +D_06019C58 = 0x06019C58; +D_06019E48 = 0x06019E48; +D_0601DEB4 = 0x0601DEB4; +D_06022BB4 = 0x06022BB4; +D_06023DAC = 0x06023DAC; +D_06025018 = 0x06025018; +D_06025878 = 0x06025878; +D_06026204 = 0x06026204; +D_060269EC = 0x060269EC; +D_06026EA0 = 0x06026EA0; +D_06027270 = 0x06027270; +D_0602EE50 = 0x0602EE50; +D_0602EEC8 = 0x0602EEC8; +D_0602EEF8 = 0x0602EEF8; +D_0602EF68 = 0x0602EF68; +D_0602EF88 = 0x0602EF88; +D_0602EFE8 = 0x0602EFE8; +D_0602F640 = 0x0602F640; +D_0602F840 = 0x0602F840; +D_06030C40 = 0x06030C40; +D_06032040 = 0x06032040; +D_060335F0 = 0x060335F0; +D_06033F80 = 0x06033F80; +D_06034E64 = 0x06034E64; +D_060358C4 = 0x060358C4; +D_06036A7C = 0x06036A7C; +D_06037ADC = 0x06037ADC; +D_0603918C = 0x0603918C; +D_0603B330 = 0x0603B330; +D_0603C4E0 = 0x0603C4E0; +D_0603CBD0 = 0x0603CBD0; +D_0603D224 = 0x0603D224; +D_0603D7F0 = 0x0603D7F0; +D_0603DD1C = 0x0603DD1C; +D_0603DD30 = 0x0603DD30; +D_0603ED30 = 0x0603ED30; +D_0603F130 = 0x0603F130; +D_06040130 = 0x06040130; +D_06040930 = 0x06040930; +D_06040B30 = 0x06040B30; +D_06041B30 = 0x06041B30; +D_06042330 = 0x06042330; +D_06043330 = 0x06043330; + +// ovl_Boss_Hakugin + +D_06002054 = 0x06002054; +D_0600319C = 0x0600319C; +D_06010488 = 0x06010488; +D_06010500 = 0x06010500; +D_06011100 = 0x06011100; +D_06011178 = 0x06011178; +D_06011208 = 0x06011208; +D_06011278 = 0x06011278; +D_06012ED0 = 0x06012ED0; +D_06012F40 = 0x06012F40; +D_06013158 = 0x06013158; +D_060134D0 = 0x060134D0; +D_06013828 = 0x06013828; +D_06014040 = 0x06014040; + +// ovl_Demo_Effect + +D_06000050 = 0x06000050; +D_06000060 = 0x06000060; +D_060012E8 = 0x060012E8; + +// ovl_Demo_Kankyo + +D_06001000 = 0x06001000; + +// ovl_Demo_Moonend + +D_06001214 = 0x06001214; +D_0600B540 = 0x0600B540; +D_0600B5A0 = 0x0600B5A0; +D_06010C40 = 0x06010C40; +D_060129F0 = 0x060129F0; + +// ovl_Demo_Syoten + +D_0600023C = 0x0600023C; +D_06001298 = 0x06001298; +D_06001328 = 0x06001328; +D_06001370 = 0x06001370; +D_06001448 = 0x06001448; +D_06001730 = 0x06001730; +D_060018B8 = 0x060018B8; +D_060018C0 = 0x060018C0; +D_06001DD0 = 0x06001DD0; +D_06002880 = 0x06002880; +D_06002A20 = 0x06002A20; +D_06002B88 = 0x06002B88; +D_06002B98 = 0x06002B98; + +// ovl_Demo_Tre_Lgt + +D_06007D78 = 0x06007D78; + +// ovl_Dm_Ah + +D_06009E70 = 0x06009E70; + +// ovl_Dm_Al + +D_0600A0D8 = 0x0600A0D8; + +// ovl_Dm_An + +D_06000E70 = 0x06000E70; +D_06012618 = 0x06012618; + +// ovl_Dm_Bal + +D_060005FC = 0x060005FC; +D_06001804 = 0x06001804; +D_0600A6D0 = 0x0600A6D0; + +// ovl_Dm_Char01 + +D_06009928 = 0x06009928; +D_06009D70 = 0x06009D70; +D_06009E4C = 0x06009E4C; +D_0600A398 = 0x0600A398; +D_0600A5C0 = 0x0600A5C0; +D_0600A8F8 = 0x0600A8F8; +D_0600AA50 = 0x0600AA50; +D_0600AF98 = 0x0600AF98; +D_0600B1A0 = 0x0600B1A0; +D_0600DE50 = 0x0600DE50; +D_0600DF18 = 0x0600DF18; +D_0600F3C0 = 0x0600F3C0; +D_0600F768 = 0x0600F768; +D_0600FAE8 = 0x0600FAE8; +D_0600FE5C = 0x0600FE5C; +D_0600FE90 = 0x0600FE90; +D_06010C3C = 0x06010C3C; +D_06010EF0 = 0x06010EF0; +D_06010FD8 = 0x06010FD8; +D_060110B8 = 0x060110B8; + +// ovl_Dm_Char02 + +D_0600AD68 = 0x0600AD68; + +// ovl_Dm_Char03 + +D_06020550 = 0x06020550; + +// ovl_Dm_Char05 + +D_060001D0 = 0x060001D0; +D_060010B0 = 0x060010B0; +D_060013D0 = 0x060013D0; +D_06001E70 = 0x06001E70; +D_060042B0 = 0x060042B0; + +// ovl_Dm_Char06 + +D_060013A8 = 0x060013A8; +D_06006868 = 0x06006868; + +// ovl_Dm_Char07 + +D_06000100 = 0x06000100; +D_06000240 = 0x06000240; +D_06000650 = 0x06000650; +D_06000790 = 0x06000790; +D_06000B80 = 0x06000B80; +D_06000CC0 = 0x06000CC0; +D_060010D0 = 0x060010D0; +D_06001210 = 0x06001210; +D_060015E0 = 0x060015E0; +D_060016B8 = 0x060016B8; +D_06002BA0 = 0x06002BA0; +D_06002CD0 = 0x06002CD0; +D_06006688 = 0x06006688; +D_060076A0 = 0x060076A0; +D_06007918 = 0x06007918; +D_060105F8 = 0x060105F8; +D_06010D68 = 0x06010D68; + +// ovl_Dm_Char08 + +D_06002328 = 0x06002328; +D_06002470 = 0x06002470; +D_06004E70 = 0x06004E70; +D_0600E748 = 0x0600E748; + +// ovl_Dm_Char09 + +D_0600005C = 0x0600005C; +D_06001398 = 0x06001398; + +// ovl_Dm_Gm + +D_06000E70 = 0x06000E70; +D_06012618 = 0x06012618; + +// ovl_Dm_Nb + +D_06000990 = 0x06000990; +D_06008C40 = 0x06008C40; + +// ovl_Dm_Opstage + +D_06000970 = 0x06000970; +D_06000978 = 0x06000978; +D_06001C98 = 0x06001C98; +D_06002870 = 0x06002870; +D_06002878 = 0x06002878; +D_06003060 = 0x06003060; +D_06003068 = 0x06003068; +D_06003720 = 0x06003720; +D_06003728 = 0x06003728; + +// ovl_Dm_Sa + +D_0600CC94 = 0x0600CC94; +D_06013328 = 0x06013328; + +// ovl_Dm_Statue + +D_06000520 = 0x06000520; +D_06001788 = 0x06001788; + +// ovl_Dm_Stk + +D_060046B0 = 0x060046B0; +D_060053C0 = 0x060053C0; +D_06005870 = 0x06005870; +D_06006BB0 = 0x06006BB0; +D_06007840 = 0x06007840; +D_060079F0 = 0x060079F0; +D_060084C0 = 0x060084C0; +D_06008658 = 0x06008658; +D_060087B0 = 0x060087B0; +D_06008A80 = 0x06008A80; +D_060090C0 = 0x060090C0; +D_06009710 = 0x06009710; +D_06009AC0 = 0x06009AC0; +D_06009DA0 = 0x06009DA0; +D_0600A530 = 0x0600A530; +D_0600A5C0 = 0x0600A5C0; +D_0600AE30 = 0x0600AE30; +D_0600AEC0 = 0x0600AEC0; +D_0600CAD0 = 0x0600CAD0; +D_06013328 = 0x06013328; +D_06016620 = 0x06016620; + +// ovl_Dm_Tsg + +D_06002D30 = 0x06002D30; +D_06011458 = 0x06011458; + +// ovl_Dm_Zl + +D_0600DE08 = 0x0600DE08; +D_0600E038 = 0x0600E038; + +// ovl_Door_Spiral + +D_06000590 = 0x06000590; +D_060007A8 = 0x060007A8; +D_06000EA0 = 0x06000EA0; +D_060012C0 = 0x060012C0; +D_060014C8 = 0x060014C8; +D_06002110 = 0x06002110; +D_06004448 = 0x06004448; +D_060051B8 = 0x060051B8; +D_06006128 = 0x06006128; +D_06009278 = 0x06009278; +D_06012B70 = 0x06012B70; +D_06013EA8 = 0x06013EA8; + +// ovl_Door_Warp1 + +D_060001A0 = 0x060001A0; +D_06001374 = 0x06001374; +D_06002CA8 = 0x06002CA8; +D_06003230 = 0x06003230; +D_060044D8 = 0x060044D8; +D_06004690 = 0x06004690; +D_060057D8 = 0x060057D8; +D_060058C8 = 0x060058C8; +D_06007238 = 0x06007238; +D_060076C0 = 0x060076C0; +D_06008BD4 = 0x06008BD4; + +// ovl_Effect_En_Ice_Block + +D_06000A38 = 0x06000A38; + +// ovl_Effect_Ss_D_Fire + +D_060098A0 = 0x060098A0; + +// ovl_Effect_Ss_Extra + +D_06000DC0 = 0x06000DC0; + +// ovl_Eff_Kamejima_Wave + +D_06000000 = 0x06000000; +D_06000140 = 0x06000140; +D_06001AF0 = 0x06001AF0; + +// ovl_Eff_Lastday + +D_06000000 = 0x06000000; +D_06000060 = 0x06000060; +D_06000148 = 0x06000148; +D_06000210 = 0x06000210; +D_06000308 = 0x06000308; +D_06000370 = 0x06000370; +D_06000448 = 0x06000448; +D_06000510 = 0x06000510; +D_06000608 = 0x06000608; + +// ovl_Eff_Stk + +D_06008920 = 0x06008920; +D_06008A38 = 0x06008A38; +D_06009F60 = 0x06009F60; + +// ovl_Eff_Zoraband + +D_06000180 = 0x06000180; +D_060002A8 = 0x060002A8; +D_06000F38 = 0x06000F38; + +// ovl_En_Ah + +D_06009E70 = 0x06009E70; + +// ovl_En_Akindonuts + +D_06001350 = 0x06001350; +D_06005488 = 0x06005488; +D_06008290 = 0x06008290; +D_0600AC70 = 0x0600AC70; + +// ovl_En_Al + +D_0600A0D8 = 0x0600A0D8; + +// ovl_En_Am + +D_06000238 = 0x06000238; +D_0600033C = 0x0600033C; +D_06005948 = 0x06005948; +D_06005B3C = 0x06005B3C; + +// ovl_En_An + +D_06000308 = 0x06000308; +D_06000378 = 0x06000378; +D_06000E70 = 0x06000E70; +D_060111E8 = 0x060111E8; +D_06012478 = 0x06012478; +D_06012618 = 0x06012618; + +// ovl_En_And + +D_0600B380 = 0x0600B380; + +// ovl_En_Ani + +D_060007FC = 0x060007FC; +D_06000C14 = 0x06000C14; +D_060011CC = 0x060011CC; +D_06001D48 = 0x06001D48; +D_060027A0 = 0x060027A0; +D_060028A0 = 0x060028A0; +D_06009220 = 0x06009220; +D_06009D34 = 0x06009D34; + +// ovl_En_Aob_01 + +D_06000180 = 0x06000180; +D_06003D18 = 0x06003D18; + +// ovl_En_Attack_Niw + +D_060000E8 = 0x060000E8; +D_06002530 = 0x06002530; + +// ovl_En_Az + +D_06007438 = 0x06007438; +D_0600C94C = 0x0600C94C; +D_06017990 = 0x06017990; +D_0601ABF0 = 0x0601ABF0; +D_0601AD00 = 0x0601AD00; + +// ovl_En_Baba + +D_06005EF0 = 0x06005EF0; +D_06006B10 = 0x06006B10; +D_060092A0 = 0x060092A0; + +// ovl_En_Baguo + +D_060020E8 = 0x060020E8; + +// ovl_En_Baisen + +D_060008B4 = 0x060008B4; +D_06008198 = 0x06008198; +D_060011C0 = 0x060011C0; +D_06007908 = 0x06007908; + +// ovl_En_Bal + +D_060005FC = 0x060005FC; +D_06000C78 = 0x06000C78; +D_0600A6D0 = 0x0600A6D0; +D_0600B604 = 0x0600B604; +D_0600CB78 = 0x0600CB78; +D_0600D530 = 0x0600D530; + +// ovl_En_Bat + +D_060000A0 = 0x060000A0; +D_060000C8 = 0x060000C8; + +// ovl_En_Bb + +D_06000184 = 0x06000184; +D_06000444 = 0x06000444; +D_06001A30 = 0x06001A30; + +// ovl_En_Bba_01 + +D_06005EF0 = 0x06005EF0; + +// ovl_En_Bbfall + +D_06000184 = 0x06000184; +D_06000444 = 0x06000444; +D_06001A30 = 0x06001A30; + +// ovl_En_Bee + +D_0600005C = 0x0600005C; +D_06001398 = 0x06001398; + +// ovl_En_Bh + +D_06000074 = 0x06000074; +D_06001E60 = 0x06001E60; + +// ovl_En_Bigokuta + +D_06000444 = 0x06000444; +D_06000A74 = 0x06000A74; +D_060014B8 = 0x060014B8; +D_06006BC0 = 0x06006BC0; + +// ovl_En_Bigpamet + +D_06000440 = 0x06000440; +D_06000AF4 = 0x06000AF4; +D_06000B30 = 0x06000B30; +D_06001A50 = 0x06001A50; +D_06001C68 = 0x06001C68; +D_060031DC = 0x060031DC; +D_06004210 = 0x06004210; +D_06007C70 = 0x06007C70; +D_0600823C = 0x0600823C; + +// ovl_En_Bigpo + +D_06000454 = 0x06000454; +D_06000924 = 0x06000924; +D_06001360 = 0x06001360; +D_06001BB0 = 0x06001BB0; +D_060041A0 = 0x060041A0; +D_060042C8 = 0x060042C8; +D_060043F8 = 0x060043F8; +D_060058B8 = 0x060058B8; +D_06005C18 = 0x06005C18; + +// ovl_En_Bigslime + +D_060010F4 = 0x060010F4; +D_06001B08 = 0x06001B08; +D_0600276C = 0x0600276C; +D_06002E0C = 0x06002E0C; +D_0600347C = 0x0600347C; +D_060039C4 = 0x060039C4; +D_06003F28 = 0x06003F28; +D_060066B4 = 0x060066B4; +D_060069FC = 0x060069FC; +D_060070C4 = 0x060070C4; +D_06007790 = 0x06007790; +D_0600DF98 = 0x0600DF98; +D_0600F048 = 0x0600F048; +D_0600F3F0 = 0x0600F3F0; +D_0600F990 = 0x0600F990; +D_0600F9D0 = 0x0600F9D0; +D_0600FB40 = 0x0600FB40; +D_06010530 = 0x06010530; +D_060105E8 = 0x060105E8; +D_06010B80 = 0x06010B80; +D_06010C48 = 0x06010C48; +D_06010DB0 = 0x06010DB0; +D_06010EC8 = 0x06010EC8; +D_06010F20 = 0x06010F20; +D_06010FE0 = 0x06010FE0; +D_06011008 = 0x06011008; +D_06011050 = 0x06011050; +D_060113B0 = 0x060113B0; + +// ovl_En_Bji_01 + +D_0600066C = 0x0600066C; +D_06000AB0 = 0x06000AB0; +D_06000FDC = 0x06000FDC; +D_060049F0 = 0x060049F0; +D_06004E70 = 0x06004E70; +D_06005270 = 0x06005270; +D_0600578C = 0x0600578C; +D_06005B58 = 0x06005B58; + +// ovl_En_Bjt + +D_06002390 = 0x06002390; + +// ovl_En_Bombal + +D_06000A00 = 0x06000A00; +D_06000D78 = 0x06000D78; + +// ovl_En_Bombers + +D_060064B8 = 0x060064B8; +D_0600F82C = 0x0600F82C; + +// ovl_En_Bombers2 + +D_060064B8 = 0x060064B8; +D_0600F82C = 0x0600F82C; + +// ovl_En_Bombf + +D_06000340 = 0x06000340; +D_06000408 = 0x06000408; +D_06000530 = 0x06000530; + +// ovl_En_Bomjima + +D_060064B8 = 0x060064B8; +D_0600F82C = 0x0600F82C; + +// ovl_En_Bomjimb + +D_060064B8 = 0x060064B8; +D_0600F82C = 0x0600F82C; + +// ovl_En_Bom_Bowl_Man + +D_060064B8 = 0x060064B8; +D_0600F82C = 0x0600F82C; + +// ovl_En_Box + +D_0600043C = 0x0600043C; +D_060006F0 = 0x060006F0; +D_06000A50 = 0x06000A50; +D_06000DB0 = 0x06000DB0; +D_060012E8 = 0x060012E8; +D_06001850 = 0x06001850; +D_06001D58 = 0x06001D58; +D_060066A0 = 0x060066A0; +D_060080E8 = 0x060080E8; + +// ovl_En_Bsb + +D_06000C50 = 0x06000C50; +D_06004894 = 0x06004894; +D_060086BC = 0x060086BC; +D_0600C3E0 = 0x0600C3E0; + +// ovl_En_Bubble + +D_06001000 = 0x06001000; + +// ovl_En_Cha + +D_06000710 = 0x06000710; +D_06000958 = 0x06000958; + +// ovl_En_Cne_01 + +D_060000F0 = 0x060000F0; +D_06001300 = 0x06001300; + +// ovl_En_Cow + +D_060001CC = 0x060001CC; +D_06004010 = 0x06004010; +D_06004264 = 0x06004264; +D_06004348 = 0x06004348; +D_06004C30 = 0x06004C30; +D_06004E98 = 0x06004E98; + +// ovl_En_Crow + +D_060000F0 = 0x060000F0; +D_060010C0 = 0x060010C0; + +// ovl_En_Dai + +D_06000230 = 0x06000230; +D_060002E8 = 0x060002E8; +D_0600C538 = 0x0600C538; +D_060130D0 = 0x060130D0; + +// ovl_En_Daiku + +D_06001114 = 0x06001114; +D_06002FA0 = 0x06002FA0; +D_06008EC8 = 0x06008EC8; +D_0600A850 = 0x0600A850; +D_0600B690 = 0x0600B690; + +// ovl_En_Daiku2 + +D_060009E0 = 0x060009E0; +D_06002134 = 0x06002134; +D_06002FA0 = 0x06002FA0; +D_06009638 = 0x06009638; +D_0600A390 = 0x0600A390; +D_0600A850 = 0x0600A850; + +// ovl_En_Death + +D_06000E64 = 0x06000E64; +D_060015B4 = 0x060015B4; +D_06001834 = 0x06001834; +D_06001F80 = 0x06001F80; +D_06002DE8 = 0x06002DE8; +D_0600352C = 0x0600352C; +D_06003CAC = 0x06003CAC; +D_06006F88 = 0x06006F88; +D_060073D0 = 0x060073D0; +D_06009988 = 0x06009988; +D_06009BA0 = 0x06009BA0; +D_06009F10 = 0x06009F10; +D_0600AD08 = 0x0600AD08; +D_0600B284 = 0x0600B284; +D_0600B508 = 0x0600B508; +D_0600CB2C = 0x0600CB2C; +D_0600CB84 = 0x0600CB84; +D_0600CBC0 = 0x0600CBC0; + +// ovl_En_Dekubaba + +D_06000208 = 0x06000208; +D_060002B8 = 0x060002B8; +D_060010F0 = 0x060010F0; +D_06001330 = 0x06001330; +D_06001828 = 0x06001828; +D_06002A40 = 0x06002A40; +D_06003070 = 0x06003070; + +// ovl_En_Dekunuts + +D_06000168 = 0x06000168; +D_06001E50 = 0x06001E50; +D_06001F50 = 0x06001F50; +D_06002468 = 0x06002468; +D_0600259C = 0x0600259C; +D_06002A5C = 0x06002A5C; +D_06002BD4 = 0x06002BD4; +D_06002DD4 = 0x06002DD4; +D_06002FA4 = 0x06002FA4; +D_06003180 = 0x06003180; +D_0600326C = 0x0600326C; +D_060033E4 = 0x060033E4; +D_06003780 = 0x06003780; + +// ovl_En_Demo_heishi + +D_06003BFC = 0x06003BFC; +D_0600D640 = 0x0600D640; + +// ovl_En_Dg + +D_060080F0 = 0x060080F0; + +// ovl_En_Dinofos + +D_06000580 = 0x06000580; +D_06000AF0 = 0x06000AF0; +D_06001040 = 0x06001040; +D_060013C0 = 0x060013C0; +D_060017B8 = 0x060017B8; +D_06001CCC = 0x06001CCC; +D_060025B4 = 0x060025B4; +D_06002E40 = 0x06002E40; +D_06009570 = 0x06009570; +D_06009B70 = 0x06009B70; +D_0600ABD0 = 0x0600ABD0; +D_0600C974 = 0x0600C974; +D_0600D21C = 0x0600D21C; +D_0600D62C = 0x0600D62C; + +// ovl_En_Dnb + +D_06000000 = 0x06000000; +D_06000020 = 0x06000020; +D_06004638 = 0x06004638; +D_06004710 = 0x06004710; +D_06004D8C = 0x06004D8C; + +// ovl_En_Dnh + +D_06002950 = 0x06002950; + +// ovl_En_Dnk + +D_060023B8 = 0x060023B8; +D_06002468 = 0x06002468; +D_06002848 = 0x06002848; + +// ovl_En_Dno + +D_06007CA4 = 0x06007CA4; +D_0600E1F8 = 0x0600E1F8; + +// ovl_En_Dnp + +D_06010D60 = 0x06010D60; + +// ovl_En_Dnq + +D_0600EB48 = 0x0600EB48; + +// ovl_En_Dns + +D_06002C48 = 0x06002C48; +D_06002DD8 = 0x06002DD8; + +// ovl_En_Dodongo + +D_060013C4 = 0x060013C4; +D_06001A44 = 0x06001A44; +D_060028F0 = 0x060028F0; +D_06003088 = 0x06003088; +D_06003B14 = 0x06003B14; +D_060042C4 = 0x060042C4; +D_06004C20 = 0x06004C20; +D_06008318 = 0x06008318; +D_06008B1C = 0x06008B1C; + +// ovl_En_Dragon + +D_06004398 = 0x06004398; +D_060048B8 = 0x060048B8; + +// ovl_En_Drs + +D_06000E70 = 0x06000E70; +D_06005A78 = 0x06005A78; + +// ovl_En_Ds2n + +D_06008038 = 0x06008038; +D_06008170 = 0x06008170; + +// ovl_En_Dt + +D_0600112C = 0x0600112C; +D_0600B0CC = 0x0600B0CC; + +// ovl_En_Dy_Extra + +D_0600DD40 = 0x0600DD40; +D_0600DEF0 = 0x0600DEF0; + +// ovl_En_Egblock + +D_06001698 = 0x06001698; +D_06001820 = 0x06001820; +D_06001918 = 0x06001918; +D_06001BF8 = 0x06001BF8; + +// ovl_En_Egol + +D_06000040 = 0x06000040; +D_06001170 = 0x06001170; +D_060013B0 = 0x060013B0; +D_06001918 = 0x06001918; +D_060041F0 = 0x060041F0; +D_060094E4 = 0x060094E4; +D_06009664 = 0x06009664; +D_0600EE4C = 0x0600EE4C; + +// ovl_En_Elfbub + +D_06001000 = 0x06001000; + +// ovl_En_Encount2 + +D_06000A00 = 0x06000A00; +D_06000D78 = 0x06000D78; +D_06002420 = 0x06002420; + +// ovl_En_Encount3 + +D_060009A0 = 0x060009A0; + +// ovl_En_Ending_Hero + +D_06000BE0 = 0x06000BE0; +D_0600B0CC = 0x0600B0CC; +D_06007350 = 0x06007350; +D_06007750 = 0x06007750; +D_06009590 = 0x06009590; +D_06009F90 = 0x06009F90; +D_0600A390 = 0x0600A390; +D_0600A490 = 0x0600A490; +D_0600A790 = 0x0600A790; +D_0600AB90 = 0x0600AB90; + +// ovl_En_Ending_Hero2 + +D_060011C0 = 0x060011C0; +D_06007908 = 0x06007908; + +// ovl_En_Ending_Hero3 + +D_06000E50 = 0x06000E50; +D_06007150 = 0x06007150; + +// ovl_En_Ending_Hero4 + +D_06002A84 = 0x06002A84; +D_0600D640 = 0x0600D640; + +// ovl_En_Ending_Hero5 + +D_06002FA0 = 0x06002FA0; +D_06006D70 = 0x06006D70; +D_06006E80 = 0x06006E80; +D_06006FB0 = 0x06006FB0; +D_060070C0 = 0x060070C0; +D_0600A390 = 0x0600A390; +D_0600A850 = 0x0600A850; + +// ovl_En_Estone + +D_06010240 = 0x06010240; + +// ovl_En_Fall + +D_06000198 = 0x06000198; +D_06000400 = 0x06000400; +D_060004C0 = 0x060004C0; +D_060004C8 = 0x060004C8; +D_060010E0 = 0x060010E0; +D_06001158 = 0x06001158; +D_060011D0 = 0x060011D0; +D_06001220 = 0x06001220; +D_06002970 = 0x06002970; +D_06003C30 = 0x06003C30; +D_06004E38 = 0x06004E38; +D_060077F0 = 0x060077F0; + +// ovl_En_Fall2 + +D_06005EF4 = 0x06005EF4; +D_06005F10 = 0x06005F10; +D_06008840 = 0x06008840; +D_06008898 = 0x06008898; + +// ovl_En_Famos + +D_060000F8 = 0x060000F8; +D_06003D38 = 0x06003D38; +D_06003DC8 = 0x06003DC8; + +// ovl_En_Fg + +D_060007BC = 0x060007BC; +D_060011C0 = 0x060011C0; +D_06001534 = 0x06001534; +D_060059A0 = 0x060059A0; +D_0600B328 = 0x0600B328; +D_0600B338 = 0x0600B338; +D_0600B538 = 0x0600B538; + +// ovl_En_Firefly + +D_0600017C = 0x0600017C; +D_06001678 = 0x06001678; +D_060018B8 = 0x060018B8; + +// ovl_En_Fish2 + +D_060013AC = 0x060013AC; +D_06006190 = 0x06006190; + +// ovl_En_Fishing + +D_0600007C = 0x0600007C; +D_060029C0 = 0x060029C0; +D_06003230 = 0x06003230; +D_06003460 = 0x06003460; +D_060034C0 = 0x060034C0; +D_06003610 = 0x06003610; +D_06003680 = 0x06003680; +D_06003710 = 0x06003710; +D_06003760 = 0x06003760; +D_060039A8 = 0x060039A8; +D_06003A18 = 0x06003A18; +D_0600453C = 0x0600453C; +D_06007350 = 0x06007350; +D_060074C8 = 0x060074C8; +D_060085F8 = 0x060085F8; +D_06008610 = 0x06008610; +D_06008678 = 0x06008678; +D_060088C0 = 0x060088C0; +D_06008970 = 0x06008970; +D_0600B950 = 0x0600B950; +D_0600B9C0 = 0x0600B9C0; +D_0600C220 = 0x0600C220; +D_0600C298 = 0x0600C298; +D_0600CFE0 = 0x0600CFE0; +D_06011058 = 0x06011058; +D_06011070 = 0x06011070; +D_06011170 = 0x06011170; +D_06011270 = 0x06011270; +D_060113D0 = 0x060113D0; +D_06011410 = 0x06011410; +D_06012160 = 0x06012160; +D_060121F0 = 0x060121F0; +D_06013330 = 0x06013330; +D_060133B0 = 0x060133B0; +D_06013590 = 0x06013590; +D_06013610 = 0x06013610; +D_06013F50 = 0x06013F50; +D_06013FD0 = 0x06013FD0; +D_06014030 = 0x06014030; +D_060140B0 = 0x060140B0; +D_060153D0 = 0x060153D0; +D_06015470 = 0x06015470; + +// ovl_En_Floormas + +D_06000590 = 0x06000590; +D_06000EA4 = 0x06000EA4; +D_060019CC = 0x060019CC; +D_06002158 = 0x06002158; +D_060039B0 = 0x060039B0; +D_060041F4 = 0x060041F4; +D_06008688 = 0x06008688; +D_06008FB0 = 0x06008FB0; +D_06009244 = 0x06009244; +D_06009520 = 0x06009520; +D_06009DB0 = 0x06009DB0; +D_0600A054 = 0x0600A054; + +// ovl_En_Fsn + +D_06005BC0 = 0x06005BC0; +D_06006D40 = 0x06006D40; +D_06007140 = 0x06007140; +D_0600B9D8 = 0x0600B9D8; +D_0600C26C = 0x0600C26C; +D_0600C58C = 0x0600C58C; +D_0600CB3C = 0x0600CB3C; +D_0600D354 = 0x0600D354; +D_0600DE34 = 0x0600DE34; +D_0600E3EC = 0x0600E3EC; +D_0600F00C = 0x0600F00C; +D_0600F180 = 0x0600F180; +D_0600F218 = 0x0600F218; +D_06012C34 = 0x06012C34; +D_060131FC = 0x060131FC; +D_06013320 = 0x06013320; +D_060138B0 = 0x060138B0; +D_0601430C = 0x0601430C; + +// ovl_En_Fu + +D_06001F74 = 0x06001F74; +D_0600B0A0 = 0x0600B0A0; +D_0600B0E0 = 0x0600B0E0; +D_0600B2B0 = 0x0600B2B0; + +// ovl_En_Fu_Kago + +D_060006A0 = 0x060006A0; +D_06000740 = 0x06000740; +D_060007E0 = 0x060007E0; +D_06000880 = 0x06000880; +D_06000920 = 0x06000920; +D_060009C0 = 0x060009C0; +D_060015C0 = 0x060015C0; + +// ovl_En_Fu_Mato + +D_060023D4 = 0x060023D4; +D_06002720 = 0x06002720; + +// ovl_En_Gb2 + +D_0600049C = 0x0600049C; +D_06007230 = 0x06007230; + +// ovl_En_Ge1 + +D_06002B98 = 0x06002B98; +D_06002CA0 = 0x06002CA0; + +// ovl_En_Ge2 + +D_0600030C = 0x0600030C; +D_06000460 = 0x06000460; +D_06001664 = 0x06001664; +D_06008DD8 = 0x06008DD8; +D_060091D0 = 0x060091D0; +D_06009D1C = 0x06009D1C; +D_0600A344 = 0x0600A344; + +// ovl_En_Ge3 + +D_06001EFC = 0x06001EFC; +D_0600A808 = 0x0600A808; + +// ovl_En_Geg + +D_06004DB0 = 0x06004DB0; +D_060091A8 = 0x060091A8; +D_06011AC8 = 0x06011AC8; +D_06012DE0 = 0x06012DE0; + +// ovl_En_Gg + +D_0600F578 = 0x0600F578; +D_0600F6C0 = 0x0600F6C0; + +// ovl_En_Gg2 + +D_0600F578 = 0x0600F578; +D_0600F6C0 = 0x0600F6C0; + +// ovl_En_Giant + +D_06002168 = 0x06002168; +D_06007610 = 0x06007610; +D_060079B0 = 0x060079B0; +D_060116E4 = 0x060116E4; +D_06013004 = 0x06013004; +D_06013FE8 = 0x06013FE8; + +// ovl_En_Ginko_Man + +D_060008C0 = 0x060008C0; +D_06000AC4 = 0x06000AC4; +D_060043F0 = 0x060043F0; +D_06004A7C = 0x06004A7C; +D_06004F40 = 0x06004F40; +D_0600B1D8 = 0x0600B1D8; +D_0600C240 = 0x0600C240; + +// ovl_En_Gk + +D_06006680 = 0x06006680; +D_06006688 = 0x06006688; +D_0600787C = 0x0600787C; +D_060079C0 = 0x060079C0; + +// ovl_En_Gm + +D_06007528 = 0x06007528; +D_060078B0 = 0x060078B0; + +// ovl_En_Go + +D_060003D0 = 0x060003D0; +D_06000458 = 0x06000458; +D_060008C0 = 0x060008C0; +D_06000948 = 0x06000948; +D_06000D50 = 0x06000D50; +D_06000DD8 = 0x06000DD8; +D_06001560 = 0x06001560; +D_060031A0 = 0x060031A0; +D_06003258 = 0x06003258; +D_060091A8 = 0x060091A8; +D_06011AC8 = 0x06011AC8; +D_06014CF0 = 0x06014CF0; +D_06014D00 = 0x06014D00; + +// ovl_En_Goroiwa + +D_060032E0 = 0x060032E0; +D_060082D0 = 0x060082D0; + +// ovl_En_Grasshopper + +D_06000F9C = 0x06000F9C; +D_06003F00 = 0x06003F00; + +// ovl_En_Gs + +D_06000950 = 0x06000950; +D_060009D0 = 0x060009D0; +D_06000A60 = 0x06000A60; + +// ovl_En_Guard_Nuts + +D_06002700 = 0x06002700; +D_06002848 = 0x06002848; +D_06002A08 = 0x06002A08; + +// ovl_En_Guruguru + +D_06000B04 = 0x06000B04; +D_0600057C = 0x0600057C; +D_06005F20 = 0x06005F20; +D_06006320 = 0x06006320; +D_06006720 = 0x06006720; +D_06006920 = 0x06006920; +D_06006C90 = 0x06006C90; + +// ovl_En_Hakurock + +D_06011100 = 0x06011100; +D_06011178 = 0x06011178; + +// ovl_En_Hata + +D_060000C0 = 0x060000C0; +D_06000444 = 0x06000444; +D_06002FD0 = 0x06002FD0; + +// ovl_En_Heishi + +D_06003BFC = 0x06003BFC; +D_0600D640 = 0x0600D640; + +// ovl_En_Hg + +D_06000370 = 0x06000370; +D_06001138 = 0x06001138; +D_060015D4 = 0x060015D4; +D_06001960 = 0x06001960; +D_0600260C = 0x0600260C; +D_06005E28 = 0x06005E28; +D_06008580 = 0x06008580; +D_06009D44 = 0x06009D44; +D_0600A164 = 0x0600A164; +D_0600AE1C = 0x0600AE1C; + + +// ovl_En_Hgo + +D_0600B644 = 0x0600B644; +D_0600F248 = 0x0600F248; +D_06012A58 = 0x06012A58; + +// ovl_En_Hidden_Nuts + +D_060023B8 = 0x060023B8; +D_060024CC = 0x060024CC; + +// ovl_En_Hint_Skb + +D_06002190 = 0x06002190; +D_06003584 = 0x06003584; +D_06005EF8 = 0x06005EF8; +D_0600697C = 0x0600697C; + +// ovl_En_Horse + +D_06008C68 = 0x06008C68; +D_0600A8DC = 0x0600A8DC; +D_0600AD08 = 0x0600AD08; +D_0600B3E0 = 0x0600B3E0; +D_0600BDE0 = 0x0600BDE0; +D_0600D178 = 0x0600D178; +D_0600D4E8 = 0x0600D4E8; +D_060150D8 = 0x060150D8; + +// ovl_En_Horse_Game_Check + +D_060013A0 = 0x060013A0; +D_060014B0 = 0x060014B0; +D_06002FB8 = 0x06002FB8; +D_06003030 = 0x06003030; +D_060030C0 = 0x060030C0; +D_06003918 = 0x06003918; + +// ovl_En_Horse_Link_Child + +D_06002F98 = 0x06002F98; +D_0600A480 = 0x0600A480; + +// ovl_En_Hs + +D_060005C0 = 0x060005C0; +D_06006260 = 0x06006260; + +// ovl_En_Ig + +D_06008710 = 0x06008710; +D_060087B8 = 0x060087B8; +D_060089D8 = 0x060089D8; +D_06008B00 = 0x06008B00; +D_0600C538 = 0x0600C538; +D_060130D0 = 0x060130D0; + +// ovl_En_Ik + +D_06000CE8 = 0x06000CE8; +D_060015F8 = 0x060015F8; +D_06001ABC = 0x06001ABC; +D_06002484 = 0x06002484; +D_06002E7C = 0x06002E7C; +D_0600367C = 0x0600367C; +D_0600391C = 0x0600391C; +D_06004A04 = 0x06004A04; +D_06005254 = 0x06005254; +D_060057F4 = 0x060057F4; +D_06006294 = 0x06006294; +D_060136A0 = 0x060136A0; + +// ovl_En_In + +D_060003B4 = 0x060003B4; +D_06000CB0 = 0x06000CB0; +D_06001BE0 = 0x06001BE0; +D_06001C30 = 0x06001C30; +D_06001D10 = 0x06001D10; +D_06003520 = 0x06003520; +D_060035E0 = 0x060035E0; +D_060043E0 = 0x060043E0; +D_06004820 = 0x06004820; +D_06004C20 = 0x06004C20; +D_06007A70 = 0x06007A70; +D_06007C48 = 0x06007C48; +D_06012A78 = 0x06012A78; +D_06012DF8 = 0x06012DF8; +D_06013440 = 0x06013440; +D_06013540 = 0x06013540; +D_06013670 = 0x06013670; +D_060137A0 = 0x060137A0; +D_060138D0 = 0x060138D0; +D_06013A00 = 0x06013A00; +D_06013DE0 = 0x06013DE0; +D_06013F10 = 0x06013F10; +D_06014040 = 0x06014040; +D_06014420 = 0x06014420; +D_060145D8 = 0x060145D8; +D_06014710 = 0x06014710; +D_06014860 = 0x06014860; +D_060149A8 = 0x060149A8; +D_06014AE0 = 0x06014AE0; +D_06014C30 = 0x06014C30; +D_06014EA8 = 0x06014EA8; +D_06014F8C = 0x06014F8C; +D_06015918 = 0x06015918; +D_06015E38 = 0x06015E38; +D_06016484 = 0x06016484; +D_06016A60 = 0x06016A60; +D_060170DC = 0x060170DC; +D_060177AC = 0x060177AC; +D_06018240 = 0x06018240; +D_060187C8 = 0x060187C8; +D_060198A8 = 0x060198A8; +D_06019EB4 = 0x06019EB4; +D_0601A140 = 0x0601A140; +D_0601B3C4 = 0x0601B3C4; +D_0601B904 = 0x0601B904; +D_0601C0B0 = 0x0601C0B0; +D_0601C528 = 0x0601C528; + +// ovl_En_Invadepoh + +D_06000080 = 0x06000080; +D_060003B0 = 0x060003B0; +D_06000550 = 0x06000550; +D_06000560 = 0x06000560; +D_06000608 = 0x06000608; +D_060006C8 = 0x060006C8; +D_06000720 = 0x06000720; +D_06000998 = 0x06000998; +D_06001560 = 0x06001560; +D_06001674 = 0x06001674; +D_06001BD8 = 0x06001BD8; +D_06001D80 = 0x06001D80; +D_060021C8 = 0x060021C8; +D_06002A8C = 0x06002A8C; +D_06004010 = 0x06004010; +D_06004264 = 0x06004264; +D_06004C30 = 0x06004C30; +D_06004E50 = 0x06004E50; +D_06004E98 = 0x06004E98; +D_06007328 = 0x06007328; +D_060080F0 = 0x060080F0; +D_06009E58 = 0x06009E58; +D_0600A174 = 0x0600A174; +D_0600FFC8 = 0x0600FFC8; +D_060107C8 = 0x060107C8; +D_06010FC8 = 0x06010FC8; +D_060117C8 = 0x060117C8; +D_06011AD8 = 0x06011AD8; +D_06011FC8 = 0x06011FC8; +D_060122D8 = 0x060122D8; +D_060127C8 = 0x060127C8; +D_06012AD8 = 0x06012AD8; +D_06012BC8 = 0x06012BC8; +D_06012FC8 = 0x06012FC8; +D_060132D8 = 0x060132D8; +D_060133C8 = 0x060133C8; +D_06013928 = 0x06013928; +D_06013AD8 = 0x06013AD8; +D_06014088 = 0x06014088; +D_060142D8 = 0x060142D8; +D_06014AD8 = 0x06014AD8; +D_06014ED8 = 0x06014ED8; +D_060152D8 = 0x060152D8; +D_060156D8 = 0x060156D8; +D_06015C28 = 0x06015C28; +D_06016720 = 0x06016720; + +// ovl_En_Invadepoh_Demo + +D_06000080 = 0x06000080; +D_06000550 = 0x06000550; +D_06000560 = 0x06000560; +D_06001D80 = 0x06001D80; +D_06004010 = 0x06004010; +D_06004264 = 0x06004264; +D_06004C30 = 0x06004C30; +D_06004E50 = 0x06004E50; +D_06004E98 = 0x06004E98; +D_06011FC8 = 0x06011FC8; +D_06012FC8 = 0x06012FC8; +D_06013928 = 0x06013928; +D_06016588 = 0x06016588; + +// ovl_En_Ishi + +D_060009B0 = 0x060009B0; + +// ovl_En_Ja + +D_0600BA30 = 0x0600BA30; +D_0600BCC8 = 0x0600BCC8; +D_0600C240 = 0x0600C240; + +// ovl_En_Jc_Mato + +D_06000390 = 0x06000390; + +// ovl_En_Jg + +D_0601ADC0 = 0x0601ADC0; +D_0601AFF0 = 0x0601AFF0; + +// ovl_En_Jgame_Tsn + +D_06008AB8 = 0x06008AB8; +D_060092FC = 0x060092FC; + +// ovl_En_Js + +D_06010880 = 0x06010880; +D_06010CD8 = 0x06010CD8; +D_060164B8 = 0x060164B8; +D_06016F58 = 0x06016F58; +D_0601764C = 0x0601764C; +D_06017E98 = 0x06017E98; + +// ovl_En_Jso + +D_060081F4 = 0x060081F4; +D_0600AA00 = 0x0600AA00; + +// ovl_En_Jso2 + +D_06002ED8 = 0x06002ED8; +D_06003168 = 0x06003168; +D_060081F4 = 0x060081F4; + +// ovl_En_Kaizoku + +D_060058B8 = 0x060058B8; +D_0600D828 = 0x0600D828; + +// ovl_En_Kakasi + +D_06000214 = 0x06000214; +D_060065B0 = 0x060065B0; + +// ovl_En_Kame + +D_060008B4 = 0x060008B4; +D_06000AF4 = 0x06000AF4; +D_06000B30 = 0x06000B30; +D_06001A50 = 0x06001A50; +D_06001C68 = 0x06001C68; +D_06002510 = 0x06002510; +D_060027D8 = 0x060027D8; +D_06002F88 = 0x06002F88; +D_060031DC = 0x060031DC; +D_060035EC = 0x060035EC; +D_060039C0 = 0x060039C0; +D_06004210 = 0x06004210; +D_06007C70 = 0x06007C70; +D_0600823C = 0x0600823C; + +// ovl_En_Kanban + +D_06000C30 = 0x06000C30; +D_06001630 = 0x06001630; + +// ovl_En_Karebaba + +D_060002B8 = 0x060002B8; +D_060010F0 = 0x060010F0; +D_06001828 = 0x06001828; +D_06002A40 = 0x06002A40; +D_06003070 = 0x06003070; + +// ovl_En_Kbt + +D_06004274 = 0x06004274; +D_0600DEE8 = 0x0600DEE8; + +// ovl_En_Kendo_Js + +D_0600016C = 0x0600016C; +D_060003DC = 0x060003DC; +D_06000F4C = 0x06000F4C; +D_06006990 = 0x06006990; + +// ovl_En_Kgy + +D_06004B98 = 0x06004B98; +D_0600E8F0 = 0x0600E8F0; +D_0600EE58 = 0x0600EE58; +D_0600F180 = 0x0600F180; +D_0600F6A0 = 0x0600F6A0; +D_0600F910 = 0x0600F910; + +// ovl_En_Kitan + +D_06000CE8 = 0x06000CE8; +D_0600190C = 0x0600190C; +D_06002770 = 0x06002770; +D_06007FA8 = 0x06007FA8; + +// ovl_En_Knight + +D_060005A8 = 0x060005A8; +D_060009E0 = 0x060009E0; +D_06000D9C = 0x06000D9C; +D_06001CDC = 0x06001CDC; +D_06002174 = 0x06002174; +D_06003008 = 0x06003008; +D_060031F0 = 0x060031F0; +D_06003650 = 0x06003650; +D_060040E0 = 0x060040E0; +D_06004620 = 0x06004620; +D_06004974 = 0x06004974; +D_06005D30 = 0x06005D30; +D_06005E78 = 0x06005E78; +D_06006754 = 0x06006754; +D_06006EF8 = 0x06006EF8; +D_060079D4 = 0x060079D4; +D_06008390 = 0x06008390; +D_06008524 = 0x06008524; +D_060089E4 = 0x060089E4; +D_06008D80 = 0x06008D80; +D_06009538 = 0x06009538; +D_06009D8C = 0x06009D8C; +D_0600A530 = 0x0600A530; +D_0600A88C = 0x0600A88C; +D_0600AFAC = 0x0600AFAC; +D_0600B5D4 = 0x0600B5D4; +D_0600BCF4 = 0x0600BCF4; +D_0600C384 = 0x0600C384; +D_0600C7F0 = 0x0600C7F0; +D_0600CDE0 = 0x0600CDE0; +D_0600D870 = 0x0600D870; +D_0600DDCC = 0x0600DDCC; +D_0600E15C = 0x0600E15C; +D_0600E45C = 0x0600E45C; +D_0600E7F4 = 0x0600E7F4; +D_0600EA90 = 0x0600EA90; +D_0600EF44 = 0x0600EF44; +D_0600FC78 = 0x0600FC78; +D_0601024C = 0x0601024C; +D_06010E98 = 0x06010E98; +D_06011298 = 0x06011298; +D_06012400 = 0x06012400; +D_06012DB0 = 0x06012DB0; +D_06013020 = 0x06013020; +D_060188F8 = 0x060188F8; +D_060189F0 = 0x060189F0; +D_06018AF0 = 0x06018AF0; +D_06018BC4 = 0x06018BC4; +D_060201A8 = 0x060201A8; +D_06020374 = 0x06020374; +D_06020950 = 0x06020950; +D_0602105C = 0x0602105C; +D_06021B10 = 0x06021B10; +D_06021E34 = 0x06021E34; +D_06022728 = 0x06022728; +D_06022CAC = 0x06022CAC; + +// ovl_En_Kujiya + +D_06002A80 = 0x06002A80; +D_06003030 = 0x06003030; +D_06003248 = 0x06003248; +D_06003358 = 0x06003358; +D_060034A8 = 0x060034A8; +D_060035B8 = 0x060035B8; +D_060036B0 = 0x060036B0; +D_060037C0 = 0x060037C0; +D_06003C80 = 0x06003C80; +D_06003D58 = 0x06003D58; +D_06006198 = 0x06006198; + +// ovl_En_Kusa + +D_06000140 = 0x06000140; +D_060002E0 = 0x060002E0; + +// ovl_En_Lift_Nuts + +D_060029E8 = 0x060029E8; +D_0600AC70 = 0x0600AC70; + +// ovl_En_Look_Nuts + +D_06000430 = 0x06000430; +D_06002848 = 0x06002848; +D_06002B6C = 0x06002B6C; + +// ovl_En_Ma4 + +D_060003B0 = 0x060003B0; +D_06000A20 = 0x06000A20; +D_06002A8C = 0x06002A8C; +D_06007328 = 0x06007328; +D_06007D98 = 0x06007D98; +D_0600852C = 0x0600852C; +D_06008F6C = 0x06008F6C; +D_06009E58 = 0x06009E58; +D_0600FFC8 = 0x0600FFC8; +D_060107C8 = 0x060107C8; +D_06010FC8 = 0x06010FC8; +D_060117C8 = 0x060117C8; +D_06011FC8 = 0x06011FC8; +D_060127C8 = 0x060127C8; +D_06012BC8 = 0x06012BC8; +D_06012FC8 = 0x06012FC8; +D_060133C8 = 0x060133C8; +D_06013928 = 0x06013928; +D_06014088 = 0x06014088; +D_06015B7C = 0x06015B7C; +D_06018948 = 0x06018948; +D_0601B76C = 0x0601B76C; + +// ovl_En_Mag + +D_06000000 = 0x06000000; +D_06009000 = 0x06009000; +D_06009680 = 0x06009680; +D_06009D00 = 0x06009D00; +D_06010F40 = 0x06010F40; +D_06011740 = 0x06011740; +D_06011BC0 = 0x06011BC0; +D_06011E48 = 0x06011E48; + +// ovl_En_Maruta + +D_06002EC0 = 0x06002EC0; + +// ovl_En_Ma_Yto + +D_06000CC0 = 0x06000CC0; +D_06001FD0 = 0x06001FD0; +D_060030B4 = 0x060030B4; +D_06003D54 = 0x06003D54; +D_06004370 = 0x06004370; +D_06005314 = 0x06005314; +D_06005430 = 0x06005430; +D_060070EC = 0x060070EC; +D_06007E28 = 0x06007E28; +D_060093E8 = 0x060093E8; +D_0600A174 = 0x0600A174; +D_0600AF7C = 0x0600AF7C; +D_06011AD8 = 0x06011AD8; +D_060122D8 = 0x060122D8; +D_06012AD8 = 0x06012AD8; +D_060132D8 = 0x060132D8; +D_06013AD8 = 0x06013AD8; +D_060142D8 = 0x060142D8; +D_06014AD8 = 0x06014AD8; +D_06014ED8 = 0x06014ED8; +D_060152D8 = 0x060152D8; +D_060156D8 = 0x060156D8; +D_06015C28 = 0x06015C28; +D_06016720 = 0x06016720; + +// ovl_En_Ma_Yts + +D_060003B0 = 0x060003B0; +D_06002A8C = 0x06002A8C; +D_060043A0 = 0x060043A0; +D_06007328 = 0x06007328; +D_06007D98 = 0x06007D98; +D_0600852C = 0x0600852C; +D_06008F6C = 0x06008F6C; +D_06009E58 = 0x06009E58; +D_0600FFC8 = 0x0600FFC8; +D_060107C8 = 0x060107C8; +D_06010FC8 = 0x06010FC8; +D_060117C8 = 0x060117C8; +D_06011FC8 = 0x06011FC8; +D_060127C8 = 0x060127C8; +D_06012BC8 = 0x06012BC8; +D_06012FC8 = 0x06012FC8; +D_060133C8 = 0x060133C8; +D_06013928 = 0x06013928; +D_06014088 = 0x06014088; +D_06015B7C = 0x06015B7C; +D_060180DC = 0x060180DC; +D_06018948 = 0x06018948; +D_0601B76C = 0x0601B76C; + +// ovl_En_Minifrog + +D_060007BC = 0x060007BC; +D_06001534 = 0x06001534; +D_060059A0 = 0x060059A0; +D_06005BA0 = 0x06005BA0; +D_0600B538 = 0x0600B538; + +// ovl_En_Mk + +D_06001C38 = 0x06001C38; +D_06006CA0 = 0x06006CA0; + +// ovl_En_Mm3 + +D_060096E8 = 0x060096E8; +D_0600A4E0 = 0x0600A4E0; + +// ovl_En_Mnk + +D_06003584 = 0x06003584; +D_06005150 = 0x06005150; +D_060082C8 = 0x060082C8; +D_06008814 = 0x06008814; +D_06009CC0 = 0x06009CC0; +D_060105DC = 0x060105DC; +D_06019B88 = 0x06019B88; +D_0601D518 = 0x0601D518; + +// ovl_En_Ms + +D_060005EC = 0x060005EC; +D_06003DC0 = 0x06003DC0; + +// ovl_En_Muto + +D_06000E50 = 0x06000E50; +D_06007150 = 0x06007150; + +// ovl_En_Nb + +D_06008C40 = 0x06008C40; + +// ovl_En_Neo_Reeba + +D_060001E4 = 0x060001E4; +D_06001EE8 = 0x06001EE8; + +// ovl_En_Nimotsu + +D_06013380 = 0x06013380; + +// ovl_En_Niw + +D_060000E8 = 0x060000E8; +D_060023B0 = 0x060023B0; +D_06002428 = 0x06002428; +D_06002530 = 0x06002530; + +// ovl_En_Nnh + +D_06001510 = 0x06001510; + +// ovl_En_Nwc + +D_060000E8 = 0x060000E8; +D_060002E8 = 0x060002E8; +D_06002530 = 0x06002530; + +// ovl_En_Okuta + +D_0600044C = 0x0600044C; +D_06003250 = 0x06003250; +D_060033D0 = 0x060033D0; +D_06003958 = 0x06003958; +D_06003B24 = 0x06003B24; +D_06003EE4 = 0x06003EE4; +D_06004204 = 0x06004204; +D_0600466C = 0x0600466C; + +// ovl_En_Osk + +D_060000B8 = 0x060000B8; +D_060038F0 = 0x060038F0; +D_06006808 = 0x06006808; +D_06007B48 = 0x06007B48; +D_06009F00 = 0x06009F00; +D_0600B490 = 0x0600B490; + +// ovl_En_Osn + +D_060192A0 = 0x060192A0; +D_060201BC = 0x060201BC; +D_060202F0 = 0x060202F0; + +// ovl_En_Ossan + +D_060028A0 = 0x060028A0; +D_06005BC0 = 0x06005BC0; +D_06006498 = 0x06006498; +D_06006B18 = 0x06006B18; +D_06006D40 = 0x06006D40; +D_06006F18 = 0x06006F18; +D_06007140 = 0x06007140; +D_06009D34 = 0x06009D34; +D_0600A460 = 0x0600A460; +D_0600CB3C = 0x0600CB3C; +D_0600DE34 = 0x0600DE34; +D_0600E3EC = 0x0600E3EC; +D_0600C58C = 0x0600C58C; +D_0600F00C = 0x0600F00C; +D_0600B9D8 = 0x0600B9D8; +D_0600C26C = 0x0600C26C; +D_0600D354 = 0x0600D354; +D_06012C34 = 0x06012C34; +D_060131FC = 0x060131FC; +D_06013320 = 0x06013320; +D_060138B0 = 0x060138B0; +D_0601430C = 0x0601430C; + +// ovl_En_Ot + +D_06000040 = 0x06000040; +D_06000078 = 0x06000078; +D_060004A0 = 0x060004A0; +D_060005F8 = 0x060005F8; +D_060008D8 = 0x060008D8; +D_06004800 = 0x06004800; + +// ovl_En_Owl + +D_06001168 = 0x06001168; +D_06001200 = 0x06001200; +D_06001ADC = 0x06001ADC; +D_0600C5F8 = 0x0600C5F8; +D_0600C6D4 = 0x0600C6D4; +D_0600CB94 = 0x0600CB94; +D_0600CDB0 = 0x0600CDB0; +D_060105C0 = 0x060105C0; + +// ovl_En_Pamera + + +D_06008448 = 0x06008448; +D_060005BC = 0x060005BC; +D_06008AE0 = 0x06008AE0; +D_06008E38 = 0x06008E38; +D_0600A844 = 0x0600A844; +D_0600B0C4 = 0x0600B0C4; +D_06009870 = 0x06009870; +D_06009F54 = 0x06009F54; +D_0600B5B0 = 0x0600B5B0; +D_0600BCC4 = 0x0600BCC4; +D_0600D9DC = 0x0600D9DC; +D_0600E16C = 0x0600E16C; +D_0600C9F4 = 0x0600C9F4; +D_0600D0F0 = 0x0600D0F0; +D_060074E8 = 0x060074E8; +D_060078E8 = 0x060078E8; +D_060066E8 = 0x060066E8; +D_06006AE8 = 0x06006AE8; +D_06006EE8 = 0x06006EE8; +D_060072E8 = 0x060072E8; +D_060073E8 = 0x060073E8; + +// ovl_En_Pametfrog + +D_06000994 = 0x06000994; +D_06001B08 = 0x06001B08; +D_06001E14 = 0x06001E14; +D_06001F20 = 0x06001F20; +D_060030E4 = 0x060030E4; +D_0600347C = 0x0600347C; +D_060039C4 = 0x060039C4; +D_06003F28 = 0x06003F28; +D_06004298 = 0x06004298; +D_06004680 = 0x06004680; +D_06004894 = 0x06004894; +D_06004D50 = 0x06004D50; +D_060050B8 = 0x060050B8; +D_060052EC = 0x060052EC; +D_06005694 = 0x06005694; +D_06005D54 = 0x06005D54; +D_060066B4 = 0x060066B4; +D_060070C4 = 0x060070C4; +D_0600DF98 = 0x0600DF98; +D_0600F048 = 0x0600F048; +D_0600F990 = 0x0600F990; + +// ovl_En_Paper + +D_0600D5A0 = 0x0600D5A0; + +// ovl_En_Peehat + +D_06000350 = 0x06000350; +D_060005C4 = 0x060005C4; +D_06000844 = 0x06000844; +D_060009C4 = 0x060009C4; +D_06001C80 = 0x06001C80; + +// ovl_En_Pm + +D_06008348 = 0x06008348; +D_060083E0 = 0x060083E0; +D_060085C8 = 0x060085C8; +D_060096E8 = 0x060096E8; + +// ovl_En_Poh + +D_060001A8 = 0x060001A8; +D_060004EC = 0x060004EC; +D_060006E0 = 0x060006E0; +D_06000A60 = 0x06000A60; +D_060011C4 = 0x060011C4; +D_060015B0 = 0x060015B0; +D_06002608 = 0x06002608; +D_06002D28 = 0x06002D28; +D_06003850 = 0x06003850; +D_060050D0 = 0x060050D0; + +// ovl_En_Po_Composer + +D_0600188C = 0x0600188C; +D_06006E08 = 0x06006E08; +D_06006EA8 = 0x06006EA8; +D_06006F38 = 0x06006F38; +D_06006FD8 = 0x06006FD8; +D_06009930 = 0x06009930; + +// ovl_En_Po_Fusen + +D_06000040 = 0x06000040; +D_060024F0 = 0x060024F0; + +// ovl_En_Po_Sisters + +D_06000114 = 0x06000114; +D_060008C0 = 0x060008C0; +D_06000A54 = 0x06000A54; +D_06000D40 = 0x06000D40; +D_0600119C = 0x0600119C; +D_060014CC = 0x060014CC; +D_060027B0 = 0x060027B0; +D_060046E0 = 0x060046E0; +D_060065C8 = 0x060065C8; + +// ovl_En_Pp + +D_0600A844 = 0x0600A844; +D_06012768 = 0x06012768; + +// ovl_En_Pr + +D_060021E8 = 0x060021E8; +D_060038B8 = 0x060038B8; + +// ovl_En_Pr2 + +D_06003904 = 0x06003904; +D_06004188 = 0x06004188; +D_06004340 = 0x06004340; + +// ovl_En_Prz + +D_06004188 = 0x06004188; +D_06004340 = 0x06004340; + +// ovl_En_Pst + +D_06001A80 = 0x06001A80; + +// ovl_En_Racedog + +D_06000550 = 0x06000550; +D_06000618 = 0x06000618; +D_060080F0 = 0x060080F0; + +// ovl_En_Raf + +D_06000108 = 0x06000108; +D_06000A64 = 0x06000A64; +D_060024E0 = 0x060024E0; +D_06002EF8 = 0x06002EF8; +D_060032F8 = 0x060032F8; +D_06003428 = 0x06003428; + +// ovl_En_Railgibud + +D_060053E8 = 0x060053E8; +D_0600ABE0 = 0x0600ABE0; +D_06010B88 = 0x06010B88; + +// ovl_En_Rail_Skb + +D_06005EF8 = 0x06005EF8; +D_060064E0 = 0x060064E0; + +// ovl_En_Rat + +D_06000174 = 0x06000174; +D_0600026C = 0x0600026C; +D_06001858 = 0x06001858; + +// ovl_En_Rd + +D_060053E8 = 0x060053E8; +D_06006678 = 0x06006678; +D_06006B08 = 0x06006B08; +D_06006EEC = 0x06006EEC; +D_060073A4 = 0x060073A4; +D_06007BBC = 0x06007BBC; +D_060081A8 = 0x060081A8; +D_06009298 = 0x06009298; +D_06009900 = 0x06009900; +D_0600A450 = 0x0600A450; +D_0600ABE0 = 0x0600ABE0; +D_06010B88 = 0x06010B88; +D_060113EC = 0x060113EC; +D_060118D8 = 0x060118D8; +D_06011DB8 = 0x06011DB8; +D_0601216C = 0x0601216C; + +// ovl_En_Recepgirl + +D_06000968 = 0x06000968; +D_06001384 = 0x06001384; +D_06009890 = 0x06009890; +D_0600A280 = 0x0600A280; +D_0600AD98 = 0x0600AD98; +D_06011B60 = 0x06011B60; + +// ovl_En_Rg + +D_060091A8 = 0x060091A8; +D_06011AC8 = 0x06011AC8; +D_06014CF0 = 0x06014CF0; +D_06014D00 = 0x06014D00; + +// ovl_En_Rr + +D_06000470 = 0x06000470; + +// ovl_En_Rsn + +D_06005458 = 0x06005458; +D_0600788C = 0x0600788C; +D_06009120 = 0x06009120; +D_06009220 = 0x06009220; + +// ovl_En_Ru + +D_0600C700 = 0x0600C700; + +// ovl_En_Ruppecrow + +D_060000F0 = 0x060000F0; +D_060010C0 = 0x060010C0; + +// ovl_En_Rz + +D_06003A20 = 0x06003A20; +D_0600D768 = 0x0600D768; +D_0600D8D8 = 0x0600D8D8; + +// ovl_En_Sb + +D_0600004C = 0x0600004C; +D_060000B4 = 0x060000B4; +D_06000124 = 0x06000124; +D_06000194 = 0x06000194; +D_06002BF0 = 0x06002BF0; +D_06002C8C = 0x06002C8C; + +// ovl_En_Scopecrow + +D_060000F0 = 0x060000F0; +D_060010C0 = 0x060010C0; + +// ovl_En_Scopenuts + +D_06001420 = 0x06001420; +D_06005488 = 0x06005488; +D_06008290 = 0x06008290; +D_0600AC70 = 0x0600AC70; + +// ovl_En_Sellnuts + +D_06001350 = 0x06001350; +D_06005488 = 0x06005488; +D_06008290 = 0x06008290; +D_0600AC70 = 0x0600AC70; + +// ovl_En_Shn + +D_0600B738 = 0x0600B738; +D_0600E7D0 = 0x0600E7D0; + +// ovl_En_Skb + +D_06001D1C = 0x06001D1C; +D_06002190 = 0x06002190; +D_06003584 = 0x06003584; +D_06005EF8 = 0x06005EF8; +D_0600697C = 0x0600697C; +D_06006D90 = 0x06006D90; + +// ovl_En_Slime + +D_060004C0 = 0x060004C0; +D_06000650 = 0x06000650; +D_06000828 = 0x06000828; +D_06000A10 = 0x06000A10; + +// ovl_En_Snowman + +D_06000404 = 0x06000404; +D_060007B4 = 0x060007B4; +D_060045A0 = 0x060045A0; +D_06004628 = 0x06004628; +D_060046D8 = 0x060046D8; +D_06004A90 = 0x06004A90; +D_06004F14 = 0x06004F14; +D_0600544C = 0x0600544C; +D_0600554C = 0x0600554C; +D_060058CC = 0x060058CC; + +// ovl_En_Snowwd + +D_06000198 = 0x06000198; +D_06001AA0 = 0x06001AA0; + +// ovl_En_Sob1 + +D_06008268 = 0x06008268; +D_0600D208 = 0x0600D208; +D_0600078C = 0x0600078C; +D_06011AC8 = 0x06011AC8; +D_060000FC = 0x060000FC; +D_06000970 = 0x06000970; +D_060087BC = 0x060087BC; +D_060050A0 = 0x060050A0; +D_060058A0 = 0x060058A0; +D_060060A0 = 0x060060A0; +D_06010438 = 0x06010438; +D_06010C38 = 0x06010C38; +D_06011038 = 0x06011038; + +// ovl_En_Ssh + +D_060000D8 = 0x060000D8; +D_06000304 = 0x06000304; +D_06001494 = 0x06001494; +D_06005210 = 0x06005210; +D_06005850 = 0x06005850; +D_06005F78 = 0x06005F78; +D_06006470 = 0x06006470; + +// ovl_En_St + +D_06005298 = 0x06005298; + +// ovl_En_Sth + +D_060031F8 = 0x060031F8; +D_06005998 = 0x06005998; + +// ovl_En_Sth2 + +D_060031F8 = 0x060031F8; + +// ovl_En_Stone_heishi + +D_06000630 = 0x06000630; +D_06000768 = 0x06000768; +D_06003BFC = 0x06003BFC; +D_0600D640 = 0x0600D640; + +// ovl_En_Stop_heishi + +D_06006C18 = 0x06006C18; +D_0600D640 = 0x0600D640; + +// ovl_En_Stream + +D_06000950 = 0x06000950; + +// ovl_En_Suttari + +D_0600071C = 0x0600071C; +D_0600AF90 = 0x0600AF90; +D_0600C240 = 0x0600C240; +D_06010BDC = 0x06010BDC; +D_0601139C = 0x0601139C; +D_06011C38 = 0x06011C38; +D_06011F84 = 0x06011F84; +D_060128F4 = 0x060128F4; +D_06012E84 = 0x06012E84; +D_06013380 = 0x06013380; + +// ovl_En_Sw + +D_06003FB0 = 0x06003FB0; +D_060043D8 = 0x060043D8; +D_060045C0 = 0x060045C0; +D_06004658 = 0x06004658; +D_060046F0 = 0x060046F0; +D_06004788 = 0x06004788; +D_06004820 = 0x06004820; +D_060048B8 = 0x060048B8; +D_06004950 = 0x06004950; +D_060049E8 = 0x060049E8; +D_06005298 = 0x06005298; + +// ovl_En_Syateki_Crow + +D_060000F0 = 0x060000F0; +D_060010C0 = 0x060010C0; + +// ovl_En_Syateki_Dekunuts + +D_06001E50 = 0x06001E50; +D_06002468 = 0x06002468; +D_06002A5C = 0x06002A5C; +D_06003180 = 0x06003180; + +// ovl_En_Syateki_Man + +D_06005AC8 = 0x06005AC8; +D_060062C8 = 0x060062C8; +D_0600D2F8 = 0x0600D2F8; +D_0600D9D0 = 0x0600D9D0; +D_0600DFEC = 0x0600DFEC; +D_0600E7D0 = 0x0600E7D0; +D_0600F2D0 = 0x0600F2D0; +D_0600FB90 = 0x0600FB90; +D_06010390 = 0x06010390; + +// ovl_En_Syateki_Okuta + +D_060033D0 = 0x060033D0; +D_0600466C = 0x0600466C; + +// ovl_En_Syateki_Wf + +D_060095D0 = 0x060095D0; +D_0600A3CC = 0x0600A3CC; + +// ovl_En_S_Goro + +D_060091A8 = 0x060091A8; +D_06011AC8 = 0x06011AC8; +D_06012DE0 = 0x06012DE0; + +// ovl_En_Tab + +D_06007F78 = 0x06007F78; + +// ovl_En_Takaraya + +D_06000968 = 0x06000968; +D_06001384 = 0x06001384; +D_06008FC8 = 0x06008FC8; +D_06009890 = 0x06009890; +D_0600A280 = 0x0600A280; +D_0600AD98 = 0x0600AD98; + +// ovl_En_Talk_Gibud + +D_060053E8 = 0x060053E8; +D_06009298 = 0x06009298; +D_0600ABE0 = 0x0600ABE0; +D_06010B88 = 0x06010B88; + +// ovl_En_Tanron2 + +D_06003450 = 0x06003450; +D_060034C8 = 0x060034C8; +D_06004510 = 0x06004510; +D_06004550 = 0x06004550; + +// ovl_En_Tanron3 + +D_0600DA20 = 0x0600DA20; +D_0600DAAC = 0x0600DAAC; + +// ovl_En_Tanron4 + +D_06000168 = 0x06000168; +D_06000E68 = 0x06000E68; + +// ovl_En_Tanron5 + +D_06006FD0 = 0x06006FD0; +D_06007A88 = 0x06007A88; +D_06007D18 = 0x06007D18; + +// ovl_En_Test3 + +D_0600CB60 = 0x0600CB60; +D_0600EDD0 = 0x0600EDD0; +D_0600F7EC = 0x0600F7EC; + +// ovl_En_Tg + +D_0600B0A0 = 0x0600B0A0; +D_0600B0E0 = 0x0600B0E0; +D_0600B2B0 = 0x0600B2B0; + +// ovl_En_Thiefbird + +D_06000088 = 0x06000088; +D_06000278 = 0x06000278; +D_06000604 = 0x06000604; +D_06003060 = 0x06003060; +D_060030D8 = 0x060030D8; +D_060033B0 = 0x060033B0; +D_06003D58 = 0x06003D58; +D_060061A0 = 0x060061A0; +D_060063C4 = 0x060063C4; + +// ovl_En_Tite + +D_060004F8 = 0x060004F8; +D_0600069C = 0x0600069C; +D_0600083C = 0x0600083C; +D_06000A14 = 0x06000A14; +D_06000C70 = 0x06000C70; +D_060012E4 = 0x060012E4; +D_06003A20 = 0x06003A20; + +// ovl_En_Tk + +D_060030A4 = 0x060030A4; +D_0600B530 = 0x0600B530; +D_0600B9E8 = 0x0600B9E8; + +// ovl_En_Torch2 + +D_0401C430 = 0x0401C430; +D_04048DF0 = 0x04048DF0; +D_04057B10 = 0x04057B10; +D_04089070 = 0x04089070; + +// ovl_En_Toto + +D_06000C80 = 0x06000C80; +D_06001324 = 0x06001324; +D_060016A4 = 0x060016A4; +D_06001DF0 = 0x06001DF0; +D_060022C8 = 0x060022C8; +D_060028B8 = 0x060028B8; +D_06002F20 = 0x06002F20; +D_06003AA8 = 0x06003AA8; +D_06008AE8 = 0x06008AE8; +D_0600A068 = 0x0600A068; +D_0600A468 = 0x0600A468; +D_0600A978 = 0x0600A978; +D_0600B3E0 = 0x0600B3E0; +D_0600B894 = 0x0600B894; +D_0600BC08 = 0x0600BC08; +D_0600C880 = 0x0600C880; + +// ovl_En_Trt + +D_0600FEF0 = 0x0600FEF0; +D_0600FD34 = 0x0600FD34; +D_0600DE68 = 0x0600DE68; +D_06002224 = 0x06002224; +D_06001EF4 = 0x06001EF4; +D_060030EC = 0x060030EC; +D_0600D52C = 0x0600D52C; +D_06002CB0 = 0x06002CB0; +D_0600EE98 = 0x0600EE98; +D_06003D78 = 0x06003D78; +D_06000A44 = 0x06000A44; +D_0600B0B8 = 0x0600B0B8; +D_0600B8B8 = 0x0600B8B8; +D_0600C0B8 = 0x0600C0B8; + +// ovl_En_Trt2 + +D_06000A44 = 0x06000A44; +D_0600FEF0 = 0x0600FEF0; + +// ovl_En_Tru + +D_06001F90 = 0x06001F90; +D_060020C8 = 0x060020C8; +D_0601A820 = 0x0601A820; +D_0601A830 = 0x0601A830; +D_0601AA60 = 0x0601AA60; + +// ovl_En_Tru_Mt + +D_060004C8 = 0x060004C8; +D_0601AA60 = 0x0601AA60; + +// ovl_En_Tsn + +D_06000964 = 0x06000964; +D_06001198 = 0x06001198; +D_06008AB8 = 0x06008AB8; +D_060092FC = 0x060092FC; + +// ovl_En_Twig + +D_060014C8 = 0x060014C8; +D_06001C38 = 0x06001C38; + +// ovl_En_Vm + +D_06000068 = 0x06000068; +D_06002728 = 0x06002728; +D_06003F60 = 0x06003F60; + +// ovl_En_Wallmas + +D_06000590 = 0x06000590; +D_06000EA4 = 0x06000EA4; +D_060019CC = 0x060019CC; +D_0600299C = 0x0600299C; +D_060041F4 = 0x060041F4; +D_06008688 = 0x06008688; +D_06008FB0 = 0x06008FB0; +D_06009244 = 0x06009244; +D_06009520 = 0x06009520; +D_06009DB0 = 0x06009DB0; +D_0600A054 = 0x0600A054; + +// ovl_En_Warp_Uzu + +D_06000EC0 = 0x06000EC0; + +// ovl_En_Water_Effect + +D_06000420 = 0x06000420; +D_06000730 = 0x06000730; +D_06000A48 = 0x06000A48; +D_06000CD8 = 0x06000CD8; +D_06000DE0 = 0x06000DE0; +D_06000E0C = 0x06000E0C; +D_06000E40 = 0x06000E40; +D_06000E58 = 0x06000E58; +D_06004260 = 0x06004260; +D_060042B0 = 0x060042B0; +D_060042F8 = 0x060042F8; +D_06004340 = 0x06004340; +D_060043E8 = 0x060043E8; + +// ovl_En_Wdhand + +D_060000F4 = 0x060000F4; +D_06000364 = 0x06000364; +D_06000534 = 0x06000534; +D_06000854 = 0x06000854; +D_060014C0 = 0x060014C0; +D_060015B0 = 0x060015B0; +D_06001E20 = 0x06001E20; + +// ovl_En_Wf + +D_06003BC0 = 0x06003BC0; +D_06004638 = 0x06004638; +D_06004A90 = 0x06004A90; +D_06004C44 = 0x06004C44; +D_060053D0 = 0x060053D0; +D_06005700 = 0x06005700; +D_060095D0 = 0x060095D0; +D_06009808 = 0x06009808; +D_06009A50 = 0x06009A50; +D_0600A3CC = 0x0600A3CC; + +// ovl_En_Wiz + +D_06001860 = 0x06001860; +D_0600211C = 0x0600211C; +D_060025F0 = 0x060025F0; +D_060066C0 = 0x060066C0; +D_0600B320 = 0x0600B320; + +// ovl_En_Wiz_Brock + +D_060010E8 = 0x060010E8; +D_06001690 = 0x06001690; +D_06005870 = 0x06005870; +D_06005C64 = 0x06005C64; + +// ovl_En_Wiz_Fire + +D_06000E70 = 0x06000E70; +D_06000FD8 = 0x06000FD8; +D_06002630 = 0x06002630; +D_06002B40 = 0x06002B40; +D_06003120 = 0x06003120; +D_06003640 = 0x06003640; +D_06003FC0 = 0x06003FC0; +D_06005190 = 0x06005190; +D_06005750 = 0x06005750; + +// ovl_En_Wood02 + +D_06000700 = 0x06000700; + +// ovl_En_Yb + +D_06000200 = 0x06000200; +D_06005F48 = 0x06005F48; + +// ovl_En_Zl4 + +D_06013328 = 0x06013328; + +// ovl_En_Zo + +D_0600D208 = 0x0600D208; + +// ovl_En_Zob + +D_06006998 = 0x06006998; +D_06010810 = 0x06010810; + +// ovl_En_Zod + +D_06000D94 = 0x06000D94; +D_06007650 = 0x06007650; +D_0600D658 = 0x0600D658; + +// ovl_En_Zog + +D_0600FC0C = 0x0600FC0C; +D_060280A8 = 0x060280A8; +D_06029170 = 0x06029170; + +// ovl_En_Zoraegg + +D_060005D4 = 0x060005D4; +D_06001E08 = 0x06001E08; +D_06004C90 = 0x06004C90; +D_06004D20 = 0x06004D20; +D_06004E04 = 0x06004E04; +D_06004FE4 = 0x06004FE4; +D_06005098 = 0x06005098; +D_06005250 = 0x06005250; + +// ovl_En_Zos + +D_0600A164 = 0x0600A164; +D_06013088 = 0x06013088; +D_060136E0 = 0x060136E0; +D_06015238 = 0x06015238; + +// ovl_En_Zot + +D_06004248 = 0x06004248; +D_0600D208 = 0x0600D208; +D_0600DE20 = 0x0600DE20; + +// ovl_En_Zov + +D_0600D3EC = 0x0600D3EC; +D_06016258 = 0x06016258; + +// ovl_En_Zow + +D_060029F0 = 0x060029F0; +D_06002A50 = 0x06002A50; +D_06002BA0 = 0x06002BA0; +D_06002C10 = 0x06002C10; +D_06003610 = 0x06003610; +D_06004248 = 0x06004248; +D_0600D208 = 0x0600D208; +D_0600D220 = 0x0600D220; +D_0600D288 = 0x0600D288; + +// ovl_Item_B_Heart + +D_06001290 = 0x06001290; +D_06001470 = 0x06001470; + +// ovl_Mir_Ray + +D_06000168 = 0x06000168; +D_060003F8 = 0x060003F8; +D_060004B0 = 0x060004B0; + +// ovl_Mir_Ray3 + +D_06000168 = 0x06000168; +D_060003F8 = 0x060003F8; +D_060004B0 = 0x060004B0; + +// ovl_Obj_Armos + +D_0600033C = 0x0600033C; +D_06005948 = 0x06005948; +D_06005CF8 = 0x06005CF8; + +// ovl_Obj_Bean + +D_06000090 = 0x06000090; +D_060002D0 = 0x060002D0; +D_060004BC = 0x060004BC; +D_06000530 = 0x06000530; +D_06002208 = 0x06002208; + +// ovl_Obj_Bell + +D_06000570 = 0x06000570; +D_06000698 = 0x06000698; +D_060007A8 = 0x060007A8; +D_06000840 = 0x06000840; +D_060008D0 = 0x060008D0; +D_06000960 = 0x06000960; +D_06001BA8 = 0x06001BA8; + +// ovl_Obj_Bigicicle + +D_060009B0 = 0x060009B0; +D_060014F0 = 0x060014F0; + +// ovl_Obj_Boat + +D_06007630 = 0x06007630; +D_06009A88 = 0x06009A88; + +// ovl_Obj_Bombiwa + +D_060009E0 = 0x060009E0; +D_06000AF0 = 0x06000AF0; +D_06004560 = 0x06004560; +D_06004688 = 0x06004688; +D_06005990 = 0x06005990; + +// ovl_Obj_Boyo + +D_06000300 = 0x06000300; +D_06000E88 = 0x06000E88; + +// ovl_Obj_Chan + +D_06000A10 = 0x06000A10; +D_06000AF0 = 0x06000AF0; +D_06001960 = 0x06001960; +D_06002358 = 0x06002358; + +// ovl_Obj_Chikuwa + +D_06000D10 = 0x06000D10; +D_06000F00 = 0x06000F00; + +// ovl_Obj_Comb + +D_06000CB0 = 0x06000CB0; +D_06001040 = 0x06001040; + +// ovl_Obj_Danpeilift + +D_06000180 = 0x06000180; +D_06000BA0 = 0x06000BA0; + +// ovl_Obj_Dhouse + +D_06004928 = 0x06004928; +D_06005A78 = 0x06005A78; +D_06008040 = 0x06008040; +D_060081D8 = 0x060081D8; + +// ovl_Obj_Dinner + +D_060011E0 = 0x060011E0; + +// ovl_Obj_Dora + +D_06003FD0 = 0x06003FD0; +D_06004160 = 0x06004160; + +// ovl_Obj_Driftice + +D_060016A0 = 0x060016A0; +D_06001AA8 = 0x06001AA8; + +// ovl_Obj_Ending + +D_060003D0 = 0x060003D0; +D_06001FF8 = 0x06001FF8; +D_060031A0 = 0x060031A0; +D_06003440 = 0x06003440; + +// ovl_Obj_Entotu + +D_06000158 = 0x06000158; +D_06001C00 = 0x06001C00; + +// ovl_Obj_Flowerpot + +D_060012E0 = 0x060012E0; +D_06001408 = 0x06001408; +D_060014F0 = 0x060014F0; +D_060015B0 = 0x060015B0; + +// ovl_Obj_Funen + +D_060000D0 = 0x060000D0; + +// ovl_Obj_Ghaka + +D_06001980 = 0x06001980; +D_06001A20 = 0x06001A20; +D_06003CD0 = 0x06003CD0; + +// ovl_Obj_Hakaisi + +D_06001F10 = 0x06001F10; +D_060021B0 = 0x060021B0; +D_06002650 = 0x06002650; +D_060029C0 = 0x060029C0; +D_06002CC0 = 0x06002CC0; +D_06002FC4 = 0x06002FC4; + +// ovl_Obj_Hana + +D_06000500 = 0x06000500; + +// ovl_Obj_Hariko + +D_06000080 = 0x06000080; +D_06000110 = 0x06000110; + +// ovl_Obj_Hgdoor + +D_06001670 = 0x06001670; +D_06001768 = 0x06001768; +D_060018C0 = 0x060018C0; +D_06001AB0 = 0x06001AB0; +D_06001BA8 = 0x06001BA8; +D_06001D10 = 0x06001D10; + +// ovl_Obj_HsStump + +D_060003B8 = 0x060003B8; +D_060011B0 = 0x060011B0; + +// ovl_Obj_Hugebombiwa + +D_060009E0 = 0x060009E0; +D_06001820 = 0x06001820; +D_06001990 = 0x06001990; +D_06002F60 = 0x06002F60; +D_06003110 = 0x06003110; + +// ovl_Obj_Hunsui + +D_06000220 = 0x06000220; +D_06000BF0 = 0x06000BF0; +D_06000C74 = 0x06000C74; +D_06000EC0 = 0x06000EC0; +D_06001888 = 0x06001888; + +// ovl_Obj_Iceblock + +D_060001A0 = 0x060001A0; +D_06000328 = 0x06000328; +D_06000438 = 0x06000438; +D_060007F0 = 0x060007F0; +D_060009D0 = 0x060009D0; + +// ovl_Obj_Jgame_Light + +D_060003A0 = 0x060003A0; + +// ovl_Obj_Jg_Gakki + +D_0601B1E8 = 0x0601B1E8; +D_0601B210 = 0x0601B210; + +// ovl_Obj_Kendo_Kanban + +D_06000180 = 0x06000180; + +// ovl_Obj_Kepn_Koya + +D_06003478 = 0x06003478; +D_0600805C = 0x0600805C; + +// ovl_Obj_Kibako + +D_06001180 = 0x06001180; +D_06001A70 = 0x06001A70; + +// ovl_Obj_Kibako2 + +D_06000960 = 0x06000960; +D_06000B70 = 0x06000B70; +D_06001040 = 0x06001040; + +// ovl_Obj_Kzsaku + +D_06000040 = 0x06000040; +D_06001118 = 0x06001118; + +// ovl_Obj_Lift + +D_06000D10 = 0x06000D10; +D_06000F00 = 0x06000F00; + +// ovl_Obj_Lightblock + +D_06000178 = 0x06000178; +D_06000B80 = 0x06000B80; + +// ovl_Obj_Lightswitch + +D_06000260 = 0x06000260; +D_06000398 = 0x06000398; +D_06000408 = 0x06000408; +D_06000420 = 0x06000420; +D_06000C20 = 0x06000C20; +D_06001420 = 0x06001420; + +// ovl_Obj_Lupygamelift + +D_060048D0 = 0x060048D0; +D_060071B8 = 0x060071B8; + +// ovl_Obj_Milk_Bin + +D_060004B0 = 0x060004B0; + +// ovl_Obj_Mine + +D_06000030 = 0x06000030; +D_06002068 = 0x06002068; +D_06002188 = 0x06002188; + +// ovl_Obj_Moon_Stone + +D_06000C80 = 0x06000C80; +D_06000D78 = 0x06000D78; +D_06001C60 = 0x06001C60; + +// ovl_Obj_Nozoki + +D_060001C0 = 0x060001C0; + +// ovl_Obj_Ocarinalift + +D_06001DB0 = 0x06001DB0; +D_06001E40 = 0x06001E40; +D_060048D0 = 0x060048D0; + +// ovl_Obj_Raillift + +D_06000208 = 0x06000208; +D_060048D0 = 0x060048D0; +D_06004BF0 = 0x06004BF0; +D_06004FF8 = 0x06004FF8; +D_060071B8 = 0x060071B8; + +// ovl_Obj_Shutter + +D_060011E0 = 0x060011E0; + +// ovl_Obj_Smork + +D_06001C00 = 0x06001C00; + +// ovl_Obj_Snowball + +D_060082D0 = 0x060082D0; +D_06008B90 = 0x06008B90; + +// ovl_Obj_Snowball2 + +D_06008B90 = 0x06008B90; + +// ovl_Obj_Spinyroll + +D_06000460 = 0x06000460; +D_06000E68 = 0x06000E68; + +// ovl_Obj_Takaraya_Wall + +D_06000B70 = 0x06000B70; +D_06000D60 = 0x06000D60; + +// ovl_Obj_Taru + +D_06000420 = 0x06000420; +D_06000FC8 = 0x06000FC8; +D_06001040 = 0x06001040; +D_06001100 = 0x06001100; +D_06001140 = 0x06001140; +D_06001CB0 = 0x06001CB0; + +// ovl_Obj_Toge + +D_06001400 = 0x06001400; + +// ovl_Obj_Tokeidai + +D_06009A08 = 0x06009A08; +D_0600B0C0 = 0x0600B0C0; +D_0600B208 = 0x0600B208; +D_0600BA78 = 0x0600BA78; +D_0600BEE8 = 0x0600BEE8; +D_0600C368 = 0x0600C368; +D_0600CF28 = 0x0600CF28; +D_0600D388 = 0x0600D388; +D_0600D8E0 = 0x0600D8E0; +D_0600D8E8 = 0x0600D8E8; +D_0600E818 = 0x0600E818; +D_0600F518 = 0x0600F518; + +// ovl_Obj_Tokei_Step + +D_06000088 = 0x06000088; +D_06000968 = 0x06000968; + +// ovl_Obj_Tokei_Turret + +D_06002508 = 0x06002508; +D_060026A0 = 0x060026A0; +D_06002A88 = 0x06002A88; +D_06002D80 = 0x06002D80; +D_06003038 = 0x06003038; + +// ovl_Obj_Toudai + +D_060023B0 = 0x060023B0; +D_060024E8 = 0x060024E8; + +// ovl_Obj_Tree + +D_06000680 = 0x06000680; +D_060007C8 = 0x060007C8; +D_06001B2C = 0x06001B2C; + +// ovl_Obj_Um + +D_06007E20 = 0x06007E20; +D_06007F50 = 0x06007F50; +D_06011DF8 = 0x06011DF8; +D_06012CC0 = 0x06012CC0; + +// ovl_Obj_Usiyane + +D_06000098 = 0x06000098; +D_06000838 = 0x06000838; +D_060022AC = 0x060022AC; + +// ovl_Obj_Visiblock + +D_06000140 = 0x06000140; +D_06000AD0 = 0x06000AD0; + +// ovl_Obj_Vspinyroll + +D_06000460 = 0x06000460; +D_06000F80 = 0x06000F80; + +// ovl_Obj_Y2lift + +D_06001680 = 0x06001680; +D_060019B0 = 0x060019B0; + +// ovl_Obj_Yado + +D_06000320 = 0x06000320; +D_06000430 = 0x06000430; +D_060012E8 = 0x060012E8; + +// ovl_Obj_Yasi + +D_06000360 = 0x06000360; +D_06001428 = 0x06001428; + +// ovl_Player_Actor + +D_06008860 = 0x06008860; +D_0600BDD8 = 0x0600BDD8; +D_0600C540 = 0x0600C540; +D_060127B0 = 0x060127B0; +D_06013138 = 0x06013138; +D_060134D0 = 0x060134D0; +D_06014684 = 0x06014684; +D_060177B8 = 0x060177B8; +D_060178D0 = 0x060178D0; + + +// segment 0x07 + + +// segment 0x08 + +D_08000000 = 0x08000000; +D_08000100 = 0x08000100; +D_08000700 = 0x08000700; +D_08000880 = 0x08000880; +D_08000A40 = 0x08000A40; +D_08001240 = 0x08001240; +D_080012C0 = 0x080012C0; +D_08001340 = 0x08001340; +D_08001358 = 0x08001358; +D_080013D8 = 0x080013D8; +D_080017D8 = 0x080017D8; +D_08001898 = 0x08001898; +D_080018B0 = 0x080018B0; +D_080018D0 = 0x080018D0; +D_08001950 = 0x08001950; +D_08001CD0 = 0x08001CD0; +D_08001DB0 = 0x08001DB0; +D_08001E90 = 0x08001E90; +D_08001F70 = 0x08001F70; +D_080025C8 = 0x080025C8; +D_080032B0 = 0x080032B0; +D_08061000 = 0x08061000; +D_08062000 = 0x08062000; +D_08064340 = 0x08064340; +D_08095AC0 = 0x08095AC0; + +// segment 0x09 + +D_09007500 = 0x09007500; + +// segment 0x0A + +D_0A0001A0 = 0x0A0001A0; +D_0A000440 = 0x0A000440; +D_0A0004A0 = 0x0A0004A0; +D_0A000D40 = 0x0A000D40; +D_0A0011F8 = 0x0A0011F8; +D_0A001CD8 = 0x0A001CD8; + +// segment 0x0B + +D_0B000000 = 0x0B000000; +D_0B000090 = 0x0B000090; +D_0B0000E0 = 0x0B0000E0; +D_0B000130 = 0x0B000130; +D_0B000188 = 0x0B000188; + +// segment 0x0C + +D_0C000000 = 0x0C000000; +D_0C000800 = 0x0C000800; +D_0C001000 = 0x0C001000; +D_0C001800 = 0x0C001800; +D_0C001980 = 0x0C001980; +D_0C006C00 = 0x0C006C00; +D_0C006E00 = 0x0C006E00; +D_0C014668 = 0x0C014668; + +// segment 0x0D + +D_0D002000 = 0x0D002000; +D_0D002200 = 0x0D002200; +D_0D002400 = 0x0D002400; +D_0D003700 = 0x0D003700; + +// segment 0x0E + +D_0E000048 = 0x0E000048; +D_0E000088 = 0x0E000088; +D_0E000140 = 0x0E000140; +D_0E0001C8 = 0x0E0001C8; +D_0E0002A0 = 0x0E0002A0; +D_0E0002A8 = 0x0E0002A8; +D_0E0002B0 = 0x0E0002B0; +D_0E0002B8 = 0x0E0002B8; +D_0E0002C8 = 0x0E0002C8; +D_0E0002E0 = 0x0E0002E0; +D_0E0002F8 = 0x0E0002F8; + +// segment 0x0F + +D_0F000000 = 0x0F000000;